openlayer 0.15.0 → 0.16.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 (222) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/openlayer/client.rb +8 -0
  5. data/lib/openlayer/models/background_task_retrieve_params.rb +20 -0
  6. data/lib/openlayer/models/background_task_retrieve_response.rb +81 -0
  7. data/lib/openlayer/models/governance/framework_create_params.rb +143 -0
  8. data/lib/openlayer/models/governance/framework_create_response.rb +407 -0
  9. data/lib/openlayer/models/governance/framework_export_params.rb +31 -0
  10. data/lib/openlayer/models/governance/framework_export_response.rb +32 -0
  11. data/lib/openlayer/models/governance/framework_list_params.rb +148 -0
  12. data/lib/openlayer/models/governance/framework_list_project_rule_stats_params.rb +74 -0
  13. data/lib/openlayer/models/governance/framework_list_project_rule_stats_response.rb +277 -0
  14. data/lib/openlayer/models/governance/framework_list_projects_params.rb +39 -0
  15. data/lib/openlayer/models/governance/framework_list_projects_response.rb +315 -0
  16. data/lib/openlayer/models/governance/framework_list_response.rb +418 -0
  17. data/lib/openlayer/models/governance/framework_list_rules_params.rb +39 -0
  18. data/lib/openlayer/models/governance/framework_list_rules_response.rb +656 -0
  19. data/lib/openlayer/models/governance/framework_retrieve_params.rb +22 -0
  20. data/lib/openlayer/models/governance/framework_retrieve_response.rb +407 -0
  21. data/lib/openlayer/models/governance/framework_update_params.rb +200 -0
  22. data/lib/openlayer/models/governance/framework_update_response.rb +407 -0
  23. data/lib/openlayer/models/governance/frameworks/document_list_params.rb +41 -0
  24. data/lib/openlayer/models/governance/frameworks/document_list_response.rb +572 -0
  25. data/lib/openlayer/models/governance/frameworks/document_retrieve_params.rb +30 -0
  26. data/lib/openlayer/models/governance/frameworks/document_retrieve_response.rb +561 -0
  27. data/lib/openlayer/models/governance/frameworks/section_list_rules_params.rb +96 -0
  28. data/lib/openlayer/models/governance/frameworks/section_list_rules_response.rb +660 -0
  29. data/lib/openlayer/models/governance/frameworks/subsection_list_rules_params.rb +88 -0
  30. data/lib/openlayer/models/governance/frameworks/subsection_list_rules_response.rb +660 -0
  31. data/lib/openlayer/models/governance/rule_create_params.rb +164 -0
  32. data/lib/openlayer/models/governance/rule_create_response.rb +638 -0
  33. data/lib/openlayer/models/governance/rule_delete_params.rb +22 -0
  34. data/lib/openlayer/models/governance/rule_list_params.rb +231 -0
  35. data/lib/openlayer/models/governance/rule_list_response.rb +654 -0
  36. data/lib/openlayer/models/governance/rule_result_create_evidence_params.rb +68 -0
  37. data/lib/openlayer/models/governance/rule_result_create_evidence_response.rb +90 -0
  38. data/lib/openlayer/models/governance/rule_result_list_evidence_params.rb +39 -0
  39. data/lib/openlayer/models/governance/rule_result_list_evidence_response.rb +101 -0
  40. data/lib/openlayer/models/governance/rule_result_list_params.rb +149 -0
  41. data/lib/openlayer/models/governance/rule_result_list_response.rb +255 -0
  42. data/lib/openlayer/models/governance/rule_result_retrieve_params.rb +22 -0
  43. data/lib/openlayer/models/governance/rule_result_retrieve_response.rb +243 -0
  44. data/lib/openlayer/models/governance/rule_result_update_params.rb +140 -0
  45. data/lib/openlayer/models/governance/rule_result_update_response.rb +242 -0
  46. data/lib/openlayer/models/governance/rule_retrieve_params.rb +22 -0
  47. data/lib/openlayer/models/governance/rule_retrieve_response.rb +642 -0
  48. data/lib/openlayer/models/governance/rule_stat_retrieve_params.rb +39 -0
  49. data/lib/openlayer/models/governance/rule_stat_retrieve_response.rb +504 -0
  50. data/lib/openlayer/models/governance/rule_tag_list_params.rb +39 -0
  51. data/lib/openlayer/models/governance/rule_tag_list_response.rb +88 -0
  52. data/lib/openlayer/models/governance/rule_update_params.rb +77 -0
  53. data/lib/openlayer/models/governance/rule_update_response.rb +638 -0
  54. data/lib/openlayer/models/inference_pipeline_retrieve_response.rb +0 -1
  55. data/lib/openlayer/models/inference_pipeline_update_response.rb +0 -1
  56. data/lib/openlayer/models/project_create_response.rb +0 -1
  57. data/lib/openlayer/models/project_list_response.rb +0 -1
  58. data/lib/openlayer/models/project_update_response.rb +0 -1
  59. data/lib/openlayer/models/projects/inference_pipeline_create_params.rb +0 -1
  60. data/lib/openlayer/models/projects/inference_pipeline_create_response.rb +0 -1
  61. data/lib/openlayer/models/projects/inference_pipeline_list_response.rb +0 -1
  62. data/lib/openlayer/models/storage/presigned_url_retrieve_params.rb +24 -0
  63. data/lib/openlayer/models/storage/presigned_url_retrieve_response.rb +19 -0
  64. data/lib/openlayer/models.rb +4 -0
  65. data/lib/openlayer/resources/background_tasks.rb +38 -0
  66. data/lib/openlayer/resources/governance/frameworks/documents.rb +80 -0
  67. data/lib/openlayer/resources/governance/frameworks/sections.rb +72 -0
  68. data/lib/openlayer/resources/governance/frameworks/subsections.rb +69 -0
  69. data/lib/openlayer/resources/governance/frameworks.rb +344 -0
  70. data/lib/openlayer/resources/governance/rule_results.rb +212 -0
  71. data/lib/openlayer/resources/governance/rule_stats.rb +47 -0
  72. data/lib/openlayer/resources/governance/rule_tags.rb +47 -0
  73. data/lib/openlayer/resources/governance/rules.rb +241 -0
  74. data/lib/openlayer/resources/governance.rb +34 -0
  75. data/lib/openlayer/resources/storage/presigned_url.rb +32 -0
  76. data/lib/openlayer/version.rb +1 -1
  77. data/lib/openlayer.rb +61 -0
  78. data/rbi/openlayer/client.rbi +6 -0
  79. data/rbi/openlayer/models/background_task_retrieve_params.rbi +38 -0
  80. data/rbi/openlayer/models/background_task_retrieve_response.rbi +102 -0
  81. data/rbi/openlayer/models/governance/framework_create_params.rbi +298 -0
  82. data/rbi/openlayer/models/governance/framework_create_response.rbi +730 -0
  83. data/rbi/openlayer/models/governance/framework_export_params.rbi +54 -0
  84. data/rbi/openlayer/models/governance/framework_export_response.rbi +48 -0
  85. data/rbi/openlayer/models/governance/framework_list_params.rbi +310 -0
  86. data/rbi/openlayer/models/governance/framework_list_project_rule_stats_params.rbi +178 -0
  87. data/rbi/openlayer/models/governance/framework_list_project_rule_stats_response.rbi +440 -0
  88. data/rbi/openlayer/models/governance/framework_list_projects_params.rbi +68 -0
  89. data/rbi/openlayer/models/governance/framework_list_projects_response.rbi +498 -0
  90. data/rbi/openlayer/models/governance/framework_list_response.rbi +771 -0
  91. data/rbi/openlayer/models/governance/framework_list_rules_params.rbi +68 -0
  92. data/rbi/openlayer/models/governance/framework_list_rules_response.rbi +1298 -0
  93. data/rbi/openlayer/models/governance/framework_retrieve_params.rbi +40 -0
  94. data/rbi/openlayer/models/governance/framework_retrieve_response.rbi +730 -0
  95. data/rbi/openlayer/models/governance/framework_update_params.rbi +425 -0
  96. data/rbi/openlayer/models/governance/framework_update_response.rbi +730 -0
  97. data/rbi/openlayer/models/governance/frameworks/document_list_params.rbi +70 -0
  98. data/rbi/openlayer/models/governance/frameworks/document_list_response.rbi +1012 -0
  99. data/rbi/openlayer/models/governance/frameworks/document_retrieve_params.rbi +50 -0
  100. data/rbi/openlayer/models/governance/frameworks/document_retrieve_response.rbi +968 -0
  101. data/rbi/openlayer/models/governance/frameworks/section_list_rules_params.rbi +193 -0
  102. data/rbi/openlayer/models/governance/frameworks/section_list_rules_response.rbi +1302 -0
  103. data/rbi/openlayer/models/governance/frameworks/subsection_list_rules_params.rbi +182 -0
  104. data/rbi/openlayer/models/governance/frameworks/subsection_list_rules_response.rbi +1302 -0
  105. data/rbi/openlayer/models/governance/rule_create_params.rbi +276 -0
  106. data/rbi/openlayer/models/governance/rule_create_response.rbi +1253 -0
  107. data/rbi/openlayer/models/governance/rule_delete_params.rbi +40 -0
  108. data/rbi/openlayer/models/governance/rule_list_params.rbi +486 -0
  109. data/rbi/openlayer/models/governance/rule_list_response.rbi +1294 -0
  110. data/rbi/openlayer/models/governance/rule_result_create_evidence_params.rbi +88 -0
  111. data/rbi/openlayer/models/governance/rule_result_create_evidence_response.rbi +108 -0
  112. data/rbi/openlayer/models/governance/rule_result_list_evidence_params.rbi +68 -0
  113. data/rbi/openlayer/models/governance/rule_result_list_evidence_response.rbi +151 -0
  114. data/rbi/openlayer/models/governance/rule_result_list_params.rbi +322 -0
  115. data/rbi/openlayer/models/governance/rule_result_list_response.rbi +567 -0
  116. data/rbi/openlayer/models/governance/rule_result_retrieve_params.rbi +43 -0
  117. data/rbi/openlayer/models/governance/rule_result_retrieve_response.rbi +524 -0
  118. data/rbi/openlayer/models/governance/rule_result_update_params.rbi +373 -0
  119. data/rbi/openlayer/models/governance/rule_result_update_response.rbi +524 -0
  120. data/rbi/openlayer/models/governance/rule_retrieve_params.rbi +40 -0
  121. data/rbi/openlayer/models/governance/rule_retrieve_response.rbi +1253 -0
  122. data/rbi/openlayer/models/governance/rule_stat_retrieve_params.rbi +68 -0
  123. data/rbi/openlayer/models/governance/rule_stat_retrieve_response.rbi +874 -0
  124. data/rbi/openlayer/models/governance/rule_tag_list_params.rbi +68 -0
  125. data/rbi/openlayer/models/governance/rule_tag_list_response.rbi +139 -0
  126. data/rbi/openlayer/models/governance/rule_update_params.rbi +106 -0
  127. data/rbi/openlayer/models/governance/rule_update_response.rbi +1253 -0
  128. data/rbi/openlayer/models/inference_pipeline_retrieve_response.rbi +0 -5
  129. data/rbi/openlayer/models/inference_pipeline_update_response.rbi +0 -5
  130. data/rbi/openlayer/models/project_create_response.rbi +0 -5
  131. data/rbi/openlayer/models/project_list_response.rbi +0 -5
  132. data/rbi/openlayer/models/project_update_response.rbi +0 -5
  133. data/rbi/openlayer/models/projects/inference_pipeline_create_params.rbi +0 -5
  134. data/rbi/openlayer/models/projects/inference_pipeline_create_response.rbi +0 -5
  135. data/rbi/openlayer/models/projects/inference_pipeline_list_response.rbi +0 -5
  136. data/rbi/openlayer/models/storage/presigned_url_retrieve_params.rbi +45 -0
  137. data/rbi/openlayer/models/storage/presigned_url_retrieve_response.rbi +32 -0
  138. data/rbi/openlayer/models.rbi +4 -0
  139. data/rbi/openlayer/resources/background_tasks.rbi +30 -0
  140. data/rbi/openlayer/resources/governance/frameworks/documents.rbi +65 -0
  141. data/rbi/openlayer/resources/governance/frameworks/sections.rbi +60 -0
  142. data/rbi/openlayer/resources/governance/frameworks/subsections.rbi +56 -0
  143. data/rbi/openlayer/resources/governance/frameworks.rbi +314 -0
  144. data/rbi/openlayer/resources/governance/rule_results.rbi +193 -0
  145. data/rbi/openlayer/resources/governance/rule_stats.rbi +38 -0
  146. data/rbi/openlayer/resources/governance/rule_tags.rbi +38 -0
  147. data/rbi/openlayer/resources/governance/rules.rbi +233 -0
  148. data/rbi/openlayer/resources/governance.rbi +27 -0
  149. data/rbi/openlayer/resources/storage/presigned_url.rbi +23 -0
  150. data/sig/openlayer/client.rbs +4 -0
  151. data/sig/openlayer/models/background_task_retrieve_params.rbs +23 -0
  152. data/sig/openlayer/models/background_task_retrieve_response.rbs +55 -0
  153. data/sig/openlayer/models/governance/framework_create_params.rbs +124 -0
  154. data/sig/openlayer/models/governance/framework_create_response.rbs +293 -0
  155. data/sig/openlayer/models/governance/framework_export_params.rbs +30 -0
  156. data/sig/openlayer/models/governance/framework_export_response.rbs +21 -0
  157. data/sig/openlayer/models/governance/framework_list_params.rbs +145 -0
  158. data/sig/openlayer/models/governance/framework_list_project_rule_stats_params.rbs +87 -0
  159. data/sig/openlayer/models/governance/framework_list_project_rule_stats_response.rbs +232 -0
  160. data/sig/openlayer/models/governance/framework_list_projects_params.rbs +38 -0
  161. data/sig/openlayer/models/governance/framework_list_projects_response.rbs +248 -0
  162. data/sig/openlayer/models/governance/framework_list_response.rbs +314 -0
  163. data/sig/openlayer/models/governance/framework_list_rules_params.rbs +38 -0
  164. data/sig/openlayer/models/governance/framework_list_rules_response.rbs +547 -0
  165. data/sig/openlayer/models/governance/framework_retrieve_params.rbs +25 -0
  166. data/sig/openlayer/models/governance/framework_retrieve_response.rbs +293 -0
  167. data/sig/openlayer/models/governance/framework_update_params.rbs +175 -0
  168. data/sig/openlayer/models/governance/framework_update_response.rbs +293 -0
  169. data/sig/openlayer/models/governance/frameworks/document_list_params.rbs +40 -0
  170. data/sig/openlayer/models/governance/frameworks/document_list_response.rbs +435 -0
  171. data/sig/openlayer/models/governance/frameworks/document_retrieve_params.rbs +32 -0
  172. data/sig/openlayer/models/governance/frameworks/document_retrieve_response.rbs +418 -0
  173. data/sig/openlayer/models/governance/frameworks/section_list_rules_params.rbs +102 -0
  174. data/sig/openlayer/models/governance/frameworks/section_list_rules_response.rbs +549 -0
  175. data/sig/openlayer/models/governance/frameworks/subsection_list_rules_params.rbs +95 -0
  176. data/sig/openlayer/models/governance/frameworks/subsection_list_rules_response.rbs +549 -0
  177. data/sig/openlayer/models/governance/rule_create_params.rbs +120 -0
  178. data/sig/openlayer/models/governance/rule_create_response.rbs +530 -0
  179. data/sig/openlayer/models/governance/rule_delete_params.rbs +25 -0
  180. data/sig/openlayer/models/governance/rule_list_params.rbs +228 -0
  181. data/sig/openlayer/models/governance/rule_list_response.rbs +547 -0
  182. data/sig/openlayer/models/governance/rule_result_create_evidence_params.rbs +53 -0
  183. data/sig/openlayer/models/governance/rule_result_create_evidence_response.rbs +62 -0
  184. data/sig/openlayer/models/governance/rule_result_list_evidence_params.rbs +38 -0
  185. data/sig/openlayer/models/governance/rule_result_list_evidence_response.rbs +79 -0
  186. data/sig/openlayer/models/governance/rule_result_list_params.rbs +156 -0
  187. data/sig/openlayer/models/governance/rule_result_list_response.rbs +252 -0
  188. data/sig/openlayer/models/governance/rule_result_retrieve_params.rbs +26 -0
  189. data/sig/openlayer/models/governance/rule_result_retrieve_response.rbs +235 -0
  190. data/sig/openlayer/models/governance/rule_result_update_params.rbs +165 -0
  191. data/sig/openlayer/models/governance/rule_result_update_response.rbs +235 -0
  192. data/sig/openlayer/models/governance/rule_retrieve_params.rbs +25 -0
  193. data/sig/openlayer/models/governance/rule_retrieve_response.rbs +530 -0
  194. data/sig/openlayer/models/governance/rule_stat_retrieve_params.rbs +38 -0
  195. data/sig/openlayer/models/governance/rule_stat_retrieve_response.rbs +434 -0
  196. data/sig/openlayer/models/governance/rule_tag_list_params.rbs +38 -0
  197. data/sig/openlayer/models/governance/rule_tag_list_response.rbs +74 -0
  198. data/sig/openlayer/models/governance/rule_update_params.rbs +62 -0
  199. data/sig/openlayer/models/governance/rule_update_response.rbs +530 -0
  200. data/sig/openlayer/models/inference_pipeline_retrieve_response.rbs +1 -2
  201. data/sig/openlayer/models/inference_pipeline_update_response.rbs +1 -2
  202. data/sig/openlayer/models/project_create_response.rbs +1 -2
  203. data/sig/openlayer/models/project_list_response.rbs +1 -2
  204. data/sig/openlayer/models/project_update_response.rbs +1 -2
  205. data/sig/openlayer/models/projects/inference_pipeline_create_params.rbs +1 -2
  206. data/sig/openlayer/models/projects/inference_pipeline_create_response.rbs +1 -2
  207. data/sig/openlayer/models/projects/inference_pipeline_list_response.rbs +1 -2
  208. data/sig/openlayer/models/storage/presigned_url_retrieve_params.rbs +25 -0
  209. data/sig/openlayer/models/storage/presigned_url_retrieve_response.rbs +15 -0
  210. data/sig/openlayer/models.rbs +4 -0
  211. data/sig/openlayer/resources/background_tasks.rbs +12 -0
  212. data/sig/openlayer/resources/governance/frameworks/documents.rbs +24 -0
  213. data/sig/openlayer/resources/governance/frameworks/sections.rbs +23 -0
  214. data/sig/openlayer/resources/governance/frameworks/subsections.rbs +22 -0
  215. data/sig/openlayer/resources/governance/frameworks.rbs +88 -0
  216. data/sig/openlayer/resources/governance/rule_results.rbs +57 -0
  217. data/sig/openlayer/resources/governance/rule_stats.rbs +16 -0
  218. data/sig/openlayer/resources/governance/rule_tags.rbs +16 -0
  219. data/sig/openlayer/resources/governance/rules.rbs +68 -0
  220. data/sig/openlayer/resources/governance.rbs +17 -0
  221. data/sig/openlayer/resources/storage/presigned_url.rbs +5 -0
  222. metadata +185 -2
