@ansango/lastfm-api 3.1.3 → 3.2.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 (168) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +165 -15
  3. package/dist/client.d.ts +1 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +2 -2
  6. package/dist/client.js.map +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +2 -2
  9. package/dist/config.js.map +1 -1
  10. package/dist/entrypoints/album.d.ts +1 -1
  11. package/dist/entrypoints/album.d.ts.map +1 -1
  12. package/dist/entrypoints/album.js.map +1 -1
  13. package/dist/entrypoints/album.schemas.d.ts.map +1 -1
  14. package/dist/entrypoints/album.schemas.js.map +1 -1
  15. package/dist/entrypoints/artist.d.ts +1 -1
  16. package/dist/entrypoints/artist.d.ts.map +1 -1
  17. package/dist/entrypoints/artist.js.map +1 -1
  18. package/dist/entrypoints/artist.schemas.d.ts.map +1 -1
  19. package/dist/entrypoints/artist.schemas.js.map +1 -1
  20. package/dist/entrypoints/auth.d.ts +1 -1
  21. package/dist/entrypoints/auth.d.ts.map +1 -1
  22. package/dist/entrypoints/auth.js.map +1 -1
  23. package/dist/entrypoints/auth.schemas.d.ts.map +1 -1
  24. package/dist/entrypoints/auth.schemas.js.map +1 -1
  25. package/dist/entrypoints/base.schemas.d.ts.map +1 -1
  26. package/dist/entrypoints/base.schemas.js.map +1 -1
  27. package/dist/entrypoints/chart.d.ts +1 -1
  28. package/dist/entrypoints/chart.d.ts.map +1 -1
  29. package/dist/entrypoints/chart.js.map +1 -1
  30. package/dist/entrypoints/chart.schemas.d.ts.map +1 -1
  31. package/dist/entrypoints/chart.schemas.js.map +1 -1
  32. package/dist/entrypoints/geo.d.ts.map +1 -1
  33. package/dist/entrypoints/geo.js.map +1 -1
  34. package/dist/entrypoints/geo.schemas.d.ts.map +1 -1
  35. package/dist/entrypoints/geo.schemas.js.map +1 -1
  36. package/dist/entrypoints/library.d.ts.map +1 -1
  37. package/dist/entrypoints/library.js.map +1 -1
  38. package/dist/entrypoints/library.schemas.d.ts.map +1 -1
  39. package/dist/entrypoints/library.schemas.js.map +1 -1
  40. package/dist/entrypoints/tag.d.ts.map +1 -1
  41. package/dist/entrypoints/tag.js.map +1 -1
  42. package/dist/entrypoints/tag.schemas.d.ts.map +1 -1
  43. package/dist/entrypoints/tag.schemas.js.map +1 -1
  44. package/dist/entrypoints/track.d.ts.map +1 -1
  45. package/dist/entrypoints/track.js.map +1 -1
  46. package/dist/entrypoints/track.schemas.d.ts.map +1 -1
  47. package/dist/entrypoints/track.schemas.js.map +1 -1
  48. package/dist/entrypoints/user.d.ts.map +1 -1
  49. package/dist/entrypoints/user.js.map +1 -1
  50. package/dist/entrypoints/user.schemas.d.ts.map +1 -1
  51. package/dist/entrypoints/user.schemas.js.map +1 -1
  52. package/dist/index.d.ts +18 -18
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +10 -10
  55. package/dist/index.js.map +1 -1
  56. package/dist/services/album.d.ts +43 -1
  57. package/dist/services/album.d.ts.map +1 -1
  58. package/dist/services/album.js +35 -2
  59. package/dist/services/album.js.map +1 -1
  60. package/dist/services/album.schemas.d.ts +51 -12
  61. package/dist/services/album.schemas.d.ts.map +1 -1
  62. package/dist/services/album.schemas.js +48 -10
  63. package/dist/services/album.schemas.js.map +1 -1
  64. package/dist/services/artist.d.ts +50 -1
  65. package/dist/services/artist.d.ts.map +1 -1
  66. package/dist/services/artist.js +34 -2
  67. package/dist/services/artist.js.map +1 -1
  68. package/dist/services/artist.schemas.d.ts +99 -25
  69. package/dist/services/artist.schemas.d.ts.map +1 -1
  70. package/dist/services/artist.schemas.js +125 -60
  71. package/dist/services/artist.schemas.js.map +1 -1
  72. package/dist/services/auth.d.ts +72 -1
  73. package/dist/services/auth.d.ts.map +1 -1
  74. package/dist/services/auth.js +37 -2
  75. package/dist/services/auth.js.map +1 -1
  76. package/dist/services/auth.schemas.d.ts +23 -1
  77. package/dist/services/auth.schemas.d.ts.map +1 -1
  78. package/dist/services/auth.schemas.js +20 -2
  79. package/dist/services/auth.schemas.js.map +1 -1
  80. package/dist/services/chart.d.ts +1 -1
  81. package/dist/services/chart.d.ts.map +1 -1
  82. package/dist/services/chart.js +2 -2
  83. package/dist/services/chart.js.map +1 -1
  84. package/dist/services/chart.schemas.d.ts +6 -6
  85. package/dist/services/chart.schemas.d.ts.map +1 -1
  86. package/dist/services/chart.schemas.js +21 -21
  87. package/dist/services/chart.schemas.js.map +1 -1
  88. package/dist/services/geo.d.ts +1 -1
  89. package/dist/services/geo.d.ts.map +1 -1
  90. package/dist/services/geo.js +2 -2
  91. package/dist/services/geo.js.map +1 -1
  92. package/dist/services/geo.schemas.d.ts +6 -6
  93. package/dist/services/geo.schemas.d.ts.map +1 -1
  94. package/dist/services/geo.schemas.js +17 -17
  95. package/dist/services/geo.schemas.js.map +1 -1
  96. package/dist/services/index.d.ts +12 -12
  97. package/dist/services/index.d.ts.map +1 -1
  98. package/dist/services/index.js +13 -13
  99. package/dist/services/index.js.map +1 -1
  100. package/dist/services/library.d.ts +1 -1
  101. package/dist/services/library.d.ts.map +1 -1
  102. package/dist/services/library.js +2 -2
  103. package/dist/services/library.js.map +1 -1
  104. package/dist/services/library.schemas.d.ts +3 -3
  105. package/dist/services/library.schemas.d.ts.map +1 -1
  106. package/dist/services/library.schemas.js +8 -8
  107. package/dist/services/library.schemas.js.map +1 -1
  108. package/dist/services/schemas/base.entities.schemas.d.ts +3 -3
  109. package/dist/services/schemas/base.entities.schemas.d.ts.map +1 -1
  110. package/dist/services/schemas/base.entities.schemas.js +9 -9
  111. package/dist/services/schemas/base.entities.schemas.js.map +1 -1
  112. package/dist/services/schemas/base.entity-names.schemas.d.ts +1 -1
  113. package/dist/services/schemas/base.entity-names.schemas.d.ts.map +1 -1
  114. package/dist/services/schemas/base.entity-names.schemas.js +1 -1
  115. package/dist/services/schemas/base.entity-names.schemas.js.map +1 -1
  116. package/dist/services/schemas/base.metadata.schemas.d.ts +1 -1
  117. package/dist/services/schemas/base.metadata.schemas.d.ts.map +1 -1
  118. package/dist/services/schemas/base.metadata.schemas.js +1 -1
  119. package/dist/services/schemas/base.metadata.schemas.js.map +1 -1
  120. package/dist/services/schemas/base.pagination.schemas.d.ts +1 -1
  121. package/dist/services/schemas/base.pagination.schemas.d.ts.map +1 -1
  122. package/dist/services/schemas/base.pagination.schemas.js +1 -1
  123. package/dist/services/schemas/base.pagination.schemas.js.map +1 -1
  124. package/dist/services/schemas/base.primitives.schemas.d.ts +3 -1
  125. package/dist/services/schemas/base.primitives.schemas.d.ts.map +1 -1
  126. package/dist/services/schemas/base.primitives.schemas.js +8 -7
  127. package/dist/services/schemas/base.primitives.schemas.js.map +1 -1
  128. package/dist/services/schemas/index.d.ts +5 -5
  129. package/dist/services/schemas/index.d.ts.map +1 -1
  130. package/dist/services/schemas/index.js +5 -5
  131. package/dist/services/schemas/index.js.map +1 -1
  132. package/dist/services/tag.d.ts +1 -1
  133. package/dist/services/tag.d.ts.map +1 -1
  134. package/dist/services/tag.js +2 -2
  135. package/dist/services/tag.js.map +1 -1
  136. package/dist/services/tag.schemas.d.ts +13 -13
  137. package/dist/services/tag.schemas.d.ts.map +1 -1
  138. package/dist/services/tag.schemas.js +50 -50
  139. package/dist/services/tag.schemas.js.map +1 -1
  140. package/dist/services/track.d.ts +128 -4
  141. package/dist/services/track.d.ts.map +1 -1
  142. package/dist/services/track.js +79 -10
  143. package/dist/services/track.js.map +1 -1
  144. package/dist/services/track.schemas.d.ts +213 -25
  145. package/dist/services/track.schemas.d.ts.map +1 -1
  146. package/dist/services/track.schemas.js +206 -57
  147. package/dist/services/track.schemas.js.map +1 -1
  148. package/dist/services/track.utils.d.ts +16 -7
  149. package/dist/services/track.utils.d.ts.map +1 -1
  150. package/dist/services/track.utils.js +49 -48
  151. package/dist/services/track.utils.js.map +1 -1
  152. package/dist/services/user.d.ts +19 -1
  153. package/dist/services/user.d.ts.map +1 -1
  154. package/dist/services/user.js +3 -2
  155. package/dist/services/user.js.map +1 -1
  156. package/dist/services/user.schemas.d.ts +321 -63
  157. package/dist/services/user.schemas.d.ts.map +1 -1
  158. package/dist/services/user.schemas.js +197 -88
  159. package/dist/services/user.schemas.js.map +1 -1
  160. package/dist/utils.d.ts +37 -2
  161. package/dist/utils.d.ts.map +1 -1
  162. package/dist/utils.js +105 -20
  163. package/dist/utils.js.map +1 -1
  164. package/package.json +167 -154
  165. package/dist/__tests__/utils.test.d.ts +0 -2
  166. package/dist/__tests__/utils.test.d.ts.map +0 -1
  167. package/dist/__tests__/utils.test.js +0 -86
  168. package/dist/__tests__/utils.test.js.map +0 -1
