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,1027 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Projects
6
+ class InferencePipelineCreateResponse < Openlayer::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Openlayer::Models::Projects::InferencePipelineCreateResponse,
11
+ Openlayer::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The inference pipeline description.
16
+ sig { returns(T.nilable(String)) }
17
+ attr_accessor :description
18
+
19
+ # The inference pipeline name.
20
+ sig { returns(String) }
21
+ attr_accessor :name
22
+
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project
27
+ )
28
+ )
29
+ end
30
+ attr_reader :project
31
+
32
+ sig do
33
+ params(
34
+ project:
35
+ T.nilable(
36
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::OrHash
37
+ )
38
+ ).void
39
+ end
40
+ attr_writer :project
41
+
42
+ sig do
43
+ returns(
44
+ T.nilable(
45
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace
46
+ )
47
+ )
48
+ end
49
+ attr_reader :workspace
50
+
51
+ sig do
52
+ params(
53
+ workspace:
54
+ T.nilable(
55
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::OrHash
56
+ )
57
+ ).void
58
+ end
59
+ attr_writer :workspace
60
+
61
+ # The inference pipeline id.
62
+ sig { returns(String) }
63
+ attr_accessor :id
64
+
65
+ # The creation date.
66
+ sig { returns(Time) }
67
+ attr_accessor :date_created
68
+
69
+ # The last test evaluation date.
70
+ sig { returns(T.nilable(Time)) }
71
+ attr_accessor :date_last_evaluated
72
+
73
+ # The last data sample received date.
74
+ sig { returns(T.nilable(Time)) }
75
+ attr_accessor :date_last_sample_received
76
+
77
+ # The next test evaluation date.
78
+ sig { returns(T.nilable(Time)) }
79
+ attr_accessor :date_of_next_evaluation
80
+
81
+ # The last updated date.
82
+ sig { returns(Time) }
83
+ attr_accessor :date_updated
84
+
85
+ # The number of tests failing.
86
+ sig { returns(Integer) }
87
+ attr_accessor :failing_goal_count
88
+
89
+ sig do
90
+ returns(
91
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Links
92
+ )
93
+ end
94
+ attr_reader :links
95
+
96
+ sig do
97
+ params(
98
+ links:
99
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Links::OrHash
100
+ ).void
101
+ end
102
+ attr_writer :links
103
+
104
+ # The number of tests passing.
105
+ sig { returns(Integer) }
106
+ attr_accessor :passing_goal_count
107
+
108
+ # The project id.
109
+ sig { returns(String) }
110
+ attr_accessor :project_id
111
+
112
+ # The status of test evaluation for the inference pipeline.
113
+ sig do
114
+ returns(
115
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol
116
+ )
117
+ end
118
+ attr_accessor :status
119
+
120
+ # The status message of test evaluation for the inference pipeline.
121
+ sig { returns(T.nilable(String)) }
122
+ attr_accessor :status_message
123
+
124
+ # The total number of tests.
125
+ sig { returns(Integer) }
126
+ attr_accessor :total_goal_count
127
+
128
+ # The workspace id.
129
+ sig { returns(T.nilable(String)) }
130
+ attr_reader :workspace_id
131
+
132
+ sig { params(workspace_id: String).void }
133
+ attr_writer :workspace_id
134
+
135
+ sig do
136
+ params(
137
+ id: String,
138
+ date_created: Time,
139
+ date_last_evaluated: T.nilable(Time),
140
+ date_last_sample_received: T.nilable(Time),
141
+ date_of_next_evaluation: T.nilable(Time),
142
+ date_updated: Time,
143
+ description: T.nilable(String),
144
+ failing_goal_count: Integer,
145
+ links:
146
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Links::OrHash,
147
+ name: String,
148
+ passing_goal_count: Integer,
149
+ project_id: String,
150
+ status:
151
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::OrSymbol,
152
+ status_message: T.nilable(String),
153
+ total_goal_count: Integer,
154
+ project:
155
+ T.nilable(
156
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::OrHash
157
+ ),
158
+ workspace:
159
+ T.nilable(
160
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::OrHash
161
+ ),
162
+ workspace_id: String
163
+ ).returns(T.attached_class)
164
+ end
165
+ def self.new(
166
+ # The inference pipeline id.
167
+ id:,
168
+ # The creation date.
169
+ date_created:,
170
+ # The last test evaluation date.
171
+ date_last_evaluated:,
172
+ # The last data sample received date.
173
+ date_last_sample_received:,
174
+ # The next test evaluation date.
175
+ date_of_next_evaluation:,
176
+ # The last updated date.
177
+ date_updated:,
178
+ # The inference pipeline description.
179
+ description:,
180
+ # The number of tests failing.
181
+ failing_goal_count:,
182
+ links:,
183
+ # The inference pipeline name.
184
+ name:,
185
+ # The number of tests passing.
186
+ passing_goal_count:,
187
+ # The project id.
188
+ project_id:,
189
+ # The status of test evaluation for the inference pipeline.
190
+ status:,
191
+ # The status message of test evaluation for the inference pipeline.
192
+ status_message:,
193
+ # The total number of tests.
194
+ total_goal_count:,
195
+ project: nil,
196
+ workspace: nil,
197
+ # The workspace id.
198
+ workspace_id: nil
199
+ )
200
+ end
201
+
202
+ sig do
203
+ override.returns(
204
+ {
205
+ id: String,
206
+ date_created: Time,
207
+ date_last_evaluated: T.nilable(Time),
208
+ date_last_sample_received: T.nilable(Time),
209
+ date_of_next_evaluation: T.nilable(Time),
210
+ date_updated: Time,
211
+ description: T.nilable(String),
212
+ failing_goal_count: Integer,
213
+ links:
214
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Links,
215
+ name: String,
216
+ passing_goal_count: Integer,
217
+ project_id: String,
218
+ status:
219
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol,
220
+ status_message: T.nilable(String),
221
+ total_goal_count: Integer,
222
+ project:
223
+ T.nilable(
224
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project
225
+ ),
226
+ workspace:
227
+ T.nilable(
228
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace
229
+ ),
230
+ workspace_id: String
231
+ }
232
+ )
233
+ end
234
+ def to_hash
235
+ end
236
+
237
+ class Links < Openlayer::Internal::Type::BaseModel
238
+ OrHash =
239
+ T.type_alias do
240
+ T.any(
241
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Links,
242
+ Openlayer::Internal::AnyHash
243
+ )
244
+ end
245
+
246
+ sig { returns(String) }
247
+ attr_accessor :app
248
+
249
+ sig { params(app: String).returns(T.attached_class) }
250
+ def self.new(app:)
251
+ end
252
+
253
+ sig { override.returns({ app: String }) }
254
+ def to_hash
255
+ end
256
+ end
257
+
258
+ # The status of test evaluation for the inference pipeline.
259
+ module Status
260
+ extend Openlayer::Internal::Type::Enum
261
+
262
+ TaggedSymbol =
263
+ T.type_alias do
264
+ T.all(
265
+ Symbol,
266
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status
267
+ )
268
+ end
269
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
270
+
271
+ QUEUED =
272
+ T.let(
273
+ :queued,
274
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol
275
+ )
276
+ RUNNING =
277
+ T.let(
278
+ :running,
279
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol
280
+ )
281
+ PAUSED =
282
+ T.let(
283
+ :paused,
284
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol
285
+ )
286
+ FAILED =
287
+ T.let(
288
+ :failed,
289
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol
290
+ )
291
+ COMPLETED =
292
+ T.let(
293
+ :completed,
294
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol
295
+ )
296
+ UNKNOWN =
297
+ T.let(
298
+ :unknown,
299
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol
300
+ )
301
+
302
+ sig do
303
+ override.returns(
304
+ T::Array[
305
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Status::TaggedSymbol
306
+ ]
307
+ )
308
+ end
309
+ def self.values
310
+ end
311
+ end
312
+
313
+ class Project < Openlayer::Internal::Type::BaseModel
314
+ OrHash =
315
+ T.type_alias do
316
+ T.any(
317
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project,
318
+ Openlayer::Internal::AnyHash
319
+ )
320
+ end
321
+
322
+ # The project name.
323
+ sig { returns(String) }
324
+ attr_accessor :name
325
+
326
+ # The task type of the project.
327
+ sig do
328
+ returns(
329
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType::TaggedSymbol
330
+ )
331
+ end
332
+ attr_accessor :task_type
333
+
334
+ # The project description.
335
+ sig { returns(T.nilable(String)) }
336
+ attr_accessor :description
337
+
338
+ # The project id.
339
+ sig { returns(String) }
340
+ attr_accessor :id
341
+
342
+ # The project creator id.
343
+ sig { returns(T.nilable(String)) }
344
+ attr_accessor :creator_id
345
+
346
+ # The project creation date.
347
+ sig { returns(Time) }
348
+ attr_accessor :date_created
349
+
350
+ # The project last updated date.
351
+ sig { returns(Time) }
352
+ attr_accessor :date_updated
353
+
354
+ # The number of tests in the development mode of the project.
355
+ sig { returns(Integer) }
356
+ attr_accessor :development_goal_count
357
+
358
+ # The total number of tests in the project.
359
+ sig { returns(Integer) }
360
+ attr_accessor :goal_count
361
+
362
+ # The number of inference pipelines in the project.
363
+ sig { returns(Integer) }
364
+ attr_accessor :inference_pipeline_count
365
+
366
+ # Links to the project.
367
+ sig do
368
+ returns(
369
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Links
370
+ )
371
+ end
372
+ attr_reader :links
373
+
374
+ sig do
375
+ params(
376
+ links:
377
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Links::OrHash
378
+ ).void
379
+ end
380
+ attr_writer :links
381
+
382
+ # The number of tests in the monitoring mode of the project.
383
+ sig { returns(Integer) }
384
+ attr_accessor :monitoring_goal_count
385
+
386
+ # The source of the project.
387
+ sig do
388
+ returns(
389
+ T.nilable(
390
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Source::TaggedSymbol
391
+ )
392
+ )
393
+ end
394
+ attr_accessor :source
395
+
396
+ # The number of versions (commits) in the project.
397
+ sig { returns(Integer) }
398
+ attr_accessor :version_count
399
+
400
+ # The workspace id.
401
+ sig { returns(T.nilable(String)) }
402
+ attr_accessor :workspace_id
403
+
404
+ sig do
405
+ returns(
406
+ T.nilable(
407
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::GitRepo
408
+ )
409
+ )
410
+ end
411
+ attr_reader :git_repo
412
+
413
+ sig do
414
+ params(
415
+ git_repo:
416
+ T.nilable(
417
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::GitRepo::OrHash
418
+ )
419
+ ).void
420
+ end
421
+ attr_writer :git_repo
422
+
423
+ sig do
424
+ params(
425
+ id: String,
426
+ creator_id: T.nilable(String),
427
+ date_created: Time,
428
+ date_updated: Time,
429
+ development_goal_count: Integer,
430
+ goal_count: Integer,
431
+ inference_pipeline_count: Integer,
432
+ links:
433
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Links::OrHash,
434
+ monitoring_goal_count: Integer,
435
+ name: String,
436
+ source:
437
+ T.nilable(
438
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Source::OrSymbol
439
+ ),
440
+ task_type:
441
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType::OrSymbol,
442
+ version_count: Integer,
443
+ workspace_id: T.nilable(String),
444
+ description: T.nilable(String),
445
+ git_repo:
446
+ T.nilable(
447
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::GitRepo::OrHash
448
+ )
449
+ ).returns(T.attached_class)
450
+ end
451
+ def self.new(
452
+ # The project id.
453
+ id:,
454
+ # The project creator id.
455
+ creator_id:,
456
+ # The project creation date.
457
+ date_created:,
458
+ # The project last updated date.
459
+ date_updated:,
460
+ # The number of tests in the development mode of the project.
461
+ development_goal_count:,
462
+ # The total number of tests in the project.
463
+ goal_count:,
464
+ # The number of inference pipelines in the project.
465
+ inference_pipeline_count:,
466
+ # Links to the project.
467
+ links:,
468
+ # The number of tests in the monitoring mode of the project.
469
+ monitoring_goal_count:,
470
+ # The project name.
471
+ name:,
472
+ # The source of the project.
473
+ source:,
474
+ # The task type of the project.
475
+ task_type:,
476
+ # The number of versions (commits) in the project.
477
+ version_count:,
478
+ # The workspace id.
479
+ workspace_id:,
480
+ # The project description.
481
+ description: nil,
482
+ git_repo: nil
483
+ )
484
+ end
485
+
486
+ sig do
487
+ override.returns(
488
+ {
489
+ id: String,
490
+ creator_id: T.nilable(String),
491
+ date_created: Time,
492
+ date_updated: Time,
493
+ development_goal_count: Integer,
494
+ goal_count: Integer,
495
+ inference_pipeline_count: Integer,
496
+ links:
497
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Links,
498
+ monitoring_goal_count: Integer,
499
+ name: String,
500
+ source:
501
+ T.nilable(
502
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Source::TaggedSymbol
503
+ ),
504
+ task_type:
505
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType::TaggedSymbol,
506
+ version_count: Integer,
507
+ workspace_id: T.nilable(String),
508
+ description: T.nilable(String),
509
+ git_repo:
510
+ T.nilable(
511
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::GitRepo
512
+ )
513
+ }
514
+ )
515
+ end
516
+ def to_hash
517
+ end
518
+
519
+ class Links < Openlayer::Internal::Type::BaseModel
520
+ OrHash =
521
+ T.type_alias do
522
+ T.any(
523
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Links,
524
+ Openlayer::Internal::AnyHash
525
+ )
526
+ end
527
+
528
+ sig { returns(String) }
529
+ attr_accessor :app
530
+
531
+ # Links to the project.
532
+ sig { params(app: String).returns(T.attached_class) }
533
+ def self.new(app:)
534
+ end
535
+
536
+ sig { override.returns({ app: String }) }
537
+ def to_hash
538
+ end
539
+ end
540
+
541
+ # The source of the project.
542
+ module Source
543
+ extend Openlayer::Internal::Type::Enum
544
+
545
+ TaggedSymbol =
546
+ T.type_alias do
547
+ T.all(
548
+ Symbol,
549
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Source
550
+ )
551
+ end
552
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
553
+
554
+ WEB =
555
+ T.let(
556
+ :web,
557
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Source::TaggedSymbol
558
+ )
559
+ API =
560
+ T.let(
561
+ :api,
562
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Source::TaggedSymbol
563
+ )
564
+ NULL =
565
+ T.let(
566
+ :null,
567
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Source::TaggedSymbol
568
+ )
569
+
570
+ sig do
571
+ override.returns(
572
+ T::Array[
573
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::Source::TaggedSymbol
574
+ ]
575
+ )
576
+ end
577
+ def self.values
578
+ end
579
+ end
580
+
581
+ # The task type of the project.
582
+ module TaskType
583
+ extend Openlayer::Internal::Type::Enum
584
+
585
+ TaggedSymbol =
586
+ T.type_alias do
587
+ T.all(
588
+ Symbol,
589
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType
590
+ )
591
+ end
592
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
593
+
594
+ LLM_BASE =
595
+ T.let(
596
+ :"llm-base",
597
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType::TaggedSymbol
598
+ )
599
+ TABULAR_CLASSIFICATION =
600
+ T.let(
601
+ :"tabular-classification",
602
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType::TaggedSymbol
603
+ )
604
+ TABULAR_REGRESSION =
605
+ T.let(
606
+ :"tabular-regression",
607
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType::TaggedSymbol
608
+ )
609
+ TEXT_CLASSIFICATION =
610
+ T.let(
611
+ :"text-classification",
612
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType::TaggedSymbol
613
+ )
614
+
615
+ sig do
616
+ override.returns(
617
+ T::Array[
618
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::TaskType::TaggedSymbol
619
+ ]
620
+ )
621
+ end
622
+ def self.values
623
+ end
624
+ end
625
+
626
+ class GitRepo < Openlayer::Internal::Type::BaseModel
627
+ OrHash =
628
+ T.type_alias do
629
+ T.any(
630
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Project::GitRepo,
631
+ Openlayer::Internal::AnyHash
632
+ )
633
+ end
634
+
635
+ sig { returns(String) }
636
+ attr_accessor :git_account_id
637
+
638
+ sig { returns(Integer) }
639
+ attr_accessor :git_id
640
+
641
+ sig { returns(T.nilable(String)) }
642
+ attr_reader :branch
643
+
644
+ sig { params(branch: String).void }
645
+ attr_writer :branch
646
+
647
+ sig { returns(T.nilable(String)) }
648
+ attr_reader :root_dir
649
+
650
+ sig { params(root_dir: String).void }
651
+ attr_writer :root_dir
652
+
653
+ sig { returns(String) }
654
+ attr_accessor :id
655
+
656
+ sig { returns(Time) }
657
+ attr_accessor :date_connected
658
+
659
+ sig { returns(Time) }
660
+ attr_accessor :date_updated
661
+
662
+ sig { returns(String) }
663
+ attr_accessor :name
664
+
665
+ sig { returns(T::Boolean) }
666
+ attr_accessor :private
667
+
668
+ sig { returns(String) }
669
+ attr_accessor :project_id
670
+
671
+ sig { returns(String) }
672
+ attr_accessor :slug
673
+
674
+ sig { returns(String) }
675
+ attr_accessor :url
676
+
677
+ sig do
678
+ params(
679
+ id: String,
680
+ date_connected: Time,
681
+ date_updated: Time,
682
+ git_account_id: String,
683
+ git_id: Integer,
684
+ name: String,
685
+ private: T::Boolean,
686
+ project_id: String,
687
+ slug: String,
688
+ url: String,
689
+ branch: String,
690
+ root_dir: String
691
+ ).returns(T.attached_class)
692
+ end
693
+ def self.new(
694
+ id:,
695
+ date_connected:,
696
+ date_updated:,
697
+ git_account_id:,
698
+ git_id:,
699
+ name:,
700
+ private:,
701
+ project_id:,
702
+ slug:,
703
+ url:,
704
+ branch: nil,
705
+ root_dir: nil
706
+ )
707
+ end
708
+
709
+ sig do
710
+ override.returns(
711
+ {
712
+ id: String,
713
+ date_connected: Time,
714
+ date_updated: Time,
715
+ git_account_id: String,
716
+ git_id: Integer,
717
+ name: String,
718
+ private: T::Boolean,
719
+ project_id: String,
720
+ slug: String,
721
+ url: String,
722
+ branch: String,
723
+ root_dir: String
724
+ }
725
+ )
726
+ end
727
+ def to_hash
728
+ end
729
+ end
730
+ end
731
+
732
+ class Workspace < Openlayer::Internal::Type::BaseModel
733
+ OrHash =
734
+ T.type_alias do
735
+ T.any(
736
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace,
737
+ Openlayer::Internal::AnyHash
738
+ )
739
+ end
740
+
741
+ # The workspace name.
742
+ sig { returns(String) }
743
+ attr_accessor :name
744
+
745
+ # The workspace slug.
746
+ sig { returns(String) }
747
+ attr_accessor :slug
748
+
749
+ # Whether the workspace only allows SAML authentication.
750
+ sig { returns(T.nilable(T::Boolean)) }
751
+ attr_reader :saml_only_access
752
+
753
+ sig { params(saml_only_access: T::Boolean).void }
754
+ attr_writer :saml_only_access
755
+
756
+ sig { returns(T.nilable(T::Array[String])) }
757
+ attr_reader :wildcard_domains
758
+
759
+ sig { params(wildcard_domains: T::Array[String]).void }
760
+ attr_writer :wildcard_domains
761
+
762
+ # The workspace id.
763
+ sig { returns(String) }
764
+ attr_accessor :id
765
+
766
+ # The workspace creator id.
767
+ sig { returns(T.nilable(String)) }
768
+ attr_accessor :creator_id
769
+
770
+ # The workspace creation date.
771
+ sig { returns(Time) }
772
+ attr_accessor :date_created
773
+
774
+ # The workspace last updated date.
775
+ sig { returns(Time) }
776
+ attr_accessor :date_updated
777
+
778
+ # The number of invites in the workspace.
779
+ sig { returns(Integer) }
780
+ attr_accessor :invite_count
781
+
782
+ # The number of members in the workspace.
783
+ sig { returns(Integer) }
784
+ attr_accessor :member_count
785
+
786
+ # The end date of the current billing period.
787
+ sig { returns(T.nilable(Time)) }
788
+ attr_accessor :period_end_date
789
+
790
+ # The start date of the current billing period.
791
+ sig { returns(T.nilable(Time)) }
792
+ attr_accessor :period_start_date
793
+
794
+ # The number of projects in the workspace.
795
+ sig { returns(Integer) }
796
+ attr_accessor :project_count
797
+
798
+ sig do
799
+ returns(
800
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
801
+ )
802
+ end
803
+ attr_accessor :status
804
+
805
+ sig do
806
+ returns(
807
+ T.nilable(
808
+ T::Array[
809
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::MonthlyUsage
810
+ ]
811
+ )
812
+ )
813
+ end
814
+ attr_reader :monthly_usage
815
+
816
+ sig do
817
+ params(
818
+ monthly_usage:
819
+ T::Array[
820
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::MonthlyUsage::OrHash
821
+ ]
822
+ ).void
823
+ end
824
+ attr_writer :monthly_usage
825
+
826
+ sig do
827
+ params(
828
+ id: String,
829
+ creator_id: T.nilable(String),
830
+ date_created: Time,
831
+ date_updated: Time,
832
+ invite_count: Integer,
833
+ member_count: Integer,
834
+ name: String,
835
+ period_end_date: T.nilable(Time),
836
+ period_start_date: T.nilable(Time),
837
+ project_count: Integer,
838
+ slug: String,
839
+ status:
840
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::OrSymbol,
841
+ monthly_usage:
842
+ T::Array[
843
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::MonthlyUsage::OrHash
844
+ ],
845
+ saml_only_access: T::Boolean,
846
+ wildcard_domains: T::Array[String]
847
+ ).returns(T.attached_class)
848
+ end
849
+ def self.new(
850
+ # The workspace id.
851
+ id:,
852
+ # The workspace creator id.
853
+ creator_id:,
854
+ # The workspace creation date.
855
+ date_created:,
856
+ # The workspace last updated date.
857
+ date_updated:,
858
+ # The number of invites in the workspace.
859
+ invite_count:,
860
+ # The number of members in the workspace.
861
+ member_count:,
862
+ # The workspace name.
863
+ name:,
864
+ # The end date of the current billing period.
865
+ period_end_date:,
866
+ # The start date of the current billing period.
867
+ period_start_date:,
868
+ # The number of projects in the workspace.
869
+ project_count:,
870
+ # The workspace slug.
871
+ slug:,
872
+ status:,
873
+ monthly_usage: nil,
874
+ # Whether the workspace only allows SAML authentication.
875
+ saml_only_access: nil,
876
+ wildcard_domains: nil
877
+ )
878
+ end
879
+
880
+ sig do
881
+ override.returns(
882
+ {
883
+ id: String,
884
+ creator_id: T.nilable(String),
885
+ date_created: Time,
886
+ date_updated: Time,
887
+ invite_count: Integer,
888
+ member_count: Integer,
889
+ name: String,
890
+ period_end_date: T.nilable(Time),
891
+ period_start_date: T.nilable(Time),
892
+ project_count: Integer,
893
+ slug: String,
894
+ status:
895
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol,
896
+ invite_code: String,
897
+ monthly_usage:
898
+ T::Array[
899
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::MonthlyUsage
900
+ ],
901
+ saml_only_access: T::Boolean,
902
+ wildcard_domains: T::Array[String]
903
+ }
904
+ )
905
+ end
906
+ def to_hash
907
+ end
908
+
909
+ module Status
910
+ extend Openlayer::Internal::Type::Enum
911
+
912
+ TaggedSymbol =
913
+ T.type_alias do
914
+ T.all(
915
+ Symbol,
916
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status
917
+ )
918
+ end
919
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
920
+
921
+ ACTIVE =
922
+ T.let(
923
+ :active,
924
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
925
+ )
926
+ PAST_DUE =
927
+ T.let(
928
+ :past_due,
929
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
930
+ )
931
+ UNPAID =
932
+ T.let(
933
+ :unpaid,
934
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
935
+ )
936
+ CANCELED =
937
+ T.let(
938
+ :canceled,
939
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
940
+ )
941
+ INCOMPLETE =
942
+ T.let(
943
+ :incomplete,
944
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
945
+ )
946
+ INCOMPLETE_EXPIRED =
947
+ T.let(
948
+ :incomplete_expired,
949
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
950
+ )
951
+ TRIALING =
952
+ T.let(
953
+ :trialing,
954
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
955
+ )
956
+ PAUSED =
957
+ T.let(
958
+ :paused,
959
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
960
+ )
961
+
962
+ sig do
963
+ override.returns(
964
+ T::Array[
965
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::Status::TaggedSymbol
966
+ ]
967
+ )
968
+ end
969
+ def self.values
970
+ end
971
+ end
972
+
973
+ class MonthlyUsage < Openlayer::Internal::Type::BaseModel
974
+ OrHash =
975
+ T.type_alias do
976
+ T.any(
977
+ Openlayer::Models::Projects::InferencePipelineCreateResponse::Workspace::MonthlyUsage,
978
+ Openlayer::Internal::AnyHash
979
+ )
980
+ end
981
+
982
+ sig { returns(T.nilable(Integer)) }
983
+ attr_accessor :execution_time_ms
984
+
985
+ sig { returns(T.nilable(Date)) }
986
+ attr_reader :month_year
987
+
988
+ sig { params(month_year: Date).void }
989
+ attr_writer :month_year
990
+
991
+ sig { returns(T.nilable(Integer)) }
992
+ attr_reader :prediction_count
993
+
994
+ sig { params(prediction_count: Integer).void }
995
+ attr_writer :prediction_count
996
+
997
+ sig do
998
+ params(
999
+ execution_time_ms: T.nilable(Integer),
1000
+ month_year: Date,
1001
+ prediction_count: Integer
1002
+ ).returns(T.attached_class)
1003
+ end
1004
+ def self.new(
1005
+ execution_time_ms: nil,
1006
+ month_year: nil,
1007
+ prediction_count: nil
1008
+ )
1009
+ end
1010
+
1011
+ sig do
1012
+ override.returns(
1013
+ {
1014
+ execution_time_ms: T.nilable(Integer),
1015
+ month_year: Date,
1016
+ prediction_count: Integer
1017
+ }
1018
+ )
1019
+ end
1020
+ def to_hash
1021
+ end
1022
+ end
1023
+ end
1024
+ end
1025
+ end
1026
+ end
1027
+ end