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,99 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ class ProjectCreateParams < Openlayer::Internal::Type::BaseModel
6
+ extend Openlayer::Internal::Type::RequestParameters::Converter
7
+ include Openlayer::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Openlayer::ProjectCreateParams, Openlayer::Internal::AnyHash)
12
+ end
13
+
14
+ # The project name.
15
+ sig { returns(String) }
16
+ attr_accessor :name
17
+
18
+ # The task type of the project.
19
+ sig { returns(Openlayer::ProjectCreateParams::TaskType::OrSymbol) }
20
+ attr_accessor :task_type
21
+
22
+ # The project description.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :description
25
+
26
+ sig do
27
+ params(
28
+ name: String,
29
+ task_type: Openlayer::ProjectCreateParams::TaskType::OrSymbol,
30
+ description: T.nilable(String),
31
+ request_options: Openlayer::RequestOptions::OrHash
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # The project name.
36
+ name:,
37
+ # The task type of the project.
38
+ task_type:,
39
+ # The project description.
40
+ description: nil,
41
+ request_options: {}
42
+ )
43
+ end
44
+
45
+ sig do
46
+ override.returns(
47
+ {
48
+ name: String,
49
+ task_type: Openlayer::ProjectCreateParams::TaskType::OrSymbol,
50
+ description: T.nilable(String),
51
+ request_options: Openlayer::RequestOptions
52
+ }
53
+ )
54
+ end
55
+ def to_hash
56
+ end
57
+
58
+ # The task type of the project.
59
+ module TaskType
60
+ extend Openlayer::Internal::Type::Enum
61
+
62
+ TaggedSymbol =
63
+ T.type_alias do
64
+ T.all(Symbol, Openlayer::ProjectCreateParams::TaskType)
65
+ end
66
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
67
+
68
+ LLM_BASE =
69
+ T.let(
70
+ :"llm-base",
71
+ Openlayer::ProjectCreateParams::TaskType::TaggedSymbol
72
+ )
73
+ TABULAR_CLASSIFICATION =
74
+ T.let(
75
+ :"tabular-classification",
76
+ Openlayer::ProjectCreateParams::TaskType::TaggedSymbol
77
+ )
78
+ TABULAR_REGRESSION =
79
+ T.let(
80
+ :"tabular-regression",
81
+ Openlayer::ProjectCreateParams::TaskType::TaggedSymbol
82
+ )
83
+ TEXT_CLASSIFICATION =
84
+ T.let(
85
+ :"text-classification",
86
+ Openlayer::ProjectCreateParams::TaskType::TaggedSymbol
87
+ )
88
+
89
+ sig do
90
+ override.returns(
91
+ T::Array[Openlayer::ProjectCreateParams::TaskType::TaggedSymbol]
92
+ )
93
+ end
94
+ def self.values
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,401 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ class ProjectCreateResponse < Openlayer::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Openlayer::Models::ProjectCreateResponse,
10
+ Openlayer::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The project name.
15
+ sig { returns(String) }
16
+ attr_accessor :name
17
+
18
+ # The task type of the project.
19
+ sig do
20
+ returns(
21
+ Openlayer::Models::ProjectCreateResponse::TaskType::TaggedSymbol
22
+ )
23
+ end
24
+ attr_accessor :task_type
25
+
26
+ # The project description.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_accessor :description
29
+
30
+ # The project id.
31
+ sig { returns(String) }
32
+ attr_accessor :id
33
+
34
+ # The project creator id.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_accessor :creator_id
37
+
38
+ # The project creation date.
39
+ sig { returns(Time) }
40
+ attr_accessor :date_created
41
+
42
+ # The project last updated date.
43
+ sig { returns(Time) }
44
+ attr_accessor :date_updated
45
+
46
+ # The number of tests in the development mode of the project.
47
+ sig { returns(Integer) }
48
+ attr_accessor :development_goal_count
49
+
50
+ # The total number of tests in the project.
51
+ sig { returns(Integer) }
52
+ attr_accessor :goal_count
53
+
54
+ # The number of inference pipelines in the project.
55
+ sig { returns(Integer) }
56
+ attr_accessor :inference_pipeline_count
57
+
58
+ # Links to the project.
59
+ sig { returns(Openlayer::Models::ProjectCreateResponse::Links) }
60
+ attr_reader :links
61
+
62
+ sig do
63
+ params(
64
+ links: Openlayer::Models::ProjectCreateResponse::Links::OrHash
65
+ ).void
66
+ end
67
+ attr_writer :links
68
+
69
+ # The number of tests in the monitoring mode of the project.
70
+ sig { returns(Integer) }
71
+ attr_accessor :monitoring_goal_count
72
+
73
+ # The source of the project.
74
+ sig do
75
+ returns(
76
+ T.nilable(
77
+ Openlayer::Models::ProjectCreateResponse::Source::TaggedSymbol
78
+ )
79
+ )
80
+ end
81
+ attr_accessor :source
82
+
83
+ # The number of versions (commits) in the project.
84
+ sig { returns(Integer) }
85
+ attr_accessor :version_count
86
+
87
+ # The workspace id.
88
+ sig { returns(T.nilable(String)) }
89
+ attr_accessor :workspace_id
90
+
91
+ sig do
92
+ returns(T.nilable(Openlayer::Models::ProjectCreateResponse::GitRepo))
93
+ end
94
+ attr_reader :git_repo
95
+
96
+ sig do
97
+ params(
98
+ git_repo:
99
+ T.nilable(Openlayer::Models::ProjectCreateResponse::GitRepo::OrHash)
100
+ ).void
101
+ end
102
+ attr_writer :git_repo
103
+
104
+ sig do
105
+ params(
106
+ id: String,
107
+ creator_id: T.nilable(String),
108
+ date_created: Time,
109
+ date_updated: Time,
110
+ development_goal_count: Integer,
111
+ goal_count: Integer,
112
+ inference_pipeline_count: Integer,
113
+ links: Openlayer::Models::ProjectCreateResponse::Links::OrHash,
114
+ monitoring_goal_count: Integer,
115
+ name: String,
116
+ source:
117
+ T.nilable(
118
+ Openlayer::Models::ProjectCreateResponse::Source::OrSymbol
119
+ ),
120
+ task_type:
121
+ Openlayer::Models::ProjectCreateResponse::TaskType::OrSymbol,
122
+ version_count: Integer,
123
+ workspace_id: T.nilable(String),
124
+ description: T.nilable(String),
125
+ git_repo:
126
+ T.nilable(Openlayer::Models::ProjectCreateResponse::GitRepo::OrHash)
127
+ ).returns(T.attached_class)
128
+ end
129
+ def self.new(
130
+ # The project id.
131
+ id:,
132
+ # The project creator id.
133
+ creator_id:,
134
+ # The project creation date.
135
+ date_created:,
136
+ # The project last updated date.
137
+ date_updated:,
138
+ # The number of tests in the development mode of the project.
139
+ development_goal_count:,
140
+ # The total number of tests in the project.
141
+ goal_count:,
142
+ # The number of inference pipelines in the project.
143
+ inference_pipeline_count:,
144
+ # Links to the project.
145
+ links:,
146
+ # The number of tests in the monitoring mode of the project.
147
+ monitoring_goal_count:,
148
+ # The project name.
149
+ name:,
150
+ # The source of the project.
151
+ source:,
152
+ # The task type of the project.
153
+ task_type:,
154
+ # The number of versions (commits) in the project.
155
+ version_count:,
156
+ # The workspace id.
157
+ workspace_id:,
158
+ # The project description.
159
+ description: nil,
160
+ git_repo: nil
161
+ )
162
+ end
163
+
164
+ sig do
165
+ override.returns(
166
+ {
167
+ id: String,
168
+ creator_id: T.nilable(String),
169
+ date_created: Time,
170
+ date_updated: Time,
171
+ development_goal_count: Integer,
172
+ goal_count: Integer,
173
+ inference_pipeline_count: Integer,
174
+ links: Openlayer::Models::ProjectCreateResponse::Links,
175
+ monitoring_goal_count: Integer,
176
+ name: String,
177
+ source:
178
+ T.nilable(
179
+ Openlayer::Models::ProjectCreateResponse::Source::TaggedSymbol
180
+ ),
181
+ task_type:
182
+ Openlayer::Models::ProjectCreateResponse::TaskType::TaggedSymbol,
183
+ version_count: Integer,
184
+ workspace_id: T.nilable(String),
185
+ description: T.nilable(String),
186
+ git_repo:
187
+ T.nilable(Openlayer::Models::ProjectCreateResponse::GitRepo)
188
+ }
189
+ )
190
+ end
191
+ def to_hash
192
+ end
193
+
194
+ class Links < Openlayer::Internal::Type::BaseModel
195
+ OrHash =
196
+ T.type_alias do
197
+ T.any(
198
+ Openlayer::Models::ProjectCreateResponse::Links,
199
+ Openlayer::Internal::AnyHash
200
+ )
201
+ end
202
+
203
+ sig { returns(String) }
204
+ attr_accessor :app
205
+
206
+ # Links to the project.
207
+ sig { params(app: String).returns(T.attached_class) }
208
+ def self.new(app:)
209
+ end
210
+
211
+ sig { override.returns({ app: String }) }
212
+ def to_hash
213
+ end
214
+ end
215
+
216
+ # The source of the project.
217
+ module Source
218
+ extend Openlayer::Internal::Type::Enum
219
+
220
+ TaggedSymbol =
221
+ T.type_alias do
222
+ T.all(Symbol, Openlayer::Models::ProjectCreateResponse::Source)
223
+ end
224
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
225
+
226
+ WEB =
227
+ T.let(
228
+ :web,
229
+ Openlayer::Models::ProjectCreateResponse::Source::TaggedSymbol
230
+ )
231
+ API =
232
+ T.let(
233
+ :api,
234
+ Openlayer::Models::ProjectCreateResponse::Source::TaggedSymbol
235
+ )
236
+ NULL =
237
+ T.let(
238
+ :null,
239
+ Openlayer::Models::ProjectCreateResponse::Source::TaggedSymbol
240
+ )
241
+
242
+ sig do
243
+ override.returns(
244
+ T::Array[
245
+ Openlayer::Models::ProjectCreateResponse::Source::TaggedSymbol
246
+ ]
247
+ )
248
+ end
249
+ def self.values
250
+ end
251
+ end
252
+
253
+ # The task type of the project.
254
+ module TaskType
255
+ extend Openlayer::Internal::Type::Enum
256
+
257
+ TaggedSymbol =
258
+ T.type_alias do
259
+ T.all(Symbol, Openlayer::Models::ProjectCreateResponse::TaskType)
260
+ end
261
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
262
+
263
+ LLM_BASE =
264
+ T.let(
265
+ :"llm-base",
266
+ Openlayer::Models::ProjectCreateResponse::TaskType::TaggedSymbol
267
+ )
268
+ TABULAR_CLASSIFICATION =
269
+ T.let(
270
+ :"tabular-classification",
271
+ Openlayer::Models::ProjectCreateResponse::TaskType::TaggedSymbol
272
+ )
273
+ TABULAR_REGRESSION =
274
+ T.let(
275
+ :"tabular-regression",
276
+ Openlayer::Models::ProjectCreateResponse::TaskType::TaggedSymbol
277
+ )
278
+ TEXT_CLASSIFICATION =
279
+ T.let(
280
+ :"text-classification",
281
+ Openlayer::Models::ProjectCreateResponse::TaskType::TaggedSymbol
282
+ )
283
+
284
+ sig do
285
+ override.returns(
286
+ T::Array[
287
+ Openlayer::Models::ProjectCreateResponse::TaskType::TaggedSymbol
288
+ ]
289
+ )
290
+ end
291
+ def self.values
292
+ end
293
+ end
294
+
295
+ class GitRepo < Openlayer::Internal::Type::BaseModel
296
+ OrHash =
297
+ T.type_alias do
298
+ T.any(
299
+ Openlayer::Models::ProjectCreateResponse::GitRepo,
300
+ Openlayer::Internal::AnyHash
301
+ )
302
+ end
303
+
304
+ sig { returns(String) }
305
+ attr_accessor :git_account_id
306
+
307
+ sig { returns(Integer) }
308
+ attr_accessor :git_id
309
+
310
+ sig { returns(T.nilable(String)) }
311
+ attr_reader :branch
312
+
313
+ sig { params(branch: String).void }
314
+ attr_writer :branch
315
+
316
+ sig { returns(T.nilable(String)) }
317
+ attr_reader :root_dir
318
+
319
+ sig { params(root_dir: String).void }
320
+ attr_writer :root_dir
321
+
322
+ sig { returns(String) }
323
+ attr_accessor :id
324
+
325
+ sig { returns(Time) }
326
+ attr_accessor :date_connected
327
+
328
+ sig { returns(Time) }
329
+ attr_accessor :date_updated
330
+
331
+ sig { returns(String) }
332
+ attr_accessor :name
333
+
334
+ sig { returns(T::Boolean) }
335
+ attr_accessor :private
336
+
337
+ sig { returns(String) }
338
+ attr_accessor :project_id
339
+
340
+ sig { returns(String) }
341
+ attr_accessor :slug
342
+
343
+ sig { returns(String) }
344
+ attr_accessor :url
345
+
346
+ sig do
347
+ params(
348
+ id: String,
349
+ date_connected: Time,
350
+ date_updated: Time,
351
+ git_account_id: String,
352
+ git_id: Integer,
353
+ name: String,
354
+ private: T::Boolean,
355
+ project_id: String,
356
+ slug: String,
357
+ url: String,
358
+ branch: String,
359
+ root_dir: String
360
+ ).returns(T.attached_class)
361
+ end
362
+ def self.new(
363
+ id:,
364
+ date_connected:,
365
+ date_updated:,
366
+ git_account_id:,
367
+ git_id:,
368
+ name:,
369
+ private:,
370
+ project_id:,
371
+ slug:,
372
+ url:,
373
+ branch: nil,
374
+ root_dir: nil
375
+ )
376
+ end
377
+
378
+ sig do
379
+ override.returns(
380
+ {
381
+ id: String,
382
+ date_connected: Time,
383
+ date_updated: Time,
384
+ git_account_id: String,
385
+ git_id: Integer,
386
+ name: String,
387
+ private: T::Boolean,
388
+ project_id: String,
389
+ slug: String,
390
+ url: String,
391
+ branch: String,
392
+ root_dir: String
393
+ }
394
+ )
395
+ end
396
+ def to_hash
397
+ end
398
+ end
399
+ end
400
+ end
401
+ end
@@ -0,0 +1,121 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ class ProjectListParams < Openlayer::Internal::Type::BaseModel
6
+ extend Openlayer::Internal::Type::RequestParameters::Converter
7
+ include Openlayer::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Openlayer::ProjectListParams, Openlayer::Internal::AnyHash)
12
+ end
13
+
14
+ # Filter list of items by project name.
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :name
17
+
18
+ sig { params(name: String).void }
19
+ attr_writer :name
20
+
21
+ # The page to return in a paginated query.
22
+ sig { returns(T.nilable(Integer)) }
23
+ attr_reader :page
24
+
25
+ sig { params(page: Integer).void }
26
+ attr_writer :page
27
+
28
+ # Maximum number of items to return per page.
29
+ sig { returns(T.nilable(Integer)) }
30
+ attr_reader :per_page
31
+
32
+ sig { params(per_page: Integer).void }
33
+ attr_writer :per_page
34
+
35
+ # Filter list of items by task type.
36
+ sig do
37
+ returns(T.nilable(Openlayer::ProjectListParams::TaskType::OrSymbol))
38
+ end
39
+ attr_reader :task_type
40
+
41
+ sig do
42
+ params(task_type: Openlayer::ProjectListParams::TaskType::OrSymbol).void
43
+ end
44
+ attr_writer :task_type
45
+
46
+ sig do
47
+ params(
48
+ name: String,
49
+ page: Integer,
50
+ per_page: Integer,
51
+ task_type: Openlayer::ProjectListParams::TaskType::OrSymbol,
52
+ request_options: Openlayer::RequestOptions::OrHash
53
+ ).returns(T.attached_class)
54
+ end
55
+ def self.new(
56
+ # Filter list of items by project name.
57
+ name: nil,
58
+ # The page to return in a paginated query.
59
+ page: nil,
60
+ # Maximum number of items to return per page.
61
+ per_page: nil,
62
+ # Filter list of items by task type.
63
+ task_type: nil,
64
+ request_options: {}
65
+ )
66
+ end
67
+
68
+ sig do
69
+ override.returns(
70
+ {
71
+ name: String,
72
+ page: Integer,
73
+ per_page: Integer,
74
+ task_type: Openlayer::ProjectListParams::TaskType::OrSymbol,
75
+ request_options: Openlayer::RequestOptions
76
+ }
77
+ )
78
+ end
79
+ def to_hash
80
+ end
81
+
82
+ # Filter list of items by task type.
83
+ module TaskType
84
+ extend Openlayer::Internal::Type::Enum
85
+
86
+ TaggedSymbol =
87
+ T.type_alias { T.all(Symbol, Openlayer::ProjectListParams::TaskType) }
88
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
89
+
90
+ LLM_BASE =
91
+ T.let(
92
+ :"llm-base",
93
+ Openlayer::ProjectListParams::TaskType::TaggedSymbol
94
+ )
95
+ TABULAR_CLASSIFICATION =
96
+ T.let(
97
+ :"tabular-classification",
98
+ Openlayer::ProjectListParams::TaskType::TaggedSymbol
99
+ )
100
+ TABULAR_REGRESSION =
101
+ T.let(
102
+ :"tabular-regression",
103
+ Openlayer::ProjectListParams::TaskType::TaggedSymbol
104
+ )
105
+ TEXT_CLASSIFICATION =
106
+ T.let(
107
+ :"text-classification",
108
+ Openlayer::ProjectListParams::TaskType::TaggedSymbol
109
+ )
110
+
111
+ sig do
112
+ override.returns(
113
+ T::Array[Openlayer::ProjectListParams::TaskType::TaggedSymbol]
114
+ )
115
+ end
116
+ def self.values
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end