@jellyfin/sdk 0.13.0 → 1.0.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.
- package/.nvmrc +1 -0
- package/.openapi-generator-ignore +2 -0
- package/CHANGELOG.md +24 -2
- package/README.md +52 -27
- package/eslint.config.mjs +118 -0
- package/lib/api.d.ts +30 -8
- package/lib/api.js +79 -14
- package/lib/constants.d.ts +11 -0
- package/lib/constants.js +13 -0
- package/lib/generated-client/api/{artists-api.d.ts → artist-api.d.ts} +38 -173
- package/lib/generated-client/api/{artists-api.js → artist-api.js} +39 -33
- package/lib/generated-client/api/audio-api.d.ts +295 -450
- package/lib/generated-client/api/audio-api.js +332 -64
- package/lib/generated-client/api/authentication-api.d.ts +517 -0
- package/lib/generated-client/api/authentication-api.js +870 -0
- package/lib/generated-client/api/backup-api.d.ts +0 -22
- package/lib/generated-client/api/backup-api.js +5 -11
- package/lib/generated-client/api/branding-api.d.ts +0 -9
- package/lib/generated-client/api/branding-api.js +4 -10
- package/lib/generated-client/api/{channels-api.d.ts → channel-api.d.ts} +32 -95
- package/lib/generated-client/api/{channels-api.js → channel-api.js} +35 -41
- package/lib/generated-client/api/collection-api.d.ts +0 -31
- package/lib/generated-client/api/collection-api.js +4 -10
- package/lib/generated-client/api/{devices-api.d.ts → device-api.d.ts} +48 -81
- package/lib/generated-client/api/{devices-api.js → device-api.js} +46 -54
- package/lib/generated-client/api/{display-preferences-api.d.ts → display-preference-api.d.ts} +20 -46
- package/lib/generated-client/api/{display-preferences-api.js → display-preference-api.js} +22 -28
- package/lib/generated-client/api/environment-api.d.ts +0 -60
- package/lib/generated-client/api/environment-api.js +6 -75
- package/lib/generated-client/api/filter-api.d.ts +0 -40
- package/lib/generated-client/api/filter-api.js +3 -9
- package/lib/generated-client/api/{genres-api.d.ts → genre-api.d.ts} +20 -72
- package/lib/generated-client/api/{genres-api.js → genre-api.js} +22 -28
- package/lib/generated-client/api/image-api.d.ts +4 -1007
- package/lib/generated-client/api/image-api.js +42 -48
- package/lib/generated-client/api/instant-mix-api.d.ts +8 -245
- package/lib/generated-client/api/instant-mix-api.js +16 -121
- package/lib/generated-client/api/item-lookup-api.d.ts +0 -65
- package/lib/generated-client/api/item-lookup-api.js +12 -18
- package/lib/generated-client/api/item-update-api.d.ts +0 -25
- package/lib/generated-client/api/item-update-api.js +4 -10
- package/lib/generated-client/api/library-api.d.ts +1239 -327
- package/lib/generated-client/api/library-api.js +1307 -95
- package/lib/generated-client/api/library-structure-api.d.ts +0 -62
- package/lib/generated-client/api/library-structure-api.js +9 -15
- package/lib/generated-client/api/live-tv-api.d.ts +0 -622
- package/lib/generated-client/api/live-tv-api.js +39 -320
- package/lib/generated-client/api/localization-api.d.ts +0 -10
- package/lib/generated-client/api/localization-api.js +5 -11
- package/lib/generated-client/api/{lyrics-api.d.ts → lyric-api.d.ts} +44 -89
- package/lib/generated-client/api/{lyrics-api.js → lyric-api.js} +42 -48
- package/lib/generated-client/api/media-info-api.d.ts +4 -91
- package/lib/generated-client/api/media-info-api.js +10 -16
- package/lib/generated-client/api/{media-segments-api.d.ts → media-segment-api.d.ts} +14 -27
- package/lib/generated-client/api/{media-segments-api.js → media-segment-api.js} +17 -23
- package/lib/generated-client/api/{movies-api.d.ts → movie-api.d.ts} +14 -33
- package/lib/generated-client/api/{movies-api.js → movie-api.js} +17 -23
- package/lib/generated-client/api/music-genre-api.d.ts +85 -0
- package/lib/generated-client/api/music-genre-api.js +121 -0
- package/lib/generated-client/api/{persons-api.d.ts → person-api.d.ts} +52 -64
- package/lib/generated-client/api/{persons-api.js → person-api.js} +51 -32
- package/lib/generated-client/api/{playlists-api.d.ts → playlist-api.d.ts} +86 -185
- package/lib/generated-client/api/{playlists-api.js → playlist-api.js} +80 -81
- package/lib/generated-client/api/plugin-api.d.ts +743 -0
- package/lib/generated-client/api/plugin-api.js +1186 -0
- package/lib/generated-client/api/remote-image-api.d.ts +0 -35
- package/lib/generated-client/api/remote-image-api.js +4 -10
- package/lib/generated-client/api/{scheduled-tasks-api.d.ts → scheduled-task-api.d.ts} +38 -73
- package/lib/generated-client/api/{scheduled-tasks-api.js → scheduled-task-api.js} +37 -43
- package/lib/generated-client/api/search-api.d.ts +0 -45
- package/lib/generated-client/api/search-api.js +2 -8
- package/lib/generated-client/api/session-api.d.ts +163 -181
- package/lib/generated-client/api/session-api.js +262 -123
- package/lib/generated-client/api/{tv-shows-api.d.ts → show-api.d.ts} +34 -156
- package/lib/generated-client/api/{tv-shows-api.js → show-api.js} +36 -47
- package/lib/generated-client/api/startup-api.d.ts +20 -25
- package/lib/generated-client/api/startup-api.js +28 -14
- package/lib/generated-client/api/{studios-api.d.ts → studio-api.d.ts} +20 -70
- package/lib/generated-client/api/{studios-api.js → studio-api.js} +22 -28
- package/lib/generated-client/api/subtitle-api.d.ts +0 -114
- package/lib/generated-client/api/subtitle-api.js +11 -17
- package/lib/generated-client/api/{suggestions-api.d.ts → suggestion-api.d.ts} +14 -35
- package/lib/generated-client/api/{suggestions-api.js → suggestion-api.js} +17 -23
- package/lib/generated-client/api/sync-play-api.d.ts +0 -96
- package/lib/generated-client/api/sync-play-api.js +23 -29
- package/lib/generated-client/api/system-api.d.ts +420 -20
- package/lib/generated-client/api/system-api.js +659 -18
- package/lib/generated-client/api/{trailers-api.d.ts → trailer-api.d.ts} +32 -193
- package/lib/generated-client/api/{trailers-api.js → trailer-api.js} +35 -27
- package/lib/generated-client/api/{trickplay-api.d.ts → trick-play-api.d.ts} +20 -46
- package/lib/generated-client/api/{trickplay-api.js → trick-play-api.js} +22 -28
- package/lib/generated-client/api/user-api.d.ts +0 -249
- package/lib/generated-client/api/user-api.js +11 -277
- package/lib/generated-client/api/user-data-api.d.ts +429 -0
- package/lib/generated-client/api/{user-library-api.js → user-data-api.js} +149 -324
- package/lib/generated-client/api/{user-views-api.d.ts → user-view-api.d.ts} +20 -42
- package/lib/generated-client/api/{user-views-api.js → user-view-api.js} +22 -28
- package/lib/generated-client/api/{videos-api.d.ts → video-api.d.ts} +111 -533
- package/lib/generated-client/api/{videos-api.js → video-api.js} +141 -101
- package/lib/generated-client/api/{years-api.d.ts → year-api.d.ts} +20 -66
- package/lib/generated-client/api/{years-api.js → year-api.js} +22 -28
- package/lib/generated-client/api.d.ts +23 -38
- package/lib/generated-client/base.d.ts +0 -24
- package/lib/generated-client/base.js +0 -15
- package/lib/generated-client/common.d.ts +4 -35
- package/lib/generated-client/common.js +15 -26
- package/lib/generated-client/configuration.d.ts +24 -17
- package/lib/generated-client/configuration.js +8 -2
- package/lib/generated-client/index.js +25 -39
- package/lib/generated-client/models/access-schedule.d.ts +0 -15
- package/lib/generated-client/models/activity-log-entry-message.d.ts +0 -11
- package/lib/generated-client/models/activity-log-entry-query-result.d.ts +0 -8
- package/lib/generated-client/models/activity-log-entry-start-message.d.ts +1 -10
- package/lib/generated-client/models/activity-log-entry-stop-message.d.ts +0 -7
- package/lib/generated-client/models/activity-log-entry.d.ts +0 -25
- package/lib/generated-client/models/activity-log-sort-by.d.ts +23 -0
- package/lib/generated-client/models/{architecture.d.ts → activity-log-sort-by.js} +13 -11
- package/lib/generated-client/models/add-virtual-folder-dto.d.ts +0 -7
- package/lib/generated-client/models/album-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/album-info.d.ts +1 -49
- package/lib/generated-client/models/all-theme-media-result.d.ts +0 -20
- package/lib/generated-client/models/artist-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/artist-info.d.ts +0 -44
- package/lib/generated-client/models/audio-spatial-format.d.ts +0 -2
- package/lib/generated-client/models/audio-spatial-format.js +0 -2
- package/lib/generated-client/models/authenticate-user-by-name.d.ts +0 -6
- package/lib/generated-client/models/authentication-info-query-result.d.ts +0 -8
- package/lib/generated-client/models/authentication-info.d.ts +0 -35
- package/lib/generated-client/models/authentication-result.d.ts +0 -16
- package/lib/generated-client/models/backup-manifest-dto.d.ts +5 -20
- package/lib/generated-client/models/backup-options-dto.d.ts +0 -10
- package/lib/generated-client/models/backup-restore-request-dto.d.ts +1 -5
- package/lib/generated-client/models/base-item-dto-image-blur-hashes.d.ts +14 -81
- package/lib/generated-client/models/base-item-dto-query-result.d.ts +0 -8
- package/lib/generated-client/models/base-item-dto.d.ts +6 -456
- package/lib/generated-client/models/base-item-kind.d.ts +0 -2
- package/lib/generated-client/models/base-item-kind.js +0 -2
- package/lib/generated-client/models/base-item-person-image-blur-hashes.d.ts +13 -80
- package/lib/generated-client/models/base-item-person.d.ts +0 -20
- package/lib/generated-client/models/book-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/book-info.d.ts +2 -40
- package/lib/generated-client/models/box-set-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/box-set-info.d.ts +1 -37
- package/lib/generated-client/models/branding-options-dto.d.ts +1 -9
- package/lib/generated-client/models/buffer-request-dto.d.ts +0 -10
- package/lib/generated-client/models/cast-receiver-application.d.ts +2 -8
- package/lib/generated-client/models/channel-features.d.ts +0 -29
- package/lib/generated-client/models/channel-item-sort-field.d.ts +0 -5
- package/lib/generated-client/models/channel-item-sort-field.js +0 -5
- package/lib/generated-client/models/channel-mapping-options-dto.d.ts +2 -12
- package/lib/generated-client/models/channel-media-content-type.d.ts +0 -5
- package/lib/generated-client/models/channel-media-content-type.js +0 -5
- package/lib/generated-client/models/channel-media-type.d.ts +0 -5
- package/lib/generated-client/models/channel-media-type.js +0 -5
- package/lib/generated-client/models/channel-type.d.ts +0 -2
- package/lib/generated-client/models/channel-type.js +0 -2
- package/lib/generated-client/models/chapter-info.d.ts +0 -18
- package/lib/generated-client/models/client-capabilities-dto.d.ts +0 -19
- package/lib/generated-client/models/client-log-document-response-dto.d.ts +0 -4
- package/lib/generated-client/models/codec-profile.d.ts +0 -17
- package/lib/generated-client/models/codec-type.d.ts +1 -3
- package/lib/generated-client/models/codec-type.js +1 -3
- package/lib/generated-client/models/collection-creation-result.d.ts +0 -10
- package/lib/generated-client/models/collection-type-options.d.ts +0 -2
- package/lib/generated-client/models/collection-type-options.js +0 -2
- package/lib/generated-client/models/collection-type.d.ts +0 -2
- package/lib/generated-client/models/collection-type.js +0 -2
- package/lib/generated-client/models/configuration-page-info.d.ts +0 -14
- package/lib/generated-client/models/container-profile.d.ts +0 -13
- package/lib/generated-client/models/country-info.d.ts +0 -10
- package/lib/generated-client/models/create-playlist-dto.d.ts +1 -18
- package/lib/generated-client/models/create-user-by-name.d.ts +0 -6
- package/lib/generated-client/models/culture-dto.d.ts +0 -15
- package/lib/generated-client/models/custom-database-option.d.ts +2 -8
- package/lib/generated-client/models/custom-database-options.d.ts +3 -13
- package/lib/generated-client/models/database-configuration-options.d.ts +1 -15
- package/lib/generated-client/models/database-locking-behavior-types.d.ts +0 -2
- package/lib/generated-client/models/database-locking-behavior-types.js +0 -2
- package/lib/generated-client/models/day-of-week.d.ts +0 -5
- package/lib/generated-client/models/day-of-week.js +0 -5
- package/lib/generated-client/models/day-pattern.d.ts +1 -3
- package/lib/generated-client/models/day-pattern.js +1 -3
- package/lib/generated-client/models/default-directory-browser-info-dto.d.ts +0 -4
- package/lib/generated-client/models/deinterlace-method.d.ts +0 -2
- package/lib/generated-client/models/deinterlace-method.js +0 -2
- package/lib/generated-client/models/device-info-dto-query-result.d.ts +0 -8
- package/lib/generated-client/models/device-info-dto.d.ts +0 -27
- package/lib/generated-client/models/device-options-dto.d.ts +0 -8
- package/lib/generated-client/models/device-profile.d.ts +1 -25
- package/lib/generated-client/models/direct-play-profile.d.ts +0 -13
- package/lib/generated-client/models/display-preferences-dto.d.ts +0 -36
- package/lib/generated-client/models/dlna-profile-type.d.ts +0 -5
- package/lib/generated-client/models/dlna-profile-type.js +0 -5
- package/lib/generated-client/models/down-mix-stereo-algorithms.d.ts +0 -2
- package/lib/generated-client/models/down-mix-stereo-algorithms.js +0 -2
- package/lib/generated-client/models/dynamic-day-of-week.d.ts +0 -2
- package/lib/generated-client/models/dynamic-day-of-week.js +0 -2
- package/lib/generated-client/models/embedded-subtitle-options.d.ts +0 -2
- package/lib/generated-client/models/embedded-subtitle-options.js +0 -2
- package/lib/generated-client/models/encoder-preset.d.ts +0 -2
- package/lib/generated-client/models/encoder-preset.js +0 -2
- package/lib/generated-client/models/encoding-context.d.ts +1 -3
- package/lib/generated-client/models/encoding-context.js +1 -3
- package/lib/generated-client/models/encoding-options.d.ts +6 -117
- package/lib/generated-client/models/end-point-info.d.ts +0 -15
- package/lib/generated-client/models/external-id-info.d.ts +0 -11
- package/lib/generated-client/models/external-id-media-type.d.ts +0 -2
- package/lib/generated-client/models/external-id-media-type.js +0 -2
- package/lib/generated-client/models/external-url.d.ts +0 -9
- package/lib/generated-client/models/extra-type.d.ts +0 -5
- package/lib/generated-client/models/extra-type.js +0 -5
- package/lib/generated-client/models/file-system-entry-info.d.ts +0 -11
- package/lib/generated-client/models/file-system-entry-type.d.ts +0 -2
- package/lib/generated-client/models/file-system-entry-type.js +0 -2
- package/lib/generated-client/models/folder-storage-dto.d.ts +1 -13
- package/lib/generated-client/models/font-file.d.ts +0 -10
- package/lib/generated-client/models/force-keep-alive-message.d.ts +0 -11
- package/lib/generated-client/models/forgot-password-action.d.ts +0 -5
- package/lib/generated-client/models/forgot-password-action.js +0 -5
- package/lib/generated-client/models/forgot-password-dto.d.ts +0 -4
- package/lib/generated-client/models/forgot-password-pin-dto.d.ts +0 -4
- package/lib/generated-client/models/forgot-password-result.d.ts +0 -14
- package/lib/generated-client/models/general-command-message.d.ts +0 -14
- package/lib/generated-client/models/general-command-type.d.ts +0 -2
- package/lib/generated-client/models/general-command-type.js +0 -2
- package/lib/generated-client/models/general-command.d.ts +1 -21
- package/lib/generated-client/models/get-programs-dto.d.ts +0 -56
- package/lib/generated-client/models/group-info-dto.d.ts +0 -15
- package/lib/generated-client/models/group-queue-mode.d.ts +0 -2
- package/lib/generated-client/models/group-queue-mode.js +0 -2
- package/lib/generated-client/models/group-repeat-mode.d.ts +0 -2
- package/lib/generated-client/models/group-repeat-mode.js +0 -2
- package/lib/generated-client/models/group-shuffle-mode.d.ts +0 -2
- package/lib/generated-client/models/group-shuffle-mode.js +0 -2
- package/lib/generated-client/models/group-state-type.d.ts +0 -2
- package/lib/generated-client/models/group-state-type.js +0 -2
- package/lib/generated-client/models/group-state-update.d.ts +0 -12
- package/lib/generated-client/models/group-update-type.d.ts +0 -2
- package/lib/generated-client/models/group-update-type.js +0 -2
- package/lib/generated-client/models/group-update.d.ts +0 -1
- package/lib/generated-client/models/guide-info.d.ts +0 -9
- package/lib/generated-client/models/hardware-acceleration-type.d.ts +0 -2
- package/lib/generated-client/models/hardware-acceleration-type.js +0 -2
- package/lib/generated-client/models/{notification-level.d.ts → hls-audio-seek-strategy.d.ts} +5 -8
- package/lib/generated-client/models/{transcoding-info.js → hls-audio-seek-strategy.js} +8 -2
- package/lib/generated-client/models/ignore-wait-request-dto.d.ts +0 -4
- package/lib/generated-client/models/image-format.d.ts +0 -2
- package/lib/generated-client/models/image-format.js +0 -2
- package/lib/generated-client/models/image-info.d.ts +0 -21
- package/lib/generated-client/models/image-option.d.ts +0 -14
- package/lib/generated-client/models/image-orientation.d.ts +0 -5
- package/lib/generated-client/models/image-orientation.js +0 -5
- package/lib/generated-client/models/image-provider-info.d.ts +0 -6
- package/lib/generated-client/models/image-resolution.d.ts +0 -2
- package/lib/generated-client/models/image-resolution.js +0 -2
- package/lib/generated-client/models/image-saving-convention.d.ts +1 -3
- package/lib/generated-client/models/image-saving-convention.js +1 -3
- package/lib/generated-client/models/image-type.d.ts +0 -2
- package/lib/generated-client/models/image-type.js +0 -2
- package/lib/generated-client/models/inbound-keep-alive-message.d.ts +0 -7
- package/lib/generated-client/models/inbound-web-socket-message.d.ts +0 -1
- package/lib/generated-client/models/index.d.ts +2 -2
- package/lib/generated-client/models/index.js +2 -1
- package/lib/generated-client/models/installation-info.d.ts +0 -19
- package/lib/generated-client/models/iplugin.d.ts +0 -16
- package/lib/generated-client/models/iso-type.d.ts +0 -2
- package/lib/generated-client/models/iso-type.js +0 -2
- package/lib/generated-client/models/item-counts.d.ts +0 -26
- package/lib/generated-client/models/item-fields.d.ts +0 -2
- package/lib/generated-client/models/item-fields.js +0 -2
- package/lib/generated-client/models/item-filter.d.ts +0 -2
- package/lib/generated-client/models/item-filter.js +0 -2
- package/lib/generated-client/models/item-sort-by.d.ts +0 -2
- package/lib/generated-client/models/item-sort-by.js +0 -2
- package/lib/generated-client/models/join-group-request-dto.d.ts +0 -4
- package/lib/generated-client/models/keep-until.d.ts +0 -5
- package/lib/generated-client/models/keep-until.js +0 -5
- package/lib/generated-client/models/library-changed-message.d.ts +0 -14
- package/lib/generated-client/models/library-option-info-dto.d.ts +0 -6
- package/lib/generated-client/models/library-options-result-dto.d.ts +0 -14
- package/lib/generated-client/models/library-options.d.ts +0 -207
- package/lib/generated-client/models/library-storage-dto.d.ts +3 -11
- package/lib/generated-client/models/library-type-options-dto.d.ts +4 -12
- package/lib/generated-client/models/library-update-info.d.ts +0 -22
- package/lib/generated-client/models/listings-provider-info.d.ts +0 -95
- package/lib/generated-client/models/live-stream-response.d.ts +0 -10
- package/lib/generated-client/models/live-tv-info.d.ts +0 -11
- package/lib/generated-client/models/live-tv-options.d.ts +0 -80
- package/lib/generated-client/models/live-tv-service-info.d.ts +0 -24
- package/lib/generated-client/models/live-tv-service-status.d.ts +1 -3
- package/lib/generated-client/models/live-tv-service-status.js +1 -3
- package/lib/generated-client/models/localization-option.d.ts +0 -15
- package/lib/generated-client/models/location-type.d.ts +0 -2
- package/lib/generated-client/models/location-type.js +0 -2
- package/lib/generated-client/models/log-file.d.ts +1 -14
- package/lib/generated-client/models/log-level.d.ts +0 -5
- package/lib/generated-client/models/log-level.js +0 -5
- package/lib/generated-client/models/lyric-dto.d.ts +0 -9
- package/lib/generated-client/models/lyric-line-cue.d.ts +0 -10
- package/lib/generated-client/models/lyric-line.d.ts +0 -8
- package/lib/generated-client/models/lyric-metadata.d.ts +0 -22
- package/lib/generated-client/models/media-attachment.d.ts +0 -16
- package/lib/generated-client/models/media-path-dto.d.ts +0 -11
- package/lib/generated-client/models/media-path-info.d.ts +0 -10
- package/lib/generated-client/models/media-protocol.d.ts +0 -5
- package/lib/generated-client/models/media-protocol.js +0 -5
- package/lib/generated-client/models/media-segment-dto-query-result.d.ts +0 -8
- package/lib/generated-client/models/media-segment-dto.d.ts +0 -15
- package/lib/generated-client/models/media-segment-type.d.ts +0 -2
- package/lib/generated-client/models/media-segment-type.js +0 -2
- package/lib/generated-client/models/media-source-info.d.ts +1 -228
- package/lib/generated-client/models/media-source-type.d.ts +1 -3
- package/lib/generated-client/models/media-source-type.js +1 -3
- package/lib/generated-client/models/media-stream-protocol.d.ts +1 -3
- package/lib/generated-client/models/media-stream-protocol.js +1 -3
- package/lib/generated-client/models/media-stream-type.d.ts +0 -2
- package/lib/generated-client/models/media-stream-type.js +0 -2
- package/lib/generated-client/models/media-stream.d.ts +7 -176
- package/lib/generated-client/models/media-type.d.ts +0 -2
- package/lib/generated-client/models/media-type.js +0 -2
- package/lib/generated-client/models/media-update-info-dto.d.ts +0 -4
- package/lib/generated-client/models/media-update-info-path-dto.d.ts +1 -7
- package/lib/generated-client/models/media-url.d.ts +0 -15
- package/lib/generated-client/models/message-command.d.ts +4 -12
- package/lib/generated-client/models/metadata-configuration.d.ts +0 -10
- package/lib/generated-client/models/metadata-editor-info.d.ts +0 -17
- package/lib/generated-client/models/metadata-field.d.ts +0 -2
- package/lib/generated-client/models/metadata-field.js +0 -2
- package/lib/generated-client/models/metadata-options.d.ts +0 -37
- package/lib/generated-client/models/metadata-refresh-mode.d.ts +0 -5
- package/lib/generated-client/models/metadata-refresh-mode.js +0 -5
- package/lib/generated-client/models/move-playlist-item-request-dto.d.ts +0 -6
- package/lib/generated-client/models/movie-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/movie-info.d.ts +1 -37
- package/lib/generated-client/models/music-video-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/music-video-info.d.ts +0 -44
- package/lib/generated-client/models/name-guid-pair.d.ts +0 -15
- package/lib/generated-client/models/name-id-pair.d.ts +0 -9
- package/lib/generated-client/models/name-value-pair.d.ts +0 -9
- package/lib/generated-client/models/network-configuration.d.ts +1 -49
- package/lib/generated-client/models/new-group-request-dto.d.ts +0 -4
- package/lib/generated-client/models/next-item-request-dto.d.ts +0 -4
- package/lib/generated-client/models/open-live-stream-dto.d.ts +0 -33
- package/lib/generated-client/models/outbound-keep-alive-message.d.ts +0 -9
- package/lib/generated-client/models/outbound-web-socket-message.d.ts +0 -1
- package/lib/generated-client/models/package-info.d.ts +1 -19
- package/lib/generated-client/models/parental-rating-score.d.ts +0 -6
- package/lib/generated-client/models/parental-rating.d.ts +0 -11
- package/lib/generated-client/models/path-substitution.d.ts +0 -6
- package/lib/generated-client/models/person-kind.d.ts +1 -2
- package/lib/generated-client/models/person-kind.js +2 -3
- package/lib/generated-client/models/person-lookup-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/person-lookup-info.d.ts +1 -37
- package/lib/generated-client/models/pin-redeem-result.d.ts +0 -9
- package/lib/generated-client/models/ping-request-dto.d.ts +0 -4
- package/lib/generated-client/models/play-access.d.ts +1 -3
- package/lib/generated-client/models/play-access.js +1 -3
- package/lib/generated-client/models/play-command.d.ts +0 -2
- package/lib/generated-client/models/play-command.js +0 -2
- package/lib/generated-client/models/play-message.d.ts +0 -14
- package/lib/generated-client/models/play-method.d.ts +1 -3
- package/lib/generated-client/models/play-method.js +1 -3
- package/lib/generated-client/models/play-queue-update-reason.d.ts +0 -2
- package/lib/generated-client/models/play-queue-update-reason.js +0 -2
- package/lib/generated-client/models/play-queue-update.d.ts +0 -27
- package/lib/generated-client/models/play-request-dto.d.ts +0 -8
- package/lib/generated-client/models/play-request.d.ts +0 -33
- package/lib/generated-client/models/playback-error-code.d.ts +1 -3
- package/lib/generated-client/models/playback-error-code.js +1 -3
- package/lib/generated-client/models/playback-info-dto.d.ts +0 -37
- package/lib/generated-client/models/playback-info-response.d.ts +0 -11
- package/lib/generated-client/models/playback-order.d.ts +0 -2
- package/lib/generated-client/models/playback-order.js +0 -2
- package/lib/generated-client/models/playback-progress-info.d.ts +0 -71
- package/lib/generated-client/models/playback-request-type.d.ts +0 -2
- package/lib/generated-client/models/playback-request-type.js +0 -2
- package/lib/generated-client/models/playback-start-info.d.ts +0 -71
- package/lib/generated-client/models/playback-stop-info.d.ts +0 -36
- package/lib/generated-client/models/player-state-info.d.ts +0 -38
- package/lib/generated-client/models/playlist-creation-result.d.ts +0 -10
- package/lib/generated-client/models/playlist-dto.d.ts +2 -10
- package/lib/generated-client/models/playlist-user-permissions.d.ts +0 -6
- package/lib/generated-client/models/playstate-command.d.ts +0 -2
- package/lib/generated-client/models/playstate-command.js +0 -2
- package/lib/generated-client/models/playstate-message.d.ts +0 -14
- package/lib/generated-client/models/playstate-request.d.ts +2 -13
- package/lib/generated-client/models/plugin-info.d.ts +0 -21
- package/lib/generated-client/models/plugin-installation-cancelled-message.d.ts +0 -14
- package/lib/generated-client/models/plugin-installation-completed-message.d.ts +0 -14
- package/lib/generated-client/models/plugin-installation-failed-message.d.ts +0 -14
- package/lib/generated-client/models/plugin-installing-message.d.ts +0 -14
- package/lib/generated-client/models/plugin-status.d.ts +0 -2
- package/lib/generated-client/models/plugin-status.js +0 -2
- package/lib/generated-client/models/plugin-uninstalled-message.d.ts +0 -14
- package/lib/generated-client/models/previous-item-request-dto.d.ts +0 -4
- package/lib/generated-client/models/problem-details.d.ts +0 -30
- package/lib/generated-client/models/process-priority-class.d.ts +0 -5
- package/lib/generated-client/models/process-priority-class.js +0 -5
- package/lib/generated-client/models/profile-condition-type.d.ts +0 -5
- package/lib/generated-client/models/profile-condition-type.js +0 -5
- package/lib/generated-client/models/profile-condition-value.d.ts +1 -5
- package/lib/generated-client/models/profile-condition-value.js +2 -6
- package/lib/generated-client/models/profile-condition.d.ts +0 -25
- package/lib/generated-client/models/program-audio.d.ts +0 -5
- package/lib/generated-client/models/program-audio.js +0 -5
- package/lib/generated-client/models/public-system-info.d.ts +0 -19
- package/lib/generated-client/models/query-filters-legacy.d.ts +0 -25
- package/lib/generated-client/models/query-filters.d.ts +3 -15
- package/lib/generated-client/models/queue-item.d.ts +3 -9
- package/lib/generated-client/models/queue-request-dto.d.ts +0 -9
- package/lib/generated-client/models/quick-connect-dto.d.ts +0 -4
- package/lib/generated-client/models/quick-connect-result.d.ts +0 -18
- package/lib/generated-client/models/rating-type.d.ts +1 -3
- package/lib/generated-client/models/rating-type.js +1 -3
- package/lib/generated-client/models/ready-request-dto.d.ts +0 -10
- package/lib/generated-client/models/recommendation-dto.d.ts +0 -25
- package/lib/generated-client/models/recommendation-type.d.ts +0 -5
- package/lib/generated-client/models/recommendation-type.js +0 -5
- package/lib/generated-client/models/recording-status.d.ts +0 -5
- package/lib/generated-client/models/recording-status.js +0 -5
- package/lib/generated-client/models/refresh-progress-message.d.ts +0 -11
- package/lib/generated-client/models/remote-image-info.d.ts +0 -28
- package/lib/generated-client/models/remote-image-result.d.ts +0 -8
- package/lib/generated-client/models/remote-lyric-info-dto.d.ts +3 -14
- package/lib/generated-client/models/remote-search-result.d.ts +3 -59
- package/lib/generated-client/models/remote-subtitle-info.d.ts +0 -85
- package/lib/generated-client/models/remove-from-playlist-request-dto.d.ts +0 -8
- package/lib/generated-client/models/repeat-mode.d.ts +1 -3
- package/lib/generated-client/models/repeat-mode.js +1 -3
- package/lib/generated-client/models/repository-info.d.ts +0 -8
- package/lib/generated-client/models/restart-required-message.d.ts +0 -9
- package/lib/generated-client/models/scheduled-task-ended-message.d.ts +0 -14
- package/lib/generated-client/models/scheduled-tasks-info-message.d.ts +0 -11
- package/lib/generated-client/models/scheduled-tasks-info-start-message.d.ts +1 -10
- package/lib/generated-client/models/scheduled-tasks-info-stop-message.d.ts +0 -7
- package/lib/generated-client/models/scroll-direction.d.ts +0 -2
- package/lib/generated-client/models/scroll-direction.js +0 -2
- package/lib/generated-client/models/search-hint-result.d.ts +0 -6
- package/lib/generated-client/models/search-hint.d.ts +0 -66
- package/lib/generated-client/models/seek-request-dto.d.ts +0 -4
- package/lib/generated-client/models/send-command-type.d.ts +0 -2
- package/lib/generated-client/models/send-command-type.js +0 -2
- package/lib/generated-client/models/send-command.d.ts +0 -17
- package/lib/generated-client/models/series-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/series-info.d.ts +1 -37
- package/lib/generated-client/models/series-status.d.ts +0 -2
- package/lib/generated-client/models/series-status.js +0 -2
- package/lib/generated-client/models/series-timer-cancelled-message.d.ts +0 -14
- package/lib/generated-client/models/series-timer-created-message.d.ts +0 -14
- package/lib/generated-client/models/series-timer-info-dto-query-result.d.ts +0 -8
- package/lib/generated-client/models/series-timer-info-dto.d.ts +1 -91
- package/lib/generated-client/models/server-configuration.d.ts +3 -180
- package/lib/generated-client/models/server-discovery-info.d.ts +0 -10
- package/lib/generated-client/models/server-restarting-message.d.ts +0 -9
- package/lib/generated-client/models/server-shutting-down-message.d.ts +0 -9
- package/lib/generated-client/models/session-info-dto.d.ts +1 -80
- package/lib/generated-client/models/session-message-type.d.ts +0 -2
- package/lib/generated-client/models/session-message-type.js +0 -2
- package/lib/generated-client/models/session-user-info.d.ts +0 -6
- package/lib/generated-client/models/sessions-message.d.ts +0 -11
- package/lib/generated-client/models/sessions-start-message.d.ts +1 -10
- package/lib/generated-client/models/sessions-stop-message.d.ts +0 -7
- package/lib/generated-client/models/set-channel-mapping-dto.d.ts +0 -8
- package/lib/generated-client/models/set-playlist-item-request-dto.d.ts +0 -4
- package/lib/generated-client/models/set-repeat-mode-request-dto.d.ts +0 -7
- package/lib/generated-client/models/set-shuffle-mode-request-dto.d.ts +0 -7
- package/lib/generated-client/models/song-info.d.ts +0 -54
- package/lib/generated-client/models/sort-order.d.ts +0 -2
- package/lib/generated-client/models/sort-order.js +0 -2
- package/lib/generated-client/models/special-view-option-dto.d.ts +0 -6
- package/lib/generated-client/models/startup-configuration-dto.d.ts +0 -10
- package/lib/generated-client/models/startup-remote-access-dto.d.ts +0 -11
- package/lib/generated-client/models/startup-user-dto.d.ts +0 -6
- package/lib/generated-client/models/subtitle-delivery-method.d.ts +0 -2
- package/lib/generated-client/models/subtitle-delivery-method.js +0 -2
- package/lib/generated-client/models/subtitle-playback-mode.d.ts +0 -2
- package/lib/generated-client/models/subtitle-playback-mode.js +0 -2
- package/lib/generated-client/models/subtitle-profile.d.ts +0 -15
- package/lib/generated-client/models/sync-play-command-message.d.ts +0 -14
- package/lib/generated-client/models/sync-play-group-does-not-exist-update.d.ts +0 -14
- package/lib/generated-client/models/sync-play-group-joined-update.d.ts +0 -17
- package/lib/generated-client/models/sync-play-group-left-update.d.ts +0 -14
- package/lib/generated-client/models/sync-play-group-update-message.d.ts +0 -14
- package/lib/generated-client/models/sync-play-library-access-denied-update.d.ts +0 -14
- package/lib/generated-client/models/sync-play-not-in-group-update.d.ts +0 -14
- package/lib/generated-client/models/sync-play-play-queue-update.d.ts +0 -17
- package/lib/generated-client/models/sync-play-queue-item.d.ts +0 -6
- package/lib/generated-client/models/sync-play-state-update.d.ts +0 -17
- package/lib/generated-client/models/sync-play-user-access-type.d.ts +0 -2
- package/lib/generated-client/models/sync-play-user-access-type.js +0 -2
- package/lib/generated-client/models/sync-play-user-joined-update.d.ts +0 -14
- package/lib/generated-client/models/sync-play-user-left-update.d.ts +0 -14
- package/lib/generated-client/models/system-info.d.ts +0 -62
- package/lib/generated-client/models/system-storage-dto.d.ts +8 -47
- package/lib/generated-client/models/task-completion-status.d.ts +0 -2
- package/lib/generated-client/models/task-completion-status.js +0 -2
- package/lib/generated-client/models/task-info.d.ts +0 -28
- package/lib/generated-client/models/task-result.d.ts +0 -21
- package/lib/generated-client/models/task-state.d.ts +0 -2
- package/lib/generated-client/models/task-state.js +0 -2
- package/lib/generated-client/models/task-trigger-info-type.d.ts +0 -2
- package/lib/generated-client/models/task-trigger-info-type.js +0 -2
- package/lib/generated-client/models/task-trigger-info.d.ts +0 -18
- package/lib/generated-client/models/theme-media-result.d.ts +0 -10
- package/lib/generated-client/models/timer-cancelled-message.d.ts +0 -14
- package/lib/generated-client/models/timer-created-message.d.ts +0 -14
- package/lib/generated-client/models/timer-event-info.d.ts +0 -15
- package/lib/generated-client/models/timer-info-dto-query-result.d.ts +0 -8
- package/lib/generated-client/models/timer-info-dto.d.ts +0 -76
- package/lib/generated-client/models/tonemapping-algorithm.d.ts +0 -2
- package/lib/generated-client/models/tonemapping-algorithm.js +0 -2
- package/lib/generated-client/models/tonemapping-mode.d.ts +0 -2
- package/lib/generated-client/models/tonemapping-mode.js +0 -2
- package/lib/generated-client/models/tonemapping-range.d.ts +0 -2
- package/lib/generated-client/models/tonemapping-range.js +0 -2
- package/lib/generated-client/models/trailer-info-remote-search-query.d.ts +0 -19
- package/lib/generated-client/models/trailer-info.d.ts +1 -37
- package/lib/generated-client/models/transcode-reason.d.ts +1 -5
- package/lib/generated-client/models/transcode-reason.js +2 -6
- package/lib/generated-client/models/transcode-seek-info.d.ts +1 -3
- package/lib/generated-client/models/transcode-seek-info.js +1 -3
- package/lib/generated-client/models/transcoding-info.d.ts +2 -34
- package/lib/generated-client/models/transcoding-profile.d.ts +3 -50
- package/lib/generated-client/models/transport-stream-timestamp.d.ts +1 -3
- package/lib/generated-client/models/transport-stream-timestamp.js +1 -3
- package/lib/generated-client/models/trickplay-info-dto.d.ts +0 -16
- package/lib/generated-client/models/trickplay-options.d.ts +1 -33
- package/lib/generated-client/models/trickplay-scan-behavior.d.ts +0 -2
- package/lib/generated-client/models/trickplay-scan-behavior.js +0 -2
- package/lib/generated-client/models/tuner-channel-mapping.d.ts +0 -25
- package/lib/generated-client/models/tuner-host-info.d.ts +0 -85
- package/lib/generated-client/models/type-options.d.ts +2 -35
- package/lib/generated-client/models/unrated-item.d.ts +0 -2
- package/lib/generated-client/models/unrated-item.js +0 -2
- package/lib/generated-client/models/update-library-options-dto.d.ts +0 -9
- package/lib/generated-client/models/update-media-path-request-dto.d.ts +0 -9
- package/lib/generated-client/models/update-playlist-dto.d.ts +0 -10
- package/lib/generated-client/models/update-playlist-user-dto.d.ts +0 -4
- package/lib/generated-client/models/update-user-item-data-dto.d.ts +0 -24
- package/lib/generated-client/models/update-user-password.d.ts +0 -10
- package/lib/generated-client/models/upload-subtitle-dto.d.ts +0 -12
- package/lib/generated-client/models/user-configuration.d.ts +0 -70
- package/lib/generated-client/models/user-data-change-info.d.ts +1 -7
- package/lib/generated-client/models/user-data-changed-message.d.ts +0 -14
- package/lib/generated-client/models/user-deleted-message.d.ts +0 -11
- package/lib/generated-client/models/user-dto.d.ts +6 -40
- package/lib/generated-client/models/user-item-data-dto.d.ts +1 -25
- package/lib/generated-client/models/user-policy.d.ts +0 -201
- package/lib/generated-client/models/user-updated-message.d.ts +0 -14
- package/lib/generated-client/models/utc-time-response.d.ts +0 -6
- package/lib/generated-client/models/validate-path-dto.d.ts +0 -8
- package/lib/generated-client/models/version-info.d.ts +0 -20
- package/lib/generated-client/models/video-range-type.d.ts +0 -2
- package/lib/generated-client/models/video-range-type.js +0 -2
- package/lib/generated-client/models/video-range.d.ts +0 -2
- package/lib/generated-client/models/video-range.js +0 -2
- package/lib/generated-client/models/video-type.d.ts +0 -2
- package/lib/generated-client/models/video-type.js +0 -2
- package/lib/generated-client/models/video3-dformat.d.ts +0 -5
- package/lib/generated-client/models/video3-dformat.js +0 -5
- package/lib/generated-client/models/virtual-folder-info.d.ts +0 -30
- package/lib/generated-client/models/web-socket-message.d.ts +0 -1
- package/lib/generated-client/models/xbmc-metadata-options.d.ts +0 -30
- package/lib/index.js +1 -1
- package/lib/models/api/image-request-parameters.d.ts +1 -1
- package/lib/models/device-info.d.ts +1 -0
- package/lib/utils/api/{videos-api.d.ts → artist-api.d.ts} +2 -2
- package/lib/utils/api/{movies-api.js → artist-api.js} +4 -4
- package/lib/utils/api/authentication-api.d.ts +8 -0
- package/lib/utils/api/authentication-api.js +35 -0
- package/lib/utils/api/{tmdb-api.d.ts → backup-api.d.ts} +2 -2
- package/lib/utils/api/backup-api.js +13 -0
- package/lib/utils/api/{artists-api.d.ts → channel-api.d.ts} +2 -2
- package/lib/utils/api/{artists-api.js → channel-api.js} +4 -4
- package/lib/utils/api/{movies-api.d.ts → device-api.d.ts} +2 -2
- package/lib/utils/api/{lyrics-api.js → device-api.js} +4 -4
- package/lib/utils/api/display-preference-api.d.ts +8 -0
- package/lib/utils/api/display-preference-api.js +12 -0
- package/lib/utils/api/{items-api.d.ts → genre-api.d.ts} +2 -2
- package/lib/utils/api/{items-api.js → genre-api.js} +4 -4
- package/lib/utils/api/index.d.ts +24 -38
- package/lib/utils/api/index.js +24 -38
- package/lib/utils/api/library-api.d.ts +14 -2
- package/lib/utils/api/library-api.js +17 -1
- package/lib/utils/api/{years-api.d.ts → lyric-api.d.ts} +2 -2
- package/lib/utils/api/{years-api.js → lyric-api.js} +4 -4
- package/lib/utils/api/{activity-log-api.d.ts → media-segment-api.d.ts} +2 -2
- package/lib/utils/api/{quick-connect-api.js → media-segment-api.js} +4 -4
- package/lib/utils/api/movie-api.d.ts +8 -0
- package/lib/utils/api/movie-api.js +12 -0
- package/lib/utils/api/{dynamic-hls-api.d.ts → music-genre-api.d.ts} +2 -2
- package/lib/utils/api/{dynamic-hls-api.js → music-genre-api.js} +4 -4
- package/lib/utils/api/{genres-api.d.ts → person-api.d.ts} +2 -2
- package/lib/utils/api/{genres-api.js → person-api.js} +4 -4
- package/lib/utils/api/{trailers-api.d.ts → playlist-api.d.ts} +2 -2
- package/lib/utils/api/{channels-api.js → playlist-api.js} +4 -4
- package/lib/utils/api/{lyrics-api.d.ts → plugin-api.d.ts} +2 -2
- package/lib/utils/api/{videos-api.js → plugin-api.js} +4 -4
- package/lib/utils/api/scheduled-task-api.d.ts +8 -0
- package/lib/utils/api/{configuration-api.js → scheduled-task-api.js} +4 -4
- package/lib/utils/api/session-api.js +3 -1
- package/lib/utils/api/show-api.d.ts +8 -0
- package/lib/utils/api/{tmdb-api.js → show-api.js} +4 -4
- package/lib/utils/api/studio-api.d.ts +8 -0
- package/lib/utils/api/studio-api.js +12 -0
- package/lib/utils/api/{hls-segment-api.d.ts → suggestion-api.d.ts} +2 -2
- package/lib/utils/api/{hls-segment-api.js → suggestion-api.js} +4 -4
- package/lib/utils/api/{package-api.d.ts → trailer-api.d.ts} +2 -2
- package/lib/utils/api/{devices-api.js → trailer-api.js} +4 -4
- package/lib/utils/api/{dashboard-api.d.ts → trick-play-api.d.ts} +2 -2
- package/lib/utils/api/{dashboard-api.js → trick-play-api.js} +4 -4
- package/lib/utils/api/user-api.js +1 -26
- package/lib/utils/api/{api-key-api.d.ts → user-data-api.d.ts} +2 -2
- package/lib/utils/api/{time-sync-api.js → user-data-api.js} +4 -4
- package/lib/utils/api/{channels-api.d.ts → user-view-api.d.ts} +2 -2
- package/lib/utils/api/{trailers-api.js → user-view-api.js} +4 -4
- package/lib/utils/api/video-api.d.ts +8 -0
- package/lib/utils/api/video-api.js +12 -0
- package/lib/utils/api/year-api.d.ts +8 -0
- package/lib/utils/api/year-api.js +12 -0
- package/lib/utils/index.js +2 -2
- package/lib/utils/url/index.d.ts +1 -0
- package/lib/utils/url/index.js +4 -1
- package/lib/utils/versioning.d.ts +12 -1
- package/lib/utils/versioning.js +44 -13
- package/lib/versions.d.ts +1 -1
- package/lib/versions.js +1 -1
- package/lib/websocket/constants.d.ts +24 -0
- package/lib/websocket/constants.js +42 -0
- package/lib/websocket/index.d.ts +8 -0
- package/lib/websocket/index.js +3 -0
- package/lib/{utils/api/client-log-api.d.ts → websocket/models.d.ts} +6 -3
- package/lib/websocket/models.js +16 -0
- package/lib/websocket/types.d.ts +37 -0
- package/lib/websocket/types.js +42 -0
- package/lib/websocket/websocket-service.d.ts +142 -0
- package/lib/websocket/websocket-service.js +296 -0
- package/package.json +20 -17
- package/lib/generated-client/api/activity-log-api.d.ts +0 -110
- package/lib/generated-client/api/activity-log-api.js +0 -135
- package/lib/generated-client/api/api-key-api.d.ts +0 -161
- package/lib/generated-client/api/api-key-api.js +0 -245
- package/lib/generated-client/api/client-log-api.d.ts +0 -86
- package/lib/generated-client/api/client-log-api.js +0 -117
- package/lib/generated-client/api/configuration-api.d.ts +0 -292
- package/lib/generated-client/api/configuration-api.js +0 -442
- package/lib/generated-client/api/dashboard-api.d.ts +0 -132
- package/lib/generated-client/api/dashboard-api.js +0 -182
- package/lib/generated-client/api/dlna-api.d.ts +0 -292
- package/lib/generated-client/api/dlna-server-api.d.ts +0 -784
- package/lib/generated-client/api/dynamic-hls-api.d.ts +0 -4261
- package/lib/generated-client/api/dynamic-hls-api.js +0 -3025
- package/lib/generated-client/api/hls-segment-api.d.ts +0 -325
- package/lib/generated-client/api/hls-segment-api.js +0 -415
- package/lib/generated-client/api/image-by-name-api.d.ts +0 -292
- package/lib/generated-client/api/item-refresh-api.d.ts +0 -126
- package/lib/generated-client/api/item-refresh-api.js +0 -143
- package/lib/generated-client/api/items-api.d.ts +0 -1052
- package/lib/generated-client/api/items-api.js +0 -835
- package/lib/generated-client/api/music-genres-api.d.ts +0 -286
- package/lib/generated-client/api/music-genres-api.js +0 -278
- package/lib/generated-client/api/notifications-api.d.ts +0 -332
- package/lib/generated-client/api/package-api.d.ts +0 -315
- package/lib/generated-client/api/package-api.js +0 -455
- package/lib/generated-client/api/playstate-api.d.ts +0 -679
- package/lib/generated-client/api/playstate-api.js +0 -789
- package/lib/generated-client/api/plugins-api.d.ts +0 -473
- package/lib/generated-client/api/plugins-api.js +0 -663
- package/lib/generated-client/api/quick-connect-api.d.ts +0 -198
- package/lib/generated-client/api/quick-connect-api.js +0 -305
- package/lib/generated-client/api/time-sync-api.d.ts +0 -69
- package/lib/generated-client/api/time-sync-api.js +0 -109
- package/lib/generated-client/api/tmdb-api.d.ts +0 -69
- package/lib/generated-client/api/tmdb-api.js +0 -111
- package/lib/generated-client/api/universal-audio-api.d.ts +0 -420
- package/lib/generated-client/api/universal-audio-api.js +0 -364
- package/lib/generated-client/api/user-library-api.d.ts +0 -657
- package/lib/generated-client/api/video-attachments-api.d.ts +0 -101
- package/lib/generated-client/api/video-attachments-api.js +0 -126
- package/lib/generated-client/models/admin-notification-dto.d.ts +0 -42
- package/lib/generated-client/models/base-item.d.ts +0 -84
- package/lib/generated-client/models/branding-options.d.ts +0 -35
- package/lib/generated-client/models/client-capabilities.d.ts +0 -76
- package/lib/generated-client/models/config-image-types.d.ts +0 -59
- package/lib/generated-client/models/control-response.d.ts +0 -37
- package/lib/generated-client/models/device-identification.d.ts +0 -72
- package/lib/generated-client/models/device-info-query-result.d.ts +0 -36
- package/lib/generated-client/models/device-info.d.ts +0 -84
- package/lib/generated-client/models/device-options.d.ts +0 -35
- package/lib/generated-client/models/device-profile-info.d.ts +0 -36
- package/lib/generated-client/models/device-profile-type.d.ts +0 -20
- package/lib/generated-client/models/dlna-options.d.ts +0 -83
- package/lib/generated-client/models/ffmpeg-location.d.ts +0 -22
- package/lib/generated-client/models/group-info-dto-group-update.d.ts +0 -37
- package/lib/generated-client/models/group-state-update-group-update.d.ts +0 -37
- package/lib/generated-client/models/hardware-encoding-type.d.ts +0 -25
- package/lib/generated-client/models/header-match-type.d.ts +0 -21
- package/lib/generated-client/models/http-header-info.d.ts +0 -36
- package/lib/generated-client/models/image-by-name-info.d.ts +0 -47
- package/lib/generated-client/models/media-encoder-path-dto.d.ts +0 -29
- package/lib/generated-client/models/notification-dto.d.ts +0 -66
- package/lib/generated-client/models/notification-option.d.ts +0 -54
- package/lib/generated-client/models/notification-options.d.ts +0 -24
- package/lib/generated-client/models/notification-result-dto.d.ts +0 -30
- package/lib/generated-client/models/notification-type-info.d.ts +0 -47
- package/lib/generated-client/models/notifications-summary-dto.d.ts +0 -30
- package/lib/generated-client/models/object-group-update.d.ts +0 -36
- package/lib/generated-client/models/play-queue-update-group-update.d.ts +0 -37
- package/lib/generated-client/models/response-profile.d.ts +0 -61
- package/lib/generated-client/models/send-to-user-type.d.ts +0 -21
- package/lib/generated-client/models/session-info.d.ts +0 -199
- package/lib/generated-client/models/string-group-update.d.ts +0 -36
- package/lib/generated-client/models/subtitle-options.d.ts +0 -71
- package/lib/generated-client/models/sync-play-group-update-command-message.d.ts +0 -37
- package/lib/generated-client/models/trickplay-info.d.ts +0 -65
- package/lib/generated-client/models/update-user-easy-password.d.ts +0 -35
- package/lib/generated-client/models/wake-on-lan-info.d.ts +0 -29
- package/lib/generated-client/models/xml-attribute.d.ts +0 -29
- package/lib/utils/api/activity-log-api.js +0 -12
- package/lib/utils/api/api-key-api.js +0 -12
- package/lib/utils/api/client-log-api.js +0 -12
- package/lib/utils/api/configuration-api.d.ts +0 -8
- package/lib/utils/api/devices-api.d.ts +0 -8
- package/lib/utils/api/display-preferences-api.d.ts +0 -8
- package/lib/utils/api/display-preferences-api.js +0 -12
- package/lib/utils/api/item-refresh-api.d.ts +0 -8
- package/lib/utils/api/item-refresh-api.js +0 -12
- package/lib/utils/api/media-segments-api.d.ts +0 -8
- package/lib/utils/api/media-segments-api.js +0 -12
- package/lib/utils/api/music-genres-api.d.ts +0 -8
- package/lib/utils/api/music-genres-api.js +0 -12
- package/lib/utils/api/package-api.js +0 -12
- package/lib/utils/api/persons-api.d.ts +0 -8
- package/lib/utils/api/persons-api.js +0 -12
- package/lib/utils/api/playlists-api.d.ts +0 -8
- package/lib/utils/api/playlists-api.js +0 -12
- package/lib/utils/api/playstate-api.d.ts +0 -8
- package/lib/utils/api/playstate-api.js +0 -12
- package/lib/utils/api/plugins-api.d.ts +0 -8
- package/lib/utils/api/plugins-api.js +0 -12
- package/lib/utils/api/quick-connect-api.d.ts +0 -8
- package/lib/utils/api/scheduled-tasks-api.d.ts +0 -8
- package/lib/utils/api/scheduled-tasks-api.js +0 -12
- package/lib/utils/api/studios-api.d.ts +0 -8
- package/lib/utils/api/studios-api.js +0 -12
- package/lib/utils/api/suggestions-api.d.ts +0 -8
- package/lib/utils/api/suggestions-api.js +0 -12
- package/lib/utils/api/time-sync-api.d.ts +0 -8
- package/lib/utils/api/trickplay-api.d.ts +0 -8
- package/lib/utils/api/trickplay-api.js +0 -12
- package/lib/utils/api/tv-shows-api.d.ts +0 -8
- package/lib/utils/api/tv-shows-api.js +0 -12
- package/lib/utils/api/universal-audio-api.d.ts +0 -8
- package/lib/utils/api/universal-audio-api.js +0 -12
- package/lib/utils/api/user-library-api.d.ts +0 -8
- package/lib/utils/api/user-library-api.js +0 -12
- package/lib/utils/api/user-views-api.d.ts +0 -8
- package/lib/utils/api/user-views-api.js +0 -12
- package/lib/utils/api/video-attachments-api.d.ts +0 -8
- package/lib/utils/api/video-attachments-api.js +0 -12
package/.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
24
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,27 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.0.0] - 2026-09-11
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
* Added `getBackupApi` utility function ([#997](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/997)).
|
|
15
|
+
* `getLibraryApi` now returns an augmented class with a `getDownloadUrl` method ([#967](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/967)).
|
|
16
|
+
* The `Api` class now contains a `webSocket` field, of which `OutboundWebSocketMessageType`s can be subscribed to for handling WebSocket messages ([#966](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/968)).
|
|
17
|
+
* Added support for sending `Accept-Language` header with requests by including `languages` in `DeviceInfo` ([#1076](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/1076)).
|
|
18
|
+
* Added `compareVersions` and `getDisplayVersion` utility functions for comparing and formatting versions ([#1083](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/1083)).
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
* Any usages of `AUTHORIZATION_HEADER` and `AUTHORIZATION_PARAMETER` constants must be updated to be imported from `/constants` ([#966](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/968)).
|
|
23
|
+
* Update OpenAPI spec for Jellyfin 12.0 ([#1071](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/1071)).
|
|
24
|
+
Note that **A LOT** of the APIs were renamed or moved as part of this update.
|
|
25
|
+
Specific changes can be found in [#1072](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/1072).
|
|
26
|
+
|
|
27
|
+
### Deprecated
|
|
28
|
+
|
|
29
|
+
* `isVersionLess` is deprecated in favor of `compareVersions` ([#1083](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/1083)).
|
|
30
|
+
|
|
10
31
|
## [0.13.0] - 2025-10-28
|
|
11
32
|
|
|
12
33
|
### Changed
|
|
@@ -15,7 +36,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
15
36
|
|
|
16
37
|
### Deprecated
|
|
17
38
|
|
|
18
|
-
* Deprecate authentication helper methods in `Api` class ([#949](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/
|
|
39
|
+
* Deprecate authentication helper methods in `Api` class ([#949](https://github.com/jellyfin/jellyfin-sdk-typescript/pull/949)).
|
|
19
40
|
Updating the `accessToken` is now handled transparently in `getUserApi` and `getSessionApi`. If you need to handle
|
|
20
41
|
authentication manually, then you should manually create `UserApi` and `SessionApi` instances.
|
|
21
42
|
|
|
@@ -120,7 +141,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
120
141
|
|
|
121
142
|
## [0.1.0] - 2021-09-19
|
|
122
143
|
|
|
123
|
-
[unreleased]: https://github.com/jellyfin/jellyfin-sdk-typescript/compare/
|
|
144
|
+
[unreleased]: https://github.com/jellyfin/jellyfin-sdk-typescript/compare/v1.0.0...HEAD
|
|
145
|
+
[1.0.0]: https://github.com/jellyfin/jellyfin-sdk-typescript/compare/v0.13.0...v1.0.0
|
|
124
146
|
[0.13.0]: https://github.com/jellyfin/jellyfin-sdk-typescript/compare/v0.12.0...v0.13.0
|
|
125
147
|
[0.12.0]: https://github.com/jellyfin/jellyfin-sdk-typescript/compare/v0.11.0...v0.12.0
|
|
126
148
|
[0.11.0]: https://github.com/jellyfin/jellyfin-sdk-typescript/compare/v0.10.0...v0.11.0
|
package/README.md
CHANGED
|
@@ -17,8 +17,6 @@
|
|
|
17
17
|
|
|
18
18
|
A TypeScript SDK for Jellyfin.
|
|
19
19
|
|
|
20
|
-
> Warning: This project is under active development, so API changes may occur.
|
|
21
|
-
|
|
22
20
|
## Install
|
|
23
21
|
|
|
24
22
|
```sh
|
|
@@ -33,18 +31,15 @@ yarn add @jellyfin/sdk
|
|
|
33
31
|
|
|
34
32
|
### Supported Jellyfin Versions
|
|
35
33
|
|
|
36
|
-
|
|
|
37
|
-
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
| 0.
|
|
45
|
-
| <0.5.0 | 10.7.x |
|
|
46
|
-
|
|
47
|
-
> Note: Versions prior to 0.7.0 were published as `@thornbill/jellyfin-sdk`.
|
|
34
|
+
| SDK Version | Jellyfin Version |
|
|
35
|
+
|:-------------:|:----------------:|
|
|
36
|
+
| 1.0.0 | 12.x |
|
|
37
|
+
| 0.13.0 | 10.11.x |
|
|
38
|
+
| 0.12.0 | 10.11.x |
|
|
39
|
+
| 0.11.0 | 10.10.x |
|
|
40
|
+
| 0.10.0 | 10.9.x |
|
|
41
|
+
| 0.9.0 | 10.9.x |
|
|
42
|
+
| 0.8.2 - 0.7.0 | 10.8.1 - 10.8.13 |
|
|
48
43
|
|
|
49
44
|
### React Native
|
|
50
45
|
|
|
@@ -63,7 +58,8 @@ const jellyfin = new Jellyfin({
|
|
|
63
58
|
},
|
|
64
59
|
deviceInfo: {
|
|
65
60
|
name: 'Device Name',
|
|
66
|
-
id: 'unique-device-id'
|
|
61
|
+
id: 'unique-device-id',
|
|
62
|
+
languages: ['en-US']
|
|
67
63
|
}
|
|
68
64
|
});
|
|
69
65
|
|
|
@@ -94,7 +90,7 @@ const users = await getUserApi(api).getPublicUsers();
|
|
|
94
90
|
console.log('Users =>', users.data);
|
|
95
91
|
|
|
96
92
|
// Login with a username and password.
|
|
97
|
-
const auth = await
|
|
93
|
+
const auth = await getAuthenticationApi(this).authenticateUserByName({ authenticateUserByName: { Username: 'demo', Pw: '' } });
|
|
98
94
|
console.log('Auth =>', auth.data);
|
|
99
95
|
|
|
100
96
|
// Authentication state is stored internally in the Api class, so now
|
|
@@ -106,17 +102,46 @@ console.log('Libraries =>', libraries.data);
|
|
|
106
102
|
await getSessionApi(api).reportSessionEnded();
|
|
107
103
|
```
|
|
108
104
|
|
|
109
|
-
##
|
|
105
|
+
## Development
|
|
110
106
|
|
|
111
|
-
|
|
107
|
+
If you want to build the SDK locally (for development, testing, or contributing), follow the steps below.
|
|
108
|
+
|
|
109
|
+
### 1. Replace `openapi.json` file
|
|
110
|
+
|
|
111
|
+
Obtain the correct `openapi.json` file from the Jellyfin server repository.
|
|
112
|
+
|
|
113
|
+
- If working with merged changes, you can download it from the [Jellyfin API spec](https://api.jellyfin.org/openapi/jellyfin-openapi-unstable.json).
|
|
114
|
+
- If working with unmerged branch changes, download the `openapi.json` artifact generated from that specific branch build.
|
|
115
|
+
|
|
116
|
+
Once you have the correct file, replace the existing `openapi.json` in this repository with the new one.
|
|
117
|
+
|
|
118
|
+
### 2. Build the project
|
|
119
|
+
|
|
120
|
+
You can now build the project by executing the following commands
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
npm run fix-schema
|
|
124
|
+
npm run build
|
|
125
|
+
```
|
|
112
126
|
|
|
113
|
-
|
|
127
|
+
This should then generate a compiled output in the `lib` folder
|
|
114
128
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
129
|
+
### 3. Use the local build in another project
|
|
130
|
+
|
|
131
|
+
You can reference your local build in another repository using `npm link`:
|
|
132
|
+
|
|
133
|
+
```sh
|
|
134
|
+
npm link
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Then, in the consuming project:
|
|
138
|
+
|
|
139
|
+
```sh
|
|
140
|
+
npm link @jellyfin/sdk
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
This allows you to test changes to the SDK without publishing it to npm.
|
|
144
|
+
|
|
145
|
+
## Significant Changes
|
|
146
|
+
|
|
147
|
+
[See the CHANGELOG](./CHANGELOG.md)
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import eslint from '@eslint/js';
|
|
2
|
+
import stylistic from '@stylistic/eslint-plugin';
|
|
3
|
+
import vitest from '@vitest/eslint-plugin';
|
|
4
|
+
import importPlugin from 'eslint-plugin-import';
|
|
5
|
+
import globals from 'globals';
|
|
6
|
+
import tseslint from 'typescript-eslint';
|
|
7
|
+
|
|
8
|
+
export default tseslint.config(
|
|
9
|
+
// Global ignores
|
|
10
|
+
{
|
|
11
|
+
ignores: [
|
|
12
|
+
'dist/**',
|
|
13
|
+
'docs/**',
|
|
14
|
+
'src/generated-client/**',
|
|
15
|
+
'lib/**',
|
|
16
|
+
'node_modules/**'
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
// Base config for all files
|
|
21
|
+
eslint.configs.recommended,
|
|
22
|
+
...tseslint.configs.recommended,
|
|
23
|
+
|
|
24
|
+
// Main source files config
|
|
25
|
+
{
|
|
26
|
+
files: ['**/*.ts', '**/*.mjs', '**/*.js'],
|
|
27
|
+
plugins: {
|
|
28
|
+
'@stylistic': stylistic,
|
|
29
|
+
'import': importPlugin
|
|
30
|
+
},
|
|
31
|
+
languageOptions: {
|
|
32
|
+
globals: {
|
|
33
|
+
...globals.node
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
settings: {
|
|
37
|
+
'import/resolver': {
|
|
38
|
+
typescript: true,
|
|
39
|
+
node: true
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
rules: {
|
|
43
|
+
'import/order': ['error', {
|
|
44
|
+
'alphabetize': { 'order': 'asc', 'caseInsensitive': true },
|
|
45
|
+
'newlines-between': 'always-and-inside-groups'
|
|
46
|
+
}],
|
|
47
|
+
|
|
48
|
+
'@stylistic/type-annotation-spacing': ['error'],
|
|
49
|
+
|
|
50
|
+
'@typescript-eslint/consistent-type-imports': ['error'],
|
|
51
|
+
|
|
52
|
+
'array-callback-return': ['error'],
|
|
53
|
+
'arrow-spacing': ['error'],
|
|
54
|
+
'block-spacing': ['error'],
|
|
55
|
+
'brace-style': ['error', '1tbs', { 'allowSingleLine': true }],
|
|
56
|
+
'comma-dangle': ['error', 'never'],
|
|
57
|
+
'comma-spacing': ['error'],
|
|
58
|
+
'curly': ['error', 'multi-line'],
|
|
59
|
+
'eol-last': ['error'],
|
|
60
|
+
'indent': ['error', 'tab', { 'SwitchCase': 1 }],
|
|
61
|
+
'jsx-quotes': ['error', 'prefer-single'],
|
|
62
|
+
'key-spacing': ['error'],
|
|
63
|
+
'keyword-spacing': ['error'],
|
|
64
|
+
'max-statements-per-line': ['error'],
|
|
65
|
+
'no-floating-decimal': ['error'],
|
|
66
|
+
'no-multi-spaces': ['error'],
|
|
67
|
+
'no-multiple-empty-lines': ['error', { 'max': 1 }],
|
|
68
|
+
'no-restricted-globals': ['error'],
|
|
69
|
+
'no-trailing-spaces': ['error'],
|
|
70
|
+
'no-unreachable': ['error'],
|
|
71
|
+
'no-unused-expressions': ['error', { 'allowShortCircuit': true, 'allowTernary': true, 'allowTaggedTemplates': true }],
|
|
72
|
+
'object-curly-spacing': ['error', 'always'],
|
|
73
|
+
'one-var': ['error', 'never'],
|
|
74
|
+
'padded-blocks': ['error', 'never'],
|
|
75
|
+
'prefer-const': ['error', { 'destructuring': 'all' }],
|
|
76
|
+
'quotes': ['error', 'single', { 'avoidEscape': true, 'allowTemplateLiterals': false }],
|
|
77
|
+
'semi': ['error'],
|
|
78
|
+
'no-var': ['error'],
|
|
79
|
+
'space-before-blocks': ['error'],
|
|
80
|
+
'space-before-function-paren': ['error', { 'anonymous': 'never', 'named': 'never', 'asyncArrow': 'always' }],
|
|
81
|
+
'space-infix-ops': 'error',
|
|
82
|
+
'yoda': 'error'
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
// Source files - browser environment
|
|
87
|
+
{
|
|
88
|
+
files: ['src/**/*.ts'],
|
|
89
|
+
languageOptions: {
|
|
90
|
+
globals: {
|
|
91
|
+
...globals.browser
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
// Test files config
|
|
97
|
+
{
|
|
98
|
+
files: ['**/*.test.ts'],
|
|
99
|
+
plugins: {
|
|
100
|
+
vitest
|
|
101
|
+
},
|
|
102
|
+
languageOptions: {
|
|
103
|
+
globals: {
|
|
104
|
+
...globals.node
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
rules: {
|
|
108
|
+
...vitest.configs.recommended.rules,
|
|
109
|
+
'vitest/consistent-test-it': ['error'],
|
|
110
|
+
'vitest/prefer-lowercase-title': ['error', { 'ignoreTopLevelDescribe': true }],
|
|
111
|
+
'vitest/require-top-level-describe': ['error'],
|
|
112
|
+
// Disable because we use custom `itIf` helper that the plugin doesn't recognize
|
|
113
|
+
'vitest/no-standalone-expect': 'off',
|
|
114
|
+
// Disable rules that require type information (would need parserOptions.project)
|
|
115
|
+
'vitest/valid-title': 'off'
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
);
|
package/lib/api.d.ts
CHANGED
|
@@ -7,20 +7,24 @@ import type { AxiosInstance, AxiosResponse } from 'axios';
|
|
|
7
7
|
import { Configuration } from './generated-client/configuration';
|
|
8
8
|
import type { AuthenticationResult } from './generated-client/models/authentication-result';
|
|
9
9
|
import type { ClientInfo, DeviceInfo } from './models';
|
|
10
|
-
|
|
11
|
-
export declare const AUTHORIZATION_HEADER = "Authorization";
|
|
10
|
+
import type { OutboundWebSocketMessageType, SocketMessageHandler } from './websocket';
|
|
12
11
|
/** Class representing the Jellyfin API. */
|
|
13
12
|
export declare class Api {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
axiosInstance: AxiosInstance;
|
|
13
|
+
private _basePath;
|
|
14
|
+
private _clientInfo;
|
|
15
|
+
private _deviceInfo;
|
|
16
|
+
private _accessToken;
|
|
17
|
+
readonly axiosInstance: AxiosInstance;
|
|
18
|
+
private webSocket;
|
|
19
19
|
constructor(basePath: string, clientInfo: ClientInfo, deviceInfo: DeviceInfo, accessToken?: string, axiosInstance?: AxiosInstance);
|
|
20
|
+
get accessToken(): string;
|
|
21
|
+
get basePath(): string;
|
|
22
|
+
get clientInfo(): ClientInfo;
|
|
23
|
+
get deviceInfo(): DeviceInfo;
|
|
20
24
|
get configuration(): Configuration;
|
|
21
25
|
/**
|
|
22
26
|
* Convenience method for authenticating a user by name.
|
|
23
|
-
* @deprecated Use `
|
|
27
|
+
* @deprecated Use `getAuthenticationApi().authenticateUserByName()` instead.
|
|
24
28
|
* @param username The username.
|
|
25
29
|
* @param password The user password if required.
|
|
26
30
|
*/
|
|
@@ -37,5 +41,23 @@ export declare class Api {
|
|
|
37
41
|
* @deprecated Use `getSessionApi().reportSessionEnded()` instead.
|
|
38
42
|
*/
|
|
39
43
|
logout(): Promise<AxiosResponse<never> | AxiosResponse<void>>;
|
|
44
|
+
/**
|
|
45
|
+
* Updates this {@link Api} instance with new data.
|
|
46
|
+
*
|
|
47
|
+
* If the access token is cleared, any existing WebSocket connection will be closed.
|
|
48
|
+
*
|
|
49
|
+
* If the base path or access token changes while a WebSocket connection is active,
|
|
50
|
+
* the connection will be reconnected with the new credentials.
|
|
51
|
+
*
|
|
52
|
+
* @param data The data to update.
|
|
53
|
+
*/
|
|
54
|
+
update(data: Partial<{
|
|
55
|
+
basePath: string;
|
|
56
|
+
clientInfo: ClientInfo;
|
|
57
|
+
deviceInfo: DeviceInfo;
|
|
58
|
+
accessToken: string;
|
|
59
|
+
}>): void;
|
|
40
60
|
get authorizationHeader(): string;
|
|
61
|
+
get acceptLanguageHeader(): string | undefined;
|
|
62
|
+
subscribe<T extends OutboundWebSocketMessageType>(messageTypes: T[], onMessage: SocketMessageHandler<T>): () => void;
|
|
41
63
|
}
|
package/lib/api.js
CHANGED
|
@@ -1,39 +1,53 @@
|
|
|
1
1
|
import globalAxios from 'axios';
|
|
2
|
+
import { ACCEPT_LANGUAGE_HEADER, AUTHORIZATION_HEADER, AUTHORIZATION_PARAMETER } from './constants.js';
|
|
2
3
|
import { Configuration } from './generated-client/configuration.js';
|
|
3
4
|
import { getAuthorizationHeader } from './utils/authentication.js';
|
|
5
|
+
import { getAuthenticationApi } from './utils/api/authentication-api.js';
|
|
4
6
|
import { getSessionApi } from './utils/api/session-api.js';
|
|
5
|
-
import {
|
|
7
|
+
import { WebSocketService } from './websocket/websocket-service.js';
|
|
8
|
+
import { WEBSOCKET_URL_PATH } from './websocket/constants.js';
|
|
6
9
|
|
|
7
|
-
/** The authorization header field name. */
|
|
8
|
-
const AUTHORIZATION_HEADER = 'Authorization';
|
|
9
10
|
/** Class representing the Jellyfin API. */
|
|
10
11
|
class Api {
|
|
11
12
|
constructor(basePath, clientInfo, deviceInfo, accessToken = '', axiosInstance = globalAxios) {
|
|
12
13
|
// Remove trailing slash if present
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
14
|
+
this._basePath = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;
|
|
15
|
+
this._clientInfo = clientInfo;
|
|
16
|
+
this._deviceInfo = deviceInfo;
|
|
17
|
+
this._accessToken = accessToken;
|
|
17
18
|
this.axiosInstance = axiosInstance;
|
|
18
19
|
}
|
|
20
|
+
get accessToken() {
|
|
21
|
+
return this._accessToken;
|
|
22
|
+
}
|
|
23
|
+
get basePath() {
|
|
24
|
+
return this._basePath;
|
|
25
|
+
}
|
|
26
|
+
get clientInfo() {
|
|
27
|
+
return this._clientInfo;
|
|
28
|
+
}
|
|
29
|
+
get deviceInfo() {
|
|
30
|
+
return this._deviceInfo;
|
|
31
|
+
}
|
|
19
32
|
get configuration() {
|
|
20
33
|
return new Configuration({
|
|
21
|
-
basePath: this.
|
|
34
|
+
basePath: this._basePath,
|
|
22
35
|
baseOptions: {
|
|
23
36
|
headers: {
|
|
24
|
-
[AUTHORIZATION_HEADER]: this.authorizationHeader
|
|
37
|
+
[AUTHORIZATION_HEADER]: this.authorizationHeader,
|
|
38
|
+
[ACCEPT_LANGUAGE_HEADER]: this.acceptLanguageHeader
|
|
25
39
|
}
|
|
26
40
|
}
|
|
27
41
|
});
|
|
28
42
|
}
|
|
29
43
|
/**
|
|
30
44
|
* Convenience method for authenticating a user by name.
|
|
31
|
-
* @deprecated Use `
|
|
45
|
+
* @deprecated Use `getAuthenticationApi().authenticateUserByName()` instead.
|
|
32
46
|
* @param username The username.
|
|
33
47
|
* @param password The user password if required.
|
|
34
48
|
*/
|
|
35
49
|
authenticateUserByName(username, password) {
|
|
36
|
-
return
|
|
50
|
+
return getAuthenticationApi(this).authenticateUserByName(
|
|
37
51
|
// The axios client does some strange wrapping of the param object
|
|
38
52
|
{ authenticateUserByName: { Username: username, Pw: password } });
|
|
39
53
|
}
|
|
@@ -45,7 +59,7 @@ class Api {
|
|
|
45
59
|
*/
|
|
46
60
|
getUri(url, params) {
|
|
47
61
|
return this.axiosInstance.getUri({
|
|
48
|
-
baseURL: this.
|
|
62
|
+
baseURL: this._basePath,
|
|
49
63
|
url,
|
|
50
64
|
params
|
|
51
65
|
});
|
|
@@ -57,9 +71,60 @@ class Api {
|
|
|
57
71
|
logout() {
|
|
58
72
|
return getSessionApi(this).reportSessionEnded();
|
|
59
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Updates this {@link Api} instance with new data.
|
|
76
|
+
*
|
|
77
|
+
* If the access token is cleared, any existing WebSocket connection will be closed.
|
|
78
|
+
*
|
|
79
|
+
* If the base path or access token changes while a WebSocket connection is active,
|
|
80
|
+
* the connection will be reconnected with the new credentials.
|
|
81
|
+
*
|
|
82
|
+
* @param data The data to update.
|
|
83
|
+
*/
|
|
84
|
+
update(data) {
|
|
85
|
+
var _a, _b;
|
|
86
|
+
if (data.basePath) {
|
|
87
|
+
this._basePath = data.basePath;
|
|
88
|
+
}
|
|
89
|
+
if (data.clientInfo) {
|
|
90
|
+
this._clientInfo = data.clientInfo;
|
|
91
|
+
}
|
|
92
|
+
if (data.deviceInfo) {
|
|
93
|
+
this._deviceInfo = data.deviceInfo;
|
|
94
|
+
}
|
|
95
|
+
if (data.accessToken !== undefined) {
|
|
96
|
+
this._accessToken = data.accessToken;
|
|
97
|
+
}
|
|
98
|
+
if (data.basePath ||
|
|
99
|
+
(data.accessToken && data.accessToken !== '')) {
|
|
100
|
+
(_a = this.webSocket) === null || _a === void 0 ? void 0 : _a.updateUrl(this.getUri(WEBSOCKET_URL_PATH, {
|
|
101
|
+
[AUTHORIZATION_PARAMETER]: this.accessToken
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
else if (data.accessToken === '') {
|
|
105
|
+
// Token was cleared, dispose of WebSocket
|
|
106
|
+
(_b = this.webSocket) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
60
109
|
get authorizationHeader() {
|
|
61
|
-
return getAuthorizationHeader(this.
|
|
110
|
+
return getAuthorizationHeader(this._clientInfo, this._deviceInfo, this._accessToken);
|
|
111
|
+
}
|
|
112
|
+
get acceptLanguageHeader() {
|
|
113
|
+
const languages = this._deviceInfo.languages;
|
|
114
|
+
return (languages === null || languages === void 0 ? void 0 : languages.length) ? languages.join(',') : undefined;
|
|
115
|
+
}
|
|
116
|
+
subscribe(messageTypes, onMessage) {
|
|
117
|
+
if (!this.webSocket) {
|
|
118
|
+
// Pass undefined when there is no access token so subscriptions are stored
|
|
119
|
+
// but no connection attempt is made until updateUrl() is called later.
|
|
120
|
+
this.webSocket = new WebSocketService(this.accessToken
|
|
121
|
+
? this.getUri(WEBSOCKET_URL_PATH, {
|
|
122
|
+
[AUTHORIZATION_PARAMETER]: this.accessToken
|
|
123
|
+
})
|
|
124
|
+
: undefined);
|
|
125
|
+
}
|
|
126
|
+
return this.webSocket.subscribe(messageTypes, onMessage);
|
|
62
127
|
}
|
|
63
128
|
}
|
|
64
129
|
|
|
65
|
-
export {
|
|
130
|
+
export { Api };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*/
|
|
6
|
+
/** The authorization header field name. */
|
|
7
|
+
export declare const AUTHORIZATION_HEADER = "Authorization";
|
|
8
|
+
/** The accept language header field name. */
|
|
9
|
+
export declare const ACCEPT_LANGUAGE_HEADER = "Accept-Language";
|
|
10
|
+
/** The authorization query parameter name. */
|
|
11
|
+
export declare const AUTHORIZATION_PARAMETER = "ApiKey";
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*/
|
|
6
|
+
/** The authorization header field name. */
|
|
7
|
+
const AUTHORIZATION_HEADER = 'Authorization';
|
|
8
|
+
/** The accept language header field name. */
|
|
9
|
+
const ACCEPT_LANGUAGE_HEADER = 'Accept-Language';
|
|
10
|
+
/** The authorization query parameter name. */
|
|
11
|
+
const AUTHORIZATION_PARAMETER = 'ApiKey';
|
|
12
|
+
|
|
13
|
+
export { ACCEPT_LANGUAGE_HEADER, AUTHORIZATION_HEADER, AUTHORIZATION_PARAMETER };
|