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,785 @@
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 BlobsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Append one segment to a staged upload — raw bytes as the request body
23
+ # The segment's identity is the SERVER's own sha256 of the exact bytes received — the caller sends no integrity claim, so none can be consumed unverified: re-sending the same segment at the same seq is a no-op; a DIFFERENT segment at an occupied seq is a 409 — occupied seqs are never superseded. The whole assembly's integrity is finalize's `expected_content_hash` (422 on a mismatch). The staging ceiling (`BlobConfig::max_bytes`, the cumulative bound across appends) is enforced in the service; the per-request body bound is the platform's, raised for this door only.
24
+ # @param id [String] Upload session ID
25
+ # @param seq [Integer] Segment ordinal — the seq order is the assembly order at finalize
26
+ # @param [Hash] opts the optional parameters
27
+ # @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.
28
+ # @return [BlobUploadProgress]
29
+ def append_blob_segment(id, seq, opts = {})
30
+ data, _status_code, _headers = append_blob_segment_with_http_info(id, seq, opts)
31
+ data
32
+ end
33
+
34
+ # Append one segment to a staged upload — raw bytes as the request body
35
+ # The segment's identity is the SERVER's own sha256 of the exact bytes received — the caller sends no integrity claim, so none can be consumed unverified: re-sending the same segment at the same seq is a no-op; a DIFFERENT segment at an occupied seq is a 409 — occupied seqs are never superseded. The whole assembly's integrity is finalize's `expected_content_hash` (422 on a mismatch). The staging ceiling (`BlobConfig::max_bytes`, the cumulative bound across appends) is enforced in the service; the per-request body bound is the platform's, raised for this door only.
36
+ # @param id [String] Upload session ID
37
+ # @param seq [Integer] Segment ordinal — the seq order is the assembly order at finalize
38
+ # @param [Hash] opts the optional parameters
39
+ # @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.
40
+ # @return [Array<(BlobUploadProgress, Integer, Hash)>] BlobUploadProgress data, response status code and response headers
41
+ def append_blob_segment_with_http_info(id, seq, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: BlobsApi.append_blob_segment ...'
44
+ end
45
+ # verify the required parameter 'id' is set
46
+ if @api_client.config.client_side_validation && id.nil?
47
+ fail ArgumentError, "Missing the required parameter 'id' when calling BlobsApi.append_blob_segment"
48
+ end
49
+ # verify the required parameter 'seq' is set
50
+ if @api_client.config.client_side_validation && seq.nil?
51
+ fail ArgumentError, "Missing the required parameter 'seq' when calling BlobsApi.append_blob_segment"
52
+ end
53
+ if @api_client.config.client_side_validation && seq < 0
54
+ fail ArgumentError, 'invalid value for "seq" when calling BlobsApi.append_blob_segment, must be greater than or equal to 0.'
55
+ end
56
+
57
+ allowable_values = ["cli", "sdk"]
58
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
59
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
60
+ end
61
+ # resource path
62
+ local_var_path = '/api/blobs/uploads/{id}/segments'.sub('{id}', CGI.escape(id.to_s))
63
+
64
+ # query parameters
65
+ query_params = opts[:query_params] || {}
66
+ query_params[:'seq'] = seq
67
+
68
+ # header parameters
69
+ header_params = opts[:header_params] || {}
70
+ # HTTP header 'Accept' (if needed)
71
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
72
+ # HTTP header 'Content-Type'
73
+ content_type = @api_client.select_header_content_type(['application/octet-stream'])
74
+ if !content_type.nil?
75
+ header_params['Content-Type'] = content_type
76
+ end
77
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
78
+
79
+ # form parameters
80
+ form_params = opts[:form_params] || {}
81
+
82
+ # http body (model)
83
+ post_body = opts[:debug_body]
84
+
85
+ # return_type
86
+ return_type = opts[:debug_return_type] || 'BlobUploadProgress'
87
+
88
+ # auth_names
89
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
90
+
91
+ new_options = opts.merge(
92
+ :operation => :"BlobsApi.append_blob_segment",
93
+ :header_params => header_params,
94
+ :query_params => query_params,
95
+ :form_params => form_params,
96
+ :body => post_body,
97
+ :auth_names => auth_names,
98
+ :return_type => return_type
99
+ )
100
+
101
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug "API called: BlobsApi#append_blob_segment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
104
+ end
105
+ return data, status_code, headers
106
+ end
107
+
108
+ # Begin a segmented upload — declare the home and media type, get the session id
109
+ # A staged session is not a blob: it has no hash yet, it appears in no list, no graph walk, no read surface — only its owner can append to it, read its progress, or finalize it. Home standing is checked here (fail fast) AND at finalize (authoritative — standing can change mid-upload); the allowlist is not consulted at all until the wrapper sees the commit. Same disabled refusal as the single-request path: a session begun on a disabled instance (no store configured, or `BLOB_ENABLED` closed it) could never finalize.
110
+ # @param blob_upload_begin_request [BlobUploadBeginRequest]
111
+ # @param [Hash] opts the optional parameters
112
+ # @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.
113
+ # @return [BlobUploadBeginResponse]
114
+ def begin_blob_upload(blob_upload_begin_request, opts = {})
115
+ data, _status_code, _headers = begin_blob_upload_with_http_info(blob_upload_begin_request, opts)
116
+ data
117
+ end
118
+
119
+ # Begin a segmented upload — declare the home and media type, get the session id
120
+ # A staged session is not a blob: it has no hash yet, it appears in no list, no graph walk, no read surface — only its owner can append to it, read its progress, or finalize it. Home standing is checked here (fail fast) AND at finalize (authoritative — standing can change mid-upload); the allowlist is not consulted at all until the wrapper sees the commit. Same disabled refusal as the single-request path: a session begun on a disabled instance (no store configured, or &#x60;BLOB_ENABLED&#x60; closed it) could never finalize.
121
+ # @param blob_upload_begin_request [BlobUploadBeginRequest]
122
+ # @param [Hash] opts the optional parameters
123
+ # @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.
124
+ # @return [Array<(BlobUploadBeginResponse, Integer, Hash)>] BlobUploadBeginResponse data, response status code and response headers
125
+ def begin_blob_upload_with_http_info(blob_upload_begin_request, opts = {})
126
+ if @api_client.config.debugging
127
+ @api_client.config.logger.debug 'Calling API: BlobsApi.begin_blob_upload ...'
128
+ end
129
+ # verify the required parameter 'blob_upload_begin_request' is set
130
+ if @api_client.config.client_side_validation && blob_upload_begin_request.nil?
131
+ fail ArgumentError, "Missing the required parameter 'blob_upload_begin_request' when calling BlobsApi.begin_blob_upload"
132
+ end
133
+ allowable_values = ["cli", "sdk"]
134
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
135
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
136
+ end
137
+ # resource path
138
+ local_var_path = '/api/blobs/uploads'
139
+
140
+ # query parameters
141
+ query_params = opts[:query_params] || {}
142
+
143
+ # header parameters
144
+ header_params = opts[:header_params] || {}
145
+ # HTTP header 'Accept' (if needed)
146
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
147
+ # HTTP header 'Content-Type'
148
+ content_type = @api_client.select_header_content_type(['application/json'])
149
+ if !content_type.nil?
150
+ header_params['Content-Type'] = content_type
151
+ end
152
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
153
+
154
+ # form parameters
155
+ form_params = opts[:form_params] || {}
156
+
157
+ # http body (model)
158
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(blob_upload_begin_request)
159
+
160
+ # return_type
161
+ return_type = opts[:debug_return_type] || 'BlobUploadBeginResponse'
162
+
163
+ # auth_names
164
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
165
+
166
+ new_options = opts.merge(
167
+ :operation => :"BlobsApi.begin_blob_upload",
168
+ :header_params => header_params,
169
+ :query_params => query_params,
170
+ :form_params => form_params,
171
+ :body => post_body,
172
+ :auth_names => auth_names,
173
+ :return_type => return_type
174
+ )
175
+
176
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
177
+ if @api_client.config.debugging
178
+ @api_client.config.logger.debug "API called: BlobsApi#begin_blob_upload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
179
+ end
180
+ return data, status_code, headers
181
+ end
182
+
183
+ # List the edges incident to a blob — \"what relates to this blob\" (D3)
184
+ # Edges are narrowed by `edges_visible_to` after the blob's own readability gate, so a relation across a visibility boundary leaks neither side: the response holds only edges whose home AND both readable endpoints the caller already has standing for.
185
+ # @param id [String] Blob ID
186
+ # @param [Hash] opts the optional parameters
187
+ # @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.
188
+ # @return [Array<BlobRelationRow>]
189
+ def blob_relations(id, opts = {})
190
+ data, _status_code, _headers = blob_relations_with_http_info(id, opts)
191
+ data
192
+ end
193
+
194
+ # List the edges incident to a blob — \&quot;what relates to this blob\&quot; (D3)
195
+ # Edges are narrowed by &#x60;edges_visible_to&#x60; after the blob&#39;s own readability gate, so a relation across a visibility boundary leaks neither side: the response holds only edges whose home AND both readable endpoints the caller already has standing for.
196
+ # @param id [String] Blob ID
197
+ # @param [Hash] opts the optional parameters
198
+ # @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.
199
+ # @return [Array<(Array<BlobRelationRow>, Integer, Hash)>] Array<BlobRelationRow> data, response status code and response headers
200
+ def blob_relations_with_http_info(id, opts = {})
201
+ if @api_client.config.debugging
202
+ @api_client.config.logger.debug 'Calling API: BlobsApi.blob_relations ...'
203
+ end
204
+ # verify the required parameter 'id' is set
205
+ if @api_client.config.client_side_validation && id.nil?
206
+ fail ArgumentError, "Missing the required parameter 'id' when calling BlobsApi.blob_relations"
207
+ end
208
+ allowable_values = ["cli", "sdk"]
209
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
210
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
211
+ end
212
+ # resource path
213
+ local_var_path = '/api/blobs/{id}/relations'.sub('{id}', CGI.escape(id.to_s))
214
+
215
+ # query parameters
216
+ query_params = opts[:query_params] || {}
217
+
218
+ # header parameters
219
+ header_params = opts[:header_params] || {}
220
+ # HTTP header 'Accept' (if needed)
221
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
222
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
223
+
224
+ # form parameters
225
+ form_params = opts[:form_params] || {}
226
+
227
+ # http body (model)
228
+ post_body = opts[:debug_body]
229
+
230
+ # return_type
231
+ return_type = opts[:debug_return_type] || 'Array<BlobRelationRow>'
232
+
233
+ # auth_names
234
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
235
+
236
+ new_options = opts.merge(
237
+ :operation => :"BlobsApi.blob_relations",
238
+ :header_params => header_params,
239
+ :query_params => query_params,
240
+ :form_params => form_params,
241
+ :body => post_body,
242
+ :auth_names => auth_names,
243
+ :return_type => return_type
244
+ )
245
+
246
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
247
+ if @api_client.config.debugging
248
+ @api_client.config.logger.debug "API called: BlobsApi#blob_relations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
249
+ end
250
+ return data, status_code, headers
251
+ end
252
+
253
+ # Read a staged upload's progress — the resume read
254
+ # Returns the currently-landed segment set and the running byte total: the values a finalize echoes back as its concurrency tokens. The staging is caller-private until finalized — another profile's session answers 404, the same absent-not-refused posture every visibility gate renders.
255
+ # @param id [String] Upload session ID
256
+ # @param [Hash] opts the optional parameters
257
+ # @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.
258
+ # @return [BlobUploadProgress]
259
+ def blob_upload_progress(id, opts = {})
260
+ data, _status_code, _headers = blob_upload_progress_with_http_info(id, opts)
261
+ data
262
+ end
263
+
264
+ # Read a staged upload&#39;s progress — the resume read
265
+ # Returns the currently-landed segment set and the running byte total: the values a finalize echoes back as its concurrency tokens. The staging is caller-private until finalized — another profile&#39;s session answers 404, the same absent-not-refused posture every visibility gate renders.
266
+ # @param id [String] Upload session ID
267
+ # @param [Hash] opts the optional parameters
268
+ # @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.
269
+ # @return [Array<(BlobUploadProgress, Integer, Hash)>] BlobUploadProgress data, response status code and response headers
270
+ def blob_upload_progress_with_http_info(id, opts = {})
271
+ if @api_client.config.debugging
272
+ @api_client.config.logger.debug 'Calling API: BlobsApi.blob_upload_progress ...'
273
+ end
274
+ # verify the required parameter 'id' is set
275
+ if @api_client.config.client_side_validation && id.nil?
276
+ fail ArgumentError, "Missing the required parameter 'id' when calling BlobsApi.blob_upload_progress"
277
+ end
278
+ allowable_values = ["cli", "sdk"]
279
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
280
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
281
+ end
282
+ # resource path
283
+ local_var_path = '/api/blobs/uploads/{id}'.sub('{id}', CGI.escape(id.to_s))
284
+
285
+ # query parameters
286
+ query_params = opts[:query_params] || {}
287
+
288
+ # header parameters
289
+ header_params = opts[:header_params] || {}
290
+ # HTTP header 'Accept' (if needed)
291
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
292
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
293
+
294
+ # form parameters
295
+ form_params = opts[:form_params] || {}
296
+
297
+ # http body (model)
298
+ post_body = opts[:debug_body]
299
+
300
+ # return_type
301
+ return_type = opts[:debug_return_type] || 'BlobUploadProgress'
302
+
303
+ # auth_names
304
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
305
+
306
+ new_options = opts.merge(
307
+ :operation => :"BlobsApi.blob_upload_progress",
308
+ :header_params => header_params,
309
+ :query_params => query_params,
310
+ :form_params => form_params,
311
+ :body => post_body,
312
+ :auth_names => auth_names,
313
+ :return_type => return_type
314
+ )
315
+
316
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
317
+ if @api_client.config.debugging
318
+ @api_client.config.logger.debug "API called: BlobsApi#blob_upload_progress\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
319
+ end
320
+ return data, status_code, headers
321
+ end
322
+
323
+ # Commit bytes as a blob — one multipart request at or under the D7 threshold
324
+ # Form fields: `file` (the bytes; its content type is the media type committed), `home_table` (`kb_contexts` or `kb_cogmaps` — a blob needs a home, D2), `home_id` (the anchor's id). The caller acts as themselves: owner is the authenticated profile. The threshold is enforced WHILE the file field streams, so an over-threshold body is refused before it is ever fully buffered, and the refusal names the vocabulary — the threshold in force and the segmented path beyond it. Cap and allowlist stay the SQL wrapper's authority: the substrate write passes this config's numbers through, and a refusal from there surfaces verbatim (`blob_service::map_commit_err`).
325
+ # @param [Hash] opts the optional parameters
326
+ # @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.
327
+ # @return [BlobCommitResponse]
328
+ def commit_blob(opts = {})
329
+ data, _status_code, _headers = commit_blob_with_http_info(opts)
330
+ data
331
+ end
332
+
333
+ # Commit bytes as a blob — one multipart request at or under the D7 threshold
334
+ # Form fields: &#x60;file&#x60; (the bytes; its content type is the media type committed), &#x60;home_table&#x60; (&#x60;kb_contexts&#x60; or &#x60;kb_cogmaps&#x60; — a blob needs a home, D2), &#x60;home_id&#x60; (the anchor&#39;s id). The caller acts as themselves: owner is the authenticated profile. The threshold is enforced WHILE the file field streams, so an over-threshold body is refused before it is ever fully buffered, and the refusal names the vocabulary — the threshold in force and the segmented path beyond it. Cap and allowlist stay the SQL wrapper&#39;s authority: the substrate write passes this config&#39;s numbers through, and a refusal from there surfaces verbatim (&#x60;blob_service::map_commit_err&#x60;).
335
+ # @param [Hash] opts the optional parameters
336
+ # @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.
337
+ # @return [Array<(BlobCommitResponse, Integer, Hash)>] BlobCommitResponse data, response status code and response headers
338
+ def commit_blob_with_http_info(opts = {})
339
+ if @api_client.config.debugging
340
+ @api_client.config.logger.debug 'Calling API: BlobsApi.commit_blob ...'
341
+ end
342
+ allowable_values = ["cli", "sdk"]
343
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
344
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
345
+ end
346
+ # resource path
347
+ local_var_path = '/api/blobs'
348
+
349
+ # query parameters
350
+ query_params = opts[:query_params] || {}
351
+
352
+ # header parameters
353
+ header_params = opts[:header_params] || {}
354
+ # HTTP header 'Accept' (if needed)
355
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
356
+ # HTTP header 'Content-Type'
357
+ content_type = @api_client.select_header_content_type(['multipart/form-data'])
358
+ if !content_type.nil?
359
+ header_params['Content-Type'] = content_type
360
+ end
361
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
362
+
363
+ # form parameters
364
+ form_params = opts[:form_params] || {}
365
+
366
+ # http body (model)
367
+ post_body = opts[:debug_body]
368
+
369
+ # return_type
370
+ return_type = opts[:debug_return_type] || 'BlobCommitResponse'
371
+
372
+ # auth_names
373
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
374
+
375
+ new_options = opts.merge(
376
+ :operation => :"BlobsApi.commit_blob",
377
+ :header_params => header_params,
378
+ :query_params => query_params,
379
+ :form_params => form_params,
380
+ :body => post_body,
381
+ :auth_names => auth_names,
382
+ :return_type => return_type
383
+ )
384
+
385
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
386
+ if @api_client.config.debugging
387
+ @api_client.config.logger.debug "API called: BlobsApi#commit_blob\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
388
+ end
389
+ return data, status_code, headers
390
+ end
391
+
392
+ # Delete one blob — the ordinary delete act's ruled door
393
+ # One gate, two arms, inside the strike's own transaction: delete standing (custody) over EVERY live relation's resource peer, or — when the blob has no live relations — custody of its home (a personal context's owner; a team context's owning-team owner role). The strike empties the row, fires exactly one `blob_deleted`, and folds no edge; when the struck row was the LAST live row carrying its content hash (`released: true`), the provider bytes are deleted post-commit and the byte-delete fence retries-and-alerts on any residue. Already-struck and unknown ids both read 404 with no second event. Author standing, role, and admin standing confer nothing here — custody alone deletes.
394
+ # @param id [String] Blob ID
395
+ # @param [Hash] opts the optional parameters
396
+ # @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.
397
+ # @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.
398
+ # @option opts [String] :reasoning Free-text reasoning for the act. Authorship field — requires &#x60;confidence&#x60;.
399
+ # @option opts [ConfidenceBand] :confidence Graded self-assessed confidence band. Required whenever any other authorship field is set.
400
+ # @option opts [String] :rationale Structured rationale for the act. Authorship field — requires &#x60;confidence&#x60;.
401
+ # @option opts [String] :persona The persona/role the author acted as. Authorship field — requires &#x60;confidence&#x60;.
402
+ # @option opts [String] :model The model that authored the act. Authorship field — requires &#x60;confidence&#x60;.
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 [BlobDeleteAck]
405
+ def delete_blob(id, opts = {})
406
+ data, _status_code, _headers = delete_blob_with_http_info(id, opts)
407
+ data
408
+ end
409
+
410
+ # Delete one blob — the ordinary delete act&#39;s ruled door
411
+ # One gate, two arms, inside the strike&#39;s own transaction: delete standing (custody) over EVERY live relation&#39;s resource peer, or — when the blob has no live relations — custody of its home (a personal context&#39;s owner; a team context&#39;s owning-team owner role). The strike empties the row, fires exactly one &#x60;blob_deleted&#x60;, and folds no edge; when the struck row was the LAST live row carrying its content hash (&#x60;released: true&#x60;), the provider bytes are deleted post-commit and the byte-delete fence retries-and-alerts on any residue. Already-struck and unknown ids both read 404 with no second event. Author standing, role, and admin standing confer nothing here — custody alone deletes.
412
+ # @param id [String] Blob ID
413
+ # @param [Hash] opts the optional parameters
414
+ # @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.
415
+ # @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.
416
+ # @option opts [String] :reasoning Free-text reasoning for the act. Authorship field — requires &#x60;confidence&#x60;.
417
+ # @option opts [ConfidenceBand] :confidence Graded self-assessed confidence band. Required whenever any other authorship field is set.
418
+ # @option opts [String] :rationale Structured rationale for the act. Authorship field — requires &#x60;confidence&#x60;.
419
+ # @option opts [String] :persona The persona/role the author acted as. Authorship field — requires &#x60;confidence&#x60;.
420
+ # @option opts [String] :model The model that authored the act. Authorship field — requires &#x60;confidence&#x60;.
421
+ # @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.
422
+ # @return [Array<(BlobDeleteAck, Integer, Hash)>] BlobDeleteAck data, response status code and response headers
423
+ def delete_blob_with_http_info(id, opts = {})
424
+ if @api_client.config.debugging
425
+ @api_client.config.logger.debug 'Calling API: BlobsApi.delete_blob ...'
426
+ end
427
+ # verify the required parameter 'id' is set
428
+ if @api_client.config.client_side_validation && id.nil?
429
+ fail ArgumentError, "Missing the required parameter 'id' when calling BlobsApi.delete_blob"
430
+ end
431
+ allowable_values = ["cli", "sdk"]
432
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
433
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
434
+ end
435
+ # resource path
436
+ local_var_path = '/api/blobs/{id}'.sub('{id}', CGI.escape(id.to_s))
437
+
438
+ # query parameters
439
+ query_params = opts[:query_params] || {}
440
+ query_params[:'invocation_id'] = opts[:'invocation_id'] if !opts[:'invocation_id'].nil?
441
+ query_params[:'correlation_id'] = opts[:'correlation_id'] if !opts[:'correlation_id'].nil?
442
+ query_params[:'reasoning'] = opts[:'reasoning'] if !opts[:'reasoning'].nil?
443
+ query_params[:'confidence'] = opts[:'confidence'] if !opts[:'confidence'].nil?
444
+ query_params[:'rationale'] = opts[:'rationale'] if !opts[:'rationale'].nil?
445
+ query_params[:'persona'] = opts[:'persona'] if !opts[:'persona'].nil?
446
+ query_params[:'model'] = opts[:'model'] if !opts[:'model'].nil?
447
+
448
+ # header parameters
449
+ header_params = opts[:header_params] || {}
450
+ # HTTP header 'Accept' (if needed)
451
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
452
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
453
+
454
+ # form parameters
455
+ form_params = opts[:form_params] || {}
456
+
457
+ # http body (model)
458
+ post_body = opts[:debug_body]
459
+
460
+ # return_type
461
+ return_type = opts[:debug_return_type] || 'BlobDeleteAck'
462
+
463
+ # auth_names
464
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
465
+
466
+ new_options = opts.merge(
467
+ :operation => :"BlobsApi.delete_blob",
468
+ :header_params => header_params,
469
+ :query_params => query_params,
470
+ :form_params => form_params,
471
+ :body => post_body,
472
+ :auth_names => auth_names,
473
+ :return_type => return_type
474
+ )
475
+
476
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
477
+ if @api_client.config.debugging
478
+ @api_client.config.logger.debug "API called: BlobsApi#delete_blob\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
479
+ end
480
+ return data, status_code, headers
481
+ end
482
+
483
+ # Finalize a staged upload — assemble, hash, commit
484
+ # Assembles the staged segments in seq order and runs the exact single-request commit path: standing re-run (the gate the put answers to), concurrency tokens checked (409, resumable), optional integrity hash checked (422 — the ingest precedent's face), the readability-gated dedup pre-check, the provider put unless deduped, then the SQL wrapper whose cap/allowlist refusals surface verbatim. Staging dies on success only — every failure keeps it, resumable.
485
+ # @param id [String] Upload session ID
486
+ # @param blob_upload_finalize_request [BlobUploadFinalizeRequest]
487
+ # @param [Hash] opts the optional parameters
488
+ # @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.
489
+ # @return [BlobCommitResponse]
490
+ def finalize_blob_upload(id, blob_upload_finalize_request, opts = {})
491
+ data, _status_code, _headers = finalize_blob_upload_with_http_info(id, blob_upload_finalize_request, opts)
492
+ data
493
+ end
494
+
495
+ # Finalize a staged upload — assemble, hash, commit
496
+ # Assembles the staged segments in seq order and runs the exact single-request commit path: standing re-run (the gate the put answers to), concurrency tokens checked (409, resumable), optional integrity hash checked (422 — the ingest precedent&#39;s face), the readability-gated dedup pre-check, the provider put unless deduped, then the SQL wrapper whose cap/allowlist refusals surface verbatim. Staging dies on success only — every failure keeps it, resumable.
497
+ # @param id [String] Upload session ID
498
+ # @param blob_upload_finalize_request [BlobUploadFinalizeRequest]
499
+ # @param [Hash] opts the optional parameters
500
+ # @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.
501
+ # @return [Array<(BlobCommitResponse, Integer, Hash)>] BlobCommitResponse data, response status code and response headers
502
+ def finalize_blob_upload_with_http_info(id, blob_upload_finalize_request, opts = {})
503
+ if @api_client.config.debugging
504
+ @api_client.config.logger.debug 'Calling API: BlobsApi.finalize_blob_upload ...'
505
+ end
506
+ # verify the required parameter 'id' is set
507
+ if @api_client.config.client_side_validation && id.nil?
508
+ fail ArgumentError, "Missing the required parameter 'id' when calling BlobsApi.finalize_blob_upload"
509
+ end
510
+ # verify the required parameter 'blob_upload_finalize_request' is set
511
+ if @api_client.config.client_side_validation && blob_upload_finalize_request.nil?
512
+ fail ArgumentError, "Missing the required parameter 'blob_upload_finalize_request' when calling BlobsApi.finalize_blob_upload"
513
+ end
514
+ allowable_values = ["cli", "sdk"]
515
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
516
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
517
+ end
518
+ # resource path
519
+ local_var_path = '/api/blobs/uploads/{id}/finalize'.sub('{id}', CGI.escape(id.to_s))
520
+
521
+ # query parameters
522
+ query_params = opts[:query_params] || {}
523
+
524
+ # header parameters
525
+ header_params = opts[:header_params] || {}
526
+ # HTTP header 'Accept' (if needed)
527
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
528
+ # HTTP header 'Content-Type'
529
+ content_type = @api_client.select_header_content_type(['application/json'])
530
+ if !content_type.nil?
531
+ header_params['Content-Type'] = content_type
532
+ end
533
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
534
+
535
+ # form parameters
536
+ form_params = opts[:form_params] || {}
537
+
538
+ # http body (model)
539
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(blob_upload_finalize_request)
540
+
541
+ # return_type
542
+ return_type = opts[:debug_return_type] || 'BlobCommitResponse'
543
+
544
+ # auth_names
545
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
546
+
547
+ new_options = opts.merge(
548
+ :operation => :"BlobsApi.finalize_blob_upload",
549
+ :header_params => header_params,
550
+ :query_params => query_params,
551
+ :form_params => form_params,
552
+ :body => post_body,
553
+ :auth_names => auth_names,
554
+ :return_type => return_type
555
+ )
556
+
557
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
558
+ if @api_client.config.debugging
559
+ @api_client.config.logger.debug "API called: BlobsApi#finalize_blob_upload\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
560
+ end
561
+ return data, status_code, headers
562
+ end
563
+
564
+ # Read a blob's bytes back, whole, streamed (D6)
565
+ # Visibility gates on the blob's own home via `blob_readable_by_profile` — not visible renders as 404, the same not-found an unknown id gets, so a probe learns nothing either way. The response speaks the STORED media type and carries the byte count plus `Cache-Control: private, immutable` — content addressing is what earns `immutable` (D1), and `private` because the bytes are per-caller authorized (a shared cache is never licensed to store them); and `Content-Disposition: attachment` — a blob read is a bytes fetch, never a rendering invitation (the F10 ruling: the posture survives the operational changes — cookie auth, CSP relaxation, a commit-time-only allowlist — that would otherwise turn stored active content into stored XSS). The provider address never appears anywhere in the response (D6: the API is the only reader of the provider).
566
+ # @param id [String] Blob ID
567
+ # @param [Hash] opts the optional parameters
568
+ # @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.
569
+ # @return [nil]
570
+ def get_blob(id, opts = {})
571
+ get_blob_with_http_info(id, opts)
572
+ nil
573
+ end
574
+
575
+ # Read a blob&#39;s bytes back, whole, streamed (D6)
576
+ # Visibility gates on the blob&#39;s own home via &#x60;blob_readable_by_profile&#x60; — not visible renders as 404, the same not-found an unknown id gets, so a probe learns nothing either way. The response speaks the STORED media type and carries the byte count plus &#x60;Cache-Control: private, immutable&#x60; — content addressing is what earns &#x60;immutable&#x60; (D1), and &#x60;private&#x60; because the bytes are per-caller authorized (a shared cache is never licensed to store them); and &#x60;Content-Disposition: attachment&#x60; — a blob read is a bytes fetch, never a rendering invitation (the F10 ruling: the posture survives the operational changes — cookie auth, CSP relaxation, a commit-time-only allowlist — that would otherwise turn stored active content into stored XSS). The provider address never appears anywhere in the response (D6: the API is the only reader of the provider).
577
+ # @param id [String] Blob ID
578
+ # @param [Hash] opts the optional parameters
579
+ # @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.
580
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
581
+ def get_blob_with_http_info(id, opts = {})
582
+ if @api_client.config.debugging
583
+ @api_client.config.logger.debug 'Calling API: BlobsApi.get_blob ...'
584
+ end
585
+ # verify the required parameter 'id' is set
586
+ if @api_client.config.client_side_validation && id.nil?
587
+ fail ArgumentError, "Missing the required parameter 'id' when calling BlobsApi.get_blob"
588
+ end
589
+ allowable_values = ["cli", "sdk"]
590
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
591
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
592
+ end
593
+ # resource path
594
+ local_var_path = '/api/blobs/{id}'.sub('{id}', CGI.escape(id.to_s))
595
+
596
+ # query parameters
597
+ query_params = opts[:query_params] || {}
598
+
599
+ # header parameters
600
+ header_params = opts[:header_params] || {}
601
+ # HTTP header 'Accept' (if needed)
602
+ header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'application/json']) unless header_params['Accept']
603
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
604
+
605
+ # form parameters
606
+ form_params = opts[:form_params] || {}
607
+
608
+ # http body (model)
609
+ post_body = opts[:debug_body]
610
+
611
+ # return_type
612
+ return_type = opts[:debug_return_type]
613
+
614
+ # auth_names
615
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
616
+
617
+ new_options = opts.merge(
618
+ :operation => :"BlobsApi.get_blob",
619
+ :header_params => header_params,
620
+ :query_params => query_params,
621
+ :form_params => form_params,
622
+ :body => post_body,
623
+ :auth_names => auth_names,
624
+ :return_type => return_type
625
+ )
626
+
627
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
628
+ if @api_client.config.debugging
629
+ @api_client.config.logger.debug "API called: BlobsApi#get_blob\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
630
+ end
631
+ return data, status_code, headers
632
+ end
633
+
634
+ # List the blobs the caller can read (optionally scoped to one home)
635
+ # Visibility is `blob_readable_by_profile` — the same predicate the read-through gates on, never restated here — so the response IS the caller's blob set and nothing more.
636
+ # @param [Hash] opts the optional parameters
637
+ # @option opts [String] :home_table &#x60;kb_contexts&#x60; or &#x60;kb_cogmaps&#x60; — scope to one home anchor
638
+ # @option opts [String] :home_id The home anchor&#39;s id (with home_table)
639
+ # @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.
640
+ # @return [Array<BlobSummary>]
641
+ def list_blobs(opts = {})
642
+ data, _status_code, _headers = list_blobs_with_http_info(opts)
643
+ data
644
+ end
645
+
646
+ # List the blobs the caller can read (optionally scoped to one home)
647
+ # Visibility is &#x60;blob_readable_by_profile&#x60; — the same predicate the read-through gates on, never restated here — so the response IS the caller&#39;s blob set and nothing more.
648
+ # @param [Hash] opts the optional parameters
649
+ # @option opts [String] :home_table &#x60;kb_contexts&#x60; or &#x60;kb_cogmaps&#x60; — scope to one home anchor
650
+ # @option opts [String] :home_id The home anchor&#39;s id (with home_table)
651
+ # @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.
652
+ # @return [Array<(Array<BlobSummary>, Integer, Hash)>] Array<BlobSummary> data, response status code and response headers
653
+ def list_blobs_with_http_info(opts = {})
654
+ if @api_client.config.debugging
655
+ @api_client.config.logger.debug 'Calling API: BlobsApi.list_blobs ...'
656
+ end
657
+ allowable_values = ["cli", "sdk"]
658
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
659
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
660
+ end
661
+ # resource path
662
+ local_var_path = '/api/blobs'
663
+
664
+ # query parameters
665
+ query_params = opts[:query_params] || {}
666
+ query_params[:'home_table'] = opts[:'home_table'] if !opts[:'home_table'].nil?
667
+ query_params[:'home_id'] = opts[:'home_id'] if !opts[:'home_id'].nil?
668
+
669
+ # header parameters
670
+ header_params = opts[:header_params] || {}
671
+ # HTTP header 'Accept' (if needed)
672
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
673
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
674
+
675
+ # form parameters
676
+ form_params = opts[:form_params] || {}
677
+
678
+ # http body (model)
679
+ post_body = opts[:debug_body]
680
+
681
+ # return_type
682
+ return_type = opts[:debug_return_type] || 'Array<BlobSummary>'
683
+
684
+ # auth_names
685
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
686
+
687
+ new_options = opts.merge(
688
+ :operation => :"BlobsApi.list_blobs",
689
+ :header_params => header_params,
690
+ :query_params => query_params,
691
+ :form_params => form_params,
692
+ :body => post_body,
693
+ :auth_names => auth_names,
694
+ :return_type => return_type
695
+ )
696
+
697
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
698
+ if @api_client.config.debugging
699
+ @api_client.config.logger.debug "API called: BlobsApi#list_blobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
700
+ end
701
+ return data, status_code, headers
702
+ end
703
+
704
+ # Assert one relation between a blob and another anchor
705
+ # The edge homes on the BLOB's home anchor — the blob-scoped surface answers to the blob's standing — and the peer must be readable by the caller (`endpoint_readable_ by_profile`), so a relation can never point at an anchor the caller cannot see. Gate train, in order: blob readable → 404; home authorable → 403; peer readable → 404. Retraction rides the incumbent fold endpoint; relations come and go individually.
706
+ # @param id [String] Blob ID
707
+ # @param blob_relation_assert_request [BlobRelationAssertRequest]
708
+ # @param [Hash] opts the optional parameters
709
+ # @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.
710
+ # @return [BlobRelationAck]
711
+ def relate_blob(id, blob_relation_assert_request, opts = {})
712
+ data, _status_code, _headers = relate_blob_with_http_info(id, blob_relation_assert_request, opts)
713
+ data
714
+ end
715
+
716
+ # Assert one relation between a blob and another anchor
717
+ # The edge homes on the BLOB&#39;s home anchor — the blob-scoped surface answers to the blob&#39;s standing — and the peer must be readable by the caller (&#x60;endpoint_readable_ by_profile&#x60;), so a relation can never point at an anchor the caller cannot see. Gate train, in order: blob readable → 404; home authorable → 403; peer readable → 404. Retraction rides the incumbent fold endpoint; relations come and go individually.
718
+ # @param id [String] Blob ID
719
+ # @param blob_relation_assert_request [BlobRelationAssertRequest]
720
+ # @param [Hash] opts the optional parameters
721
+ # @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.
722
+ # @return [Array<(BlobRelationAck, Integer, Hash)>] BlobRelationAck data, response status code and response headers
723
+ def relate_blob_with_http_info(id, blob_relation_assert_request, opts = {})
724
+ if @api_client.config.debugging
725
+ @api_client.config.logger.debug 'Calling API: BlobsApi.relate_blob ...'
726
+ end
727
+ # verify the required parameter 'id' is set
728
+ if @api_client.config.client_side_validation && id.nil?
729
+ fail ArgumentError, "Missing the required parameter 'id' when calling BlobsApi.relate_blob"
730
+ end
731
+ # verify the required parameter 'blob_relation_assert_request' is set
732
+ if @api_client.config.client_side_validation && blob_relation_assert_request.nil?
733
+ fail ArgumentError, "Missing the required parameter 'blob_relation_assert_request' when calling BlobsApi.relate_blob"
734
+ end
735
+ allowable_values = ["cli", "sdk"]
736
+ if @api_client.config.client_side_validation && opts[:'x_temper_surface'] && !allowable_values.include?(opts[:'x_temper_surface'])
737
+ fail ArgumentError, "invalid value for \"x_temper_surface\", must be one of #{allowable_values}"
738
+ end
739
+ # resource path
740
+ local_var_path = '/api/blobs/{id}/relations'.sub('{id}', CGI.escape(id.to_s))
741
+
742
+ # query parameters
743
+ query_params = opts[:query_params] || {}
744
+
745
+ # header parameters
746
+ header_params = opts[:header_params] || {}
747
+ # HTTP header 'Accept' (if needed)
748
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
749
+ # HTTP header 'Content-Type'
750
+ content_type = @api_client.select_header_content_type(['application/json'])
751
+ if !content_type.nil?
752
+ header_params['Content-Type'] = content_type
753
+ end
754
+ header_params[:'X-Temper-Surface'] = opts[:'x_temper_surface'] if !opts[:'x_temper_surface'].nil?
755
+
756
+ # form parameters
757
+ form_params = opts[:form_params] || {}
758
+
759
+ # http body (model)
760
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(blob_relation_assert_request)
761
+
762
+ # return_type
763
+ return_type = opts[:debug_return_type] || 'BlobRelationAck'
764
+
765
+ # auth_names
766
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
767
+
768
+ new_options = opts.merge(
769
+ :operation => :"BlobsApi.relate_blob",
770
+ :header_params => header_params,
771
+ :query_params => query_params,
772
+ :form_params => form_params,
773
+ :body => post_body,
774
+ :auth_names => auth_names,
775
+ :return_type => return_type
776
+ )
777
+
778
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
779
+ if @api_client.config.debugging
780
+ @api_client.config.logger.debug "API called: BlobsApi#relate_blob\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
781
+ end
782
+ return data, status_code, headers
783
+ end
784
+ end
785
+ end