@@ -1,14 +1,85 @@
1
1
  import type { LastFmConfig } from '../config.js';
2
- import type { AuthGetSessionRequest, AuthGetSessionResponse } from './auth.schemas.js';
2
+ import type { AuthGetMobileSessionRequest, AuthGetMobileSessionResponse, 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.
6
+ *
7
+ * This is the second step of the **browser-based auth flow**:
8
+ * 1. `auth.getToken()` — returns a request token
9
+ * 2. Direct the user to `https://www.last.fm/api/auth/?api_key=<KEY>&token=<token>` in a browser
10
+ * 3. The user authorises the app, Last.fm redirects to your callback URL with the same token
11
+ * 4. Call `auth.getSession({ token })` — this method — to exchange the authorised token for a session key
12
+ *
13
+ * The returned `session.key` is what write methods (`track.love`, `track.scrobble`, …) expect as `sk`.
14
+ *
6
15
  * @param {AuthGetSessionRequest} params
7
16
  * @param {RequestInit} init
8
17
  * @returns {Promise<AuthGetSessionResponse>}
9
18
  * https://www.last.fm/api/show/auth.getSession
10
19
  * */
11
20
  getSession: (params: AuthGetSessionRequest, init?: RequestInit) => Promise<AuthGetSessionResponse>;
21
+ /**
22
+ * Get a request token for user authentication. The returned token still
23
+ * requires the user to authorise it on the Last.fm website before it can
24
+ * be exchanged for a session via `auth.getSession`.
25
+ *
26
+ * Signed GET with no functional request parameters and no existing
27
+ * session. Safe to call from any environment.
28
+ *
29
+ * This is the first step of the **browser-based auth flow** — the
30
+ * recommended path for self-service users. The full flow is:
31
+ * 1. `auth.getToken()` — this method
32
+ * 2. Open the returned `authUrl` in a browser. Log in if prompted, click "Allow access"
33
+ * 3. Last.fm redirects to the callback URL configured on your API account with the same token
34
+ * 4. `auth.getSession({ token })` to exchange for the session key
35
+ *
36
+ * The response includes a pre-built `authUrl` so consumers don't have to
37
+ * construct the URL themselves. The CLI prints it; Scalar renders it in
38
+ * the "Try it" response.
39
+ *
40
+ * @param {RequestInit} init
41
+ * @returns {Promise<AuthGetTokenResponse>} `{ token, authUrl }` — `authUrl` is
42
+ * the full Last.fm auth URL ready to open in a browser.
43
+ * https://www.last.fm/api/show/auth.getToken
44
+ */
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>;
12
83
  }