@@ -0,0 +1,771 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Governance
6
+ class FrameworkListResponse < Openlayer::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Openlayer::Models::Governance::FrameworkListResponse,
11
+ Openlayer::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig do
16
+ returns(
17
+ T::Array[Openlayer::Models::Governance::FrameworkListResponse::Item]
18
+ )
19
+ end
20
+ attr_accessor :items
21
+
22
+ sig do
23
+ params(
24
+ items:
25
+ T::Array[
26
+ Openlayer::Models::Governance::FrameworkListResponse::Item::OrHash
27
+ ]
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(items:)
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ items:
37
+ T::Array[
38
+ Openlayer::Models::Governance::FrameworkListResponse::Item
39
+ ]
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+
46
+ class Item < Openlayer::Internal::Type::BaseModel
47
+ OrHash =
48
+ T.type_alias do
49
+ T.any(
50
+ Openlayer::Models::Governance::FrameworkListResponse::Item,
51
+ Openlayer::Internal::AnyHash
52
+ )
53
+ end
54
+
55
+ # Whether the framework is active. Rules of a disabled framework are not evaluated
56
+ # and do not count towards compliance.
57
+ sig { returns(T::Boolean) }
58
+ attr_accessor :enabled
59
+
60
+ # The framework name.
61
+ sig { returns(String) }
62
+ attr_accessor :name
63
+
64
+ # Free-form labels on the framework.
65
+ sig { returns(T::Array[String]) }
66
+ attr_accessor :tags
67
+
68
+ # The icon shown for the framework.
69
+ sig do
70
+ returns(
71
+ T.nilable(
72
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar
73
+ )
74
+ )
75
+ end
76
+ attr_reader :avatar
77
+
78
+ sig do
79
+ params(
80
+ avatar:
81
+ T.nilable(
82
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::OrHash
83
+ )
84
+ ).void
85
+ end
86
+ attr_writer :avatar
87
+
88
+ # Identifies a framework that ships with Openlayer, for example `eu_ai_act`,
89
+ # `iso_42001`, `nist_ai_rmf`, or `traiga`. `null` for frameworks you create
90
+ # yourself.
91
+ sig { returns(T.nilable(String)) }
92
+ attr_accessor :built_in_slug
93
+
94
+ # A short description of the framework.
95
+ sig { returns(T.nilable(String)) }
96
+ attr_accessor :description
97
+
98
+ # A longer, rich-text description, as a TipTap JSON document.
99
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
100
+ attr_accessor :extended_description
101
+
102
+ # A link to the external standard or regulation the framework is based on.
103
+ sig { returns(T.nilable(String)) }
104
+ attr_accessor :href
105
+
106
+ # Determines which projects the framework applies to. An empty or `null` `match`
107
+ # array applies the framework to every project in the workspace.
108
+ sig do
109
+ returns(
110
+ T.nilable(
111
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector
112
+ )
113
+ )
114
+ end
115
+ attr_reader :project_selector
116
+
117
+ sig do
118
+ params(
119
+ project_selector:
120
+ T.nilable(
121
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::OrHash
122
+ )
123
+ ).void
124
+ end
125
+ attr_writer :project_selector
126
+
127
+ # The framework id.
128
+ sig { returns(String) }
129
+ attr_accessor :id
130
+
131
+ # The creation date.
132
+ sig { returns(Time) }
133
+ attr_accessor :date_created
134
+
135
+ # The last update date.
136
+ sig { returns(Time) }
137
+ attr_accessor :date_updated
138
+
139
+ # The id of the workspace the framework belongs to.
140
+ sig { returns(String) }
141
+ attr_accessor :workspace_id
142
+
143
+ # The user who created the framework. `null` for built-in frameworks.
144
+ sig { returns(T.nilable(String)) }
145
+ attr_accessor :creator_id
146
+
147
+ # Whether the framework definition is managed by Openlayer and cannot be edited.
148
+ sig { returns(T.nilable(T::Boolean)) }
149
+ attr_reader :immutable
150
+
151
+ sig { params(immutable: T::Boolean).void }
152
+ attr_writer :immutable
153
+
154
+ # Compliance roll-up for the framework. Present only on
155
+ # `GET /workspaces/{workspaceId}/frameworks` when the request sets
156
+ # `includeRuleStats=true`.
157
+ sig do
158
+ returns(
159
+ T.nilable(
160
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats
161
+ )
162
+ )
163
+ end
164
+ attr_reader :rule_stats
165
+
166
+ sig do
167
+ params(
168
+ rule_stats:
169
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::OrHash
170
+ ).void
171
+ end
172
+ attr_writer :rule_stats
173
+
174
+ sig do
175
+ params(
176
+ id: String,
177
+ date_created: Time,
178
+ date_updated: Time,
179
+ enabled: T::Boolean,
180
+ name: String,
181
+ tags: T::Array[String],
182
+ workspace_id: String,
183
+ avatar:
184
+ T.nilable(
185
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::OrHash
186
+ ),
187
+ built_in_slug: T.nilable(String),
188
+ creator_id: T.nilable(String),
189
+ description: T.nilable(String),
190
+ extended_description: T.nilable(T::Hash[Symbol, T.anything]),
191
+ href: T.nilable(String),
192
+ immutable: T::Boolean,
193
+ project_selector:
194
+ T.nilable(
195
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::OrHash
196
+ ),
197
+ rule_stats:
198
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::OrHash
199
+ ).returns(T.attached_class)
200
+ end
201
+ def self.new(
202
+ # The framework id.
203
+ id:,
204
+ # The creation date.
205
+ date_created:,
206
+ # The last update date.
207
+ date_updated:,
208
+ # Whether the framework is active. Rules of a disabled framework are not evaluated
209
+ # and do not count towards compliance.
210
+ enabled:,
211
+ # The framework name.
212
+ name:,
213
+ # Free-form labels on the framework.
214
+ tags:,
215
+ # The id of the workspace the framework belongs to.
216
+ workspace_id:,
217
+ # The icon shown for the framework.
218
+ avatar: nil,
219
+ # Identifies a framework that ships with Openlayer, for example `eu_ai_act`,
220
+ # `iso_42001`, `nist_ai_rmf`, or `traiga`. `null` for frameworks you create
221
+ # yourself.
222
+ built_in_slug: nil,
223
+ # The user who created the framework. `null` for built-in frameworks.
224
+ creator_id: nil,
225
+ # A short description of the framework.
226
+ description: nil,
227
+ # A longer, rich-text description, as a TipTap JSON document.
228
+ extended_description: nil,
229
+ # A link to the external standard or regulation the framework is based on.
230
+ href: nil,
231
+ # Whether the framework definition is managed by Openlayer and cannot be edited.
232
+ immutable: nil,
233
+ # Determines which projects the framework applies to. An empty or `null` `match`
234
+ # array applies the framework to every project in the workspace.
235
+ project_selector: nil,
236
+ # Compliance roll-up for the framework. Present only on
237
+ # `GET /workspaces/{workspaceId}/frameworks` when the request sets
238
+ # `includeRuleStats=true`.
239
+ rule_stats: nil
240
+ )
241
+ end
242
+
243
+ sig do
244
+ override.returns(
245
+ {
246
+ id: String,
247
+ date_created: Time,
248
+ date_updated: Time,
249
+ enabled: T::Boolean,
250
+ name: String,
251
+ tags: T::Array[String],
252
+ workspace_id: String,
253
+ avatar:
254
+ T.nilable(
255
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar
256
+ ),
257
+ built_in_slug: T.nilable(String),
258
+ creator_id: T.nilable(String),
259
+ description: T.nilable(String),
260
+ extended_description: T.nilable(T::Hash[Symbol, T.anything]),
261
+ href: T.nilable(String),
262
+ immutable: T::Boolean,
263
+ project_selector:
264
+ T.nilable(
265
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector
266
+ ),
267
+ rule_stats:
268
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats
269
+ }
270
+ )
271
+ end
272
+ def to_hash
273
+ end
274
+
275
+ class Avatar < Openlayer::Internal::Type::BaseModel
276
+ OrHash =
277
+ T.type_alias do
278
+ T.any(
279
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar,
280
+ Openlayer::Internal::AnyHash
281
+ )
282
+ end
283
+
284
+ sig do
285
+ returns(
286
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::Type::TaggedSymbol
287
+ )
288
+ end
289
+ attr_accessor :type
290
+
291
+ sig { returns(String) }
292
+ attr_accessor :value
293
+
294
+ # The icon shown for the framework.
295
+ sig do
296
+ params(
297
+ type:
298
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::Type::OrSymbol,
299
+ value: String
300
+ ).returns(T.attached_class)
301
+ end
302
+ def self.new(type:, value:)
303
+ end
304
+
305
+ sig do
306
+ override.returns(
307
+ {
308
+ type:
309
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::Type::TaggedSymbol,
310
+ value: String
311
+ }
312
+ )
313
+ end
314
+ def to_hash
315
+ end
316
+
317
+ module Type
318
+ extend Openlayer::Internal::Type::Enum
319
+
320
+ TaggedSymbol =
321
+ T.type_alias do
322
+ T.all(
323
+ Symbol,
324
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::Type
325
+ )
326
+ end
327
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
328
+
329
+ EMOJI =
330
+ T.let(
331
+ :emoji,
332
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::Type::TaggedSymbol
333
+ )
334
+ IMAGE_URL =
335
+ T.let(
336
+ :imageUrl,
337
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::Type::TaggedSymbol
338
+ )
339
+ BUILTIN_IMAGE =
340
+ T.let(
341
+ :builtinImage,
342
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::Type::TaggedSymbol
343
+ )
344
+
345
+ sig do
346
+ override.returns(
347
+ T::Array[
348
+ Openlayer::Models::Governance::FrameworkListResponse::Item::Avatar::Type::TaggedSymbol
349
+ ]
350
+ )
351
+ end
352
+ def self.values
353
+ end
354
+ end
355
+ end
356
+
357
+ class ProjectSelector < Openlayer::Internal::Type::BaseModel
358
+ OrHash =
359
+ T.type_alias do
360
+ T.any(
361
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector,
362
+ Openlayer::Internal::AnyHash
363
+ )
364
+ end
365
+
366
+ # Match criteria, ANDed together.
367
+ sig do
368
+ returns(
369
+ T.nilable(
370
+ T::Array[
371
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match
372
+ ]
373
+ )
374
+ )
375
+ end
376
+ attr_accessor :match
377
+
378
+ # Determines which projects the framework applies to. An empty or `null` `match`
379
+ # array applies the framework to every project in the workspace.
380
+ sig do
381
+ params(
382
+ match:
383
+ T.nilable(
384
+ T::Array[
385
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::OrHash
386
+ ]
387
+ )
388
+ ).returns(T.attached_class)
389
+ end
390
+ def self.new(
391
+ # Match criteria, ANDed together.
392
+ match: nil
393
+ )
394
+ end
395
+
396
+ sig do
397
+ override.returns(
398
+ {
399
+ match:
400
+ T.nilable(
401
+ T::Array[
402
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match
403
+ ]
404
+ )
405
+ }
406
+ )
407
+ end
408
+ def to_hash
409
+ end
410
+
411
+ class Match < Openlayer::Internal::Type::BaseModel
412
+ OrHash =
413
+ T.type_alias do
414
+ T.any(
415
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match,
416
+ Openlayer::Internal::AnyHash
417
+ )
418
+ end
419
+
420
+ # The project property to match against.
421
+ sig do
422
+ returns(
423
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol
424
+ )
425
+ end
426
+ attr_accessor :property
427
+
428
+ # The value to match against. Pass an array to match any of several values, or
429
+ # `null` to match projects where the property is unset. Omit it for `exists` and
430
+ # `notExists`.
431
+ sig { returns(T.anything) }
432
+ attr_accessor :value
433
+
434
+ # How to compare the project property with `value`. One of `equals`, `notEquals`,
435
+ # `contains`, `notContains`, `startsWith`, `endsWith`, `in`, `notIn`,
436
+ # `greaterThan`, `greaterThanOrEqual`, `lessThan`, `lessThanOrEqual`,
437
+ # `equalsIgnoreCase`, `containsIgnoreCase`, `matches`, `exists`, or `notExists`.
438
+ sig { returns(T.nilable(String)) }
439
+ attr_reader :operator
440
+
441
+ sig { params(operator: String).void }
442
+ attr_writer :operator
443
+
444
+ sig do
445
+ params(
446
+ property:
447
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::OrSymbol,
448
+ value: T.anything,
449
+ operator: String
450
+ ).returns(T.attached_class)
451
+ end
452
+ def self.new(
453
+ # The project property to match against.
454
+ property:,
455
+ # The value to match against. Pass an array to match any of several values, or
456
+ # `null` to match projects where the property is unset. Omit it for `exists` and
457
+ # `notExists`.
458
+ value:,
459
+ # How to compare the project property with `value`. One of `equals`, `notEquals`,
460
+ # `contains`, `notContains`, `startsWith`, `endsWith`, `in`, `notIn`,
461
+ # `greaterThan`, `greaterThanOrEqual`, `lessThan`, `lessThanOrEqual`,
462
+ # `equalsIgnoreCase`, `containsIgnoreCase`, `matches`, `exists`, or `notExists`.
463
+ operator: nil
464
+ )
465
+ end
466
+
467
+ sig do
468
+ override.returns(
469
+ {
470
+ property:
471
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol,
472
+ value: T.anything,
473
+ operator: String
474
+ }
475
+ )
476
+ end
477
+ def to_hash
478
+ end
479
+
480
+ # The project property to match against.
481
+ module Property
482
+ extend Openlayer::Internal::Type::Enum
483
+
484
+ TaggedSymbol =
485
+ T.type_alias do
486
+ T.all(
487
+ Symbol,
488
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property
489
+ )
490
+ end
491
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
492
+
493
+ TASK_TYPE =
494
+ T.let(
495
+ :taskType,
496
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol
497
+ )
498
+ RISK_LEVEL =
499
+ T.let(
500
+ :riskLevel,
501
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol
502
+ )
503
+ RISK_TOTAL_SCORE =
504
+ T.let(
505
+ :riskTotalScore,
506
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol
507
+ )
508
+ NAME =
509
+ T.let(
510
+ :name,
511
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol
512
+ )
513
+ OWNER_ID =
514
+ T.let(
515
+ :ownerId,
516
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol
517
+ )
518
+ MODEL_TYPES =
519
+ T.let(
520
+ :modelTypes,
521
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol
522
+ )
523
+
524
+ sig do
525
+ override.returns(
526
+ T::Array[
527
+ Openlayer::Models::Governance::FrameworkListResponse::Item::ProjectSelector::Match::Property::TaggedSymbol
528
+ ]
529
+ )
530
+ end
531
+ def self.values
532
+ end
533
+ end
534
+ end
535
+ end
536
+
537
+ class RuleStats < Openlayer::Internal::Type::BaseModel
538
+ OrHash =
539
+ T.type_alias do
540
+ T.any(
541
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats,
542
+ Openlayer::Internal::AnyHash
543
+ )
544
+ end
545
+
546
+ # How many of the framework's projects fall into each completion band, where a
547
+ # project's completion is the share of its rule results that are passing or
548
+ # skipped. Projects with no evaluated results count as `low`.
549
+ #
550
+ # Zeroed when the request carries `projectId`: the bands compare a framework's
551
+ # projects against each other, which says nothing about a single project.
552
+ sig do
553
+ returns(
554
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::ProjectCompletion
555
+ )
556
+ end
557
+ attr_reader :project_completion
558
+
559
+ sig do
560
+ params(
561
+ project_completion:
562
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::ProjectCompletion::OrHash
563
+ ).void
564
+ end
565
+ attr_writer :project_completion
566
+
567
+ # Rule result counts by status for this framework, matching what
568
+ # `/workspaces/{workspaceId}/rule-stats?frameworkId=<id>` reports. Narrowed to a
569
+ # single project when the request also carries `projectId`.
570
+ sig do
571
+ returns(
572
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::RuleResults
573
+ )
574
+ end
575
+ attr_reader :rule_results
576
+
577
+ sig do
578
+ params(
579
+ rule_results:
580
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::RuleResults::OrHash
581
+ ).void
582
+ end
583
+ attr_writer :rule_results
584
+
585
+ # Compliance roll-up for the framework. Present only on
586
+ # `GET /workspaces/{workspaceId}/frameworks` when the request sets
587
+ # `includeRuleStats=true`.
588
+ sig do
589
+ params(
590
+ project_completion:
591
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::ProjectCompletion::OrHash,
592
+ rule_results:
593
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::RuleResults::OrHash
594
+ ).returns(T.attached_class)
595
+ end
596
+ def self.new(
597
+ # How many of the framework's projects fall into each completion band, where a
598
+ # project's completion is the share of its rule results that are passing or
599
+ # skipped. Projects with no evaluated results count as `low`.
600
+ #
601
+ # Zeroed when the request carries `projectId`: the bands compare a framework's
602
+ # projects against each other, which says nothing about a single project.
603
+ project_completion:,
604
+ # Rule result counts by status for this framework, matching what
605
+ # `/workspaces/{workspaceId}/rule-stats?frameworkId=<id>` reports. Narrowed to a
606
+ # single project when the request also carries `projectId`.
607
+ rule_results:
608
+ )
609
+ end
610
+
611
+ sig do
612
+ override.returns(
613
+ {
614
+ project_completion:
615
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::ProjectCompletion,
616
+ rule_results:
617
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::RuleResults
618
+ }
619
+ )
620
+ end
621
+ def to_hash
622
+ end
623
+
624
+ class ProjectCompletion < Openlayer::Internal::Type::BaseModel
625
+ OrHash =
626
+ T.type_alias do
627
+ T.any(
628
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::ProjectCompletion,
629
+ Openlayer::Internal::AnyHash
630
+ )
631
+ end
632
+
633
+ # Projects at 80% completion or above.
634
+ sig { returns(Integer) }
635
+ attr_accessor :high
636
+
637
+ # Projects below 20% completion.
638
+ sig { returns(Integer) }
639
+ attr_accessor :low
640
+
641
+ # Projects at or above 20% but below 80% completion.
642
+ sig { returns(Integer) }
643
+ attr_accessor :mid
644
+
645
+ # How many of the framework's projects fall into each completion band, where a
646
+ # project's completion is the share of its rule results that are passing or
647
+ # skipped. Projects with no evaluated results count as `low`.
648
+ #
649
+ # Zeroed when the request carries `projectId`: the bands compare a framework's
650
+ # projects against each other, which says nothing about a single project.
651
+ sig do
652
+ params(high: Integer, low: Integer, mid: Integer).returns(
653
+ T.attached_class
654
+ )
655
+ end
656
+ def self.new(
657
+ # Projects at 80% completion or above.
658
+ high:,
659
+ # Projects below 20% completion.
660
+ low:,
661
+ # Projects at or above 20% but below 80% completion.
662
+ mid:
663
+ )
664
+ end
665
+
666
+ sig do
667
+ override.returns({ high: Integer, low: Integer, mid: Integer })
668
+ end
669
+ def to_hash
670
+ end
671
+ end
672
+
673
+ class RuleResults < Openlayer::Internal::Type::BaseModel
674
+ OrHash =
675
+ T.type_alias do
676
+ T.any(
677
+ Openlayer::Models::Governance::FrameworkListResponse::Item::RuleStats::RuleResults,
678
+ Openlayer::Internal::AnyHash
679
+ )
680
+ end
681
+
682
+ # The total number of rule results.
683
+ sig { returns(Integer) }
684
+ attr_accessor :total
685
+
686
+ # The number of rule results whose evidence is about to expire.
687
+ sig { returns(Integer) }
688
+ attr_accessor :total_due_soon
689
+
690
+ # The number of rule results that errored during evaluation.
691
+ sig { returns(Integer) }
692
+ attr_accessor :total_error
693
+
694
+ # The number of failing rule results.
695
+ sig { returns(Integer) }
696
+ attr_accessor :total_failing
697
+
698
+ # The number of passing rule results.
699
+ sig { returns(Integer) }
700
+ attr_accessor :total_passing
701
+
702
+ # The number of rule results that have not been satisfied yet.
703
+ sig { returns(Integer) }
704
+ attr_accessor :total_pending
705
+
706
+ # The number of rule results currently being evaluated.
707
+ sig { returns(Integer) }
708
+ attr_accessor :total_running
709
+
710
+ # The number of skipped rule results.
711
+ sig { returns(Integer) }
712
+ attr_accessor :total_skipped
713
+
714
+ # Rule result counts by status for this framework, matching what
715
+ # `/workspaces/{workspaceId}/rule-stats?frameworkId=<id>` reports. Narrowed to a
716
+ # single project when the request also carries `projectId`.
717
+ sig do
718
+ params(
719
+ total: Integer,
720
+ total_due_soon: Integer,
721
+ total_error: Integer,
722
+ total_failing: Integer,
723
+ total_passing: Integer,
724
+ total_pending: Integer,
725
+ total_running: Integer,
726
+ total_skipped: Integer
727
+ ).returns(T.attached_class)
728
+ end
729
+ def self.new(
730
+ # The total number of rule results.
731
+ total:,
732
+ # The number of rule results whose evidence is about to expire.
733
+ total_due_soon:,
734
+ # The number of rule results that errored during evaluation.
735
+ total_error:,
736
+ # The number of failing rule results.
737
+ total_failing:,
738
+ # The number of passing rule results.
739
+ total_passing:,
740
+ # The number of rule results that have not been satisfied yet.
741
+ total_pending:,
742
+ # The number of rule results currently being evaluated.
743
+ total_running:,
744
+ # The number of skipped rule results.
745
+ total_skipped:
746
+ )
747
+ end
748
+
749
+ sig do
750
+ override.returns(
751
+ {
752
+ total: Integer,
753
+ total_due_soon: Integer,
754
+ total_error: Integer,
755
+ total_failing: Integer,
756
+ total_passing: Integer,
757
+ total_pending: Integer,
758
+ total_running: Integer,
759
+ total_skipped: Integer
760
+ }
761
+ )
762
+ end
763
+ def to_hash
764
+ end
765
+ end
766
+ end
767
+ end
768
+ end
769
+ end
770
+ end
771
+ end