livepeer 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|