livepeer 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/lib/livepeer.rb +14 -12
  3. data/lib/sdk/asset.rb +81 -9
  4. data/lib/sdk/metrics.rb +12 -4
  5. data/lib/sdk/models/operations/addmultistreamtarget.rb +49 -0
  6. data/lib/sdk/models/operations/createsigningkey.rb +5 -5
  7. data/lib/sdk/models/operations/createstream.rb +4 -4
  8. data/lib/sdk/models/operations/deletewebhook.rb +1 -1
  9. data/lib/sdk/models/operations/get_session_id_clips.rb +4 -4
  10. data/lib/sdk/models/operations/get_stream_id_clips.rb +4 -4
  11. data/lib/sdk/models/operations/getassets.rb +4 -4
  12. data/lib/sdk/models/operations/getcreatormetrics.rb +4 -4
  13. data/lib/sdk/models/operations/getmultistreamtargets.rb +4 -4
  14. data/lib/sdk/models/operations/getpublictotalviewsmetrics.rb +5 -5
  15. data/lib/sdk/models/operations/getrecordedsessions.rb +4 -4
  16. data/lib/sdk/models/operations/getsessions.rb +4 -4
  17. data/lib/sdk/models/operations/getsigningkeys.rb +4 -4
  18. data/lib/sdk/models/operations/getstreams.rb +5 -5
  19. data/lib/sdk/models/operations/gettasks.rb +4 -4
  20. data/lib/sdk/models/operations/getviewershipsmetrics.rb +4 -4
  21. data/lib/sdk/models/operations/getwebhook.rb +1 -1
  22. data/lib/sdk/models/operations/getwebhooks.rb +4 -4
  23. data/lib/sdk/models/operations/post_clip.rb +5 -5
  24. data/lib/sdk/models/operations/removemultistreamtarget.rb +48 -0
  25. data/lib/sdk/models/operations/requestupload.rb +5 -5
  26. data/lib/sdk/models/operations/terminatestream.rb +45 -0
  27. data/lib/sdk/models/operations/{patch_asset_assetid_.rb → updateasset.rb} +2 -2
  28. data/lib/sdk/models/operations/updatewebhook.rb +1 -1
  29. data/lib/sdk/models/operations/uploadassetviaurl.rb +5 -5
  30. data/lib/sdk/models/shared/asset.rb +11 -17
  31. data/lib/sdk/models/shared/attestation.rb +5 -11
  32. data/lib/sdk/models/shared/encryption.rb +2 -6
  33. data/lib/sdk/models/shared/ffmpeg_profile.rb +6 -2
  34. data/lib/sdk/models/shared/ipfs_export_params.rb +5 -16
  35. data/lib/sdk/models/shared/multistream.rb +2 -50
  36. data/lib/sdk/models/shared/multistream_target.rb +3 -1
  37. data/lib/sdk/models/shared/new_asset_payload.rb +8 -3
  38. data/lib/sdk/models/shared/playback_info.rb +50 -4
  39. data/lib/sdk/models/shared/session.rb +3 -3
  40. data/lib/sdk/models/shared/stream.rb +5 -29
  41. data/lib/sdk/models/shared/stream_patch_payload.rb +5 -2
  42. data/lib/sdk/models/shared/target.rb +61 -0
  43. data/lib/sdk/models/shared/target_add_payload.rb +61 -0
  44. data/lib/sdk/models/shared/target_output.rb +35 -0
  45. data/lib/sdk/models/shared/task.rb +54 -231
  46. data/lib/sdk/models/shared/transcode_payload.rb +105 -0
  47. data/lib/sdk/models/shared/transcode_profile.rb +75 -0
  48. data/lib/sdk/multistream_target.rb +4 -1
  49. data/lib/sdk/sdk.rb +33 -3
  50. data/lib/sdk/sdkconfiguration.rb +3 -3
  51. data/lib/sdk/session.rb +40 -40
  52. data/lib/sdk/{access_control.rb → signing_key.rb} +15 -40
  53. data/lib/sdk/stream.rb +148 -7
  54. data/lib/sdk/task.rb +1 -1
  55. data/lib/sdk/transcode.rb +123 -1
  56. data/lib/sdk/webhook.rb +3 -1
  57. metadata +17 -15
  58. data/lib/sdk/models/shared/encryption_output.rb +0 -21
  59. data/lib/sdk/models/shared/nftmetadata.rb +0 -24
  60. data/lib/sdk/models/shared/nftmetadatatemplate.rb +0 -23
  61. data/lib/sdk/models/shared/signing_key_response_payload.rb +0 -43
  62. data/lib/sdk/models/shared/upload.rb +0 -34
  63. data/lib/sdk/models/shared/upload_output.rb +0 -34
