openlayer 0.12.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f04a416055cd159ce3d2f0ae5a9e63d70f8a7e1559e33dc11dce9ff2ffe0dd1b
4
- data.tar.gz: d3781b5b15427edb154c788b71abdb35fa52b3de17d3a64e4aba77d80f066fc1
3
+ metadata.gz: ffd5e2fee4572f84c0aae9e245b05e5838fbf3b824f8880f405679a8df4c3c01
4
+ data.tar.gz: a504dfb7553e65fa784f0550d1c8ea302c6b61c554888e9e4a9371ba938ced4b
5
5
  SHA512:
6
- metadata.gz: 9532865d2c62fbf6ec93aa57a0b6702045cb8e8f4e9bacea0ab15a41d3a7fa63ec31e6e3411817552365e4bcd422990b44c5b5eb3b1e5593cfad187063640624
7
- data.tar.gz: 4d0096fe405da60b58e2982e0431772078e699eac24779a3dc60e893bf7d68fe70dfefa0bc9fa65e728ffc0558a00fd3b2b79d16d312fd6c26cb5e165ca09341
6
+ metadata.gz: 87b1f5deeaeb055206603b4d0cf75da43d83e81efadcf656ef044ecee570b17e3a2291bd4a97a9e6a219be41854ce7b307d1d5f5d5ddf590923db75fb054f1ec
7
+ data.tar.gz: b5c56b73aca921aee9fb501999505e1c856f7fb67fef56651bf0dc3625b3b270aed03b47aa10b29fcbc80ad024d31d2a0fc7e086319e68e531c6aada4ebca887
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.12.1 (2026-04-10)
4
+
5
+ Full Changelog: [v0.12.0...v0.12.1](https://github.com/openlayer-ai/openlayer-ruby/compare/v0.12.0...v0.12.1)
6
+
7
+ ### Bug Fixes
8
+
9
+ * multipart encoding for file arrays ([c8b1646](https://github.com/openlayer-ai/openlayer-ruby/commit/c8b16466f4d3c51e4aee14d34fc823e51bd949c4))
10
+
11
+
12
+ ### Documentation
13
+
14
+ * **closes OPEN-9953:** expose endpoints to get and delete a row ([232488e](https://github.com/openlayer-ai/openlayer-ruby/commit/232488ec3989f0233017e289973125c5d489f247))
15
+
3
16
  ## 0.12.0 (2026-04-01)
4
17
 
5
18
  Full Changelog: [v0.11.2...v0.12.0](https://github.com/openlayer-ai/openlayer-ruby/compare/v0.11.2...v0.12.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "openlayer", "~> 0.12.0"
20
+ gem "openlayer", "~> 0.12.1"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -610,6 +610,7 @@ module Openlayer
610
610
  #
611
611
  # @return [Array(String, Enumerable<String>)]
612
612
  private def encode_multipart_streaming(body)
613
+ # rubocop:disable Style/CaseEquality
613
614
  # RFC 1521 Section 7.2.1 says we should have 70 char maximum for boundary length
614
615
  boundary = SecureRandom.urlsafe_base64(46)
615
616
 
@@ -619,7 +620,7 @@ module Openlayer
619
620
  in Hash
620
621
  body.each do |key, val|
621
622
  case val
622
- in Array if val.all? { primitive?(_1) }
623
+ in Array if val.all? { primitive?(_1) || Openlayer::Internal::Type::FileInput === _1 }
623
624
  val.each do |v|
624
625
  write_multipart_chunk(y, boundary: boundary, key: key, val: v, closing: closing)
625
626
  end
@@ -635,6 +636,7 @@ module Openlayer
635
636
 
636
637
  fused_io = fused_enum(strio) { closing.each(&:call) }
637
638
  [boundary, fused_io]
639
+ # rubocop:enable Style/CaseEquality
638
640
  end
639
641
 
640
642
  # @api private
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module InferencePipelines
6
+ # @see Openlayer::Resources::InferencePipelines::Rows#delete
7
+ class RowDeleteParams < Openlayer::Internal::Type::BaseModel
8
+ extend Openlayer::Internal::Type::RequestParameters::Converter
9
+ include Openlayer::Internal::Type::RequestParameters
10
+
11
+ # @!attribute inference_pipeline_id
12
+ #
13
+ # @return [String]
14
+ required :inference_pipeline_id, String
15
+
16
+ # @!attribute inference_id
17
+ #
18
+ # @return [String]
19
+ required :inference_id, String
20
+
21
+ # @!method initialize(inference_pipeline_id:, inference_id:, request_options: {})
22
+ # @param inference_pipeline_id [String]
23
+ # @param inference_id [String]
24
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module InferencePipelines
6
+ # @see Openlayer::Resources::InferencePipelines::Rows#retrieve
7
+ class RowRetrieveParams < Openlayer::Internal::Type::BaseModel
8
+ extend Openlayer::Internal::Type::RequestParameters::Converter
9
+ include Openlayer::Internal::Type::RequestParameters
10
+
11
+ # @!attribute inference_pipeline_id
12
+ #
13
+ # @return [String]
14
+ required :inference_pipeline_id, String
15
+
16
+ # @!attribute inference_id
17
+ #
18
+ # @return [String]
19
+ required :inference_id, String
20
+
21
+ # @!method initialize(inference_pipeline_id:, inference_id:, request_options: {})
22
+ # @param inference_pipeline_id [String]
23
+ # @param inference_id [String]
24
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module InferencePipelines
6
+ # @see Openlayer::Resources::InferencePipelines::Rows#retrieve
7
+ class RowRetrieveResponse < Openlayer::Internal::Type::BaseModel
8
+ # @!attribute row
9
+ #
10
+ # @return [Object, nil]
11
+ optional :row, Openlayer::Internal::Type::Unknown
12
+
13
+ # @!attribute success
14
+ #
15
+ # @return [Boolean, nil]
16
+ optional :success, Openlayer::Internal::Type::Boolean
17
+
18
+ # @!method initialize(row: nil, success: nil)
19
+ # @param row [Object]
20
+ # @param success [Boolean]
21
+ end
22
+ end
23
+ end
24
+ end
@@ -4,6 +4,33 @@ module Openlayer
4
4
  module Resources
5
5
  class InferencePipelines
6
6
  class Rows
7
+ # Fetch a single inference pipeline row by inference ID, including OTel steps.
8
+ #
9
+ # @overload retrieve(inference_id, inference_pipeline_id:, request_options: {})
10
+ #
11
+ # @param inference_id [String]
12
+ #
13
+ # @param inference_pipeline_id [String] The inference pipeline id (a UUID).
14
+ #
15
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [Openlayer::Models::InferencePipelines::RowRetrieveResponse]
18
+ #
19
+ # @see Openlayer::Models::InferencePipelines::RowRetrieveParams
20
+ def retrieve(inference_id, params)
21
+ parsed, options = Openlayer::InferencePipelines::RowRetrieveParams.dump_request(params)
22
+ inference_pipeline_id =
23
+ parsed.delete(:inference_pipeline_id) do
24
+ raise ArgumentError.new("missing required path argument #{_1}")
25
+ end
26
+ @client.request(
27
+ method: :get,
28
+ path: ["inference-pipelines/%1$s/rows/%2$s", inference_pipeline_id, inference_id],
29
+ model: Openlayer::Models::InferencePipelines::RowRetrieveResponse,
30
+ options: options
31
+ )
32
+ end
33
+
7
34
  # Update an inference data point in an inference pipeline.
8
35
  #
9
36
  # @overload update(inference_pipeline_id, inference_id:, row:, config: nil, request_options: {})
@@ -82,6 +109,34 @@ module Openlayer
82
109
  )
83
110
  end
84
111
 
112
+ # Delete a single inference pipeline row by inference ID. Only project admins can
113
+ # perform this action.
114
+ #
115
+ # @overload delete(inference_id, inference_pipeline_id:, request_options: {})
116
+ #
117
+ # @param inference_id [String]
118
+ #
119
+ # @param inference_pipeline_id [String] The inference pipeline id (a UUID).
120
+ #
121
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
122
+ #
123
+ # @return [nil]
124
+ #
125
+ # @see Openlayer::Models::InferencePipelines::RowDeleteParams
126
+ def delete(inference_id, params)
127
+ parsed, options = Openlayer::InferencePipelines::RowDeleteParams.dump_request(params)
128
+ inference_pipeline_id =
129
+ parsed.delete(:inference_pipeline_id) do
130
+ raise ArgumentError.new("missing required path argument #{_1}")
131
+ end
132
+ @client.request(
133
+ method: :delete,
134
+ path: ["inference-pipelines/%1$s/rows/%2$s", inference_pipeline_id, inference_id],
135
+ model: NilClass,
136
+ options: options
137
+ )
138
+ end
139
+
85
140
  # @api private
86
141
  #
87
142
  # @param client [Openlayer::Client]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Openlayer
4
- VERSION = "0.12.0"
4
+ VERSION = "0.12.1"
5
5
  end
data/lib/openlayer.rb CHANGED
@@ -65,8 +65,11 @@ require_relative "openlayer/models/inference_pipeline_retrieve_users_params"
65
65
  require_relative "openlayer/models/inference_pipeline_retrieve_users_response"
66
66
  require_relative "openlayer/models/inference_pipelines/data_stream_params"
67
67
  require_relative "openlayer/models/inference_pipelines/data_stream_response"
68
+ require_relative "openlayer/models/inference_pipelines/row_delete_params"
68
69
  require_relative "openlayer/models/inference_pipelines/row_list_params"
69
70
  require_relative "openlayer/models/inference_pipelines/row_list_response"
71
+ require_relative "openlayer/models/inference_pipelines/row_retrieve_params"
72
+ require_relative "openlayer/models/inference_pipelines/row_retrieve_response"
70
73
  require_relative "openlayer/models/inference_pipelines/row_update_params"
71
74
  require_relative "openlayer/models/inference_pipelines/row_update_response"
72
75
  require_relative "openlayer/models/inference_pipelines/test_result_list_params"
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module InferencePipelines
6
+ class RowDeleteParams < Openlayer::Internal::Type::BaseModel
7
+ extend Openlayer::Internal::Type::RequestParameters::Converter
8
+ include Openlayer::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Openlayer::InferencePipelines::RowDeleteParams,
14
+ Openlayer::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :inference_pipeline_id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :inference_id
23
+
24
+ sig do
25
+ params(
26
+ inference_pipeline_id: String,
27
+ inference_id: String,
28
+ request_options: Openlayer::RequestOptions::OrHash
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(inference_pipeline_id:, inference_id:, request_options: {})
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ inference_pipeline_id: String,
38
+ inference_id: String,
39
+ request_options: Openlayer::RequestOptions
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module InferencePipelines
6
+ class RowRetrieveParams < Openlayer::Internal::Type::BaseModel
7
+ extend Openlayer::Internal::Type::RequestParameters::Converter
8
+ include Openlayer::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Openlayer::InferencePipelines::RowRetrieveParams,
14
+ Openlayer::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :inference_pipeline_id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :inference_id
23
+
24
+ sig do
25
+ params(
26
+ inference_pipeline_id: String,
27
+ inference_id: String,
28
+ request_options: Openlayer::RequestOptions::OrHash
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(inference_pipeline_id:, inference_id:, request_options: {})
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ inference_pipeline_id: String,
38
+ inference_id: String,
39
+ request_options: Openlayer::RequestOptions
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,39 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module InferencePipelines
6
+ class RowRetrieveResponse < Openlayer::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Openlayer::Models::InferencePipelines::RowRetrieveResponse,
11
+ Openlayer::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(T.nilable(T.anything)) }
16
+ attr_reader :row
17
+
18
+ sig { params(row: T.anything).void }
19
+ attr_writer :row
20
+
21
+ sig { returns(T.nilable(T::Boolean)) }
22
+ attr_reader :success
23
+
24
+ sig { params(success: T::Boolean).void }
25
+ attr_writer :success
26
+
27
+ sig do
28
+ params(row: T.anything, success: T::Boolean).returns(T.attached_class)
29
+ end
30
+ def self.new(row: nil, success: nil)
31
+ end
32
+
33
+ sig { override.returns({ row: T.anything, success: T::Boolean }) }
34
+ def to_hash
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -4,6 +4,22 @@ module Openlayer
4
4
  module Resources
5
5
  class InferencePipelines
6
6
  class Rows
7
+ # Fetch a single inference pipeline row by inference ID, including OTel steps.
8
+ sig do
9
+ params(
10
+ inference_id: String,
11
+ inference_pipeline_id: String,
12
+ request_options: Openlayer::RequestOptions::OrHash
13
+ ).returns(Openlayer::Models::InferencePipelines::RowRetrieveResponse)
14
+ end
15
+ def retrieve(
16
+ inference_id,
17
+ # The inference pipeline id (a UUID).
18
+ inference_pipeline_id:,
19
+ request_options: {}
20
+ )
21
+ end
22
+
7
23
  # Update an inference data point in an inference pipeline.
8
24
  sig do
9
25
  params(
@@ -86,6 +102,23 @@ module Openlayer
86
102
  )
87
103
  end
88
104
 
105
+ # Delete a single inference pipeline row by inference ID. Only project admins can
106
+ # perform this action.
107
+ sig do
108
+ params(
109
+ inference_id: String,
110
+ inference_pipeline_id: String,
111
+ request_options: Openlayer::RequestOptions::OrHash
112
+ ).void
113
+ end
114
+ def delete(
115
+ inference_id,
116
+ # The inference pipeline id (a UUID).
117
+ inference_pipeline_id:,
118
+ request_options: {}
119
+ )
120
+ end
121
+
89
122
  # @api private
90
123
  sig { params(client: Openlayer::Client).returns(T.attached_class) }
91
124
  def self.new(client:)
@@ -0,0 +1,30 @@
1
+ module Openlayer
2
+ module Models
3
+ module InferencePipelines
4
+ type row_delete_params =
5
+ { inference_pipeline_id: String, inference_id: String }
6
+ & Openlayer::Internal::Type::request_parameters
7
+
8
+ class RowDeleteParams < Openlayer::Internal::Type::BaseModel
9
+ extend Openlayer::Internal::Type::RequestParameters::Converter
10
+ include Openlayer::Internal::Type::RequestParameters
11
+
12
+ attr_accessor inference_pipeline_id: String
13
+
14
+ attr_accessor inference_id: String
15
+
16
+ def initialize: (
17
+ inference_pipeline_id: String,
18
+ inference_id: String,
19
+ ?request_options: Openlayer::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ inference_pipeline_id: String,
24
+ inference_id: String,
25
+ request_options: Openlayer::RequestOptions
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module Openlayer
2
+ module Models
3
+ module InferencePipelines
4
+ type row_retrieve_params =
5
+ { inference_pipeline_id: String, inference_id: String }
6
+ & Openlayer::Internal::Type::request_parameters
7
+
8
+ class RowRetrieveParams < Openlayer::Internal::Type::BaseModel
9
+ extend Openlayer::Internal::Type::RequestParameters::Converter
10
+ include Openlayer::Internal::Type::RequestParameters
11
+
12
+ attr_accessor inference_pipeline_id: String
13
+
14
+ attr_accessor inference_id: String
15
+
16
+ def initialize: (
17
+ inference_pipeline_id: String,
18
+ inference_id: String,
19
+ ?request_options: Openlayer::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ inference_pipeline_id: String,
24
+ inference_id: String,
25
+ request_options: Openlayer::RequestOptions
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,21 @@
1
+ module Openlayer
2
+ module Models
3
+ module InferencePipelines
4
+ type row_retrieve_response = { row: top, success: bool }
5
+
6
+ class RowRetrieveResponse < Openlayer::Internal::Type::BaseModel
7
+ attr_reader row: top?
8
+
9
+ def row=: (top) -> top
10
+
11
+ attr_reader success: bool?
12
+
13
+ def success=: (bool) -> bool
14
+
15
+ def initialize: (?row: top, ?success: bool) -> void
16
+
17
+ def to_hash: -> { row: top, success: bool }
18
+ end
19
+ end
20
+ end
21
+ end
@@ -2,6 +2,12 @@ module Openlayer
2
2
  module Resources
3
3
  class InferencePipelines
4
4
  class Rows
5
+ def retrieve: (
6
+ String inference_id,
7
+ inference_pipeline_id: String,
8
+ ?request_options: Openlayer::request_opts
9
+ ) -> Openlayer::Models::InferencePipelines::RowRetrieveResponse
10
+
5
11
  def update: (
6
12
  String inference_pipeline_id,
7
13
  inference_id: String,
@@ -26,6 +32,12 @@ module Openlayer
26
32
  ?request_options: Openlayer::request_opts
27
33
  ) -> Openlayer::Models::InferencePipelines::RowListResponse
28
34
 
35
+ def delete: (
36
+ String inference_id,
37
+ inference_pipeline_id: String,
38
+ ?request_options: Openlayer::request_opts
39
+ ) -> nil
40
+
29
41
  def initialize: (client: Openlayer::Client) -> void
30
42
  end
31
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openlayer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Openlayer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-01 00:00:00.000000000 Z
11
+ date: 2026-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -85,8 +85,11 @@ files:
85
85
  - lib/openlayer/models/inference_pipeline_update_response.rb
86
86
  - lib/openlayer/models/inference_pipelines/data_stream_params.rb
87
87
  - lib/openlayer/models/inference_pipelines/data_stream_response.rb
88
+ - lib/openlayer/models/inference_pipelines/row_delete_params.rb
88
89
  - lib/openlayer/models/inference_pipelines/row_list_params.rb
89
90
  - lib/openlayer/models/inference_pipelines/row_list_response.rb
91
+ - lib/openlayer/models/inference_pipelines/row_retrieve_params.rb
92
+ - lib/openlayer/models/inference_pipelines/row_retrieve_response.rb
90
93
  - lib/openlayer/models/inference_pipelines/row_update_params.rb
91
94
  - lib/openlayer/models/inference_pipelines/row_update_response.rb
92
95
  - lib/openlayer/models/inference_pipelines/test_result_list_params.rb
@@ -181,8 +184,11 @@ files:
181
184
  - rbi/openlayer/models/inference_pipeline_update_response.rbi
182
185
  - rbi/openlayer/models/inference_pipelines/data_stream_params.rbi
183
186
  - rbi/openlayer/models/inference_pipelines/data_stream_response.rbi
187
+ - rbi/openlayer/models/inference_pipelines/row_delete_params.rbi
184
188
  - rbi/openlayer/models/inference_pipelines/row_list_params.rbi
185
189
  - rbi/openlayer/models/inference_pipelines/row_list_response.rbi
190
+ - rbi/openlayer/models/inference_pipelines/row_retrieve_params.rbi
191
+ - rbi/openlayer/models/inference_pipelines/row_retrieve_response.rbi
186
192
  - rbi/openlayer/models/inference_pipelines/row_update_params.rbi
187
193
  - rbi/openlayer/models/inference_pipelines/row_update_response.rbi
188
194
  - rbi/openlayer/models/inference_pipelines/test_result_list_params.rbi
@@ -274,8 +280,11 @@ files:
274
280
  - sig/openlayer/models/inference_pipeline_update_response.rbs
275
281
  - sig/openlayer/models/inference_pipelines/data_stream_params.rbs
276
282
  - sig/openlayer/models/inference_pipelines/data_stream_response.rbs
283
+ - sig/openlayer/models/inference_pipelines/row_delete_params.rbs
277
284
  - sig/openlayer/models/inference_pipelines/row_list_params.rbs
278
285
  - sig/openlayer/models/inference_pipelines/row_list_response.rbs
286
+ - sig/openlayer/models/inference_pipelines/row_retrieve_params.rbs
287
+ - sig/openlayer/models/inference_pipelines/row_retrieve_response.rbs
279
288
  - sig/openlayer/models/inference_pipelines/row_update_params.rbs
280
289
  - sig/openlayer/models/inference_pipelines/row_update_response.rbs
281
290
  - sig/openlayer/models/inference_pipelines/test_result_list_params.rbs