@sriinnu/harmon-apple 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,109 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "harmon-apple",
4
+ "name": "Harmon Apple Music",
5
+ "version": "0.1.0",
6
+ "versionHashId": "83f0a43ebedfa29e",
7
+ "status": "production",
8
+ "kind": "provider-pack",
9
+ "description": "Standalone Apple Music provider pack for catalog, library, playlists, recent-play signals, 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-apple"
20
+ },
21
+ "privacyKey": "harmon.apple-music.local-auth",
22
+ "privacy": {
23
+ "localOnly": true,
24
+ "secretFiles": [
25
+ "~/.chitragupta/harmon/provider-packs/harmon-apple/apple-music.json"
26
+ ],
27
+ "notes": [
28
+ "I keep the Apple developer token and user token in one local auth file.",
29
+ "MusicKit bootstrap requires a local browser session and an Apple Music account."
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": "APPLE_MUSIC_DEVELOPER_TOKEN",
62
+ "required": false,
63
+ "secret": true,
64
+ "description": "Direct Apple Music developer token for catalog access."
65
+ },
66
+ {
67
+ "name": "APPLE_MUSIC_TEAM_ID",
68
+ "required": false,
69
+ "secret": true,
70
+ "description": "Apple team ID used when I generate a developer token locally."
71
+ },
72
+ {
73
+ "name": "APPLE_MUSIC_KEY_ID",
74
+ "required": false,
75
+ "secret": true,
76
+ "description": "Apple Music private key identifier used for ES256 JWT signing."
77
+ },
78
+ {
79
+ "name": "APPLE_MUSIC_PRIVATE_KEY_PATH",
80
+ "required": false,
81
+ "secret": true,
82
+ "description": "Path to the Apple Music private key PEM file."
83
+ },
84
+ {
85
+ "name": "APPLE_MUSIC_STOREFRONT",
86
+ "required": false,
87
+ "secret": false,
88
+ "default": "us",
89
+ "description": "Default storefront used by the Apple Music API client."
90
+ },
91
+ {
92
+ "name": "APPLE_MUSIC_BOOTSTRAP_URL",
93
+ "required": false,
94
+ "secret": false,
95
+ "default": "http://127.0.0.1:8788/",
96
+ "description": "Local MusicKit bootstrap page opened by npm run auth."
97
+ }
98
+ ],
99
+ "capabilities": {
100
+ "authModes": ["developer-token", "musickit-user-token"],
101
+ "readSurface": ["catalog-search", "library-tracks", "library-playlists", "playlist-tracks", "recently-played"],
102
+ "playbackSurface": ["daemon-apple-script-local-playback"],
103
+ "sessionSeedSources": ["search", "library", "playlist", "recently-played"]
104
+ },
105
+ "notes": [
106
+ "I can generate the developer token locally when APPLE_MUSIC_TEAM_ID, APPLE_MUSIC_KEY_ID, and APPLE_MUSIC_PRIVATE_KEY_PATH are present.",
107
+ "I cannot silently refresh the Apple user token; rerun npm run auth when the MusicKit session expires."
108
+ ]
109
+ }