@@ -17,16 +17,16 @@ module Livepeer
17
17
  # HTTP response status code for this operation
18
18
  field :status_code, Integer
19
19
  # Success
20
- field :data, T.nilable(T::Array[Shared::Task])
20
+ field :classes, T.nilable(T::Array[Shared::Task])
21
21
  # Raw HTTP response; suitable for custom response parsing
22
22
  field :raw_response, T.nilable(Faraday::Response)
23
23
 
24
24
 
25
- sig { params(content_type: String, status_code: Integer, data: T.nilable(T::Array[Shared::Task]), raw_response: T.nilable(Faraday::Response)).void }
26
- def initialize(content_type: nil, status_code: nil, data: nil, raw_response: nil)
25
+ sig { params(content_type: String, status_code: Integer, classes: T.nilable(T::Array[Shared::Task]), raw_response: T.nilable(Faraday::Response)).void }
26
+ def initialize(content_type: nil, status_code: nil, classes: nil, raw_response: nil)
27
27
  @content_type = content_type
28
28
  @status_code = status_code
29
- @data = data
29
+ @classes = classes
30
30
  @raw_response = raw_response
31
31
  end
32
32
  end
@@ -90,16 +90,16 @@ module Livepeer
90
90
  # HTTP response status code for this operation
91
91
  field :status_code, Integer
92
92
  # A list of Metric objects
93
- field :data, T.nilable(T::Array[Shared::ViewershipMetric])
93
+ field :classes, T.nilable(T::Array[Shared::ViewershipMetric])
94
94
  # Raw HTTP response; suitable for custom response parsing
95
95
  field :raw_response, T.nilable(Faraday::Response)
96
96
 
97
97
 
98
- sig { params(content_type: String, status_code: Integer, data: T.nilable(T::Array[Shared::ViewershipMetric]), raw_response: T.nilable(Faraday::Response)).void }
99
- def initialize(content_type: nil, status_code: nil, data: nil, raw_response: nil)
98
+ sig { params(content_type: String, status_code: Integer, classes: T.nilable(T::Array[Shared::ViewershipMetric]), raw_response: T.nilable(Faraday::Response)).void }
99
+ def initialize(content_type: nil, status_code: nil, classes: nil, raw_response: nil)
100
100
  @content_type = content_type
101
101
  @status_code = status_code
102
- @data = data
102
+ @classes = classes
103
103
  @raw_response = raw_response
104
104
  end
105
105
  end
@@ -13,7 +13,7 @@ module Livepeer
13
13
  class GetWebhookRequest < Livepeer::Utils::FieldAugmented
14
14
  extend T::Sig
15
15
 
16
- # ID of the webhook
16
+
17
17
  field :id, String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
18
18
 
19
19
 
@@ -17,16 +17,16 @@ module Livepeer
17
17
  # HTTP response status code for this operation
18
18
  field :status_code, Integer
19
19
  # Success
20
- field :data, T.nilable(T::Array[Shared::Webhook])
20
+ field :classes, T.nilable(T::Array[Shared::Webhook])
21
21
  # Raw HTTP response; suitable for custom response parsing
