@jellyfin/sdk 0.7.0 → 0.8.1

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 (864) hide show
  1. package/README.md +23 -9
  2. package/lib/api.d.ts +4 -4
  3. package/lib/api.js +38 -68
  4. package/lib/discovery/discovery-service.d.ts +3 -1
  5. package/lib/discovery/discovery-service.js +27 -68
  6. package/lib/discovery/index.js +3 -18
  7. package/lib/discovery/recommended-server-discovery.d.ts +3 -1
  8. package/lib/discovery/recommended-server-discovery.js +56 -102
  9. package/lib/generated-client/api/activity-log-api.d.ts +4 -4
  10. package/lib/generated-client/api/activity-log-api.js +58 -165
  11. package/lib/generated-client/api/api-key-api.d.ts +10 -10
  12. package/lib/generated-client/api/api-key-api.js +112 -254
  13. package/lib/generated-client/api/artists-api.d.ts +10 -10
  14. package/lib/generated-client/api/artists-api.js +302 -446
  15. package/lib/generated-client/api/audio-api.d.ts +13 -13
  16. package/lib/generated-client/api/audio-api.js +714 -850
  17. package/lib/generated-client/api/branding-api.d.ts +10 -10
  18. package/lib/generated-client/api/branding-api.js +98 -222
  19. package/lib/generated-client/api/channels-api.d.ts +16 -16
  20. package/lib/generated-client/api/channels-api.js +230 -410
  21. package/lib/generated-client/api/client-log-api.d.ts +4 -4
  22. package/lib/generated-client/api/client-log-api.js +46 -153
  23. package/lib/generated-client/api/collection-api.d.ts +10 -10
  24. package/lib/generated-client/api/collection-api.js +132 -275
  25. package/lib/generated-client/api/configuration-api.d.ts +19 -19
  26. package/lib/generated-client/api/configuration-api.js +212 -408
  27. package/lib/generated-client/api/dashboard-api.d.ts +7 -7
  28. package/lib/generated-client/api/dashboard-api.js +78 -198
  29. package/lib/generated-client/api/devices-api.d.ts +16 -16
  30. package/lib/generated-client/api/devices-api.js +194 -373
  31. package/lib/generated-client/api/display-preferences-api.d.ts +7 -7
  32. package/lib/generated-client/api/display-preferences-api.js +104 -228
  33. package/lib/generated-client/api/dlna-api.d.ts +19 -19
  34. package/lib/generated-client/api/dlna-api.js +207 -404
  35. package/lib/generated-client/api/dlna-server-api.d.ts +49 -49
  36. package/lib/generated-client/api/dlna-server-api.js +545 -921
  37. package/lib/generated-client/api/dynamic-hls-api.d.ts +28 -28
  38. package/lib/generated-client/api/dynamic-hls-api.js +1686 -1936
  39. package/lib/generated-client/api/environment-api.d.ts +19 -19
  40. package/lib/generated-client/api/environment-api.js +214 -410
  41. package/lib/generated-client/api/filter-api.d.ts +7 -7
  42. package/lib/generated-client/api/filter-api.js +116 -242
  43. package/lib/generated-client/api/genres-api.d.ts +7 -7
  44. package/lib/generated-client/api/genres-api.js +134 -259
  45. package/lib/generated-client/api/hls-segment-api.d.ts +16 -16
  46. package/lib/generated-client/api/hls-segment-api.js +198 -358
  47. package/lib/generated-client/api/image-api.d.ts +124 -124
  48. package/lib/generated-client/api/image-api.js +2914 -3568
  49. package/lib/generated-client/api/image-by-name-api.d.ts +19 -19
  50. package/lib/generated-client/api/image-by-name-api.js +206 -384
  51. package/lib/generated-client/api/instant-mix-api.d.ts +25 -25
  52. package/lib/generated-client/api/instant-mix-api.js +450 -682
  53. package/lib/generated-client/api/item-lookup-api.d.ts +34 -34
  54. package/lib/generated-client/api/item-lookup-api.js +393 -679
  55. package/lib/generated-client/api/item-refresh-api.d.ts +4 -4
  56. package/lib/generated-client/api/item-refresh-api.js +59 -165
  57. package/lib/generated-client/api/item-update-api.d.ts +10 -10
  58. package/lib/generated-client/api/item-update-api.js +120 -262
  59. package/lib/generated-client/api/items-api.d.ts +10 -10
  60. package/lib/generated-client/api/items-api.js +675 -818
  61. package/lib/generated-client/api/library-api.d.ts +76 -76
  62. package/lib/generated-client/api/library-api.js +939 -1485
  63. package/lib/generated-client/api/library-structure-api.d.ts +25 -25
  64. package/lib/generated-client/api/library-structure-api.js +305 -542
  65. package/lib/generated-client/api/live-tv-api.d.ts +124 -124
  66. package/lib/generated-client/api/live-tv-api.js +1674 -2509
  67. package/lib/generated-client/api/localization-api.d.ts +13 -13
  68. package/lib/generated-client/api/localization-api.js +134 -294
  69. package/lib/generated-client/api/media-info-api.d.ts +16 -16
  70. package/lib/generated-client/api/media-info-api.js +262 -442
  71. package/lib/generated-client/api/movies-api.d.ts +4 -4
  72. package/lib/generated-client/api/movies-api.js +59 -166
  73. package/lib/generated-client/api/music-genres-api.d.ts +7 -7
  74. package/lib/generated-client/api/music-genres-api.js +134 -259
  75. package/lib/generated-client/api/notifications-api.d.ts +22 -22
  76. package/lib/generated-client/api/notifications-api.js +240 -454
  77. package/lib/generated-client/api/package-api.d.ts +19 -19
  78. package/lib/generated-client/api/package-api.js +219 -415
  79. package/lib/generated-client/api/persons-api.d.ts +7 -7
  80. package/lib/generated-client/api/persons-api.js +119 -244
  81. package/lib/generated-client/api/playlists-api.d.ts +16 -16
  82. package/lib/generated-client/api/playlists-api.js +231 -410
  83. package/lib/generated-client/api/playstate-api.d.ts +28 -28
  84. package/lib/generated-client/api/playstate-api.js +399 -652
  85. package/lib/generated-client/api/plugins-api.d.ts +28 -28
  86. package/lib/generated-client/api/plugins-api.js +320 -570
  87. package/lib/generated-client/api/quick-connect-api.d.ts +13 -13
  88. package/lib/generated-client/api/quick-connect-api.js +138 -280
  89. package/lib/generated-client/api/remote-image-api.d.ts +10 -10
  90. package/lib/generated-client/api/remote-image-api.js +136 -278
  91. package/lib/generated-client/api/scheduled-tasks-api.d.ts +16 -16
  92. package/lib/generated-client/api/scheduled-tasks-api.js +186 -365
  93. package/lib/generated-client/api/search-api.d.ts +4 -4
  94. package/lib/generated-client/api/search-api.js +100 -206
  95. package/lib/generated-client/api/session-api.d.ts +49 -49
  96. package/lib/generated-client/api/session-api.js +632 -1010
  97. package/lib/generated-client/api/startup-api.d.ts +22 -22
  98. package/lib/generated-client/api/startup-api.js +234 -449
  99. package/lib/generated-client/api/studios-api.d.ts +7 -7
  100. package/lib/generated-client/api/studios-api.js +131 -256
  101. package/lib/generated-client/api/subtitle-api.d.ts +31 -31
  102. package/lib/generated-client/api/subtitle-api.js +433 -689
  103. package/lib/generated-client/api/suggestions-api.d.ts +4 -4
  104. package/lib/generated-client/api/suggestions-api.js +62 -168
  105. package/lib/generated-client/api/sync-play-api.d.ts +64 -64
  106. package/lib/generated-client/api/sync-play-api.js +708 -1174
  107. package/lib/generated-client/api/system-api.d.ts +31 -31
  108. package/lib/generated-client/api/system-api.js +313 -563
  109. package/lib/generated-client/api/time-sync-api.d.ts +4 -4
  110. package/lib/generated-client/api/time-sync-api.js +42 -142
  111. package/lib/generated-client/api/tmdb-api.d.ts +4 -4
  112. package/lib/generated-client/api/tmdb-api.js +44 -150
  113. package/lib/generated-client/api/trailers-api.d.ts +4 -4
  114. package/lib/generated-client/api/trailers-api.js +304 -411
  115. package/lib/generated-client/api/tv-shows-api.d.ts +13 -13
  116. package/lib/generated-client/api/tv-shows-api.js +280 -442
  117. package/lib/generated-client/api/universal-audio-api.d.ts +7 -7
  118. package/lib/generated-client/api/universal-audio-api.js +182 -306
  119. package/lib/generated-client/api/user-api.d.ts +49 -49
  120. package/lib/generated-client/api/user-api.js +560 -901
  121. package/lib/generated-client/api/user-library-api.d.ts +31 -31
  122. package/lib/generated-client/api/user-library-api.js +401 -669
  123. package/lib/generated-client/api/user-views-api.d.ts +7 -7
  124. package/lib/generated-client/api/user-views-api.js +89 -213
  125. package/lib/generated-client/api/video-attachments-api.d.ts +4 -4
  126. package/lib/generated-client/api/video-attachments-api.js +51 -151
  127. package/lib/generated-client/api/videos-api.d.ts +22 -22
  128. package/lib/generated-client/api/videos-api.js +842 -1032
  129. package/lib/generated-client/api/years-api.d.ts +7 -7
  130. package/lib/generated-client/api/years-api.js +125 -250
  131. package/lib/generated-client/base.d.ts +2 -2
  132. package/lib/generated-client/base.js +14 -64
  133. package/lib/generated-client/common.d.ts +2 -2
  134. package/lib/generated-client/common.js +28 -184
  135. package/lib/generated-client/configuration.js +8 -12
  136. package/lib/generated-client/index.js +136 -31
  137. package/lib/generated-client/models/access-schedule.d.ts +5 -5
  138. package/lib/generated-client/models/activity-log-entry-query-result.d.ts +3 -3
  139. package/lib/generated-client/models/activity-log-entry.d.ts +10 -10
  140. package/lib/generated-client/models/add-virtual-folder-dto.d.ts +1 -1
  141. package/lib/generated-client/models/admin-notification-dto.d.ts +4 -4
  142. package/lib/generated-client/models/album-info-remote-search-query.d.ts +4 -4
  143. package/lib/generated-client/models/album-info.d.ts +14 -14
  144. package/lib/generated-client/models/all-theme-media-result.d.ts +3 -3
  145. package/lib/generated-client/models/architecture.d.ts +9 -8
  146. package/lib/generated-client/models/architecture.js +10 -12
  147. package/lib/generated-client/models/artist-info-remote-search-query.d.ts +4 -4
  148. package/lib/generated-client/models/artist-info.d.ts +12 -12
  149. package/lib/generated-client/models/authenticate-user-by-name.d.ts +3 -3
  150. package/lib/generated-client/models/authentication-info-query-result.d.ts +3 -3
  151. package/lib/generated-client/models/authentication-info.d.ts +12 -12
  152. package/lib/generated-client/models/authentication-result.d.ts +4 -4
  153. package/lib/generated-client/models/base-item-dto-image-blur-hashes.d.ts +13 -13
  154. package/lib/generated-client/models/base-item-dto-query-result.d.ts +3 -3
  155. package/lib/generated-client/models/base-item-dto.d.ts +151 -151
  156. package/lib/generated-client/models/base-item-kind.d.ts +40 -39
  157. package/lib/generated-client/models/base-item-kind.js +41 -43
  158. package/lib/generated-client/models/base-item-person-image-blur-hashes.d.ts +13 -13
  159. package/lib/generated-client/models/base-item-person.d.ts +6 -6
  160. package/lib/generated-client/models/base-item.d.ts +11 -11
  161. package/lib/generated-client/models/book-info-remote-search-query.d.ts +4 -4
  162. package/lib/generated-client/models/book-info.d.ts +12 -12
  163. package/lib/generated-client/models/box-set-info-remote-search-query.d.ts +4 -4
  164. package/lib/generated-client/models/box-set-info.d.ts +11 -11
  165. package/lib/generated-client/models/branding-options.d.ts +3 -3
  166. package/lib/generated-client/models/buffer-request-dto.d.ts +4 -4
  167. package/lib/generated-client/models/channel-features.d.ts +12 -12
  168. package/lib/generated-client/models/channel-item-sort-field.d.ts +10 -9
  169. package/lib/generated-client/models/channel-item-sort-field.js +11 -13
  170. package/lib/generated-client/models/channel-mapping-options-dto.d.ts +4 -4
  171. package/lib/generated-client/models/channel-media-content-type.d.ts +11 -10
  172. package/lib/generated-client/models/channel-media-content-type.js +12 -14
  173. package/lib/generated-client/models/channel-media-type.d.ts +6 -5
  174. package/lib/generated-client/models/channel-media-type.js +7 -9
  175. package/lib/generated-client/models/channel-type.d.ts +5 -4
  176. package/lib/generated-client/models/channel-type.js +6 -8
  177. package/lib/generated-client/models/chapter-info.d.ts +5 -5
  178. package/lib/generated-client/models/client-capabilities-dto.d.ts +10 -10
  179. package/lib/generated-client/models/client-capabilities.d.ts +10 -10
  180. package/lib/generated-client/models/client-log-document-response-dto.d.ts +1 -1
  181. package/lib/generated-client/models/codec-profile.d.ts +5 -5
  182. package/lib/generated-client/models/codec-type.d.ts +6 -5
  183. package/lib/generated-client/models/codec-type.js +7 -9
  184. package/lib/generated-client/models/collection-creation-result.d.ts +1 -1
  185. package/lib/generated-client/models/collection-type-options.d.ts +11 -10
  186. package/lib/generated-client/models/collection-type-options.js +12 -14
  187. package/lib/generated-client/models/config-image-types.d.ts +7 -7
  188. package/lib/generated-client/models/configuration-page-info.d.ts +6 -6
  189. package/lib/generated-client/models/container-profile.d.ts +3 -3
  190. package/lib/generated-client/models/control-response.d.ts +3 -3
  191. package/lib/generated-client/models/country-info.d.ts +4 -4
  192. package/lib/generated-client/models/create-playlist-dto.d.ts +4 -4
  193. package/lib/generated-client/models/create-user-by-name.d.ts +2 -2
  194. package/lib/generated-client/models/culture-dto.d.ts +5 -5
  195. package/lib/generated-client/models/day-of-week.d.ts +10 -9
  196. package/lib/generated-client/models/day-of-week.js +11 -13
  197. package/lib/generated-client/models/day-pattern.d.ts +6 -5
  198. package/lib/generated-client/models/day-pattern.js +7 -9
  199. package/lib/generated-client/models/default-directory-browser-info-dto.d.ts +1 -1
  200. package/lib/generated-client/models/device-identification.d.ts +9 -9
  201. package/lib/generated-client/models/device-info-query-result.d.ts +3 -3
  202. package/lib/generated-client/models/device-info.d.ts +10 -10
  203. package/lib/generated-client/models/device-options-dto.d.ts +3 -3
  204. package/lib/generated-client/models/device-options.d.ts +3 -3
  205. package/lib/generated-client/models/device-profile-info.d.ts +3 -3
  206. package/lib/generated-client/models/device-profile-type.d.ts +5 -4
  207. package/lib/generated-client/models/device-profile-type.js +6 -8
  208. package/lib/generated-client/models/device-profile.d.ts +39 -39
  209. package/lib/generated-client/models/direct-play-profile.d.ts +4 -4
  210. package/lib/generated-client/models/display-preferences-dto.d.ts +14 -14
  211. package/lib/generated-client/models/dlna-options.d.ts +11 -11
  212. package/lib/generated-client/models/dlna-profile-type.d.ts +7 -6
  213. package/lib/generated-client/models/dlna-profile-type.js +8 -10
  214. package/lib/generated-client/models/dynamic-day-of-week.d.ts +13 -12
  215. package/lib/generated-client/models/dynamic-day-of-week.js +14 -16
  216. package/lib/generated-client/models/embedded-subtitle-options.d.ts +7 -6
  217. package/lib/generated-client/models/embedded-subtitle-options.js +8 -10
  218. package/lib/generated-client/models/encoding-context.d.ts +5 -4
  219. package/lib/generated-client/models/encoding-context.js +6 -8
  220. package/lib/generated-client/models/encoding-options.d.ts +38 -38
  221. package/lib/generated-client/models/end-point-info.d.ts +2 -2
  222. package/lib/generated-client/models/external-id-info.d.ts +4 -4
  223. package/lib/generated-client/models/external-id-media-type.d.ts +15 -14
  224. package/lib/generated-client/models/external-id-media-type.js +16 -18
  225. package/lib/generated-client/models/external-url.d.ts +2 -2
  226. package/lib/generated-client/models/ffmpeg-location.d.ts +7 -6
  227. package/lib/generated-client/models/ffmpeg-location.js +8 -10
  228. package/lib/generated-client/models/file-system-entry-info.d.ts +3 -3
  229. package/lib/generated-client/models/file-system-entry-type.d.ts +7 -6
  230. package/lib/generated-client/models/file-system-entry-type.js +8 -10
  231. package/lib/generated-client/models/font-file.d.ts +4 -4
  232. package/lib/generated-client/models/forgot-password-action.d.ts +6 -5
  233. package/lib/generated-client/models/forgot-password-action.js +7 -9
  234. package/lib/generated-client/models/forgot-password-dto.d.ts +1 -1
  235. package/lib/generated-client/models/forgot-password-pin-dto.d.ts +1 -1
  236. package/lib/generated-client/models/forgot-password-result.d.ts +3 -3
  237. package/lib/generated-client/models/general-command-type.d.ts +45 -44
  238. package/lib/generated-client/models/general-command-type.js +46 -48
  239. package/lib/generated-client/models/general-command.d.ts +3 -3
  240. package/lib/generated-client/models/get-programs-dto.d.ts +27 -27
  241. package/lib/generated-client/models/group-info-dto.d.ts +5 -5
  242. package/lib/generated-client/models/group-queue-mode.d.ts +5 -4
  243. package/lib/generated-client/models/group-queue-mode.js +6 -8
  244. package/lib/generated-client/models/group-repeat-mode.d.ts +6 -5
  245. package/lib/generated-client/models/group-repeat-mode.js +7 -9
  246. package/lib/generated-client/models/group-shuffle-mode.d.ts +5 -4
  247. package/lib/generated-client/models/group-shuffle-mode.js +6 -8
  248. package/lib/generated-client/models/group-state-type.d.ts +7 -6
  249. package/lib/generated-client/models/group-state-type.js +8 -10
  250. package/lib/generated-client/models/group-update-type.d.ts +14 -13
  251. package/lib/generated-client/models/group-update-type.js +15 -17
  252. package/lib/generated-client/models/guide-info.d.ts +2 -2
  253. package/lib/generated-client/models/hardware-encoding-type.d.ts +9 -8
  254. package/lib/generated-client/models/hardware-encoding-type.js +10 -12
  255. package/lib/generated-client/models/header-match-type.d.ts +6 -5
  256. package/lib/generated-client/models/header-match-type.js +7 -9
  257. package/lib/generated-client/models/http-header-info.d.ts +3 -3
  258. package/lib/generated-client/models/ignore-wait-request-dto.d.ts +1 -1
  259. package/lib/generated-client/models/image-by-name-info.d.ts +5 -5
  260. package/lib/generated-client/models/image-format.d.ts +8 -7
  261. package/lib/generated-client/models/image-format.js +9 -11
  262. package/lib/generated-client/models/image-info.d.ts +8 -8
  263. package/lib/generated-client/models/image-option.d.ts +3 -3
  264. package/lib/generated-client/models/image-orientation.d.ts +11 -10
  265. package/lib/generated-client/models/image-orientation.js +12 -14
  266. package/lib/generated-client/models/image-provider-info.d.ts +2 -2
  267. package/lib/generated-client/models/image-saving-convention.d.ts +5 -4
  268. package/lib/generated-client/models/image-saving-convention.js +6 -8
  269. package/lib/generated-client/models/image-type.d.ts +16 -15
  270. package/lib/generated-client/models/image-type.js +17 -19
  271. package/lib/generated-client/models/index.d.ts +1 -0
  272. package/lib/generated-client/models/index.js +74 -300
  273. package/lib/generated-client/models/installation-info.d.ts +7 -7
  274. package/lib/generated-client/models/iplugin.d.ts +7 -7
  275. package/lib/generated-client/models/iso-type.d.ts +5 -4
  276. package/lib/generated-client/models/iso-type.js +6 -8
  277. package/lib/generated-client/models/item-counts.d.ts +12 -12
  278. package/lib/generated-client/models/item-fields.d.ts +64 -63
  279. package/lib/generated-client/models/item-fields.js +65 -67
  280. package/lib/generated-client/models/item-filter.d.ts +12 -11
  281. package/lib/generated-client/models/item-filter.js +13 -15
  282. package/lib/generated-client/models/join-group-request-dto.d.ts +1 -1
  283. package/lib/generated-client/models/keep-until.d.ts +7 -6
  284. package/lib/generated-client/models/keep-until.js +8 -10
  285. package/lib/generated-client/models/library-option-info-dto.d.ts +2 -2
  286. package/lib/generated-client/models/library-options-result-dto.d.ts +4 -4
  287. package/lib/generated-client/models/library-options.d.ts +27 -27
  288. package/lib/generated-client/models/library-type-options-dto.d.ts +5 -5
  289. package/lib/generated-client/models/library-update-info.d.ts +7 -7
  290. package/lib/generated-client/models/listings-provider-info.d.ts +18 -18
  291. package/lib/generated-client/models/live-stream-response.d.ts +1 -1
  292. package/lib/generated-client/models/live-tv-info.d.ts +3 -3
  293. package/lib/generated-client/models/live-tv-options.d.ts +13 -13
  294. package/lib/generated-client/models/live-tv-service-info.d.ts +8 -8
  295. package/lib/generated-client/models/live-tv-service-status.d.ts +5 -4
  296. package/lib/generated-client/models/live-tv-service-status.js +6 -8
  297. package/lib/generated-client/models/localization-option.d.ts +2 -2
  298. package/lib/generated-client/models/location-type.d.ts +7 -6
  299. package/lib/generated-client/models/location-type.js +8 -10
  300. package/lib/generated-client/models/log-file.d.ts +4 -4
  301. package/lib/generated-client/models/log-level.d.ts +10 -9
  302. package/lib/generated-client/models/log-level.js +11 -13
  303. package/lib/generated-client/models/media-attachment.d.ts +7 -7
  304. package/lib/generated-client/models/media-encoder-path-dto.d.ts +2 -2
  305. package/lib/generated-client/models/media-path-dto.d.ts +3 -3
  306. package/lib/generated-client/models/media-path-info.d.ts +2 -2
  307. package/lib/generated-client/models/media-protocol.d.ts +10 -9
  308. package/lib/generated-client/models/media-protocol.js +11 -13
  309. package/lib/generated-client/models/media-source-info.d.ts +42 -42
  310. package/lib/generated-client/models/media-source-type.d.ts +6 -5
  311. package/lib/generated-client/models/media-source-type.js +7 -9
  312. package/lib/generated-client/models/media-stream-type.d.ts +8 -6
  313. package/lib/generated-client/models/media-stream-type.js +9 -10
  314. package/lib/generated-client/models/media-stream.d.ts +58 -58
  315. package/lib/generated-client/models/media-update-info-dto.d.ts +1 -1
  316. package/lib/generated-client/models/media-update-info-path-dto.d.ts +2 -2
  317. package/lib/generated-client/models/media-url.d.ts +2 -2
  318. package/lib/generated-client/models/message-command.d.ts +3 -3
  319. package/lib/generated-client/models/metadata-configuration.d.ts +1 -1
  320. package/lib/generated-client/models/metadata-editor-info.d.ts +6 -6
  321. package/lib/generated-client/models/metadata-field.d.ts +12 -11
  322. package/lib/generated-client/models/metadata-field.js +13 -15
  323. package/lib/generated-client/models/metadata-options.d.ts +7 -7
  324. package/lib/generated-client/models/metadata-refresh-mode.d.ts +7 -6
  325. package/lib/generated-client/models/metadata-refresh-mode.js +8 -10
  326. package/lib/generated-client/models/move-playlist-item-request-dto.d.ts +2 -2
  327. package/lib/generated-client/models/movie-info-remote-search-query.d.ts +4 -4
  328. package/lib/generated-client/models/movie-info.d.ts +11 -11
  329. package/lib/generated-client/models/music-video-info-remote-search-query.d.ts +4 -4
  330. package/lib/generated-client/models/music-video-info.d.ts +12 -12
  331. package/lib/generated-client/models/name-guid-pair.d.ts +2 -2
  332. package/lib/generated-client/models/name-id-pair.d.ts +2 -2
  333. package/lib/generated-client/models/name-value-pair.d.ts +2 -2
  334. package/lib/generated-client/models/network-configuration.d.ts +34 -34
  335. package/lib/generated-client/models/new-group-request-dto.d.ts +1 -1
  336. package/lib/generated-client/models/next-item-request-dto.d.ts +1 -1
  337. package/lib/generated-client/models/notification-dto.d.ts +8 -8
  338. package/lib/generated-client/models/notification-level.d.ts +6 -5
  339. package/lib/generated-client/models/notification-level.js +7 -9
  340. package/lib/generated-client/models/notification-option.d.ts +6 -6
  341. package/lib/generated-client/models/notification-options.d.ts +1 -1
  342. package/lib/generated-client/models/notification-result-dto.d.ts +2 -2
  343. package/lib/generated-client/models/notification-type-info.d.ts +5 -5
  344. package/lib/generated-client/models/notifications-summary-dto.d.ts +2 -2
  345. package/lib/generated-client/models/object-group-update.d.ts +3 -3
  346. package/lib/generated-client/models/open-live-stream-dto.d.ts +13 -13
  347. package/lib/generated-client/models/package-info.d.ts +8 -8
  348. package/lib/generated-client/models/parental-rating.d.ts +2 -2
  349. package/lib/generated-client/models/path-substitution.d.ts +2 -2
  350. package/lib/generated-client/models/person-lookup-info-remote-search-query.d.ts +4 -4
  351. package/lib/generated-client/models/person-lookup-info.d.ts +11 -11
  352. package/lib/generated-client/models/pin-redeem-result.d.ts +2 -2
  353. package/lib/generated-client/models/ping-request-dto.d.ts +1 -1
  354. package/lib/generated-client/models/play-access.d.ts +5 -4
  355. package/lib/generated-client/models/play-access.js +6 -8
  356. package/lib/generated-client/models/play-command.d.ts +8 -7
  357. package/lib/generated-client/models/play-command.js +9 -11
  358. package/lib/generated-client/models/play-method.d.ts +6 -5
  359. package/lib/generated-client/models/play-method.js +7 -9
  360. package/lib/generated-client/models/play-request-dto.d.ts +3 -3
  361. package/lib/generated-client/models/play-request.d.ts +8 -8
  362. package/lib/generated-client/models/playback-error-code.d.ts +6 -5
  363. package/lib/generated-client/models/playback-error-code.js +7 -9
  364. package/lib/generated-client/models/playback-info-dto.d.ts +15 -15
  365. package/lib/generated-client/models/playback-info-response.d.ts +3 -3
  366. package/lib/generated-client/models/playback-progress-info.d.ts +20 -20
  367. package/lib/generated-client/models/playback-start-info.d.ts +20 -20
  368. package/lib/generated-client/models/playback-stop-info.d.ts +11 -11
  369. package/lib/generated-client/models/player-state-info.d.ts +11 -11
  370. package/lib/generated-client/models/playlist-creation-result.d.ts +1 -1
  371. package/lib/generated-client/models/playstate-command.d.ts +12 -11
  372. package/lib/generated-client/models/playstate-command.js +13 -15
  373. package/lib/generated-client/models/playstate-request.d.ts +3 -3
  374. package/lib/generated-client/models/plugin-info.d.ts +8 -8
  375. package/lib/generated-client/models/plugin-status.d.ts +10 -9
  376. package/lib/generated-client/models/plugin-status.js +11 -13
  377. package/lib/generated-client/models/previous-item-request-dto.d.ts +1 -1
  378. package/lib/generated-client/models/problem-details.d.ts +5 -5
  379. package/lib/generated-client/models/profile-condition-type.d.ts +8 -7
  380. package/lib/generated-client/models/profile-condition-type.js +9 -11
  381. package/lib/generated-client/models/profile-condition-value.d.ts +27 -26
  382. package/lib/generated-client/models/profile-condition-value.js +28 -30
  383. package/lib/generated-client/models/profile-condition.d.ts +4 -4
  384. package/lib/generated-client/models/program-audio.d.ts +9 -8
  385. package/lib/generated-client/models/program-audio.js +10 -12
  386. package/lib/generated-client/models/public-system-info.d.ts +7 -7
  387. package/lib/generated-client/models/query-filters-legacy.d.ts +4 -4
  388. package/lib/generated-client/models/query-filters.d.ts +2 -2
  389. package/lib/generated-client/models/queue-item.d.ts +2 -2
  390. package/lib/generated-client/models/queue-request-dto.d.ts +2 -2
  391. package/lib/generated-client/models/quick-connect-dto.d.ts +1 -1
  392. package/lib/generated-client/models/quick-connect-result.d.ts +8 -8
  393. package/lib/generated-client/models/rating-type.d.ts +5 -4
  394. package/lib/generated-client/models/rating-type.js +6 -8
  395. package/lib/generated-client/models/ready-request-dto.d.ts +4 -4
  396. package/lib/generated-client/models/recommendation-dto.d.ts +4 -4
  397. package/lib/generated-client/models/recommendation-type.d.ts +9 -8
  398. package/lib/generated-client/models/recommendation-type.js +10 -12
  399. package/lib/generated-client/models/recording-status.d.ts +10 -9
  400. package/lib/generated-client/models/recording-status.js +11 -13
  401. package/lib/generated-client/models/remote-image-info.d.ts +10 -10
  402. package/lib/generated-client/models/remote-image-result.d.ts +3 -3
  403. package/lib/generated-client/models/remote-search-result.d.ts +12 -12
  404. package/lib/generated-client/models/remote-subtitle-info.d.ts +11 -11
  405. package/lib/generated-client/models/remove-from-playlist-request-dto.d.ts +3 -3
  406. package/lib/generated-client/models/repeat-mode.d.ts +6 -5
  407. package/lib/generated-client/models/repeat-mode.js +7 -9
  408. package/lib/generated-client/models/repository-info.d.ts +3 -3
  409. package/lib/generated-client/models/response-profile.d.ts +7 -7
  410. package/lib/generated-client/models/scroll-direction.d.ts +5 -4
  411. package/lib/generated-client/models/scroll-direction.js +6 -8
  412. package/lib/generated-client/models/search-hint-result.d.ts +2 -2
  413. package/lib/generated-client/models/search-hint.d.ts +29 -29
  414. package/lib/generated-client/models/seek-request-dto.d.ts +1 -1
  415. package/lib/generated-client/models/send-command-type.d.ts +7 -6
  416. package/lib/generated-client/models/send-command-type.js +8 -10
  417. package/lib/generated-client/models/send-command.d.ts +6 -6
  418. package/lib/generated-client/models/send-to-user-type.d.ts +6 -5
  419. package/lib/generated-client/models/send-to-user-type.js +7 -9
  420. package/lib/generated-client/models/series-info-remote-search-query.d.ts +4 -4
  421. package/lib/generated-client/models/series-info.d.ts +11 -11
  422. package/lib/generated-client/models/series-status.d.ts +5 -4
  423. package/lib/generated-client/models/series-status.js +6 -8
  424. package/lib/generated-client/models/series-timer-info-dto-query-result.d.ts +3 -3
  425. package/lib/generated-client/models/series-timer-info-dto.d.ts +35 -35
  426. package/lib/generated-client/models/server-configuration.d.ts +48 -48
  427. package/lib/generated-client/models/server-discovery-info.d.ts +4 -4
  428. package/lib/generated-client/models/session-info.d.ts +29 -29
  429. package/lib/generated-client/models/session-message-type.d.ts +37 -36
  430. package/lib/generated-client/models/session-message-type.js +38 -40
  431. package/lib/generated-client/models/session-user-info.d.ts +2 -2
  432. package/lib/generated-client/models/set-channel-mapping-dto.d.ts +3 -3
  433. package/lib/generated-client/models/set-playlist-item-request-dto.d.ts +1 -1
  434. package/lib/generated-client/models/set-repeat-mode-request-dto.d.ts +1 -1
  435. package/lib/generated-client/models/set-shuffle-mode-request-dto.d.ts +1 -1
  436. package/lib/generated-client/models/song-info.d.ts +14 -14
  437. package/lib/generated-client/models/sort-order.d.ts +5 -4
  438. package/lib/generated-client/models/sort-order.js +6 -8
  439. package/lib/generated-client/models/special-view-option-dto.d.ts +2 -2
  440. package/lib/generated-client/models/startup-configuration-dto.d.ts +3 -3
  441. package/lib/generated-client/models/startup-remote-access-dto.d.ts +2 -2
  442. package/lib/generated-client/models/startup-user-dto.d.ts +2 -2
  443. package/lib/generated-client/models/subtitle-delivery-method.d.ts +8 -7
  444. package/lib/generated-client/models/subtitle-delivery-method.js +9 -11
  445. package/lib/generated-client/models/subtitle-options.d.ts +9 -9
  446. package/lib/generated-client/models/subtitle-playback-mode.d.ts +8 -7
  447. package/lib/generated-client/models/subtitle-playback-mode.js +9 -11
  448. package/lib/generated-client/models/subtitle-profile.d.ts +5 -5
  449. package/lib/generated-client/models/sync-play-user-access-type.d.ts +6 -5
  450. package/lib/generated-client/models/sync-play-user-access-type.js +7 -9
  451. package/lib/generated-client/models/system-info.d.ts +26 -26
  452. package/lib/generated-client/models/task-completion-status.d.ts +7 -6
  453. package/lib/generated-client/models/task-completion-status.js +8 -10
  454. package/lib/generated-client/models/task-info.d.ts +10 -10
  455. package/lib/generated-client/models/task-result.d.ts +8 -8
  456. package/lib/generated-client/models/task-state.d.ts +6 -5
  457. package/lib/generated-client/models/task-state.js +7 -9
  458. package/lib/generated-client/models/task-trigger-info.d.ts +5 -5
  459. package/lib/generated-client/models/theme-media-result.d.ts +4 -4
  460. package/lib/generated-client/models/timer-event-info.d.ts +2 -2
  461. package/lib/generated-client/models/timer-info-dto-query-result.d.ts +3 -3
  462. package/lib/generated-client/models/timer-info-dto.d.ts +28 -28
  463. package/lib/generated-client/models/trailer-info-remote-search-query.d.ts +4 -4
  464. package/lib/generated-client/models/trailer-info.d.ts +11 -11
  465. package/lib/generated-client/models/transcode-reason.d.ts +43 -0
  466. package/lib/generated-client/models/transcode-reason.js +46 -0
  467. package/lib/generated-client/models/transcode-seek-info.d.ts +5 -4
  468. package/lib/generated-client/models/transcode-seek-info.js +6 -8
  469. package/lib/generated-client/models/transcoding-info.d.ts +15 -45
  470. package/lib/generated-client/models/transcoding-profile.d.ts +16 -16
  471. package/lib/generated-client/models/transport-stream-timestamp.d.ts +6 -5
  472. package/lib/generated-client/models/transport-stream-timestamp.js +7 -9
  473. package/lib/generated-client/models/tuner-channel-mapping.d.ts +4 -4
  474. package/lib/generated-client/models/tuner-host-info.d.ts +11 -11
  475. package/lib/generated-client/models/type-options.d.ts +6 -6
  476. package/lib/generated-client/models/unrated-item.d.ts +12 -11
  477. package/lib/generated-client/models/unrated-item.js +13 -15
  478. package/lib/generated-client/models/update-library-options-dto.d.ts +2 -2
  479. package/lib/generated-client/models/update-media-path-request-dto.d.ts +2 -2
  480. package/lib/generated-client/models/update-user-easy-password.d.ts +3 -3
  481. package/lib/generated-client/models/update-user-password.d.ts +4 -4
  482. package/lib/generated-client/models/upload-subtitle-dto.d.ts +4 -4
  483. package/lib/generated-client/models/user-configuration.d.ts +15 -15
  484. package/lib/generated-client/models/user-dto.d.ts +14 -14
  485. package/lib/generated-client/models/user-item-data-dto.d.ts +11 -11
  486. package/lib/generated-client/models/user-policy.d.ts +39 -39
  487. package/lib/generated-client/models/utc-time-response.d.ts +2 -2
  488. package/lib/generated-client/models/validate-path-dto.d.ts +3 -3
  489. package/lib/generated-client/models/version-info.d.ts +9 -9
  490. package/lib/generated-client/models/video-type.d.ts +7 -6
  491. package/lib/generated-client/models/video-type.js +8 -10
  492. package/lib/generated-client/models/video3-dformat.d.ts +8 -7
  493. package/lib/generated-client/models/video3-dformat.js +9 -11
  494. package/lib/generated-client/models/virtual-folder-info.d.ts +8 -8
  495. package/lib/generated-client/models/wake-on-lan-info.d.ts +2 -2
  496. package/lib/generated-client/models/xbmc-metadata-options.d.ts +5 -5
  497. package/lib/generated-client/models/xml-attribute.d.ts +2 -2
  498. package/lib/index.js +9 -39
  499. package/lib/jellyfin.d.ts +5 -7
  500. package/lib/jellyfin.js +12 -18
  501. package/lib/models/api/image-request-parameters.d.ts +1 -1
  502. package/lib/models/api/index.js +1 -23
  503. package/lib/models/api/item-sort-by.js +3 -4
  504. package/lib/models/index.js +2 -25
  505. package/lib/models/recommended-server-info.d.ts +2 -2
  506. package/lib/models/recommended-server-info.js +3 -4
  507. package/lib/models/recommended-server-issue.js +31 -77
  508. package/lib/node_modules/tslib/tslib.es6.js +26 -0
  509. package/lib/utils/address-candidates.js +30 -30
  510. package/lib/utils/api/activity-log-api.d.ts +1 -1
  511. package/lib/utils/api/activity-log-api.js +5 -6
  512. package/lib/utils/api/api-key-api.d.ts +1 -1
  513. package/lib/utils/api/api-key-api.js +5 -6
  514. package/lib/utils/api/artists-api.d.ts +1 -1
  515. package/lib/utils/api/artists-api.js +5 -6
  516. package/lib/utils/api/audio-api.d.ts +1 -1
  517. package/lib/utils/api/audio-api.js +5 -6
  518. package/lib/utils/api/branding-api.d.ts +1 -1
  519. package/lib/utils/api/branding-api.js +5 -6
  520. package/lib/utils/api/channels-api.d.ts +1 -1
  521. package/lib/utils/api/channels-api.js +5 -6
  522. package/lib/utils/api/client-log-api.d.ts +1 -1
  523. package/lib/utils/api/client-log-api.js +5 -6
  524. package/lib/utils/api/collection-api.d.ts +1 -1
  525. package/lib/utils/api/collection-api.js +5 -6
  526. package/lib/utils/api/configuration-api.d.ts +1 -1
  527. package/lib/utils/api/configuration-api.js +5 -6
  528. package/lib/utils/api/dashboard-api.d.ts +1 -1
  529. package/lib/utils/api/dashboard-api.js +5 -6
  530. package/lib/utils/api/devices-api.d.ts +1 -1
  531. package/lib/utils/api/devices-api.js +5 -6
  532. package/lib/utils/api/display-preferences-api.d.ts +1 -1
  533. package/lib/utils/api/display-preferences-api.js +5 -6
  534. package/lib/utils/api/dlna-api.d.ts +1 -1
  535. package/lib/utils/api/dlna-api.js +5 -6
  536. package/lib/utils/api/dlna-server-api.d.ts +1 -1
  537. package/lib/utils/api/dlna-server-api.js +5 -6
  538. package/lib/utils/api/dynamic-hls-api.d.ts +1 -1
  539. package/lib/utils/api/dynamic-hls-api.js +5 -6
  540. package/lib/utils/api/environment-api.d.ts +1 -1
  541. package/lib/utils/api/environment-api.js +5 -6
  542. package/lib/utils/api/filter-api.d.ts +1 -1
  543. package/lib/utils/api/filter-api.js +5 -6
  544. package/lib/utils/api/genres-api.d.ts +1 -1
  545. package/lib/utils/api/genres-api.js +5 -6
  546. package/lib/utils/api/hls-segment-api.d.ts +1 -1
  547. package/lib/utils/api/hls-segment-api.js +5 -6
  548. package/lib/utils/api/image-api.d.ts +1 -1
  549. package/lib/utils/api/image-api.js +5 -6
  550. package/lib/utils/api/image-by-name-api.d.ts +1 -1
  551. package/lib/utils/api/image-by-name-api.js +5 -6
  552. package/lib/utils/api/index.d.ts +66 -0
  553. package/lib/utils/api/index.js +61 -0
  554. package/lib/utils/api/instant-mix-api.d.ts +1 -1
  555. package/lib/utils/api/instant-mix-api.js +5 -6
  556. package/lib/utils/api/item-lookup-api.d.ts +1 -1
  557. package/lib/utils/api/item-lookup-api.js +5 -6
  558. package/lib/utils/api/item-refresh-api.d.ts +1 -1
  559. package/lib/utils/api/item-refresh-api.js +5 -6
  560. package/lib/utils/api/item-update-api.d.ts +1 -1
  561. package/lib/utils/api/item-update-api.js +5 -6
  562. package/lib/utils/api/items-api.d.ts +1 -1
  563. package/lib/utils/api/items-api.js +5 -6
  564. package/lib/utils/api/library-api.d.ts +1 -1
  565. package/lib/utils/api/library-api.js +5 -6
  566. package/lib/utils/api/library-structure-api.d.ts +1 -1
  567. package/lib/utils/api/library-structure-api.js +5 -6
  568. package/lib/utils/api/live-tv-api.d.ts +1 -1
  569. package/lib/utils/api/live-tv-api.js +5 -6
  570. package/lib/utils/api/localization-api.d.ts +1 -1
  571. package/lib/utils/api/localization-api.js +5 -6
  572. package/lib/utils/api/media-info-api.d.ts +1 -1
  573. package/lib/utils/api/media-info-api.js +5 -6
  574. package/lib/utils/api/movies-api.d.ts +1 -1
  575. package/lib/utils/api/movies-api.js +5 -6
  576. package/lib/utils/api/music-genres-api.d.ts +1 -1
  577. package/lib/utils/api/music-genres-api.js +5 -6
  578. package/lib/utils/api/notifications-api.d.ts +1 -1
  579. package/lib/utils/api/notifications-api.js +5 -6
  580. package/lib/utils/api/package-api.d.ts +1 -1
  581. package/lib/utils/api/package-api.js +5 -6
  582. package/lib/utils/api/persons-api.d.ts +1 -1
  583. package/lib/utils/api/persons-api.js +5 -6
  584. package/lib/utils/api/playlists-api.d.ts +1 -1
  585. package/lib/utils/api/playlists-api.js +5 -6
  586. package/lib/utils/api/playstate-api.d.ts +1 -1
  587. package/lib/utils/api/playstate-api.js +5 -6
  588. package/lib/utils/api/plugins-api.d.ts +1 -1
  589. package/lib/utils/api/plugins-api.js +5 -6
  590. package/lib/utils/api/quick-connect-api.d.ts +1 -1
  591. package/lib/utils/api/quick-connect-api.js +5 -6
  592. package/lib/utils/api/remote-image-api.d.ts +1 -1
  593. package/lib/utils/api/remote-image-api.js +5 -6
  594. package/lib/utils/api/scheduled-tasks-api.d.ts +1 -1
  595. package/lib/utils/api/scheduled-tasks-api.js +5 -6
  596. package/lib/utils/api/search-api.d.ts +1 -1
  597. package/lib/utils/api/search-api.js +5 -6
  598. package/lib/utils/api/session-api.d.ts +1 -1
  599. package/lib/utils/api/session-api.js +5 -6
  600. package/lib/utils/api/startup-api.d.ts +1 -1
  601. package/lib/utils/api/startup-api.js +5 -6
  602. package/lib/utils/api/studios-api.d.ts +1 -1
  603. package/lib/utils/api/studios-api.js +5 -6
  604. package/lib/utils/api/subtitle-api.d.ts +1 -1
  605. package/lib/utils/api/subtitle-api.js +5 -6
  606. package/lib/utils/api/suggestions-api.d.ts +1 -1
  607. package/lib/utils/api/suggestions-api.js +5 -6
  608. package/lib/utils/api/sync-play-api.d.ts +1 -1
  609. package/lib/utils/api/sync-play-api.js +5 -6
  610. package/lib/utils/api/system-api.d.ts +1 -1
  611. package/lib/utils/api/system-api.js +5 -6
  612. package/lib/utils/api/time-sync-api.d.ts +1 -1
  613. package/lib/utils/api/time-sync-api.js +5 -6
  614. package/lib/utils/api/tmdb-api.d.ts +1 -1
  615. package/lib/utils/api/tmdb-api.js +5 -6
  616. package/lib/utils/api/trailers-api.d.ts +1 -1
  617. package/lib/utils/api/trailers-api.js +5 -6
  618. package/lib/utils/api/tv-shows-api.d.ts +1 -1
  619. package/lib/utils/api/tv-shows-api.js +5 -6
  620. package/lib/utils/api/universal-audio-api.d.ts +1 -1
  621. package/lib/utils/api/universal-audio-api.js +5 -6
  622. package/lib/utils/api/user-api.d.ts +1 -1
  623. package/lib/utils/api/user-api.js +5 -6
  624. package/lib/utils/api/user-library-api.d.ts +1 -1
  625. package/lib/utils/api/user-library-api.js +5 -6
  626. package/lib/utils/api/user-views-api.d.ts +1 -1
  627. package/lib/utils/api/user-views-api.js +5 -6
  628. package/lib/utils/api/video-attachments-api.d.ts +1 -1
  629. package/lib/utils/api/video-attachments-api.js +5 -6
  630. package/lib/utils/api/videos-api.d.ts +1 -1
  631. package/lib/utils/api/videos-api.js +5 -6
  632. package/lib/utils/api/years-api.d.ts +1 -1
  633. package/lib/utils/api/years-api.js +5 -6
  634. package/lib/utils/authentication.d.ts +1 -1
  635. package/lib/utils/authentication.js +8 -11
  636. package/lib/utils/browser-profiles.d.ts +1 -1
  637. package/lib/utils/browser-profiles.js +11 -12
  638. package/lib/utils/index.js +6 -20
  639. package/lib/utils/url/constants.d.ts +13 -0
  640. package/lib/utils/url/constants.js +15 -0
  641. package/lib/utils/{url.d.ts → url/index.d.ts} +2 -8
  642. package/lib/utils/url/index.js +41 -0
  643. package/lib/utils/{normalize-url.js → url/normalize-url.js} +16 -16
  644. package/lib/{models/api/image-request-parameters.js → versions.d.ts} +4 -2
  645. package/lib/{models/client-info.js → versions.js} +6 -2
  646. package/package.json +21 -17
  647. package/.gitattributes +0 -5
  648. package/lib/generated-client/api.js +0 -89
  649. package/lib/generated-client/models/access-schedule.js +0 -14
  650. package/lib/generated-client/models/activity-log-entry-query-result.js +0 -14
  651. package/lib/generated-client/models/activity-log-entry.js +0 -14
  652. package/lib/generated-client/models/add-virtual-folder-dto.js +0 -14
  653. package/lib/generated-client/models/admin-notification-dto.js +0 -14
  654. package/lib/generated-client/models/album-info-remote-search-query.js +0 -14
  655. package/lib/generated-client/models/album-info.js +0 -14
  656. package/lib/generated-client/models/all-theme-media-result.js +0 -14
  657. package/lib/generated-client/models/artist-info-remote-search-query.js +0 -14
  658. package/lib/generated-client/models/artist-info.js +0 -14
  659. package/lib/generated-client/models/authenticate-user-by-name.js +0 -14
  660. package/lib/generated-client/models/authentication-info-query-result.js +0 -14
  661. package/lib/generated-client/models/authentication-info.js +0 -14
  662. package/lib/generated-client/models/authentication-result.js +0 -14
  663. package/lib/generated-client/models/base-item-dto-image-blur-hashes.js +0 -14
  664. package/lib/generated-client/models/base-item-dto-query-result.js +0 -14
  665. package/lib/generated-client/models/base-item-dto.js +0 -14
  666. package/lib/generated-client/models/base-item-person-image-blur-hashes.js +0 -14
  667. package/lib/generated-client/models/base-item-person.js +0 -14
  668. package/lib/generated-client/models/base-item.js +0 -14
  669. package/lib/generated-client/models/book-info-remote-search-query.js +0 -14
  670. package/lib/generated-client/models/book-info.js +0 -14
  671. package/lib/generated-client/models/box-set-info-remote-search-query.js +0 -14
  672. package/lib/generated-client/models/box-set-info.js +0 -14
  673. package/lib/generated-client/models/branding-options.js +0 -14
  674. package/lib/generated-client/models/buffer-request-dto.js +0 -14
  675. package/lib/generated-client/models/channel-features.js +0 -14
  676. package/lib/generated-client/models/channel-mapping-options-dto.js +0 -14
  677. package/lib/generated-client/models/chapter-info.js +0 -14
  678. package/lib/generated-client/models/client-capabilities-dto.js +0 -14
  679. package/lib/generated-client/models/client-capabilities.js +0 -14
  680. package/lib/generated-client/models/client-log-document-response-dto.js +0 -14
  681. package/lib/generated-client/models/codec-profile.js +0 -14
  682. package/lib/generated-client/models/collection-creation-result.js +0 -14
  683. package/lib/generated-client/models/config-image-types.js +0 -14
  684. package/lib/generated-client/models/configuration-page-info.js +0 -14
  685. package/lib/generated-client/models/container-profile.js +0 -14
  686. package/lib/generated-client/models/control-response.js +0 -14
  687. package/lib/generated-client/models/country-info.js +0 -14
  688. package/lib/generated-client/models/create-playlist-dto.js +0 -14
  689. package/lib/generated-client/models/create-user-by-name.js +0 -14
  690. package/lib/generated-client/models/culture-dto.js +0 -14
  691. package/lib/generated-client/models/default-directory-browser-info-dto.js +0 -14
  692. package/lib/generated-client/models/device-identification.js +0 -14
  693. package/lib/generated-client/models/device-info-query-result.js +0 -14
  694. package/lib/generated-client/models/device-info.js +0 -14
  695. package/lib/generated-client/models/device-options-dto.js +0 -14
  696. package/lib/generated-client/models/device-options.js +0 -14
  697. package/lib/generated-client/models/device-profile-info.js +0 -14
  698. package/lib/generated-client/models/device-profile.js +0 -14
  699. package/lib/generated-client/models/direct-play-profile.js +0 -14
  700. package/lib/generated-client/models/display-preferences-dto.js +0 -14
  701. package/lib/generated-client/models/dlna-options.js +0 -14
  702. package/lib/generated-client/models/encoding-options.js +0 -14
  703. package/lib/generated-client/models/end-point-info.js +0 -14
  704. package/lib/generated-client/models/external-id-info.js +0 -14
  705. package/lib/generated-client/models/external-url.js +0 -14
  706. package/lib/generated-client/models/file-system-entry-info.js +0 -14
  707. package/lib/generated-client/models/font-file.js +0 -14
  708. package/lib/generated-client/models/forgot-password-dto.js +0 -14
  709. package/lib/generated-client/models/forgot-password-pin-dto.js +0 -14
  710. package/lib/generated-client/models/forgot-password-result.js +0 -14
  711. package/lib/generated-client/models/general-command.js +0 -14
  712. package/lib/generated-client/models/get-programs-dto.js +0 -14
  713. package/lib/generated-client/models/group-info-dto.js +0 -14
  714. package/lib/generated-client/models/guide-info.js +0 -14
  715. package/lib/generated-client/models/http-header-info.js +0 -14
  716. package/lib/generated-client/models/ignore-wait-request-dto.js +0 -14
  717. package/lib/generated-client/models/image-by-name-info.js +0 -14
  718. package/lib/generated-client/models/image-info.js +0 -14
  719. package/lib/generated-client/models/image-option.js +0 -14
  720. package/lib/generated-client/models/image-provider-info.js +0 -14
  721. package/lib/generated-client/models/installation-info.js +0 -14
  722. package/lib/generated-client/models/iplugin.js +0 -14
  723. package/lib/generated-client/models/item-counts.js +0 -14
  724. package/lib/generated-client/models/join-group-request-dto.js +0 -14
  725. package/lib/generated-client/models/library-option-info-dto.js +0 -14
  726. package/lib/generated-client/models/library-options-result-dto.js +0 -14
  727. package/lib/generated-client/models/library-options.js +0 -14
  728. package/lib/generated-client/models/library-type-options-dto.js +0 -14
  729. package/lib/generated-client/models/library-update-info.js +0 -14
  730. package/lib/generated-client/models/listings-provider-info.js +0 -14
  731. package/lib/generated-client/models/live-stream-response.js +0 -14
  732. package/lib/generated-client/models/live-tv-info.js +0 -14
  733. package/lib/generated-client/models/live-tv-options.js +0 -14
  734. package/lib/generated-client/models/live-tv-service-info.js +0 -14
  735. package/lib/generated-client/models/localization-option.js +0 -14
  736. package/lib/generated-client/models/log-file.js +0 -14
  737. package/lib/generated-client/models/media-attachment.js +0 -14
  738. package/lib/generated-client/models/media-encoder-path-dto.js +0 -14
  739. package/lib/generated-client/models/media-path-dto.js +0 -14
  740. package/lib/generated-client/models/media-path-info.js +0 -14
  741. package/lib/generated-client/models/media-source-info.js +0 -14
  742. package/lib/generated-client/models/media-stream.js +0 -14
  743. package/lib/generated-client/models/media-update-info-dto.js +0 -14
  744. package/lib/generated-client/models/media-update-info-path-dto.js +0 -14
  745. package/lib/generated-client/models/media-url.js +0 -14
  746. package/lib/generated-client/models/message-command.js +0 -14
  747. package/lib/generated-client/models/metadata-configuration.js +0 -14
  748. package/lib/generated-client/models/metadata-editor-info.js +0 -14
  749. package/lib/generated-client/models/metadata-options.js +0 -14
  750. package/lib/generated-client/models/move-playlist-item-request-dto.js +0 -14
  751. package/lib/generated-client/models/movie-info-remote-search-query.js +0 -14
  752. package/lib/generated-client/models/movie-info.js +0 -14
  753. package/lib/generated-client/models/music-video-info-remote-search-query.js +0 -14
  754. package/lib/generated-client/models/music-video-info.js +0 -14
  755. package/lib/generated-client/models/name-guid-pair.js +0 -14
  756. package/lib/generated-client/models/name-id-pair.js +0 -14
  757. package/lib/generated-client/models/name-value-pair.js +0 -14
  758. package/lib/generated-client/models/network-configuration.js +0 -14
  759. package/lib/generated-client/models/new-group-request-dto.js +0 -14
  760. package/lib/generated-client/models/next-item-request-dto.js +0 -14
  761. package/lib/generated-client/models/notification-dto.js +0 -14
  762. package/lib/generated-client/models/notification-option.js +0 -14
  763. package/lib/generated-client/models/notification-options.js +0 -14
  764. package/lib/generated-client/models/notification-result-dto.js +0 -14
  765. package/lib/generated-client/models/notification-type-info.js +0 -14
  766. package/lib/generated-client/models/notifications-summary-dto.js +0 -14
  767. package/lib/generated-client/models/object-group-update.js +0 -14
  768. package/lib/generated-client/models/open-live-stream-dto.js +0 -14
  769. package/lib/generated-client/models/package-info.js +0 -14
  770. package/lib/generated-client/models/parental-rating.js +0 -14
  771. package/lib/generated-client/models/path-substitution.js +0 -14
  772. package/lib/generated-client/models/person-lookup-info-remote-search-query.js +0 -14
  773. package/lib/generated-client/models/person-lookup-info.js +0 -14
  774. package/lib/generated-client/models/pin-redeem-result.js +0 -14
  775. package/lib/generated-client/models/ping-request-dto.js +0 -14
  776. package/lib/generated-client/models/play-request-dto.js +0 -14
  777. package/lib/generated-client/models/play-request.js +0 -14
  778. package/lib/generated-client/models/playback-info-dto.js +0 -14
  779. package/lib/generated-client/models/playback-info-response.js +0 -14
  780. package/lib/generated-client/models/playback-progress-info.js +0 -14
  781. package/lib/generated-client/models/playback-start-info.js +0 -14
  782. package/lib/generated-client/models/playback-stop-info.js +0 -14
  783. package/lib/generated-client/models/player-state-info.js +0 -14
  784. package/lib/generated-client/models/playlist-creation-result.js +0 -14
  785. package/lib/generated-client/models/playstate-request.js +0 -14
  786. package/lib/generated-client/models/plugin-info.js +0 -14
  787. package/lib/generated-client/models/previous-item-request-dto.js +0 -14
  788. package/lib/generated-client/models/problem-details.js +0 -14
  789. package/lib/generated-client/models/profile-condition.js +0 -14
  790. package/lib/generated-client/models/public-system-info.js +0 -14
  791. package/lib/generated-client/models/query-filters-legacy.js +0 -14
  792. package/lib/generated-client/models/query-filters.js +0 -14
  793. package/lib/generated-client/models/queue-item.js +0 -14
  794. package/lib/generated-client/models/queue-request-dto.js +0 -14
  795. package/lib/generated-client/models/quick-connect-dto.js +0 -14
  796. package/lib/generated-client/models/quick-connect-result.js +0 -14
  797. package/lib/generated-client/models/ready-request-dto.js +0 -14
  798. package/lib/generated-client/models/recommendation-dto.js +0 -14
  799. package/lib/generated-client/models/remote-image-info.js +0 -14
  800. package/lib/generated-client/models/remote-image-result.js +0 -14
  801. package/lib/generated-client/models/remote-search-result.js +0 -14
  802. package/lib/generated-client/models/remote-subtitle-info.js +0 -14
  803. package/lib/generated-client/models/remove-from-playlist-request-dto.js +0 -14
  804. package/lib/generated-client/models/repository-info.js +0 -14
  805. package/lib/generated-client/models/response-profile.js +0 -14
  806. package/lib/generated-client/models/search-hint-result.js +0 -14
  807. package/lib/generated-client/models/search-hint.js +0 -14
  808. package/lib/generated-client/models/seek-request-dto.js +0 -14
  809. package/lib/generated-client/models/send-command.js +0 -14
  810. package/lib/generated-client/models/series-info-remote-search-query.js +0 -14
  811. package/lib/generated-client/models/series-info.js +0 -14
  812. package/lib/generated-client/models/series-timer-info-dto-query-result.js +0 -14
  813. package/lib/generated-client/models/series-timer-info-dto.js +0 -14
  814. package/lib/generated-client/models/server-configuration.js +0 -14
  815. package/lib/generated-client/models/server-discovery-info.js +0 -14
  816. package/lib/generated-client/models/session-info.js +0 -14
  817. package/lib/generated-client/models/session-user-info.js +0 -14
  818. package/lib/generated-client/models/set-channel-mapping-dto.js +0 -14
  819. package/lib/generated-client/models/set-playlist-item-request-dto.js +0 -14
  820. package/lib/generated-client/models/set-repeat-mode-request-dto.js +0 -14
  821. package/lib/generated-client/models/set-shuffle-mode-request-dto.js +0 -14
  822. package/lib/generated-client/models/song-info.js +0 -14
  823. package/lib/generated-client/models/special-view-option-dto.js +0 -14
  824. package/lib/generated-client/models/startup-configuration-dto.js +0 -14
  825. package/lib/generated-client/models/startup-remote-access-dto.js +0 -14
  826. package/lib/generated-client/models/startup-user-dto.js +0 -14
  827. package/lib/generated-client/models/subtitle-options.js +0 -14
  828. package/lib/generated-client/models/subtitle-profile.js +0 -14
  829. package/lib/generated-client/models/system-info.js +0 -14
  830. package/lib/generated-client/models/task-info.js +0 -14
  831. package/lib/generated-client/models/task-result.js +0 -14
  832. package/lib/generated-client/models/task-trigger-info.js +0 -14
  833. package/lib/generated-client/models/theme-media-result.js +0 -14
  834. package/lib/generated-client/models/timer-event-info.js +0 -14
  835. package/lib/generated-client/models/timer-info-dto-query-result.js +0 -14
  836. package/lib/generated-client/models/timer-info-dto.js +0 -14
  837. package/lib/generated-client/models/trailer-info-remote-search-query.js +0 -14
  838. package/lib/generated-client/models/trailer-info.js +0 -14
  839. package/lib/generated-client/models/transcoding-info.js +0 -47
  840. package/lib/generated-client/models/transcoding-profile.js +0 -14
  841. package/lib/generated-client/models/tuner-channel-mapping.js +0 -14
  842. package/lib/generated-client/models/tuner-host-info.js +0 -14
  843. package/lib/generated-client/models/type-options.js +0 -14
  844. package/lib/generated-client/models/update-library-options-dto.js +0 -14
  845. package/lib/generated-client/models/update-media-path-request-dto.js +0 -14
  846. package/lib/generated-client/models/update-user-easy-password.js +0 -14
  847. package/lib/generated-client/models/update-user-password.js +0 -14
  848. package/lib/generated-client/models/upload-subtitle-dto.js +0 -14
  849. package/lib/generated-client/models/user-configuration.js +0 -14
  850. package/lib/generated-client/models/user-dto.js +0 -14
  851. package/lib/generated-client/models/user-item-data-dto.js +0 -14
  852. package/lib/generated-client/models/user-policy.js +0 -14
  853. package/lib/generated-client/models/utc-time-response.js +0 -14
  854. package/lib/generated-client/models/validate-path-dto.js +0 -14
  855. package/lib/generated-client/models/version-info.js +0 -14
  856. package/lib/generated-client/models/virtual-folder-info.js +0 -14
  857. package/lib/generated-client/models/wake-on-lan-info.js +0 -14
  858. package/lib/generated-client/models/xbmc-metadata-options.js +0 -14
  859. package/lib/generated-client/models/xml-attribute.js +0 -14
  860. package/lib/models/device-info.js +0 -7
  861. package/lib/utils/url.js +0 -54
  862. package/openapi-templates/licenseInfo.mustache +0 -10
  863. package/tsconfig.json +0 -25
  864. /package/lib/utils/{normalize-url.d.ts → url/normalize-url.d.ts} +0 -0
