Skip to content

Feat: add extraction_provider field for BYOK key selection (Scrape, Crawl, Extract)#240

Merged
RapierCraft merged 1 commit into
mainfrom
feat/byok-provider-227
Jun 3, 2026
Merged

Feat: add extraction_provider field for BYOK key selection (Scrape, Crawl, Extract)#240
RapierCraft merged 1 commit into
mainfrom
feat/byok-provider-227

Conversation

@RapierCraft

Copy link
Copy Markdown
Owner

Summary

Note: extraction_model was already present in all 3 resources. Only extraction_provider was missing.

Changes

  • nodes/AlterLab/AlterLab.node.ts: +56 lines — 3 field definitions + 3 TypeScript type updates + 3 body-wiring blocks

Testing

  • Scrape operation → Extraction collection shows "Extraction Provider" dropdown
  • Selecting OpenAI sends extraction_provider: "openai" in API request body
  • Leaving on "Auto" omits extraction_provider from API request
  • Crawl start → Crawl Settings shows "Extraction Provider" dropdown
  • Extract resource → Extract Options shows "Extraction Provider" dropdown
  • npm run build passes

Closes #227
Implementation branch: feat/byok-provider-227
Base: main

…y selection (#227)

- Add Extraction Provider options field (openai/anthropic/openrouter/groq) to Scrape Extraction collection
- Add Extraction Provider options field to Crawl Settings collection
- Add Extraction Provider options field to Extract Options collection
- Wire extraction_provider into API payload builders for all three resources
- Update TypeScript type interfaces for extraction, settings, and opts

Syncs n8n node with AlterLab API extraction_provider parameter introduced alongside BYOK key resolution.

@RapierCraft RapierCraft left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

APPROVED: commit 7ca99d2 after context-aware review (0 domain agents needed — pure TypeScript field additions, no risk signals).

Review scope: Single-file n8n node definition change (+56 lines, 0 deletions).

Checks performed:

  • Build verification: npm run build → PASS (tsc + gulp icons)
  • Secrets detection: PASS (none found)
  • Env var audit: PASS (no new vars)
  • Integration check: All 3 field definitions present (lines 544, 894, 1283) with matching body-wiring (lines 2199, 2560, 2998)
  • Default behavior: default: "" with value: "" for Auto option — conditional if (extraction.extractionProvider) correctly evaluates as falsy → param omitted from API request when Auto is selected ✓

0 findings. Safe to merge.

@RapierCraft RapierCraft left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

APPROVED: commit 7ca99d2 after context-aware review (0 domain agents needed — pure TypeScript field additions, no risk signals).

Review scope: Single-file n8n node definition change (+56 lines, 0 deletions).

Checks performed:

  • Build verification: npm run build → PASS (tsc + gulp icons)
  • Secrets detection: PASS (none found)
  • Env var audit: PASS (no new vars)
  • Integration check: All 3 field definitions present (lines 544, 894, 1283) with matching body-wiring (lines 2199, 2560, 2998)
  • Default behavior: default: "" with value: "" for Auto option — conditional if (extraction.extractionProvider) correctly evaluates as falsy → param omitted from API request when Auto is selected

0 findings. Safe to merge.

@RapierCraft RapierCraft merged commit b2fa198 into main Jun 3, 2026
3 checks passed
@RapierCraft

Copy link
Copy Markdown
Owner Author

PR Review Summary: #240 — Feat: add extraction_provider field for BYOK key selection

Review Integrity

Reviewed commit: 7ca99d2 | Current HEAD: 7ca99d2 | Status: CURRENT

Verdict: APPROVED

Context-Aware Review

Domains: TypeScript / n8n node definition | Agents: 0 (no risk signals detected)

Integration Checks (Phase 2.5)

Field registration: PASS — extractionProvider defined in Scrape (line 544), Crawl (line 894), Extract (line 1283) collections
Body wiring: PASS — all 3 resources wire extraction_provider conditionally (lines 2199, 2560, 2998)
Default behavior: PASS — default: "" + falsy guard correctly omits param from API request when Auto selected
Build: PASS — npm run build (tsc + gulp) exits clean
Purpose Regression Gate: N/A — non-milestone PR

Risk Matrix

Category Risk Blocking?
TypeScript types LOW No
API payload wiring LOW No
Build PASS N/A

Findings

None.

Automated Checks

Check Result
TypeScript build PASS
Secrets detection PASS
Env var audit PASS
Integration paths PASS

Recommendation

Merged to main. No follow-up required.


Context-aware review complete. 0 agents + integration checks. 0 findings triaged. PR merged.

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.

Sync: New scrape parameter — byok_key_id, byok_model, byok_provider (from #19954)

1 participant