22
22
  field :raw_response, T.nilable(Faraday::Response)
23
23
 
24
24
 
25
- sig { params(content_type: String, status_code: Integer, data: T.nilable(T::Array[Shared::Webhook]), raw_response: T.nilable(Faraday::Response)).void }
26
- def initialize(content_type: nil, status_code: nil, data: nil, raw_response: nil)
25
+ sig { params(content_type: String, status_code: Integer, classes: T.nilable(T::Array[Shared::Webhook]), raw_response: T.nilable(Faraday::Response)).void }
26
+ def initialize(content_type: nil, status_code: nil, classes: nil, raw_response: nil)
27
27
  @content_type = content_type
28
28
  @status_code = status_code
29
- @data = data
29
+ @classes = classes
30
30
  @raw_response = raw_response
31
31
  end
32
32
  end
@@ -24,7 +24,7 @@ module Livepeer
24
24
  end
25
25
 
26
26
  # Success
27
- class PostClipData < Livepeer::Utils::FieldAugmented
27
+ class PostClipResponseBody < Livepeer::Utils::FieldAugmented
28
28
  extend T::Sig
29
29
 
30
30
 
@@ -49,16 +49,16 @@ module Livepeer
49
49
  # HTTP response status code for this operation
50
50
  field :status_code, Integer
51
51
  # Success
52
- field :data, T.nilable(Operations::PostClipData)
52
+ field :object, T.nilable(Operations::PostClipResponseBody)
53
53
  # Raw HTTP response; suitable for custom response parsing
54
54
  field :raw_response, T.nilable(Faraday::Response)
55
55
 
56
56
 
57
- sig { params(content_type: String, status_code: Integer, data: T.nilable(Operations::PostClipData), raw_response: T.nilable(Faraday::Response)).void }
58
- def initialize(content_type: nil, status_code: nil, data: nil, raw_response: nil)
57
+ sig { params(content_type: String, status_code: Integer, object: T.nilable(Operations::PostClipResponseBody), raw_response: T.nilable(Faraday::Response)).void }
58
+ def initialize(content_type: nil, status_code: nil, object: nil, raw_response: nil)
59
59
  @content_type = content_type
60
60
  @status_code = status_code
61
- @data = data
61
+ @object = object
62
62
  @raw_response = raw_response
63
63
  end
64
64
  end
@@ -0,0 +1,48 @@
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 Operations
11
+
12
+ class RemoveMultistreamTargetRequest < Livepeer::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+ # ID of the parent stream
16
+ field :id, String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
17
+ # ID of the multistream target
18
+ field :target_id, String, { 'path_param': { 'field_name': 'targetId', 'style': 'simple', 'explode': false } }
19
+
20
+
21
+ sig { params(id: String, target_id: String).void }
22
+ def initialize(id: nil, target_id: nil)
23
+ @id = id
24
+ @target_id = target_id
25
+ end
26
+ end
27
+
28
+
29
+ class RemoveMultistreamTargetResponse < Livepeer::Utils::FieldAugmented
30
+ extend T::Sig
31
+
32
+ # HTTP response content type for this operation
33
+ field :content_type, String
34
+ # HTTP response status code for this operation
35
+ field :status_code, Integer
36
+ # Raw HTTP response; suitable for custom response parsing
37
+ field :raw_response, T.nilable(Faraday::Response)
38
+
39
+
40
+ sig { params(content_type: String, status_code: Integer, raw_response: T.nilable(Faraday::Response)).void }
41
+ def initialize(content_type: nil, status_code: nil, raw_response: nil)
42
+ @content_type = content_type
43
+ @status_code = status_code
44
+ @raw_response = raw_response
45
+ end
46
+ end
47
+ end
48
+ end
@@ -24,7 +24,7 @@ module Livepeer
24
24
  end
25
25
 
26
26
  # Success
27
- class RequestUploadData < Livepeer::Utils::FieldAugmented
27
+ class RequestUploadResponseBody < Livepeer::Utils::FieldAugmented
28
28
  extend T::Sig
