Skip to content

feat: migrate connectors to requestData and requestManualAction APIs#46

Draft
tnunamak wants to merge 3 commits intomainfrom
feat/new-interaction-apis
Draft

feat: migrate connectors to requestData and requestManualAction APIs#46
tnunamak wants to merge 3 commits intomainfrom
feat/new-interaction-apis

Conversation

@tnunamak
Copy link
Copy Markdown
Member

Summary

  • Update types/connector.d.ts with InteractionResult<T>, ManualActionOptions, new requestData and requestManualAction methods, and @deprecated annotations on old APIs
  • Update connector template to use requestData + requestManualAction instead of requestInput + showBrowser/promptUser/goHeadless
  • Add recommended authentication pattern to PATTERNS.md
  • Migrate all 10 core connectors: oura, github, spotify, linkedin, instagram, uber, shopify, chatgpt, youtube, heb

Context

Depends on vana-com/vana-connect#102 which adds requestData and requestManualAction to the runtime.

The old APIs have inconsistent --no-input semantics:

  • requestInput throws
  • showBrowser returns { headed: false }
  • promptUser silently no-ops

The 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

  • Blocked on feat: redesign runtime interaction APIs vana-connect#102 merging first
  • Run npx vana collect chatgpt --no-input --json — verify no legacy-auth, clean outcome
  • Run npx vana collect github --no-input --json — verify needs-input or skip behavior
  • Spot-check oura, spotify, uber connectors

🤖 Generated with Claude Code

tnunamak and others added 2 commits March 28, 2026 04:01
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.
@tnunamak tnunamak marked this pull request as draft March 28, 2026 09:17
…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.
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