feat(generated): Add Pipes operations and models#512
Conversation
Greptile SummaryThis PR adds generated Pipes support for data integrations and connected account import/update flows. The main changes are:
Confidence Score: 4/5The generated Pipes surface is mostly straightforward, but the data integration update path needs a targeted fix before merge because a documented reset operation is not expressible. The affected behavior is localized to request body construction for one SDK method, and focused runtime evidence confirms the null field is dropped from the outgoing payload. lib/workos/pipes.rb
What T-Rex did
|
| body = { | ||
| "description" => description, | ||
| "enabled" => enabled, | ||
| "scopes" => scopes, | ||
| "credentials" => credentials, | ||
| "custom_provider" => custom_provider | ||
| }.compact |
There was a problem hiding this comment.
Preserve explicit null
update_data_integration documents that callers can pass scopes: nil to reset scopes, but the request body is built with .compact, so "scopes" => nil is removed before the PUT /data-integrations/{slug} request. That makes the documented reset operation impossible through this SDK; only omitted scopes are sent, which leaves existing scopes unchanged.
Artifacts
Repro: focused Minitest harness capturing the update_data_integration request body
- Contains supporting evidence from the run (text/x-ruby; charset=utf-8).
Repro: failing verbose test output showing PUT status 200 OK and captured body {} without scopes
- Keeps the command output available without making the summary code-heavy.
Ran code and verified through T-Rex
Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/workos/pipes.rb
Line: 132-138
Comment:
**Preserve explicit null**
`update_data_integration` documents that callers can pass `scopes: nil` to reset scopes, but the request body is built with `.compact`, so `"scopes" => nil` is removed before the `PUT /data-integrations/{slug}` request. That makes the documented reset operation impossible through this SDK; only omitted scopes are sent, which leaves existing scopes unchanged.
How can I resolve this? If you propose a fix, please make it concise.
Summary
feat(pipes): Add Pipes operations and models
DataIntegrationCredentialsDto.CustomProviderDefinition.CreateDataIntegration.UpdateCustomProviderDefinition.UpdateDataIntegration.DataIntegration.DataIntegrationList.DataIntegrationListListMetadata.DataIntegrationCredential.DataIntegrationCustomProvider.DataIntegrationCredentialsType.CustomProviderDefinitionAuthenticateVia.UpdateCustomProviderDefinitionAuthenticateVia.DataIntegrationState.DataIntegrationCredentialType.DataIntegrationCustomProviderAuthenticateVia.GET /data-integrations.POST /data-integrations.GET /data-integrations/{slug}.PUT /data-integrations/{slug}.DELETE /data-integrations/{slug}.POST /user_management/users/{user_id}/connected_accounts/{slug}.PUT /user_management/users/{user_id}/connected_accounts/{slug}.Triggered by workos/openapi-spec@e350eb0
BEGIN_COMMIT_OVERRIDE
feat(pipes): Add Pipes operations and models (#512)
END_COMMIT_OVERRIDE