temper-rb 0.5.1

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 (384) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +291 -0
  4. data/lib/temper/act.rb +47 -0
  5. data/lib/temper/client.rb +96 -0
  6. data/lib/temper/cognitive_maps.rb +75 -0
  7. data/lib/temper/connection.rb +113 -0
  8. data/lib/temper/contexts.rb +54 -0
  9. data/lib/temper/credentials.rb +138 -0
  10. data/lib/temper/errors.rb +154 -0
  11. data/lib/temper/generated/api/access_api.rb +356 -0
  12. data/lib/temper/generated/api/auditor_api.rb +228 -0
  13. data/lib/temper/generated/api/blobs_api.rb +785 -0
  14. data/lib/temper/generated/api/cognitive_maps_api.rb +996 -0
  15. data/lib/temper/generated/api/contexts_api.rb +1039 -0
  16. data/lib/temper/generated/api/data_artifact_shapes_api.rb +243 -0
  17. data/lib/temper/generated/api/data_artifacts_api.rb +261 -0
  18. data/lib/temper/generated/api/events_api.rb +164 -0
  19. data/lib/temper/generated/api/facets_api.rb +406 -0
  20. data/lib/temper/generated/api/graph_api.rb +612 -0
  21. data/lib/temper/generated/api/health_api.rb +84 -0
  22. data/lib/temper/generated/api/ingest_api.rb +398 -0
  23. data/lib/temper/generated/api/invitations_api.rb +514 -0
  24. data/lib/temper/generated/api/invocations_api.rb +308 -0
  25. data/lib/temper/generated/api/meta_api.rb +169 -0
  26. data/lib/temper/generated/api/profile_api.rb +219 -0
  27. data/lib/temper/generated/api/query_api.rb +97 -0
  28. data/lib/temper/generated/api/reblocking_api.rb +95 -0
  29. data/lib/temper/generated/api/relationships_api.rb +332 -0
  30. data/lib/temper/generated/api/resources_api.rb +1329 -0
  31. data/lib/temper/generated/api/schema_api.rb +218 -0
  32. data/lib/temper/generated/api/search_api.rb +97 -0
  33. data/lib/temper/generated/api/slack_link_api.rb +159 -0
  34. data/lib/temper/generated/api/steward_api.rb +372 -0
  35. data/lib/temper/generated/api/teams_api.rb +687 -0
  36. data/lib/temper/generated/api_client.rb +441 -0
  37. data/lib/temper/generated/api_error.rb +58 -0
  38. data/lib/temper/generated/api_model_base.rb +88 -0
  39. data/lib/temper/generated/configuration.rb +393 -0
  40. data/lib/temper/generated/models/accept_invitation_response.rb +239 -0
  41. data/lib/temper/generated/models/act_input.rb +238 -0
  42. data/lib/temper/generated/models/act_invocation.rb +271 -0
  43. data/lib/temper/generated/models/act_name.rb +104 -0
  44. data/lib/temper/generated/models/act_quantity.rb +219 -0
  45. data/lib/temper/generated/models/act_refusal.rb +192 -0
  46. data/lib/temper/generated/models/actor_authority.rb +41 -0
  47. data/lib/temper/generated/models/add_member_request.rb +213 -0
  48. data/lib/temper/generated/models/advance_watermark_ack.rb +188 -0
  49. data/lib/temper/generated/models/advance_watermark_request.rb +161 -0
  50. data/lib/temper/generated/models/agent_authorship.rb +227 -0
  51. data/lib/temper/generated/models/anchor_address_resolution.rb +106 -0
  52. data/lib/temper/generated/models/anchor_address_resolution_one_of.rb +189 -0
  53. data/lib/temper/generated/models/anchor_address_resolution_one_of1.rb +242 -0
  54. data/lib/temper/generated/models/anchor_address_resolution_one_of2.rb +189 -0
  55. data/lib/temper/generated/models/anchor_shape.rb +239 -0
  56. data/lib/temper/generated/models/anchor_verdict.rb +41 -0
  57. data/lib/temper/generated/models/append_block_payload.rb +250 -0
  58. data/lib/temper/generated/models/artifact_commit_request.rb +337 -0
  59. data/lib/temper/generated/models/artifact_commit_response.rb +192 -0
  60. data/lib/temper/generated/models/artifact_view.rb +466 -0
  61. data/lib/temper/generated/models/assert_relationship_request.rb +406 -0
  62. data/lib/temper/generated/models/atlas_edge.rb +327 -0
  63. data/lib/temper/generated/models/atlas_entry.rb +221 -0
  64. data/lib/temper/generated/models/atlas_home.rb +195 -0
  65. data/lib/temper/generated/models/atlas_node.rb +329 -0
  66. data/lib/temper/generated/models/atlas_subgraph.rb +195 -0
  67. data/lib/temper/generated/models/audit_citation.rb +220 -0
  68. data/lib/temper/generated/models/audit_sweep_row.rb +220 -0
  69. data/lib/temper/generated/models/auditor_dispatch_tick_request.rb +150 -0
  70. data/lib/temper/generated/models/auditor_dispatch_tick_response.rb +178 -0
  71. data/lib/temper/generated/models/auditor_job_complete_ack.rb +175 -0
  72. data/lib/temper/generated/models/bind_team_outcome.rb +218 -0
  73. data/lib/temper/generated/models/bind_team_request.rb +166 -0
  74. data/lib/temper/generated/models/blob_commit_response.rb +283 -0
  75. data/lib/temper/generated/models/blob_delete_ack.rb +191 -0
  76. data/lib/temper/generated/models/blob_relation_ack.rb +165 -0
  77. data/lib/temper/generated/models/blob_relation_assert_request.rb +404 -0
  78. data/lib/temper/generated/models/blob_relation_direction.rb +40 -0
  79. data/lib/temper/generated/models/blob_relation_edge_direction.rb +40 -0
  80. data/lib/temper/generated/models/blob_relation_row.rb +390 -0
  81. data/lib/temper/generated/models/blob_summary.rb +256 -0
  82. data/lib/temper/generated/models/blob_upload_begin_request.rb +219 -0
  83. data/lib/temper/generated/models/blob_upload_begin_response.rb +165 -0
  84. data/lib/temper/generated/models/blob_upload_finalize_request.rb +211 -0
  85. data/lib/temper/generated/models/blob_upload_progress.rb +220 -0
  86. data/lib/temper/generated/models/blob_upload_segment_info.rb +227 -0
  87. data/lib/temper/generated/models/block_chunk_ref.rb +217 -0
  88. data/lib/temper/generated/models/block_fold_disposition.rb +106 -0
  89. data/lib/temper/generated/models/block_fold_disposition_one_of.rb +245 -0
  90. data/lib/temper/generated/models/block_fold_disposition_one_of1.rb +189 -0
  91. data/lib/temper/generated/models/block_fold_disposition_one_of2.rb +189 -0
  92. data/lib/temper/generated/models/block_provenance_row.rb +348 -0
  93. data/lib/temper/generated/models/block_read.rb +106 -0
  94. data/lib/temper/generated/models/block_read_one_of.rb +311 -0
  95. data/lib/temper/generated/models/block_read_one_of1.rb +297 -0
  96. data/lib/temper/generated/models/block_read_one_of2.rb +215 -0
  97. data/lib/temper/generated/models/block_successor.rb +177 -0
  98. data/lib/temper/generated/models/blocks_response.rb +194 -0
  99. data/lib/temper/generated/models/body_storage.rb +40 -0
  100. data/lib/temper/generated/models/bridge.rb +217 -0
  101. data/lib/temper/generated/models/bulk_reassign_ack.rb +167 -0
  102. data/lib/temper/generated/models/bulk_reassign_request.rb +191 -0
  103. data/lib/temper/generated/models/change_role_request.rb +187 -0
  104. data/lib/temper/generated/models/charter_block.rb +220 -0
  105. data/lib/temper/generated/models/charter_disposition.rb +42 -0
  106. data/lib/temper/generated/models/citation_audit_request.rb +231 -0
  107. data/lib/temper/generated/models/citation_audit_row.rb +366 -0
  108. data/lib/temper/generated/models/claimed_audit_job.rb +249 -0
  109. data/lib/temper/generated/models/claimed_job.rb +220 -0
  110. data/lib/temper/generated/models/close_invocation_request.rb +197 -0
  111. data/lib/temper/generated/models/cogmap_analytics_row.rb +220 -0
  112. data/lib/temper/generated/models/cogmap_detail.rb +224 -0
  113. data/lib/temper/generated/models/cogmap_foundation_row.rb +247 -0
  114. data/lib/temper/generated/models/cogmap_grant_body.rb +295 -0
  115. data/lib/temper/generated/models/cogmap_region_metrics_row.rb +248 -0
  116. data/lib/temper/generated/models/cogmap_region_row.rb +269 -0
  117. data/lib/temper/generated/models/cogmap_regulation_row.rb +228 -0
  118. data/lib/temper/generated/models/cogmap_revoke_body.rb +191 -0
  119. data/lib/temper/generated/models/cogmap_row.rb +341 -0
  120. data/lib/temper/generated/models/cogmap_staleness.rb +185 -0
  121. data/lib/temper/generated/models/combine_node.rb +263 -0
  122. data/lib/temper/generated/models/combine_op.rb +41 -0
  123. data/lib/temper/generated/models/composition.rb +203 -0
  124. data/lib/temper/generated/models/composition_trace.rb +167 -0
  125. data/lib/temper/generated/models/confidence_band.rb +41 -0
  126. data/lib/temper/generated/models/content_response.rb +213 -0
  127. data/lib/temper/generated/models/context_create_request.rb +176 -0
  128. data/lib/temper/generated/models/context_owner_ref.rb +106 -0
  129. data/lib/temper/generated/models/context_owner_ref_one_of.rb +166 -0
  130. data/lib/temper/generated/models/context_owner_ref_one_of1.rb +166 -0
  131. data/lib/temper/generated/models/context_panorama.rb +221 -0
  132. data/lib/temper/generated/models/context_row.rb +404 -0
  133. data/lib/temper/generated/models/context_row_with_counts.rb +430 -0
  134. data/lib/temper/generated/models/create_cogmap_outcome.rb +217 -0
  135. data/lib/temper/generated/models/create_cogmap_request.rb +221 -0
  136. data/lib/temper/generated/models/create_invitation_request.rb +213 -0
  137. data/lib/temper/generated/models/create_request_body.rb +184 -0
  138. data/lib/temper/generated/models/create_review_body.rb +148 -0
  139. data/lib/temper/generated/models/deactivated.rb +189 -0
  140. data/lib/temper/generated/models/delete_response.rb +165 -0
  141. data/lib/temper/generated/models/denied.rb +189 -0
  142. data/lib/temper/generated/models/device_overrides.rb +162 -0
  143. data/lib/temper/generated/models/discouraged_open_meta_key.rb +191 -0
  144. data/lib/temper/generated/models/dispatch_tick_request.rb +161 -0
  145. data/lib/temper/generated/models/dispatch_tick_response.rb +178 -0
  146. data/lib/temper/generated/models/disposition.rb +41 -0
  147. data/lib/temper/generated/models/doc_type_description.rb +247 -0
  148. data/lib/temper/generated/models/doc_type_summary.rb +219 -0
  149. data/lib/temper/generated/models/drift_sweep_row.rb +258 -0
  150. data/lib/temper/generated/models/edge_facet_row.rb +332 -0
  151. data/lib/temper/generated/models/edge_facet_set_request.rb +288 -0
  152. data/lib/temper/generated/models/edge_facets_response.rb +193 -0
  153. data/lib/temper/generated/models/edge_filter.rb +192 -0
  154. data/lib/temper/generated/models/edge_kind.rb +42 -0
  155. data/lib/temper/generated/models/element_event.rb +307 -0
  156. data/lib/temper/generated/models/element_kind.rb +40 -0
  157. data/lib/temper/generated/models/embed_dispatch_summary.rb +355 -0
  158. data/lib/temper/generated/models/enforcement_mode.rb +40 -0
  159. data/lib/temper/generated/models/entitlements.rb +234 -0
  160. data/lib/temper/generated/models/entry_bounds.rb +247 -0
  161. data/lib/temper/generated/models/error_body.rb +164 -0
  162. data/lib/temper/generated/models/error_detail.rb +201 -0
  163. data/lib/temper/generated/models/error_details.rb +105 -0
  164. data/lib/temper/generated/models/event_cursor_response.rb +150 -0
  165. data/lib/temper/generated/models/event_trail.rb +241 -0
  166. data/lib/temper/generated/models/exact_arm.rb +226 -0
  167. data/lib/temper/generated/models/exact_hit.rb +193 -0
  168. data/lib/temper/generated/models/extent.rb +106 -0
  169. data/lib/temper/generated/models/extent_one_of.rb +189 -0
  170. data/lib/temper/generated/models/extent_one_of1.rb +189 -0
  171. data/lib/temper/generated/models/extent_one_of2.rb +215 -0
  172. data/lib/temper/generated/models/facet_ack.rb +168 -0
  173. data/lib/temper/generated/models/facet_predicate.rb +191 -0
  174. data/lib/temper/generated/models/facet_retract_ack.rb +165 -0
  175. data/lib/temper/generated/models/facet_set_request.rb +304 -0
  176. data/lib/temper/generated/models/finalize_payload.rb +212 -0
  177. data/lib/temper/generated/models/fold_relationship_request.rb +248 -0
  178. data/lib/temper/generated/models/grant_outcome.rb +166 -0
  179. data/lib/temper/generated/models/graph_edge_row.rb +421 -0
  180. data/lib/temper/generated/models/group_key_meta.rb +217 -0
  181. data/lib/temper/generated/models/health_response.rb +202 -0
  182. data/lib/temper/generated/models/home_cogmap.rb +297 -0
  183. data/lib/temper/generated/models/home_context.rb +281 -0
  184. data/lib/temper/generated/models/id_kind.rb +104 -0
  185. data/lib/temper/generated/models/id_provenance.rb +105 -0
  186. data/lib/temper/generated/models/id_provenance_one_of.rb +215 -0
  187. data/lib/temper/generated/models/id_provenance_one_of1.rb +215 -0
  188. data/lib/temper/generated/models/id_set.rb +214 -0
  189. data/lib/temper/generated/models/idp_revocation.rb +41 -0
  190. data/lib/temper/generated/models/illegal_transition.rb +225 -0
  191. data/lib/temper/generated/models/ingest_create_response.rb +105 -0
  192. data/lib/temper/generated/models/ingest_delta.rb +334 -0
  193. data/lib/temper/generated/models/ingest_payload.rb +478 -0
  194. data/lib/temper/generated/models/ingest_state.rb +40 -0
  195. data/lib/temper/generated/models/inherited_read_grant.rb +219 -0
  196. data/lib/temper/generated/models/inherited_share.rb +192 -0
  197. data/lib/temper/generated/models/input_source.rb +106 -0
  198. data/lib/temper/generated/models/input_source_one_of.rb +227 -0
  199. data/lib/temper/generated/models/input_source_one_of1.rb +189 -0
  200. data/lib/temper/generated/models/input_source_one_of2.rb +189 -0
  201. data/lib/temper/generated/models/insufficient_authority.rb +241 -0
  202. data/lib/temper/generated/models/intention.rb +212 -0
  203. data/lib/temper/generated/models/invitation_status.rb +42 -0
  204. data/lib/temper/generated/models/invitation_token_request.rb +165 -0
  205. data/lib/temper/generated/models/invitee_invitation.rb +447 -0
  206. data/lib/temper/generated/models/invocation_ack.rb +191 -0
  207. data/lib/temper/generated/models/invocation_act_row.rb +269 -0
  208. data/lib/temper/generated/models/invocation_close_ack.rb +213 -0
  209. data/lib/temper/generated/models/invocation_summary.rb +296 -0
  210. data/lib/temper/generated/models/invocation_view.rb +433 -0
  211. data/lib/temper/generated/models/join_request.rb +403 -0
  212. data/lib/temper/generated/models/join_request_status.rb +42 -0
  213. data/lib/temper/generated/models/kind_owner_input.rb +105 -0
  214. data/lib/temper/generated/models/kind_owner_input_one_of.rb +164 -0
  215. data/lib/temper/generated/models/kind_owner_input_one_of1.rb +164 -0
  216. data/lib/temper/generated/models/lineage_node.rb +326 -0
  217. data/lib/temper/generated/models/managed_meta.rb +249 -0
  218. data/lib/temper/generated/models/match_location.rb +188 -0
  219. data/lib/temper/generated/models/materialize_ack.rb +307 -0
  220. data/lib/temper/generated/models/materialize_delta.rb +296 -0
  221. data/lib/temper/generated/models/materialize_request.rb +150 -0
  222. data/lib/temper/generated/models/merge_policy.rb +40 -0
  223. data/lib/temper/generated/models/meta_update_payload.rb +358 -0
  224. data/lib/temper/generated/models/narrowed_by.rb +210 -0
  225. data/lib/temper/generated/models/no_prior_standing.rb +189 -0
  226. data/lib/temper/generated/models/no_standing.rb +189 -0
  227. data/lib/temper/generated/models/node_home.rb +40 -0
  228. data/lib/temper/generated/models/open_invocation_request.rb +204 -0
  229. data/lib/temper/generated/models/open_meta_convention.rb +180 -0
  230. data/lib/temper/generated/models/ord_op.rb +42 -0
  231. data/lib/temper/generated/models/orphan_node.rb +264 -0
  232. data/lib/temper/generated/models/outcome_declaration.rb +177 -0
  233. data/lib/temper/generated/models/pending_invitation_counts.rb +177 -0
  234. data/lib/temper/generated/models/plan_refusal.rb +220 -0
  235. data/lib/temper/generated/models/plan_refusal_details.rb +167 -0
  236. data/lib/temper/generated/models/polarity.rb +40 -0
  237. data/lib/temper/generated/models/profile.rb +313 -0
  238. data/lib/temper/generated/models/profile_auth_link.rb +332 -0
  239. data/lib/temper/generated/models/profile_update_request.rb +169 -0
  240. data/lib/temper/generated/models/profile_with_entitlements.rb +344 -0
  241. data/lib/temper/generated/models/property_op.rb +106 -0
  242. data/lib/temper/generated/models/property_op_one_of.rb +189 -0
  243. data/lib/temper/generated/models/property_op_one_of1.rb +217 -0
  244. data/lib/temper/generated/models/property_op_one_of2.rb +227 -0
  245. data/lib/temper/generated/models/property_predicate.rb +191 -0
  246. data/lib/temper/generated/models/provenance_source.rb +106 -0
  247. data/lib/temper/generated/models/provenance_source_one_of.rb +214 -0
  248. data/lib/temper/generated/models/provenance_source_one_of1.rb +214 -0
  249. data/lib/temper/generated/models/provenance_source_one_of2.rb +216 -0
  250. data/lib/temper/generated/models/public_system_settings.rb +169 -0
  251. data/lib/temper/generated/models/quantity_scale.rb +106 -0
  252. data/lib/temper/generated/models/quantity_scale_one_of.rb +189 -0
  253. data/lib/temper/generated/models/quantity_scale_one_of1.rb +215 -0
  254. data/lib/temper/generated/models/quantity_scale_one_of2.rb +189 -0
  255. data/lib/temper/generated/models/query_response.rb +195 -0
  256. data/lib/temper/generated/models/reassign_ack.rb +191 -0
  257. data/lib/temper/generated/models/reassign_context_outcome.rb +243 -0
  258. data/lib/temper/generated/models/reassign_context_request.rb +166 -0
  259. data/lib/temper/generated/models/reassign_resource_request.rb +165 -0
  260. data/lib/temper/generated/models/reblock_candidate.rb +192 -0
  261. data/lib/temper/generated/models/reblock_outcome.rb +109 -0
  262. data/lib/temper/generated/models/reblock_outcome_one_of.rb +165 -0
  263. data/lib/temper/generated/models/reblock_outcome_one_of1.rb +165 -0
  264. data/lib/temper/generated/models/reblock_outcome_one_of1_in_progress.rb +166 -0
  265. data/lib/temper/generated/models/reblock_outcome_one_of2.rb +165 -0
  266. data/lib/temper/generated/models/reblock_outcome_one_of3.rb +165 -0
  267. data/lib/temper/generated/models/reblock_outcome_one_of4.rb +165 -0
  268. data/lib/temper/generated/models/reblock_outcome_one_of4_error.rb +165 -0
  269. data/lib/temper/generated/models/reblock_outcome_one_of_reblocked.rb +165 -0
  270. data/lib/temper/generated/models/reblock_receipt.rb +259 -0
  271. data/lib/temper/generated/models/reblock_request.rb +215 -0
  272. data/lib/temper/generated/models/reblock_scope.rb +106 -0
  273. data/lib/temper/generated/models/reblock_scope_one_of.rb +166 -0
  274. data/lib/temper/generated/models/reblock_scope_one_of1.rb +166 -0
  275. data/lib/temper/generated/models/reblock_summary.rb +350 -0
  276. data/lib/temper/generated/models/reconcile_cogmap_request.rb +199 -0
  277. data/lib/temper/generated/models/reconcile_edge.rb +253 -0
  278. data/lib/temper/generated/models/reconcile_edge_tombstone.rb +217 -0
  279. data/lib/temper/generated/models/reconcile_entry.rb +318 -0
  280. data/lib/temper/generated/models/reconcile_outcome.rb +327 -0
  281. data/lib/temper/generated/models/reconcile_telos.rb +167 -0
  282. data/lib/temper/generated/models/reconcile_telos_block.rb +191 -0
  283. data/lib/temper/generated/models/reconcile_tombstone.rb +165 -0
  284. data/lib/temper/generated/models/refusal.rb +112 -0
  285. data/lib/temper/generated/models/refusal_reason.rb +104 -0
  286. data/lib/temper/generated/models/region_disclosure.rb +193 -0
  287. data/lib/temper/generated/models/region_hit.rb +192 -0
  288. data/lib/temper/generated/models/relationship_ack.rb +165 -0
  289. data/lib/temper/generated/models/relationship_target.rb +40 -0
  290. data/lib/temper/generated/models/remove_member_outcome.rb +165 -0
  291. data/lib/temper/generated/models/rename_context_outcome.rb +300 -0
  292. data/lib/temper/generated/models/rename_context_request.rb +166 -0
  293. data/lib/temper/generated/models/requested.rb +189 -0
  294. data/lib/temper/generated/models/residual_bucket.rb +191 -0
  295. data/lib/temper/generated/models/residual_context.rb +201 -0
  296. data/lib/temper/generated/models/residual_groups.rb +193 -0
  297. data/lib/temper/generated/models/residual_owned_reach.rb +202 -0
  298. data/lib/temper/generated/models/resource_annotate_request.rb +261 -0
  299. data/lib/temper/generated/models/resource_create_request.rb +355 -0
  300. data/lib/temper/generated/models/resource_facet_row.rb +317 -0
  301. data/lib/temper/generated/models/resource_facets.rb +226 -0
  302. data/lib/temper/generated/models/resource_facets_response.rb +193 -0
  303. data/lib/temper/generated/models/resource_filter.rb +265 -0
  304. data/lib/temper/generated/models/resource_grant_body.rb +295 -0
  305. data/lib/temper/generated/models/resource_hit.rb +216 -0
  306. data/lib/temper/generated/models/resource_lineage.rb +224 -0
  307. data/lib/temper/generated/models/resource_list_response.rb +313 -0
  308. data/lib/temper/generated/models/resource_revoke_body.rb +191 -0
  309. data/lib/temper/generated/models/resource_section.rb +41 -0
  310. data/lib/temper/generated/models/resource_sort_field.rb +45 -0
  311. data/lib/temper/generated/models/resource_update_request.rb +379 -0
  312. data/lib/temper/generated/models/resource_view.rb +592 -0
  313. data/lib/temper/generated/models/restore_context_outcome.rb +274 -0
  314. data/lib/temper/generated/models/retire_context_outcome.rb +247 -0
  315. data/lib/temper/generated/models/return_spec.rb +189 -0
  316. data/lib/temper/generated/models/retype_relationship_request.rb +290 -0
  317. data/lib/temper/generated/models/revoke_outcome.rb +165 -0
  318. data/lib/temper/generated/models/revoked.rb +189 -0
  319. data/lib/temper/generated/models/reweight_relationship_request.rb +264 -0
  320. data/lib/temper/generated/models/score_kind.rb +104 -0
  321. data/lib/temper/generated/models/scoring.rb +192 -0
  322. data/lib/temper/generated/models/search_params.rb +254 -0
  323. data/lib/temper/generated/models/search_reason.rb +41 -0
  324. data/lib/temper/generated/models/search_response.rb +217 -0
  325. data/lib/temper/generated/models/search_result_row.rb +343 -0
  326. data/lib/temper/generated/models/search_scope.rb +41 -0
  327. data/lib/temper/generated/models/search_scope_info.rb +199 -0
  328. data/lib/temper/generated/models/segment_info.rb +200 -0
  329. data/lib/temper/generated/models/segmented_begin.rb +212 -0
  330. data/lib/temper/generated/models/segmented_begin_response.rb +247 -0
  331. data/lib/temper/generated/models/shape_declare_request.rb +315 -0
  332. data/lib/temper/generated/models/shape_emptiness.rb +42 -0
  333. data/lib/temper/generated/models/shape_view.rb +438 -0
  334. data/lib/temper/generated/models/share_context_outcome.rb +218 -0
  335. data/lib/temper/generated/models/share_context_request.rb +166 -0
  336. data/lib/temper/generated/models/slack_disconnect_request.rb +166 -0
  337. data/lib/temper/generated/models/slack_disconnect_response.rb +168 -0
  338. data/lib/temper/generated/models/slack_disconnected_principal.rb +269 -0
  339. data/lib/temper/generated/models/slice_request.rb +216 -0
  340. data/lib/temper/generated/models/sort_order.rb +40 -0
  341. data/lib/temper/generated/models/stage_disposition.rb +42 -0
  342. data/lib/temper/generated/models/stage_input.rb +105 -0
  343. data/lib/temper/generated/models/stage_input_one_of.rb +241 -0
  344. data/lib/temper/generated/models/stage_input_one_of1.rb +253 -0
  345. data/lib/temper/generated/models/stage_input_trace.rb +241 -0
  346. data/lib/temper/generated/models/stage_node.rb +105 -0
  347. data/lib/temper/generated/models/stage_output.rb +105 -0
  348. data/lib/temper/generated/models/stage_output_one_of.rb +217 -0
  349. data/lib/temper/generated/models/stage_output_one_of1.rb +217 -0
  350. data/lib/temper/generated/models/stage_relation.rb +40 -0
  351. data/lib/temper/generated/models/stage_result.rb +423 -0
  352. data/lib/temper/generated/models/stage_trace.rb +451 -0
  353. data/lib/temper/generated/models/standing.rb +43 -0
  354. data/lib/temper/generated/models/standing_shape.rb +355 -0
  355. data/lib/temper/generated/models/subscription.rb +267 -0
  356. data/lib/temper/generated/models/subscription_override.rb +193 -0
  357. data/lib/temper/generated/models/system_access_details.rb +206 -0
  358. data/lib/temper/generated/models/team_create_request.rb +217 -0
  359. data/lib/temper/generated/models/team_detail.rb +313 -0
  360. data/lib/temper/generated/models/team_invitation.rb +406 -0
  361. data/lib/temper/generated/models/team_member_detail.rb +265 -0
  362. data/lib/temper/generated/models/team_member_row.rb +265 -0
  363. data/lib/temper/generated/models/team_member_source.rb +40 -0
  364. data/lib/temper/generated/models/team_role.rb +42 -0
  365. data/lib/temper/generated/models/team_row.rb +287 -0
  366. data/lib/temper/generated/models/team_update_request.rb +159 -0
  367. data/lib/temper/generated/models/territory.rb +298 -0
  368. data/lib/temper/generated/models/territory_kind.rb +41 -0
  369. data/lib/temper/generated/models/territory_overview.rb +223 -0
  370. data/lib/temper/generated/models/unbind_team_outcome.rb +218 -0
  371. data/lib/temper/generated/models/unrecognized_standing.rb +215 -0
  372. data/lib/temper/generated/models/unshare_context_outcome.rb +218 -0
  373. data/lib/temper/generated/models/vault_config.rb +174 -0
  374. data/lib/temper/generated/models/via_entry.rb +305 -0
  375. data/lib/temper/generated/models/wide_arm.rb +252 -0
  376. data/lib/temper/generated/models/wide_hit.rb +193 -0
  377. data/lib/temper/generated/version.rb +15 -0
  378. data/lib/temper/generated.rb +402 -0
  379. data/lib/temper/refs.rb +36 -0
  380. data/lib/temper/resources.rb +68 -0
  381. data/lib/temper/validate.rb +127 -0
  382. data/lib/temper/version.rb +11 -0
  383. data/lib/temper.rb +47 -0
  384. metadata +525 -0