13
84
  export declare function createAuthService(config: LastFmConfig): AuthService;
14
85
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEvF,MAAM,WAAW,WAAW;IAC3B;;;;;;SAMK;IACL,UAAU,EAAE,CACX,MAAM,EAAE,qBAAqB,EAC7B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAKnE"}
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,7 +1,42 @@
1
- import { fetcher, buildAuthUrl } from '../utils.js';
1
+ import { buildAuthUrl, fetcher, LastFmApiError, signedPost } 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
+ };
3
20
  return {
4
- getSession: async (params, init) => fetcher(buildAuthUrl(config, 'auth.getSession', params), init)
21
+ getSession: (params, init) => fetcher(buildAuthUrl(config, 'auth.getSession', params), init),
22
+ getToken: async (init) => {
23
+ const response = await fetcher(buildAuthUrl(config, 'auth.getToken'), init);
24
+ // Augment with the pre-built user-facing auth URL so consumers
25
+ // don't have to construct `https://www.last.fm/api/auth/?api_key=...&token=...`
26
+ // themselves. The CLI prints it; Scalar renders it in the response.
27
+ // Note: this URL is NOT signed (Last.fm's /api/auth/ endpoint takes
28
+ // api_key + token in clear, no api_sig). It also doesn't honour a
29
+ // custom `baseUrl` because the user-facing auth page is always
30
+ // hosted at last.fm/api/auth/ — only the API baseUrl is configurable.
31
+ const authUrl = new URL('https://www.last.fm/api/auth/');
32
+ authUrl.searchParams.set('api_key', config.apiKey);
33
+ authUrl.searchParams.set('token', response.token);
34
+ return {
35
+ ...response,
36
+ authUrl: authUrl.toString(),
37
+ };
38
+ },
39
+ getMobileSession: getMobileSessionImpl,
5
40
  };