29
29
 
30
30
 
@@ -55,16 +55,16 @@ module Livepeer
55
55
  # HTTP response status code for this operation
56
56
  field :status_code, Integer
57
57
  # Success
58
- field :data, T.nilable(Operations::RequestUploadData)
58
+ field :object, T.nilable(Operations::RequestUploadResponseBody)
59
59
  # Raw HTTP response; suitable for custom response parsing
60
60
  field :raw_response, T.nilable(Faraday::Response)
61
61
 
62
62
 
63
- sig { params(content_type: String, status_code: Integer, data: T.nilable(Operations::RequestUploadData), raw_response: T.nilable(Faraday::Response)).void }
64
- def initialize(content_type: nil, status_code: nil, data: nil, raw_response: nil)
63
+ sig { params(content_type: String, status_code: Integer, object: T.nilable(Operations::RequestUploadResponseBody), raw_response: T.nilable(Faraday::Response)).void }
64
+ def initialize(content_type: nil, status_code: nil, object: nil, raw_response: nil)
65
65
  @content_type = content_type
66
66
  @status_code = status_code
67
- @data = data
67
+ @object = object
68
68
  @raw_response = raw_response
69
69
  end
70
70
  end
@@ -0,0 +1,45 @@
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 Operations
11
+
12
+ class TerminateStreamRequest < Livepeer::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+ # ID of the stream
16
+ field :id, String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
17
+
18
+
19
+ sig { params(id: String).void }
20
+ def initialize(id: nil)
21
+ @id = id
22
+ end
23
+ end
24
+
25
+
26
+ class TerminateStreamResponse < Livepeer::Utils::FieldAugmented
27
+ extend T::Sig
28
+
29
+ # HTTP response content type for this operation
30
+ field :content_type, String
31
+ # HTTP response status code for this operation
32
+ field :status_code, Integer
33
+ # Raw HTTP response; suitable for custom response parsing
34
+ field :raw_response, T.nilable(Faraday::Response)
35
+
36
+
37
+ sig { params(content_type: String, status_code: Integer, raw_response: T.nilable(Faraday::Response)).void }
38
+ def initialize(content_type: nil, status_code: nil, raw_response: nil)
39
+ @content_type = content_type
40
+ @status_code = status_code
41
+ @raw_response = raw_response
42
+ end
43
+ end
44
+ end
45
+ end
@@ -11,7 +11,7 @@ require_relative '../shared/asset'
11
11
  module Livepeer
12
12
  module Operations
13
13
 
14
- class PatchAssetAssetIdRequest < Livepeer::Utils::FieldAugmented
14
+ class UpdateAssetRequest < Livepeer::Utils::FieldAugmented
15
15
  extend T::Sig
16
16
 
17
17
 
@@ -28,7 +28,7 @@ module Livepeer
28
28
  end
29
29
 
30
30
 
31
- class PatchAssetAssetIdResponse < Livepeer::Utils::FieldAugmented
31
+ class UpdateAssetResponse < Livepeer::Utils::FieldAugmented
32
32
  extend T::Sig
33
33
 
34
34
  # HTTP response content type for this operation
@@ -13,7 +13,7 @@ module Livepeer
13
13
  class UpdateWebhookRequest < Livepeer::Utils::FieldAugmented
14
14
  extend T::Sig
15
15
 
16
- # ID of the webhook
16
+
17
17
  field :id, String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
18
18
 
19
19
 
@@ -24,7 +24,7 @@ module Livepeer
24
24
  end
25
25
 
26
26
  # Success
27
- class UploadAssetViaURLData < Livepeer::Utils::FieldAugmented
27
+ class UploadAssetViaURLResponseBody < Livepeer::Utils::FieldAugmented
28
28
  extend T::Sig
29
29
 
30
30
 
@@ -49,16 +49,16 @@ module Livepeer
49
49
  # HTTP response status code for this operation
