Skip to content

feat: add deep_extract to ExtractSettings interface#62

Open
devin-ai-integration[bot] wants to merge 1 commit intomainfrom
devin/1774543652-add-deep-extract
Open

feat: add deep_extract to ExtractSettings interface#62
devin-ai-integration[bot] wants to merge 1 commit intomainfrom
devin/1774543652-add-deep-extract

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Mar 26, 2026

Summary

Adds the deep_extract optional boolean field to the ExtractSettings interface in the Node SDK, bringing it to parity with the Python SDK. The API backend already supports this field on the V3 ExtractSettings model.

Deep Extract is an agentic extraction mode that iteratively refines output for near-perfect accuracy on complex documents.

Review & Testing Checklist for Human

  • Verify the API backend's V3 ExtractSettings (in reductoai/api src/config/v3.py) includes deep_extract and wires it through v3_extract_config_to_v1 — this PR only adds the SDK type, so the backend must accept the field
  • Confirm the OpenAPI spec is updated (or will be updated) to include deep_extract so this manual edit isn't overwritten by the next Stainless SDK regeneration
  • Test a Node SDK extract call with settings: { deep_extract: true } against the production API to verify end-to-end functionality

Notes

  • This SDK is Stainless-generated. This manual patch will be overwritten on the next regeneration unless the upstream OpenAPI spec also includes deep_extract in ExtractSettings. Consider syncing the spec to make this permanent.
  • Build and lint (yarn build && yarn lint) pass cleanly with this change.

Link to Devin session: https://app.devin.ai/sessions/50ee7ec50cd24ff9be4e70d8bd553718


Open with Devin

Add the deep_extract boolean option to the ExtractSettings interface to match
the Python SDK. This enables Node SDK users to use Deep Extract, an agentic
extraction mode that iteratively refines output for near-perfect accuracy.

Co-Authored-By: sandeep <sandeep@reducto.ai>
@devin-ai-integration
Copy link
Contributor Author

Original prompt from sandeep

SYSTEM:
=== BEGIN THREAD HISTORY (in #support) ===
Unknown User (B06URLPQ8D7):

Julien Melissas | Drata #8522
<https://app.usepylon.com/issues?issueNumber=8522|View in Pylon> | <https://reductoai.slack.com/archives/C08Q3HC791V/p1774541634434959?thread_ts=1774541634.434959&amp;amp;cid=C08Q3HC791V|View in Slack> | 🔒 Internal thread
@­Alvin Ryanputra - it looks like in the Python SDK ​deep_extract: True​ can be passed in the settings for the extract API, but it doesn't seem to be in the node SDK at this point, is that correct?

Unknown User (B06URLPQ8D7): Pylon Issue: 598fba45-27ea-4f87-81a1-d463ba62c79c
Customer Status: Closed - Won
Estimated Monthly Contract Value: $3,333.33
💡 Tip: Use !support in a tagged message to Devin when asking it to investigate to trigger our default support playbook.

Unknown User (B06URLPQ8D7): When checked in code deep extract is supported in python sdk - <https://github.com/reductoai/reducto-python-sdk/blob/0322db7dd1f64921ba6c604dfa84d4b11b4cd99d/src/reducto/types/extract_settings_param.py`#`L27|https://github.com/reductoai/reducto-python-sdk/blob/0322db7dd1f64921ba6c604dfa84d4b11b4cd99d/src/reducto/types/extract_settings_param.py`#`L27>

Whereas it isn't supported currently in node sdk - <https://github.com/reductoai/reducto-node-sdk/blob/ac664a51fc654bee8565ceb4546862936ecc3d24/src/resources/extract-async.ts`#`L59|https://github.com/reductoai/reducto-node-sdk/blob/ac664a51fc654bee8565ceb4546862936ecc3d24/src/resources/extract-async.ts`#`L59>

Sai Sandeep (U0A3DGFJ087): @Devin !support
Pylon Ticket ID: 598fba45-27ea-4f87-81a1-d463ba62c79c
Please investigate this ticket and create a PR accordingly to support this.
=== END THREAD HISTORY ===

Thread URL: https://reductoai.slack.com/archives/C06URUC67MX/p1774541652576439?thread_ts=1774541652.576439&amp;cid=C06URUC67MX

The latest message is the one right above that tagged you.

PLAYBOOK_md:
You can use the reductoai/support-atomation repository to investigate the support issue.... (1195 chars truncated...)

@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Copy link
Contributor Author

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant