@ansango/lastfm-api 3.2.0 → 3.4.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.
Files changed (121) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +66 -22
  3. package/dist/client.d.ts +2 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +3 -1
  6. package/dist/client.js.map +1 -1
  7. package/dist/entrypoints/insights.d.ts +4 -0
  8. package/dist/entrypoints/insights.d.ts.map +1 -0
  9. package/dist/entrypoints/insights.js +3 -0
  10. package/dist/entrypoints/insights.js.map +1 -0
  11. package/dist/entrypoints/insights.schemas.d.ts +2 -0
  12. package/dist/entrypoints/insights.schemas.d.ts.map +1 -0
  13. package/dist/entrypoints/insights.schemas.js +3 -0
  14. package/dist/entrypoints/insights.schemas.js.map +1 -0
  15. package/dist/index.d.ts +4 -2
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/services/album.d.ts +2 -4
  20. package/dist/services/album.d.ts.map +1 -1
  21. package/dist/services/album.js.map +1 -1
  22. package/dist/services/artist.d.ts +2 -4
  23. package/dist/services/artist.d.ts.map +1 -1
  24. package/dist/services/artist.js.map +1 -1
  25. package/dist/services/auth.d.ts +1 -38
  26. package/dist/services/auth.d.ts.map +1 -1
  27. package/dist/services/auth.js +1 -19
  28. package/dist/services/auth.js.map +1 -1
  29. package/dist/services/auth.schemas.d.ts +0 -13
  30. package/dist/services/auth.schemas.d.ts.map +1 -1
  31. package/dist/services/auth.schemas.js +0 -7
  32. package/dist/services/auth.schemas.js.map +1 -1
  33. package/dist/services/index.d.ts +2 -0
  34. package/dist/services/index.d.ts.map +1 -1
  35. package/dist/services/index.js +2 -0
  36. package/dist/services/index.js.map +1 -1
  37. package/dist/services/insights/binges.d.ts +8 -0
  38. package/dist/services/insights/binges.d.ts.map +1 -0
  39. package/dist/services/insights/binges.js +53 -0
  40. package/dist/services/insights/binges.js.map +1 -0
  41. package/dist/services/insights/compare.d.ts +8 -0
  42. package/dist/services/insights/compare.d.ts.map +1 -0
  43. package/dist/services/insights/compare.js +39 -0
  44. package/dist/services/insights/compare.js.map +1 -0
  45. package/dist/services/insights/discoveries.d.ts +8 -0
  46. package/dist/services/insights/discoveries.d.ts.map +1 -0
  47. package/dist/services/insights/discoveries.js +53 -0
  48. package/dist/services/insights/discoveries.js.map +1 -0
  49. package/dist/services/insights/hours.d.ts +8 -0
  50. package/dist/services/insights/hours.d.ts.map +1 -0
  51. package/dist/services/insights/hours.js +43 -0
  52. package/dist/services/insights/hours.js.map +1 -0
  53. package/dist/services/insights/lib/binges.d.ts +31 -0
  54. package/dist/services/insights/lib/binges.d.ts.map +1 -0
  55. package/dist/services/insights/lib/binges.js +61 -0
  56. package/dist/services/insights/lib/binges.js.map +1 -0
  57. package/dist/services/insights/lib/compare.d.ts +31 -0
  58. package/dist/services/insights/lib/compare.d.ts.map +1 -0
  59. package/dist/services/insights/lib/compare.js +68 -0
  60. package/dist/services/insights/lib/compare.js.map +1 -0
  61. package/dist/services/insights/lib/discoveries.d.ts +17 -0
  62. package/dist/services/insights/lib/discoveries.d.ts.map +1 -0
  63. package/dist/services/insights/lib/discoveries.js +24 -0
  64. package/dist/services/insights/lib/discoveries.js.map +1 -0
  65. package/dist/services/insights/lib/diversity.d.ts +28 -0
  66. package/dist/services/insights/lib/diversity.d.ts.map +1 -0
  67. package/dist/services/insights/lib/diversity.js +39 -0
  68. package/dist/services/insights/lib/diversity.js.map +1 -0
  69. package/dist/services/insights/lib/hours.d.ts +39 -0
  70. package/dist/services/insights/lib/hours.d.ts.map +1 -0
  71. package/dist/services/insights/lib/hours.js +66 -0
  72. package/dist/services/insights/lib/hours.js.map +1 -0
  73. package/dist/services/insights/lib/mood.d.ts +22 -0
  74. package/dist/services/insights/lib/mood.d.ts.map +1 -0
  75. package/dist/services/insights/lib/mood.js +187 -0
  76. package/dist/services/insights/lib/mood.js.map +1 -0
  77. package/dist/services/insights/lib/periods.d.ts +17 -0
  78. package/dist/services/insights/lib/periods.d.ts.map +1 -0
  79. package/dist/services/insights/lib/periods.js +66 -0
  80. package/dist/services/insights/lib/periods.js.map +1 -0
  81. package/dist/services/insights/lib/personality.d.ts +30 -0
  82. package/dist/services/insights/lib/personality.d.ts.map +1 -0
  83. package/dist/services/insights/lib/personality.js +131 -0
  84. package/dist/services/insights/lib/personality.js.map +1 -0
  85. package/dist/services/insights/lib/trends.d.ts +30 -0
  86. package/dist/services/insights/lib/trends.d.ts.map +1 -0
  87. package/dist/services/insights/lib/trends.js +67 -0
  88. package/dist/services/insights/lib/trends.js.map +1 -0
  89. package/dist/services/insights/mood.d.ts +8 -0
  90. package/dist/services/insights/mood.d.ts.map +1 -0
  91. package/dist/services/insights/mood.js +53 -0
  92. package/dist/services/insights/mood.js.map +1 -0
  93. package/dist/services/insights/now-playing.d.ts +20 -0
  94. package/dist/services/insights/now-playing.d.ts.map +1 -0
  95. package/dist/services/insights/now-playing.js +128 -0
  96. package/dist/services/insights/now-playing.js.map +1 -0
  97. package/dist/services/insights/personality.d.ts +8 -0
  98. package/dist/services/insights/personality.d.ts.map +1 -0
  99. package/dist/services/insights/personality.js +42 -0
  100. package/dist/services/insights/personality.js.map +1 -0
  101. package/dist/services/insights/summary.d.ts +8 -0
  102. package/dist/services/insights/summary.d.ts.map +1 -0
  103. package/dist/services/insights/summary.js +117 -0
  104. package/dist/services/insights/summary.js.map +1 -0
  105. package/dist/services/insights/trends.d.ts +8 -0
  106. package/dist/services/insights/trends.d.ts.map +1 -0
  107. package/dist/services/insights/trends.js +96 -0
  108. package/dist/services/insights/trends.js.map +1 -0
  109. package/dist/services/insights.d.ts +96 -0
  110. package/dist/services/insights.d.ts.map +1 -0
  111. package/dist/services/insights.js +26 -0
  112. package/dist/services/insights.js.map +1 -0
  113. package/dist/services/insights.schemas.d.ts +710 -0
  114. package/dist/services/insights.schemas.d.ts.map +1 -0
  115. package/dist/services/insights.schemas.js +307 -0
  116. package/dist/services/insights.schemas.js.map +1 -0
  117. package/dist/services/track.d.ts +6 -12
  118. package/dist/services/track.d.ts.map +1 -1
  119. package/dist/services/track.js.map +1 -1
  120. package/dist/utils.d.ts +1 -1
  121. package/package.json +12 -4
