@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
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { YearApi } from '../../generated-client/api/year-api.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
5
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
6
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
7
|
+
*/
|
|
8
|
+
function getYearApi(api) {
|
|
9
|
+
return new YearApi(api.configuration, undefined, api.axiosInstance);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { getYearApi };
|
package/lib/utils/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { JF_HTTPS_PORT, JF_HTTP_PORT, getAddressCandidates } from './address-candidates.js';
|
|
2
2
|
export { getAuthorizationHeader } from './authentication.js';
|
|
3
3
|
export { getBrowserDeviceProfile } from './browser-profiles.js';
|
|
4
|
-
export { copyUrl, getDefaultPort, hasProtocolAndPort, isDefaultPort, parseUrl } from './url/index.js';
|
|
5
|
-
export { isVersionLess } from './versioning.js';
|
|
4
|
+
export { buildWebSocketUrl, copyUrl, getDefaultPort, hasProtocolAndPort, isDefaultPort, parseUrl } from './url/index.js';
|
|
5
|
+
export { compareVersions, getDisplayVersion, isVersionLess } from './versioning.js';
|
|
6
6
|
export { HTTPS_PORT, HTTPS_PROTOCOL, HTTP_PORT, HTTP_PROTOCOL } from './url/constants.js';
|
|
7
7
|
|
|
8
8
|
/**
|
package/lib/utils/url/index.d.ts
CHANGED
package/lib/utils/url/index.js
CHANGED
|
@@ -59,5 +59,8 @@ function parseUrl(input) {
|
|
|
59
59
|
}
|
|
60
60
|
return new URL(normalizeUrl(input));
|
|
61
61
|
}
|
|
62
|
+
function buildWebSocketUrl(uri) {
|
|
63
|
+
return new URL(uri.replace(/^http/, 'ws'));
|
|
64
|
+
}
|
|
62
65
|
|
|
63
|
-
export { HTTPS_PORT, HTTPS_PROTOCOL, HTTP_PORT, HTTP_PROTOCOL, copyUrl, getDefaultPort, hasProtocolAndPort, isDefaultPort, parseUrl };
|
|
66
|
+
export { HTTPS_PORT, HTTPS_PROTOCOL, HTTP_PORT, HTTP_PROTOCOL, buildWebSocketUrl, copyUrl, getDefaultPort, hasProtocolAndPort, isDefaultPort, parseUrl };
|
|
@@ -1,9 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compares two version strings (e.g., "1.2.3") and returns:
|
|
3
|
+
* -1 if a < b
|
|
4
|
+
* 1 if a > b
|
|
5
|
+
* 0 if a == b
|
|
6
|
+
*
|
|
7
|
+
* @throws If version is not in a numeric-only semver format
|
|
8
|
+
*/
|
|
9
|
+
export declare function compareVersions(a?: string, b?: string): 1 | 0 | -1;
|
|
1
10
|
/**
|
|
2
11
|
* Check if given version is less than a baseline
|
|
3
12
|
*
|
|
4
|
-
*
|
|
13
|
+
* @deprecated Use {@link compareVersions} instead
|
|
5
14
|
* @throws If version is not in a numeric-only semver format
|
|
6
15
|
* @param check - The version to check
|
|
7
16
|
* @param baseline - The minimum version considered supported
|
|
8
17
|
*/
|
|
9
18
|
export declare function isVersionLess(check: string, baseline: string): boolean;
|
|
19
|
+
/** Formats a version (e.g., "1.2.3") string for display. */
|
|
20
|
+
export declare function getDisplayVersion(version: string | null | undefined): string | undefined;
|
package/lib/utils/versioning.js
CHANGED
|
@@ -1,32 +1,63 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @returns - Array of
|
|
2
|
+
* @returns - Array of numbers or undefined
|
|
3
3
|
* (if the passed string it's not in the MAJOR.MINOR.PATCH numeric-only format)
|
|
4
4
|
*/
|
|
5
5
|
function parseVersion(version) {
|
|
6
6
|
const arr = version.split('.').map(Number);
|
|
7
|
-
if (arr.length
|
|
7
|
+
if (arr.length && arr.every((n) => n >= 0)) {
|
|
8
8
|
return arr;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Compares two version strings (e.g., "1.2.3") and returns:
|
|
13
|
+
* -1 if a < b
|
|
14
|
+
* 1 if a > b
|
|
15
|
+
* 0 if a == b
|
|
16
|
+
*
|
|
17
|
+
* @throws If version is not in a numeric-only semver format
|
|
18
|
+
*/
|
|
19
|
+
function compareVersions(a = '', b = '') {
|
|
20
|
+
const aParts = parseVersion(a);
|
|
21
|
+
const bParts = parseVersion(b);
|
|
22
|
+
if (!aParts || !bParts) {
|
|
23
|
+
throw new TypeError("Version doesn't match a numeric-only semver format");
|
|
24
|
+
}
|
|
25
|
+
for (let i = 0, length = Math.max(aParts.length, bParts.length); i < length; i++) {
|
|
26
|
+
const aVal = aParts[i] || 0;
|
|
27
|
+
const bVal = bParts[i] || 0;
|
|
28
|
+
if (aVal < bVal) {
|
|
29
|
+
return -1;
|
|
30
|
+
}
|
|
31
|
+
if (aVal > bVal) {
|
|
32
|
+
return 1;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
11
37
|
/**
|
|
12
38
|
* Check if given version is less than a baseline
|
|
13
39
|
*
|
|
14
|
-
*
|
|
40
|
+
* @deprecated Use {@link compareVersions} instead
|
|
15
41
|
* @throws If version is not in a numeric-only semver format
|
|
16
42
|
* @param check - The version to check
|
|
17
43
|
* @param baseline - The minimum version considered supported
|
|
18
44
|
*/
|
|
19
45
|
function isVersionLess(check, baseline) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
46
|
+
return compareVersions(check, baseline) < 0;
|
|
47
|
+
}
|
|
48
|
+
/** Formats a version (e.g., "1.2.3") string for display. */
|
|
49
|
+
function getDisplayVersion(version) {
|
|
50
|
+
if (!version)
|
|
51
|
+
return;
|
|
52
|
+
// For versions above 10.X, we switch to only showing MAJOR.MINOR to reflect the new versioning scheme.
|
|
53
|
+
const parts = parseVersion(version);
|
|
54
|
+
if (parts && compareVersions(version, '11') >= 0) {
|
|
55
|
+
// Just in case we have a patch version that isn't 0, we want to show it. This should not happen.
|
|
56
|
+
if (parts.length === 3 && parts[2] !== 0)
|
|
57
|
+
return version;
|
|
58
|
+
return parts.slice(0, 2).join('.');
|
|
24
59
|
}
|
|
25
|
-
|
|
26
|
-
const [majorBaseline, minorBaseline, patchBaseline] = parsedBaseline;
|
|
27
|
-
return (majorCheck < majorBaseline ||
|
|
28
|
-
(majorCheck === majorBaseline && minorCheck < minorBaseline) ||
|
|
29
|
-
(majorCheck === majorBaseline && minorCheck === minorBaseline && patchCheck < patchBaseline));
|
|
60
|
+
return version;
|
|
30
61
|
}
|
|
31
62
|
|
|
32
|
-
export { isVersionLess };
|
|
63
|
+
export { compareVersions, getDisplayVersion, isVersionLess };
|
package/lib/versions.d.ts
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
5
|
*/
|
|
6
6
|
/** The current API version of the generated client. */
|
|
7
|
-
export declare const API_VERSION = "
|
|
7
|
+
export declare const API_VERSION = "13.0.0";
|
|
8
8
|
/** The minimum supported server version. */
|
|
9
9
|
export declare const MINIMUM_VERSION = "10.10.0";
|
package/lib/versions.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
5
|
*/
|
|
6
6
|
/** The current API version of the generated client. */
|
|
7
|
-
const API_VERSION = '
|
|
7
|
+
const API_VERSION = '13.0.0';
|
|
8
8
|
/** The minimum supported server version. */
|
|
9
9
|
const MINIMUM_VERSION = '10.10.0';
|
|
10
10
|
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
import type { WebSocketSubscription } from './types';
|
|
7
|
+
import { OutboundWebSocketMessageType } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* The URL path segment for websocket connections
|
|
10
|
+
*/
|
|
11
|
+
export declare const WEBSOCKET_URL_PATH = "socket";
|
|
12
|
+
/**
|
|
13
|
+
* The initial timeout interval in milliseconds for exponential backoff reconnection
|
|
14
|
+
*/
|
|
15
|
+
export declare const RECONNECT_INITIAL_DELAY = 1000;
|
|
16
|
+
/**
|
|
17
|
+
* The multiplier for exponential backoff on each reconnection attempt
|
|
18
|
+
*/
|
|
19
|
+
export declare const RECONNECT_DELAY_FACTOR = 1.5;
|
|
20
|
+
/**
|
|
21
|
+
* The maximum timeout interval in milliseconds for reconnection attempts
|
|
22
|
+
*/
|
|
23
|
+
export declare const RECONNECT_MAX_DELAY: number;
|
|
24
|
+
export declare const SUBSCRIPTION_REGISTRY: Partial<Record<OutboundWebSocketMessageType, WebSocketSubscription<OutboundWebSocketMessageType>>>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { OutboundWebSocketMessageType } from './types.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
5
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
6
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The URL path segment for websocket connections
|
|
10
|
+
*/
|
|
11
|
+
const WEBSOCKET_URL_PATH = 'socket';
|
|
12
|
+
/**
|
|
13
|
+
* The initial timeout interval in milliseconds for exponential backoff reconnection
|
|
14
|
+
*/
|
|
15
|
+
const RECONNECT_INITIAL_DELAY = 1000;
|
|
16
|
+
/**
|
|
17
|
+
* The multiplier for exponential backoff on each reconnection attempt
|
|
18
|
+
*/
|
|
19
|
+
const RECONNECT_DELAY_FACTOR = 1.5;
|
|
20
|
+
/**
|
|
21
|
+
* The maximum timeout interval in milliseconds for reconnection attempts
|
|
22
|
+
*/
|
|
23
|
+
const RECONNECT_MAX_DELAY = 60000 * 5;
|
|
24
|
+
const SUBSCRIPTION_REGISTRY = {
|
|
25
|
+
[OutboundWebSocketMessageType.Sessions]: {
|
|
26
|
+
messageType: OutboundWebSocketMessageType.Sessions,
|
|
27
|
+
createStartMessage: (interval) => ({ MessageType: 'SessionsStart', Data: interval.toString() }),
|
|
28
|
+
createStopMessage: () => ({ MessageType: 'SessionsStop' })
|
|
29
|
+
},
|
|
30
|
+
[OutboundWebSocketMessageType.ActivityLogEntry]: {
|
|
31
|
+
messageType: OutboundWebSocketMessageType.ActivityLogEntry,
|
|
32
|
+
createStartMessage: (interval) => ({ MessageType: 'ActivityLogEntryStart', Data: interval.toString() }),
|
|
33
|
+
createStopMessage: () => ({ MessageType: 'ActivityLogEntryStop' })
|
|
34
|
+
},
|
|
35
|
+
[OutboundWebSocketMessageType.ScheduledTasksInfo]: {
|
|
36
|
+
messageType: OutboundWebSocketMessageType.ScheduledTasksInfo,
|
|
37
|
+
createStartMessage: (interval) => ({ MessageType: 'ScheduledTasksInfoStart', Data: interval.toString() }),
|
|
38
|
+
createStopMessage: () => ({ MessageType: 'ScheduledTasksInfoStop' })
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { RECONNECT_DELAY_FACTOR, RECONNECT_INITIAL_DELAY, RECONNECT_MAX_DELAY, SUBSCRIPTION_REGISTRY, WEBSOCKET_URL_PATH };
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
export * from './websocket-service';
|
|
7
|
+
export * from './types';
|
|
8
|
+
export * from './models';
|
|
@@ -3,6 +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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
export declare class PeriodicListenerInterval {
|
|
7
|
+
initialDelay: number;
|
|
8
|
+
interval: number;
|
|
9
|
+
constructor(initialDelay: number, interval: number);
|
|
10
|
+
toString(): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
class PeriodicListenerInterval {
|
|
7
|
+
constructor(initialDelay, interval) {
|
|
8
|
+
this.initialDelay = initialDelay;
|
|
9
|
+
this.interval = interval;
|
|
10
|
+
}
|
|
11
|
+
toString() {
|
|
12
|
+
return `${this.initialDelay},${this.interval}`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { PeriodicListenerInterval };
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
import type { InboundWebSocketMessage } from '../generated-client';
|
|
7
|
+
import type { OutboundWebSocketMessage } from '../generated-client/models/outbound-web-socket-message';
|
|
8
|
+
import type { PeriodicListenerInterval } from './models';
|
|
9
|
+
export type WebSocketStatus = WebSocket['readyState'] | 'disconnected';
|
|
10
|
+
export type SocketMessageHandler<T extends OutboundWebSocketMessageType> = (message: Extract<OutboundWebSocketMessage, {
|
|
11
|
+
MessageType: T;
|
|
12
|
+
}>) => void;
|
|
13
|
+
export type SocketStatusHandler = (status: WebSocket['readyState'] | 'disconnected') => void;
|
|
14
|
+
export type WebSocketSubscription<T extends OutboundWebSocketMessageType> = {
|
|
15
|
+
messageType: T;
|
|
16
|
+
createStartMessage: (interval: PeriodicListenerInterval) => InboundWebSocketMessage;
|
|
17
|
+
createStopMessage: () => InboundWebSocketMessage;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The different kinds of outbound messages sent by the WebSocket API.
|
|
21
|
+
* @export
|
|
22
|
+
* @enum {string}
|
|
23
|
+
*/
|
|
24
|
+
export declare const OutboundWebSocketMessageType: {
|
|
25
|
+
[T in OutboundWebSocketMessageType]: T;
|
|
26
|
+
};
|
|
27
|
+
export type OutboundWebSocketMessageType = OutboundWebSocketMessage['MessageType'];
|
|
28
|
+
/**
|
|
29
|
+
* A mapping of outbound WebSocket message types to their respective periodic listener intervals.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const intervals: WebSocketSubscriptionIntervals = {
|
|
33
|
+
* [OutboundWebSocketMessageType.ActivityLogEntry]: new PeriodicListenerInterval(0, 1000),
|
|
34
|
+
* [OutboundWebSocketMessageType.Sessions]: new PeriodicListenerInterval(0, 5000)
|
|
35
|
+
* };
|
|
36
|
+
*/
|
|
37
|
+
export type WebSocketSubscriptionIntervals = Partial<Record<OutboundWebSocketMessageType, PeriodicListenerInterval>>;
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
/**
|
|
7
|
+
* The different kinds of outbound messages sent by the WebSocket API.
|
|
8
|
+
* @export
|
|
9
|
+
* @enum {string}
|
|
10
|
+
*/
|
|
11
|
+
const OutboundWebSocketMessageType = {
|
|
12
|
+
ActivityLogEntry: 'ActivityLogEntry',
|
|
13
|
+
ForceKeepAlive: 'ForceKeepAlive',
|
|
14
|
+
GeneralCommand: 'GeneralCommand',
|
|
15
|
+
KeepAlive: 'KeepAlive',
|
|
16
|
+
LibraryChanged: 'LibraryChanged',
|
|
17
|
+
PackageInstallationCancelled: 'PackageInstallationCancelled',
|
|
18
|
+
PackageInstallationCompleted: 'PackageInstallationCompleted',
|
|
19
|
+
PackageInstallationFailed: 'PackageInstallationFailed',
|
|
20
|
+
PackageInstalling: 'PackageInstalling',
|
|
21
|
+
PackageUninstalled: 'PackageUninstalled',
|
|
22
|
+
Play: 'Play',
|
|
23
|
+
Playstate: 'Playstate',
|
|
24
|
+
RefreshProgress: 'RefreshProgress',
|
|
25
|
+
RestartRequired: 'RestartRequired',
|
|
26
|
+
ScheduledTaskEnded: 'ScheduledTaskEnded',
|
|
27
|
+
ScheduledTasksInfo: 'ScheduledTasksInfo',
|
|
28
|
+
SeriesTimerCancelled: 'SeriesTimerCancelled',
|
|
29
|
+
SeriesTimerCreated: 'SeriesTimerCreated',
|
|
30
|
+
ServerRestarting: 'ServerRestarting',
|
|
31
|
+
ServerShuttingDown: 'ServerShuttingDown',
|
|
32
|
+
Sessions: 'Sessions',
|
|
33
|
+
SyncPlayCommand: 'SyncPlayCommand',
|
|
34
|
+
SyncPlayGroupUpdate: 'SyncPlayGroupUpdate',
|
|
35
|
+
TimerCancelled: 'TimerCancelled',
|
|
36
|
+
TimerCreated: 'TimerCreated',
|
|
37
|
+
UserDataChanged: 'UserDataChanged',
|
|
38
|
+
UserDeleted: 'UserDeleted',
|
|
39
|
+
UserUpdated: 'UserUpdated'
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { OutboundWebSocketMessageType };
|
|
@@ -0,0 +1,142 @@
|
|
|
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
|
+
import type { WebSocketSubscriptionIntervals } from './types';
|
|
7
|
+
import { OutboundWebSocketMessageType, type SocketMessageHandler, type SocketStatusHandler, type WebSocketStatus } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* A class used for managing the lifecycle of websocket connections
|
|
10
|
+
* to Jellyfin
|
|
11
|
+
*/
|
|
12
|
+
export declare class WebSocketService {
|
|
13
|
+
/**
|
|
14
|
+
* The URL to connect to.
|
|
15
|
+
*
|
|
16
|
+
* Created in the constructor (or later via {@link updateUrl}), using the fields from
|
|
17
|
+
* the authenticated Api instance. If undefined, the socket will not connect until
|
|
18
|
+
* a URL is provided via {@link updateUrl}.
|
|
19
|
+
*/
|
|
20
|
+
private url;
|
|
21
|
+
/**
|
|
22
|
+
* The active websocket connection, if one exists.
|
|
23
|
+
*/
|
|
24
|
+
private socket;
|
|
25
|
+
/**
|
|
26
|
+
* The keep-alive interval handle.
|
|
27
|
+
*
|
|
28
|
+
* Sends a keep-alive message for as long as the socket is open.
|
|
29
|
+
*/
|
|
30
|
+
private keepAlive;
|
|
31
|
+
/**
|
|
32
|
+
* A map of message type subscriptions to their respective handlers
|
|
33
|
+
*/
|
|
34
|
+
private readonly subscriptions;
|
|
35
|
+
private subscriptionIntervals?;
|
|
36
|
+
/**
|
|
37
|
+
* The number of consecutive reconnection attempts
|
|
38
|
+
*/
|
|
39
|
+
private reconnectionAttempts;
|
|
40
|
+
/**
|
|
41
|
+
* The timeout handle for reconnection
|
|
42
|
+
*/
|
|
43
|
+
private reconnectionTimeout;
|
|
44
|
+
/**
|
|
45
|
+
* Whether auto-reconnection is disabled (e.g., when token is cleared)
|
|
46
|
+
*/
|
|
47
|
+
private autoReconnectDisabled;
|
|
48
|
+
/**
|
|
49
|
+
* Status change event listeners
|
|
50
|
+
*/
|
|
51
|
+
private readonly statusListeners;
|
|
52
|
+
/**
|
|
53
|
+
* Current connection status
|
|
54
|
+
*/
|
|
55
|
+
private currentStatus;
|
|
56
|
+
/**
|
|
57
|
+
* Constructs a new instance of the {@link WebSocketService}
|
|
58
|
+
*
|
|
59
|
+
* @param uri The full URI path with the Authorization Header included as a query parameter.
|
|
60
|
+
* May be omitted when no access token is available yet — subscriptions will be
|
|
61
|
+
* preserved and the socket will connect once {@link updateUrl} is called.
|
|
62
|
+
*/
|
|
63
|
+
constructor(uri?: string);
|
|
64
|
+
/**
|
|
65
|
+
* Initializes the WebSocket connection and sets up event listeners
|
|
66
|
+
* if a valid URL is available. This function also establishes
|
|
67
|
+
* reconnection logic with exponential backoff if the connection is lost.
|
|
68
|
+
*
|
|
69
|
+
* This method is called internally when a new URL is provided or when
|
|
70
|
+
* the socket needs to be re-initialized.
|
|
71
|
+
*
|
|
72
|
+
* @returns void
|
|
73
|
+
*/
|
|
74
|
+
private initSocket;
|
|
75
|
+
/**
|
|
76
|
+
* Calculates the exponential backoff delay for reconnection attempts
|
|
77
|
+
* @returns The delay in milliseconds, capped at the maximum
|
|
78
|
+
*/
|
|
79
|
+
private calculateBackoffDelay;
|
|
80
|
+
/**
|
|
81
|
+
* Sends a keep-alive message to the server.
|
|
82
|
+
*/
|
|
83
|
+
private sendKeepAlive;
|
|
84
|
+
/**
|
|
85
|
+
* Stops sending keep-alive messages.
|
|
86
|
+
*/
|
|
87
|
+
private clearKeepAlive;
|
|
88
|
+
private sendMessage;
|
|
89
|
+
/**
|
|
90
|
+
* Internal method to update status and notify all listeners
|
|
91
|
+
*/
|
|
92
|
+
private setStatus;
|
|
93
|
+
/**
|
|
94
|
+
* Gets the current status of the websocket connection
|
|
95
|
+
* @returns The connection status
|
|
96
|
+
*/
|
|
97
|
+
get socketStatus(): WebSocketStatus | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Disconnects the WebSocket connection.
|
|
100
|
+
*
|
|
101
|
+
* Subscriptions are preserved and can be automatically restored
|
|
102
|
+
* when `updateUrl` is called with a new valid URL.
|
|
103
|
+
*/
|
|
104
|
+
disconnect(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Updates the WebSocket URL and reconnects if there are active subscriptions.
|
|
107
|
+
*
|
|
108
|
+
* This re-enables auto-reconnection if it was previously disabled.
|
|
109
|
+
*
|
|
110
|
+
* Also used to supply the initial URL when the service was constructed without one
|
|
111
|
+
* (e.g. when no access token was available at construction time). In that case any
|
|
112
|
+
* subscriptions that were registered while disconnected will be restored immediately.
|
|
113
|
+
*/
|
|
114
|
+
updateUrl(uri: string): void;
|
|
115
|
+
/**
|
|
116
|
+
* Adds a listener for websocket status changes
|
|
117
|
+
*
|
|
118
|
+
* @param onStatusChange Callback invoked when the connection status changes
|
|
119
|
+
* @returns A function which can be invoked to remove the listener
|
|
120
|
+
*/
|
|
121
|
+
onStatusChange(onStatusChange: SocketStatusHandler): () => void;
|
|
122
|
+
/**
|
|
123
|
+
* Adds message listeners for the provided message types.
|
|
124
|
+
*
|
|
125
|
+
* Adding a listener will establish a websocket connection if one does not already exist.
|
|
126
|
+
*
|
|
127
|
+
* Listeners will be automatically resubscribed if the connection is lost and re-established.
|
|
128
|
+
*
|
|
129
|
+
* Listeners can be removed by invoking the returned unsubscribe function.
|
|
130
|
+
*
|
|
131
|
+
* @param messageTypes Any array of {@link OutboundWebSocketMessage} message types to listen for
|
|
132
|
+
* @param onMessage The callback to invoke when a message is received
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* const unsubscribe = api.webSocket.subscribe([OutboundWebSocketMessageType.Sessions], (message) => {
|
|
136
|
+
* console.log('Received session update:', message);
|
|
137
|
+
* });
|
|
138
|
+
*
|
|
139
|
+
* @returns A function which can be invoked to remove the added listeners
|
|
140
|
+
*/
|
|
141
|
+
subscribe<T extends OutboundWebSocketMessageType>(messageTypes: T[], onMessage: SocketMessageHandler<T>, subscriptionIntervals?: WebSocketSubscriptionIntervals): () => void;
|
|
142
|
+
}
|