50
50
  field :status_code, Integer
51
51
  # Success
52
- field :data, T.nilable(Operations::UploadAssetViaURLData)
52
+ field :object, T.nilable(Operations::UploadAssetViaURLResponseBody)
53
53
  # Raw HTTP response; suitable for custom response parsing
54
54
  field :raw_response, T.nilable(Faraday::Response)
55
55
 
56
56
 
57
- sig { params(content_type: String, status_code: Integer, data: T.nilable(Operations::UploadAssetViaURLData), raw_response: T.nilable(Faraday::Response)).void }
58
- def initialize(content_type: nil, status_code: nil, data: nil, raw_response: nil)
57
+ sig { params(content_type: String, status_code: Integer, object: T.nilable(Operations::UploadAssetViaURLResponseBody), raw_response: T.nilable(Faraday::Response)).void }
58
+ def initialize(content_type: nil, status_code: nil, object: nil, raw_response: nil)
59
59
  @content_type = content_type
60
60
  @status_code = status_code
61
- @data = data
61
+ @object = object
62
62
  @raw_response = raw_response
63
63
  end
64
64
  end
@@ -20,11 +20,11 @@ module Livepeer
20
20
  end
21
21
 
22
22
 
23
- # AssetNftMetadataTemplate - Name of the NFT metadata template to export. 'player'
23
+ # NftMetadataTemplate - Name of the NFT metadata template to export. 'player'
24
24
  # will embed the Livepeer Player on the NFT while 'file'
25
25
  # will reference only the immutable MP4 files.
26
26
  #
27
- class AssetNftMetadataTemplate < T::Enum
27
+ class NftMetadataTemplate < T::Enum
28
28
  enums do
29
29
  FILE = new('file')
30
30
  PLAYER = new('player')
@@ -36,7 +36,7 @@ module Livepeer
36
36
  # IPFS. Will be deep merged with the default metadata
37
37
  # exported.
38
38
  #
39
- class AssetNftMetadata < Livepeer::Utils::FieldAugmented
39
+ class NftMetadata < Livepeer::Utils::FieldAugmented
40
40
  extend T::Sig
41
41
 
42
42
 
@@ -53,15 +53,15 @@ module Livepeer
53
53
  # IPFS. Will be deep merged with the default metadata
54
54
  # exported.
55
55
  #
56
- field :nft_metadata, T.nilable(Shared::AssetNftMetadata), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
56
+ field :nft_metadata, T.nilable(Shared::NftMetadata), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
57
57
  # Name of the NFT metadata template to export. 'player'
58
58
  # will embed the Livepeer Player on the NFT while 'file'
59
59
  # will reference only the immutable MP4 files.
60
60
  #
61
- field :nft_metadata_template, T.nilable(Shared::AssetNftMetadataTemplate), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadataTemplate'), 'decoder': Utils.enum_from_string(Shared::AssetNftMetadataTemplate, true) } }
61
+ field :nft_metadata_template, T.nilable(Shared::NftMetadataTemplate), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadataTemplate'), 'decoder': Utils.enum_from_string(Shared::NftMetadataTemplate, true) } }
62
62
 
63
63
 
64
- sig { params(nft_metadata: T.nilable(Shared::AssetNftMetadata), nft_metadata_template: T.nilable(Shared::AssetNftMetadataTemplate)).void }
64
+ sig { params(nft_metadata: T.nilable(Shared::NftMetadata), nft_metadata_template: T.nilable(Shared::NftMetadataTemplate)).void }
65
65
  def initialize(nft_metadata: nil, nft_metadata_template: nil)
66
66
  @nft_metadata = nft_metadata
67
67
  @nft_metadata_template = nft_metadata_template
@@ -72,10 +72,8 @@ module Livepeer
72
72
  class Ipfs < Livepeer::Utils::FieldAugmented
73
73
  extend T::Sig
74
74
 