package/CHANGELOG.md CHANGED
@@ -9,6 +9,67 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
  > [ansango/lastfm-api](https://github.com/ansango/lastfm-api). Entries below preserve the
10
10
  > historical package and repository names used by their original releases.
11
11
 
12
+ ## [3.4.0] - 2026-08-28
13
+
14
+ ### ✨ Features
15
+
16
+ - **insights**: implement compareUsers with Jaccard affinity index (closes #125) ([95f39d6](https://github.com/ansango/lastfm-api/commit/95f39d6))
17
+ - **insights**: implement getMood psychometric classifier and getPersonality archetypes (closes #124) ([0aae0e8](https://github.com/ansango/lastfm-api/commit/0aae0e8))
18
+ - **insights**: implement getTrends ranking diff and getDiscoveries new-artist detector (closes #123) ([1a07234](https://github.com/ansango/lastfm-api/commit/1a07234))
19
+ - **insights**: implement getHoursHistogram and getBinges temporal analytics (closes #122) ([7615ba9](https://github.com/ansango/lastfm-api/commit/7615ba9))
20
+ - **insights**: implement getNowPlaying with artist bio and similarity enrichment (closes #121) ([9de9213](https://github.com/ansango/lastfm-api/commit/9de9213))
21
+ - **insights**: register getSummary route in method registry and Scalar OpenAPI docs ([875bafe](https://github.com/ansango/lastfm-api/commit/875bafe))
22
+ - **insights**: implement getSummary with Shannon diversity index (closes #120) ([28b03b0](https://github.com/ansango/lastfm-api/commit/28b03b0))
23
+ - **insights**: wire insights namespace in method registry ([2d1db4d](https://github.com/ansango/lastfm-api/commit/2d1db4d))
24
+ - **insights**: base architecture, Zod schemas infrastructure, and client wiring (closes #119) ([6ce9d4e](https://github.com/ansango/lastfm-api/commit/6ce9d4e))
25
+
26
+ ### 📚 Documentation
27
+
28
+ - **insights**: add dedicated OpenAPI descriptions in Scalar for all 9 insight methods ([1115785](https://github.com/ansango/lastfm-api/commit/1115785))
29
+ - **insights**: documentation, OpenAPI Scalar integration, and CLI migration guide (closes #126) ([f325696](https://github.com/ansango/lastfm-api/commit/f325696))
30
+
31
+ ### 🔧 Chores
32
+
33
+ - remove PROJECT_IDEAS.md ([a837c39](https://github.com/ansango/lastfm-api/commit/a837c39))
34
+ - update dependencies and configuration files - Bump @types/node to version 26.4.0 in package.json and bun.lock - Modify build script in package.json to use tsconfig.build.json - Update changelog script to handle undefined tags - Refactor recent tracks test for better readability - Adjust tsconfig files for improved build and development settings - Add tsconfig.build.json for build-specific configurations - Update .gitignore to exclude AGENTS.md ([2a1687f](https://github.com/ansango/lastfm-api/commit/2a1687f))
35
+
36
+
37
+ ## [3.3.0] - 2026-08-28
38
+
39
+ ### ✨ Features
40
+
41
+ - `auth.getToken()` now returns a pre-built `authUrl` so consumers don't have to
42
+ construct the browser-flow URL themselves. The CLI prints it; Scalar renders it
43
+ in the response. (#115) ([c69cd53](https://github.com/ansango/lastfm-api/commit/c69cd53))
44
+
45
+ ### ⚠️ Breaking Changes
46
+
47
+ - `auth.getMobileSession` has been **removed**. The method was deprecated in 3.2.0
48
+ (PR #106) with the warning that it would be removed in a future major release.
49
+ Last.fm restricts this endpoint to mobile-classified API keys, which are not
50
+ exposed through the public self-service create form. Every consumer can use the
51
+ browser flow (`auth.getToken` + `auth.getSession`) instead. (#117) ([99c4466](https://github.com/ansango/lastfm-api/commit/99c4466))
52
+
53
+ **Migration:**
54
+
55
+ ```ts
56
+ // 3.2.x — no longer compiles
57
+ const { session } = await client.auth.getMobileSession({
58
+ username: "...",
59
+ password: "...",
60
+ });
61
+
62
+ // 3.3.0 — use the browser flow
63
+ const { token, authUrl } = await client.auth.getToken();
64
+ // open authUrl in a browser, authorize, copy token from URL bar
65
+ const { session } = await client.auth.getSession({ token });
66
+ ```
67
+
68
+ The Scalar tool surface no longer exposes `POST /auth/get-mobile-session`. The
69
+ `x-lastfm-sk` header description and the `AUTH_TAG_DESCRIPTION` were rewritten
70
+ to point at the browser flow + `authUrl`. The 57-method surface is now 56.
71
+
72
+
12
73
  ## [3.2.0] - 2026-08-28
13
74
 
14
75
  ### ✨ Features
package/README.md CHANGED
@@ -14,7 +14,8 @@ A universal Last.fm API client for Node.js and Browser, written in TypeScript.
14
14
  ## Features
15
15
 
16
16
  - ✅ **Universal**: Works in Node.js (≥20.0.0) and Browser
17
- - ✅ **Complete coverage**: All 57 canonical Last.fm API methods across 9 namespaces
17
+ - ✅ **Complete coverage**: All 56 canonical Last.fm API methods across 9 namespaces
18
+ - ✅ **Insights & Analytics Engine**: 9 high-level derived analytical views (Shannon diversity, enriched Now Playing, diurnal histograms, binge runs, ranking diffs, new discoveries, 2D mood classification, personality archetypes, and Jaccard user comparison)
18
19
  - ✅ **TypeScript**: Full type safety with comprehensive type definitions
19
20
  - ✅ **Zod Schemas**: Runtime validation schemas for all types
20
21
  - ✅ **ESM**: Modern ES modules with tree-shaking support
@@ -130,12 +131,14 @@ const libraryArtists = await client.library.getArtists({ user: 'ansango' });
130
131
  // Auth service (for scrobbling and authenticated methods)
131
132
  const session = await client.auth.getSession({ token: 'AUTH_TOKEN' });
132
133
  // Request an auth token (signed GET, no sk)
133
- const { token } = await client.auth.getToken();
134
- // Username/password login (signed POST, no sk) — server-side / trusted only
135
- const { session: mobileSession } = await client.auth.getMobileSession({
136
- username: 'someone',
137
- password: process.env.LASTFM_PASSWORD!
138
- });
134
+ const { token, authUrl } = await client.auth.getToken();
135
+
136
+ // Insights & analytics engine
137
+ const summary = await client.insights.getSummary({ user: 'ansango', period: '7day' });
138
+ const nowPlaying = await client.insights.getNowPlaying({ user: 'ansango' });
139
+ const mood = await client.insights.getMood({ user: 'ansango', period: '1month' });
140
+ const personality = await client.insights.getPersonality({ user: 'ansango' });
141
+ const comparison = await client.insights.compareUsers({ userA: 'ansango', userB: 'friend' });
139
142
 
140
143
  // Now-playing and tag/love mutations (all require an authenticated session)
141
144
  await client.track.updateNowPlaying({
@@ -219,6 +222,7 @@ const tracks = await trackService.search({ track: 'Come Together' });
219
222
  - `@ansango/lastfm-api/geo`
220
223
  - `@ansango/lastfm-api/library`
221
224
  - `@ansango/lastfm-api/auth`
225
+ - `@ansango/lastfm-api/insights`
222
226
 
223
227
  ## Zod Schema Validation
224
228
 
@@ -267,8 +271,56 @@ if (result.success) {
267
271
  - `@ansango/lastfm-api/geo/schemas`
268
272
  - `@ansango/lastfm-api/library/schemas`
269
273
  - `@ansango/lastfm-api/auth/schemas`
274
+ - `@ansango/lastfm-api/insights/schemas`
270
275
  - `@ansango/lastfm-api/schemas` (base types like `imageSchema`, `datePropSchema`, etc.)
271
276
 
277
+ ## Insights & Analytics Engine
278
+
279
+ The package includes a built-in analytics engine providing 9 high-level derived views computed over Last.fm data:
280
+
281
+ ```typescript
282
+ import { createClient } from '@ansango/lastfm-api';
283
+
284
+ const client = createClient();
285
+
286
+ // 1. Summary & Shannon Diversity
287
+ const summary = await client.insights.getSummary({ user: 'ansango', period: '7day' });
288
+ console.log(`Total Scrobbles: ${summary.totalScrobbles}, Normalized Diversity: ${summary.diversity?.normalized}`);
289
+
290
+ // 2. Enriched Now Playing with Artist Biography and Similar Artists
291
+ const nowPlaying = await client.insights.getNowPlaying({ user: 'ansango', similarLimit: 3 });
292
+
293
+ // 3. Diurnal & Weekday Histogram
294
+ const histogram = await client.insights.getHoursHistogram({ user: 'ansango', sinceDays: 30 });
295
+ console.log(`Peak Hour: ${histogram.peakHour}:00, Night Share: ${(histogram.nightShare * 100).toFixed(0)}%`);
296
+
297
+ // 4. Binge Listening Streak Detection
298
+ const binges = await client.insights.getBinges({ user: 'ansango', minLength: 3, maxGapSeconds: 1800 });
299
+
300
+ // 5. Ranking Trends Differentials (Risers, Fallers, Newcomers, Departures)
301
+ const trends = await client.insights.getTrends({
302
+ user: 'ansango',
303
+ target: 'artists',
304
+ currentPeriod: '7day',
305
+ previousPeriod: '1month'
306
+ });
307
+
308
+ // 6. New Artist Discoveries
309
+ const discoveries = await client.insights.getDiscoveries({ user: 'ansango', windowDays: 7 });
310
+
311
+ // 7. 2D Mood Classification (Energy vs. Valence)
312
+ const mood = await client.insights.getMood({ user: 'ansango', period: '1month' });
313
+ console.log(`Mood: ${mood.label} (Energy: ${mood.axes.energy}, Valence: ${mood.axes.valence})`);
314
+
315
+ // 8. Listener Personality Archetype
316
+ const personality = await client.insights.getPersonality({ user: 'ansango' });
317
+ console.log(`Archetype: ${personality.archetype.emoji} ${personality.archetype.name} - ${personality.archetype.blurb}`);
318
+
319
+ // 9. User-to-User Taste Clash (Jaccard Similarity)
320
+ const comparison = await client.insights.compareUsers({ userA: 'ansango', userB: 'friend' });
321
+ console.log(`Taste Compatibility: ${comparison.compatibilityScore}% (Jaccard: ${comparison.jaccard})`);
322
+ ```
323
+
272
324
  ## Environment Variables
273
325
 
274
326
  In Node.js environments, the client automatically loads configuration from environment variables:
@@ -310,13 +362,13 @@ const client = new LastFmClient({
310
362
 
311
363
  Methods that mutate user state require an authenticated session. The full list of write methods is:
312
364
 
313
- - `auth.getSession`, `auth.getToken`, `auth.getMobileSession`
365
+ - `auth.getSession`, `auth.getToken`
314
366
  - `track.scrobble`, `track.updateNowPlaying`
315
367
  - `track.addTags`, `track.removeTag`, `track.love`, `track.unlove`
316
368
  - `album.addTags`, `album.removeTag`
317
369
  - `artist.addTags`, `artist.removeTag`
318
370
 
319
- There are two paths to obtain a session key — pick the one that matches your Last.fm API key's app classification. The browser flow below works for **every** self-service API key; the mobile flow only works for mobile-classified keys, which Last.fm does not expose through the public create form.
371
+ The browser flow below works for every self-service API key there is no mobile flow in this package anymore.
320
372
 
321
373
  ### Browser flow (recommended — works for all self-service keys)
322
374
 
@@ -357,17 +409,7 @@ Before the browser flow works end-to-end, set a callback URL on your API account
357
409
 
358
410
  If you skip this step, the redirect after **Allow access** lands on a Last.fm error page instead of your URL, and the token is lost. You have to call `auth.getToken` again and re-authorize.
359
411
 
360
- ### Mobile flow (mobile-class API keys only)
361
-
362
- `auth.getMobileSession` exchanges a username + password for a session key in a single call, but it only works for API keys classified as **mobile / standalone** in the API account settings. Last.fm's self-service create form does not expose this classification; every new key is a web key by default. If you registered your key as a web app, this method will fail with `error: 4 — Authentication Failed`. To get a mobile-class key, you need to email `partners@last.fm` and ask for a reclassification.
363
-
364
- ```typescript
365
- // Only works for mobile-class API keys.
366
- const { session } = await client.auth.getMobileSession({
367
- username: process.env.LASTFM_USERNAME!,
368
- password: process.env.LASTFM_PASSWORD!,
369
- });
370
- ```
412
+ > **Note:** `auth.getMobileSession` was removed in v4.0.0. Last.fm restricts that endpoint to mobile-classified API keys, which are not exposed through the public self-service create form; the browser flow above works for every API key Last.fm issues today.
371
413
 
372
414
  ### Passing the session key to write methods
373
415
 
@@ -440,6 +482,7 @@ class LastFmClient {
440
482
  geo: GeoService;
441
483
  library: LibraryService;
442
484
  auth: AuthService;
485
+ insights: InsightsService;
443
486
 
444
487
  constructor(config?: Partial<LastFmConfig>);
445
488
  getConfig(): Readonly<LastFmConfig>;
@@ -465,7 +508,7 @@ function resetGlobalConfig(): void;
465
508
 
466
509
  ### Services
467
510
 
468
- The package covers all 57 canonical Last.fm API methods across 9 namespaces. See [docs/api-coverage.md](docs/api-coverage.md) for the full table.
511
+ The package covers all 56 canonical Last.fm API methods across 9 namespaces, plus 9 derived analytical methods in the `InsightsService`. See [docs/api-coverage.md](docs/api-coverage.md) for the full table.
469
512
 
470
513
  - **UserService**: 13 methods — `getInfo`, `getFriends`, `getLovedTracks`, `getRecentTracks`, `getTopAlbums`, `getTopArtists`, `getTopTags`, `getTopTracks`, `getWeeklyAlbumChart`, `getWeeklyArtistChart`, `getWeeklyChartList`, `getWeeklyTrackChart`, `getPersonalTags`
471
514
  - **AlbumService**: 6 methods — `getInfo`, `getTags`, `getTopTags`, `search`, `addTags`¹, `removeTag`¹
@@ -475,7 +518,8 @@ The package covers all 57 canonical Last.fm API methods across 9 namespaces. See
475
518
  - **ChartService**: 3 methods — `getTopArtists`, `getTopTags`, `getTopTracks`
476
519
  - **GeoService**: 2 methods — `getTopArtists`, `getTopTracks`
477
520
  - **LibraryService**: 1 method — `getArtists`
478
- - **AuthService**: 3 methods — `getSession`, `getToken`, `getMobileSession
521
+ - **AuthService**: 2 methods — `getSession`, `getToken` (removed `getMobileSession` in v4.0.0)
522
+ - **InsightsService**: 9 methods — `getSummary`, `getNowPlaying`, `getHoursHistogram`, `getBinges`, `getTrends`, `getDiscoveries`, `getMood`, `getPersonality`, `compareUsers`
479
523
 
480
524
  ¹ Requires an authenticated session.
481
525
 
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { LastFmConfig } from './config.js';
2
- import { type AlbumService, type ArtistService, type AuthService, type ChartService, type GeoService, type LibraryService, type TagService, type TrackService, type UserService } from './services/index.js';
2
+ import { type AlbumService, type ArtistService, type AuthService, type ChartService, type GeoService, type InsightsService, type LibraryService, type TagService, type TrackService, type UserService } from './services/index.js';
3
3
  /**
4
4
  * Last.fm API Client
5
5
  *
@@ -29,6 +29,7 @@ export declare class LastFmClient {
29
29
  readonly geo: GeoService;
30
30
  readonly library: LibraryService;
31
31
  readonly auth: AuthService;
32
+ readonly insights: InsightsService;
32
33
  private readonly config;
33
34
  constructor(config?: Partial<LastFmConfig>);
34
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EAUjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IACxB,SAAgB,IAAI,EAAE,WAAW,CAAA;IACjC,SAAgB,KAAK,EAAE,YAAY,CAAA;IACnC,SAAgB,MAAM,EAAE,aAAa,CAAA;IACrC,SAAgB,KAAK,EAAE,YAAY,CAAA;IACnC,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,KAAK,EAAE,YAAY,CAAA;IACnC,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,OAAO,EAAE,cAAc,CAAA;IACvC,SAAgB,IAAI,EAAE,WAAW,CAAA;IAEjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAe1C;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC;CAGnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAEzE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EAWjB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IACxB,SAAgB,IAAI,EAAE,WAAW,CAAA;IACjC,SAAgB,KAAK,EAAE,YAAY,CAAA;IACnC,SAAgB,MAAM,EAAE,aAAa,CAAA;IACrC,SAAgB,KAAK,EAAE,YAAY,CAAA;IACnC,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,KAAK,EAAE,YAAY,CAAA;IACnC,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,OAAO,EAAE,cAAc,CAAA;IACvC,SAAgB,IAAI,EAAE,WAAW,CAAA;IACjC,SAAgB,QAAQ,EAAE,eAAe,CAAA;IAEzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAgB1C;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC;CAGnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAEzE"}
package/dist/client.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createConfig, getGlobalConfig } from './config.js';
2
- import { createAlbumService, createArtistService, createAuthService, createChartService, createGeoService, createLibraryService, createTagService, createTrackService, createUserService, } from './services/index.js';
2
+ import { createAlbumService, createArtistService, createAuthService, createChartService, createGeoService, createInsightsService, createLibraryService, createTagService, createTrackService, createUserService, } from './services/index.js';
3
3
  /**
4
4
  * Last.fm API Client
5
5
  *
@@ -29,6 +29,7 @@ export class LastFmClient {
29
29
  geo;
30
30
  library;
31
31
  auth;
32
+ insights;
32
33
  config;
33
34
  constructor(config) {
34
35
  this.config = config ? createConfig(config) : getGlobalConfig();
@@ -42,6 +43,7 @@ export class LastFmClient {
42
43
  this.geo = createGeoService(this.config);
43
44
  this.library = createLibraryService(this.config);
44
45
  this.auth = createAuthService(this.config);
46
+ this.insights = createInsightsService(this.config);
45
47
  }
46
48
  /**
47
49
  * Get the current configuration (read-only)
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAKN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAMjB,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,YAAY;IACR,IAAI,CAAa;IACjB,KAAK,CAAc;IACnB,MAAM,CAAe;IACrB,KAAK,CAAc;IACnB,GAAG,CAAY;IACf,KAAK,CAAc;IACnB,GAAG,CAAY;IACf,OAAO,CAAgB;IACvB,IAAI,CAAa;IAEhB,MAAM,CAAc;IAErC,YAAY,MAA8B;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;QAE/D,0BAA0B;QAC1B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,SAAS;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC;CACD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,MAA8B;IAC1D,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAKN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAOjB,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,YAAY;IACR,IAAI,CAAa;IACjB,KAAK,CAAc;IACnB,MAAM,CAAe;IACrB,KAAK,CAAc;IACnB,GAAG,CAAY;IACf,KAAK,CAAc;IACnB,GAAG,CAAY;IACf,OAAO,CAAgB;IACvB,IAAI,CAAa;IACjB,QAAQ,CAAiB;IAExB,MAAM,CAAc;IAErC,YAAY,MAA8B;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;QAE/D,0BAA0B;QAC1B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,SAAS;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC;CACD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,MAA8B;IAC1D,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createInsightsService, type InsightsService } from '../services/insights.js';
2
+ export type * from '../services/insights.schemas.js';
3
+ export * from '../services/insights.schemas.js';
4
+ //# sourceMappingURL=insights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/entrypoints/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACrF,mBAAmB,iCAAiC,CAAA;AACpD,cAAc,iCAAiC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { createInsightsService } from '../services/insights.js';
2
+ export * from '../services/insights.schemas.js';
3
+ //# sourceMappingURL=insights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/entrypoints/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAwB,MAAM,yBAAyB,CAAA;AAErF,cAAc,iCAAiC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from '../services/insights.schemas.js';
2
+ //# sourceMappingURL=insights.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.schemas.d.ts","sourceRoot":"","sources":["../../src/entrypoints/insights.schemas.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAA"}
@@ -0,0 +1,3 @@
1
+ // Generated schema exports for insights service
2
+ export * from '../services/insights.schemas.js';
3
+ //# sourceMappingURL=insights.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.schemas.js","sourceRoot":"","sources":["../../src/entrypoints/insights.schemas.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,cAAc,iCAAiC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -10,8 +10,10 @@ export type * from './services/chart.schemas.js';
10
10
  export * from './services/chart.schemas.js';
11
11
  export type * from './services/geo.schemas.js';
12
12
  export * from './services/geo.schemas.js';
13
- export type { AlbumService, ArtistService, AuthService, ChartService, GeoService, LibraryService, TagService, TrackService, UserService, } from './services/index.js';
14
- export { createAlbumService, createArtistService, createAuthService, createChartService, createGeoService, createLibraryService, createTagService, createTrackService, createUserService, } from './services/index.js';
13
+ export type { AlbumService, ArtistService, AuthService, ChartService, GeoService, InsightsService, LibraryService, TagService, TrackService, UserService, } from './services/index.js';
14
+ export { createAlbumService, createArtistService, createAuthService, createChartService, createGeoService, createInsightsService, createLibraryService, createTagService, createTrackService, createUserService, } from './services/index.js';
15
+ export type * from './services/insights.schemas.js';
16
+ export * from './services/insights.schemas.js';
15
17
  export type * from './services/library.schemas.js';
16
18
  export * from './services/library.schemas.js';
17
19
  export type * from './services/schemas/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EACN,YAAY,EACZ,eAAe,EACf,KAAK,YAAY,EACjB,iBAAiB,EACjB,eAAe,GACf,MAAM,aAAa,CAAA;AACpB,mBAAmB,6BAA6B,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,mBAAmB,8BAA8B,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,mBAAmB,4BAA4B,CAAA;AAC/C,cAAc,4BAA4B,CAAA;AAC1C,mBAAmB,6BAA6B,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,mBAAmB,2BAA2B,CAAA;AAC9C,cAAc,2BAA2B,CAAA;AAEzC,YAAY,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,WAAW,GACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,qBAAqB,CAAA;AAC5B,mBAAmB,+BAA+B,CAAA;AAClD,cAAc,+BAA+B,CAAA;AAC7C,mBAAmB,6BAA6B,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,mBAAmB,2BAA2B,CAAA;AAC9C,cAAc,2BAA2B,CAAA;AACzC,mBAAmB,6BAA6B,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAE3C,mBAAmB,4BAA4B,CAAA;AAE/C,cAAc,4BAA4B,CAAA;AAG1C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EACN,YAAY,EACZ,eAAe,EACf,KAAK,YAAY,EACjB,iBAAiB,EACjB,eAAe,GACf,MAAM,aAAa,CAAA;AACpB,mBAAmB,6BAA6B,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,mBAAmB,8BAA8B,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,mBAAmB,4BAA4B,CAAA;AAC/C,cAAc,4BAA4B,CAAA;AAC1C,mBAAmB,6BAA6B,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,mBAAmB,2BAA2B,CAAA;AAC9C,cAAc,2BAA2B,CAAA;AAEzC,YAAY,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,EACZ,WAAW,GACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,qBAAqB,CAAA;AAC5B,mBAAmB,gCAAgC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,mBAAmB,+BAA+B,CAAA;AAClD,cAAc,+BAA+B,CAAA;AAC7C,mBAAmB,6BAA6B,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,mBAAmB,2BAA2B,CAAA;AAC9C,cAAc,2BAA2B,CAAA;AACzC,mBAAmB,6BAA6B,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAE3C,mBAAmB,4BAA4B,CAAA;AAE/C,cAAc,4BAA4B,CAAA;AAG1C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -8,7 +8,8 @@ export * from './services/auth.schemas.js';
8
8
  export * from './services/chart.schemas.js';
9
9
  export * from './services/geo.schemas.js';
10
10
  // Servicios (para uso avanzado)
11
- export { createAlbumService, createArtistService, createAuthService, createChartService, createGeoService, createLibraryService, createTagService, createTrackService, createUserService, } from './services/index.js';
11
+ export { createAlbumService, createArtistService, createAuthService, createChartService, createGeoService, createInsightsService, createLibraryService, createTagService, createTrackService, createUserService, } from './services/index.js';
12
+ export * from './services/insights.schemas.js';
12
13
  export * from './services/library.schemas.js';
13
14
  export * from './services/schemas/index.js';
14
15
  export * from './services/tag.schemas.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAEhB,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EACN,YAAY,EACZ,eAAe,EAEf,iBAAiB,EACjB,eAAe,GACf,MAAM,aAAa,CAAA;AAEpB,cAAc,6BAA6B,CAAA;AAE3C,cAAc,8BAA8B,CAAA;AAE5C,cAAc,4BAA4B,CAAA;AAE1C,cAAc,6BAA6B,CAAA;AAE3C,cAAc,2BAA2B,CAAA;AAazC,gCAAgC;AAChC,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,qBAAqB,CAAA;AAE5B,cAAc,+BAA+B,CAAA;AAE7C,cAAc,6BAA6B,CAAA;AAE3C,cAAc,2BAA2B,CAAA;AAEzC,cAAc,6BAA6B,CAAA;AAG3C,mCAAmC;AACnC,cAAc,4BAA4B,CAAA;AAE1C,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAEhB,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EACN,YAAY,EACZ,eAAe,EAEf,iBAAiB,EACjB,eAAe,GACf,MAAM,aAAa,CAAA;AAEpB,cAAc,6BAA6B,CAAA;AAE3C,cAAc,8BAA8B,CAAA;AAE5C,cAAc,4BAA4B,CAAA;AAE1C,cAAc,6BAA6B,CAAA;AAE3C,cAAc,2BAA2B,CAAA;AAczC,gCAAgC;AAChC,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,qBAAqB,CAAA;AAE5B,cAAc,gCAAgC,CAAA;AAE9C,cAAc,+BAA+B,CAAA;AAE7C,cAAc,6BAA6B,CAAA;AAE3C,cAAc,2BAA2B,CAAA;AAEzC,cAAc,6BAA6B,CAAA;AAG3C,mCAAmC;AACnC,cAAc,4BAA4B,CAAA;AAE1C,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA"}
@@ -47,8 +47,7 @@ export interface AlbumService {
47
47
  * **Authentication:** pass `sk` in `params.sk` (preferred for ad-hoc
48
48
  * calls) or set `sessionKey` on the `LastFmConfig` when constructing
49
49
  * the client (preferred for long-lived clients). Obtain a session key
50
- * via `auth.getToken` + the browser-based `auth.getSession` flow, or
51
- * via `auth.getMobileSession` (mobile-class API keys only).
50
+ * via `auth.getToken` + the browser-based `auth.getSession` flow.
52
51
  *
53
52
  * @param {AlbumAddTagsRequest} params
54
53
  * @param {RequestInit} init
@@ -66,8 +65,7 @@ export interface AlbumService {
66
65
  *
67
66
  * **Authentication:** pass `sk` in `params.sk` (preferred for ad-hoc
68
67
  * calls) or set `sessionKey` on the `LastFmConfig` when constructing
69
- * the client. Obtain a session key via `auth.getToken` +
70
- * `auth.getSession`, or `auth.getMobileSession` (mobile-class only).
68
+ * the client. Obtain a session key via `auth.getToken` + `auth.getSession`.
71
69
  *
72
70
  * @param {AlbumRemoveTagRequest} params
73
71
  * @param {RequestInit} init
@@ -1 +1 @@
1
- {"version":3,"file":"album.d.ts","sourceRoot":"","sources":["../../src/services/album.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,WAAW,YAAY;IAC5B;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC3F;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC3F;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACpG;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACxF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3E;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E;AAiBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAmCrE"}
1
+ {"version":3,"file":"album.d.ts","sourceRoot":"","sources":["../../src/services/album.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,WAAW,YAAY;IAC5B;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC3F;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC3F;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACpG;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACxF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3E;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E;AAiBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAmCrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"album.js","sourceRoot":"","sources":["../../src/services/album.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA2F3E,SAAS,+BAA+B,CACvC,MAAoB,EACpB,SAA6B,EAC7B,MAA+B;IAE/B,MAAM,EAAE,GAAG,SAAS,IAAI,MAAM,CAAC,UAAU,CAAA;IACzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,MAAM,IAAI,cAAc,CACvB,+CAA+C,MAAM,gFAAgF,EACrI,CAAC,CACD,CAAA;IACF,CAAC;IACD,OAAO,EAAE,CAAA;AACV,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACtD,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAE,IAAkB,EAAE,EAAE;QACvE,MAAM,EAAE,GAAG,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QACxE,OAAO,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE;YAC1C,MAAM,EAAE;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC3B,EAAE;aACF;YACD,IAAI;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,MAA6B,EAAE,IAAkB,EAAE,EAAE;QAC3E,MAAM,EAAE,GAAG,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;QAC1E,OAAO,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE;YAC5C,MAAM,EAAE;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,EAAE;aACF;YACD,IAAI;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,OAAO;QACN,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAuB,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACzG,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAuB,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACzG,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAA0B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAClH,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACtG,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,aAAa;KACxB,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"album.js","sourceRoot":"","sources":["../../src/services/album.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAyF3E,SAAS,+BAA+B,CACvC,MAAoB,EACpB,SAA6B,EAC7B,MAA+B;IAE/B,MAAM,EAAE,GAAG,SAAS,IAAI,MAAM,CAAC,UAAU,CAAA;IACzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,MAAM,IAAI,cAAc,CACvB,+CAA+C,MAAM,gFAAgF,EACrI,CAAC,CACD,CAAA;IACF,CAAC;IACD,OAAO,EAAE,CAAA;AACV,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACtD,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAE,IAAkB,EAAE,EAAE;QACvE,MAAM,EAAE,GAAG,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QACxE,OAAO,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE;YAC1C,MAAM,EAAE;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC3B,EAAE;aACF;YACD,IAAI;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,MAA6B,EAAE,IAAkB,EAAE,EAAE;QAC3E,MAAM,EAAE,GAAG,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;QAC1E,OAAO,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE;YAC5C,MAAM,EAAE;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,EAAE;aACF;YACD,IAAI;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,OAAO;QACN,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAuB,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACzG,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAuB,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACzG,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAA0B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAClH,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACtG,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,aAAa;KACxB,CAAA;AACF,CAAC"}
@@ -80,8 +80,7 @@ export interface ArtistService {
80
80
  * **Authentication:** pass `sk` in `params.sk` (preferred for ad-hoc
81
81
  * calls) or set `sessionKey` on the `LastFmConfig` when constructing
82
82
  * the client (preferred for long-lived clients). Obtain a session key
83
- * via `auth.getToken` + the browser-based `auth.getSession` flow, or
84
- * via `auth.getMobileSession` (mobile-class API keys only).
83
+ * via `auth.getToken` + the browser-based `auth.getSession` flow.
85
84
  *
86
85
  * @param {ArtistAddTagsRequest} params
87
86
  * @param {RequestInit} init
@@ -97,8 +96,7 @@ export interface ArtistService {
97
96
  *
98
97
  * **Authentication:** pass `sk` in `params.sk` (preferred for ad-hoc
99
98
  * calls) or set `sessionKey` on the `LastFmConfig` when constructing
100
- * the client. Obtain a session key via `auth.getToken` +
101
- * `auth.getSession`, or `auth.getMobileSession` (mobile-class only).
99
+ * the client. Obtain a session key via `auth.getToken` + `auth.getSession`.
102
100
  *
103
101
  * @param {ArtistRemoveTagRequest} params
104
102
  * @param {RequestInit} init
@@ -1 +1 @@
1
- {"version":3,"file":"artist.d.ts","sourceRoot":"","sources":["../../src/services/artist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EACX,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,aAAa;IAC7B;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC7F;;;;;;SAMK;IACL,OAAO,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC7F;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACtG;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACtG;;;;;;SAMK;IACL,YAAY,EAAE,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC5G;;;;;;SAMK;IACL,YAAY,EAAE,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC5G;;;;;;SAMK;IACL,MAAM,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC1F;;;;;;;;OAQG;IACH,aAAa,EAAE,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAC/G;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5E;;;;;;;;;;;;;;;OAeG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChF;AAiBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CA0CvE"}
1
+ {"version":3,"file":"artist.d.ts","sourceRoot":"","sources":["../../src/services/artist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EACX,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,aAAa;IAC7B;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC7F;;;;;;SAMK;IACL,OAAO,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC7F;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACtG;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACtG;;;;;;SAMK;IACL,YAAY,EAAE,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC5G;;;;;;SAMK;IACL,YAAY,EAAE,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC5G;;;;;;SAMK;IACL,MAAM,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC1F;;;;;;;;OAQG;IACH,aAAa,EAAE,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAC/G;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5E;;;;;;;;;;;;;;OAcG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChF;AAiBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CA0CvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"artist.js","sourceRoot":"","sources":["../../src/services/artist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artist.js","sourceRoot":"","sources":["../../src/services/artist.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { LastFmConfig } from '../config.js';
2
- import type { AuthGetMobileSessionRequest, AuthGetMobileSessionResponse, AuthGetSessionRequest, AuthGetSessionResponse, AuthGetTokenResponse } from './auth.schemas.js';
2
+ import type { AuthGetSessionRequest, AuthGetSessionResponse, AuthGetTokenResponse } from './auth.schemas.js';
3
3
  export interface AuthService {
4
4
  /**
5
5
  * Get the session key for a user. Used for authenticating a user when scrobbling.
@@ -43,43 +43,6 @@ export interface AuthService {
43
43
  * https://www.last.fm/api/show/auth.getToken
44
44
  */
45
45
  getToken: (init?: RequestInit) => Promise<AuthGetTokenResponse>;
46
- /**
47
- * Get a mobile session for a user, exchanging a username/email and
48
- * password for a session key. Returns the session to the caller; the
49
- * client does not persist it.
50
- *
51
- * **Server-side / trusted environments only.** This method handles a
52
- * password and the application's shared secret; it must never be used
53
- * from a browser or any environment where the bundle is exposed.
54
- *
55
- * **Mobile-class API keys only.** Last.fm rejects this call with 403
56
- * (`error: 4 — Authentication Failed`) for self-service web/desktop
57
- * API keys. Self-service users should use the browser flow
58
- * (`auth.getToken` + `auth.getSession`) instead. The Last.fm create
59
- * form has no app-type selector; to obtain a mobile-class key you
60
- * need to email `partners@last.fm` and ask for a reclassification.
61
- *
62
- * Requires HTTPS — a custom `baseUrl` over plain HTTP is rejected
63
- * before any network call.
64
- *
65
- * Intentionally does not support the deprecated `authToken` /
66
- * `md5(username + md5(password))` credential flow.
67
- *
68
- * @deprecated Last.fm restricts this method to **mobile-class API
69
- * keys**, which are not exposed through the public self-service create
70
- * form. Every self-service key defaults to "web", so this call returns
71
- * `error: 4 — Authentication Failed` for almost all users. Use the
72
- * browser flow (`auth.getToken` + `auth.getSession`) instead, which
73
- * works for every self-service API key. See
74
- * <https://www.last.fm/api/webauth> for the full flow. This method
75
- * is still callable and will be removed in a future major release.
76
- *
77
- * @param {AuthGetMobileSessionRequest} params
78
- * @param {RequestInit} init
79
- * @returns {Promise<AuthGetMobileSessionResponse>}
80
- * https://www.last.fm/api/show/auth.getMobileSession
81
- */
82
- getMobileSession: (params: AuthGetMobileSessionRequest, init?: RequestInit) => Promise<AuthGetMobileSessionResponse>;
83
46
  }
84
47
  export declare function createAuthService(config: LastFmConfig): AuthService;
85
48
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EACX,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,mBAAmB,CAAA;AAE1B,MAAM,WAAW,WAAW;IAC3B;;;;;;;;;;;;;;;SAeK;IACL,UAAU,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAClG;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,4BAA4B,CAAC,CAAA;CACpH;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CA4CnE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE5G,MAAM,WAAW,WAAW;IAC3B;;;;;;;;;;;;;;;SAeK;IACL,UAAU,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAClG;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAC/D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAsBnE"}
@@ -1,22 +1,5 @@
1
- import { buildAuthUrl, fetcher, LastFmApiError, signedPost } from '../utils.js';
1
+ import { buildAuthUrl, fetcher } from '../utils.js';
2
2
  export function createAuthService(config) {
3
- const getMobileSessionImpl = (params, init) => {
4
- // Enforce HTTPS before any network call. The default baseUrl is
5
- // already https://, so this only fires when a caller has set a
6
- // custom baseUrl over plain http://. If baseUrl is undefined we
7
- // trust the default (which is HTTPS) and let signedPost use it.
8
- if (config.baseUrl !== undefined && !config.baseUrl.toLowerCase().startsWith('https://')) {
9
- throw new LastFmApiError('`auth.getMobileSession` requires HTTPS. Use the default baseUrl or set `baseUrl` to an https:// URL.', 0);
10
- }
11
- return signedPost(config, 'auth.getMobileSession', {
12
- params: {
13
- username: params.username,
14
- password: params.password,
15
- },
16
- requiresSession: false,
17
- init,
18
- });
19
- };
20
3
  return {
21
4
  getSession: (params, init) => fetcher(buildAuthUrl(config, 'auth.getSession', params), init),
22
5
  getToken: async (init) => {
@@ -36,7 +19,6 @@ export function createAuthService(config) {
36
19
  authUrl: authUrl.toString(),
37
20
  };
38
21
  },
39
- getMobileSession: getMobileSessionImpl,
40
22
  };
41
23
  }
42
24
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA2F/E,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACrD,MAAM,oBAAoB,GAAG,CAAC,MAAmC,EAAE,IAAkB,EAAE,EAAE;QACxF,gEAAgE;QAChE,+DAA+D;QAC/D,gEAAgE;QAChE,gEAAgE;QAChE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1F,MAAM,IAAI,cAAc,CACvB,sGAAsG,EACtG,CAAC,CACD,CAAA;QACF,CAAC;QACD,OAAO,UAAU,CAA+B,MAAM,EAAE,uBAAuB,EAAE;YAChF,MAAM,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aACzB;YACD,eAAe,EAAE,KAAK;YACtB,IAAI;SACJ,CAAC,CAAA;IACH,CAAC,CAAA;IAED,OAAO;QACN,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC5B,OAAO,CAAyB,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACvF,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAuB,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAA;YACjG,+DAA+D;YAC/D,gFAAgF;YAChF,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,+DAA+D;YAC/D,sEAAsE;YACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,+BAA+B,CAAC,CAAA;YACxD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAClD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;YACjD,OAAO;gBACN,GAAG,QAAQ;gBACX,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;aAC3B,CAAA;QACF,CAAC;QACD,gBAAgB,EAAE,oBAAoB;KACtC,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAgDnD,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACrD,OAAO;QACN,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC5B,OAAO,CAAyB,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACvF,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAuB,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAA;YACjG,+DAA+D;YAC/D,gFAAgF;YAChF,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,+DAA+D;YAC/D,sEAAsE;YACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,+BAA+B,CAAC,CAAA;YACxD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAClD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;YACjD,OAAO;gBACN,GAAG,QAAQ;gBACX,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;aAC3B,CAAA;QACF,CAAC;KACD,CAAA;AACF,CAAC"}
@@ -2,10 +2,6 @@ import { z } from 'zod';
2
2
  export declare const authGetSessionRequestSchema: z.ZodObject<{
3
3
  token: z.ZodString;
4
4
  }, z.core.$strip>;
5
- export declare const authGetMobileSessionRequestSchema: z.ZodObject<{
6
- username: z.ZodString;
7
- password: z.ZodString;
8
- }, z.core.$strip>;
9
5
  export declare const sessionSchema: z.ZodObject<{
10
6
  name: z.ZodString;
11
7
  key: z.ZodString;
@@ -25,18 +21,9 @@ export declare const authGetTokenResponseSchema: z.ZodObject<{
25
21
  token: z.ZodString;
26
22
  authUrl: z.ZodOptional<z.ZodString>;
27
23
  }, z.core.$strip>;
28
- export declare const authGetMobileSessionResponseSchema: z.ZodObject<{
29
- session: z.ZodObject<{
30
- name: z.ZodString;
31
- key: z.ZodString;
32
- subscriber: z.ZodNumber;
33
- }, z.core.$strip>;
34
- }, z.core.$strip>;
35
24
  export type AuthGetSessionRequest = z.infer<typeof authGetSessionRequestSchema>;
36
- export type AuthGetMobileSessionRequest = z.infer<typeof authGetMobileSessionRequestSchema>;
37
25
  export type Session = z.infer<typeof sessionSchema>;
38
26
  export type Token = z.infer<typeof tokenSchema>;
39
27
  export type AuthGetSessionResponse = z.infer<typeof authGetSessionResponseSchema>;
40
28
  export type AuthGetTokenResponse = z.infer<typeof authGetTokenResponseSchema>;
41
- export type AuthGetMobileSessionResponse = z.infer<typeof authGetMobileSessionResponseSchema>;
42
29
  //# sourceMappingURL=auth.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.schemas.d.ts","sourceRoot":"","sources":["../../src/services/auth.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,2BAA2B;;iBAEtC,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;iBAG5C,CAAA;AAGF,eAAO,MAAM,aAAa;;;;iBAIxB,CAAA;AAEF,eAAO,MAAM,WAAW;;iBAEtB,CAAA;AAGF,eAAO,MAAM,4BAA4B;;;;;;iBAEvC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;iBASrC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;iBAE7C,CAAA;AAGF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAC3F,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACnD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAC/C,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACjF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA"}
1
+ {"version":3,"file":"auth.schemas.d.ts","sourceRoot":"","sources":["../../src/services/auth.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,2BAA2B;;iBAEtC,CAAA;AAGF,eAAO,MAAM,aAAa;;;;iBAIxB,CAAA;AAEF,eAAO,MAAM,WAAW;;iBAEtB,CAAA;AAGF,eAAO,MAAM,4BAA4B;;;;;;iBAEvC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;iBASrC,CAAA;AAGF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACnD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAC/C,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACjF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA"}
@@ -3,10 +3,6 @@ import { z } from 'zod';
3
3
  export const authGetSessionRequestSchema = z.object({
4
4
  token: z.string(),
5
5
  });
6
- export const authGetMobileSessionRequestSchema = z.object({
7
- username: z.string(),
8
- password: z.string(),
9
- });
10
6
  // Entity schemas
11
7
  export const sessionSchema = z.object({
12
8
  name: z.string(),
@@ -28,7 +24,4 @@ export const authGetTokenResponseSchema = z.object({
28
24
  .optional()
29
25
  .describe('Pre-built Last.fm auth URL to open in a browser. Equivalent to `https://www.last.fm/api/auth/?api_key=<KEY>&token=<token>`. Open it, log in if prompted, click "Allow access", then pass the same token to `auth.getSession`.'),
30
26
  });
31
- export const authGetMobileSessionResponseSchema = z.object({
32
- session: sessionSchema,
33
- });
34
27
  //# sourceMappingURL=auth.schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.schemas.js","sourceRoot":"","sources":["../../src/services/auth.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,kBAAkB;AAClB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAA;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAA;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CACR,+NAA+N,CAC/N;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,OAAO,EAAE,aAAa;CACtB,CAAC,CAAA"}
1
+ {"version":3,"file":"auth.schemas.js","sourceRoot":"","sources":["../../src/services/auth.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,kBAAkB;AAClB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAA;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAA;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CACR,+NAA+N,CAC/N;CACF,CAAC,CAAA"}