openlayer 0.3.0 → 0.4.0

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 (230) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +23 -0
  4. data/README.md +280 -39
  5. data/SECURITY.md +27 -0
  6. data/lib/openlayer/client.rb +64 -59
  7. data/lib/openlayer/errors.rb +228 -0
  8. data/lib/openlayer/file_part.rb +58 -0
  9. data/lib/openlayer/internal/transport/base_client.rb +567 -0
  10. data/lib/openlayer/internal/transport/pooled_net_requester.rb +198 -0
  11. data/lib/openlayer/internal/type/array_of.rb +168 -0
  12. data/lib/openlayer/internal/type/base_model.rb +531 -0
  13. data/lib/openlayer/internal/type/base_page.rb +55 -0
  14. data/lib/openlayer/internal/type/boolean.rb +77 -0
  15. data/lib/openlayer/internal/type/converter.rb +327 -0
  16. data/lib/openlayer/internal/type/enum.rb +131 -0
  17. data/lib/openlayer/internal/type/file_input.rb +111 -0
  18. data/lib/openlayer/internal/type/hash_of.rb +188 -0
  19. data/lib/openlayer/internal/type/request_parameters.rb +42 -0
  20. data/lib/openlayer/internal/type/union.rb +237 -0
  21. data/lib/openlayer/internal/type/unknown.rb +81 -0
  22. data/lib/openlayer/internal/util.rb +915 -0
  23. data/lib/openlayer/internal.rb +20 -0
  24. data/lib/openlayer/models/commit_retrieve_params.rb +14 -0
  25. data/lib/openlayer/models/commit_retrieve_response.rb +275 -0
  26. data/lib/openlayer/models/commits/test_result_list_params.rb +91 -0
  27. data/lib/openlayer/models/commits/test_result_list_response.rb +566 -0
  28. data/lib/openlayer/models/inference_pipeline_delete_params.rb +14 -0
  29. data/lib/openlayer/models/inference_pipeline_retrieve_params.rb +33 -0
  30. data/lib/openlayer/models/inference_pipeline_retrieve_response.rb +605 -0
  31. data/lib/openlayer/models/inference_pipeline_update_params.rb +42 -0
  32. data/lib/openlayer/models/inference_pipeline_update_response.rb +605 -0
  33. data/lib/openlayer/models/inference_pipelines/data_stream_params.rb +463 -0
  34. data/lib/openlayer/models/inference_pipelines/data_stream_response.rb +28 -0
  35. data/lib/openlayer/models/inference_pipelines/row_update_params.rb +90 -0
  36. data/lib/openlayer/models/inference_pipelines/row_update_response.rb +28 -0
  37. data/lib/openlayer/models/inference_pipelines/test_result_list_params.rb +83 -0
  38. data/lib/openlayer/models/inference_pipelines/test_result_list_response.rb +568 -0
  39. data/lib/openlayer/models/project_create_params.rb +51 -0
  40. data/lib/openlayer/models/project_create_response.rb +262 -0
  41. data/lib/openlayer/models/project_list_params.rb +59 -0
  42. data/lib/openlayer/models/project_list_response.rb +274 -0
  43. data/lib/openlayer/models/projects/commit_create_params.rb +61 -0
  44. data/lib/openlayer/models/projects/commit_create_response.rb +277 -0
  45. data/lib/openlayer/models/projects/commit_list_params.rb +32 -0
  46. data/lib/openlayer/models/projects/commit_list_response.rb +288 -0
  47. data/lib/openlayer/models/projects/inference_pipeline_create_params.rb +229 -0
  48. data/lib/openlayer/models/projects/inference_pipeline_create_response.rb +612 -0
  49. data/lib/openlayer/models/projects/inference_pipeline_list_params.rb +40 -0
  50. data/lib/openlayer/models/projects/inference_pipeline_list_response.rb +623 -0
  51. data/lib/openlayer/models/projects/test_create_params.rb +367 -0
  52. data/lib/openlayer/models/projects/test_create_response.rb +438 -0
  53. data/lib/openlayer/models/projects/test_list_params.rb +91 -0
  54. data/lib/openlayer/models/projects/test_list_response.rb +452 -0
  55. data/lib/openlayer/models/projects/test_update_params.rb +262 -0
  56. data/lib/openlayer/models/projects/test_update_response.rb +24 -0
  57. data/lib/openlayer/models/storage/presigned_url_create_params.rb +24 -0
  58. data/lib/openlayer/models/storage/presigned_url_create_response.rb +35 -0
  59. data/lib/openlayer/models.rb +61 -0
  60. data/lib/openlayer/request_options.rb +77 -0
  61. data/lib/openlayer/resources/commits/test_results.rb +51 -0
  62. data/lib/openlayer/resources/commits.rb +38 -0
  63. data/lib/openlayer/resources/inference_pipelines/data.rb +46 -0
  64. data/lib/openlayer/resources/inference_pipelines/rows.rb +46 -0
  65. data/lib/openlayer/resources/inference_pipelines/test_results.rb +49 -0
  66. data/lib/openlayer/resources/inference_pipelines.rb +101 -0
  67. data/lib/openlayer/resources/projects/commits.rb +72 -0
  68. data/lib/openlayer/resources/projects/inference_pipelines.rb +74 -0
  69. data/lib/openlayer/resources/projects/tests.rb +135 -0
  70. data/lib/openlayer/resources/projects.rb +80 -0
  71. data/lib/openlayer/resources/storage/presigned_url.rb +38 -0
  72. data/lib/openlayer/resources/storage.rb +18 -0
  73. data/lib/openlayer/version.rb +1 -1
  74. data/lib/openlayer.rb +96 -12
  75. data/manifest.yaml +15 -0
  76. data/rbi/openlayer/client.rbi +58 -0
  77. data/rbi/openlayer/errors.rbi +205 -0
  78. data/rbi/openlayer/file_part.rbi +37 -0
  79. data/rbi/openlayer/internal/transport/base_client.rbi +293 -0
  80. data/rbi/openlayer/internal/transport/pooled_net_requester.rbi +79 -0
  81. data/rbi/openlayer/internal/type/array_of.rbi +104 -0
  82. data/rbi/openlayer/internal/type/base_model.rbi +304 -0
  83. data/rbi/openlayer/internal/type/base_page.rbi +42 -0
  84. data/rbi/openlayer/internal/type/boolean.rbi +58 -0
  85. data/rbi/openlayer/internal/type/converter.rbi +216 -0
  86. data/rbi/openlayer/internal/type/enum.rbi +82 -0
  87. data/rbi/openlayer/internal/type/file_input.rbi +59 -0
  88. data/rbi/openlayer/internal/type/hash_of.rbi +104 -0
  89. data/rbi/openlayer/internal/type/request_parameters.rbi +29 -0
  90. data/rbi/openlayer/internal/type/union.rbi +128 -0
  91. data/rbi/openlayer/internal/type/unknown.rbi +58 -0
  92. data/rbi/openlayer/internal/util.rbi +487 -0
  93. data/rbi/openlayer/internal.rbi +18 -0
  94. data/rbi/openlayer/models/commit_retrieve_params.rbi +27 -0
  95. data/rbi/openlayer/models/commit_retrieve_response.rbi +393 -0
  96. data/rbi/openlayer/models/commits/test_result_list_params.rbi +214 -0
  97. data/rbi/openlayer/models/commits/test_result_list_response.rbi +1256 -0
  98. data/rbi/openlayer/models/inference_pipeline_delete_params.rbi +30 -0
  99. data/rbi/openlayer/models/inference_pipeline_retrieve_params.rbi +101 -0
  100. data/rbi/openlayer/models/inference_pipeline_retrieve_response.rbi +1022 -0
  101. data/rbi/openlayer/models/inference_pipeline_update_params.rbi +67 -0
  102. data/rbi/openlayer/models/inference_pipeline_update_response.rbi +1018 -0
  103. data/rbi/openlayer/models/inference_pipelines/data_stream_params.rbi +750 -0
  104. data/rbi/openlayer/models/inference_pipelines/data_stream_response.rbi +73 -0
  105. data/rbi/openlayer/models/inference_pipelines/row_update_params.rbi +153 -0
  106. data/rbi/openlayer/models/inference_pipelines/row_update_response.rbi +73 -0
  107. data/rbi/openlayer/models/inference_pipelines/test_result_list_params.rbi +216 -0
  108. data/rbi/openlayer/models/inference_pipelines/test_result_list_response.rbi +1258 -0
  109. data/rbi/openlayer/models/project_create_params.rbi +99 -0
  110. data/rbi/openlayer/models/project_create_response.rbi +401 -0
  111. data/rbi/openlayer/models/project_list_params.rbi +121 -0
  112. data/rbi/openlayer/models/project_list_response.rbi +442 -0
  113. data/rbi/openlayer/models/projects/commit_create_params.rbi +125 -0
  114. data/rbi/openlayer/models/projects/commit_create_response.rbi +409 -0
  115. data/rbi/openlayer/models/projects/commit_list_params.rbi +62 -0
  116. data/rbi/openlayer/models/projects/commit_list_response.rbi +454 -0
  117. data/rbi/openlayer/models/projects/inference_pipeline_create_params.rbi +560 -0
  118. data/rbi/openlayer/models/projects/inference_pipeline_create_response.rbi +1027 -0
  119. data/rbi/openlayer/models/projects/inference_pipeline_list_params.rbi +73 -0
  120. data/rbi/openlayer/models/projects/inference_pipeline_list_response.rbi +1070 -0
  121. data/rbi/openlayer/models/projects/test_create_params.rbi +940 -0
  122. data/rbi/openlayer/models/projects/test_create_response.rbi +1026 -0
  123. data/rbi/openlayer/models/projects/test_list_params.rbi +165 -0
  124. data/rbi/openlayer/models/projects/test_list_response.rbi +1067 -0
  125. data/rbi/openlayer/models/projects/test_update_params.rbi +699 -0
  126. data/rbi/openlayer/models/projects/test_update_response.rbi +43 -0
  127. data/rbi/openlayer/models/storage/presigned_url_create_params.rbi +45 -0
  128. data/rbi/openlayer/models/storage/presigned_url_create_response.rbi +55 -0
  129. data/rbi/openlayer/models.rbi +26 -0
  130. data/rbi/openlayer/request_options.rbi +59 -0
  131. data/rbi/openlayer/resources/commits/test_results.rbi +45 -0
  132. data/rbi/openlayer/resources/commits.rbi +29 -0
  133. data/rbi/openlayer/resources/inference_pipelines/data.rbi +41 -0
  134. data/rbi/openlayer/resources/inference_pipelines/rows.rbi +40 -0
  135. data/rbi/openlayer/resources/inference_pipelines/test_results.rbi +46 -0
  136. data/rbi/openlayer/resources/inference_pipelines.rbi +79 -0
  137. data/rbi/openlayer/resources/projects/commits.rbi +60 -0
  138. data/rbi/openlayer/resources/projects/inference_pipelines.rbi +69 -0
  139. data/rbi/openlayer/resources/projects/tests.rbi +123 -0
  140. data/rbi/openlayer/resources/projects.rbi +64 -0
  141. data/rbi/openlayer/resources/storage/presigned_url.rbi +28 -0
  142. data/rbi/openlayer/resources/storage.rbi +15 -0
  143. data/rbi/openlayer/version.rbi +5 -0
  144. data/sig/openlayer/client.rbs +32 -0
  145. data/sig/openlayer/errors.rbs +117 -0
  146. data/sig/openlayer/file_part.rbs +21 -0
  147. data/sig/openlayer/internal/transport/base_client.rbs +131 -0
  148. data/sig/openlayer/internal/transport/pooled_net_requester.rbs +45 -0
  149. data/sig/openlayer/internal/type/array_of.rbs +48 -0
  150. data/sig/openlayer/internal/type/base_model.rbs +102 -0
  151. data/sig/openlayer/internal/type/base_page.rbs +24 -0
  152. data/sig/openlayer/internal/type/boolean.rbs +26 -0
  153. data/sig/openlayer/internal/type/converter.rbs +79 -0
  154. data/sig/openlayer/internal/type/enum.rbs +32 -0
  155. data/sig/openlayer/internal/type/file_input.rbs +25 -0
  156. data/sig/openlayer/internal/type/hash_of.rbs +48 -0
  157. data/sig/openlayer/internal/type/request_parameters.rbs +19 -0
  158. data/sig/openlayer/internal/type/union.rbs +52 -0
  159. data/sig/openlayer/internal/type/unknown.rbs +26 -0
  160. data/sig/openlayer/internal/util.rbs +185 -0
  161. data/sig/openlayer/internal.rbs +9 -0
  162. data/sig/openlayer/models/commit_retrieve_params.rbs +15 -0
  163. data/sig/openlayer/models/commit_retrieve_response.rbs +209 -0
  164. data/sig/openlayer/models/commits/test_result_list_params.rbs +91 -0
  165. data/sig/openlayer/models/commits/test_result_list_response.rbs +529 -0
  166. data/sig/openlayer/models/inference_pipeline_delete_params.rbs +15 -0
  167. data/sig/openlayer/models/inference_pipeline_retrieve_params.rbs +41 -0
  168. data/sig/openlayer/models/inference_pipeline_retrieve_response.rbs +493 -0
  169. data/sig/openlayer/models/inference_pipeline_update_params.rbs +34 -0
  170. data/sig/openlayer/models/inference_pipeline_update_response.rbs +493 -0
  171. data/sig/openlayer/models/inference_pipelines/data_stream_params.rbs +386 -0
  172. data/sig/openlayer/models/inference_pipelines/data_stream_response.rbs +32 -0
  173. data/sig/openlayer/models/inference_pipelines/row_update_params.rbs +75 -0
  174. data/sig/openlayer/models/inference_pipelines/row_update_response.rbs +32 -0
  175. data/sig/openlayer/models/inference_pipelines/test_result_list_params.rbs +84 -0
  176. data/sig/openlayer/models/inference_pipelines/test_result_list_response.rbs +529 -0
  177. data/sig/openlayer/models/project_create_params.rbs +53 -0
  178. data/sig/openlayer/models/project_create_response.rbs +210 -0
  179. data/sig/openlayer/models/project_list_params.rbs +68 -0
  180. data/sig/openlayer/models/project_list_response.rbs +225 -0
  181. data/sig/openlayer/models/projects/commit_create_params.rbs +82 -0
  182. data/sig/openlayer/models/projects/commit_create_response.rbs +211 -0
  183. data/sig/openlayer/models/projects/commit_list_params.rbs +34 -0
  184. data/sig/openlayer/models/projects/commit_list_response.rbs +228 -0
  185. data/sig/openlayer/models/projects/inference_pipeline_create_params.rbs +308 -0
  186. data/sig/openlayer/models/projects/inference_pipeline_create_response.rbs +495 -0
  187. data/sig/openlayer/models/projects/inference_pipeline_list_params.rbs +40 -0
  188. data/sig/openlayer/models/projects/inference_pipeline_list_response.rbs +512 -0
  189. data/sig/openlayer/models/projects/test_create_params.rbs +388 -0
  190. data/sig/openlayer/models/projects/test_create_response.rbs +427 -0
  191. data/sig/openlayer/models/projects/test_list_params.rbs +85 -0
  192. data/sig/openlayer/models/projects/test_list_response.rbs +442 -0
  193. data/sig/openlayer/models/projects/test_update_params.rbs +275 -0
  194. data/sig/openlayer/models/projects/test_update_response.rbs +25 -0
  195. data/sig/openlayer/models/storage/presigned_url_create_params.rbs +25 -0
  196. data/sig/openlayer/models/storage/presigned_url_create_response.rbs +22 -0
  197. data/sig/openlayer/models.rbs +21 -0
  198. data/sig/openlayer/request_options.rbs +34 -0
  199. data/sig/openlayer/resources/commits/test_results.rbs +19 -0
  200. data/sig/openlayer/resources/commits.rbs +14 -0
  201. data/sig/openlayer/resources/inference_pipelines/data.rbs +16 -0
  202. data/sig/openlayer/resources/inference_pipelines/rows.rbs +17 -0
  203. data/sig/openlayer/resources/inference_pipelines/test_results.rbs +18 -0
  204. data/sig/openlayer/resources/inference_pipelines.rbs +32 -0
  205. data/sig/openlayer/resources/projects/commits.rbs +25 -0
  206. data/sig/openlayer/resources/projects/inference_pipelines.rbs +26 -0
  207. data/sig/openlayer/resources/projects/tests.rbs +45 -0
  208. data/sig/openlayer/resources/projects.rbs +28 -0
  209. data/sig/openlayer/resources/storage/presigned_url.rbs +14 -0
  210. data/sig/openlayer/resources/storage.rbs +9 -0
  211. data/sig/openlayer/version.rbs +3 -0
  212. metadata +223 -91
  213. data/.env +0 -0
  214. data/.rspec +0 -3
  215. data/.rubocop.yml +0 -13
  216. data/LICENSE +0 -21
  217. data/Rakefile +0 -12
  218. data/examples/staging/.DS_Store +0 -0
  219. data/examples/staging/commit.yaml +0 -2
  220. data/examples/staging/model/model_config.yaml +0 -12
  221. data/examples/staging/validation/dataset_config.yaml +0 -12
  222. data/lib/openlayer/error.rb +0 -5
  223. data/lib/openlayer/inference_pipeline.rb +0 -36
  224. data/lib/openlayer/object.rb +0 -28
  225. data/lib/openlayer/objects/project.rb +0 -185
  226. data/lib/openlayer/objects/project_version.rb +0 -89
  227. data/lib/openlayer/services/s3_presigned_client.rb +0 -47
  228. data/lib/openlayer/services/tar_file_helper.rb +0 -55
  229. data/openlayer.gemspec +0 -45
  230. data/sig/openlayer.rbs +0 -4