75
- # CID of the file on IPFS
76
- field :cid, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('cid') } }
77
- # URL to access file via HTTP through an IPFS gateway
78
- field :gateway_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gatewayUrl') } }
75
+
76
+ field :dollar_ref, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('$ref') } }
79
77
 
80
78
  field :nft_metadata, T.nilable(Shared::IpfsFileInfo), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
81
79
 
@@ -84,18 +82,14 @@ module Livepeer
84
82
  # updated
85
83
  #
86
84
  field :updated_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updatedAt') } }
87
- # URL with IPFS scheme for the file
88
- field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
89
85
 
90
86
 
91
- sig { params(cid: T.nilable(String), gateway_url: T.nilable(String), nft_metadata: T.nilable(Shared::IpfsFileInfo), spec: T.nilable(Shared::AssetSpec), updated_at: T.nilable(Float), url: T.nilable(String)).void }
92
- def initialize(cid: nil, gateway_url: nil, nft_metadata: nil, spec: nil, updated_at: nil, url: nil)
93
- @cid = cid
94
- @gateway_url = gateway_url
87
+ sig { params(dollar_ref: T.nilable(Object), nft_metadata: T.nilable(Shared::IpfsFileInfo), spec: T.nilable(Shared::AssetSpec), updated_at: T.nilable(Float)).void }
88
+ def initialize(dollar_ref: nil, nft_metadata: nil, spec: nil, updated_at: nil)
89
+ @dollar_ref = dollar_ref
95
90
  @nft_metadata = nft_metadata
96
91
  @spec = spec
97
92
  @updated_at = updated_at
98
- @url = url
99
93
  end
100
94
  end
101
95
 
@@ -103,23 +103,17 @@ module Livepeer
103
103
  class AttestationIpfs < Livepeer::Utils::FieldAugmented
104
104
  extend T::Sig
105
105
 
106
- # CID of the file on IPFS
107
- field :cid, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('cid') } }
108
- # URL to access file via HTTP through an IPFS gateway
109
- field :gateway_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gatewayUrl') } }
106
+
107
+ field :dollar_ref, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('$ref') } }
110
108
  # Timestamp (in milliseconds) at which IPFS export task was updated
111
109
  #
112
110
  field :updated_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updatedAt') } }
113
- # URL with IPFS scheme for the file
114
- field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
115
111
 
116
112
 
117
- sig { params(cid: T.nilable(String), gateway_url: T.nilable(String), updated_at: T.nilable(Float), url: T.nilable(String)).void }
118
- def initialize(cid: nil, gateway_url: nil, updated_at: nil, url: nil)
119
- @cid = cid
120
- @gateway_url = gateway_url
113
+ sig { params(dollar_ref: T.nilable(Object), updated_at: T.nilable(Float)).void }
114
+ def initialize(dollar_ref: nil, updated_at: nil)
115
+ @dollar_ref = dollar_ref
121
116
  @updated_at = updated_at
122
- @url = url
123
117
  end
124
118
  end
125
119
 
@@ -12,14 +12,10 @@ module Livepeer
12
12
  class Encryption < Livepeer::Utils::FieldAugmented
13
13
  extend T::Sig
14
14
 
15
- # Encryption key used to encrypt the asset. Only writable in the upload asset endpoints and cannot be retrieved back.
16
- field :encrypted_key, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('encryptedKey') } }
17
15
 
18
16
 
19
- sig { params(encrypted_key: String).void }
20
- def initialize(encrypted_key: nil)
21
- @encrypted_key = encrypted_key
22
- end
17
+
18
+ def initialize; end
23
19
  end
24
20
  end
25
21
  end
@@ -52,10 +52,13 @@ module Livepeer
52
52
  field :gop, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gop') } }
53
53
 
54
54
  field :profile, T.nilable(Shared::Profile), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile'), 'decoder': Utils.enum_from_string(Shared::Profile, true) } }
