livepeer 0.0.1 → 0.0.2

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.
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