@ansango/lastfm-api 3.4.0 → 3.6.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 (623) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +254 -21
  3. package/dist/cache/index.d.ts +7 -0
  4. package/dist/cache/index.d.ts.map +1 -0
  5. package/dist/cache/index.js +7 -0
  6. package/dist/cache/index.js.map +1 -0
  7. package/dist/cache/interface.d.ts +57 -0
  8. package/dist/cache/interface.d.ts.map +1 -0
  9. package/dist/cache/interface.js +5 -0
  10. package/dist/cache/interface.js.map +1 -0
  11. package/dist/cache/manager.d.ts +19 -0
  12. package/dist/cache/manager.d.ts.map +1 -0
  13. package/dist/cache/manager.js +63 -0
  14. package/dist/cache/manager.js.map +1 -0
  15. package/dist/cache/schemas.d.ts +15 -0
  16. package/dist/cache/schemas.d.ts.map +1 -0
  17. package/dist/cache/schemas.js +13 -0
  18. package/dist/cache/schemas.js.map +1 -0
  19. package/dist/cache/service.d.ts +13 -0
  20. package/dist/cache/service.d.ts.map +1 -0
  21. package/dist/cache/service.js +12 -0
  22. package/dist/cache/service.js.map +1 -0
  23. package/dist/cache/stores/memory.d.ts +33 -0
  24. package/dist/cache/stores/memory.d.ts.map +1 -0
  25. package/dist/cache/stores/memory.js +85 -0
  26. package/dist/cache/stores/memory.js.map +1 -0
  27. package/dist/cache/stores/storage.d.ts +42 -0
  28. package/dist/cache/stores/storage.d.ts.map +1 -0
  29. package/dist/cache/stores/storage.js +109 -0
  30. package/dist/cache/stores/storage.js.map +1 -0
  31. package/dist/client.d.ts +12 -1
  32. package/dist/client.d.ts.map +1 -1
  33. package/dist/client.js +21 -1
  34. package/dist/client.js.map +1 -1
  35. package/dist/config.d.ts +4 -0
  36. package/dist/config.d.ts.map +1 -1
  37. package/dist/config.js +13 -0
  38. package/dist/config.js.map +1 -1
  39. package/dist/core/canonical-methods.d.ts +25 -0
  40. package/dist/core/canonical-methods.d.ts.map +1 -0
  41. package/dist/core/canonical-methods.js +88 -0
  42. package/dist/core/canonical-methods.js.map +1 -0
  43. package/dist/core/client.d.ts +33 -0
  44. package/dist/core/client.d.ts.map +1 -0
  45. package/dist/core/client.js +48 -0
  46. package/dist/core/client.js.map +1 -0
  47. package/dist/core/index.d.ts +6 -0
  48. package/dist/core/index.d.ts.map +1 -0
  49. package/dist/core/index.js +6 -0
  50. package/dist/core/index.js.map +1 -0
  51. package/dist/core/pagination.d.ts +59 -0
  52. package/dist/core/pagination.d.ts.map +1 -0
  53. package/dist/core/pagination.js +93 -0
  54. package/dist/core/pagination.js.map +1 -0
  55. package/dist/core/schemas/album.schemas.d.ts.map +1 -0
  56. package/dist/{services → core/schemas}/album.schemas.js +1 -1
  57. package/dist/core/schemas/album.schemas.js.map +1 -0
  58. package/dist/core/schemas/artist.schemas.d.ts.map +1 -0
  59. package/dist/{services → core/schemas}/artist.schemas.js +1 -1
  60. package/dist/core/schemas/artist.schemas.js.map +1 -0
  61. package/dist/core/schemas/auth.schemas.d.ts.map +1 -0
  62. package/dist/core/schemas/auth.schemas.js.map +1 -0
  63. package/dist/core/schemas/base/base.entities.schemas.d.ts.map +1 -0
  64. package/dist/core/schemas/base/base.entities.schemas.js.map +1 -0
  65. package/dist/core/schemas/base/base.entity-names.schemas.d.ts.map +1 -0
  66. package/dist/core/schemas/base/base.entity-names.schemas.js.map +1 -0
  67. package/dist/core/schemas/base/base.metadata.schemas.d.ts.map +1 -0
  68. package/dist/core/schemas/base/base.metadata.schemas.js.map +1 -0
  69. package/dist/core/schemas/base/base.pagination.schemas.d.ts.map +1 -0
  70. package/dist/core/schemas/base/base.pagination.schemas.js.map +1 -0
  71. package/dist/core/schemas/base/base.primitives.schemas.d.ts.map +1 -0
  72. package/dist/core/schemas/base/base.primitives.schemas.js.map +1 -0
  73. package/dist/core/schemas/base/index.d.ts.map +1 -0
  74. package/dist/core/schemas/base/index.js.map +1 -0
  75. package/dist/core/schemas/chart.schemas.d.ts.map +1 -0
  76. package/dist/{services → core/schemas}/chart.schemas.js +1 -1
  77. package/dist/core/schemas/chart.schemas.js.map +1 -0
  78. package/dist/core/schemas/geo.schemas.d.ts.map +1 -0
  79. package/dist/{services → core/schemas}/geo.schemas.js +1 -1
  80. package/dist/core/schemas/geo.schemas.js.map +1 -0
  81. package/dist/core/schemas/index.d.ts +11 -0
  82. package/dist/core/schemas/index.d.ts.map +1 -0
  83. package/dist/core/schemas/index.js +11 -0
  84. package/dist/core/schemas/index.js.map +1 -0
  85. package/dist/core/schemas/library.schemas.d.ts.map +1 -0
  86. package/dist/{services → core/schemas}/library.schemas.js +1 -1
  87. package/dist/core/schemas/library.schemas.js.map +1 -0
  88. package/dist/core/schemas/tag.schemas.d.ts.map +1 -0
  89. package/dist/{services → core/schemas}/tag.schemas.js +1 -1
  90. package/dist/core/schemas/tag.schemas.js.map +1 -0
  91. package/dist/core/schemas/track.schemas.d.ts.map +1 -0
  92. package/dist/{services → core/schemas}/track.schemas.js +1 -1
  93. package/dist/core/schemas/track.schemas.js.map +1 -0
  94. package/dist/core/schemas/user.schemas.d.ts.map +1 -0
  95. package/dist/{services → core/schemas}/user.schemas.js +1 -1
  96. package/dist/core/schemas/user.schemas.js.map +1 -0
  97. package/dist/{services → core/services}/album.d.ts +2 -2
  98. package/dist/core/services/album.d.ts.map +1 -0
  99. package/dist/{services → core/services}/album.js +5 -5
  100. package/dist/core/services/album.js.map +1 -0
  101. package/dist/{services → core/services}/artist.d.ts +2 -2
  102. package/dist/core/services/artist.d.ts.map +1 -0
  103. package/dist/{services → core/services}/artist.js +9 -9
  104. package/dist/core/services/artist.js.map +1 -0
  105. package/dist/{services → core/services}/auth.d.ts +2 -2
  106. package/dist/core/services/auth.d.ts.map +1 -0
  107. package/dist/{services → core/services}/auth.js +1 -1
  108. package/dist/core/services/auth.js.map +1 -0
  109. package/dist/{services → core/services}/chart.d.ts +2 -2
  110. package/dist/core/services/chart.d.ts.map +1 -0
  111. package/dist/core/services/chart.js +9 -0
  112. package/dist/core/services/chart.js.map +1 -0
  113. package/dist/{services → core/services}/geo.d.ts +2 -2
  114. package/dist/core/services/geo.d.ts.map +1 -0
  115. package/dist/core/services/geo.js +8 -0
  116. package/dist/core/services/geo.js.map +1 -0
  117. package/dist/core/services/index.d.ts +10 -0
  118. package/dist/core/services/index.d.ts.map +1 -0
  119. package/dist/core/services/index.js +10 -0
  120. package/dist/core/services/index.js.map +1 -0
  121. package/dist/{services → core/services}/library.d.ts +2 -2
  122. package/dist/core/services/library.d.ts.map +1 -0
  123. package/dist/core/services/library.js +7 -0
  124. package/dist/core/services/library.js.map +1 -0
  125. package/dist/{services → core/services}/tag.d.ts +2 -2
  126. package/dist/core/services/tag.d.ts.map +1 -0
  127. package/dist/{services → core/services}/tag.js +8 -8
  128. package/dist/core/services/tag.js.map +1 -0
  129. package/dist/{services → core/services}/track.d.ts +2 -2
  130. package/dist/core/services/track.d.ts.map +1 -0
  131. package/dist/{services → core/services}/track.js +7 -7
  132. package/dist/core/services/track.js.map +1 -0
  133. package/dist/{services → core/services}/track.utils.d.ts +2 -2
  134. package/dist/core/services/track.utils.d.ts.map +1 -0
  135. package/dist/core/services/track.utils.js.map +1 -0
  136. package/dist/{services → core/services}/user.d.ts +2 -2
  137. package/dist/core/services/user.d.ts.map +1 -0
  138. package/dist/core/services/user.js +19 -0
  139. package/dist/core/services/user.js.map +1 -0
  140. package/dist/entrypoints/album.d.ts +3 -3
  141. package/dist/entrypoints/album.d.ts.map +1 -1
  142. package/dist/entrypoints/album.js +2 -2
  143. package/dist/entrypoints/album.js.map +1 -1
  144. package/dist/entrypoints/album.schemas.d.ts +2 -1
  145. package/dist/entrypoints/album.schemas.d.ts.map +1 -1
  146. package/dist/entrypoints/album.schemas.js +1 -2
  147. package/dist/entrypoints/album.schemas.js.map +1 -1
  148. package/dist/entrypoints/artist.d.ts +3 -3
  149. package/dist/entrypoints/artist.d.ts.map +1 -1
  150. package/dist/entrypoints/artist.js +2 -2
  151. package/dist/entrypoints/artist.js.map +1 -1
  152. package/dist/entrypoints/artist.schemas.d.ts +2 -1
  153. package/dist/entrypoints/artist.schemas.d.ts.map +1 -1
  154. package/dist/entrypoints/artist.schemas.js +1 -2
  155. package/dist/entrypoints/artist.schemas.js.map +1 -1
  156. package/dist/entrypoints/auth.d.ts +3 -3
  157. package/dist/entrypoints/auth.d.ts.map +1 -1
  158. package/dist/entrypoints/auth.js +2 -2
  159. package/dist/entrypoints/auth.js.map +1 -1
  160. package/dist/entrypoints/auth.schemas.d.ts +2 -1
  161. package/dist/entrypoints/auth.schemas.d.ts.map +1 -1
  162. package/dist/entrypoints/auth.schemas.js +1 -2
  163. package/dist/entrypoints/auth.schemas.js.map +1 -1
  164. package/dist/entrypoints/base.schemas.d.ts +2 -1
  165. package/dist/entrypoints/base.schemas.d.ts.map +1 -1
  166. package/dist/entrypoints/base.schemas.js +1 -2
  167. package/dist/entrypoints/base.schemas.js.map +1 -1
  168. package/dist/entrypoints/cache.d.ts +2 -0
  169. package/dist/entrypoints/cache.d.ts.map +1 -0
  170. package/dist/entrypoints/cache.js +2 -0
  171. package/dist/entrypoints/cache.js.map +1 -0
  172. package/dist/entrypoints/cache.schemas.d.ts +2 -0
  173. package/dist/entrypoints/cache.schemas.d.ts.map +1 -0
  174. package/dist/entrypoints/cache.schemas.js +2 -0
  175. package/dist/entrypoints/cache.schemas.js.map +1 -0
  176. package/dist/entrypoints/chart.d.ts +3 -3
  177. package/dist/entrypoints/chart.d.ts.map +1 -1
  178. package/dist/entrypoints/chart.js +2 -2
  179. package/dist/entrypoints/chart.js.map +1 -1
  180. package/dist/entrypoints/chart.schemas.d.ts +2 -1
  181. package/dist/entrypoints/chart.schemas.d.ts.map +1 -1
  182. package/dist/entrypoints/chart.schemas.js +1 -2
  183. package/dist/entrypoints/chart.schemas.js.map +1 -1
  184. package/dist/entrypoints/core.d.ts +5 -0
  185. package/dist/entrypoints/core.d.ts.map +1 -0
  186. package/dist/entrypoints/core.js +5 -0
  187. package/dist/entrypoints/core.js.map +1 -0
  188. package/dist/entrypoints/core.schemas.d.ts +3 -0
  189. package/dist/entrypoints/core.schemas.d.ts.map +1 -0
  190. package/dist/entrypoints/core.schemas.js +2 -0
  191. package/dist/entrypoints/core.schemas.js.map +1 -0
  192. package/dist/entrypoints/exporter.d.ts +3 -0
  193. package/dist/entrypoints/exporter.d.ts.map +1 -0
  194. package/dist/entrypoints/exporter.js +3 -0
  195. package/dist/entrypoints/exporter.js.map +1 -0
  196. package/dist/entrypoints/exporter.schemas.d.ts +3 -0
  197. package/dist/entrypoints/exporter.schemas.d.ts.map +1 -0
  198. package/dist/entrypoints/exporter.schemas.js +2 -0
  199. package/dist/entrypoints/exporter.schemas.js.map +1 -0
  200. package/dist/entrypoints/geo.d.ts +3 -3
  201. package/dist/entrypoints/geo.d.ts.map +1 -1
  202. package/dist/entrypoints/geo.js +2 -2
  203. package/dist/entrypoints/geo.js.map +1 -1
  204. package/dist/entrypoints/geo.schemas.d.ts +2 -1
  205. package/dist/entrypoints/geo.schemas.d.ts.map +1 -1
  206. package/dist/entrypoints/geo.schemas.js +1 -2
  207. package/dist/entrypoints/geo.schemas.js.map +1 -1
  208. package/dist/entrypoints/insights.d.ts +3 -3
  209. package/dist/entrypoints/insights.d.ts.map +1 -1
  210. package/dist/entrypoints/insights.js +2 -2
  211. package/dist/entrypoints/insights.js.map +1 -1
  212. package/dist/entrypoints/insights.schemas.d.ts +2 -1
  213. package/dist/entrypoints/insights.schemas.d.ts.map +1 -1
  214. package/dist/entrypoints/insights.schemas.js +1 -2
  215. package/dist/entrypoints/insights.schemas.js.map +1 -1
  216. package/dist/entrypoints/library.d.ts +3 -3
  217. package/dist/entrypoints/library.d.ts.map +1 -1
  218. package/dist/entrypoints/library.js +2 -2
  219. package/dist/entrypoints/library.js.map +1 -1
  220. package/dist/entrypoints/library.schemas.d.ts +2 -1
  221. package/dist/entrypoints/library.schemas.d.ts.map +1 -1
  222. package/dist/entrypoints/library.schemas.js +1 -2
  223. package/dist/entrypoints/library.schemas.js.map +1 -1
  224. package/dist/entrypoints/playlists.d.ts +3 -0
  225. package/dist/entrypoints/playlists.d.ts.map +1 -0
  226. package/dist/entrypoints/playlists.js +3 -0
  227. package/dist/entrypoints/playlists.js.map +1 -0
  228. package/dist/entrypoints/playlists.schemas.d.ts +3 -0
  229. package/dist/entrypoints/playlists.schemas.d.ts.map +1 -0
  230. package/dist/entrypoints/playlists.schemas.js +2 -0
  231. package/dist/entrypoints/playlists.schemas.js.map +1 -0
  232. package/dist/entrypoints/reports.d.ts +4 -0
  233. package/dist/entrypoints/reports.d.ts.map +1 -0
  234. package/dist/entrypoints/reports.js +3 -0
  235. package/dist/entrypoints/reports.js.map +1 -0
  236. package/dist/entrypoints/reports.schemas.d.ts +3 -0
  237. package/dist/entrypoints/reports.schemas.d.ts.map +1 -0
  238. package/dist/entrypoints/reports.schemas.js +2 -0
  239. package/dist/entrypoints/reports.schemas.js.map +1 -0
  240. package/dist/entrypoints/tag.d.ts +3 -3
  241. package/dist/entrypoints/tag.d.ts.map +1 -1
  242. package/dist/entrypoints/tag.js +2 -2
  243. package/dist/entrypoints/tag.js.map +1 -1
  244. package/dist/entrypoints/tag.schemas.d.ts +2 -1
  245. package/dist/entrypoints/tag.schemas.d.ts.map +1 -1
  246. package/dist/entrypoints/tag.schemas.js +1 -2
  247. package/dist/entrypoints/tag.schemas.js.map +1 -1
  248. package/dist/entrypoints/track.d.ts +3 -3
  249. package/dist/entrypoints/track.d.ts.map +1 -1
  250. package/dist/entrypoints/track.js +2 -2
  251. package/dist/entrypoints/track.js.map +1 -1
  252. package/dist/entrypoints/track.schemas.d.ts +2 -1
  253. package/dist/entrypoints/track.schemas.d.ts.map +1 -1
  254. package/dist/entrypoints/track.schemas.js +1 -2
  255. package/dist/entrypoints/track.schemas.js.map +1 -1
  256. package/dist/entrypoints/user.d.ts +3 -3
  257. package/dist/entrypoints/user.d.ts.map +1 -1
  258. package/dist/entrypoints/user.js +2 -2
  259. package/dist/entrypoints/user.js.map +1 -1
  260. package/dist/entrypoints/user.schemas.d.ts +2 -1
  261. package/dist/entrypoints/user.schemas.d.ts.map +1 -1
  262. package/dist/entrypoints/user.schemas.js +1 -2
  263. package/dist/entrypoints/user.schemas.js.map +1 -1
  264. package/dist/entrypoints/watcher.d.ts +2 -0
  265. package/dist/entrypoints/watcher.d.ts.map +1 -0
  266. package/dist/entrypoints/watcher.js +2 -0
  267. package/dist/entrypoints/watcher.js.map +1 -0
  268. package/dist/entrypoints/watcher.schemas.d.ts +2 -0
  269. package/dist/entrypoints/watcher.schemas.d.ts.map +1 -0
  270. package/dist/entrypoints/watcher.schemas.js +2 -0
  271. package/dist/entrypoints/watcher.schemas.js.map +1 -0
  272. package/dist/exporter/engines/library.d.ts +4 -0
  273. package/dist/exporter/engines/library.d.ts.map +1 -0
  274. package/dist/exporter/engines/library.js +34 -0
  275. package/dist/exporter/engines/library.js.map +1 -0
  276. package/dist/exporter/engines/loved.d.ts +4 -0
  277. package/dist/exporter/engines/loved.d.ts.map +1 -0
  278. package/dist/exporter/engines/loved.js +35 -0
  279. package/dist/exporter/engines/loved.js.map +1 -0
  280. package/dist/exporter/engines/scrobbles.d.ts +4 -0
  281. package/dist/exporter/engines/scrobbles.d.ts.map +1 -0
  282. package/dist/exporter/engines/scrobbles.js +74 -0
  283. package/dist/exporter/engines/scrobbles.js.map +1 -0
  284. package/dist/exporter/formats/csv.d.ts +5 -0
  285. package/dist/exporter/formats/csv.d.ts.map +1 -0
  286. package/dist/exporter/formats/csv.js +35 -0
  287. package/dist/exporter/formats/csv.js.map +1 -0
  288. package/dist/exporter/formats/jsonl.d.ts +2 -0
  289. package/dist/exporter/formats/jsonl.d.ts.map +1 -0
  290. package/dist/exporter/formats/jsonl.js +4 -0
  291. package/dist/exporter/formats/jsonl.js.map +1 -0
  292. package/dist/exporter/formats/listenbrainz.d.ts +3 -0
  293. package/dist/exporter/formats/listenbrainz.d.ts.map +1 -0
  294. package/dist/exporter/formats/listenbrainz.js +19 -0
  295. package/dist/exporter/formats/listenbrainz.js.map +1 -0
  296. package/dist/exporter/index.d.ts +6 -0
  297. package/dist/exporter/index.d.ts.map +1 -0
  298. package/dist/exporter/index.js +6 -0
  299. package/dist/exporter/index.js.map +1 -0
  300. package/dist/exporter/schemas.d.ts +291 -0
  301. package/dist/exporter/schemas.d.ts.map +1 -0
  302. package/dist/exporter/schemas.js +81 -0
  303. package/dist/exporter/schemas.js.map +1 -0
  304. package/dist/exporter/service.d.ts +30 -0
  305. package/dist/exporter/service.d.ts.map +1 -0
  306. package/dist/exporter/service.js +11 -0
  307. package/dist/exporter/service.js.map +1 -0
  308. package/dist/index.d.ts +18 -24
  309. package/dist/index.d.ts.map +1 -1
  310. package/dist/index.js +21 -16
  311. package/dist/index.js.map +1 -1
  312. package/dist/insights/algorithms/album-habits.d.ts +7 -0
  313. package/dist/insights/algorithms/album-habits.d.ts.map +1 -0
  314. package/dist/insights/algorithms/album-habits.js +154 -0
  315. package/dist/insights/algorithms/album-habits.js.map +1 -0
  316. package/dist/{services/insights → insights/algorithms}/binges.d.ts +1 -1
  317. package/dist/insights/algorithms/binges.d.ts.map +1 -0
  318. package/dist/{services/insights → insights/algorithms}/binges.js +2 -2
  319. package/dist/insights/algorithms/binges.js.map +1 -0
  320. package/dist/{services/insights → insights/algorithms}/compare.d.ts +1 -1
  321. package/dist/insights/algorithms/compare.d.ts.map +1 -0
  322. package/dist/{services/insights → insights/algorithms}/compare.js +3 -3
  323. package/dist/insights/algorithms/compare.js.map +1 -0
  324. package/dist/insights/algorithms/decay.d.ts +11 -0
  325. package/dist/insights/algorithms/decay.d.ts.map +1 -0
  326. package/dist/insights/algorithms/decay.js +154 -0
  327. package/dist/insights/algorithms/decay.js.map +1 -0
  328. package/dist/{services/insights → insights/algorithms}/discoveries.d.ts +1 -1
  329. package/dist/insights/algorithms/discoveries.d.ts.map +1 -0
  330. package/dist/{services/insights → insights/algorithms}/discoveries.js +2 -2
  331. package/dist/insights/algorithms/discoveries.js.map +1 -0
  332. package/dist/insights/algorithms/genres.d.ts +11 -0
  333. package/dist/insights/algorithms/genres.d.ts.map +1 -0
  334. package/dist/insights/algorithms/genres.js +201 -0
  335. package/dist/insights/algorithms/genres.js.map +1 -0
  336. package/dist/insights/algorithms/group.d.ts +8 -0
  337. package/dist/insights/algorithms/group.d.ts.map +1 -0
  338. package/dist/insights/algorithms/group.js +127 -0
  339. package/dist/insights/algorithms/group.js.map +1 -0
  340. package/dist/{services/insights → insights/algorithms}/hours.d.ts +1 -1
  341. package/dist/insights/algorithms/hours.d.ts.map +1 -0
  342. package/dist/{services/insights → insights/algorithms}/hours.js +2 -2
  343. package/dist/insights/algorithms/hours.js.map +1 -0
  344. package/dist/{services/insights → insights/algorithms}/mood.d.ts +1 -1
  345. package/dist/insights/algorithms/mood.d.ts.map +1 -0
  346. package/dist/{services/insights → insights/algorithms}/mood.js +4 -4
  347. package/dist/insights/algorithms/mood.js.map +1 -0
  348. package/dist/{services/insights → insights/algorithms}/now-playing.d.ts +1 -1
  349. package/dist/{services/insights → insights/algorithms}/now-playing.d.ts.map +1 -1
  350. package/dist/{services/insights → insights/algorithms}/now-playing.js +2 -2
  351. package/dist/insights/algorithms/now-playing.js.map +1 -0
  352. package/dist/insights/algorithms/obscurity.d.ts +27 -0
  353. package/dist/insights/algorithms/obscurity.d.ts.map +1 -0
  354. package/dist/insights/algorithms/obscurity.js +158 -0
  355. package/dist/insights/algorithms/obscurity.js.map +1 -0
  356. package/dist/{services/insights → insights/algorithms}/personality.d.ts +1 -1
  357. package/dist/insights/algorithms/personality.d.ts.map +1 -0
  358. package/dist/{services/insights → insights/algorithms}/personality.js +1 -1
  359. package/dist/insights/algorithms/personality.js.map +1 -0
  360. package/dist/insights/algorithms/recommendations.d.ts +11 -0
  361. package/dist/insights/algorithms/recommendations.d.ts.map +1 -0
  362. package/dist/insights/algorithms/recommendations.js +121 -0
  363. package/dist/insights/algorithms/recommendations.js.map +1 -0
  364. package/dist/insights/algorithms/streaks.d.ts +11 -0
  365. package/dist/insights/algorithms/streaks.d.ts.map +1 -0
  366. package/dist/insights/algorithms/streaks.js +178 -0
  367. package/dist/insights/algorithms/streaks.js.map +1 -0
  368. package/dist/{services/insights → insights/algorithms}/summary.d.ts +1 -1
  369. package/dist/insights/algorithms/summary.d.ts.map +1 -0
  370. package/dist/{services/insights → insights/algorithms}/summary.js +3 -3
  371. package/dist/insights/algorithms/summary.js.map +1 -0
  372. package/dist/{services/insights → insights/algorithms}/trends.d.ts +1 -1
  373. package/dist/insights/algorithms/trends.d.ts.map +1 -0
  374. package/dist/{services/insights → insights/algorithms}/trends.js +3 -3
  375. package/dist/insights/algorithms/trends.js.map +1 -0
  376. package/dist/insights/index.d.ts +3 -0
  377. package/dist/insights/index.d.ts.map +1 -0
  378. package/dist/insights/index.js +3 -0
  379. package/dist/insights/index.js.map +1 -0
  380. package/dist/insights/lib/binges.d.ts.map +1 -0
  381. package/dist/insights/lib/binges.js.map +1 -0
  382. package/dist/insights/lib/compare.d.ts.map +1 -0
  383. package/dist/insights/lib/compare.js.map +1 -0
  384. package/dist/insights/lib/discoveries.d.ts.map +1 -0
  385. package/dist/insights/lib/discoveries.js.map +1 -0
  386. package/dist/insights/lib/diversity.d.ts.map +1 -0
  387. package/dist/insights/lib/diversity.js.map +1 -0
  388. package/dist/insights/lib/hours.d.ts.map +1 -0
  389. package/dist/insights/lib/hours.js.map +1 -0
  390. package/dist/insights/lib/mood.d.ts.map +1 -0
  391. package/dist/insights/lib/mood.js.map +1 -0
  392. package/dist/{services/insights → insights}/lib/periods.d.ts +1 -1
  393. package/dist/insights/lib/periods.d.ts.map +1 -0
  394. package/dist/insights/lib/periods.js.map +1 -0
  395. package/dist/insights/lib/personality.d.ts.map +1 -0
  396. package/dist/insights/lib/personality.js.map +1 -0
  397. package/dist/insights/lib/trends.d.ts.map +1 -0
  398. package/dist/insights/lib/trends.js.map +1 -0
  399. package/dist/insights/schemas.d.ts +1415 -0
  400. package/dist/insights/schemas.d.ts.map +1 -0
  401. package/dist/{services/insights.schemas.js → insights/schemas.js} +291 -2
  402. package/dist/insights/schemas.js.map +1 -0
  403. package/dist/insights/service.d.ts +191 -0
  404. package/dist/insights/service.d.ts.map +1 -0
  405. package/dist/insights/service.js +44 -0
  406. package/dist/insights/service.js.map +1 -0
  407. package/dist/playlists/formatters/csv.d.ts +3 -0
  408. package/dist/playlists/formatters/csv.d.ts.map +1 -0
  409. package/dist/playlists/formatters/csv.js +18 -0
  410. package/dist/playlists/formatters/csv.js.map +1 -0
  411. package/dist/playlists/formatters/m3u.d.ts +3 -0
  412. package/dist/playlists/formatters/m3u.d.ts.map +1 -0
  413. package/dist/playlists/formatters/m3u.js +10 -0
  414. package/dist/playlists/formatters/m3u.js.map +1 -0
  415. package/dist/playlists/formatters/spotifymatch.d.ts +3 -0
  416. package/dist/playlists/formatters/spotifymatch.d.ts.map +1 -0
  417. package/dist/playlists/formatters/spotifymatch.js +4 -0
  418. package/dist/playlists/formatters/spotifymatch.js.map +1 -0
  419. package/dist/playlists/generators/generator.d.ts +4 -0
  420. package/dist/playlists/generators/generator.d.ts.map +1 -0
  421. package/dist/playlists/generators/generator.js +158 -0
  422. package/dist/playlists/generators/generator.js.map +1 -0
  423. package/dist/playlists/index.d.ts +6 -0
  424. package/dist/playlists/index.d.ts.map +1 -0
  425. package/dist/playlists/index.js +6 -0
  426. package/dist/playlists/index.js.map +1 -0
  427. package/dist/playlists/schemas.d.ts +150 -0
  428. package/dist/playlists/schemas.d.ts.map +1 -0
  429. package/dist/playlists/schemas.js +53 -0
  430. package/dist/playlists/schemas.js.map +1 -0
  431. package/dist/playlists/service.d.ts +28 -0
  432. package/dist/playlists/service.d.ts.map +1 -0
  433. package/dist/playlists/service.js +27 -0
  434. package/dist/playlists/service.js.map +1 -0
  435. package/dist/reports/generators/digest.d.ts +4 -0
  436. package/dist/reports/generators/digest.d.ts.map +1 -0
  437. package/dist/reports/generators/digest.js +95 -0
  438. package/dist/reports/generators/digest.js.map +1 -0
  439. package/dist/reports/generators/milestones.d.ts +4 -0
  440. package/dist/reports/generators/milestones.d.ts.map +1 -0
  441. package/dist/reports/generators/milestones.js +59 -0
  442. package/dist/reports/generators/milestones.js.map +1 -0
  443. package/dist/reports/generators/wrapped.d.ts +4 -0
  444. package/dist/reports/generators/wrapped.d.ts.map +1 -0
  445. package/dist/reports/generators/wrapped.js +179 -0
  446. package/dist/reports/generators/wrapped.js.map +1 -0
  447. package/dist/reports/index.d.ts +3 -0
  448. package/dist/reports/index.d.ts.map +1 -0
  449. package/dist/reports/index.js +3 -0
  450. package/dist/reports/index.js.map +1 -0
  451. package/dist/reports/schemas.d.ts +244 -0
  452. package/dist/reports/schemas.d.ts.map +1 -0
  453. package/dist/reports/schemas.js +92 -0
  454. package/dist/reports/schemas.js.map +1 -0
  455. package/dist/reports/service.d.ts +30 -0
  456. package/dist/reports/service.d.ts.map +1 -0
  457. package/dist/reports/service.js +11 -0
  458. package/dist/reports/service.js.map +1 -0
  459. package/dist/utils.d.ts +3 -2
  460. package/dist/utils.d.ts.map +1 -1
  461. package/dist/utils.js +19 -2
  462. package/dist/utils.js.map +1 -1
  463. package/dist/watcher/emitter.d.ts +14 -0
  464. package/dist/watcher/emitter.d.ts.map +1 -0
  465. package/dist/watcher/emitter.js +72 -0
  466. package/dist/watcher/emitter.js.map +1 -0
  467. package/dist/watcher/index.d.ts +5 -0
  468. package/dist/watcher/index.d.ts.map +1 -0
  469. package/dist/watcher/index.js +5 -0
  470. package/dist/watcher/index.js.map +1 -0
  471. package/dist/watcher/schemas.d.ts +39 -0
  472. package/dist/watcher/schemas.d.ts.map +1 -0
  473. package/dist/watcher/schemas.js +33 -0
  474. package/dist/watcher/schemas.js.map +1 -0
  475. package/dist/watcher/service.d.ts +15 -0
  476. package/dist/watcher/service.d.ts.map +1 -0
  477. package/dist/watcher/service.js +8 -0
  478. package/dist/watcher/service.js.map +1 -0
  479. package/dist/watcher/watcher.d.ts +35 -0
  480. package/dist/watcher/watcher.d.ts.map +1 -0
  481. package/dist/watcher/watcher.js +196 -0
  482. package/dist/watcher/watcher.js.map +1 -0
  483. package/package.json +49 -3
  484. package/dist/services/album.d.ts.map +0 -1
  485. package/dist/services/album.js.map +0 -1
  486. package/dist/services/album.schemas.d.ts.map +0 -1
  487. package/dist/services/album.schemas.js.map +0 -1
  488. package/dist/services/artist.d.ts.map +0 -1
  489. package/dist/services/artist.js.map +0 -1
  490. package/dist/services/artist.schemas.d.ts.map +0 -1
  491. package/dist/services/artist.schemas.js.map +0 -1
  492. package/dist/services/auth.d.ts.map +0 -1
  493. package/dist/services/auth.js.map +0 -1
  494. package/dist/services/auth.schemas.d.ts.map +0 -1
  495. package/dist/services/auth.schemas.js.map +0 -1
  496. package/dist/services/chart.d.ts.map +0 -1
  497. package/dist/services/chart.js +0 -9
  498. package/dist/services/chart.js.map +0 -1
  499. package/dist/services/chart.schemas.d.ts.map +0 -1
  500. package/dist/services/chart.schemas.js.map +0 -1
  501. package/dist/services/geo.d.ts.map +0 -1
  502. package/dist/services/geo.js +0 -8
  503. package/dist/services/geo.js.map +0 -1
  504. package/dist/services/geo.schemas.d.ts.map +0 -1
  505. package/dist/services/geo.schemas.js.map +0 -1
  506. package/dist/services/index.d.ts +0 -22
  507. package/dist/services/index.d.ts.map +0 -1
  508. package/dist/services/index.js +0 -23
  509. package/dist/services/index.js.map +0 -1
  510. package/dist/services/insights/binges.d.ts.map +0 -1
  511. package/dist/services/insights/binges.js.map +0 -1
  512. package/dist/services/insights/compare.d.ts.map +0 -1
  513. package/dist/services/insights/compare.js.map +0 -1
  514. package/dist/services/insights/discoveries.d.ts.map +0 -1
  515. package/dist/services/insights/discoveries.js.map +0 -1
  516. package/dist/services/insights/hours.d.ts.map +0 -1
  517. package/dist/services/insights/hours.js.map +0 -1
  518. package/dist/services/insights/lib/binges.d.ts.map +0 -1
  519. package/dist/services/insights/lib/binges.js.map +0 -1
  520. package/dist/services/insights/lib/compare.d.ts.map +0 -1
  521. package/dist/services/insights/lib/compare.js.map +0 -1
  522. package/dist/services/insights/lib/discoveries.d.ts.map +0 -1
  523. package/dist/services/insights/lib/discoveries.js.map +0 -1
  524. package/dist/services/insights/lib/diversity.d.ts.map +0 -1
  525. package/dist/services/insights/lib/diversity.js.map +0 -1
  526. package/dist/services/insights/lib/hours.d.ts.map +0 -1
  527. package/dist/services/insights/lib/hours.js.map +0 -1
  528. package/dist/services/insights/lib/mood.d.ts.map +0 -1
  529. package/dist/services/insights/lib/mood.js.map +0 -1
  530. package/dist/services/insights/lib/periods.d.ts.map +0 -1
  531. package/dist/services/insights/lib/periods.js.map +0 -1
  532. package/dist/services/insights/lib/personality.d.ts.map +0 -1
  533. package/dist/services/insights/lib/personality.js.map +0 -1
  534. package/dist/services/insights/lib/trends.d.ts.map +0 -1
  535. package/dist/services/insights/lib/trends.js.map +0 -1
  536. package/dist/services/insights/mood.d.ts.map +0 -1
  537. package/dist/services/insights/mood.js.map +0 -1
  538. package/dist/services/insights/now-playing.js.map +0 -1
  539. package/dist/services/insights/personality.d.ts.map +0 -1
  540. package/dist/services/insights/personality.js.map +0 -1
  541. package/dist/services/insights/summary.d.ts.map +0 -1
  542. package/dist/services/insights/summary.js.map +0 -1
  543. package/dist/services/insights/trends.d.ts.map +0 -1
  544. package/dist/services/insights/trends.js.map +0 -1
  545. package/dist/services/insights.d.ts +0 -96
  546. package/dist/services/insights.d.ts.map +0 -1
  547. package/dist/services/insights.js +0 -26
  548. package/dist/services/insights.js.map +0 -1
  549. package/dist/services/insights.schemas.d.ts +0 -710
  550. package/dist/services/insights.schemas.d.ts.map +0 -1
  551. package/dist/services/insights.schemas.js.map +0 -1
  552. package/dist/services/library.d.ts.map +0 -1
  553. package/dist/services/library.js +0 -7
  554. package/dist/services/library.js.map +0 -1
  555. package/dist/services/library.schemas.d.ts.map +0 -1
  556. package/dist/services/library.schemas.js.map +0 -1
  557. package/dist/services/schemas/base.entities.schemas.d.ts.map +0 -1
  558. package/dist/services/schemas/base.entities.schemas.js.map +0 -1
  559. package/dist/services/schemas/base.entity-names.schemas.d.ts.map +0 -1
  560. package/dist/services/schemas/base.entity-names.schemas.js.map +0 -1
  561. package/dist/services/schemas/base.metadata.schemas.d.ts.map +0 -1
  562. package/dist/services/schemas/base.metadata.schemas.js.map +0 -1
  563. package/dist/services/schemas/base.pagination.schemas.d.ts.map +0 -1
  564. package/dist/services/schemas/base.pagination.schemas.js.map +0 -1
  565. package/dist/services/schemas/base.primitives.schemas.d.ts.map +0 -1
  566. package/dist/services/schemas/base.primitives.schemas.js.map +0 -1
  567. package/dist/services/schemas/index.d.ts.map +0 -1
  568. package/dist/services/schemas/index.js.map +0 -1
  569. package/dist/services/tag.d.ts.map +0 -1
  570. package/dist/services/tag.js.map +0 -1
  571. package/dist/services/tag.schemas.d.ts.map +0 -1
  572. package/dist/services/tag.schemas.js.map +0 -1
  573. package/dist/services/track.d.ts.map +0 -1
  574. package/dist/services/track.js.map +0 -1
  575. package/dist/services/track.schemas.d.ts.map +0 -1
  576. package/dist/services/track.schemas.js.map +0 -1
  577. package/dist/services/track.utils.d.ts.map +0 -1
  578. package/dist/services/track.utils.js.map +0 -1
  579. package/dist/services/user.d.ts.map +0 -1
  580. package/dist/services/user.js +0 -19
  581. package/dist/services/user.js.map +0 -1
  582. package/dist/services/user.schemas.d.ts.map +0 -1
  583. package/dist/services/user.schemas.js.map +0 -1
  584. /package/dist/{services → core/schemas}/album.schemas.d.ts +0 -0
  585. /package/dist/{services → core/schemas}/artist.schemas.d.ts +0 -0
  586. /package/dist/{services → core/schemas}/auth.schemas.d.ts +0 -0
  587. /package/dist/{services → core/schemas}/auth.schemas.js +0 -0
  588. /package/dist/{services/schemas → core/schemas/base}/base.entities.schemas.d.ts +0 -0
  589. /package/dist/{services/schemas → core/schemas/base}/base.entities.schemas.js +0 -0
  590. /package/dist/{services/schemas → core/schemas/base}/base.entity-names.schemas.d.ts +0 -0
  591. /package/dist/{services/schemas → core/schemas/base}/base.entity-names.schemas.js +0 -0
  592. /package/dist/{services/schemas → core/schemas/base}/base.metadata.schemas.d.ts +0 -0
  593. /package/dist/{services/schemas → core/schemas/base}/base.metadata.schemas.js +0 -0
  594. /package/dist/{services/schemas → core/schemas/base}/base.pagination.schemas.d.ts +0 -0
  595. /package/dist/{services/schemas → core/schemas/base}/base.pagination.schemas.js +0 -0
  596. /package/dist/{services/schemas → core/schemas/base}/base.primitives.schemas.d.ts +0 -0
  597. /package/dist/{services/schemas → core/schemas/base}/base.primitives.schemas.js +0 -0
  598. /package/dist/{services/schemas → core/schemas/base}/index.d.ts +0 -0
  599. /package/dist/{services/schemas → core/schemas/base}/index.js +0 -0
  600. /package/dist/{services → core/schemas}/chart.schemas.d.ts +0 -0
  601. /package/dist/{services → core/schemas}/geo.schemas.d.ts +0 -0
  602. /package/dist/{services → core/schemas}/library.schemas.d.ts +0 -0
  603. /package/dist/{services → core/schemas}/tag.schemas.d.ts +0 -0
  604. /package/dist/{services → core/schemas}/track.schemas.d.ts +0 -0
  605. /package/dist/{services → core/schemas}/user.schemas.d.ts +0 -0
  606. /package/dist/{services → core/services}/track.utils.js +0 -0
  607. /package/dist/{services/insights → insights}/lib/binges.d.ts +0 -0
  608. /package/dist/{services/insights → insights}/lib/binges.js +0 -0
  609. /package/dist/{services/insights → insights}/lib/compare.d.ts +0 -0
  610. /package/dist/{services/insights → insights}/lib/compare.js +0 -0
  611. /package/dist/{services/insights → insights}/lib/discoveries.d.ts +0 -0
  612. /package/dist/{services/insights → insights}/lib/discoveries.js +0 -0
  613. /package/dist/{services/insights → insights}/lib/diversity.d.ts +0 -0
  614. /package/dist/{services/insights → insights}/lib/diversity.js +0 -0
  615. /package/dist/{services/insights → insights}/lib/hours.d.ts +0 -0
  616. /package/dist/{services/insights → insights}/lib/hours.js +0 -0
  617. /package/dist/{services/insights → insights}/lib/mood.d.ts +0 -0
  618. /package/dist/{services/insights → insights}/lib/mood.js +0 -0
  619. /package/dist/{services/insights → insights}/lib/periods.js +0 -0
  620. /package/dist/{services/insights → insights}/lib/personality.d.ts +0 -0
  621. /package/dist/{services/insights → insights}/lib/personality.js +0 -0
  622. /package/dist/{services/insights → insights}/lib/trends.d.ts +0 -0
  623. /package/dist/{services/insights → insights}/lib/trends.js +0 -0