55
+ # Restricts the size of the output video using the constant quality feature. Increasing this value will result in a lower quality video. Note that this parameter might not work if the transcoder lacks support for it.
56
+ #
57
+ field :quality, T.nilable(Integer), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('quality') } }
55
58
 
56
59
 
57
- sig { params(bitrate: Integer, fps: Integer, height: Integer, name: String, width: Integer, encoder: T.nilable(Shared::Encoder), fps_den: T.nilable(Integer), gop: T.nilable(String), profile: T.nilable(Shared::Profile)).void }
58
- def initialize(bitrate: nil, fps: nil, height: nil, name: nil, width: nil, encoder: nil, fps_den: nil, gop: nil, profile: nil)
60
+ sig { params(bitrate: Integer, fps: Integer, height: Integer, name: String, width: Integer, encoder: T.nilable(Shared::Encoder), fps_den: T.nilable(Integer), gop: T.nilable(String), profile: T.nilable(Shared::Profile), quality: T.nilable(Integer)).void }
61
+ def initialize(bitrate: nil, fps: nil, height: nil, name: nil, width: nil, encoder: nil, fps_den: nil, gop: nil, profile: nil, quality: nil)
59
62
  @bitrate = bitrate
60
63
  @fps = fps
61
64
  @height = height
@@ -65,6 +68,7 @@ module Livepeer
65
68
  @fps_den = fps_den
66
69
  @gop = gop
67
70
  @profile = profile
71
+ @quality = quality
68
72
  end
69
73
  end
70
74
  end
@@ -5,8 +5,6 @@
5
5
 
6
6
  require 'sorbet-runtime'
7
7
  require 'faraday'
8
- require_relative '../shared/nftmetadatatemplate'
9
- require_relative '../shared/nftmetadata'
10
8
 
11
9
  module Livepeer
12
10
  module Shared
@@ -14,26 +12,17 @@ module Livepeer
14
12
  class IpfsExportParams < Livepeer::Utils::FieldAugmented
15
13
  extend T::Sig
16
14
 
17
- # Additional data to add to the NFT metadata exported to
18
- # IPFS. Will be deep merged with the default metadata
19
- # exported.
20
- #
21
- field :nft_metadata, T.nilable(Shared::NftMetadata), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
22
- # Name of the NFT metadata template to export. 'player'
23
- # will embed the Livepeer Player on the NFT while 'file'
24
- # will reference only the immutable MP4 files.
25
- #
26
- field :nft_metadata_template, T.nilable(Shared::NftMetadataTemplate), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadataTemplate'), 'decoder': Utils.enum_from_string(Shared::NftMetadataTemplate, true) } }
15
+
16
+ field :dollar_ref, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('$ref') } }
27
17
  # Custom credentials for the Piñata service. Must have either
28
18
  # a JWT or an API key and an API secret.
29
19
  #
30
20
  field :pinata, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pinata') } }
31
21
 
32
22
 
33
- sig { params(nft_metadata: T.nilable(Shared::NftMetadata), nft_metadata_template: T.nilable(Shared::NftMetadataTemplate), pinata: T.nilable(Object)).void }
34
- def initialize(nft_metadata: nil, nft_metadata_template: nil, pinata: nil)
35
- @nft_metadata = nft_metadata
36
- @nft_metadata_template = nft_metadata_template
23
+ sig { params(dollar_ref: T.nilable(Object), pinata: T.nilable(Object)).void }
24
+ def initialize(dollar_ref: nil, pinata: nil)
25
+ @dollar_ref = dollar_ref
37
26
  @pinata = pinata
38
27
  end
39
28
  end
@@ -8,54 +8,6 @@ require 'faraday'
8
8
 
9
9
  module Livepeer
10
10
  module Shared
