@sriinnu/harmon-youtube 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,103 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "harmon-youtube",
4
+ "name": "Harmon YouTube Music",
5
+ "version": "0.1.0",
6
+ "versionHashId": "b86d51855f5d0104",
7
+ "status": "production",
8
+ "kind": "provider-pack",
9
+ "description": "Standalone YouTube Music provider pack for Google OAuth, playlist and library reads, recommendations, and Harmon session seeding.",
10
+ "packRoot": "..",
11
+ "author": {
12
+ "name": "Sriinnu",
13
+ "email": "hello@srinivas.dev",
14
+ "github": "sriinnu"
15
+ },
16
+ "github": {
17
+ "repo": "sriinnu/harmon",
18
+ "url": "https://github.com/sriinnu/harmon",
19
+ "packagePath": "packages/harmon-youtube"
20
+ },
21
+ "privacyKey": "harmon.youtube-music.local-auth",
22
+ "privacy": {
23
+ "localOnly": true,
24
+ "secretFiles": [
25
+ "~/.chitragupta/harmon/provider-packs/harmon-youtube/youtube-oauth.json"
26
+ ],
27
+ "notes": [
28
+ "I keep Google OAuth state in a local JSON file.",
29
+ "API-key mode is supported for catalog-only reads, but library and playlist ownership require OAuth."
30
+ ]
31
+ },
32
+ "entrypoints": {
33
+ "module": {
34
+ "runtime": "node-esm",
35
+ "path": "../dist/index.js"
36
+ },
37
+ "authBootstrap": {
38
+ "command": "npm",
39
+ "args": ["run", "auth"],
40
+ "cwd": ".."
41
+ },
42
+ "authRefresh": {
43
+ "command": "npm",
44
+ "args": ["run", "auth:refresh"],
45
+ "cwd": ".."
46
+ },
47
+ "authStatus": {
48
+ "command": "npm",
49
+ "args": ["run", "auth:status"],
50
+ "cwd": ".."
51
+ }
52
+ },
53
+ "artifacts": {
54
+ "packageJson": "../package.json",
55
+ "skill": "../SKILL.md",
56
+ "readme": "../README.md",
57
+ "logo": "../logo.svg"
58
+ },
59
+ "env": [
60
+ {
61
+ "name": "YOUTUBE_MUSIC_CLIENT_ID",
62
+ "required": false,
63
+ "secret": true,
64
+ "description": "Google OAuth client ID used by the local PKCE bootstrap."
65
+ },
66
+ {
67
+ "name": "YOUTUBE_MUSIC_CLIENT_SECRET",
68
+ "required": false,
69
+ "secret": true,
70
+ "description": "Optional client secret for desktop-style Google OAuth apps."
71
+ },
72
+ {
73
+ "name": "YOUTUBE_MUSIC_REDIRECT_URI",
74
+ "required": false,
75
+ "secret": false,
76
+ "default": "http://127.0.0.1:8789/callback",
77
+ "description": "Local callback URL used by npm run auth."
78
+ },
79
+ {
80
+ "name": "YOUTUBE_MUSIC_OAUTH_SCOPES",
81
+ "required": false,
82
+ "secret": false,
83
+ "default": "https://www.googleapis.com/auth/youtube.readonly",
84
+ "description": "Space-delimited Google scopes requested during bootstrap."
85
+ },
86
+ {
87
+ "name": "YOUTUBE_MUSIC_API_KEY",
88
+ "required": false,
89
+ "secret": true,
90
+ "description": "Optional catalog-only API key for non-user search mode."
91
+ }
92
+ ],
93
+ "capabilities": {
94
+ "authModes": ["google-pkce-oauth", "api-key-catalog-only"],
95
+ "readSurface": ["search", "liked-video-derived-tracks", "owned-playlists", "playlist-tracks", "related-track-recommendations"],
96
+ "playbackSurface": ["browser-handoff"],
97
+ "sessionSeedSources": ["search", "liked", "playlist", "related"]
98
+ },
99
+ "notes": [
100
+ "OAuth is the recommended mode because liked-video tracks and owned playlists require a signed-in user.",
101
+ "API-key mode remains useful for read-only search and public metadata."
102
+ ]
103
+ }