feat(youtube): YouTube Data API connector on the shared Google OAuth#90
Open
drewstone wants to merge 1 commit into
Open
feat(youtube): YouTube Data API connector on the shared Google OAuth#90drewstone wants to merge 1 commit into
drewstone wants to merge 1 commit into
Conversation
Read-only YouTube connector (youtube.readonly) riding the existing Google OAuth client — no separate API key. Capabilities: channels.resolve (@handle/username/id → id + stats + uploads playlist), channels.recentUploads, videos.list (batch metadata), captions.list (availability only). Transcript bodies are deliberately out of scope: captions.download is owner-only on the Data API, so third-party transcripts come from the executing agent's own timed-text tooling, not this connector. captions.list lets a caller check availability first. Powers the creative-agent channel-study mission: channel listing + metadata through the hub via the user's connected Google account (per-user, no platform key), with the agent's sandbox tooling for transcripts.
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.
What
A read-only YouTube connector (
youtube.readonly) riding the existing Google OAuth client (GOOGLE_OAUTH_CLIENT_ID/_SECRET) — no separate API key, no new external dependency. Mirrors the other read-only Google adapters (search-console, analytics).Capabilities:
channels.resolve—@handle/ username / id → channel id + snippet + statistics + uploads-playlist idchannels.recentUploads— recent uploads from the uploads playlist (cheap, 1 quota unit vs search.list's 100)videos.list— batch public metadata (title, description, duration, view/like/comment counts) for up to 50 idscaptions.list— caption-track availability onlyScope boundary (deliberate)
Transcript bodies are out of scope:
captions.downloadis owner-only on the Data API, so third-party transcripts come from the executing agent's own timed-text tooling (yt-dlp), not this connector.captions.listlets a caller check availability first.Why
Powers the creative-agent channel-study mission: channel listing + metadata flow through the hub via the user's connected Google account (per-user attribution, no platform key), while the sandbox agent handles transcripts.
To go live (platform side, not this PR)
youtube.readonlyto the platform's Google OAuth consent screen.Validation
pnpm build— clean (connector in dist)npx tsc --noEmit— cleannpx vitest run— 4053/0 (registry + catalog + connector validation)🤖 Generated with Claude Code