11
- # Inline multistream target object. Will automatically
12
- # create the target resource to be used by the created stream.
13
- #
14
- class Spec < Livepeer::Utils::FieldAugmented
15
- extend T::Sig
16
-
17
- # Livepeer-compatible multistream target URL (RTMP(S) or SRT)
18
- field :url, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
19
-
20
- field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
21
-
22
-
23
- sig { params(url: String, name: T.nilable(String)).void }
24
- def initialize(url: nil, name: nil)
25
- @url = url
26
- @name = name
27
- end
28
- end
29
-
30
-
31
- class Targets < Livepeer::Utils::FieldAugmented
32
- extend T::Sig
33
-
34
- # Name of the transcoding profile that should be sent. Use
35
- # "source" for pushing the source stream data
36
- #
37
- field :profile, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('profile') } }
38
- # ID of the multistream target object where to push this stream
39
- field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
40
- # Inline multistream target object. Will automatically
41
- # create the target resource to be used by the created stream.
42
- #
43
- field :spec, T.nilable(Shared::Spec), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('spec') } }
44
- # If true, the stream audio will be muted, and only silent
45
- # video will be pushed to the target.
46
- #
47
- field :video_only, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoOnly') } }
48
-
49
-
50
- sig { params(profile: String, id: T.nilable(String), spec: T.nilable(Shared::Spec), video_only: T.nilable(T::Boolean)).void }
51
- def initialize(profile: nil, id: nil, spec: nil, video_only: nil)
52
- @profile = profile
53
- @id = id
54
- @spec = spec
55
- @video_only = video_only
56
- end
57
- end
58
-
59
11
 
60
12
  class Multistream < Livepeer::Utils::FieldAugmented
61
13
  extend T::Sig
@@ -63,10 +15,10 @@ module Livepeer
63
15
  # References to targets where this stream will be simultaneously
64
16
  # streamed to
65
17
  #
66
- field :targets, T.nilable(T::Array[Shared::Targets]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('targets') } }
18
+ field :targets, T.nilable(T::Array[Shared::Target]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('targets') } }
67
19
 
68
20
 
69
- sig { params(targets: T.nilable(T::Array[Shared::Targets])).void }
21
+ sig { params(targets: T.nilable(T::Array[Shared::Target])).void }
70
22
  def initialize(targets: nil)
71
23
  @targets = targets
72
24
  end
@@ -12,7 +12,9 @@ module Livepeer
12
12
  class MultistreamTarget < Livepeer::Utils::FieldAugmented
13
13
  extend T::Sig
14
14
 
15
- # Timestamp (in milliseconds) at which multistream target object was created
15
+ # Timestamp (in milliseconds) at which multistream target object was
16
+ # created
17
+ #
16
18
  field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
17
19
  # If true then this multistream target will not be used for pushing
18
20
  # even if it is configured in a stream object.
@@ -48,6 +48,8 @@ module Livepeer
48
48
  # custom name or title
49
49
  #
50
50
  field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
51
+ # Decides if the output video should include C2PA signature
52
+ field :c2pa, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('c2pa') } }
51
53
 
52
54
  field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
53
55
 
@@ -59,14 +61,17 @@ module Livepeer
59
61
 
60
62
  field :storage, T.nilable(Shared::NewAssetPayloadStorage), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('storage') } }
61
63
  # URL where the asset contents can be retrieved. Only allowed (and
62
- # also required) in the upload asset via URL endpoint.
64
+ # also required) in the upload asset via URL endpoint. For an IPFS
65
+ # source, this should be similar to: `ipfs://{CID}`. For an Arweave
66
+ # source: `ar://{CID}`.
63
67
  #
64
68
  field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
65
69
 
66
70
 
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)
71
+ sig { params(name: String, c2pa: T.nilable(T::Boolean), 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 }
72
+ def initialize(name: nil, c2pa: nil, creator_id: nil, encryption: nil, playback_policy: nil, static_mp4: nil, storage: nil, url: nil)
69
73
  @name = name
74
+ @c2pa = c2pa
70
75
  @creator_id = creator_id
71
76
  @encryption = encryption
72
77
  @playback_policy = playback_policy