-
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 comprehensive Stainless SDK configuration for TypeScript and Kotlin code generation, along with several OpenAPI schema improvements. The changes introduce a new Key changes:
Confidence Score: 5/5
|
| Filename | Overview |
|---|---|
| .stainless/stainless.yml | New comprehensive Stainless SDK configuration for TypeScript and Kotlin targets with complete resource mappings and error handling |
| .stainless/workspace.json | New workspace configuration file for Stainless SDK generation pointing to OpenAPI spec and TypeScript output directory |
| openapi/openapi.yaml | Added AllErrors schema union of all error types for SDK generation with proper discriminator support |
| openapi/paths/customers/customers_{customerId}.yaml | Fixed error response reference from Error.yaml to GridError.yaml for 410 status code |
| openapi/paths/internal-accounts/internal_accounts.yaml | Corrected InternalAccount schema path from users/InternalAccount.yaml to customers/InternalAccount.yaml |
Sequence Diagram
sequenceDiagram
participant Dev as Developer
participant Stainless as Stainless SDK Generator
participant Config as stainless.yml
participant OpenAPI as OpenAPI Spec
participant SDK as Generated SDK
Dev->>Config: Configure SDK targets (TypeScript, Kotlin)
Dev->>Config: Define resources & error handling
Dev->>OpenAPI: Add AllErrors union schema
Dev->>OpenAPI: Rename Error to GridError
Dev->>OpenAPI: Fix schema references
Stainless->>Config: Read SDK configuration
Stainless->>OpenAPI: Parse OpenAPI specification
Stainless->>OpenAPI: Apply transformations (splitSchemasByEnumProperty)
Note over Stainless,OpenAPI: Split AllErrors by code discriminator
Stainless->>SDK: Generate TypeScript client
Stainless->>SDK: Generate Kotlin client
SDK->>SDK: Include typed error classes
SDK->>SDK: Map resources to SDK methods
Note over SDK: SDK now has proper error types<br/>and correct schema references
6432728 to
e5749d2
Compare
21d334e to
f90918a
Compare
e5749d2 to
a27f6e6
Compare
f90918a to
c6b215b
Compare
a27f6e6 to
a1379cd
Compare
c6b215b to
6464d8a
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
a1379cd to
d0f0475
Compare
6464d8a to
2d0527c
Compare

Grid API SDK Configuration