@@ -0,0 +1,1329 @@
1
+ =begin
2
+ #Temper Cloud API
3
+
4
+ #Knowledge base management API for temper cloud
5
+
6
+ The version of the OpenAPI document: 0.5.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Temper::Generated
16
+ class ResourcesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Attach provenance sources to a resource
23
+ # @param id [String] Resource ID
24
+ # @param resource_annotate_request [ResourceAnnotateRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are `cli` and `sdk`; an absent or unrecognized value attributes the write to `web`. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
27
+ # @return [ResourceView]
28
+ def annotate_resource(id, resource_annotate_request, opts = {})
29
+ data, _status_code, _headers = annotate_resource_with_http_info(id, resource_annotate_request, opts)
30
+ data
31
+ end
32
+
33
+ # Attach provenance sources to a resource
34
+ # @param id [String] Resource ID
35
+ # @param resource_annotate_request [ResourceAnnotateRequest]
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are `cli` and `sdk`; an absent or unrecognized value attributes the write to `web`. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
38
+ # @return [Array<(ResourceView, Integer, Hash)>] ResourceView data, response status code and response headers
39
+ def annotate_resource_with_http_info(id, resource_annotate_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.annotate_resource ...'
42
+ end
43
+ # verify the required parameter 'id' is set
44
+ if @api_client.config.client_side_validation && id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.annotate_resource"
46
+ end
47
+ # verify the required parameter 'resource_annotate_request' is set
48
+ if @api_client.config.client_side_validation && resource_annotate_request.nil?
49
+ fail ArgumentError, "Missing the required parameter 'resource_annotate_request' when calling ResourcesApi.annotate_resource"
50
+ end
51
+ allowable_values = ["cli", "sdk"]
52
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
53
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
54
+ end
55
+ # resource path
56
+ local_var_path = '/api/resources/{id}/provenance'.sub('{id}', CGI.escape(id.to_s))
57
+
58
+ # query parameters
59
+ query_params = opts[:query_params] || {}
60
+
61
+ # header parameters
62
+ header_params = opts[:header_params] || {}
63
+ # HTTP header 'Accept' (if needed)
64
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
65
+ # HTTP header 'Content-Type'
66
+ content_type = @api_client.select_header_content_type(['application/json'])
67
+ if !content_type.nil?
68
+ header_params['Content-Type'] = content_type
69
+ end
70
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
71
+
72
+ # form parameters
73
+ form_params = opts[:form_params] || {}
74
+
75
+ # http body (model)
76
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(resource_annotate_request)
77
+
78
+ # return_type
79
+ return_type = opts[:debug_return_type] || 'ResourceView'
80
+
81
+ # auth_names
82
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
83
+
84
+ new_options = opts.merge(
85
+ :operation => :"ResourcesApi.annotate_resource",
86
+ :header_params => header_params,
87
+ :query_params => query_params,
88
+ :form_params => form_params,
89
+ :body => post_body,
90
+ :auth_names => auth_names,
91
+ :return_type => return_type
92
+ )
93
+
94
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
95
+ if @api_client.config.debugging
96
+ @api_client.config.logger.debug "API called: ResourcesApi#annotate_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
97
+ end
98
+ return data, status_code, headers
99
+ end
100
+
101
+ # Create a resource
102
+ # @param resource_create_request [ResourceCreateRequest]
103
+ # @param [Hash] opts the optional parameters
104
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
105
+ # @return [ResourceView]
106
+ def create_resource(resource_create_request, opts = {})
107
+ data, _status_code, _headers = create_resource_with_http_info(resource_create_request, opts)
108
+ data
109
+ end
110
+
111
+ # Create a resource
112
+ # @param resource_create_request [ResourceCreateRequest]
113
+ # @param [Hash] opts the optional parameters
114
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
115
+ # @return [Array<(ResourceView, Integer, Hash)>] ResourceView data, response status code and response headers
116
+ def create_resource_with_http_info(resource_create_request, opts = {})
117
+ if @api_client.config.debugging
118
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.create_resource ...'
119
+ end
120
+ # verify the required parameter 'resource_create_request' is set
121
+ if @api_client.config.client_side_validation && resource_create_request.nil?
122
+ fail ArgumentError, "Missing the required parameter 'resource_create_request' when calling ResourcesApi.create_resource"
123
+ end
124
+ allowable_values = ["cli", "sdk"]
125
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
126
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
127
+ end
128
+ # resource path
129
+ local_var_path = '/api/resources'
130
+
131
+ # query parameters
132
+ query_params = opts[:query_params] || {}
133
+
134
+ # header parameters
135
+ header_params = opts[:header_params] || {}
136
+ # HTTP header 'Accept' (if needed)
137
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
138
+ # HTTP header 'Content-Type'
139
+ content_type = @api_client.select_header_content_type(['application/json'])
140
+ if !content_type.nil?
141
+ header_params['Content-Type'] = content_type
142
+ end
143
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
144
+
145
+ # form parameters
146
+ form_params = opts[:form_params] || {}
147
+
148
+ # http body (model)
149
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(resource_create_request)
150
+
151
+ # return_type
152
+ return_type = opts[:debug_return_type] || 'ResourceView'
153
+
154
+ # auth_names
155
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
156
+
157
+ new_options = opts.merge(
158
+ :operation => :"ResourcesApi.create_resource",
159
+ :header_params => header_params,
160
+ :query_params => query_params,
161
+ :form_params => form_params,
162
+ :body => post_body,
163
+ :auth_names => auth_names,
164
+ :return_type => return_type
165
+ )
166
+
167
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
168
+ if @api_client.config.debugging
169
+ @api_client.config.logger.debug "API called: ResourcesApi#create_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
170
+ end
171
+ return data, status_code, headers
172
+ end
173
+
174
+ # Soft-delete a resource
175
+ # @param id [String] Resource ID
176
+ # @param [Hash] opts the optional parameters
177
+ # @option opts [String] :invocation_id The invocation this act is correlated under (&#x60;kb_events.invocation_id&#x60;). Optional — a correlation aid, never a substitute for authn/authz.
178
+ # @option opts [String] :correlation_id The act-grain thread this write belongs to (&#x60;kb_events.correlation_id&#x60;). Optional, caller- minted, provenance-only. Rides independently of &#x60;invocation_id&#x60; and of authorship.
179
+ # @option opts [String] :reasoning Free-text reasoning for the act. Authorship field — requires &#x60;confidence&#x60;.
180
+ # @option opts [ConfidenceBand] :confidence Graded self-assessed confidence band. Required whenever any other authorship field is set.
181
+ # @option opts [String] :rationale Structured rationale for the act. Authorship field — requires &#x60;confidence&#x60;.
182
+ # @option opts [String] :persona The persona/role the author acted as. Authorship field — requires &#x60;confidence&#x60;.
183
+ # @option opts [String] :model The model that authored the act. Authorship field — requires &#x60;confidence&#x60;.
184
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
185
+ # @return [DeleteResponse]
186
+ def delete_resource(id, opts = {})
187
+ data, _status_code, _headers = delete_resource_with_http_info(id, opts)
188
+ data
189
+ end
190
+
191
+ # Soft-delete a resource
192
+ # @param id [String] Resource ID
193
+ # @param [Hash] opts the optional parameters
194
+ # @option opts [String] :invocation_id The invocation this act is correlated under (&#x60;kb_events.invocation_id&#x60;). Optional — a correlation aid, never a substitute for authn/authz.
195
+ # @option opts [String] :correlation_id The act-grain thread this write belongs to (&#x60;kb_events.correlation_id&#x60;). Optional, caller- minted, provenance-only. Rides independently of &#x60;invocation_id&#x60; and of authorship.
196
+ # @option opts [String] :reasoning Free-text reasoning for the act. Authorship field — requires &#x60;confidence&#x60;.
197
+ # @option opts [ConfidenceBand] :confidence Graded self-assessed confidence band. Required whenever any other authorship field is set.
198
+ # @option opts [String] :rationale Structured rationale for the act. Authorship field — requires &#x60;confidence&#x60;.
199
+ # @option opts [String] :persona The persona/role the author acted as. Authorship field — requires &#x60;confidence&#x60;.
200
+ # @option opts [String] :model The model that authored the act. Authorship field — requires &#x60;confidence&#x60;.
201
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
202
+ # @return [Array<(DeleteResponse, Integer, Hash)>] DeleteResponse data, response status code and response headers
203
+ def delete_resource_with_http_info(id, opts = {})
204
+ if @api_client.config.debugging
205
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.delete_resource ...'
206
+ end
207
+ # verify the required parameter 'id' is set
208
+ if @api_client.config.client_side_validation && id.nil?
209
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.delete_resource"
210
+ end
211
+ allowable_values = ["cli", "sdk"]
212
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
213
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
214
+ end
215
+ # resource path
216
+ local_var_path = '/api/resources/{id}'.sub('{id}', CGI.escape(id.to_s))
217
+
218
+ # query parameters
219
+ query_params = opts[:query_params] || {}
220
+ query_params[:'invocation_id'] = opts[:'invocation_id'] if !opts[:'invocation_id'].nil?
221
+ query_params[:'correlation_id'] = opts[:'correlation_id'] if !opts[:'correlation_id'].nil?
222
+ query_params[:'reasoning'] = opts[:'reasoning'] if !opts[:'reasoning'].nil?
223
+ query_params[:'confidence'] = opts[:'confidence'] if !opts[:'confidence'].nil?
224
+ query_params[:'rationale'] = opts[:'rationale'] if !opts[:'rationale'].nil?
225
+ query_params[:'persona'] = opts[:'persona'] if !opts[:'persona'].nil?
226
+ query_params[:'model'] = opts[:'model'] if !opts[:'model'].nil?
227
+
228
+ # header parameters
229
+ header_params = opts[:header_params] || {}
230
+ # HTTP header 'Accept' (if needed)
231
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
232
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
233
+
234
+ # form parameters
235
+ form_params = opts[:form_params] || {}
236
+
237
+ # http body (model)
238
+ post_body = opts[:debug_body]
239
+
240
+ # return_type
241
+ return_type = opts[:debug_return_type] || 'DeleteResponse'
242
+
243
+ # auth_names
244
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
245
+
246
+ new_options = opts.merge(
247
+ :operation => :"ResourcesApi.delete_resource",
248
+ :header_params => header_params,
249
+ :query_params => query_params,
250
+ :form_params => form_params,
251
+ :body => post_body,
252
+ :auth_names => auth_names,
253
+ :return_type => return_type
254
+ )
255
+
256
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
257
+ if @api_client.config.debugging
258
+ @api_client.config.logger.debug "API called: ResourcesApi#delete_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
259
+ end
260
+ return data, status_code, headers
261
+ end
262
+
263
+ # Read a resource's reconstituted content
264
+ # @param id [String] Resource ID
265
+ # @param [Hash] opts the optional parameters
266
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
267
+ # @return [ContentResponse]
268
+ def get_content(id, opts = {})
269
+ data, _status_code, _headers = get_content_with_http_info(id, opts)
270
+ data
271
+ end
272
+
273
+ # Read a resource&#39;s reconstituted content
274
+ # @param id [String] Resource ID
275
+ # @param [Hash] opts the optional parameters
276
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
277
+ # @return [Array<(ContentResponse, Integer, Hash)>] ContentResponse data, response status code and response headers
278
+ def get_content_with_http_info(id, opts = {})
279
+ if @api_client.config.debugging
280
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.get_content ...'
281
+ end
282
+ # verify the required parameter 'id' is set
283
+ if @api_client.config.client_side_validation && id.nil?
284
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.get_content"
285
+ end
286
+ allowable_values = ["cli", "sdk"]
287
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
288
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
289
+ end
290
+ # resource path
291
+ local_var_path = '/api/resources/{id}/content'.sub('{id}', CGI.escape(id.to_s))
292
+
293
+ # query parameters
294
+ query_params = opts[:query_params] || {}
295
+
296
+ # header parameters
297
+ header_params = opts[:header_params] || {}
298
+ # HTTP header 'Accept' (if needed)
299
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
300
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
301
+
302
+ # form parameters
303
+ form_params = opts[:form_params] || {}
304
+
305
+ # http body (model)
306
+ post_body = opts[:debug_body]
307
+
308
+ # return_type
309
+ return_type = opts[:debug_return_type] || 'ContentResponse'
310
+
311
+ # auth_names
312
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
313
+
314
+ new_options = opts.merge(
315
+ :operation => :"ResourcesApi.get_content",
316
+ :header_params => header_params,
317
+ :query_params => query_params,
318
+ :form_params => form_params,
319
+ :body => post_body,
320
+ :auth_names => auth_names,
321
+ :return_type => return_type
322
+ )
323
+
324
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
325
+ if @api_client.config.debugging
326
+ @api_client.config.logger.debug "API called: ResourcesApi#get_content\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
327
+ end
328
+ return data, status_code, headers
329
+ end
330
+
331
+ # Get one resource
332
+ # @param id [String] Resource ID
333
+ # @param [Hash] opts the optional parameters
334
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
335
+ # @return [ResourceView]
336
+ def get_resource(id, opts = {})
337
+ data, _status_code, _headers = get_resource_with_http_info(id, opts)
338
+ data
339
+ end
340
+
341
+ # Get one resource
342
+ # @param id [String] Resource ID
343
+ # @param [Hash] opts the optional parameters
344
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
345
+ # @return [Array<(ResourceView, Integer, Hash)>] ResourceView data, response status code and response headers
346
+ def get_resource_with_http_info(id, opts = {})
347
+ if @api_client.config.debugging
348
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.get_resource ...'
349
+ end
350
+ # verify the required parameter 'id' is set
351
+ if @api_client.config.client_side_validation && id.nil?
352
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.get_resource"
353
+ end
354
+ allowable_values = ["cli", "sdk"]
355
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
356
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
357
+ end
358
+ # resource path
359
+ local_var_path = '/api/resources/{id}'.sub('{id}', CGI.escape(id.to_s))
360
+
361
+ # query parameters
362
+ query_params = opts[:query_params] || {}
363
+
364
+ # header parameters
365
+ header_params = opts[:header_params] || {}
366
+ # HTTP header 'Accept' (if needed)
367
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
368
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
369
+
370
+ # form parameters
371
+ form_params = opts[:form_params] || {}
372
+
373
+ # http body (model)
374
+ post_body = opts[:debug_body]
375
+
376
+ # return_type
377
+ return_type = opts[:debug_return_type] || 'ResourceView'
378
+
379
+ # auth_names
380
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
381
+
382
+ new_options = opts.merge(
383
+ :operation => :"ResourcesApi.get_resource",
384
+ :header_params => header_params,
385
+ :query_params => query_params,
386
+ :form_params => form_params,
387
+ :body => post_body,
388
+ :auth_names => auth_names,
389
+ :return_type => return_type
390
+ )
391
+
392
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
393
+ if @api_client.config.debugging
394
+ @api_client.config.logger.debug "API called: ResourcesApi#get_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
395
+ end
396
+ return data, status_code, headers
397
+ end
398
+
399
+ # Grant access to a resource
400
+ # @param id [String] Resource ID
401
+ # @param resource_grant_body [ResourceGrantBody]
402
+ # @param [Hash] opts the optional parameters
403
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
404
+ # @return [GrantOutcome]
405
+ def grant_resource_access(id, resource_grant_body, opts = {})
406
+ data, _status_code, _headers = grant_resource_access_with_http_info(id, resource_grant_body, opts)
407
+ data
408
+ end
409
+
410
+ # Grant access to a resource
411
+ # @param id [String] Resource ID
412
+ # @param resource_grant_body [ResourceGrantBody]
413
+ # @param [Hash] opts the optional parameters
414
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
415
+ # @return [Array<(GrantOutcome, Integer, Hash)>] GrantOutcome data, response status code and response headers
416
+ def grant_resource_access_with_http_info(id, resource_grant_body, opts = {})
417
+ if @api_client.config.debugging
418
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.grant_resource_access ...'
419
+ end
420
+ # verify the required parameter 'id' is set
421
+ if @api_client.config.client_side_validation && id.nil?
422
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.grant_resource_access"
423
+ end
424
+ # verify the required parameter 'resource_grant_body' is set
425
+ if @api_client.config.client_side_validation && resource_grant_body.nil?
426
+ fail ArgumentError, "Missing the required parameter 'resource_grant_body' when calling ResourcesApi.grant_resource_access"
427
+ end
428
+ allowable_values = ["cli", "sdk"]
429
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
430
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
431
+ end
432
+ # resource path
433
+ local_var_path = '/api/resources/{id}/grants'.sub('{id}', CGI.escape(id.to_s))
434
+
435
+ # query parameters
436
+ query_params = opts[:query_params] || {}
437
+
438
+ # header parameters
439
+ header_params = opts[:header_params] || {}
440
+ # HTTP header 'Accept' (if needed)
441
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
442
+ # HTTP header 'Content-Type'
443
+ content_type = @api_client.select_header_content_type(['application/json'])
444
+ if !content_type.nil?
445
+ header_params['Content-Type'] = content_type
446
+ end
447
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
448
+
449
+ # form parameters
450
+ form_params = opts[:form_params] || {}
451
+
452
+ # http body (model)
453
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(resource_grant_body)
454
+
455
+ # return_type
456
+ return_type = opts[:debug_return_type] || 'GrantOutcome'
457
+
458
+ # auth_names
459
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
460
+
461
+ new_options = opts.merge(
462
+ :operation => :"ResourcesApi.grant_resource_access",
463
+ :header_params => header_params,
464
+ :query_params => query_params,
465
+ :form_params => form_params,
466
+ :body => post_body,
467
+ :auth_names => auth_names,
468
+ :return_type => return_type
469
+ )
470
+
471
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
472
+ if @api_client.config.debugging
473
+ @api_client.config.logger.debug "API called: ResourcesApi#grant_resource_access\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
474
+ end
475
+ return data, status_code, headers
476
+ end
477
+
478
+ # List a finding's citation-audit trail
479
+ # One row per audit, each naming its auditor. `GET /api/resources/{id}/evidence` answers with aggregates only, so a finding disputed by one auditor and a finding disputed by three are indistinguishable there. This read names the voters. Answers 404 when the finding is unreadable or absent. An empty array means the finding is readable and genuinely carries no audits.
480
+ # @param id [String] Resource ID (the finding whose audit trail is read)
481
+ # @param [Hash] opts the optional parameters
482
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
483
+ # @return [Array<CitationAuditRow>]
484
+ def list_citation_audits(id, opts = {})
485
+ data, _status_code, _headers = list_citation_audits_with_http_info(id, opts)
486
+ data
487
+ end
488
+
489
+ # List a finding&#39;s citation-audit trail
490
+ # One row per audit, each naming its auditor. &#x60;GET /api/resources/{id}/evidence&#x60; answers with aggregates only, so a finding disputed by one auditor and a finding disputed by three are indistinguishable there. This read names the voters. Answers 404 when the finding is unreadable or absent. An empty array means the finding is readable and genuinely carries no audits.
491
+ # @param id [String] Resource ID (the finding whose audit trail is read)
492
+ # @param [Hash] opts the optional parameters
493
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
494
+ # @return [Array<(Array<CitationAuditRow>, Integer, Hash)>] Array<CitationAuditRow> data, response status code and response headers
495
+ def list_citation_audits_with_http_info(id, opts = {})
496
+ if @api_client.config.debugging
497
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.list_citation_audits ...'
498
+ end
499
+ # verify the required parameter 'id' is set
500
+ if @api_client.config.client_side_validation && id.nil?
501
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.list_citation_audits"
502
+ end
503
+ allowable_values = ["cli", "sdk"]
504
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
505
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
506
+ end
507
+ # resource path
508
+ local_var_path = '/api/resources/{id}/citation-audits'.sub('{id}', CGI.escape(id.to_s))
509
+
510
+ # query parameters
511
+ query_params = opts[:query_params] || {}
512
+
513
+ # header parameters
514
+ header_params = opts[:header_params] || {}
515
+ # HTTP header 'Accept' (if needed)
516
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
517
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
518
+
519
+ # form parameters
520
+ form_params = opts[:form_params] || {}
521
+
522
+ # http body (model)
523
+ post_body = opts[:debug_body]
524
+
525
+ # return_type
526
+ return_type = opts[:debug_return_type] || 'Array<CitationAuditRow>'
527
+
528
+ # auth_names
529
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
530
+
531
+ new_options = opts.merge(
532
+ :operation => :"ResourcesApi.list_citation_audits",
533
+ :header_params => header_params,
534
+ :query_params => query_params,
535
+ :form_params => form_params,
536
+ :body => post_body,
537
+ :auth_names => auth_names,
538
+ :return_type => return_type
539
+ )
540
+
541
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
542
+ if @api_client.config.debugging
543
+ @api_client.config.logger.debug "API called: ResourcesApi#list_citation_audits\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
544
+ end
545
+ return data, status_code, headers
546
+ end
547
+
548
+ # List a resource's relationships
549
+ # @param id [String] Resource ID
550
+ # @param [Hash] opts the optional parameters
551
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
552
+ # @return [Array<GraphEdgeRow>]
553
+ def list_resource_edges(id, opts = {})
554
+ data, _status_code, _headers = list_resource_edges_with_http_info(id, opts)
555
+ data
556
+ end
557
+
558
+ # List a resource&#39;s relationships
559
+ # @param id [String] Resource ID
560
+ # @param [Hash] opts the optional parameters
561
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
562
+ # @return [Array<(Array<GraphEdgeRow>, Integer, Hash)>] Array<GraphEdgeRow> data, response status code and response headers
563
+ def list_resource_edges_with_http_info(id, opts = {})
564
+ if @api_client.config.debugging
565
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.list_resource_edges ...'
566
+ end
567
+ # verify the required parameter 'id' is set
568
+ if @api_client.config.client_side_validation && id.nil?
569
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.list_resource_edges"
570
+ end
571
+ allowable_values = ["cli", "sdk"]
572
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
573
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
574
+ end
575
+ # resource path
576
+ local_var_path = '/api/resources/{id}/edges'.sub('{id}', CGI.escape(id.to_s))
577
+
578
+ # query parameters
579
+ query_params = opts[:query_params] || {}
580
+
581
+ # header parameters
582
+ header_params = opts[:header_params] || {}
583
+ # HTTP header 'Accept' (if needed)
584
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
585
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
586
+
587
+ # form parameters
588
+ form_params = opts[:form_params] || {}
589
+
590
+ # http body (model)
591
+ post_body = opts[:debug_body]
592
+
593
+ # return_type
594
+ return_type = opts[:debug_return_type] || 'Array<GraphEdgeRow>'
595
+
596
+ # auth_names
597
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
598
+
599
+ new_options = opts.merge(
600
+ :operation => :"ResourcesApi.list_resource_edges",
601
+ :header_params => header_params,
602
+ :query_params => query_params,
603
+ :form_params => form_params,
604
+ :body => post_body,
605
+ :auth_names => auth_names,
606
+ :return_type => return_type
607
+ )
608
+
609
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
610
+ if @api_client.config.debugging
611
+ @api_client.config.logger.debug "API called: ResourcesApi#list_resource_edges\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
612
+ end
613
+ return data, status_code, headers
614
+ end
615
+
616
+ # List resources you can see
617
+ # Answers with one response type, unconditionally. Use `sections` to vary which parts of each resource are filled — the type you receive never changes.
618
+ # @param [Hash] opts the optional parameters
619
+ # @option opts [String] :kb_doc_type_id
620
+ # @option opts [String] :context_ref Context filter: UUID string or &#x60;@owner/slug&#x60; decorated ref. Bare context names are rejected server-side (spec Decision 1).
621
+ # @option opts [String] :doc_type_name Doc-type filter: one name, or a comma-separated list of them, in which case the filter is the UNION (a row matching any listed name is kept). Multi-select is the odd one out among the filters here — &#x60;tags&#x60; narrows with each addition because a resource has many tags, while a resource has exactly one doc type, so ANDing two names could only ever match nothing. A single name behaves exactly as it always has. A CSV string rather than a &#x60;Vec&#x60; for the same reason as &#x60;tags&#x60; and &#x60;cogmap_ids&#x60;: the list endpoint is a GET whose params ride the query string, and serde_urlencoded does not encode sequences. Each piece is trimmed and empties are dropped; a CSV that trims away entirely is no filter at all rather than a filter matching nothing. Unknown names are **not** rejected — an unrecognized doc type matches no row, as it always has. See &#x60;ResourceFacets::doc_type&#x60; for the histogram that makes the reachable set visible.
622
+ # @option opts [String] :owner
623
+ # @option opts [String] :q
624
+ # @option opts [String] :stage
625
+ # @option opts [String] :status Goal-status filter (goal only): matches &#x60;temper-status&#x60; via the &#x60;kb_resource_workflow_props&#x60; pivot, exactly as &#x60;stage&#x60; does. Validated against the goal schema&#39;s enum surface-side, so an unknown value is an error rather than a silent full scan — which is what this field&#39;s absence used to produce.
626
+ # @option opts [String] :goal Goal filter (task only): the resolved goal &#x60;ResourceId&#x60; (as UUID). Returns only resources joined to this goal via a live &#x60;advances&#x60;→goal edge. The CLI/MCP resolve the caller&#39;s &#x60;--goal &lt;ref&gt;&#x60; to this UUID (trailing-UUID-only) before the query. &#x60;None&#x60; &#x3D; no goal filter.
627
+ # @option opts [String] :tags Tag filter: a comma-separated list of tags. Returns only resources whose &#x60;open_meta.tags&#x60; contains **every** tag listed (AND, so each added tag narrows — the same direction every other filter here composes in). Matching is exact per tag and **case-insensitive**: the fold happens receive-side in &#x60;filtered_visible_page&#x60;, so the CLI, MCP and raw HTTP cannot disagree about it. A CSV string rather than a &#x60;Vec&#x60; for the same reason as &#x60;cogmap_ids&#x60;: the list endpoint is a GET whose params ride the query string (serde_urlencoded, which does not encode sequences). No tag in the corpus contains a comma (verified against production, 580 distinct tags), and a tag containing one cannot be expressed through this transport — which is a constraint on the tag vocabulary, not a silent truncation: the split is on &#x60;,&#x60; and each piece is trimmed. Unlike &#x60;stage&#x60; (task-only) and &#x60;status&#x60; (goal-only), tags are **not** doc-type-scoped — 14 doc types carry them in production. So there is deliberately no mismatched-filter refusal for this field; pairing it with any &#x60;doc_type_name&#x60;, or with none, is meaningful.
628
+ # @option opts [String] :cogmap_ids Cognitive-map scope: a comma-separated list of cogmap UUIDs. Returns only resources homed in one of these maps (&#x60;anchor_table &#x3D; &#39;kb_cogmaps&#39;&#x60;), intersected with the caller&#39;s visible set. A CSV string rather than a &#x60;Vec&#x60; because the list endpoint is a GET whose params ride the query string (serde_urlencoded, which does not encode sequences); the CLI/MCP resolve each &#x60;--cogmap &lt;ref&gt;&#x60; (trailing-UUID-only) and join here. &#x60;None&#x60;/empty &#x3D; no cogmap filter.
629
+ # @option opts [Boolean] :has_artifacts Artifact-ownership filter: &#x60;true&#x60; → only resources owning at least one data artifact; &#x60;false&#x60; → only resources owning none. **Ownership, not liveness** — a folded artifact still means \&quot;owns\&quot;, because the clause this serves says \&quot;own at least one artifact and which own none\&quot;, with no liveness qualifier. Absent &#x3D; no narrowing. Evaluated inside the caller&#39;s visible set (the predicate sits under the same &#x60;resources_visible_to&#x60; join as every other filter here), so the answer can never widen what the caller can read — and a caller who cannot read a resource gets no existence signal about its artifacts either way.
630
+ # @option opts [ResourceSortField] :sort
631
+ # @option opts [SortOrder] :order
632
+ # @option opts [Integer] :limit
633
+ # @option opts [Integer] :offset
634
+ # @option opts [String] :sections Optional sections to fill on each returned [&#x60;ResourceView&#x60;]. **On this door the vocabulary is &#x60;open-meta&#x60; and nothing else** — a comma-separated list, though there is currently one name in it. &#x60;None&#x60;/empty asks for none, which is the default list row. &#x60;body&#x60; and &#x60;edges&#x60; are [&#x60;temper_core::types::resource_view::ResourceSection&#x60;] names but are **not** list sections, and asking for either is a &#x60;400&#x60;. A page of reconstructed bodies is unbounded — this endpoint sends no limit when the caller asks for everything, and the body read has no batched form — so &#x60;list&#x60; orients and &#x60;GET /api/resources/{id}&#x60; reads. Nothing fills &#x60;edges&#x60; on a list row at all. Both are accepted on the single-resource door. Replaces &#x60;meta_only&#x60;, which named a *response type* rather than a part: it selected a second envelope (&#x60;ResourceMetaListResponse&#x60;) whose rows were a different shape. There is one response shape now, so what the caller varies is which parts of it are filled. A CSV string rather than a &#x60;Vec&#x60; for the same reason as &#x60;tags&#x60; and &#x60;cogmap_ids&#x60; above — the list endpoint is a GET whose params ride the query string, and serde_urlencoded does not encode sequences. Parsed by &#x60;SectionSet::parse_csv_accepting&#x60; against &#x60;ResourceSection::LIST&#x60;, which refuses an unknown name naming this door&#39;s valid set.
635
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
636
+ # @return [ResourceListResponse]
637
+ def list_resources(opts = {})
638
+ data, _status_code, _headers = list_resources_with_http_info(opts)
639
+ data
640
+ end
641
+
642
+ # List resources you can see
643
+ # Answers with one response type, unconditionally. Use &#x60;sections&#x60; to vary which parts of each resource are filled — the type you receive never changes.
644
+ # @param [Hash] opts the optional parameters
645
+ # @option opts [String] :kb_doc_type_id
646
+ # @option opts [String] :context_ref Context filter: UUID string or &#x60;@owner/slug&#x60; decorated ref. Bare context names are rejected server-side (spec Decision 1).
647
+ # @option opts [String] :doc_type_name Doc-type filter: one name, or a comma-separated list of them, in which case the filter is the UNION (a row matching any listed name is kept). Multi-select is the odd one out among the filters here — &#x60;tags&#x60; narrows with each addition because a resource has many tags, while a resource has exactly one doc type, so ANDing two names could only ever match nothing. A single name behaves exactly as it always has. A CSV string rather than a &#x60;Vec&#x60; for the same reason as &#x60;tags&#x60; and &#x60;cogmap_ids&#x60;: the list endpoint is a GET whose params ride the query string, and serde_urlencoded does not encode sequences. Each piece is trimmed and empties are dropped; a CSV that trims away entirely is no filter at all rather than a filter matching nothing. Unknown names are **not** rejected — an unrecognized doc type matches no row, as it always has. See &#x60;ResourceFacets::doc_type&#x60; for the histogram that makes the reachable set visible.
648
+ # @option opts [String] :owner
649
+ # @option opts [String] :q
650
+ # @option opts [String] :stage
651
+ # @option opts [String] :status Goal-status filter (goal only): matches &#x60;temper-status&#x60; via the &#x60;kb_resource_workflow_props&#x60; pivot, exactly as &#x60;stage&#x60; does. Validated against the goal schema&#39;s enum surface-side, so an unknown value is an error rather than a silent full scan — which is what this field&#39;s absence used to produce.
652
+ # @option opts [String] :goal Goal filter (task only): the resolved goal &#x60;ResourceId&#x60; (as UUID). Returns only resources joined to this goal via a live &#x60;advances&#x60;→goal edge. The CLI/MCP resolve the caller&#39;s &#x60;--goal &lt;ref&gt;&#x60; to this UUID (trailing-UUID-only) before the query. &#x60;None&#x60; &#x3D; no goal filter.
653
+ # @option opts [String] :tags Tag filter: a comma-separated list of tags. Returns only resources whose &#x60;open_meta.tags&#x60; contains **every** tag listed (AND, so each added tag narrows — the same direction every other filter here composes in). Matching is exact per tag and **case-insensitive**: the fold happens receive-side in &#x60;filtered_visible_page&#x60;, so the CLI, MCP and raw HTTP cannot disagree about it. A CSV string rather than a &#x60;Vec&#x60; for the same reason as &#x60;cogmap_ids&#x60;: the list endpoint is a GET whose params ride the query string (serde_urlencoded, which does not encode sequences). No tag in the corpus contains a comma (verified against production, 580 distinct tags), and a tag containing one cannot be expressed through this transport — which is a constraint on the tag vocabulary, not a silent truncation: the split is on &#x60;,&#x60; and each piece is trimmed. Unlike &#x60;stage&#x60; (task-only) and &#x60;status&#x60; (goal-only), tags are **not** doc-type-scoped — 14 doc types carry them in production. So there is deliberately no mismatched-filter refusal for this field; pairing it with any &#x60;doc_type_name&#x60;, or with none, is meaningful.
654
+ # @option opts [String] :cogmap_ids Cognitive-map scope: a comma-separated list of cogmap UUIDs. Returns only resources homed in one of these maps (&#x60;anchor_table &#x3D; &#39;kb_cogmaps&#39;&#x60;), intersected with the caller&#39;s visible set. A CSV string rather than a &#x60;Vec&#x60; because the list endpoint is a GET whose params ride the query string (serde_urlencoded, which does not encode sequences); the CLI/MCP resolve each &#x60;--cogmap &lt;ref&gt;&#x60; (trailing-UUID-only) and join here. &#x60;None&#x60;/empty &#x3D; no cogmap filter.
655
+ # @option opts [Boolean] :has_artifacts Artifact-ownership filter: &#x60;true&#x60; → only resources owning at least one data artifact; &#x60;false&#x60; → only resources owning none. **Ownership, not liveness** — a folded artifact still means \&quot;owns\&quot;, because the clause this serves says \&quot;own at least one artifact and which own none\&quot;, with no liveness qualifier. Absent &#x3D; no narrowing. Evaluated inside the caller&#39;s visible set (the predicate sits under the same &#x60;resources_visible_to&#x60; join as every other filter here), so the answer can never widen what the caller can read — and a caller who cannot read a resource gets no existence signal about its artifacts either way.
656
+ # @option opts [ResourceSortField] :sort
657
+ # @option opts [SortOrder] :order
658
+ # @option opts [Integer] :limit
659
+ # @option opts [Integer] :offset
660
+ # @option opts [String] :sections Optional sections to fill on each returned [&#x60;ResourceView&#x60;]. **On this door the vocabulary is &#x60;open-meta&#x60; and nothing else** — a comma-separated list, though there is currently one name in it. &#x60;None&#x60;/empty asks for none, which is the default list row. &#x60;body&#x60; and &#x60;edges&#x60; are [&#x60;temper_core::types::resource_view::ResourceSection&#x60;] names but are **not** list sections, and asking for either is a &#x60;400&#x60;. A page of reconstructed bodies is unbounded — this endpoint sends no limit when the caller asks for everything, and the body read has no batched form — so &#x60;list&#x60; orients and &#x60;GET /api/resources/{id}&#x60; reads. Nothing fills &#x60;edges&#x60; on a list row at all. Both are accepted on the single-resource door. Replaces &#x60;meta_only&#x60;, which named a *response type* rather than a part: it selected a second envelope (&#x60;ResourceMetaListResponse&#x60;) whose rows were a different shape. There is one response shape now, so what the caller varies is which parts of it are filled. A CSV string rather than a &#x60;Vec&#x60; for the same reason as &#x60;tags&#x60; and &#x60;cogmap_ids&#x60; above — the list endpoint is a GET whose params ride the query string, and serde_urlencoded does not encode sequences. Parsed by &#x60;SectionSet::parse_csv_accepting&#x60; against &#x60;ResourceSection::LIST&#x60;, which refuses an unknown name naming this door&#39;s valid set.
661
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
662
+ # @return [Array<(ResourceListResponse, Integer, Hash)>] ResourceListResponse data, response status code and response headers
663
+ def list_resources_with_http_info(opts = {})
664
+ if @api_client.config.debugging
665
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.list_resources ...'
666
+ end
667
+ allowable_values = ["cli", "sdk"]
668
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
669
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
670
+ end
671
+ # resource path
672
+ local_var_path = '/api/resources'
673
+
674
+ # query parameters
675
+ query_params = opts[:query_params] || {}
676
+ query_params[:'kb_doc_type_id'] = opts[:'kb_doc_type_id'] if !opts[:'kb_doc_type_id'].nil?
677
+ query_params[:'context_ref'] = opts[:'context_ref'] if !opts[:'context_ref'].nil?
678
+ query_params[:'doc_type_name'] = opts[:'doc_type_name'] if !opts[:'doc_type_name'].nil?
679
+ query_params[:'owner'] = opts[:'owner'] if !opts[:'owner'].nil?
680
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
681
+ query_params[:'stage'] = opts[:'stage'] if !opts[:'stage'].nil?
682
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
683
+ query_params[:'goal'] = opts[:'goal'] if !opts[:'goal'].nil?
684
+ query_params[:'tags'] = opts[:'tags'] if !opts[:'tags'].nil?
685
+ query_params[:'cogmap_ids'] = opts[:'cogmap_ids'] if !opts[:'cogmap_ids'].nil?
686
+ query_params[:'has_artifacts'] = opts[:'has_artifacts'] if !opts[:'has_artifacts'].nil?
687
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
688
+ query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
689
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
690
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
691
+ query_params[:'sections'] = opts[:'sections'] if !opts[:'sections'].nil?
692
+
693
+ # header parameters
694
+ header_params = opts[:header_params] || {}
695
+ # HTTP header 'Accept' (if needed)
696
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
697
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
698
+
699
+ # form parameters
700
+ form_params = opts[:form_params] || {}
701
+
702
+ # http body (model)
703
+ post_body = opts[:debug_body]
704
+
705
+ # return_type
706
+ return_type = opts[:debug_return_type] || 'ResourceListResponse'
707
+
708
+ # auth_names
709
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
710
+
711
+ new_options = opts.merge(
712
+ :operation => :"ResourcesApi.list_resources",
713
+ :header_params => header_params,
714
+ :query_params => query_params,
715
+ :form_params => form_params,
716
+ :body => post_body,
717
+ :auth_names => auth_names,
718
+ :return_type => return_type
719
+ )
720
+
721
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
722
+ if @api_client.config.debugging
723
+ @api_client.config.logger.debug "API called: ResourcesApi#list_resources\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
724
+ end
725
+ return data, status_code, headers
726
+ end
727
+
728
+ # Read a resource's block provenance
729
+ # @param id [String] Resource ID
730
+ # @param [Hash] opts the optional parameters
731
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
732
+ # @return [Array<BlockProvenanceRow>]
733
+ def provenance(id, opts = {})
734
+ data, _status_code, _headers = provenance_with_http_info(id, opts)
735
+ data
736
+ end
737
+
738
+ # Read a resource&#39;s block provenance
739
+ # @param id [String] Resource ID
740
+ # @param [Hash] opts the optional parameters
741
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
742
+ # @return [Array<(Array<BlockProvenanceRow>, Integer, Hash)>] Array<BlockProvenanceRow> data, response status code and response headers
743
+ def provenance_with_http_info(id, opts = {})
744
+ if @api_client.config.debugging
745
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.provenance ...'
746
+ end
747
+ # verify the required parameter 'id' is set
748
+ if @api_client.config.client_side_validation && id.nil?
749
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.provenance"
750
+ end
751
+ allowable_values = ["cli", "sdk"]
752
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
753
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
754
+ end
755
+ # resource path
756
+ local_var_path = '/api/resources/{id}/provenance'.sub('{id}', CGI.escape(id.to_s))
757
+
758
+ # query parameters
759
+ query_params = opts[:query_params] || {}
760
+
761
+ # header parameters
762
+ header_params = opts[:header_params] || {}
763
+ # HTTP header 'Accept' (if needed)
764
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
765
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
766
+
767
+ # form parameters
768
+ form_params = opts[:form_params] || {}
769
+
770
+ # http body (model)
771
+ post_body = opts[:debug_body]
772
+
773
+ # return_type
774
+ return_type = opts[:debug_return_type] || 'Array<BlockProvenanceRow>'
775
+
776
+ # auth_names
777
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
778
+
779
+ new_options = opts.merge(
780
+ :operation => :"ResourcesApi.provenance",
781
+ :header_params => header_params,
782
+ :query_params => query_params,
783
+ :form_params => form_params,
784
+ :body => post_body,
785
+ :auth_names => auth_names,
786
+ :return_type => return_type
787
+ )
788
+
789
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
790
+ if @api_client.config.debugging
791
+ @api_client.config.logger.debug "API called: ResourcesApi#provenance\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
792
+ end
793
+ return data, status_code, headers
794
+ end
795
+
796
+ # Read one content block by address (the three-state resolution)
797
+ # The defined-dangling-state design: `200` the block is live (identity, chunk identities, provenance), `410 Gone` the block is folded (the envelope carries its attribution history and its gated successor dispositions), `404` absent. No redirect — successor names ride as data inside the gated envelope, never as a Location the caller may not be authorized to follow.
798
+ # @param id [String] Resource ID
799
+ # @param block_id [String] Content block ID
800
+ # @param [Hash] opts the optional parameters
801
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
802
+ # @return [BlockRead]
803
+ def read_block(id, block_id, opts = {})
804
+ data, _status_code, _headers = read_block_with_http_info(id, block_id, opts)
805
+ data
806
+ end
807
+
808
+ # Read one content block by address (the three-state resolution)
809
+ # The defined-dangling-state design: &#x60;200&#x60; the block is live (identity, chunk identities, provenance), &#x60;410 Gone&#x60; the block is folded (the envelope carries its attribution history and its gated successor dispositions), &#x60;404&#x60; absent. No redirect — successor names ride as data inside the gated envelope, never as a Location the caller may not be authorized to follow.
810
+ # @param id [String] Resource ID
811
+ # @param block_id [String] Content block ID
812
+ # @param [Hash] opts the optional parameters
813
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
814
+ # @return [Array<(BlockRead, Integer, Hash)>] BlockRead data, response status code and response headers
815
+ def read_block_with_http_info(id, block_id, opts = {})
816
+ if @api_client.config.debugging
817
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.read_block ...'
818
+ end
819
+ # verify the required parameter 'id' is set
820
+ if @api_client.config.client_side_validation && id.nil?
821
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.read_block"
822
+ end
823
+ # verify the required parameter 'block_id' is set
824
+ if @api_client.config.client_side_validation && block_id.nil?
825
+ fail ArgumentError, "Missing the required parameter 'block_id' when calling ResourcesApi.read_block"
826
+ end
827
+ allowable_values = ["cli", "sdk"]
828
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
829
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
830
+ end
831
+ # resource path
832
+ local_var_path = '/api/resources/{id}/blocks/{block_id}'.sub('{id}', CGI.escape(id.to_s)).sub('{block_id}', CGI.escape(block_id.to_s))
833
+
834
+ # query parameters
835
+ query_params = opts[:query_params] || {}
836
+
837
+ # header parameters
838
+ header_params = opts[:header_params] || {}
839
+ # HTTP header 'Accept' (if needed)
840
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
841
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
842
+
843
+ # form parameters
844
+ form_params = opts[:form_params] || {}
845
+
846
+ # http body (model)
847
+ post_body = opts[:debug_body]
848
+
849
+ # return_type
850
+ return_type = opts[:debug_return_type] || 'BlockRead'
851
+
852
+ # auth_names
853
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
854
+
855
+ new_options = opts.merge(
856
+ :operation => :"ResourcesApi.read_block",
857
+ :header_params => header_params,
858
+ :query_params => query_params,
859
+ :form_params => form_params,
860
+ :body => post_body,
861
+ :auth_names => auth_names,
862
+ :return_type => return_type
863
+ )
864
+
865
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
866
+ if @api_client.config.debugging
867
+ @api_client.config.logger.debug "API called: ResourcesApi#read_block\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
868
+ end
869
+ return data, status_code, headers
870
+ end
871
+
872
+ # Reassign a resource to another owner
873
+ # @param id [String] Resource ID
874
+ # @param reassign_resource_request [ReassignResourceRequest]
875
+ # @param [Hash] opts the optional parameters
876
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
877
+ # @return [ReassignAck]
878
+ def reassign_resource(id, reassign_resource_request, opts = {})
879
+ data, _status_code, _headers = reassign_resource_with_http_info(id, reassign_resource_request, opts)
880
+ data
881
+ end
882
+
883
+ # Reassign a resource to another owner
884
+ # @param id [String] Resource ID
885
+ # @param reassign_resource_request [ReassignResourceRequest]
886
+ # @param [Hash] opts the optional parameters
887
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
888
+ # @return [Array<(ReassignAck, Integer, Hash)>] ReassignAck data, response status code and response headers
889
+ def reassign_resource_with_http_info(id, reassign_resource_request, opts = {})
890
+ if @api_client.config.debugging
891
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.reassign_resource ...'
892
+ end
893
+ # verify the required parameter 'id' is set
894
+ if @api_client.config.client_side_validation && id.nil?
895
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.reassign_resource"
896
+ end
897
+ # verify the required parameter 'reassign_resource_request' is set
898
+ if @api_client.config.client_side_validation && reassign_resource_request.nil?
899
+ fail ArgumentError, "Missing the required parameter 'reassign_resource_request' when calling ResourcesApi.reassign_resource"
900
+ end
901
+ allowable_values = ["cli", "sdk"]
902
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
903
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
904
+ end
905
+ # resource path
906
+ local_var_path = '/api/resources/{id}/reassign'.sub('{id}', CGI.escape(id.to_s))
907
+
908
+ # query parameters
909
+ query_params = opts[:query_params] || {}
910
+
911
+ # header parameters
912
+ header_params = opts[:header_params] || {}
913
+ # HTTP header 'Accept' (if needed)
914
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
915
+ # HTTP header 'Content-Type'
916
+ content_type = @api_client.select_header_content_type(['application/json'])
917
+ if !content_type.nil?
918
+ header_params['Content-Type'] = content_type
919
+ end
920
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
921
+
922
+ # form parameters
923
+ form_params = opts[:form_params] || {}
924
+
925
+ # http body (model)
926
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(reassign_resource_request)
927
+
928
+ # return_type
929
+ return_type = opts[:debug_return_type] || 'ReassignAck'
930
+
931
+ # auth_names
932
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
933
+
934
+ new_options = opts.merge(
935
+ :operation => :"ResourcesApi.reassign_resource",
936
+ :header_params => header_params,
937
+ :query_params => query_params,
938
+ :form_params => form_params,
939
+ :body => post_body,
940
+ :auth_names => auth_names,
941
+ :return_type => return_type
942
+ )
943
+
944
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
945
+ if @api_client.config.debugging
946
+ @api_client.config.logger.debug "API called: ResourcesApi#reassign_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
947
+ end
948
+ return data, status_code, headers
949
+ end
950
+
951
+ # Record a citation-audit verdict
952
+ # `id` is a routing address. The authorization subject is the finding that owns the block named in the request body, resolved server-side. If that finding disagrees with `id` the write is refused with 404, so you cannot address one finding in the path while recording an audit against a block of another.
953
+ # @param id [String] Resource ID (the finding being audited)
954
+ # @param citation_audit_request [CitationAuditRequest]
955
+ # @param [Hash] opts the optional parameters
956
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
957
+ # @return [String]
958
+ def record_citation_audit(id, citation_audit_request, opts = {})
959
+ data, _status_code, _headers = record_citation_audit_with_http_info(id, citation_audit_request, opts)
960
+ data
961
+ end
962
+
963
+ # Record a citation-audit verdict
964
+ # &#x60;id&#x60; is a routing address. The authorization subject is the finding that owns the block named in the request body, resolved server-side. If that finding disagrees with &#x60;id&#x60; the write is refused with 404, so you cannot address one finding in the path while recording an audit against a block of another.
965
+ # @param id [String] Resource ID (the finding being audited)
966
+ # @param citation_audit_request [CitationAuditRequest]
967
+ # @param [Hash] opts the optional parameters
968
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
969
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
970
+ def record_citation_audit_with_http_info(id, citation_audit_request, opts = {})
971
+ if @api_client.config.debugging
972
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.record_citation_audit ...'
973
+ end
974
+ # verify the required parameter 'id' is set
975
+ if @api_client.config.client_side_validation && id.nil?
976
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.record_citation_audit"
977
+ end
978
+ # verify the required parameter 'citation_audit_request' is set
979
+ if @api_client.config.client_side_validation && citation_audit_request.nil?
980
+ fail ArgumentError, "Missing the required parameter 'citation_audit_request' when calling ResourcesApi.record_citation_audit"
981
+ end
982
+ allowable_values = ["cli", "sdk"]
983
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
984
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
985
+ end
986
+ # resource path
987
+ local_var_path = '/api/resources/{id}/citation-audits'.sub('{id}', CGI.escape(id.to_s))
988
+
989
+ # query parameters
990
+ query_params = opts[:query_params] || {}
991
+
992
+ # header parameters
993
+ header_params = opts[:header_params] || {}
994
+ # HTTP header 'Accept' (if needed)
995
+ header_params['Accept'] = @api_client.select_header_accept(['text/plain', 'application/json']) unless header_params['Accept']
996
+ # HTTP header 'Content-Type'
997
+ content_type = @api_client.select_header_content_type(['application/json'])
998
+ if !content_type.nil?
999
+ header_params['Content-Type'] = content_type
1000
+ end
1001
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
1002
+
1003
+ # form parameters
1004
+ form_params = opts[:form_params] || {}
1005
+
1006
+ # http body (model)
1007
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(citation_audit_request)
1008
+
1009
+ # return_type
1010
+ return_type = opts[:debug_return_type] || 'String'
1011
+
1012
+ # auth_names
1013
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
1014
+
1015
+ new_options = opts.merge(
1016
+ :operation => :"ResourcesApi.record_citation_audit",
1017
+ :header_params => header_params,
1018
+ :query_params => query_params,
1019
+ :form_params => form_params,
1020
+ :body => post_body,
1021
+ :auth_names => auth_names,
1022
+ :return_type => return_type
1023
+ )
1024
+
1025
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1026
+ if @api_client.config.debugging
1027
+ @api_client.config.logger.debug "API called: ResourcesApi#record_citation_audit\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1028
+ end
1029
+ return data, status_code, headers
1030
+ end
1031
+
1032
+ # Read a resource's evidential standing
1033
+ # @param id [String] Resource ID
1034
+ # @param [Hash] opts the optional parameters
1035
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
1036
+ # @return [StandingShape]
1037
+ def resource_evidence(id, opts = {})
1038
+ data, _status_code, _headers = resource_evidence_with_http_info(id, opts)
1039
+ data
1040
+ end
1041
+
1042
+ # Read a resource&#39;s evidential standing
1043
+ # @param id [String] Resource ID
1044
+ # @param [Hash] opts the optional parameters
1045
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
1046
+ # @return [Array<(StandingShape, Integer, Hash)>] StandingShape data, response status code and response headers
1047
+ def resource_evidence_with_http_info(id, opts = {})
1048
+ if @api_client.config.debugging
1049
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.resource_evidence ...'
1050
+ end
1051
+ # verify the required parameter 'id' is set
1052
+ if @api_client.config.client_side_validation && id.nil?
1053
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.resource_evidence"
1054
+ end
1055
+ allowable_values = ["cli", "sdk"]
1056
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
1057
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
1058
+ end
1059
+ # resource path
1060
+ local_var_path = '/api/resources/{id}/evidence'.sub('{id}', CGI.escape(id.to_s))
1061
+
1062
+ # query parameters
1063
+ query_params = opts[:query_params] || {}
1064
+
1065
+ # header parameters
1066
+ header_params = opts[:header_params] || {}
1067
+ # HTTP header 'Accept' (if needed)
1068
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1069
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
1070
+
1071
+ # form parameters
1072
+ form_params = opts[:form_params] || {}
1073
+
1074
+ # http body (model)
1075
+ post_body = opts[:debug_body]
1076
+
1077
+ # return_type
1078
+ return_type = opts[:debug_return_type] || 'StandingShape'
1079
+
1080
+ # auth_names
1081
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
1082
+
1083
+ new_options = opts.merge(
1084
+ :operation => :"ResourcesApi.resource_evidence",
1085
+ :header_params => header_params,
1086
+ :query_params => query_params,
1087
+ :form_params => form_params,
1088
+ :body => post_body,
1089
+ :auth_names => auth_names,
1090
+ :return_type => return_type
1091
+ )
1092
+
1093
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1094
+ if @api_client.config.debugging
1095
+ @api_client.config.logger.debug "API called: ResourcesApi#resource_evidence\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1096
+ end
1097
+ return data, status_code, headers
1098
+ end
1099
+
1100
+ # Trace a resource's derivation lineage
1101
+ # @param id [String] Resource ID
1102
+ # @param [Hash] opts the optional parameters
1103
+ # @option opts [Integer] :depth Max hop distance to walk from the seed (default 16, clamped to 1..&#x3D;64).
1104
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
1105
+ # @return [ResourceLineage]
1106
+ def resource_lineage(id, opts = {})
1107
+ data, _status_code, _headers = resource_lineage_with_http_info(id, opts)
1108
+ data
1109
+ end
1110
+
1111
+ # Trace a resource&#39;s derivation lineage
1112
+ # @param id [String] Resource ID
1113
+ # @param [Hash] opts the optional parameters
1114
+ # @option opts [Integer] :depth Max hop distance to walk from the seed (default 16, clamped to 1..&#x3D;64).
1115
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
1116
+ # @return [Array<(ResourceLineage, Integer, Hash)>] ResourceLineage data, response status code and response headers
1117
+ def resource_lineage_with_http_info(id, opts = {})
1118
+ if @api_client.config.debugging
1119
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.resource_lineage ...'
1120
+ end
1121
+ # verify the required parameter 'id' is set
1122
+ if @api_client.config.client_side_validation && id.nil?
1123
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.resource_lineage"
1124
+ end
1125
+ allowable_values = ["cli", "sdk"]
1126
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
1127
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
1128
+ end
1129
+ # resource path
1130
+ local_var_path = '/api/resources/{id}/lineage'.sub('{id}', CGI.escape(id.to_s))
1131
+
1132
+ # query parameters
1133
+ query_params = opts[:query_params] || {}
1134
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1135
+
1136
+ # header parameters
1137
+ header_params = opts[:header_params] || {}
1138
+ # HTTP header 'Accept' (if needed)
1139
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1140
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
1141
+
1142
+ # form parameters
1143
+ form_params = opts[:form_params] || {}
1144
+
1145
+ # http body (model)
1146
+ post_body = opts[:debug_body]
1147
+
1148
+ # return_type
1149
+ return_type = opts[:debug_return_type] || 'ResourceLineage'
1150
+
1151
+ # auth_names
1152
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
1153
+
1154
+ new_options = opts.merge(
1155
+ :operation => :"ResourcesApi.resource_lineage",
1156
+ :header_params => header_params,
1157
+ :query_params => query_params,
1158
+ :form_params => form_params,
1159
+ :body => post_body,
1160
+ :auth_names => auth_names,
1161
+ :return_type => return_type
1162
+ )
1163
+
1164
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1165
+ if @api_client.config.debugging
1166
+ @api_client.config.logger.debug "API called: ResourcesApi#resource_lineage\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1167
+ end
1168
+ return data, status_code, headers
1169
+ end
1170
+
1171
+ # Revoke access to a resource
1172
+ # @param id [String] Resource ID
1173
+ # @param resource_revoke_body [ResourceRevokeBody]
1174
+ # @param [Hash] opts the optional parameters
1175
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
1176
+ # @return [RevokeOutcome]
1177
+ def revoke_resource_access(id, resource_revoke_body, opts = {})
1178
+ data, _status_code, _headers = revoke_resource_access_with_http_info(id, resource_revoke_body, opts)
1179
+ data
1180
+ end
1181
+
1182
+ # Revoke access to a resource
1183
+ # @param id [String] Resource ID
1184
+ # @param resource_revoke_body [ResourceRevokeBody]
1185
+ # @param [Hash] opts the optional parameters
1186
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
1187
+ # @return [Array<(RevokeOutcome, Integer, Hash)>] RevokeOutcome data, response status code and response headers
1188
+ def revoke_resource_access_with_http_info(id, resource_revoke_body, opts = {})
1189
+ if @api_client.config.debugging
1190
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.revoke_resource_access ...'
1191
+ end
1192
+ # verify the required parameter 'id' is set
1193
+ if @api_client.config.client_side_validation && id.nil?
1194
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.revoke_resource_access"
1195
+ end
1196
+ # verify the required parameter 'resource_revoke_body' is set
1197
+ if @api_client.config.client_side_validation && resource_revoke_body.nil?
1198
+ fail ArgumentError, "Missing the required parameter 'resource_revoke_body' when calling ResourcesApi.revoke_resource_access"
1199
+ end
1200
+ allowable_values = ["cli", "sdk"]
1201
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
1202
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
1203
+ end
1204
+ # resource path
1205
+ local_var_path = '/api/resources/{id}/grants'.sub('{id}', CGI.escape(id.to_s))
1206
+
1207
+ # query parameters
1208
+ query_params = opts[:query_params] || {}
1209
+
1210
+ # header parameters
1211
+ header_params = opts[:header_params] || {}
1212
+ # HTTP header 'Accept' (if needed)
1213
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1214
+ # HTTP header 'Content-Type'
1215
+ content_type = @api_client.select_header_content_type(['application/json'])
1216
+ if !content_type.nil?
1217
+ header_params['Content-Type'] = content_type
1218
+ end
1219
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
1220
+
1221
+ # form parameters
1222
+ form_params = opts[:form_params] || {}
1223
+
1224
+ # http body (model)
1225
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(resource_revoke_body)
1226
+
1227
+ # return_type
1228
+ return_type = opts[:debug_return_type] || 'RevokeOutcome'
1229
+
1230
+ # auth_names
1231
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
1232
+
1233
+ new_options = opts.merge(
1234
+ :operation => :"ResourcesApi.revoke_resource_access",
1235
+ :header_params => header_params,
1236
+ :query_params => query_params,
1237
+ :form_params => form_params,
1238
+ :body => post_body,
1239
+ :auth_names => auth_names,
1240
+ :return_type => return_type
1241
+ )
1242
+
1243
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
1244
+ if @api_client.config.debugging
1245
+ @api_client.config.logger.debug "API called: ResourcesApi#revoke_resource_access\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1246
+ end
1247
+ return data, status_code, headers
1248
+ end
1249
+
1250
+ # Update a resource
1251
+ # @param id [String] Resource ID
1252
+ # @param resource_update_request [ResourceUpdateRequest]
1253
+ # @param [Hash] opts the optional parameters
1254
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
1255
+ # @return [ResourceView]
1256
+ def update_resource(id, resource_update_request, opts = {})
1257
+ data, _status_code, _headers = update_resource_with_http_info(id, resource_update_request, opts)
1258
+ data
1259
+ end
1260
+
1261
+ # Update a resource
1262
+ # @param id [String] Resource ID
1263
+ # @param resource_update_request [ResourceUpdateRequest]
1264
+ # @param [Hash] opts the optional parameters
1265
+ # @option opts [String] :x_temper_surface The calling surface, for event-ledger attribution. Accepted values are &#x60;cli&#x60; and &#x60;sdk&#x60;; an absent or unrecognized value attributes the write to &#x60;web&#x60;. This is provenance, never authorization — an unrecognized value degrades, it never rejects.
1266
+ # @return [Array<(ResourceView, Integer, Hash)>] ResourceView data, response status code and response headers
1267
+ def update_resource_with_http_info(id, resource_update_request, opts = {})
1268
+ if @api_client.config.debugging
1269
+ @api_client.config.logger.debug 'Calling API: ResourcesApi.update_resource ...'
1270
+ end
1271
+ # verify the required parameter 'id' is set
1272
+ if @api_client.config.client_side_validation && id.nil?
1273
+ fail ArgumentError, "Missing the required parameter 'id' when calling ResourcesApi.update_resource"
1274
+ end
1275
+ # verify the required parameter 'resource_update_request' is set
1276
+ if @api_client.config.client_side_validation && resource_update_request.nil?
1277
+ fail ArgumentError, "Missing the required parameter 'resource_update_request' when calling ResourcesApi.update_resource"
1278
+ end
1279
+ allowable_values = ["cli", "sdk"]
1280
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
1281
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
1282
+ end
1283
+ # resource path
1284
+ local_var_path = '/api/resources/{id}'.sub('{id}', CGI.escape(id.to_s))
1285
+
1286
+ # query parameters
1287
+ query_params = opts[:query_params] || {}
1288
+
1289
+ # header parameters
1290
+ header_params = opts[:header_params] || {}
1291
+ # HTTP header 'Accept' (if needed)
1292
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1293
+ # HTTP header 'Content-Type'
1294
+ content_type = @api_client.select_header_content_type(['application/json'])
1295
+ if !content_type.nil?
1296
+ header_params['Content-Type'] = content_type
1297
+ end
1298
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
1299
+
1300
+ # form parameters
1301
+ form_params = opts[:form_params] || {}
1302
+
1303
+ # http body (model)
1304
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(resource_update_request)
1305
+
1306
+ # return_type
1307
+ return_type = opts[:debug_return_type] || 'ResourceView'
1308
+
1309
+ # auth_names
1310
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
1311
+
1312
+ new_options = opts.merge(
1313
+ :operation => :"ResourcesApi.update_resource",
1314
+ :header_params => header_params,
1315
+ :query_params => query_params,
1316
+ :form_params => form_params,
1317
+ :body => post_body,
1318
+ :auth_names => auth_names,
1319
+ :return_type => return_type
1320
+ )
1321
+
1322
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1323
+ if @api_client.config.debugging
1324
+ @api_client.config.logger.debug "API called: ResourcesApi#update_resource\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1325
+ end
1326
+ return data, status_code, headers
1327
+ end
1328
+ end
1329
+ end