-
Notifications
You must be signed in to change notification settings - Fork 3
feat: add Stainless SDK config and misc cleanups #132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 01-24-feat_flatten_lightningexternalaccountinfo_schema_split_split_split_split
Are you sure you want to change the base?
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Greptile OverviewGreptile SummaryThis PR adds Stainless SDK generation configuration to enable automatic TypeScript and Kotlin SDK generation from the OpenAPI specification. Key changes:
Architecture notes: Confidence Score: 5/5
|
| Filename | Overview |
|---|---|
| .stainless/stainless.yml | Added Stainless SDK configuration for TypeScript and Kotlin SDK generation with comprehensive resource definitions, authentication settings, and error handling |
| .stainless/workspace.json | Added workspace configuration pointing to mintlify/openapi.yaml for SDK generation with TypeScript target output path |
| openapi/components/schemas/customers/UltimateBeneficialOwner.yaml | Fixed phoneNumber example to include '+' prefix matching E.164 format requirements |
| openapi/openapi.yaml | Added AllErrors union schema containing all HTTP error code variants (400-501) for SDK error handling |
| openapi/paths/internal-accounts/internal_accounts.yaml | Fixed InternalAccount schema reference path from users/ to customers/ directory |
Sequence Diagram
sequenceDiagram
participant Dev as Developer
participant Stainless as Stainless SDK Generator
participant OpenAPI as OpenAPI Spec
participant SDK as Generated SDK
Dev->>OpenAPI: Add AllErrors union schema
Dev->>OpenAPI: Rename Error → GridError
Dev->>OpenAPI: Fix schema references
Dev->>OpenAPI: Fix phone number format
Dev->>Stainless: Configure stainless.yml
Note over Stainless: Define resources, auth,<br/>error handling config
Dev->>Stainless: Configure workspace.json
Note over Stainless: Point to mintlify/openapi.yaml<br/>Set output paths
Stainless->>OpenAPI: Read mintlify/openapi.yaml
Stainless->>Stainless: Transform AllErrors by enum property
Note over Stainless: splitSchemasByEnumProperty<br/>creates typed error classes
Stainless->>SDK: Generate TypeScript SDK
Stainless->>SDK: Generate Kotlin SDK
SDK->>SDK: Include typed error handling
Note over SDK: Each error code becomes<br/>a distinct type
6432728 to
e5749d2
Compare
21d334e to
f90918a
Compare
e5749d2 to
a27f6e6
Compare
f90918a to
c6b215b
Compare
a27f6e6 to
a1379cd
Compare
c6b215b to
6464d8a
Compare
a1379cd to
d0f0475
Compare
2d0527c to
16c31c5
Compare
94a379a to
c72b46f
Compare
16c31c5 to
20ea4a3
Compare
c72b46f to
99a29c9
Compare
20ea4a3 to
d1566ae
Compare
99a29c9 to
d8d7c4d
Compare
7324f44 to
3aa1250
Compare
- Add .stainless/stainless.yml and workspace.json - Add AllErrors schema and remove retry quotes endpoint - Update .redocly.lint-ignore.yaml - Fix UltimateBeneficialOwner phone format - Fix internal_accounts ref path
1c31c37 to
fbf418e
Compare
3aa1250 to
f054ac0
Compare

Grid API SDK Configuration