Skip to content

feat(generated): Add Pipes operations and models#685

Merged
workos-sdk-automation[bot] merged 3 commits into
mainfrom
oagen/batch-80e7e47d
Jul 2, 2026
Merged

feat(generated): Add Pipes operations and models#685
workos-sdk-automation[bot] merged 3 commits into
mainfrom
oagen/batch-80e7e47d

Conversation

@workos-sdk-automation

@workos-sdk-automation workos-sdk-automation Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary

feat(pipes): Add Pipes operations and models

  • Added model DataIntegrationCredentialsDto.
  • Added model CustomProviderDefinition.
  • Added model CreateDataIntegration.
  • Added model UpdateCustomProviderDefinition.
  • Added model UpdateDataIntegration.
  • Added model DataIntegration.
  • Added model DataIntegrationList.
  • Added model DataIntegrationListListMetadata.
  • Added model DataIntegrationCredential.
  • Added model DataIntegrationCustomProvider.
  • Added enum DataIntegrationCredentialsType.
  • Added enum CustomProviderDefinitionAuthenticateVia.
  • Added enum UpdateCustomProviderDefinitionAuthenticateVia.
  • Added enum DataIntegrationState.
  • Added enum DataIntegrationCredentialType.
  • Added enum DataIntegrationCustomProviderAuthenticateVia.
  • Added endpoint GET /data-integrations.
  • Added endpoint POST /data-integrations.
  • Added endpoint GET /data-integrations/{slug}.
  • Added endpoint PUT /data-integrations/{slug}.
  • Added endpoint DELETE /data-integrations/{slug}.
  • Added endpoint POST /user_management/users/{user_id}/connected_accounts/{slug}.
  • Added endpoint 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 (#685)
END_COMMIT_OVERRIDE

@workos-sdk-automation workos-sdk-automation Bot added the autogenerated Autogenerated code or content label Jul 2, 2026
@workos-sdk-automation workos-sdk-automation Bot requested review from a team as code owners July 2, 2026 14:59
@workos-sdk-automation workos-sdk-automation Bot added the autogenerated Autogenerated code or content label Jul 2, 2026
@workos-sdk-automation workos-sdk-automation Bot requested a review from alisherry July 2, 2026 14:59
@greptile-apps

greptile-apps Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds generated Pipes data integration support. The main changes are:

  • New data integration CRUD methods for sync and async clients.
  • New connected-account import and update methods.
  • New Pipes request and response models, enums, exports, and fixtures.
  • New generated endpoint and model round-trip tests.

Confidence Score: 4/5

The generated Pipes surface is mostly complete, but the update helper needs attention before merge because it prevents callers from sending an explicit null reset.

The review focused on the new resource methods, generated request models, exports, and tests, and the main correctness issue is isolated to request body filtering for update calls.

src/workos/pipes/_resource.py

T-Rex T-Rex Logs

What T-Rex did

  • Validated the SDK model/imports and serialization readiness by reviewing the merge-base before/after artifacts, noting PUBLIC_IMPORTS_OK and that 61 tests passed (EXIT_CODE: 0) with no HTTP endpoint status codes captured.
  • Ran a focused pytest repro against the real sync and async Pipes PUT /data-integrations/test_slug to verify null scopes serialization; observed that UpdateDataIntegration(scopes=None).to_dict() yields {"description": null, "scopes": null}, but the outgoing bodies were empty JSON.
  • Ran end-to-end coverage across seven endpoint scenarios; initial runs produced AttributeError for the claimed methods on the base, and after fixes the tests captured HTTP status, method, path, query, and body for all seven endpoints with appropriate return types.

View all artifacts

T-Rex Ran code and verified through T-Rex

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
src/workos/pipes/_resource.py:203-217
**Preserve null updates**
`update_data_integration(scopes=None)` cannot perform the documented reset because this body comprehension drops every `None` value before the request is sent. The generated `UpdateDataIntegration.to_dict()` preserves `scopes: None` for this operation, so callers using the resource method can only omit `scopes`, not reset it; the async implementation below has the same body filtering.

Reviews (1): Last reviewed commit: "chore(generated): add release notes frag..." | Re-trigger Greptile

Comment on lines +203 to +217
body: Dict[str, Any] = {
k: v
for k, v in {
"description": description,
"enabled": enabled,
"scopes": scopes,
"credentials": credentials.to_dict()
if credentials is not None
else None,
"custom_provider": custom_provider.to_dict()
if custom_provider is not None
else None,
}.items()
if v is not None
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Preserve null updates
update_data_integration(scopes=None) cannot perform the documented reset because this body comprehension drops every None value before the request is sent. The generated UpdateDataIntegration.to_dict() preserves scopes: None for this operation, so callers using the resource method can only omit scopes, not reset it; the async implementation below has the same body filtering.

Artifacts

Repro: focused pytest covering sync and async scopes=None request serialization

  • Contains supporting evidence from the run (text/x-python; charset=utf-8).

Repro: verbose pytest output showing HTTP 200 mock responses and omitted scopes request bodies

  • Keeps the command output available without making the summary code-heavy.

View artifacts

T-Rex Ran code and verified through T-Rex

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/workos/pipes/_resource.py
Line: 203-217

Comment:
**Preserve null updates**
`update_data_integration(scopes=None)` cannot perform the documented reset because this body comprehension drops every `None` value before the request is sent. The generated `UpdateDataIntegration.to_dict()` preserves `scopes: None` for this operation, so callers using the resource method can only omit `scopes`, not reset it; the async implementation below has the same body filtering.

How can I resolve this? If you propose a fix, please make it concise.

@workos-sdk-automation workos-sdk-automation Bot merged commit 37c009f into main Jul 2, 2026
10 checks passed
@workos-sdk-automation workos-sdk-automation Bot deleted the oagen/batch-80e7e47d branch July 2, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autogenerated Autogenerated code or content

Development

Successfully merging this pull request may close these issues.

0 participants