Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
✱ Stainless preview builds for gridThis PR will update the cli csharp go kotlin openapi php python ruby typescript
|
…o reusable components
a74c322 to
49ca343
Compare
Greptile SummaryThis PR extracts the inline
Confidence Score: 5/5Pure structural refactor with no functional changes — safe to merge. The change only moves inline request body definitions into named components and regenerates the bundles. All relative $ref paths resolve to existing files, the bundled output is consistent with the source, and both bundle targets (openapi.yaml and mintlify/openapi.yaml) are kept in sync. No files require special attention.
|
| Filename | Overview |
|---|---|
| openapi/components/requestBodies/DocumentUploadRequestBody.yaml | New reusable requestBody component for document upload; $ref path resolves correctly to the existing DocumentUploadRequest schema. |
| openapi/components/requestBodies/DocumentReplaceRequestBody.yaml | New reusable requestBody component for document replace; $ref path resolves correctly to the existing DocumentReplaceRequest schema. |
| openapi/paths/documents/documents.yaml | POST /documents requestBody replaced with $ref to new DocumentUploadRequestBody component; relative path resolves correctly. |
| openapi/paths/documents/documents_{documentId}.yaml | PUT /documents/{documentId} requestBody replaced with $ref to new DocumentReplaceRequestBody component; relative path resolves correctly. |
| openapi.yaml | Regenerated bundle: inline requestBody definitions replaced with component $refs, and new requestBodies section added to components — consistent with source changes. |
| mintlify/openapi.yaml | Mintlify copy of the regenerated bundle; identical changes to openapi.yaml, correctly kept in sync. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["POST /documents\n(documents.yaml)"] -->|"$ref: ../../components/requestBodies/\nDocumentUploadRequestBody.yaml"| B["DocumentUploadRequestBody.yaml"]
C["PUT /documents/{documentId}\n(documents_{documentId}.yaml)"] -->|"$ref: ../../components/requestBodies/\nDocumentReplaceRequestBody.yaml"| D["DocumentReplaceRequestBody.yaml"]
B -->|"$ref: ../schemas/documents/\nDocumentUploadRequest.yaml"| E["DocumentUploadRequest.yaml"]
D -->|"$ref: ../schemas/documents/\nDocumentReplaceRequest.yaml"| F["DocumentReplaceRequest.yaml"]
G["make build"] --> H["openapi.yaml\nmintlify/openapi.yaml\n(bundles)"]
H -->|"#/components/requestBodies/\nDocumentUploadRequestBody"| A
H -->|"#/components/requestBodies/\nDocumentReplaceRequestBody"| C
Reviews (1): Last reviewed commit: "refactor(openapi): extract document uplo..." | Re-trigger Greptile
…es (#518) ## Summary Updates the Stainless config to reflect the current API surface and adds five new SDK targets. ### New SDK targets - `ruby` (gem `grid`, rubygems publish disabled) - `go` (package `grid`) - `csharp` (package `grid`, nuget publish disabled) - `php` (package `grid`, composer `org-placeholder/grid`) - `cli` (binary `grid`) All have `production_repo: null` for now. ### Resource sync - `config.models`: add `embedded_wallet_config` - `sandbox`: add `cards.simulate` subresource (authorization/clearing/return) with associated card simulation models - `$shared`: add `slv_external_account_create_info`, `slv_beneficiary`, `swift_external_account_create_info` - `customers.methods`: add `generate_kyc_link: post /customers/{customerId}/kyc-link` - `agents`: add `agent_account_restrictions`, `agent_approval_thresholds` - Add top-level `cards` resource (issue / list / retrieve / update) ### Auth credential verify-request aliases — intentionally omitted `email_otp_credential_verify_request`, `oauth_credential_verify_request`, and `passkey_credential_verify_request` are **not** added as model aliases. The auth verify-request schemas are defined as: ```yaml allOf: - $ref: AuthCredentialVerifyRequest - $ref: <X>CredentialVerifyRequestFields ``` Two existing `openapi.transforms` (lines stripping `type` from `AuthCredentialVerifyRequest.properties`, then removing the `$ref` from `allOf[0]` of each verify variant) reduce these to structurally equivalent to their `Fields` siblings. Stainless collapses the allOf and emits only the `<X>CredentialVerifyRequestFields` types in `credentials.ts`, so a model alias pointing to `<X>CredentialVerifyRequest` would generate broken imports (`TS2724` / `TS2552` in `auth.ts`, `credentials.ts`, `index.ts`). The create-side aliases work because `AuthCredentialCreateRequest` retains a non-`type` field (`accountId`) after the transform, so its variants don't collapse. ### Other - `organization.docs`: `docs.lightspark.com` → `grid.lightspark.com`. **Worth a second look** — recent commits (#513, #514) migrated *away* from `grid.lightspark.com` in the docs. Confirm this is intentional before merging. ## Notes Stacked on top of #517 (document request body refactor); no code dependency between the two — sequencing is just chronological.
## Summary - Add required `documentNumber` and `issuingAuthority` fields to identity document upload examples in KYC guide - Aligns documentation with OpenAPI schema split (#517) that separated document uploads into identity vs non-identity types ## Test plan - [x] Verify PASSPORT upload examples include all required fields per `IdentityDocumentUploadRequest` schema - [ ] Review generated Mintlify docs render correctly 🤖 Generated with [Claude Code](https://claude.com/claude-code)

Summary
Extracts the inline
requestBodydefinitions onPOST /documentsandPUT /documents/{documentId}into reusable components underopenapi/components/requestBodies/. The bundler now emits a top-levelcomponents.requestBodiessection withDocumentUploadRequestBodyandDocumentReplaceRequestBody, and the path operations reference them with$ref.No spec semantics change — the bundled output is structurally equivalent: same
required: true, samemultipart/form-data, same underlying schemas. Only the wire representation inopenapi.yamldiffers (refs throughcomponents.requestBodiesinstead of inline definitions). This is a likely candidate for downstream tooling that wants to reuse the bodies (e.g. SDK codegen).Test plan
make buildsucceedsmake lintexits 0components.requestBodiesis populated and the two paths reference it