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