@@ -0,0 +1,291 @@
1
+ import { z } from 'zod';
2
+ export declare const exportScrobbleRecordSchema: z.ZodObject<{
3
+ artist: z.ZodString;
4
+ track: z.ZodString;
5
+ album: z.ZodOptional<z.ZodString>;
6
+ uts: z.ZodNumber;
7
+ timestamp: z.ZodString;
8
+ mbid: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>;
10
+ export declare const exporterScrobblesRequestSchema: z.ZodObject<{
11
+ user: z.ZodString;
12
+ from: z.ZodOptional<z.ZodNumber>;
13
+ to: z.ZodOptional<z.ZodNumber>;
14
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
15
+ format: z.ZodOptional<z.ZodEnum<{
16
+ json: "json";
17
+ jsonl: "jsonl";
18
+ csv: "csv";
19
+ listenbrainz: "listenbrainz";
20
+ }>>;
21
+ }, z.core.$strip>;
22
+ export declare const exporterScrobblesResponseSchema: z.ZodObject<{
23
+ user: z.ZodString;
24
+ format: z.ZodEnum<{
25
+ json: "json";
26
+ jsonl: "jsonl";
27
+ csv: "csv";
28
+ listenbrainz: "listenbrainz";
29
+ }>;
30
+ totalExported: z.ZodNumber;
31
+ from: z.ZodOptional<z.ZodNumber>;
32
+ to: z.ZodOptional<z.ZodNumber>;
33
+ oldestUts: z.ZodOptional<z.ZodNumber>;
34
+ newestUts: z.ZodOptional<z.ZodNumber>;
35
+ nextCheckpointUts: z.ZodOptional<z.ZodNumber>;
36
+ content: z.ZodString;
37
+ scrobbles: z.ZodArray<z.ZodObject<{
38
+ artist: z.ZodString;
39
+ track: z.ZodString;
40
+ album: z.ZodOptional<z.ZodString>;
41
+ uts: z.ZodNumber;
42
+ timestamp: z.ZodString;
43
+ mbid: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strip>>;
45
+ }, z.core.$strip>;
46
+ export declare const exportLovedTrackRecordSchema: z.ZodObject<{
47
+ name: z.ZodString;
48
+ artist: z.ZodString;
49
+ url: z.ZodOptional<z.ZodString>;
50
+ date: z.ZodOptional<z.ZodString>;
51
+ uts: z.ZodOptional<z.ZodNumber>;
52
+ }, z.core.$strip>;
53
+ export declare const exporterLovedTracksRequestSchema: z.ZodObject<{
54
+ user: z.ZodString;
55
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
56
+ format: z.ZodOptional<z.ZodEnum<{
57
+ json: "json";
58
+ csv: "csv";
59
+ }>>;
60
+ }, z.core.$strip>;
61
+ export declare const exporterLovedTracksResponseSchema: z.ZodObject<{
62
+ user: z.ZodString;
63
+ format: z.ZodEnum<{
64
+ json: "json";
65
+ csv: "csv";
66
+ }>;
67
+ totalExported: z.ZodNumber;
68
+ content: z.ZodString;
69
+ tracks: z.ZodArray<z.ZodObject<{
70
+ name: z.ZodString;
71
+ artist: z.ZodString;
72
+ url: z.ZodOptional<z.ZodString>;
73
+ date: z.ZodOptional<z.ZodString>;
74
+ uts: z.ZodOptional<z.ZodNumber>;
75
+ }, z.core.$strip>>;
76
+ }, z.core.$strip>;
77
+ export declare const exportLibraryArtistRecordSchema: z.ZodObject<{
78
+ name: z.ZodString;
79
+ playcount: z.ZodNumber;
80
+ tagcount: z.ZodOptional<z.ZodNumber>;
81
+ mbid: z.ZodOptional<z.ZodString>;
82
+ url: z.ZodOptional<z.ZodString>;
83
+ }, z.core.$strip>;
84
+ export declare const exporterLibraryRequestSchema: z.ZodObject<{
85
+ user: z.ZodString;
86
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
87
+ format: z.ZodOptional<z.ZodEnum<{
88
+ json: "json";
89
+ csv: "csv";
90
+ }>>;
91
+ }, z.core.$strip>;
92
+ export declare const exporterLibraryResponseSchema: z.ZodObject<{
93
+ user: z.ZodString;
94
+ format: z.ZodEnum<{
95
+ json: "json";
96
+ csv: "csv";
97
+ }>;
98
+ totalExported: z.ZodNumber;
99
+ content: z.ZodString;
100
+ artists: z.ZodArray<z.ZodObject<{
101
+ name: z.ZodString;
102
+ playcount: z.ZodNumber;
103
+ tagcount: z.ZodOptional<z.ZodNumber>;
104
+ mbid: z.ZodOptional<z.ZodString>;
105
+ url: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>>;
107
+ }, z.core.$strip>;
108
+ export declare const exporterExportScrobblesRequestSchema: z.ZodObject<{
109
+ user: z.ZodString;
110
+ from: z.ZodOptional<z.ZodNumber>;
111
+ to: z.ZodOptional<z.ZodNumber>;
112
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
113
+ format: z.ZodOptional<z.ZodEnum<{
114
+ json: "json";
115
+ jsonl: "jsonl";
116
+ csv: "csv";
117
+ listenbrainz: "listenbrainz";
118
+ }>>;
119
+ }, z.core.$strip>;
120
+ export declare const exporterExportScrobblesResponseSchema: z.ZodObject<{
121
+ user: z.ZodString;
122
+ format: z.ZodEnum<{
123
+ json: "json";
124
+ jsonl: "jsonl";
125
+ csv: "csv";
126
+ listenbrainz: "listenbrainz";
127
+ }>;
128
+ totalExported: z.ZodNumber;
129
+ from: z.ZodOptional<z.ZodNumber>;
130
+ to: z.ZodOptional<z.ZodNumber>;
131
+ oldestUts: z.ZodOptional<z.ZodNumber>;
132
+ newestUts: z.ZodOptional<z.ZodNumber>;
133
+ nextCheckpointUts: z.ZodOptional<z.ZodNumber>;
134
+ content: z.ZodString;
135
+ scrobbles: z.ZodArray<z.ZodObject<{
136
+ artist: z.ZodString;
137
+ track: z.ZodString;
138
+ album: z.ZodOptional<z.ZodString>;
139
+ uts: z.ZodNumber;
140
+ timestamp: z.ZodString;
141
+ mbid: z.ZodOptional<z.ZodString>;
142
+ }, z.core.$strip>>;
143
+ }, z.core.$strip>;
144
+ export declare const exporterExportLovedTracksRequestSchema: z.ZodObject<{
145
+ user: z.ZodString;
146
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
147
+ format: z.ZodOptional<z.ZodEnum<{
148
+ json: "json";
149
+ csv: "csv";
150
+ }>>;
151
+ }, z.core.$strip>;
152
+ export declare const exporterExportLovedTracksResponseSchema: z.ZodObject<{
153
+ user: z.ZodString;
154
+ format: z.ZodEnum<{
155
+ json: "json";
156
+ csv: "csv";
157
+ }>;
158
+ totalExported: z.ZodNumber;
159
+ content: z.ZodString;
160
+ tracks: z.ZodArray<z.ZodObject<{
161
+ name: z.ZodString;
162
+ artist: z.ZodString;
163
+ url: z.ZodOptional<z.ZodString>;
164
+ date: z.ZodOptional<z.ZodString>;
165
+ uts: z.ZodOptional<z.ZodNumber>;
166
+ }, z.core.$strip>>;
167
+ }, z.core.$strip>;
168
+ export declare const exporterExportLibraryRequestSchema: z.ZodObject<{
169
+ user: z.ZodString;
170
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
171
+ format: z.ZodOptional<z.ZodEnum<{
172
+ json: "json";
173
+ csv: "csv";
174
+ }>>;
175
+ }, z.core.$strip>;
176
+ export declare const exporterExportLibraryResponseSchema: z.ZodObject<{
177
+ user: z.ZodString;
178
+ format: z.ZodEnum<{
179
+ json: "json";
180
+ csv: "csv";
181
+ }>;
182
+ totalExported: z.ZodNumber;
183
+ content: z.ZodString;
184
+ artists: z.ZodArray<z.ZodObject<{
185
+ name: z.ZodString;
186
+ playcount: z.ZodNumber;
187
+ tagcount: z.ZodOptional<z.ZodNumber>;
188
+ mbid: z.ZodOptional<z.ZodString>;
189
+ url: z.ZodOptional<z.ZodString>;
190
+ }, z.core.$strip>>;
191
+ }, z.core.$strip>;
192
+ export declare const exporterGetExportScrobblesRequestSchema: z.ZodObject<{
193
+ user: z.ZodString;
194
+ from: z.ZodOptional<z.ZodNumber>;
195
+ to: z.ZodOptional<z.ZodNumber>;
196
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
197
+ format: z.ZodOptional<z.ZodEnum<{
198
+ json: "json";
199
+ jsonl: "jsonl";
200
+ csv: "csv";
201
+ listenbrainz: "listenbrainz";
202
+ }>>;
203
+ }, z.core.$strip>;
204
+ export declare const exporterGetExportScrobblesResponseSchema: z.ZodObject<{
205
+ user: z.ZodString;
206
+ format: z.ZodEnum<{
207
+ json: "json";
208
+ jsonl: "jsonl";
209
+ csv: "csv";
210
+ listenbrainz: "listenbrainz";
211
+ }>;
212
+ totalExported: z.ZodNumber;
213
+ from: z.ZodOptional<z.ZodNumber>;
214
+ to: z.ZodOptional<z.ZodNumber>;
215
+ oldestUts: z.ZodOptional<z.ZodNumber>;
216
+ newestUts: z.ZodOptional<z.ZodNumber>;
217
+ nextCheckpointUts: z.ZodOptional<z.ZodNumber>;
218
+ content: z.ZodString;
219
+ scrobbles: z.ZodArray<z.ZodObject<{
220
+ artist: z.ZodString;
221
+ track: z.ZodString;
222
+ album: z.ZodOptional<z.ZodString>;
223
+ uts: z.ZodNumber;
224
+ timestamp: z.ZodString;
225
+ mbid: z.ZodOptional<z.ZodString>;
226
+ }, z.core.$strip>>;
227
+ }, z.core.$strip>;
228
+ export declare const exporterGetExportLovedTracksRequestSchema: z.ZodObject<{
229
+ user: z.ZodString;
230
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
231
+ format: z.ZodOptional<z.ZodEnum<{
232
+ json: "json";
233
+ csv: "csv";
234
+ }>>;
235
+ }, z.core.$strip>;
236
+ export declare const exporterGetExportLovedTracksResponseSchema: z.ZodObject<{
237
+ user: z.ZodString;
238
+ format: z.ZodEnum<{
239
+ json: "json";
240
+ csv: "csv";
241
+ }>;
242
+ totalExported: z.ZodNumber;
243
+ content: z.ZodString;
244
+ tracks: z.ZodArray<z.ZodObject<{
245
+ name: z.ZodString;
246
+ artist: z.ZodString;
247
+ url: z.ZodOptional<z.ZodString>;
248
+ date: z.ZodOptional<z.ZodString>;
249
+ uts: z.ZodOptional<z.ZodNumber>;
250
+ }, z.core.$strip>>;
251
+ }, z.core.$strip>;
252
+ export declare const exporterGetExportLibraryRequestSchema: z.ZodObject<{
253
+ user: z.ZodString;
254
+ limit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
255
+ format: z.ZodOptional<z.ZodEnum<{
256
+ json: "json";
257
+ csv: "csv";
258
+ }>>;
259
+ }, z.core.$strip>;
260
+ export declare const exporterGetExportLibraryResponseSchema: z.ZodObject<{
261
+ user: z.ZodString;
262
+ format: z.ZodEnum<{
263
+ json: "json";
264
+ csv: "csv";
265
+ }>;
266
+ totalExported: z.ZodNumber;
267
+ content: z.ZodString;
268
+ artists: z.ZodArray<z.ZodObject<{
269
+ name: z.ZodString;
270
+ playcount: z.ZodNumber;
271
+ tagcount: z.ZodOptional<z.ZodNumber>;
272
+ mbid: z.ZodOptional<z.ZodString>;
273
+ url: z.ZodOptional<z.ZodString>;
274
+ }, z.core.$strip>>;
275
+ }, z.core.$strip>;
276
+ export type ExportScrobbleRecord = z.infer<typeof exportScrobbleRecordSchema>;
277
+ export type ExporterScrobblesRequest = z.infer<typeof exporterScrobblesRequestSchema>;
278
+ export type ExporterScrobblesResponse = z.infer<typeof exporterScrobblesResponseSchema>;
279
+ export type ExporterGetExportScrobblesRequest = ExporterScrobblesRequest;
280
+ export type ExporterGetExportScrobblesResponse = ExporterScrobblesResponse;
281
+ export type ExportLovedTrackRecord = z.infer<typeof exportLovedTrackRecordSchema>;
282
+ export type ExporterLovedTracksRequest = z.infer<typeof exporterLovedTracksRequestSchema>;
283
+ export type ExporterLovedTracksResponse = z.infer<typeof exporterLovedTracksResponseSchema>;
284
+ export type ExporterGetExportLovedTracksRequest = ExporterLovedTracksRequest;
285
+ export type ExporterGetExportLovedTracksResponse = ExporterLovedTracksResponse;
286
+ export type ExportLibraryArtistRecord = z.infer<typeof exportLibraryArtistRecordSchema>;
287
+ export type ExporterLibraryRequest = z.infer<typeof exporterLibraryRequestSchema>;
288
+ export type ExporterLibraryResponse = z.infer<typeof exporterLibraryResponseSchema>;
289
+ export type ExporterGetExportLibraryRequest = ExporterLibraryRequest;
290
+ export type ExporterGetExportLibraryResponse = ExporterLibraryResponse;
291
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/exporter/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAUvB,eAAO,MAAM,0BAA0B;;;;;;;iBAOrC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;iBAMzC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;iBAW1C,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;iBAMvC,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;iBAI3C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;iBAM5C,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;iBAM1C,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;iBAIvC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAMxC,CAAA;AAGF,eAAO,MAAM,oCAAoC;;;;;;;;;;;iBAAiC,CAAA;AAClF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;iBAAkC,CAAA;AACpF,eAAO,MAAM,sCAAsC;;;;;;;iBAAmC,CAAA;AACtF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;iBAAoC,CAAA;AACxF,eAAO,MAAM,kCAAkC;;;;;;;iBAA+B,CAAA;AAC9E,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;iBAAgC,CAAA;AAChF,eAAO,MAAM,uCAAuC;;;;;;;;;;;iBAAiC,CAAA;AACrF,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;iBAAkC,CAAA;AACvF,eAAO,MAAM,yCAAyC;;;;;;;iBAAmC,CAAA;AACzF,eAAO,MAAM,0CAA0C;;;;;;;;;;;;;;;iBAAoC,CAAA;AAC3F,eAAO,MAAM,qCAAqC;;;;;;;iBAA+B,CAAA;AACjF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;iBAAgC,CAAA;AAGnF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,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;AACvF,MAAM,MAAM,iCAAiC,GAAG,wBAAwB,CAAA;AACxE,MAAM,MAAM,kCAAkC,GAAG,yBAAyB,CAAA;AAE1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACjF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAA;AACzF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAC3F,MAAM,MAAM,mCAAmC,GAAG,0BAA0B,CAAA;AAC5E,MAAM,MAAM,oCAAoC,GAAG,2BAA2B,CAAA;AAE9E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AACvF,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,+BAA+B,GAAG,sBAAsB,CAAA;AACpE,MAAM,MAAM,gCAAgC,GAAG,uBAAuB,CAAA"}
@@ -0,0 +1,81 @@
1
+ import { z } from 'zod';
2
+ import { artistNameSchema, limitSchema, mbidSchema, trackNameSchema, urlSchema, userNameSchema, } from '../core/schemas/base/index.js';
3
+ export const exportScrobbleRecordSchema = z.object({
4
+ artist: artistNameSchema,
5
+ track: trackNameSchema,
6
+ album: z.string().optional(),
7
+ uts: z.number().int().positive(),
8
+ timestamp: z.string(),
9
+ mbid: mbidSchema.optional(),
10
+ });
11
+ export const exporterScrobblesRequestSchema = z.object({
12
+ user: userNameSchema,
13
+ from: z.number().int().positive().optional(),
14
+ to: z.number().int().positive().optional(),
15
+ limit: limitSchema.optional(),
16
+ format: z.enum(['json', 'jsonl', 'csv', 'listenbrainz']).optional(),
17
+ });
18
+ export const exporterScrobblesResponseSchema = z.object({
19
+ user: userNameSchema,
20
+ format: z.enum(['json', 'jsonl', 'csv', 'listenbrainz']),
21
+ totalExported: z.number().int().nonnegative(),
22
+ from: z.number().int().positive().optional(),
23
+ to: z.number().int().positive().optional(),
24
+ oldestUts: z.number().int().positive().optional(),
25
+ newestUts: z.number().int().positive().optional(),
26
+ nextCheckpointUts: z.number().int().positive().optional(),
27
+ content: z.string(),
28
+ scrobbles: z.array(exportScrobbleRecordSchema),
29
+ });
30
+ export const exportLovedTrackRecordSchema = z.object({
31
+ name: trackNameSchema,
32
+ artist: artistNameSchema,
33
+ url: urlSchema.optional(),
34
+ date: z.string().optional(),
35
+ uts: z.number().int().positive().optional(),
36
+ });
37
+ export const exporterLovedTracksRequestSchema = z.object({
38
+ user: userNameSchema,
39
+ limit: limitSchema.optional(),
40
+ format: z.enum(['json', 'csv']).optional(),
41
+ });
42
+ export const exporterLovedTracksResponseSchema = z.object({
43
+ user: userNameSchema,
44
+ format: z.enum(['json', 'csv']),
45
+ totalExported: z.number().int().nonnegative(),
46
+ content: z.string(),
47
+ tracks: z.array(exportLovedTrackRecordSchema),
48
+ });
49
+ export const exportLibraryArtistRecordSchema = z.object({
50
+ name: artistNameSchema,
51
+ playcount: z.number().int().nonnegative(),
52
+ tagcount: z.number().int().nonnegative().optional(),
53
+ mbid: mbidSchema.optional(),
54
+ url: urlSchema.optional(),
55
+ });
56
+ export const exporterLibraryRequestSchema = z.object({
57
+ user: userNameSchema,
58
+ limit: limitSchema.optional(),
59
+ format: z.enum(['json', 'csv']).optional(),
60
+ });
61
+ export const exporterLibraryResponseSchema = z.object({
62
+ user: userNameSchema,
63
+ format: z.enum(['json', 'csv']),
64
+ totalExported: z.number().int().nonnegative(),
65
+ content: z.string(),
66
+ artists: z.array(exportLibraryArtistRecordSchema),
67
+ });
68
+ // Schema naming convention aliases for registry lookup
69
+ export const exporterExportScrobblesRequestSchema = exporterScrobblesRequestSchema;
70
+ export const exporterExportScrobblesResponseSchema = exporterScrobblesResponseSchema;
71
+ export const exporterExportLovedTracksRequestSchema = exporterLovedTracksRequestSchema;
72
+ export const exporterExportLovedTracksResponseSchema = exporterLovedTracksResponseSchema;
73
+ export const exporterExportLibraryRequestSchema = exporterLibraryRequestSchema;
74
+ export const exporterExportLibraryResponseSchema = exporterLibraryResponseSchema;
75
+ export const exporterGetExportScrobblesRequestSchema = exporterScrobblesRequestSchema;
76
+ export const exporterGetExportScrobblesResponseSchema = exporterScrobblesResponseSchema;
77
+ export const exporterGetExportLovedTracksRequestSchema = exporterLovedTracksRequestSchema;
78
+ export const exporterGetExportLovedTracksResponseSchema = exporterLovedTracksResponseSchema;
79
+ export const exporterGetExportLibraryRequestSchema = exporterLibraryRequestSchema;
80
+ export const exporterGetExportLibraryResponseSchema = exporterLibraryResponseSchema;
81
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/exporter/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { LastFmConfig } from '../config.js';
2
+ import type { ExporterLibraryRequest, ExporterLibraryResponse, ExporterLovedTracksRequest, ExporterLovedTracksResponse, ExporterScrobblesRequest, ExporterScrobblesResponse } from './schemas.js';
3
+ export interface ExporterService {
4
+ /**
5
+ * Exports scrobble history with UTS checkpointing and multiple format engines (JSON, JSONL, CSV, ListenBrainz).
6
+ *
7
+ * @param {ExporterScrobblesRequest} params
8
+ * @param {RequestInit} [init]
9
+ * @returns {Promise<ExporterScrobblesResponse>}
10
+ */
11
+ exportScrobbles: (params: ExporterScrobblesRequest, init?: RequestInit) => Promise<ExporterScrobblesResponse>;
12
+ /**
13
+ * Exports all loved tracks for a user.
14
+ *
15
+ * @param {ExporterLovedTracksRequest} params
16
+ * @param {RequestInit} [init]
17
+ * @returns {Promise<ExporterLovedTracksResponse>}
18
+ */
19
+ exportLovedTracks: (params: ExporterLovedTracksRequest, init?: RequestInit) => Promise<ExporterLovedTracksResponse>;
20
+ /**
21
+ * Exports a user's artist library with playcounts and metadata.
22
+ *
23
+ * @param {ExporterLibraryRequest} params
24
+ * @param {RequestInit} [init]
25
+ * @returns {Promise<ExporterLibraryResponse>}
26
+ */
27
+ exportLibrary: (params: ExporterLibraryRequest, init?: RequestInit) => Promise<ExporterLibraryResponse>;
28
+ }
29
+ export declare function createExporterService(config: LastFmConfig): ExporterService;
30
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/exporter/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAIhD,OAAO,KAAK,EACX,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,eAAe;IAC/B;;;;;;OAMG;IACH,eAAe,EAAE,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAE7G;;;;;;OAMG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnH;;;;;;OAMG;IACH,aAAa,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;CACvG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CAM3E"}
@@ -0,0 +1,11 @@
1
+ import { exportLibrary } from './engines/library.js';
2
+ import { exportLovedTracks } from './engines/loved.js';
3
+ import { exportScrobbles } from './engines/scrobbles.js';
4
+ export function createExporterService(config) {
5
+ return {
6
+ exportScrobbles: (params, init) => exportScrobbles(config, params, init),
7
+ exportLovedTracks: (params, init) => exportLovedTracks(config, params, init),
8
+ exportLibrary: (params, init) => exportLibrary(config, params, init),
9
+ };
10
+ }
11
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/exporter/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAuCxD,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACzD,OAAO;QACN,eAAe,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;QACxE,iBAAiB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;QAC5E,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;KACpE,CAAA;AACF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,28 +1,22 @@
1
+ export type * from './cache/index.js';
2
+ export * from './cache/index.js';
1
3
  export { createClient, LastFmClient } from './client.js';
2
4
  export { createConfig, getGlobalConfig, type LastFmConfig, resetGlobalConfig, setGlobalConfig, } from './config.js';
3
- export type * from './services/album.schemas.js';
4
- export * from './services/album.schemas.js';
5
- export type * from './services/artist.schemas.js';
6
- export * from './services/artist.schemas.js';
7
- export type * from './services/auth.schemas.js';
8
- export * from './services/auth.schemas.js';
9
- export type * from './services/chart.schemas.js';
10
- export * from './services/chart.schemas.js';
11
- export type * from './services/geo.schemas.js';
12
- export * from './services/geo.schemas.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';
17
- export type * from './services/library.schemas.js';
18
- export * from './services/library.schemas.js';
19
- export type * from './services/schemas/index.js';
20
- export * from './services/schemas/index.js';
21
- export type * from './services/tag.schemas.js';
22
- export * from './services/tag.schemas.js';
23
- export type * from './services/track.schemas.js';
24
- export * from './services/track.schemas.js';
25
- export type * from './services/user.schemas.js';
26
- export * from './services/user.schemas.js';
5
+ export { CANONICAL_METHODS, type CanonicalMethod } from './core/canonical-methods.js';
6
+ export { createCoreClient, LastFmCoreClient } from './core/client.js';
7
+ export * from './core/pagination.js';
8
+ export type * from './core/schemas/index.js';
9
+ export * from './core/schemas/index.js';
10
+ export * from './core/services/index.js';
11
+ export type * from './exporter/index.js';
12
+ export * from './exporter/index.js';
13
+ export type * from './insights/index.js';
14
+ export * from './insights/index.js';
15
+ export type * from './playlists/index.js';
16
+ export * from './playlists/index.js';
17
+ export type * from './reports/index.js';
18
+ export * from './reports/index.js';
27
19
  export { buildAuthUrl, buildUrl, fetcher, generateSignature, LastFmApiError, parseLastFmResponse } from './utils.js';
20
+ export type * from './watcher/index.js';
21
+ export * from './watcher/index.js';
28
22
  //# sourceMappingURL=index.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,mBAAmB,kBAAkB,CAAA;AAErC,cAAc,kBAAkB,CAAA;AAEhC,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;AAEpB,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACrE,cAAc,sBAAsB,CAAA;AACpC,mBAAmB,yBAAyB,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AAEvC,cAAc,0BAA0B,CAAA;AACxC,mBAAmB,qBAAqB,CAAA;AAExC,cAAc,qBAAqB,CAAA;AACnC,mBAAmB,qBAAqB,CAAA;AAExC,cAAc,qBAAqB,CAAA;AACnC,mBAAmB,sBAAsB,CAAA;AAEzC,cAAc,sBAAsB,CAAA;AACpC,mBAAmB,oBAAoB,CAAA;AAEvC,cAAc,oBAAoB,CAAA;AAElC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACpH,mBAAmB,oBAAoB,CAAA;AAEvC,cAAc,oBAAoB,CAAA"}
package/dist/index.js CHANGED
@@ -1,21 +1,26 @@
1
1
  // Configuration
2
- // Client principal
2
+ // Cache service, stores & schemas
3
+ export * from './cache/index.js';
4
+ // Clients
3
5
  export { createClient, LastFmClient } from './client.js';
4
6
  export { createConfig, getGlobalConfig, resetGlobalConfig, setGlobalConfig, } from './config.js';
5
- export * from './services/album.schemas.js';
6
- export * from './services/artist.schemas.js';
7
- export * from './services/auth.schemas.js';
8
- export * from './services/chart.schemas.js';
9
- export * from './services/geo.schemas.js';
10
- // Servicios (para uso avanzado)
11
- export { createAlbumService, createArtistService, createAuthService, createChartService, createGeoService, createInsightsService, createLibraryService, createTagService, createTrackService, createUserService, } from './services/index.js';
12
- export * from './services/insights.schemas.js';
13
- export * from './services/library.schemas.js';
14
- export * from './services/schemas/index.js';
15
- export * from './services/tag.schemas.js';
16
- export * from './services/track.schemas.js';
17
- // Schemas de Zod (para validación)
18
- export * from './services/user.schemas.js';
19
- // Utilidades (para casos avanzados)
7
+ // Canonical methods inventory
8
+ export { CANONICAL_METHODS } from './core/canonical-methods.js';
9
+ export { createCoreClient, LastFmCoreClient } from './core/client.js';
10
+ export * from './core/pagination.js';
11
+ export * from './core/schemas/index.js';
12
+ // Core services & schemas
13
+ export * from './core/services/index.js';
14
+ // Exporter service & schemas
15
+ export * from './exporter/index.js';
16
+ // Insights service & schemas
17
+ export * from './insights/index.js';
18
+ // Playlists service & schemas
19
+ export * from './playlists/index.js';
20
+ // Reports service & schemas
21
+ export * from './reports/index.js';
22
+ // Utilities
20
23
  export { buildAuthUrl, buildUrl, fetcher, generateSignature, LastFmApiError, parseLastFmResponse } from './utils.js';
24
+ // Watcher service & schemas
25
+ export * from './watcher/index.js';
21
26
  //# sourceMappingURL=index.js.map
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;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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAGhB,kCAAkC;AAClC,cAAc,kBAAkB,CAAA;AAChC,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EACN,YAAY,EACZ,eAAe,EAEf,iBAAiB,EACjB,eAAe,GACf,MAAM,aAAa,CAAA;AACpB,8BAA8B;AAC9B,OAAO,EAAE,iBAAiB,EAAwB,MAAM,6BAA6B,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACrE,cAAc,sBAAsB,CAAA;AAEpC,cAAc,yBAAyB,CAAA;AACvC,0BAA0B;AAC1B,cAAc,0BAA0B,CAAA;AAExC,6BAA6B;AAC7B,cAAc,qBAAqB,CAAA;AAEnC,6BAA6B;AAC7B,cAAc,qBAAqB,CAAA;AAEnC,8BAA8B;AAC9B,cAAc,sBAAsB,CAAA;AAEpC,4BAA4B;AAC5B,cAAc,oBAAoB,CAAA;AAClC,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEpH,4BAA4B;AAC5B,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { LastFmConfig } from '../../config.js';
2
+ import type { InsightsAlbumHabitsRequest, InsightsAlbumHabitsResponse } from '../schemas.js';
3
+ /**
4
+ * Analyzes sequential listening history to assess album completion and cohesive listening habits.
5
+ */
6
+ export declare function getAlbumHabits(config: LastFmConfig, params: InsightsAlbumHabitsRequest, init?: RequestInit): Promise<InsightsAlbumHabitsResponse>;
7
+ //# sourceMappingURL=album-habits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"album-habits.d.ts","sourceRoot":"","sources":["../../../src/insights/algorithms/album-habits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,KAAK,EAGX,0BAA0B,EAC1B,2BAA2B,EAC3B,MAAM,eAAe,CAAA;AA8BtB;;GAEG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,0BAA0B,EAClC,IAAI,CAAC,EAAE,WAAW,GAChB,OAAO,CAAC,2BAA2B,CAAC,CAyJtC"}