package/README.md CHANGED
@@ -35,8 +35,10 @@ yarn add @jellyfin/sdk
35
35
 
36
36
  | SDK Version | Jellyfin Version |
37
37
  |:-:|:-:|
38
- | 0.7.0 | 10.8.1+ |
39
- | 0.6.0 | 10.8.1 |
38
+ | 0.8.1 | 10.8.1 - 10.8.9 |
39
+ | 0.8.0 | 10.8.1 - 10.8.9 |
40
+ | 0.7.0 | 10.8.1 - 10.8.9 |
41
+ | 0.6.0 | 10.8.1 - 10.8.9 |
40
42
  | 0.5.0 | 10.8.0 |
41
43
  | <0.5.0 | 10.7.x |
42
44
 
@@ -73,9 +75,13 @@ const best = jellyfin.discovery.findBestServer(servers);
73
75
  // Create an API instance
74
76
  const api = jellyfin.createApi(best.address);
75
77
 
76
- // Each API endpoint is exposed via a getter on the SDK instance using
77
- // a shared Configuration and Axios instance. For example the /System APIs
78
- // are available as api.systemApi.
78
+ // Each API endpoint is represented by a class in the generated client.
79
+ // Helper utility functions are provided under `/lib/utils/api/` to create an
80
+ // instance of a specific Jellyfin API using the shared Configuration and Axios
81
+ // instance from the `api` object created above.
82
+
83
+ // For example, the SystemApi can be generated using the `getSystemApi`
84
+ // function in `/lib/utils/api/system-api`.
79
85
 