@@ -0,0 +1,560 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Projects
6
+ class InferencePipelineCreateParams < 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::Projects::InferencePipelineCreateParams,
14
+ Openlayer::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # The inference pipeline description.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :description
21
+
22
+ # The inference pipeline name.
23
+ sig { returns(String) }
24
+ attr_accessor :name
25
+
26
+ sig do
27
+ returns(
28
+ T.nilable(
29
+ Openlayer::Projects::InferencePipelineCreateParams::Project
30
+ )
31
+ )
32
+ end
33
+ attr_reader :project
34
+
35
+ sig do
36
+ params(
37
+ project:
38
+ T.nilable(
39
+ Openlayer::Projects::InferencePipelineCreateParams::Project::OrHash
40
+ )
41
+ ).void
42
+ end
43
+ attr_writer :project
44
+
45
+ sig do
46
+ returns(
47
+ T.nilable(
48
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace
49
+ )
50
+ )
51
+ end
52
+ attr_reader :workspace
53
+
54
+ sig do
55
+ params(
56
+ workspace:
57
+ T.nilable(
58
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::OrHash
59
+ )
60
+ ).void
61
+ end
62
+ attr_writer :workspace
63
+
64
+ sig do
65
+ params(
66
+ description: T.nilable(String),
67
+ name: String,
68
+ project:
69
+ T.nilable(
70
+ Openlayer::Projects::InferencePipelineCreateParams::Project::OrHash
71
+ ),
72
+ workspace:
73
+ T.nilable(
74
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::OrHash
75
+ ),
76
+ request_options: Openlayer::RequestOptions::OrHash
77
+ ).returns(T.attached_class)
78
+ end
79
+ def self.new(
80
+ # The inference pipeline description.
81
+ description:,
82
+ # The inference pipeline name.
83
+ name:,
84
+ project: nil,
85
+ workspace: nil,
86
+ request_options: {}
87
+ )
88
+ end
89
+
90
+ sig do
91
+ override.returns(
92
+ {
93
+ description: T.nilable(String),
94
+ name: String,
95
+ project:
96
+ T.nilable(
97
+ Openlayer::Projects::InferencePipelineCreateParams::Project
98
+ ),
99
+ workspace:
100
+ T.nilable(
101
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace
102
+ ),
103
+ request_options: Openlayer::RequestOptions
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+
110
+ class Project < Openlayer::Internal::Type::BaseModel
111
+ OrHash =
112
+ T.type_alias do
113
+ T.any(
114
+ Openlayer::Projects::InferencePipelineCreateParams::Project,
115
+ Openlayer::Internal::AnyHash
116
+ )
117
+ end
118
+
119
+ # The project name.
120
+ sig { returns(String) }
121
+ attr_accessor :name
122
+
123
+ # The task type of the project.
124
+ sig do
125
+ returns(
126
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType::OrSymbol
127
+ )
128
+ end
129
+ attr_accessor :task_type
130
+
131
+ # The project description.
132
+ sig { returns(T.nilable(String)) }
133
+ attr_accessor :description
134
+
135
+ sig do
136
+ params(
137
+ name: String,
138
+ task_type:
139
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType::OrSymbol,
140
+ description: T.nilable(String)
141
+ ).returns(T.attached_class)
142
+ end
143
+ def self.new(
144
+ # The project name.
145
+ name:,
146
+ # The task type of the project.
147
+ task_type:,
148
+ # The project description.
149
+ description: nil
150
+ )
151
+ end
152
+
153
+ sig do
154
+ override.returns(
155
+ {
156
+ id: String,
157
+ creator_id: T.nilable(String),
158
+ date_created: Time,
159
+ date_updated: Time,
160
+ development_goal_count: Integer,
161
+ goal_count: Integer,
162
+ inference_pipeline_count: Integer,
163
+ links:
164
+ Openlayer::Projects::InferencePipelineCreateParams::Project::Links,
165
+ monitoring_goal_count: Integer,
166
+ name: String,
167
+ source:
168
+ T.nilable(
169
+ Openlayer::Projects::InferencePipelineCreateParams::Project::Source::OrSymbol
170
+ ),
171
+ task_type:
172
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType::OrSymbol,
173
+ version_count: Integer,
174
+ workspace_id: T.nilable(String),
175
+ description: T.nilable(String),
176
+ git_repo:
177
+ T.nilable(
178
+ Openlayer::Projects::InferencePipelineCreateParams::Project::GitRepo
179
+ )
180
+ }
181
+ )
182
+ end
183
+ def to_hash
184
+ end
185
+
186
+ class Links < Openlayer::Internal::Type::BaseModel
187
+ OrHash =
188
+ T.type_alias do
189
+ T.any(
190
+ Openlayer::Projects::InferencePipelineCreateParams::Project::Links,
191
+ Openlayer::Internal::AnyHash
192
+ )
193
+ end
194
+
195
+ sig { returns(String) }
196
+ attr_accessor :app
197
+
198
+ # Links to the project.
199
+ sig { params(app: String).returns(T.attached_class) }
200
+ def self.new(app:)
201
+ end
202
+
203
+ sig { override.returns({ app: String }) }
204
+ def to_hash
205
+ end
206
+ end
207
+
208
+ # The source of the project.
209
+ module Source
210
+ extend Openlayer::Internal::Type::Enum
211
+
212
+ TaggedSymbol =
213
+ T.type_alias do
214
+ T.all(
215
+ Symbol,
216
+ Openlayer::Projects::InferencePipelineCreateParams::Project::Source
217
+ )
218
+ end
219
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
220
+
221
+ WEB =
222
+ T.let(
223
+ :web,
224
+ Openlayer::Projects::InferencePipelineCreateParams::Project::Source::TaggedSymbol
225
+ )
226
+ API =
227
+ T.let(
228
+ :api,
229
+ Openlayer::Projects::InferencePipelineCreateParams::Project::Source::TaggedSymbol
230
+ )
231
+ NULL =
232
+ T.let(
233
+ :null,
234
+ Openlayer::Projects::InferencePipelineCreateParams::Project::Source::TaggedSymbol
235
+ )
236
+
237
+ sig do
238
+ override.returns(
239
+ T::Array[
240
+ Openlayer::Projects::InferencePipelineCreateParams::Project::Source::TaggedSymbol
241
+ ]
242
+ )
243
+ end
244
+ def self.values
245
+ end
246
+ end
247
+
248
+ # The task type of the project.
249
+ module TaskType
250
+ extend Openlayer::Internal::Type::Enum
251
+
252
+ TaggedSymbol =
253
+ T.type_alias do
254
+ T.all(
255
+ Symbol,
256
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType
257
+ )
258
+ end
259
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
260
+
261
+ LLM_BASE =
262
+ T.let(
263
+ :"llm-base",
264
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType::TaggedSymbol
265
+ )
266
+ TABULAR_CLASSIFICATION =
267
+ T.let(
268
+ :"tabular-classification",
269
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType::TaggedSymbol
270
+ )
271
+ TABULAR_REGRESSION =
272
+ T.let(
273
+ :"tabular-regression",
274
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType::TaggedSymbol
275
+ )
276
+ TEXT_CLASSIFICATION =
277
+ T.let(
278
+ :"text-classification",
279
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType::TaggedSymbol
280
+ )
281
+
282
+ sig do
283
+ override.returns(
284
+ T::Array[
285
+ Openlayer::Projects::InferencePipelineCreateParams::Project::TaskType::TaggedSymbol
286
+ ]
287
+ )
288
+ end
289
+ def self.values
290
+ end
291
+ end
292
+
293
+ class GitRepo < Openlayer::Internal::Type::BaseModel
294
+ OrHash =
295
+ T.type_alias do
296
+ T.any(
297
+ Openlayer::Projects::InferencePipelineCreateParams::Project::GitRepo,
298
+ Openlayer::Internal::AnyHash
299
+ )
300
+ end
301
+
302
+ sig { returns(String) }
303
+ attr_accessor :git_account_id
304
+
305
+ sig { returns(Integer) }
306
+ attr_accessor :git_id
307
+
308
+ sig { returns(T.nilable(String)) }
309
+ attr_reader :branch
310
+
311
+ sig { params(branch: String).void }
312
+ attr_writer :branch
313
+
314
+ sig { returns(T.nilable(String)) }
315
+ attr_reader :root_dir
316
+
317
+ sig { params(root_dir: String).void }
318
+ attr_writer :root_dir
319
+
320
+ sig do
321
+ params(
322
+ git_account_id: String,
323
+ git_id: Integer,
324
+ branch: String,
325
+ root_dir: String
326
+ ).returns(T.attached_class)
327
+ end
328
+ def self.new(git_account_id:, git_id:, branch: nil, root_dir: nil)
329
+ end
330
+
331
+ sig do
332
+ override.returns(
333
+ {
334
+ id: String,
335
+ date_connected: Time,
336
+ date_updated: Time,
337
+ git_account_id: String,
338
+ git_id: Integer,
339
+ name: String,
340
+ private: T::Boolean,
341
+ project_id: String,
342
+ slug: String,
343
+ url: String,
344
+ branch: String,
345
+ root_dir: String
346
+ }
347
+ )
348
+ end
349
+ def to_hash
350
+ end
351
+ end
352
+ end
353
+
354
+ class Workspace < Openlayer::Internal::Type::BaseModel
355
+ OrHash =
356
+ T.type_alias do
357
+ T.any(
358
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace,
359
+ Openlayer::Internal::AnyHash
360
+ )
361
+ end
362
+
363
+ # The workspace name.
364
+ sig { returns(String) }
365
+ attr_accessor :name
366
+
367
+ # The workspace slug.
368
+ sig { returns(String) }
369
+ attr_accessor :slug
370
+
371
+ # Whether the workspace only allows SAML authentication.
372
+ sig { returns(T.nilable(T::Boolean)) }
373
+ attr_reader :saml_only_access
374
+
375
+ sig { params(saml_only_access: T::Boolean).void }
376
+ attr_writer :saml_only_access
377
+
378
+ sig { returns(T.nilable(T::Array[String])) }
379
+ attr_reader :wildcard_domains
380
+
381
+ sig { params(wildcard_domains: T::Array[String]).void }
382
+ attr_writer :wildcard_domains
383
+
384
+ # The workspace invite code.
385
+ sig { returns(T.nilable(String)) }
386
+ attr_reader :invite_code
387
+
388
+ sig { params(invite_code: String).void }
389
+ attr_writer :invite_code
390
+
391
+ sig do
392
+ params(
393
+ name: String,
394
+ slug: String,
395
+ invite_code: String,
396
+ saml_only_access: T::Boolean,
397
+ wildcard_domains: T::Array[String]
398
+ ).returns(T.attached_class)
399
+ end
400
+ def self.new(
401
+ # The workspace name.
402
+ name:,
403
+ # The workspace slug.
404
+ slug:,
405
+ # The workspace invite code.
406
+ invite_code: nil,
407
+ # Whether the workspace only allows SAML authentication.
408
+ saml_only_access: nil,
409
+ wildcard_domains: nil
410
+ )
411
+ end
412
+
413
+ sig do
414
+ override.returns(
415
+ {
416
+ id: String,
417
+ creator_id: T.nilable(String),
418
+ date_created: Time,
419
+ date_updated: Time,
420
+ invite_count: Integer,
421
+ member_count: Integer,
422
+ name: String,
423
+ period_end_date: T.nilable(Time),
424
+ period_start_date: T.nilable(Time),
425
+ project_count: Integer,
426
+ slug: String,
427
+ status:
428
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::OrSymbol,
429
+ invite_code: String,
430
+ monthly_usage:
431
+ T::Array[
432
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::MonthlyUsage
433
+ ],
434
+ saml_only_access: T::Boolean,
435
+ wildcard_domains: T::Array[String]
436
+ }
437
+ )
438
+ end
439
+ def to_hash
440
+ end
441
+
442
+ module Status
443
+ extend Openlayer::Internal::Type::Enum
444
+
445
+ TaggedSymbol =
446
+ T.type_alias do
447
+ T.all(
448
+ Symbol,
449
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status
450
+ )
451
+ end
452
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
453
+
454
+ ACTIVE =
455
+ T.let(
456
+ :active,
457
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
458
+ )
459
+ PAST_DUE =
460
+ T.let(
461
+ :past_due,
462
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
463
+ )
464
+ UNPAID =
465
+ T.let(
466
+ :unpaid,
467
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
468
+ )
469
+ CANCELED =
470
+ T.let(
471
+ :canceled,
472
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
473
+ )
474
+ INCOMPLETE =
475
+ T.let(
476
+ :incomplete,
477
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
478
+ )
479
+ INCOMPLETE_EXPIRED =
480
+ T.let(
481
+ :incomplete_expired,
482
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
483
+ )
484
+ TRIALING =
485
+ T.let(
486
+ :trialing,
487
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
488
+ )
489
+ PAUSED =
490
+ T.let(
491
+ :paused,
492
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
493
+ )
494
+
495
+ sig do
496
+ override.returns(
497
+ T::Array[
498
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::Status::TaggedSymbol
499
+ ]
500
+ )
501
+ end
502
+ def self.values
503
+ end
504
+ end
505
+
506
+ class MonthlyUsage < Openlayer::Internal::Type::BaseModel
507
+ OrHash =
508
+ T.type_alias do
509
+ T.any(
510
+ Openlayer::Projects::InferencePipelineCreateParams::Workspace::MonthlyUsage,
511
+ Openlayer::Internal::AnyHash
512
+ )
513
+ end
514
+
515
+ sig { returns(T.nilable(Integer)) }
516
+ attr_accessor :execution_time_ms
517
+
518
+ sig { returns(T.nilable(Date)) }
519
+ attr_reader :month_year
520
+
521
+ sig { params(month_year: Date).void }
522
+ attr_writer :month_year
523
+
524
+ sig { returns(T.nilable(Integer)) }
525
+ attr_reader :prediction_count
526
+
527
+ sig { params(prediction_count: Integer).void }
528
+ attr_writer :prediction_count
529
+
530
+ sig do
531
+ params(
532
+ execution_time_ms: T.nilable(Integer),
533
+ month_year: Date,
534
+ prediction_count: Integer
535
+ ).returns(T.attached_class)
536
+ end
537
+ def self.new(
538
+ execution_time_ms: nil,
539
+ month_year: nil,
540
+ prediction_count: nil
541
+ )
542
+ end
543
+
544
+ sig do
545
+ override.returns(
546
+ {
547
+ execution_time_ms: T.nilable(Integer),
548
+ month_year: Date,
549
+ prediction_count: Integer
550
+ }
551
+ )
552
+ end
553
+ def to_hash
554
+ end
555
+ end
556
+ end
557
+ end
558
+ end
559
+ end
560
+ end