feat: migrate connectors to requestData and requestManualAction APIs#46
Draft
feat: migrate connectors to requestData and requestManualAction APIs#46
Conversation
Replace requestInput with requestData (returns result object instead of throwing in --no-input mode) and merge showBrowser + promptUser + goHeadless into requestManualAction across all 10 core connectors. Update types/connector.d.ts with new InteractionResult type and ManualActionOptions, mark old APIs as @deprecated. Update connector template and PATTERNS.md with recommended auth pattern. Connectors migrated: oura, github, spotify, linkedin, instagram, uber, shopify, chatgpt, youtube, heb. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All 10 connectors were missing the skipped check on requestManualAction, which meant --no-input runs would silently skip manual login and then fail with a confusing error downstream. Flagged by Gemini and Codex code review.
…2FA message
- Restore "Please complete login in the browser..." status update before
requestManualAction in 6 connectors (youtube, linkedin, instagram,
chatgpt, shopify, uber)
- Fix Instagram: bare return changed back to { error: 'Instagram login failed.' }
- Fix LinkedIn: 2FA skip message says "Verification code" not "Login credentials"
Flagged by Gemini and Codex review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
types/connector.d.tswithInteractionResult<T>,ManualActionOptions, newrequestDataandrequestManualActionmethods, and@deprecatedannotations on old APIsrequestData+requestManualActioninstead ofrequestInput+showBrowser/promptUser/goHeadlessPATTERNS.mdContext
Depends on vana-com/vana-connect#102 which adds
requestDataandrequestManualActionto the runtime.The old APIs have inconsistent
--no-inputsemantics:requestInputthrowsshowBrowserreturns{ headed: false }promptUsersilently no-opsThe new APIs both return
{ status: 'success' | 'skipped' }, letting the connector decide what to do. See vana-com/vana-connect#102 for the full design rationale.Test plan
npx vana collect chatgpt --no-input --json— verify nolegacy-auth, clean outcomenpx vana collect github --no-input --json— verifyneeds-inputor skip behavior🤖 Generated with Claude Code