80
86
  // Fetch the public system info
81
87
  const info = await getSystemApi(api).getPublicSystemInfo();
@@ -103,6 +109,13 @@ await api.logout();
103
109
 
104
110
  ## Breaking Changes
105
111
 
112
+ ### v0.8.0
113
+
114
+ * The library is now fully targeted to ES6/ES2015.
115
+ [#341](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/341)
116
+ * Axios received a major version upgrade.
117
+ [#300](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/300)
118
+
106
119
  ### v0.7.0
107
120
 
108
121
  * Renamed package to @jellyfin/sdk.
@@ -132,10 +145,11 @@ await api.logout();
132
145
 
133
146
  ## Roadmap to 1.0
134
147
 
135
- * [ ] More complete device profile generation utilities
136
148
  * [x] Use custom generator templates for API versions [#231](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/231) (Currently uses sed to update the value could be improved.)
137
- * [x] Automate OpenAPI spec updates using GitHub
138
- * [ ] Create branch tracking unstable Jellyfin builds with automated builds
149
+ * [x] Automate OpenAPI spec updates using GitHub [#351](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/351)
150
+ * [x] Create branch tracking unstable Jellyfin builds with automated builds [#354](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/354)
139
151
  * [ ] Fix authentication header escaping
140
- * [ ] Add exmple projects for different ecosystems [#186](https://github.com/jellyfin/jellyfin-sdk-typescript/issues/186)
152
+ * [ ] Add WebSocket API support
153
+ * [ ] Add example projects for different ecosystems [#186](https://github.com/jellyfin/jellyfin-sdk-typescript/issues/186)
141
154
  * [ ] Add utility function for `getFile` [#164](https://github.com/jellyfin/jellyfin-sdk-typescript/issues/164)
155
+ * [ ] More complete device profile generation utilities
package/lib/api.d.ts CHANGED
@@ -3,12 +3,12 @@
3
3
  * License, v. 2.0. If a copy of the MPL was not distributed with this
4
4
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
5
  */
6
- import { AxiosInstance, AxiosResponse } from 'axios';
6
+ import type { AxiosInstance, AxiosResponse } from 'axios';
7
7
  import { Configuration } from './generated-client/configuration';
8
- import { AuthenticationResult } from './generated-client/models/authentication-result';
8
+ import type { AuthenticationResult } from './generated-client/models/authentication-result';
9
9
  import { ImageType } from './generated-client/models/image-type';
10
- import { ClientInfo, DeviceInfo } from './models';
11
- import { ImageRequestParameters } from './models/api/image-request-parameters';
10
+ import type { ClientInfo, DeviceInfo } from './models';
11
+ import type { ImageRequestParameters } from './models/api/image-request-parameters';
12
12
  /** The authorization header field name. */
13
13
  export declare const AUTHORIZATION_HEADER = "Authorization";
14
14
  /** Class representing the Jellyfin API. */
package/lib/api.js CHANGED
@@ -1,73 +1,53 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Api = exports.AUTHORIZATION_HEADER = void 0;
7
- /**
8
- * This Source Code Form is subject to the terms of the Mozilla Public
9
- * License, v. 2.0. If a copy of the MPL was not distributed with this
10
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
11
- */
12
- var axios_1 = __importDefault(require("axios"));
13
- var configuration_1 = require("./generated-client/configuration");
14
- var image_type_1 = require("./generated-client/models/image-type");
15
- var utils_1 = require("./utils");
16
- var session_api_1 = require("./utils/api/session-api");
17
- var user_api_1 = require("./utils/api/user-api");
18
- // eslint-disable-next-line @typescript-eslint/no-var-requires
19
- var buildFullPath = require('axios/lib/core/buildFullPath');
1
+ import globalAxios from 'axios';
2
+ import { Configuration } from './generated-client/configuration.js';
3
+ import { ImageType } from './generated-client/models/image-type.js';
4
+ import { getAuthorizationHeader } from './utils/authentication.js';
5
+ import { getSessionApi } from './utils/api/session-api.js';
6
+ import { getUserApi } from './utils/api/user-api.js';
7
+
20
8
  /** The authorization header field name. */
21
- exports.AUTHORIZATION_HEADER = 'Authorization';
9
+ const AUTHORIZATION_HEADER = 'Authorization';
22
10
  /** Class representing the Jellyfin API. */
23
- var Api = /** @class */ (function () {
24
- function Api(basePath, clientInfo, deviceInfo, accessToken, axiosInstance) {
25
- if (accessToken === void 0) { accessToken = ''; }
26
- if (axiosInstance === void 0) { axiosInstance = axios_1.default; }
27
- this.basePath = basePath;
11
+ class Api {
12
+ constructor(basePath, clientInfo, deviceInfo, accessToken = '', axiosInstance = globalAxios) {
13
+ // Remove trailing slash if present
14
+ this.basePath = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;
28
15
  this.clientInfo = clientInfo;
29
16
  this.deviceInfo = deviceInfo;
30
17
  this.accessToken = accessToken;
31
18
  this.axiosInstance = axiosInstance;
32
19
  }
33
- Object.defineProperty(Api.prototype, "configuration", {
34
- get: function () {
35
- return new configuration_1.Configuration({
36
- basePath: this.basePath,
37
- apiKey: this.authorizationHeader
38
- });
39
- },
40
- enumerable: false,
41
- configurable: true
42
- });
20
+ get configuration() {
21
+ return new Configuration({
22
+ basePath: this.basePath,
23
+ apiKey: this.authorizationHeader
24
+ });
25
+ }
43
26
  /**
44
27
  * Convenience method for authenticating a user by name and updating the internal state.
45
28
  * @param username The username.
46
29
  * @param password The user password if required.
47
30
  */
48
- Api.prototype.authenticateUserByName = function (username, password) {
49
- var _a;
50
- var _this = this;
51
- return (0, user_api_1.getUserApi)(this).authenticateUserByName(
31
+ authenticateUserByName(username, password) {
32
+ return getUserApi(this).authenticateUserByName(
52
33
  // The axios client does some strange wrapping of the param object
53
34
  { authenticateUserByName: { Username: username, Pw: password } },
54
35
  // The authorization header is required for the request to succeed
55
- { headers: (_a = {}, _a[exports.AUTHORIZATION_HEADER] = this.authorizationHeader, _a) }).then(function (response) {
36
+ { headers: { [AUTHORIZATION_HEADER]: this.authorizationHeader } }).then(response => {
56
37
  // Update the current token and configuration object
57
- _this.accessToken = response.data.AccessToken || '';
38
+ this.accessToken = response.data.AccessToken || '';
58
39
  return response;
59
40
  });
60
- };
41
+ }
61
42
  /**
62
43
  * Convenience method for logging out and updating the internal state.
63
44
  */
64
- Api.prototype.logout = function () {
65
- var _this = this;
66
- return (0, session_api_1.getSessionApi)(this).reportSessionEnded().then(function (response) {
67
- _this.accessToken = '';
45
+ logout() {
46
+ return getSessionApi(this).reportSessionEnded().then(response => {
47
+ this.accessToken = '';
68
48
  return response;
69
49
  });
70
- };
50
+ }
71
51
  /**
72
52
  * Get an item image URL.
73
53
  * @param itemId The Item ID.
@@ -75,25 +55,15 @@ var Api = /** @class */ (function () {
75
55
  * @param params Additional request parameters.
76
56
  * @returns The image URL.
77
57
  */
78
- Api.prototype.getItemImageUrl = function (itemId, imageType, params) {
79
- if (imageType === void 0) { imageType = image_type_1.ImageType.Primary; }
80
- if (params === void 0) { params = {}; }
58
+ getItemImageUrl(itemId, imageType = ImageType.Primary, params = {}) {
81
59
  // TODO: We could probably use ImageApiAxiosParamCreator to make this more robust
82
- var uri = this.axiosInstance.getUri({
83
- url: "/Items/".concat(itemId, "/Images/").concat(imageType),
84
- params: params
85
- });
86
- // NOTE: This behavior will probably be the default in axios in the future
87
- // https://github.com/axios/axios/issues/2468
88
- return buildFullPath(this.basePath, uri);
89
- };
90
- Object.defineProperty(Api.prototype, "authorizationHeader", {
91
- get: function () {
92
- return (0, utils_1.getAuthorizationHeader)(this.clientInfo, this.deviceInfo, this.accessToken);
93
- },
94
- enumerable: false,
95
- configurable: true
96
- });
97
- return Api;
98
- }());
99
- exports.Api = Api;
60
+ return globalAxios.create({
61
+ baseURL: this.basePath
62
+ }).getUri({ url: `/Items/${itemId}/Images/${imageType}`, params });
63
+ }
64
+ get authorizationHeader() {
65
+ return getAuthorizationHeader(this.clientInfo, this.deviceInfo, this.accessToken);
66
+ }
67
+ }
68
+
69
+ export { AUTHORIZATION_HEADER, Api };
@@ -3,7 +3,9 @@
3
3
  * License, v. 2.0. If a copy of the MPL was not distributed with this
4
4
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
5
  */
6
- import { Jellyfin, RecommendedServerInfo, RecommendedServerInfoScore } from '..';
6
+ import type { Jellyfin } from '../jellyfin';
7
+ import type { RecommendedServerInfo } from '../models/recommended-server-info';
8
+ import { RecommendedServerInfoScore } from '../models/recommended-server-info';
7
9
  /** Class used for discovering recommended servers. */
8
10
  export declare class DiscoveryService {
9
11
  private jellyfin;
@@ -1,84 +1,47 @@
1
- "use strict";
1
+ import { __awaiter } from '../node_modules/tslib/tslib.es6.js';
2
+ import { RecommendedServerInfoScore } from '../models/recommended-server-info.js';
3
+ import { getAddressCandidates } from '../utils/address-candidates.js';
4
+ import { RecommendedServerDiscovery } from './recommended-server-discovery.js';
5
+
2
6
  /**
3
7
  * This Source Code Form is subject to the terms of the Mozilla Public
4
8
  * License, v. 2.0. If a copy of the MPL was not distributed with this
5
9
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
10
  */
7
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
- return new (P || (P = Promise))(function (resolve, reject) {
10
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
- step((generator = generator.apply(thisArg, _arguments || [])).next());
14
- });
15
- };
16
- var __generator = (this && this.__generator) || function (thisArg, body) {
17
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
18
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
19
- function verb(n) { return function (v) { return step([n, v]); }; }
20
- function step(op) {
21
- if (f) throw new TypeError("Generator is already executing.");
22
- while (_) try {
23
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
24
- if (y = 0, t) op = [op[0] & 2, t.value];
25
- switch (op[0]) {
26
- case 0: case 1: t = op; break;
27
- case 4: _.label++; return { value: op[1], done: false };
28
- case 5: _.label++; y = op[1]; op = [0]; continue;
29
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
30
- default:
31
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
32
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
33
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
34
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
35
- if (t[2]) _.ops.pop();
36
- _.trys.pop(); continue;
37
- }
38
- op = body.call(thisArg, _);
39
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
40
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
41
- }
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.DiscoveryService = void 0;
45
- var __1 = require("..");
46
- var utils_1 = require("../utils");
47
- var recommended_server_discovery_1 = require("./recommended-server-discovery");
48
11
  /** Class used for discovering recommended servers. */
49
- var DiscoveryService = /** @class */ (function () {
50
- function DiscoveryService(jellyfin) {
12
+ class DiscoveryService {
13
+ constructor(jellyfin) {
51
14
  this.jellyfin = jellyfin;
52
- this.recommendedServerDiscovery = new recommended_server_discovery_1.RecommendedServerDiscovery(this.jellyfin);
15
+ this.recommendedServerDiscovery = new RecommendedServerDiscovery(this.jellyfin);
53
16
  }
54
17
  /**
55
18
  * Finds the best server from a list of recommended servers by score.
56
19
  * @param servers A list of recommended servers.
57
20
  * @returns The best scoring recommended server.
58
21
  */
59
- DiscoveryService.prototype.findBestServer = function (servers) {
22
+ findBestServer(servers) {
60
23
  // First look for GREAT scores
61
- var best = servers.find(function (server) { return server.score === __1.RecommendedServerInfoScore.GREAT; });
24
+ let best = servers.find(server => server.score === RecommendedServerInfoScore.GREAT);
62
25
  // If no GREAT scores, look for GOOD scores
63
26
  if (!best) {
64
- best = servers.find(function (server) { return server.score === __1.RecommendedServerInfoScore.GOOD; });
27
+ best = servers.find(server => server.score === RecommendedServerInfoScore.GOOD);
65
28
  }
66
29
  // If no GREAT or GOOD scores, look for OK scores
67
30
  if (!best) {
68
- best = servers.find(function (server) { return server.score === __1.RecommendedServerInfoScore.OK; });
31
+ best = servers.find(server => server.score === RecommendedServerInfoScore.OK);
69
32
  }
70
33
  // Do NOT return any BAD scores
71
34
  return best;
72
- };
35
+ }
73
36
  /**
74
37
  * Gets a list of address candidates url strings
75
38
  * from a provided url address string.
76
39
  * @param input A server url address string.
77
40
  * @returns A list of potential server addresses.
78
41
  */
79
- DiscoveryService.prototype.getAddressCandidates = function (input) {
80
- return (0, utils_1.getAddressCandidates)(input);
81
- };
42
+ getAddressCandidates(input) {
43
+ return getAddressCandidates(input);
44
+ }
82
45
  /**
83
46
  * Gets a list of recommended server information from a provided
84
47
  * list of possible server addresses.
@@ -86,13 +49,11 @@ var DiscoveryService = /** @class */ (function () {
86
49
  * @param minimumScore The minimum server score to include in the results.
87
50
  * @returns A list of RecommendedServerInfo from the possible server addresses.
88
51
  */
89
- DiscoveryService.prototype.getRecommendedServers = function (servers, minimumScore) {
90
- return __awaiter(this, void 0, void 0, function () {
91
- return __generator(this, function (_a) {
92
- return [2 /*return*/, this.recommendedServerDiscovery.discover(servers, minimumScore)];
93
- });
52
+ getRecommendedServers(servers, minimumScore) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return this.recommendedServerDiscovery.discover(servers, minimumScore);
94
55
  });
95
- };
56
+ }
96
57
  /**
97
58
  * Gets a list of recommended server information from the address
98
59
  * candidates of a potential server address.
@@ -100,13 +61,11 @@ var DiscoveryService = /** @class */ (function () {
100
61
  * @param minimumScore The minimum server score to include in the results.
101
62
  * @returns A list of RecommendedServerInfo from the address candidates.
102
63
  */
103
- DiscoveryService.prototype.getRecommendedServerCandidates = function (input, minimumScore) {
104
- return __awaiter(this, void 0, void 0, function () {
105
- return __generator(this, function (_a) {
106
- return [2 /*return*/, this.getRecommendedServers(this.getAddressCandidates(input), minimumScore)];
107
- });
64
+ getRecommendedServerCandidates(input, minimumScore) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ return this.getRecommendedServers(this.getAddressCandidates(input), minimumScore);
108
67
  });
109
- };
110
- return DiscoveryService;
111
- }());
112
- exports.DiscoveryService = DiscoveryService;
68
+ }
69
+ }
70
+
71
+ export { DiscoveryService };
@@ -1,23 +1,8 @@
1
- "use strict";
1
+ export { DiscoveryService } from './discovery-service.js';
2
+ export { RecommendedServerDiscovery } from './recommended-server-discovery.js';
3
+
2
4
  /**
3
5
  * This Source Code Form is subject to the terms of the Mozilla Public
4
6
  * License, v. 2.0. If a copy of the MPL was not distributed with this
5
7
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
8
  */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- __exportStar(require("./discovery-service"), exports);
23
- __exportStar(require("./recommended-server-discovery"), exports);
@@ -3,7 +3,9 @@
3
3
  * License, v. 2.0. If a copy of the MPL was not distributed with this
4
4
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
5
  */
6
- import { Jellyfin, RecommendedServerInfo, RecommendedServerInfoScore } from '..';
6
+ import type { Jellyfin } from '../jellyfin';
7
+ import type { RecommendedServerInfo } from '../models/recommended-server-info';
8
+ import { RecommendedServerInfoScore } from '../models/recommended-server-info';
7
9
  /** Class to discover and evaluate potential servers. */
8
10
  export declare class RecommendedServerDiscovery {
9
11
  private jellyfin;
@@ -1,108 +1,72 @@
1
- "use strict";
1
+ import { __awaiter } from '../node_modules/tslib/tslib.es6.js';
2
+ import { compare } from 'compare-versions';
3
+ import { RecommendedServerInfoScore } from '../models/recommended-server-info.js';
4
+ import { SystemInfoIssue, ProductNameIssue, VersionMissingIssue, VersionUnsupportedIssue, VersionOutdatedIssue, SlowResponseIssue } from '../models/recommended-server-issue.js';
5
+ import { getSystemApi } from '../utils/api/system-api.js';
6
+ import { MINIMUM_VERSION, API_VERSION } from '../versions.js';
7
+
2
8
  /**
3
9
  * This Source Code Form is subject to the terms of the Mozilla Public
4
10
  * License, v. 2.0. If a copy of the MPL was not distributed with this
5
11
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
12
  */
7
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
- return new (P || (P = Promise))(function (resolve, reject) {
10
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
- step((generator = generator.apply(thisArg, _arguments || [])).next());
14
- });
15
- };
16
- var __generator = (this && this.__generator) || function (thisArg, body) {
17
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
18
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
19
- function verb(n) { return function (v) { return step([n, v]); }; }
20
- function step(op) {
21
- if (f) throw new TypeError("Generator is already executing.");
22
- while (_) try {
23
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
24
- if (y = 0, t) op = [op[0] & 2, t.value];
25
- switch (op[0]) {
26
- case 0: case 1: t = op; break;
27
- case 4: _.label++; return { value: op[1], done: false };
28
- case 5: _.label++; y = op[1]; op = [0]; continue;
29
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
30
- default:
31
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
32
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
33
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
34
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
35
- if (t[2]) _.ops.pop();
36
- _.trys.pop(); continue;
37
- }
38
- op = body.call(thisArg, _);
39
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
40
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
41
- }
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.RecommendedServerDiscovery = void 0;
45
- var compare_versions_1 = require("compare-versions");
46
- var __1 = require("..");
47
- var system_api_1 = require("../utils/api/system-api");
48
13
  /** The expected product name in system info. */
49
- var PRODUCT_NAME = 'Jellyfin Server';
14
+ const PRODUCT_NAME = 'Jellyfin Server';
50
15
  /** Requests taking longer than 3s are considered slow. */
51
- var SLOW_RESPONSE_TIME = 3000;
16
+ const SLOW_RESPONSE_TIME = 3000;
52
17
  /** System info request timeout. */
53
- var HTTP_TIMEOUT = 5000;
18
+ const HTTP_TIMEOUT = 5000;
54
19
  /** Get the minimum RecommendedServerInfoScore from an array. */
55
- function getMinScore(scores, defaultScore) {
56
- if (defaultScore === void 0) { defaultScore = __1.RecommendedServerInfoScore.GREAT; }
57
- return scores.length > 0 ? Math.min.apply(Math, scores) : defaultScore;
20
+ function getMinScore(scores, defaultScore = RecommendedServerInfoScore.GREAT) {
21
+ return scores.length > 0 ? Math.min(...scores) : defaultScore;
58
22
  }
59
23
  /** Builds a RecommendedServerInfo from a SystemInfoResult. */
60
24
  function toRecommendedServerInfo(result) {
61
25
  var _a, _b, _c;
62
- var issues = [];
63
- var scores = [];
26
+ const issues = [];
27
+ const scores = [];
64
28
  if (!((_a = result.response) === null || _a === void 0 ? void 0 : _a.data) || result.error) {
65
29
  // The response did not return valid data or returned an error
66
- issues.push(new __1.SystemInfoIssue(result.error));
67
- scores.push(__1.RecommendedServerInfoScore.BAD);
30
+ issues.push(new SystemInfoIssue(result.error));
31
+ scores.push(RecommendedServerInfoScore.BAD);
68
32
  }
69
33
  else if (result.response.data.ProductName !== PRODUCT_NAME) {
70
34
  // The product name returned was invalid
71
- issues.push(new __1.ProductNameIssue(result.response.data.ProductName));
72
- scores.push(__1.RecommendedServerInfoScore.BAD);
35
+ issues.push(new ProductNameIssue(result.response.data.ProductName));
36
+ scores.push(RecommendedServerInfoScore.BAD);
73
37
  }
74
- var version = (_b = result.response) === null || _b === void 0 ? void 0 : _b.data.Version;
38
+ const version = (_b = result.response) === null || _b === void 0 ? void 0 : _b.data.Version;
75
39
  if (!version) {
76
40
  // No version was returned
77
- issues.push(new __1.VersionMissingIssue());
78
- scores.push(__1.RecommendedServerInfoScore.BAD);
41
+ issues.push(new VersionMissingIssue());
42
+ scores.push(RecommendedServerInfoScore.BAD);
79
43
  }
80
- else if ((0, compare_versions_1.compare)(version, __1.MINIMUM_VERSION, '<')) {
44
+ else if (compare(version, MINIMUM_VERSION, '<')) {
81
45
  // Version is less than the minimum supported
82
- issues.push(new __1.VersionUnsupportedIssue(version));
83
- scores.push(__1.RecommendedServerInfoScore.OK);
46
+ issues.push(new VersionUnsupportedIssue(version));
47
+ scores.push(RecommendedServerInfoScore.OK);
84
48
  }
85
- else if ((0, compare_versions_1.compare)(version, __1.API_VERSION, '<')) {
49
+ else if (compare(version, API_VERSION, '<')) {
86
50
  // Version is less than the generated client, but above the minimum
87
- issues.push(new __1.VersionOutdatedIssue(version));
88
- scores.push(__1.RecommendedServerInfoScore.GOOD);
51
+ issues.push(new VersionOutdatedIssue(version));
52
+ scores.push(RecommendedServerInfoScore.GOOD);
89
53
  }
90
54
  if (result.responseTime > SLOW_RESPONSE_TIME) {
91
55
  // Response was slow
92
- issues.push(new __1.SlowResponseIssue(result.responseTime));
93
- scores.push(__1.RecommendedServerInfoScore.GOOD);
56
+ issues.push(new SlowResponseIssue(result.responseTime));
57
+ scores.push(RecommendedServerInfoScore.GOOD);
94
58
  }
95
59
  return {
96
60
  address: result.address,
97
61
  responseTime: result.responseTime,
98
62
  score: getMinScore(scores),
99
- issues: issues,
63
+ issues,
100
64
  systemInfo: (_c = result.response) === null || _c === void 0 ? void 0 : _c.data
101
65
  };
102
66
  }
103
67
  /** Class to discover and evaluate potential servers. */
104
- var RecommendedServerDiscovery = /** @class */ (function () {
105
- function RecommendedServerDiscovery(jellyfin) {
68
+ class RecommendedServerDiscovery {
69
+ constructor(jellyfin) {
106
70
  this.jellyfin = jellyfin;
107
71
  }
108
72
  /**
@@ -110,44 +74,34 @@ var RecommendedServerDiscovery = /** @class */ (function () {
110
74
  * @param address The server address.
111
75
  * @returns The resulting RecommendedServerInfo.
112
76
  */
113
- RecommendedServerDiscovery.prototype.fetchRecommendedServerInfo = function (address) {
114
- return __awaiter(this, void 0, void 0, function () {
115
- var api, startTime;
116
- return __generator(this, function (_a) {
117
- api = this.jellyfin.createApi(address);
118
- startTime = Date.now();
119
- return [2 /*return*/, (0, system_api_1.getSystemApi)(api).getPublicSystemInfo({ timeout: HTTP_TIMEOUT })
120
- .then(function (response) { return ({
121
- address: address,
122
- response: response,
123
- responseTime: Date.now() - startTime
124
- }); })
125
- .catch(function (error) { return ({
126
- address: address,
127
- error: error,
128
- responseTime: Date.now() - startTime
129
- }); })
130
- .then(function (result) { return toRecommendedServerInfo(result); })];
131
- });
77
+ fetchRecommendedServerInfo(address) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const api = this.jellyfin.createApi(address);
80
+ const startTime = Date.now();
81
+ return getSystemApi(api).getPublicSystemInfo({ timeout: HTTP_TIMEOUT })
82
+ .then(response => ({
83
+ address,
84
+ response,
85
+ responseTime: Date.now() - startTime
86
+ }))
87
+ .catch(error => ({
88
+ address,
89
+ error,
90
+ responseTime: Date.now() - startTime
91
+ }))
92
+ .then(result => toRecommendedServerInfo(result));
132
93
  });
133
- };
94
+ }
134
95
  /**
135
96
  * Fetches the RecommendedServerInfo for multiple server addresses.
136
97
  * @param servers An array of server addresses.
137
98
  * @returns The RecommendedServerInfo for each address.
138
99
  */
139
- RecommendedServerDiscovery.prototype.discover = function (servers, minimumScore) {
140
- if (minimumScore === void 0) { minimumScore = __1.RecommendedServerInfoScore.BAD; }
141
- return __awaiter(this, void 0, void 0, function () {
142
- var _this = this;
143
- return __generator(this, function (_a) {
144
- switch (_a.label) {
145
- case 0: return [4 /*yield*/, Promise.all(servers.map(function (server) { return _this.fetchRecommendedServerInfo(server); }))];
146
- case 1: return [2 /*return*/, (_a.sent()).filter(function (serverInfo) { return serverInfo.score >= minimumScore; })];
147
- }
148
- });
100
+ discover(servers, minimumScore = RecommendedServerInfoScore.BAD) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ return (yield Promise.all(servers.map(server => this.fetchRecommendedServerInfo(server)))).filter(serverInfo => serverInfo.score >= minimumScore);
149
103
  });
150
- };
151
- return RecommendedServerDiscovery;
152
- }());
153
- exports.RecommendedServerDiscovery = RecommendedServerDiscovery;
104
+ }
105
+ }
106
+
107
+ export { RecommendedServerDiscovery };