6
41
  }
7
42
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkBpD,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACrD,OAAO;QACN,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAClC,OAAO,CAAyB,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACvF,CAAC;AACH,CAAC"}
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,12 +1,19 @@
1
- import { z } from "zod";
1
+ 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>;
5
9
  export declare const sessionSchema: z.ZodObject<{
6
10
  name: z.ZodString;
7
11
  key: z.ZodString;
8
12
  subscriber: z.ZodNumber;
9
13
  }, z.core.$strip>;
14
+ export declare const tokenSchema: z.ZodObject<{
15
+ token: z.ZodString;
16
+ }, z.core.$strip>;
10
17
  export declare const authGetSessionResponseSchema: z.ZodObject<{
11
18
  session: z.ZodObject<{
12
19
  name: z.ZodString;
@@ -14,7 +21,22 @@ export declare const authGetSessionResponseSchema: z.ZodObject<{
14
21
  subscriber: z.ZodNumber;
15
22
  }, z.core.$strip>;
16
23
  }, z.core.$strip>;
24
+ export declare const authGetTokenResponseSchema: z.ZodObject<{
25
+ token: z.ZodString;
26
+ authUrl: z.ZodOptional<z.ZodString>;
27
+ }, 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>;
17
35
  export type AuthGetSessionRequest = z.infer<typeof authGetSessionRequestSchema>;
36
+ export type AuthGetMobileSessionRequest = z.infer<typeof authGetMobileSessionRequestSchema>;
18
37
  export type Session = z.infer<typeof sessionSchema>;
38
+ export type Token = z.infer<typeof tokenSchema>;
19
39
  export type AuthGetSessionResponse = z.infer<typeof authGetSessionResponseSchema>;
40
+ export type AuthGetTokenResponse = z.infer<typeof authGetTokenResponseSchema>;
41
+ export type AuthGetMobileSessionResponse = z.infer<typeof authGetMobileSessionResponseSchema>;
20
42
  //# 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,CAAC;AAGxB,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AAGH,eAAO,MAAM,aAAa;;;;iBAIxB,CAAC;AAGH,eAAO,MAAM,4BAA4B;;;;;;iBAEvC,CAAC;AAGH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
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,7 +1,11 @@
1
- import { z } from "zod";
1
+ import { z } from 'zod';
2
2
  // Request schemas
3
3
  export const authGetSessionRequestSchema = z.object({
4
- token: z.string()
4
+ token: z.string(),
5
+ });
6
+ export const authGetMobileSessionRequestSchema = z.object({
7
+ username: z.string(),
8
+ password: z.string(),
5
9
  });
6
10
  // Entity schemas
7
11
  export const sessionSchema = z.object({
@@ -9,8 +13,22 @@ export const sessionSchema = z.object({
9
13
  key: z.string(),
10
14
  subscriber: z.number(),
11
15
  });
16
+ export const tokenSchema = z.object({
17
+ token: z.string(),
18
+ });
12
19
  // Response schemas
13
20
  export const authGetSessionResponseSchema = z.object({
14
21
  session: sessionSchema,
15
22
  });
23
+ export const authGetTokenResponseSchema = z.object({
24
+ token: z.string(),
25
+ authUrl: z
26
+ .string()
27
+ .url()
28
+ .optional()
29
+ .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
+ });
31
+ export const authGetMobileSessionResponseSchema = z.object({
32
+ session: sessionSchema,
33
+ });
16
34
  //# 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,CAAC;AAExB,kBAAkB;AAClB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC"}
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,5 +1,5 @@
1
- import type { ChartGetTopArtistsRequest, ChartGetTopArtistsResponse, ChartGetTopTagsRequest, ChartGetTopTagsResponse, ChartGetTopTracksRequest, ChartGetTopTracksResponse } from './chart.schemas.js';
2
1
  import type { LastFmConfig } from '../config.js';
2
+ import type { ChartGetTopArtistsRequest, ChartGetTopArtistsResponse, ChartGetTopTagsRequest, ChartGetTopTagsResponse, ChartGetTopTracksRequest, ChartGetTopTracksResponse } from './chart.schemas.js';
3
3
  export interface ChartService {
4
4
  /**
5
5
  * Get the top artists chart
@@ -1 +1 @@
1
- {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/services/chart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC5B;;;;;;SAMK;IACL,aAAa,EAAE,CACd,MAAM,EAAE,yBAAyB,EACjC,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC;;;;;;SAMK;IACL,UAAU,EAAE,CACX,MAAM,EAAE,sBAAsB,EAC9B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC;;;;;;SAMK;IACL,YAAY,EAAE,CACb,MAAM,EAAE,wBAAwB,EAChC,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACxC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CASrE"}
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/services/chart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGhD,OAAO,KAAK,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,WAAW,YAAY;IAC5B;;;;;;SAMK;IACL,aAAa,EAAE,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC7G;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACpG;;;;;;SAMK;IACL,YAAY,EAAE,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;CAC1G;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAQrE"}
@@ -1,9 +1,9 @@
1
- import { fetcher, buildUrl } from '../utils.js';
1
+ import { buildUrl, fetcher } from '../utils.js';
2
2
  export function createChartService(config) {
3
3
  return {
4
4
  getTopArtists: (params, init) => fetcher(buildUrl(config, 'chart.getTopArtists', params), init),
5
5
  getTopTags: (params, init) => fetcher(buildUrl(config, 'chart.getTopTags', params), init),
6
- getTopTracks: (params, init) => fetcher(buildUrl(config, 'chart.getTopTracks', params), init)
6
+ getTopTracks: (params, init) => fetcher(buildUrl(config, 'chart.getTopTracks', params), init),
7
7
  };
8
8
  }
9
9
  //# sourceMappingURL=chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/services/chart.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuChD,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACtD,OAAO;QACN,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAA6B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAC3F,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC5B,OAAO,CAA0B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACrF,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC9B,OAAO,CAA4B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACzF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/services/chart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAqC/C,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACtD,OAAO;QACN,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAA6B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAC3F,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAA0B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAClH,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC9B,OAAO,CAA4B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACzF,CAAA;AACF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from 'zod';
2
2
  export declare const chartGetTopArtistsRequestSchema: z.ZodObject<{
3
3
  limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
4
4
  page: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
@@ -12,11 +12,11 @@ export declare const chartGetTopArtistsResponseSchema: z.ZodObject<{
12
12
  listeners: z.ZodString;
13
13
  url: z.ZodString;
14
14
  image: z.ZodArray<z.ZodObject<{
15
- "#text": z.ZodString;
15
+ '#text': z.ZodString;
16
16
  size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
17
17
  }, z.core.$strip>>;
18
18
  }, z.core.$strip>>;
19
- "@attr": z.ZodObject<{
19
+ '@attr': z.ZodObject<{
20
20
  page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
21
21
  perPage: z.ZodString;
22
22
  totalPages: z.ZodString;
@@ -36,7 +36,7 @@ export declare const chartGetTopTagsResponseSchema: z.ZodObject<{
36
36
  reach: z.ZodNumber;
37
37
  taggings: z.ZodString;
38
38
  }, z.core.$strip>>;
39
- "@attr": z.ZodObject<{
39
+ '@attr': z.ZodObject<{
40
40
  page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
41
41
  perPage: z.ZodString;
42
42
  totalPages: z.ZodString;
@@ -63,11 +63,11 @@ export declare const chartGetTopTracksResponseSchema: z.ZodObject<{
63
63
  url: z.ZodString;
64
64
  }, z.core.$strip>;
65
65
  image: z.ZodArray<z.ZodObject<{
66
- "#text": z.ZodString;
66
+ '#text': z.ZodString;
67
67
  size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
68
68
  }, z.core.$strip>>;
69
69
  }, z.core.$strip>>;
70
- "@attr": z.ZodObject<{
70
+ '@attr': z.ZodObject<{
71
71
  page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
72
72
  perPage: z.ZodString;
73
73
  totalPages: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"chart.schemas.d.ts","sourceRoot":"","sources":["../../src/services/chart.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,+BAA+B;;;iBAG1C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;iBAiB3C,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAexC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuB1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
1
+ {"version":3,"file":"chart.schemas.d.ts","sourceRoot":"","sources":["../../src/services/chart.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAmBvB,eAAO,MAAM,+BAA+B;;;iBAG1C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;iBAmB3C,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAiBxC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AACvF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACjF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACnF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACrF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
@@ -1,8 +1,8 @@
1
- import { z } from "zod";
2
- import { artistNameSchema, durationSchema, imageSchema, itemsPerPageSchema, limitSchema, listenersSchema, mbidSchema, pageSchema, playcountSchema, reachSchema, tagNameSchema, totalPagesSchema, totalSchema, trackNameSchema, urlSchema } from "./schemas/index.js";
1
+ import { z } from 'zod';
2
+ import { artistNameSchema, durationSchema, imageSchema, itemsPerPageSchema, limitSchema, listenersSchema, mbidSchema, pageSchema, playcountSchema, reachSchema, tagNameSchema, totalPagesSchema, totalSchema, trackNameSchema, urlSchema, } from './schemas/index.js';
3
3
  export const chartGetTopArtistsRequestSchema = z.object({
4
4
  limit: limitSchema.optional(),
5
- page: pageSchema.optional()
5
+ page: pageSchema.optional(),
6
6
  });
7
7
  export const chartGetTopArtistsResponseSchema = z.object({
8
8
  artists: z.object({
@@ -12,19 +12,19 @@ export const chartGetTopArtistsResponseSchema = z.object({
12
12
  mbid: mbidSchema,
13
13
  listeners: listenersSchema,
14
14
  url: urlSchema,
15
- image: z.array(imageSchema)
15
+ image: z.array(imageSchema),
16
16
  })),
17
- "@attr": z.object({
17
+ '@attr': z.object({
18
18
  page: pageSchema,
19
19
  perPage: itemsPerPageSchema,
20
20
  totalPages: totalPagesSchema,
21
- total: totalSchema
22
- })
23
- })
21
+ total: totalSchema,
22
+ }),
23
+ }),
24
24
  });
25
25
  export const chartGetTopTagsRequestSchema = z.object({
26
26
  limit: limitSchema.optional(),
27
- page: pageSchema.optional()
27
+ page: pageSchema.optional(),
28
28
  });
29
29
  export const chartGetTopTagsResponseSchema = z.object({
30
30
  tags: z.object({
@@ -32,19 +32,19 @@ export const chartGetTopTagsResponseSchema = z.object({
32
32
  name: tagNameSchema,
33
33
  url: urlSchema,
34
34
  reach: reachSchema,
35
- taggings: z.string()
35
+ taggings: z.string(),
36
36
  })),
37
- "@attr": z.object({
37
+ '@attr': z.object({
38
38
  page: pageSchema,
39
39
  perPage: itemsPerPageSchema,
40
40
  totalPages: totalPagesSchema,
41
- total: totalSchema
42
- })
43
- })
41
+ total: totalSchema,
42
+ }),
43
+ }),
44
44
  });
45
45
  export const chartGetTopTracksRequestSchema = z.object({
46
46
  limit: limitSchema.optional(),
47
- page: pageSchema.optional()
47
+ page: pageSchema.optional(),
48
48
  });
49
49
  export const chartGetTopTracksResponseSchema = z.object({
50
50
  tracks: z.object({
@@ -58,16 +58,16 @@ export const chartGetTopTracksResponseSchema = z.object({
58
58
  artist: z.object({
59
59
  name: artistNameSchema,
60
60
  mbid: mbidSchema,
61
- url: urlSchema
61
+ url: urlSchema,
62
62
  }),
63
- image: z.array(imageSchema)
63
+ image: z.array(imageSchema),
64
64
  })),
65
- "@attr": z.object({
65
+ '@attr': z.object({
66
66
  page: pageSchema,
67
67
  perPage: itemsPerPageSchema,
68
68
  totalPages: totalPagesSchema,
69
- total: totalSchema
70
- })
71
- })
69
+ total: totalSchema,
70
+ }),
71
+ }),
72
72
  });
73
73
  //# sourceMappingURL=chart.schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart.schemas.js","sourceRoot":"","sources":["../../src/services/chart.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart.schemas.js","sourceRoot":"","sources":["../../src/services/chart.schemas.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { GeoGetTopArtistsRequest, GeoGetTopArtistsResponse, GeoGetTopTracksRequest, GeoGetTopTracksResponse } from './geo.schemas.js';
2
1
  import type { LastFmConfig } from '../config.js';
2
+ import type { GeoGetTopArtistsRequest, GeoGetTopArtistsResponse, GeoGetTopTracksRequest, GeoGetTopTracksResponse } from './geo.schemas.js';
3
3
  export interface GeoService {
4
4
  /**
5
5
  * Get the most popular artists on Last.fm by country.
@@ -1 +1 @@
1
- {"version":3,"file":"geo.d.ts","sourceRoot":"","sources":["../../src/services/geo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,UAAU;IAC1B;;;;;;SAMK;IACL,aAAa,EAAE,CACd,MAAM,EAAE,uBAAuB,EAC/B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC;;;;;;SAMK;IACL,YAAY,EAAE,CACb,MAAM,EAAE,sBAAsB,EAC9B,IAAI,CAAC,EAAE,WAAW,KACd,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACtC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAOjE"}
1
+ {"version":3,"file":"geo.d.ts","sourceRoot":"","sources":["../../src/services/geo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EACX,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,UAAU;IAC1B;;;;;;SAMK;IACL,aAAa,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACzG;;;;;;SAMK;IACL,YAAY,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;CACtG;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAOjE"}
@@ -1,8 +1,8 @@
1
- import { fetcher, buildUrl } from '../utils.js';
1
+ import { buildUrl, fetcher } from '../utils.js';
2
2
  export function createGeoService(config) {
3
3
  return {
4
4
  getTopArtists: (params, init) => fetcher(buildUrl(config, 'geo.getTopArtists', params), init),
5
- getTopTracks: (params, init) => fetcher(buildUrl(config, 'geo.getTopTracks', params), init)
5
+ getTopTracks: (params, init) => fetcher(buildUrl(config, 'geo.getTopTracks', params), init),
6
6
  };
7
7
  }
8
8
  //# sourceMappingURL=geo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geo.js","sourceRoot":"","sources":["../../src/services/geo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4BhD,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACpD,OAAO;QACN,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAA2B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACvF,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC9B,OAAO,CAA0B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACrF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"geo.js","sourceRoot":"","sources":["../../src/services/geo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AA2B/C,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACpD,OAAO;QACN,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAA2B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACvF,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAC9B,OAAO,CAA0B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;KACrF,CAAA;AACF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from 'zod';
2
2
  export declare const geoGetTopArtistsRequestSchema: z.ZodObject<{
3
3
  country: z.ZodString;
4
4
  limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
@@ -12,11 +12,11 @@ export declare const geoGetTopArtistsResponseSchema: z.ZodObject<{
12
12
  mbid: z.ZodString;
13
13
  url: z.ZodString;
14
14
  image: z.ZodArray<z.ZodObject<{
15
- "#text": z.ZodString;
15
+ '#text': z.ZodString;
16
16
  size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
17
17
  }, z.core.$strip>>;
18
18
  }, z.core.$strip>>;
19
- "@attr": z.ZodObject<{
19
+ '@attr': z.ZodObject<{
20
20
  country: z.ZodString;
21
21
  page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
22
22
  perPage: z.ZodString;
@@ -45,14 +45,14 @@ export declare const geoGetTopTracksResponseSchema: z.ZodObject<{
45
45
  url: z.ZodString;
46
46
  }, z.core.$strip>;
47
47
  image: z.ZodArray<z.ZodObject<{
48
- "#text": z.ZodString;
48
+ '#text': z.ZodString;
49
49
  size: z.ZodUnion<readonly [z.ZodLiteral<"small">, z.ZodLiteral<"medium">, z.ZodLiteral<"large">, z.ZodLiteral<"extralarge">, z.ZodLiteral<"mega">]>;
50
50
  }, z.core.$strip>>;
51
- "@attr": z.ZodObject<{
51
+ '@attr': z.ZodObject<{
52
52
  rank: z.ZodString;
53
53
  }, z.core.$strip>;
54
54
  }, z.core.$strip>>;
55
- "@attr": z.ZodObject<{
55
+ '@attr': z.ZodObject<{
56
56
  country: z.ZodString;
57
57
  page: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
58
58
  perPage: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"geo.schemas.d.ts","sourceRoot":"","sources":["../../src/services/geo.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;iBAiBzC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;iBAKvC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"geo.schemas.d.ts","sourceRoot":"","sources":["../../src/services/geo.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAmBvB,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;iBAmBzC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;iBAKvC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BxC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACnF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACrF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACjF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
- import { z } from "zod";
2
- import { artistNameSchema, countrySchema, durationSchema, imageSchema, itemsPerPageSchema, limitSchema, listenersSchema, locSchema, mbidSchema, pageSchema, rankSchema, totalPagesSchema, totalSchema, trackNameSchema, urlSchema } from "./schemas/index.js";
1
+ import { z } from 'zod';
2
+ import { artistNameSchema, countrySchema, durationSchema, imageSchema, itemsPerPageSchema, limitSchema, listenersSchema, locSchema, mbidSchema, pageSchema, rankSchema, totalPagesSchema, totalSchema, trackNameSchema, urlSchema, } from './schemas/index.js';
3
3
  export const geoGetTopArtistsRequestSchema = z.object({
4
4
  country: countrySchema,
5
5
  limit: limitSchema.optional(),
6
- page: pageSchema.optional()
6
+ page: pageSchema.optional(),
7
7
  });
8
8
  export const geoGetTopArtistsResponseSchema = z.object({
9
9
  topartists: z.object({
@@ -12,22 +12,22 @@ export const geoGetTopArtistsResponseSchema = z.object({
12
12
  listeners: listenersSchema,
13
13
  mbid: mbidSchema,
14
14
  url: urlSchema,
15
- image: z.array(imageSchema)
15
+ image: z.array(imageSchema),
16
16
  })),
17
- "@attr": z.object({
17
+ '@attr': z.object({
18
18
  country: countrySchema,
19
19
  page: pageSchema,
20
20
  perPage: itemsPerPageSchema,
21
21
  totalPages: totalPagesSchema,
22
- total: totalSchema
23
- })
24
- })
22
+ total: totalSchema,
23
+ }),
24
+ }),
25
25
  });
26
26
  export const geoGetTopTracksRequestSchema = z.object({
27
27
  country: countrySchema,
28
28
  location: locSchema.optional(),
29
29
  limit: limitSchema.optional(),
30
- page: pageSchema.optional()
30
+ page: pageSchema.optional(),
31
31
  });
32
32
  export const geoGetTopTracksResponseSchema = z.object({
33
33
  tracks: z.object({
@@ -40,20 +40,20 @@ export const geoGetTopTracksResponseSchema = z.object({
40
40
  artist: z.object({
41
41
  name: artistNameSchema,
42
42
  mbid: mbidSchema,
43
- url: urlSchema
43
+ url: urlSchema,
44
44
  }),
45
45
  image: z.array(imageSchema),
46
- "@attr": z.object({
47
- rank: rankSchema
48
- })
46
+ '@attr': z.object({
47
+ rank: rankSchema,
48
+ }),
49
49
  })),
50
- "@attr": z.object({
50
+ '@attr': z.object({
51
51
  country: countrySchema,
52
52
  page: pageSchema,
53
53
  perPage: itemsPerPageSchema,
54
54
  totalPages: totalPagesSchema,
55
- total: totalSchema
56
- })
57
- })
55
+ total: totalSchema,
56
+ }),
57
+ }),
58
58
  });
59
59
  //# sourceMappingURL=geo.schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geo.schemas.js","sourceRoot":"","sources":["../../src/services/geo.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,SAAS,EACT,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SACrB,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,SAAS;aACjB,CAAC;YACF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;YAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,UAAU;aACnB,CAAC;SACL,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SACrB,CAAC;KACL,CAAC;CACL,CAAC,CAAC"}
1
+ {"version":3,"file":"geo.schemas.js","sourceRoot":"","sources":["../../src/services/geo.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,SAAS,GACT,MAAM,oBAAoB,CAAA;AAE3B,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;YACR,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;SAC3B,CAAC,CACF;QACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SAClB,CAAC;KACF,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACR,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,SAAS;aACd,CAAC;YACF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;YAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,UAAU;aAChB,CAAC;SACF,CAAC,CACF;QACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,WAAW;SAClB,CAAC;KACF,CAAC;CACF,CAAC,CAAA"}