livepeer 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/livepeer.rb +96 -0
- data/lib/sdk/access_control.rb +195 -0
- data/lib/sdk/asset.rb +248 -0
- data/lib/sdk/metrics.rb +158 -0
- data/lib/sdk/models/operations/createmultistreamtarget.rb +34 -0
- data/lib/sdk/models/operations/createsigningkey.rb +35 -0
- data/lib/sdk/models/operations/createstream.rb +34 -0
- data/lib/sdk/models/operations/createwebhook.rb +35 -0
- data/lib/sdk/models/operations/deleteasset.rb +45 -0
- data/lib/sdk/models/operations/deletemultistreamtarget.rb +45 -0
- data/lib/sdk/models/operations/deletesigningkey.rb +45 -0
- data/lib/sdk/models/operations/deletestream.rb +45 -0
- data/lib/sdk/models/operations/deletewebhook.rb +49 -0
- data/lib/sdk/models/operations/get_session_id_clips.rb +48 -0
- data/lib/sdk/models/operations/get_stream_id_clips.rb +48 -0
- data/lib/sdk/models/operations/getasset.rb +49 -0
- data/lib/sdk/models/operations/getassets.rb +34 -0
- data/lib/sdk/models/operations/getcreatormetrics.rb +98 -0
- data/lib/sdk/models/operations/getmultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/getmultistreamtargets.rb +34 -0
- data/lib/sdk/models/operations/getplaybackinfo.rb +53 -0
- data/lib/sdk/models/operations/getpublictotalviewsmetrics.rb +76 -0
- data/lib/sdk/models/operations/getrecordedsessions.rb +53 -0
- data/lib/sdk/models/operations/getsession.rb +49 -0
- data/lib/sdk/models/operations/getsessions.rb +34 -0
- data/lib/sdk/models/operations/getsigningkey.rb +49 -0
- data/lib/sdk/models/operations/getsigningkeys.rb +34 -0
- data/lib/sdk/models/operations/getstream.rb +49 -0
- data/lib/sdk/models/operations/getstreams.rb +48 -0
- data/lib/sdk/models/operations/gettask.rb +49 -0
- data/lib/sdk/models/operations/gettasks.rb +34 -0
- data/lib/sdk/models/operations/getusagemetrics.rb +72 -0
- data/lib/sdk/models/operations/getviewershipsmetrics.rb +107 -0
- data/lib/sdk/models/operations/getwebhook.rb +49 -0
- data/lib/sdk/models/operations/getwebhooks.rb +34 -0
- data/lib/sdk/models/operations/patch_asset_assetid_.rb +53 -0
- data/lib/sdk/models/operations/post_clip.rb +66 -0
- data/lib/sdk/models/operations/requestupload.rb +72 -0
- data/lib/sdk/models/operations/transcode.rb +35 -0
- data/lib/sdk/models/operations/updatemultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/updatesigningkey.rb +65 -0
- data/lib/sdk/models/operations/updatestream.rb +49 -0
- data/lib/sdk/models/operations/updatewebhook.rb +49 -0
- data/lib/sdk/models/operations/uploadassetviaurl.rb +66 -0
- data/lib/sdk/models/shared/asset.rb +312 -0
- data/lib/sdk/models/shared/asset_patch_payload.rb +38 -0
- data/lib/sdk/models/shared/attestation.rb +178 -0
- data/lib/sdk/models/shared/clip_payload.rb +37 -0
- data/lib/sdk/models/shared/encryption.rb +25 -0
- data/lib/sdk/models/shared/encryption_output.rb +21 -0
- data/lib/sdk/models/shared/error.rb +25 -0
- data/lib/sdk/models/shared/ffmpeg_profile.rb +71 -0
- data/lib/sdk/models/shared/ipfs_export_params.rb +41 -0
- data/lib/sdk/models/shared/ipfs_file_info.rb +31 -0
- data/lib/sdk/models/shared/multistream.rb +75 -0
- data/lib/sdk/models/shared/multistream_target.rb +36 -0
- data/lib/sdk/models/shared/multistream_target_input.rb +33 -0
- data/lib/sdk/models/shared/multistream_target_patch_payload.rb +33 -0
- data/lib/sdk/models/shared/new_asset_payload.rb +79 -0
- data/lib/sdk/models/shared/new_stream_payload.rb +44 -0
- data/lib/sdk/models/shared/nftmetadata.rb +24 -0
- data/lib/sdk/models/shared/nftmetadatatemplate.rb +23 -0
- data/lib/sdk/models/shared/playback_info.rb +115 -0
- data/lib/sdk/models/shared/playback_policy.rb +41 -0
- data/lib/sdk/models/shared/security.rb +25 -0
- data/lib/sdk/models/shared/session.rb +99 -0
- data/lib/sdk/models/shared/signing_key.rb +40 -0
- data/lib/sdk/models/shared/signing_key_response_payload.rb +43 -0
- data/lib/sdk/models/shared/storage.rb +28 -0
- data/lib/sdk/models/shared/storage_status.rb +70 -0
- data/lib/sdk/models/shared/stream.rb +142 -0
- data/lib/sdk/models/shared/stream_patch_payload.rb +41 -0
- data/lib/sdk/models/shared/task.rb +626 -0
- data/lib/sdk/models/shared/upload.rb +34 -0
- data/lib/sdk/models/shared/upload_output.rb +34 -0
- data/lib/sdk/models/shared/usage_metric.rb +38 -0
- data/lib/sdk/models/shared/viewership_metric.rb +97 -0
- data/lib/sdk/models/shared/webhook.rb +112 -0
- data/lib/sdk/multistream_target.rb +205 -0
- data/lib/sdk/playback.rb +63 -0
- data/lib/sdk/sdk.rb +89 -0
- data/lib/sdk/sdkconfiguration.rb +54 -0
- data/lib/sdk/session.rb +166 -0
- data/lib/sdk/stream.rb +290 -0
- data/lib/sdk/task.rb +87 -0
- data/lib/sdk/transcode.rb +59 -0
- data/lib/sdk/utils/metadata_fields.rb +154 -0
- data/lib/sdk/utils/utils.rb +774 -0
- data/lib/sdk/webhook.rb +192 -0
- metadata +260 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/playback_policy'
|
|
9
|
+
|
|
10
|
+
module Livepeer
|
|
11
|
+
module Shared
|
|
12
|
+
|
|
13
|
+
class NewAssetPayloadStorage < Livepeer::Utils::FieldAugmented
|
|
14
|
+
extend T::Sig
|
|
15
|
+
|
|
16
|
+
# Set to true to make default export to IPFS. To customize the
|
|
17
|
+
# pinned files, specify an object with a spec field. False or null
|
|
18
|
+
# means to unpin from IPFS, but it's unsupported right now.
|
|
19
|
+
#
|
|
20
|
+
field :ipfs, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ipfs') } }
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
sig { params(ipfs: T.nilable(Object)).void }
|
|
24
|
+
def initialize(ipfs: nil)
|
|
25
|
+
@ipfs = ipfs
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class NewAssetPayloadEncryption < Livepeer::Utils::FieldAugmented
|
|
31
|
+
extend T::Sig
|
|
32
|
+
|
|
33
|
+
# Encryption key used to encrypt the asset. Only writable in the upload asset endpoints and cannot be retrieved back.
|
|
34
|
+
field :encrypted_key, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('encryptedKey') } }
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
sig { params(encrypted_key: String).void }
|
|
38
|
+
def initialize(encrypted_key: nil)
|
|
39
|
+
@encrypted_key = encrypted_key
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class NewAssetPayload < Livepeer::Utils::FieldAugmented
|
|
45
|
+
extend T::Sig
|
|
46
|
+
|
|
47
|
+
# Name of the asset. This is not necessarily the filename, can be a
|
|
48
|
+
# custom name or title
|
|
49
|
+
#
|
|
50
|
+
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
51
|
+
|
|
52
|
+
field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
|
|
53
|
+
|
|
54
|
+
field :encryption, T.nilable(Shared::NewAssetPayloadEncryption), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('encryption') } }
|
|
55
|
+
# Whether the playback policy for a asset or stream is public or signed
|
|
56
|
+
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
|
57
|
+
# Whether to generate MP4s for the asset.
|
|
58
|
+
field :static_mp4, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('staticMp4') } }
|
|
59
|
+
|
|
60
|
+
field :storage, T.nilable(Shared::NewAssetPayloadStorage), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('storage') } }
|
|
61
|
+
# URL where the asset contents can be retrieved. Only allowed (and
|
|
62
|
+
# also required) in the upload asset via URL endpoint.
|
|
63
|
+
#
|
|
64
|
+
field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
sig { params(name: String, creator_id: T.nilable(Object), encryption: T.nilable(Shared::NewAssetPayloadEncryption), playback_policy: T.nilable(Shared::PlaybackPolicy), static_mp4: T.nilable(T::Boolean), storage: T.nilable(Shared::NewAssetPayloadStorage), url: T.nilable(String)).void }
|
|
68
|
+
def initialize(name: nil, creator_id: nil, encryption: nil, playback_policy: nil, static_mp4: nil, storage: nil, url: nil)
|
|
69
|
+
@name = name
|
|
70
|
+
@creator_id = creator_id
|
|
71
|
+
@encryption = encryption
|
|
72
|
+
@playback_policy = playback_policy
|
|
73
|
+
@static_mp4 = static_mp4
|
|
74
|
+
@storage = storage
|
|
75
|
+
@url = url
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/playback_policy'
|
|
9
|
+
require_relative '../shared/multistream'
|
|
10
|
+
|
|
11
|
+
module Livepeer
|
|
12
|
+
module Shared
|
|
13
|
+
|
|
14
|
+
class NewStreamPayload < Livepeer::Utils::FieldAugmented
|
|
15
|
+
extend T::Sig
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
19
|
+
|
|
20
|
+
field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
|
|
21
|
+
|
|
22
|
+
field :multistream, T.nilable(Shared::Multistream), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('multistream') } }
|
|
23
|
+
# Whether the playback policy for a asset or stream is public or signed
|
|
24
|
+
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
|
25
|
+
|
|
26
|
+
field :profiles, T.nilable(T::Array[Shared::FfmpegProfile]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profiles') } }
|
|
27
|
+
# Should this stream be recorded? Uses default settings. For more
|
|
28
|
+
# customization, create and configure an object store.
|
|
29
|
+
#
|
|
30
|
+
field :record, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('record') } }
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
sig { params(name: String, creator_id: T.nilable(Object), multistream: T.nilable(Shared::Multistream), playback_policy: T.nilable(Shared::PlaybackPolicy), profiles: T.nilable(T::Array[Shared::FfmpegProfile]), record: T.nilable(T::Boolean)).void }
|
|
34
|
+
def initialize(name: nil, creator_id: nil, multistream: nil, playback_policy: nil, profiles: nil, record: nil)
|
|
35
|
+
@name = name
|
|
36
|
+
@creator_id = creator_id
|
|
37
|
+
@multistream = multistream
|
|
38
|
+
@playback_policy = playback_policy
|
|
39
|
+
@profiles = profiles
|
|
40
|
+
@record = record
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
# Additional data to add to the NFT metadata exported to
|
|
12
|
+
# IPFS. Will be deep merged with the default metadata
|
|
13
|
+
# exported.
|
|
14
|
+
#
|
|
15
|
+
class NftMetadata < Livepeer::Utils::FieldAugmented
|
|
16
|
+
extend T::Sig
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def initialize; end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
# NftMetadataTemplate - Name of the NFT metadata template to export. 'player'
|
|
12
|
+
# will embed the Livepeer Player on the NFT while 'file'
|
|
13
|
+
# will reference only the immutable MP4 files.
|
|
14
|
+
#
|
|
15
|
+
class NftMetadataTemplate < T::Enum
|
|
16
|
+
enums do
|
|
17
|
+
FILE = new('file')
|
|
18
|
+
PLAYER = new('player')
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/playback_policy'
|
|
9
|
+
require_relative '../shared/attestation'
|
|
10
|
+
|
|
11
|
+
module Livepeer
|
|
12
|
+
module Shared
|
|
13
|
+
|
|
14
|
+
class PlaybackInfoType < T::Enum
|
|
15
|
+
enums do
|
|
16
|
+
LIVE = new('live')
|
|
17
|
+
VOD = new('vod')
|
|
18
|
+
RECORDING = new('recording')
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Hrn < T::Enum
|
|
25
|
+
enums do
|
|
26
|
+
HLS_TS_ = new('HLS (TS)')
|
|
27
|
+
MP4 = new('MP4')
|
|
28
|
+
WEB_RTC_H264_ = new('WebRTC (H264)')
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class PlaybackInfoSchemasType < T::Enum
|
|
35
|
+
enums do
|
|
36
|
+
HTML5_APPLICATION_VND_APPLE_MPEGURL = new('html5/application/vnd.apple.mpegurl')
|
|
37
|
+
HTML5_VIDEO_MP4 = new('html5/video/mp4')
|
|
38
|
+
HTML5_VIDEO_H264 = new('html5/video/h264')
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class Source < Livepeer::Utils::FieldAugmented
|
|
45
|
+
extend T::Sig
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
field :hrn, Shared::Hrn, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('hrn'), 'decoder': Utils.enum_from_string(Shared::Hrn, false) } }
|
|
49
|
+
|
|
50
|
+
field :type, Shared::PlaybackInfoSchemasType, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Shared::PlaybackInfoSchemasType, false) } }
|
|
51
|
+
|
|
52
|
+
field :url, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
|
53
|
+
|
|
54
|
+
field :bitrate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('bitrate') } }
|
|
55
|
+
|
|
56
|
+
field :height, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('height') } }
|
|
57
|
+
|
|
58
|
+
field :size, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('size') } }
|
|
59
|
+
|
|
60
|
+
field :width, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('width') } }
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
sig { params(hrn: Shared::Hrn, type: Shared::PlaybackInfoSchemasType, url: String, bitrate: T.nilable(Float), height: T.nilable(Float), size: T.nilable(Float), width: T.nilable(Float)).void }
|
|
64
|
+
def initialize(hrn: nil, type: nil, url: nil, bitrate: nil, height: nil, size: nil, width: nil)
|
|
65
|
+
@hrn = hrn
|
|
66
|
+
@type = type
|
|
67
|
+
@url = url
|
|
68
|
+
@bitrate = bitrate
|
|
69
|
+
@height = height
|
|
70
|
+
@size = size
|
|
71
|
+
@width = width
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class Meta < Livepeer::Utils::FieldAugmented
|
|
77
|
+
extend T::Sig
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
field :source, T::Array[Shared::Source], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source') } }
|
|
81
|
+
|
|
82
|
+
field :attestation, T.nilable(Shared::Attestation), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('attestation') } }
|
|
83
|
+
|
|
84
|
+
field :live, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('live') } }
|
|
85
|
+
# Whether the playback policy for a asset or stream is public or signed
|
|
86
|
+
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
sig { params(source: T::Array[Shared::Source], attestation: T.nilable(Shared::Attestation), live: T.nilable(Float), playback_policy: T.nilable(Shared::PlaybackPolicy)).void }
|
|
90
|
+
def initialize(source: nil, attestation: nil, live: nil, playback_policy: nil)
|
|
91
|
+
@source = source
|
|
92
|
+
@attestation = attestation
|
|
93
|
+
@live = live
|
|
94
|
+
@playback_policy = playback_policy
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class PlaybackInfo < Livepeer::Utils::FieldAugmented
|
|
100
|
+
extend T::Sig
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
field :meta, Shared::Meta, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('meta') } }
|
|
104
|
+
|
|
105
|
+
field :type, Shared::PlaybackInfoType, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Shared::PlaybackInfoType, false) } }
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
sig { params(meta: Shared::Meta, type: Shared::PlaybackInfoType).void }
|
|
109
|
+
def initialize(meta: nil, type: nil)
|
|
110
|
+
@meta = meta
|
|
111
|
+
@type = type
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class Type < T::Enum
|
|
13
|
+
enums do
|
|
14
|
+
PUBLIC = new('public')
|
|
15
|
+
JWT = new('jwt')
|
|
16
|
+
WEBHOOK = new('webhook')
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# Whether the playback policy for a asset or stream is public or signed
|
|
22
|
+
class PlaybackPolicy < Livepeer::Utils::FieldAugmented
|
|
23
|
+
extend T::Sig
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
field :type, Shared::Type, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Shared::Type, false) } }
|
|
27
|
+
# User-defined webhook context
|
|
28
|
+
field :webhook_context, T.nilable(T::Hash[Symbol, Object]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('webhookContext') } }
|
|
29
|
+
# ID of the webhook to use for playback policy
|
|
30
|
+
field :webhook_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('webhookId') } }
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
sig { params(type: Shared::Type, webhook_context: T.nilable(T::Hash[Symbol, Object]), webhook_id: T.nilable(String)).void }
|
|
34
|
+
def initialize(type: nil, webhook_context: nil, webhook_id: nil)
|
|
35
|
+
@type = type
|
|
36
|
+
@webhook_context = webhook_context
|
|
37
|
+
@webhook_id = webhook_id
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class Security < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :api_key, String, { 'security': { 'scheme': true, 'type': 'http', 'sub_type': 'bearer', 'field_name': 'Authorization' } }
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
sig { params(api_key: String).void }
|
|
20
|
+
def initialize(api_key: nil)
|
|
21
|
+
@api_key = api_key
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
# RecordingStatus - Status of the recording process of this stream session.
|
|
12
|
+
class RecordingStatus < T::Enum
|
|
13
|
+
enums do
|
|
14
|
+
WAITING = new('waiting')
|
|
15
|
+
READY = new('ready')
|
|
16
|
+
NONE = new('none')
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class Session < Livepeer::Utils::FieldAugmented
|
|
23
|
+
extend T::Sig
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
27
|
+
# Timestamp (in milliseconds) at which the stream object was created
|
|
28
|
+
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
|
29
|
+
|
|
30
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
31
|
+
# Rate at which sourceBytes increases (bytes/second)
|
|
32
|
+
field :ingest_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ingestRate') } }
|
|
33
|
+
# Indicates whether the stream is healthy or not.
|
|
34
|
+
field :is_healthy, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('isHealthy') } }
|
|
35
|
+
# A string array of human-readable errors describing issues affecting
|
|
36
|
+
# the stream, if any.
|
|
37
|
+
#
|
|
38
|
+
field :issues, T.nilable(T::Array[String]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('issues') } }
|
|
39
|
+
|
|
40
|
+
field :last_seen, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('lastSeen') } }
|
|
41
|
+
# URL for the stream session recording packaged in an mp4.
|
|
42
|
+
field :mp4_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('mp4Url') } }
|
|
43
|
+
# Rate at which transcodedBytes increases (bytes/second)
|
|
44
|
+
field :outgoing_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('outgoingRate') } }
|
|
45
|
+
# Points to the parent stream object
|
|
46
|
+
field :parent_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('parentId') } }
|
|
47
|
+
# Used to form the playback URL
|
|
48
|
+
field :playback_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackId') } }
|
|
49
|
+
|
|
50
|
+
field :profiles, T.nilable(T::Array[Shared::FfmpegProfile]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profiles') } }
|
|
51
|
+
# Should this stream be recorded? Uses default settings. For more
|
|
52
|
+
# customization, create and configure an object store.
|
|
53
|
+
#
|
|
54
|
+
field :record, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('record') } }
|
|
55
|
+
# Status of the recording process of this stream session.
|
|
56
|
+
field :recording_status, T.nilable(Shared::RecordingStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('recordingStatus'), 'decoder': Utils.enum_from_string(Shared::RecordingStatus, true) } }
|
|
57
|
+
# URL for accessing the recording of this stream session.
|
|
58
|
+
field :recording_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('recordingUrl') } }
|
|
59
|
+
|
|
60
|
+
field :source_bytes, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceBytes') } }
|
|
61
|
+
|
|
62
|
+
field :source_segments, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceSegments') } }
|
|
63
|
+
# Duration of all the source segments, sec
|
|
64
|
+
field :source_segments_duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sourceSegmentsDuration') } }
|
|
65
|
+
|
|
66
|
+
field :transcoded_bytes, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedBytes') } }
|
|
67
|
+
|
|
68
|
+
field :transcoded_segments, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedSegments') } }
|
|
69
|
+
# Duration of all the transcoded segments, sec
|
|
70
|
+
field :transcoded_segments_duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('transcodedSegmentsDuration') } }
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
sig { params(name: String, created_at: T.nilable(Float), id: T.nilable(String), ingest_rate: T.nilable(Float), is_healthy: T.nilable(T::Boolean), issues: T.nilable(T::Array[String]), last_seen: T.nilable(Float), mp4_url: T.nilable(String), outgoing_rate: T.nilable(Float), parent_id: T.nilable(String), playback_id: T.nilable(String), profiles: T.nilable(T::Array[Shared::FfmpegProfile]), record: T.nilable(T::Boolean), recording_status: T.nilable(Shared::RecordingStatus), recording_url: T.nilable(String), source_bytes: T.nilable(Float), source_segments: T.nilable(Float), source_segments_duration: T.nilable(Float), transcoded_bytes: T.nilable(Float), transcoded_segments: T.nilable(Float), transcoded_segments_duration: T.nilable(Float)).void }
|
|
74
|
+
def initialize(name: nil, created_at: nil, id: nil, ingest_rate: nil, is_healthy: nil, issues: nil, last_seen: nil, mp4_url: nil, outgoing_rate: nil, parent_id: nil, playback_id: nil, profiles: nil, record: nil, recording_status: nil, recording_url: nil, source_bytes: nil, source_segments: nil, source_segments_duration: nil, transcoded_bytes: nil, transcoded_segments: nil, transcoded_segments_duration: nil)
|
|
75
|
+
@name = name
|
|
76
|
+
@created_at = created_at
|
|
77
|
+
@id = id
|
|
78
|
+
@ingest_rate = ingest_rate
|
|
79
|
+
@is_healthy = is_healthy
|
|
80
|
+
@issues = issues
|
|
81
|
+
@last_seen = last_seen
|
|
82
|
+
@mp4_url = mp4_url
|
|
83
|
+
@outgoing_rate = outgoing_rate
|
|
84
|
+
@parent_id = parent_id
|
|
85
|
+
@playback_id = playback_id
|
|
86
|
+
@profiles = profiles
|
|
87
|
+
@record = record
|
|
88
|
+
@recording_status = recording_status
|
|
89
|
+
@recording_url = recording_url
|
|
90
|
+
@source_bytes = source_bytes
|
|
91
|
+
@source_segments = source_segments
|
|
92
|
+
@source_segments_duration = source_segments_duration
|
|
93
|
+
@transcoded_bytes = transcoded_bytes
|
|
94
|
+
@transcoded_segments = transcoded_segments
|
|
95
|
+
@transcoded_segments_duration = transcoded_segments_duration
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class SigningKey < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :public_key, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('publicKey') } }
|
|
17
|
+
# Timestamp (in milliseconds) at which the signing-key was created
|
|
18
|
+
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
|
19
|
+
# Disable the signing key to allow rotation safely
|
|
20
|
+
field :disabled, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('disabled') } }
|
|
21
|
+
|
|
22
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
23
|
+
# Timestamp (in milliseconds) at which the signing-key was last used
|
|
24
|
+
field :last_seen, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('lastSeen') } }
|
|
25
|
+
# Name of the signing key
|
|
26
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
sig { params(public_key: String, created_at: T.nilable(Float), disabled: T.nilable(T::Boolean), id: T.nilable(String), last_seen: T.nilable(Float), name: T.nilable(String)).void }
|
|
30
|
+
def initialize(public_key: nil, created_at: nil, disabled: nil, id: nil, last_seen: nil, name: nil)
|
|
31
|
+
@public_key = public_key
|
|
32
|
+
@created_at = created_at
|
|
33
|
+
@disabled = disabled
|
|
34
|
+
@id = id
|
|
35
|
+
@last_seen = last_seen
|
|
36
|
+
@name = name
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class SigningKeyResponsePayload < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :private_key, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('privateKey') } }
|
|
17
|
+
|
|
18
|
+
field :public_key, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('publicKey') } }
|
|
19
|
+
# Timestamp (in milliseconds) at which the signing-key was created
|
|
20
|
+
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
|
21
|
+
# Disable the signing key to allow rotation safely
|
|
22
|
+
field :disabled, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('disabled') } }
|
|
23
|
+
|
|
24
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
25
|
+
# Timestamp (in milliseconds) at which the signing-key was last used
|
|
26
|
+
field :last_seen, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('lastSeen') } }
|
|
27
|
+
# Name of the signing key
|
|
28
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
sig { params(private_key: String, public_key: String, created_at: T.nilable(Float), disabled: T.nilable(T::Boolean), id: T.nilable(String), last_seen: T.nilable(Float), name: T.nilable(String)).void }
|
|
32
|
+
def initialize(private_key: nil, public_key: nil, created_at: nil, disabled: nil, id: nil, last_seen: nil, name: nil)
|
|
33
|
+
@private_key = private_key
|
|
34
|
+
@public_key = public_key
|
|
35
|
+
@created_at = created_at
|
|
36
|
+
@disabled = disabled
|
|
37
|
+
@id = id
|
|
38
|
+
@last_seen = last_seen
|
|
39
|
+
@name = name
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
|
|
12
|
+
class Storage < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
# Set to true to make default export to IPFS. To customize the
|
|
16
|
+
# pinned files, specify an object with a spec field. False or null
|
|
17
|
+
# means to unpin from IPFS, but it's unsupported right now.
|
|
18
|
+
#
|
|
19
|
+
field :ipfs, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ipfs') } }
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
sig { params(ipfs: T.nilable(Object)).void }
|
|
23
|
+
def initialize(ipfs: nil)
|
|
24
|
+
@ipfs = ipfs
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Shared
|
|
11
|
+
# Phase - Phase of the asset storage
|
|
12
|
+
class Phase < T::Enum
|
|
13
|
+
enums do
|
|
14
|
+
WAITING = new('waiting')
|
|
15
|
+
PROCESSING = new('processing')
|
|
16
|
+
READY = new('ready')
|
|
17
|
+
FAILED = new('failed')
|
|
18
|
+
REVERTED = new('reverted')
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Tasks < Livepeer::Utils::FieldAugmented
|
|
25
|
+
extend T::Sig
|
|
26
|
+
|
|
27
|
+
# ID of the last task to fail execution.
|
|
28
|
+
field :failed, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('failed') } }
|
|
29
|
+
# ID of the last task to run successfully, that created
|
|
30
|
+
# the currently saved data.
|
|
31
|
+
#
|
|
32
|
+
field :last, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('last') } }
|
|
33
|
+
# ID of any currently running task that is exporting this
|
|
34
|
+
# asset to IPFS.
|
|
35
|
+
#
|
|
36
|
+
field :pending, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pending') } }
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
sig { params(failed: T.nilable(String), last: T.nilable(String), pending: T.nilable(String)).void }
|
|
40
|
+
def initialize(failed: nil, last: nil, pending: nil)
|
|
41
|
+
@failed = failed
|
|
42
|
+
@last = last
|
|
43
|
+
@pending = pending
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class StorageStatus < Livepeer::Utils::FieldAugmented
|
|
49
|
+
extend T::Sig
|
|
50
|
+
|
|
51
|
+
# Phase of the asset storage
|
|
52
|
+
field :phase, Shared::Phase, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phase'), 'decoder': Utils.enum_from_string(Shared::Phase, false) } }
|
|
53
|
+
|
|
54
|
+
field :tasks, Shared::Tasks, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('tasks') } }
|
|
55
|
+
# Error message if the last storage changed failed.
|
|
56
|
+
field :error_message, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('errorMessage') } }
|
|
57
|
+
# Current progress of the task updating the storage.
|
|
58
|
+
field :progress, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('progress') } }
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
sig { params(phase: Shared::Phase, tasks: Shared::Tasks, error_message: T.nilable(String), progress: T.nilable(Float)).void }
|
|
62
|
+
def initialize(phase: nil, tasks: nil, error_message: nil, progress: nil)
|
|
63
|
+
@phase = phase
|
|
64
|
+
@tasks = tasks
|
|
65
|
+
@error_message = error_message
|
|
66
|
+
@progress = progress
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|