hyperfluid 0.1.0__py3-none-any.whl

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 (1300) hide show
  1. hyperfluid/__init__.py +56 -0
  2. hyperfluid/_exceptions.py +93 -0
  3. hyperfluid/_version.py +6 -0
  4. hyperfluid/api/__init__.py +1441 -0
  5. hyperfluid/api/_auth.py +231 -0
  6. hyperfluid/api/_errors.py +125 -0
  7. hyperfluid/api/_pages.py +307 -0
  8. hyperfluid/api/_pagination.py +298 -0
  9. hyperfluid/api/_response.py +132 -0
  10. hyperfluid/api/_streaming.py +353 -0
  11. hyperfluid/api/accept_invitation.py +115 -0
  12. hyperfluid/api/ai_agents.py +961 -0
  13. hyperfluid/api/ai_agents_sessions.py +277 -0
  14. hyperfluid/api/airflow_connections.py +683 -0
  15. hyperfluid/api/airflows.py +839 -0
  16. hyperfluid/api/airflows_pods.py +240 -0
  17. hyperfluid/api/alert_rules.py +153 -0
  18. hyperfluid/api/alert_rules_rules.py +436 -0
  19. hyperfluid/api/alerting_settings.py +216 -0
  20. hyperfluid/api/alerting_settings_bindings.py +206 -0
  21. hyperfluid/api/alerting_settings_channels.py +474 -0
  22. hyperfluid/api/alerting_settings_thresholds.py +278 -0
  23. hyperfluid/api/api_keys.py +380 -0
  24. hyperfluid/api/app_instances.py +495 -0
  25. hyperfluid/api/app_templates.py +235 -0
  26. hyperfluid/api/atlas.py +600 -0
  27. hyperfluid/api/atlas_entries.py +351 -0
  28. hyperfluid/api/audit_logs.py +589 -0
  29. hyperfluid/api/audit_logs_security_decisions.py +299 -0
  30. hyperfluid/api/authorization.py +2794 -0
  31. hyperfluid/api/backup_targets.py +585 -0
  32. hyperfluid/api/bifrost.py +163 -0
  33. hyperfluid/api/buckets.py +1160 -0
  34. hyperfluid/api/buckets_archive_operations.py +313 -0
  35. hyperfluid/api/buckets_objects.py +479 -0
  36. hyperfluid/api/changelogs.py +112 -0
  37. hyperfluid/api/check_name_availability.py +126 -0
  38. hyperfluid/api/ci_runners.py +106 -0
  39. hyperfluid/api/cli.py +106 -0
  40. hyperfluid/api/client.py +5360 -0
  41. hyperfluid/api/common.py +845 -0
  42. hyperfluid/api/compute_docks.py +753 -0
  43. hyperfluid/api/console_config.py +106 -0
  44. hyperfluid/api/container_apps.py +877 -0
  45. hyperfluid/api/container_apps_crd.py +763 -0
  46. hyperfluid/api/container_apps_git_source.py +99 -0
  47. hyperfluid/api/container_apps_git_source_container_apps.py +83 -0
  48. hyperfluid/api/container_apps_git_source_container_apps_image_source.py +455 -0
  49. hyperfluid/api/container_apps_git_source_harbors.py +79 -0
  50. hyperfluid/api/container_apps_git_source_harbors_container_apps.py +366 -0
  51. hyperfluid/api/container_apps_pods.py +232 -0
  52. hyperfluid/api/converters.py +264 -0
  53. hyperfluid/api/crate_hf_console_inbound_http_handlers_data_containers_iceberg_clone_table.py +162 -0
  54. hyperfluid/api/crate_hf_console_inbound_http_handlers_data_docks_data_containers_handlers.py +156 -0
  55. hyperfluid/api/create_invitation.py +141 -0
  56. hyperfluid/api/create_signup_request.py +159 -0
  57. hyperfluid/api/dashboards.py +1069 -0
  58. hyperfluid/api/dashboards_versions.py +210 -0
  59. hyperfluid/api/data_docks.py +445 -0
  60. hyperfluid/api/data_docks_catalog.py +182 -0
  61. hyperfluid/api/decline_invitation.py +110 -0
  62. hyperfluid/api/dev_workstations.py +889 -0
  63. hyperfluid/api/dev_workstations_agent_chat.py +534 -0
  64. hyperfluid/api/dev_workstations_agent_chat_permission_policy.py +266 -0
  65. hyperfluid/api/dev_workstations_agent_chat_questions.py +264 -0
  66. hyperfluid/api/dev_workstations_agent_chat_sessions.py +522 -0
  67. hyperfluid/api/dev_workstations_agent_chat_sessions_messages.py +303 -0
  68. hyperfluid/api/dev_workstations_agent_chat_workspaces.py +229 -0
  69. hyperfluid/api/dev_workstations_ai.py +167 -0
  70. hyperfluid/api/dev_workstations_audit.py +219 -0
  71. hyperfluid/api/dev_workstations_egress_allowlists.py +471 -0
  72. hyperfluid/api/dev_workstations_egress_flows.py +141 -0
  73. hyperfluid/api/dev_workstations_files.py +241 -0
  74. hyperfluid/api/dev_workstations_forgejo.py +217 -0
  75. hyperfluid/api/dev_workstations_git_ops.py +770 -0
  76. hyperfluid/api/dev_workstations_metrics.py +118 -0
  77. hyperfluid/api/dev_workstations_preview_ports.py +118 -0
  78. hyperfluid/api/dev_workstations_preview_proxy.py +120 -0
  79. hyperfluid/api/dev_workstations_repositories.py +284 -0
  80. hyperfluid/api/dev_workstations_scm.py +396 -0
  81. hyperfluid/api/dev_workstations_skill_registries.py +657 -0
  82. hyperfluid/api/dev_workstations_skill_registries_skills.py +350 -0
  83. hyperfluid/api/dev_workstations_terminals.py +249 -0
  84. hyperfluid/api/domain_verifications.py +505 -0
  85. hyperfluid/api/faker_create_schema.py +141 -0
  86. hyperfluid/api/faker_create_table.py +149 -0
  87. hyperfluid/api/faker_create_table_structured.py +150 -0
  88. hyperfluid/api/faker_delete_schema.py +124 -0
  89. hyperfluid/api/faker_delete_schema_preview.py +130 -0
  90. hyperfluid/api/faker_delete_table.py +124 -0
  91. hyperfluid/api/faker_delete_table_preview.py +130 -0
  92. hyperfluid/api/faker_get_field_types.py +108 -0
  93. hyperfluid/api/faker_get_schemas.py +122 -0
  94. hyperfluid/api/faker_get_table.py +130 -0
  95. hyperfluid/api/faker_get_tables.py +122 -0
  96. hyperfluid/api/faker_update_table.py +146 -0
  97. hyperfluid/api/forgejo_runners.py +624 -0
  98. hyperfluid/api/get_data_container.py +122 -0
  99. hyperfluid/api/get_invitation_preview.py +116 -0
  100. hyperfluid/api/get_signup_page_copy.py +132 -0
  101. hyperfluid/api/git_hub_runners.py +1216 -0
  102. hyperfluid/api/handlers.py +362 -0
  103. hyperfluid/api/harbors.py +461 -0
  104. hyperfluid/api/harbors_crd.py +205 -0
  105. hyperfluid/api/hf_key_value_caches.py +595 -0
  106. hyperfluid/api/iceberg_create_iceberg_data_container.py +138 -0
  107. hyperfluid/api/iceberg_create_schema.py +149 -0
  108. hyperfluid/api/iceberg_create_table.py +184 -0
  109. hyperfluid/api/iceberg_delete_schema.py +120 -0
  110. hyperfluid/api/iceberg_delete_table.py +166 -0
  111. hyperfluid/api/iceberg_get_iceberg_data_container.py +122 -0
  112. hyperfluid/api/iceberg_get_schemas.py +122 -0
  113. hyperfluid/api/iceberg_get_table_columns.py +138 -0
  114. hyperfluid/api/iceberg_get_tables.py +122 -0
  115. hyperfluid/api/iceberg_health.py +241 -0
  116. hyperfluid/api/iceberg_health_scan_api.py +214 -0
  117. hyperfluid/api/iceberg_optimize.py +636 -0
  118. hyperfluid/api/iceberg_optimize_runs.py +284 -0
  119. hyperfluid/api/identity_providers.py +475 -0
  120. hyperfluid/api/kafka_services.py +751 -0
  121. hyperfluid/api/kafka_topics.py +501 -0
  122. hyperfluid/api/list_identity_providers.py +118 -0
  123. hyperfluid/api/list_invitations.py +122 -0
  124. hyperfluid/api/llm_credits.py +353 -0
  125. hyperfluid/api/llm_credits_budgets.py +300 -0
  126. hyperfluid/api/managed_postgre_sq_ls.py +103 -0
  127. hyperfluid/api/managed_postgre_sq_ls_harbors.py +81 -0
  128. hyperfluid/api/managed_postgre_sq_ls_harbors_managed_postgresqls.py +306 -0
  129. hyperfluid/api/managed_postgre_sq_ls_managed_postgresqls.py +530 -0
  130. hyperfluid/api/managed_postgre_sql_users.py +619 -0
  131. hyperfluid/api/managed_postgresql_backups.py +513 -0
  132. hyperfluid/api/managed_postgresql_imports.py +986 -0
  133. hyperfluid/api/middleware.py +40 -0
  134. hyperfluid/api/model_catalog.py +170 -0
  135. hyperfluid/api/model_serving.py +556 -0
  136. hyperfluid/api/monitoring.py +1080 -0
  137. hyperfluid/api/monitoring_bifrost.py +456 -0
  138. hyperfluid/api/monitoring_compute_docks.py +302 -0
  139. hyperfluid/api/monitoring_container_apps.py +404 -0
  140. hyperfluid/api/monitoring_container_apps_custom_metrics.py +251 -0
  141. hyperfluid/api/monitoring_data_docks.py +286 -0
  142. hyperfluid/api/monitoring_dev_workstations.py +373 -0
  143. hyperfluid/api/monitoring_harbors.py +177 -0
  144. hyperfluid/api/monitoring_harbors_github_runners.py +449 -0
  145. hyperfluid/api/monitoring_hf_key_value_caches.py +286 -0
  146. hyperfluid/api/monitoring_kafka_services.py +286 -0
  147. hyperfluid/api/monitoring_managed_postgresqls.py +292 -0
  148. hyperfluid/api/monitoring_model_servings.py +278 -0
  149. hyperfluid/api/nextflow.py +735 -0
  150. hyperfluid/api/nextflow_runs.py +623 -0
  151. hyperfluid/api/nextflow_runs_tasks.py +236 -0
  152. hyperfluid/api/ontology.py +480 -0
  153. hyperfluid/api/ontology_action_types.py +578 -0
  154. hyperfluid/api/ontology_link_types.py +479 -0
  155. hyperfluid/api/ontology_object_types.py +657 -0
  156. hyperfluid/api/ontology_object_types_instances.py +394 -0
  157. hyperfluid/api/ontology_properties.py +233 -0
  158. hyperfluid/api/open_data.py +279 -0
  159. hyperfluid/api/org_storage.py +284 -0
  160. hyperfluid/api/org_storage_harbors.py +237 -0
  161. hyperfluid/api/org_storage_harbors_zones.py +198 -0
  162. hyperfluid/api/org_storage_zones.py +190 -0
  163. hyperfluid/api/organization_features.py +120 -0
  164. hyperfluid/api/organizations.py +580 -0
  165. hyperfluid/api/orgs.py +69 -0
  166. hyperfluid/api/orgs_data_docks.py +203 -0
  167. hyperfluid/api/petite_requete.py +1945 -0
  168. hyperfluid/api/pipelines.py +1515 -0
  169. hyperfluid/api/pipelines_runs.py +371 -0
  170. hyperfluid/api/pipelines_stats_api.py +214 -0
  171. hyperfluid/api/postgresql_create_postgresql_data_container.py +142 -0
  172. hyperfluid/api/postgresql_get_postgresql_data_container.py +124 -0
  173. hyperfluid/api/quotas.py +175 -0
  174. hyperfluid/api/redeem_invitation.py +108 -0
  175. hyperfluid/api/register_invitation.py +135 -0
  176. hyperfluid/api/registries.py +393 -0
  177. hyperfluid/api/registry_projects.py +407 -0
  178. hyperfluid/api/registry_views.py +427 -0
  179. hyperfluid/api/registry_views_projects.py +69 -0
  180. hyperfluid/api/registry_views_projects_images.py +540 -0
  181. hyperfluid/api/resend_invitation.py +124 -0
  182. hyperfluid/api/revoke_invitation.py +122 -0
  183. hyperfluid/api/s3_long_lived_keys.py +221 -0
  184. hyperfluid/api/s3_long_lived_keys_s3_keys.py +313 -0
  185. hyperfluid/api/s3_sessions.py +131 -0
  186. hyperfluid/api/sapience_resources.py +122 -0
  187. hyperfluid/api/secrets.py +788 -0
  188. hyperfluid/api/security.py +1167 -0
  189. hyperfluid/api/security_policies.py +118 -0
  190. hyperfluid/api/security_settings.py +431 -0
  191. hyperfluid/api/service_accounts.py +261 -0
  192. hyperfluid/api/service_accounts_attributes.py +385 -0
  193. hyperfluid/api/service_accounts_crd.py +501 -0
  194. hyperfluid/api/service_links.py +387 -0
  195. hyperfluid/api/shared_models.py +167 -0
  196. hyperfluid/api/super_catalog_exposure_handlers.py +224 -0
  197. hyperfluid/api/super_catalog_handlers.py +308 -0
  198. hyperfluid/api/super_data_access_handlers.py +161 -0
  199. hyperfluid/api/super_internet_exposure_handlers.py +209 -0
  200. hyperfluid/api/super_organizations_list_users.py +122 -0
  201. hyperfluid/api/super_resource_groups_handlers.py +206 -0
  202. hyperfluid/api/super_search_handlers.py +173 -0
  203. hyperfluid/api/support.py +69 -0
  204. hyperfluid/api/support_tickets.py +522 -0
  205. hyperfluid/api/support_tickets_messages.py +216 -0
  206. hyperfluid/api/table_classifications.py +551 -0
  207. hyperfluid/api/terraform_registry.py +122 -0
  208. hyperfluid/api/token_usage.py +414 -0
  209. hyperfluid/api/token_usage_timeseries.py +226 -0
  210. hyperfluid/api/trino_connectors.py +122 -0
  211. hyperfluid/api/unified_catalog.py +122 -0
  212. hyperfluid/api/user_attributes.py +492 -0
  213. hyperfluid/api/verify_signup_request.py +137 -0
  214. hyperfluid/api/virtual_machine_users.py +452 -0
  215. hyperfluid/api/virtual_machines.py +664 -0
  216. hyperfluid/api/workload_security.py +592 -0
  217. hyperfluid/api/workload_security_settings.py +199 -0
  218. hyperfluid/api/workload_security_workloads.py +215 -0
  219. hyperfluid/api/workstation_templates.py +544 -0
  220. hyperfluid/errors.py +46 -0
  221. hyperfluid/models/__init__.py +3844 -0
  222. hyperfluid/models/abort_managed_postgresql_import_upload_request_body.py +18 -0
  223. hyperfluid/models/abort_multipart_upload_request.py +17 -0
  224. hyperfluid/models/accept_invitation_body.py +11 -0
  225. hyperfluid/models/access_binding.py +56 -0
  226. hyperfluid/models/access_check_item.py +20 -0
  227. hyperfluid/models/access_check_request_body.py +17 -0
  228. hyperfluid/models/access_check_result.py +21 -0
  229. hyperfluid/models/action_parameter.py +31 -0
  230. hyperfluid/models/action_result.py +21 -0
  231. hyperfluid/models/action_type.py +47 -0
  232. hyperfluid/models/add_group_member_request_body.py +17 -0
  233. hyperfluid/models/add_service_account_attribute_request.py +14 -0
  234. hyperfluid/models/add_user.py +13 -0
  235. hyperfluid/models/add_user_attribute_request.py +15 -0
  236. hyperfluid/models/add_workstation_repository_response.py +26 -0
  237. hyperfluid/models/agent_mode.py +21 -0
  238. hyperfluid/models/agent_request_kind.py +24 -0
  239. hyperfluid/models/agent_workspaces.py +21 -0
  240. hyperfluid/models/agent_worktree.py +17 -0
  241. hyperfluid/models/ai_agent_budgets_dto.py +18 -0
  242. hyperfluid/models/ai_agent_capabilities_response.py +17 -0
  243. hyperfluid/models/ai_agent_capability_response.py +45 -0
  244. hyperfluid/models/ai_agent_data_source_dto.py +21 -0
  245. hyperfluid/models/ai_agent_desired_state_dto.py +17 -0
  246. hyperfluid/models/ai_agent_inference_dto.py +27 -0
  247. hyperfluid/models/ai_agent_mail_dto.py +64 -0
  248. hyperfluid/models/ai_agent_mail_mode_dto.py +17 -0
  249. hyperfluid/models/ai_agent_mail_stats_response.py +40 -0
  250. hyperfluid/models/ai_agent_mail_status_dto.py +29 -0
  251. hyperfluid/models/ai_agent_mailbox_phase_dto.py +17 -0
  252. hyperfluid/models/ai_agent_memory_response.py +35 -0
  253. hyperfluid/models/ai_agent_response.py +81 -0
  254. hyperfluid/models/ai_agent_session_summary.py +30 -0
  255. hyperfluid/models/ai_agent_session_turn.py +19 -0
  256. hyperfluid/models/ai_agent_session_turns_response.py +17 -0
  257. hyperfluid/models/ai_agent_sessions_response.py +17 -0
  258. hyperfluid/models/ai_agent_status_response.py +24 -0
  259. hyperfluid/models/ai_classification_result_response.py +25 -0
  260. hyperfluid/models/ai_classify_request_body.py +20 -0
  261. hyperfluid/models/ai_classify_response_body.py +21 -0
  262. hyperfluid/models/ai_edit_request.py +35 -0
  263. hyperfluid/models/ai_edit_response.py +17 -0
  264. hyperfluid/models/airflow_connection_condition_response.py +24 -0
  265. hyperfluid/models/airflow_connection_response.py +145 -0
  266. hyperfluid/models/airflow_connection_s3_session.py +30 -0
  267. hyperfluid/models/airflow_crd_spec_response.py +49 -0
  268. hyperfluid/models/airflow_crd_status_response.py +47 -0
  269. hyperfluid/models/airflow_egress_request.py +30 -0
  270. hyperfluid/models/airflow_in_cluster_link_request.py +21 -0
  271. hyperfluid/models/airflow_link_kind.py +31 -0
  272. hyperfluid/models/airflow_node_tier.py +38 -0
  273. hyperfluid/models/airflow_pod_response.py +37 -0
  274. hyperfluid/models/airflow_response.py +53 -0
  275. hyperfluid/models/alert_event_dto.py +33 -0
  276. hyperfluid/models/alert_rule_body.py +40 -0
  277. hyperfluid/models/alert_rule_dto.py +53 -0
  278. hyperfluid/models/alertable_panel_dto.py +25 -0
  279. hyperfluid/models/analytics_summary.py +27 -0
  280. hyperfluid/models/analytics_trend_point.py +20 -0
  281. hyperfluid/models/analytics_trends.py +19 -0
  282. hyperfluid/models/antivirus_config.py +21 -0
  283. hyperfluid/models/api_error_body.py +23 -0
  284. hyperfluid/models/api_key_response.py +44 -0
  285. hyperfluid/models/app_instance_response.py +42 -0
  286. hyperfluid/models/app_protocol.py +19 -0
  287. hyperfluid/models/app_template_response.py +43 -0
  288. hyperfluid/models/app_usage_ref.py +29 -0
  289. hyperfluid/models/applied_proposal.py +29 -0
  290. hyperfluid/models/apply_ontology_proposal_request.py +26 -0
  291. hyperfluid/models/archive_download_response.py +15 -0
  292. hyperfluid/models/archive_export_request.py +24 -0
  293. hyperfluid/models/archive_file_type.py +14 -0
  294. hyperfluid/models/archive_import_request.py +26 -0
  295. hyperfluid/models/archive_operation_status.py +19 -0
  296. hyperfluid/models/archive_operation_type.py +15 -0
  297. hyperfluid/models/ask_ai_agent_request.py +28 -0
  298. hyperfluid/models/ask_ai_agent_response.py +21 -0
  299. hyperfluid/models/assistant_answer.py +21 -0
  300. hyperfluid/models/assistant_request.py +23 -0
  301. hyperfluid/models/atlas_article.py +21 -0
  302. hyperfluid/models/atlas_article_summary.py +45 -0
  303. hyperfluid/models/atlas_assistant_request.py +17 -0
  304. hyperfluid/models/atlas_assistant_response.py +24 -0
  305. hyperfluid/models/atlas_assistant_source.py +19 -0
  306. hyperfluid/models/atlas_assistant_status.py +18 -0
  307. hyperfluid/models/atlas_entry.py +29 -0
  308. hyperfluid/models/atlas_entry_kind.py +20 -0
  309. hyperfluid/models/atlas_localized_text.py +15 -0
  310. hyperfluid/models/atlas_manifest.py +24 -0
  311. hyperfluid/models/atlas_persona.py +21 -0
  312. hyperfluid/models/atlas_procedure_revision.py +25 -0
  313. hyperfluid/models/atlas_save_entry.py +35 -0
  314. hyperfluid/models/atlas_search_request.py +24 -0
  315. hyperfluid/models/atlas_search_response.py +24 -0
  316. hyperfluid/models/atlas_search_result.py +27 -0
  317. hyperfluid/models/atlas_status.py +19 -0
  318. hyperfluid/models/atlas_verification.py +17 -0
  319. hyperfluid/models/atlas_visibility.py +15 -0
  320. hyperfluid/models/atlas_workspace.py +23 -0
  321. hyperfluid/models/audit_actor.py +20 -0
  322. hyperfluid/models/audit_actor_kind.py +23 -0
  323. hyperfluid/models/audit_entry_kind.py +15 -0
  324. hyperfluid/models/audit_log_event.py +111 -0
  325. hyperfluid/models/audit_log_event_authz_break_glass_used_variant.py +20 -0
  326. hyperfluid/models/audit_log_event_authz_organization_policy_revoked_variant.py +23 -0
  327. hyperfluid/models/audit_log_event_console_authz_decision_variant.py +19 -0
  328. hyperfluid/models/audit_log_event_container_app_image_synced_variant.py +21 -0
  329. hyperfluid/models/audit_log_event_data_dock_opa_evaluation_variant.py +19 -0
  330. hyperfluid/models/audit_log_event_managed_postgresql_import_created_variant.py +24 -0
  331. hyperfluid/models/audit_log_event_object_storage_owner_key_revealed_variant.py +27 -0
  332. hyperfluid/models/audit_log_event_object_storage_usage_collected_variant.py +23 -0
  333. hyperfluid/models/audit_log_event_platform_admin_action_variant.py +21 -0
  334. hyperfluid/models/audit_log_event_runtime_security_alert_variant.py +25 -0
  335. hyperfluid/models/audit_log_event_s3_gateway_decision_variant.py +19 -0
  336. hyperfluid/models/audit_log_event_s3_gateway_gate_denied_variant.py +21 -0
  337. hyperfluid/models/audit_log_event_s3_gateway_session_issued_variant.py +19 -0
  338. hyperfluid/models/audit_log_event_security_decision_variant.py +19 -0
  339. hyperfluid/models/audit_log_event_trino_query_completed_variant.py +21 -0
  340. hyperfluid/models/audit_log_event_type.py +52 -0
  341. hyperfluid/models/audit_log_event_virtual_machine_console_session_variant.py +23 -0
  342. hyperfluid/models/audit_log_event_workstation_agent_request_variant.py +25 -0
  343. hyperfluid/models/audit_log_event_workstation_preview_session_variant.py +22 -0
  344. hyperfluid/models/audit_log_event_workstation_terminal_command_variant.py +20 -0
  345. hyperfluid/models/audit_log_freshness.py +17 -0
  346. hyperfluid/models/audit_log_page_audit_entry.py +28 -0
  347. hyperfluid/models/audit_log_page_audit_entry_data_item.py +124 -0
  348. hyperfluid/models/audit_log_page_list_audit_log_item.py +30 -0
  349. hyperfluid/models/audit_log_page_list_audit_log_item_data_item.py +43 -0
  350. hyperfluid/models/authorize_preview_response.py +27 -0
  351. hyperfluid/models/authz_break_glass_used_log.py +21 -0
  352. hyperfluid/models/authz_organization_policy_revoked_log.py +28 -0
  353. hyperfluid/models/auto_suspend_input.py +15 -0
  354. hyperfluid/models/autoscaling_spec.py +52 -0
  355. hyperfluid/models/available_image.py +42 -0
  356. hyperfluid/models/backend_driver.py +15 -0
  357. hyperfluid/models/backup_origin.py +19 -0
  358. hyperfluid/models/backup_policy.py +15 -0
  359. hyperfluid/models/backup_target_crd_spec_response.py +23 -0
  360. hyperfluid/models/backup_target_instance.py +15 -0
  361. hyperfluid/models/backup_target_response.py +49 -0
  362. hyperfluid/models/backup_target_source_request.py +28 -0
  363. hyperfluid/models/backup_target_source_request_external_variant.py +27 -0
  364. hyperfluid/models/backup_target_source_request_internal_variant.py +23 -0
  365. hyperfluid/models/bifrost_event_dto.py +41 -0
  366. hyperfluid/models/bifrost_event_status.py +15 -0
  367. hyperfluid/models/bifrost_events_response.py +27 -0
  368. hyperfluid/models/bifrost_feature_status_response.py +23 -0
  369. hyperfluid/models/bifrost_info_response.py +21 -0
  370. hyperfluid/models/bifrost_overview_response.py +44 -0
  371. hyperfluid/models/bifrost_protocol.py +21 -0
  372. hyperfluid/models/bifrost_timeseries_point_dto.py +17 -0
  373. hyperfluid/models/bifrost_timeseries_response.py +27 -0
  374. hyperfluid/models/bifrost_top_response.py +27 -0
  375. hyperfluid/models/bifrost_top_row_dto.py +20 -0
  376. hyperfluid/models/branch_list.py +17 -0
  377. hyperfluid/models/bucket_archive_operation.py +63 -0
  378. hyperfluid/models/bucket_credentials.py +17 -0
  379. hyperfluid/models/bucket_field.py +28 -0
  380. hyperfluid/models/bucket_object.py +21 -0
  381. hyperfluid/models/bucket_object_listing.py +26 -0
  382. hyperfluid/models/bucket_ref_spec_response.py +25 -0
  383. hyperfluid/models/budget_author.py +15 -0
  384. hyperfluid/models/capacity_usage_item_response.py +33 -0
  385. hyperfluid/models/catalog_exposure_response.py +25 -0
  386. hyperfluid/models/catalog_exposure_table_entry.py +20 -0
  387. hyperfluid/models/catalog_failure_kind.py +23 -0
  388. hyperfluid/models/catalog_introspection_failure.py +25 -0
  389. hyperfluid/models/catalog_item.py +31 -0
  390. hyperfluid/models/catalog_model.py +67 -0
  391. hyperfluid/models/catalog_repository_response.py +25 -0
  392. hyperfluid/models/catalog_response.py +17 -0
  393. hyperfluid/models/ceph_zone_response.py +20 -0
  394. hyperfluid/models/changelog_entry_response.py +32 -0
  395. hyperfluid/models/channel_body.py +28 -0
  396. hyperfluid/models/channel_kind.py +18 -0
  397. hyperfluid/models/chart_encodings.py +25 -0
  398. hyperfluid/models/chart_options.py +39 -0
  399. hyperfluid/models/chart_type.py +25 -0
  400. hyperfluid/models/check_image_source_response.py +15 -0
  401. hyperfluid/models/check_name_availability_response_data.py +13 -0
  402. hyperfluid/models/check_organization_name_availability_response_data.py +13 -0
  403. hyperfluid/models/checkout_request.py +18 -0
  404. hyperfluid/models/classification_config.py +49 -0
  405. hyperfluid/models/classification_stats_response.py +37 -0
  406. hyperfluid/models/cli_version_response.py +13 -0
  407. hyperfluid/models/clone_iceberg_table_request_body.py +19 -0
  408. hyperfluid/models/commit_request.py +13 -0
  409. hyperfluid/models/commit_response.py +13 -0
  410. hyperfluid/models/comparator.py +15 -0
  411. hyperfluid/models/complete_managed_postgresql_import_upload_request_body.py +24 -0
  412. hyperfluid/models/complete_multipart_upload_request.py +24 -0
  413. hyperfluid/models/completed_part_info.py +17 -0
  414. hyperfluid/models/compute_dock_crd_partition.py +27 -0
  415. hyperfluid/models/compute_dock_crd_spec_response.py +41 -0
  416. hyperfluid/models/compute_dock_partition_status.py +27 -0
  417. hyperfluid/models/compute_dock_response.py +47 -0
  418. hyperfluid/models/compute_engine_input.py +15 -0
  419. hyperfluid/models/condition.py +36 -0
  420. hyperfluid/models/condition_principal_attribute_equals_variant.py +21 -0
  421. hyperfluid/models/condition_request_attribute_equals_variant.py +20 -0
  422. hyperfluid/models/condition_view.py +29 -0
  423. hyperfluid/models/configuration_model.py +15 -0
  424. hyperfluid/models/connector_descriptor_response.py +30 -0
  425. hyperfluid/models/console_authz_decision_log.py +52 -0
  426. hyperfluid/models/console_config_feature_flag.py +48 -0
  427. hyperfluid/models/console_session_phase.py +15 -0
  428. hyperfluid/models/container_app_crd_spec_response.py +168 -0
  429. hyperfluid/models/container_app_image_synced_log.py +35 -0
  430. hyperfluid/models/container_app_metrics.py +22 -0
  431. hyperfluid/models/container_app_platform_url_response.py +24 -0
  432. hyperfluid/models/container_app_pod_info.py +60 -0
  433. hyperfluid/models/container_app_port_input.py +31 -0
  434. hyperfluid/models/container_app_port_response.py +29 -0
  435. hyperfluid/models/container_app_response.py +72 -0
  436. hyperfluid/models/container_app_usage_dto.py +44 -0
  437. hyperfluid/models/container_app_volume_usage_dto.py +38 -0
  438. hyperfluid/models/container_app_volumes_response.py +21 -0
  439. hyperfluid/models/container_apps_usage_response.py +26 -0
  440. hyperfluid/models/container_row.py +44 -0
  441. hyperfluid/models/context_provider_response.py +37 -0
  442. hyperfluid/models/contextual_restriction_response.py +36 -0
  443. hyperfluid/models/copilot_generate_request.py +39 -0
  444. hyperfluid/models/copilot_generate_response.py +23 -0
  445. hyperfluid/models/copilot_repair_context.py +20 -0
  446. hyperfluid/models/copilot_turn.py +18 -0
  447. hyperfluid/models/copilot_widget_proposal.py +25 -0
  448. hyperfluid/models/copy_destination_config.py +40 -0
  449. hyperfluid/models/copy_destination_config_data_container_variant.py +21 -0
  450. hyperfluid/models/copy_destination_config_harbor_bucket_variant.py +24 -0
  451. hyperfluid/models/copy_s3_source_config.py +36 -0
  452. hyperfluid/models/copy_s3_source_config_data_container_variant.py +21 -0
  453. hyperfluid/models/copy_s3_source_config_harbor_bucket_variant.py +24 -0
  454. hyperfluid/models/copy_source_config.py +23 -0
  455. hyperfluid/models/count_ref_request.py +29 -0
  456. hyperfluid/models/count_secrets_response.py +13 -0
  457. hyperfluid/models/crd_owner.py +32 -0
  458. hyperfluid/models/crd_owner_gitops_variant.py +23 -0
  459. hyperfluid/models/crd_owner_pipeline_variant.py +18 -0
  460. hyperfluid/models/crd_owner_ui_variant.py +14 -0
  461. hyperfluid/models/crd_owner_unknown_variant.py +15 -0
  462. hyperfluid/models/crd_status_snapshot.py +39 -0
  463. hyperfluid/models/create_action_type_request.py +29 -0
  464. hyperfluid/models/create_ai_agent_request.py +89 -0
  465. hyperfluid/models/create_airflow_connection_request.py +56 -0
  466. hyperfluid/models/create_airflow_crd_request_body.py +60 -0
  467. hyperfluid/models/create_api_key_request.py +24 -0
  468. hyperfluid/models/create_api_key_response.py +27 -0
  469. hyperfluid/models/create_app_instance_crd_request_body.py +26 -0
  470. hyperfluid/models/create_backup_target_crd_request_body.py +36 -0
  471. hyperfluid/models/create_compute_dock_crd_request_body.py +68 -0
  472. hyperfluid/models/create_connector_ingest_request.py +38 -0
  473. hyperfluid/models/create_container_app_crd_request_body.py +128 -0
  474. hyperfluid/models/create_context_enricher_pipeline_request.py +27 -0
  475. hyperfluid/models/create_context_provider_body.py +24 -0
  476. hyperfluid/models/create_contextual_restriction_body.py +24 -0
  477. hyperfluid/models/create_copy_pipeline_request.py +23 -0
  478. hyperfluid/models/create_dashboard_request.py +31 -0
  479. hyperfluid/models/create_data_dock_catalog_request.py +63 -0
  480. hyperfluid/models/create_data_dock_catalog_response.py +19 -0
  481. hyperfluid/models/create_data_dock_request_body.py +24 -0
  482. hyperfluid/models/create_dev_workstation_request.py +116 -0
  483. hyperfluid/models/create_domain_verification_request_body.py +15 -0
  484. hyperfluid/models/create_faker_schema_request.py +15 -0
  485. hyperfluid/models/create_faker_table_request.py +15 -0
  486. hyperfluid/models/create_faker_table_structured_request.py +19 -0
  487. hyperfluid/models/create_file_router_pipeline_request.py +26 -0
  488. hyperfluid/models/create_file_sorter_request.py +32 -0
  489. hyperfluid/models/create_forgejo_runner_request.py +48 -0
  490. hyperfluid/models/create_g_drive_pipeline_request.py +33 -0
  491. hyperfluid/models/create_github_connection_request.py +27 -0
  492. hyperfluid/models/create_github_runner_request.py +63 -0
  493. hyperfluid/models/create_grant_request_body.py +34 -0
  494. hyperfluid/models/create_group_request_body.py +16 -0
  495. hyperfluid/models/create_harbor_crd_request_body.py +15 -0
  496. hyperfluid/models/create_hf_bucket_request.py +30 -0
  497. hyperfluid/models/create_hf_key_value_cache_crd_request_body.py +38 -0
  498. hyperfluid/models/create_iceberg_data_container_request_body.py +21 -0
  499. hyperfluid/models/create_iceberg_table_metadata_request.py +42 -0
  500. hyperfluid/models/create_identity_provider_request.py +31 -0
  501. hyperfluid/models/create_inbound_email_pipeline_request.py +36 -0
  502. hyperfluid/models/create_invitation_request.py +16 -0
  503. hyperfluid/models/create_kafka_hf_service_request.py +33 -0
  504. hyperfluid/models/create_kafka_hf_topic_request.py +20 -0
  505. hyperfluid/models/create_link_type_request.py +28 -0
  506. hyperfluid/models/create_managed_postgresql_backup_crd_request_body.py +17 -0
  507. hyperfluid/models/create_managed_postgresql_crd_request_body.py +62 -0
  508. hyperfluid/models/create_managed_postgresql_import_crd_request_body.py +33 -0
  509. hyperfluid/models/create_managed_postgresql_user_crd_request_body.py +29 -0
  510. hyperfluid/models/create_medallion_schema_request.py +19 -0
  511. hyperfluid/models/create_model_serving_request.py +35 -0
  512. hyperfluid/models/create_nextflow_crd_request_body.py +53 -0
  513. hyperfluid/models/create_object_type_request.py +34 -0
  514. hyperfluid/models/create_open_data_pipeline_request.py +23 -0
  515. hyperfluid/models/create_or_update_egress_allowlist_request.py +24 -0
  516. hyperfluid/models/create_organization_policy_request_body.py +29 -0
  517. hyperfluid/models/create_organization_request_body.py +17 -0
  518. hyperfluid/models/create_page_splitter_pipeline_request.py +22 -0
  519. hyperfluid/models/create_pipeline_request_v2.py +71 -0
  520. hyperfluid/models/create_pipeline_request_v2_context_enricher_variant.py +25 -0
  521. hyperfluid/models/create_pipeline_request_v2_copy_variant.py +21 -0
  522. hyperfluid/models/create_pipeline_request_v2_file_router_variant.py +21 -0
  523. hyperfluid/models/create_pipeline_request_v2_file_sorter_variant.py +21 -0
  524. hyperfluid/models/create_pipeline_request_v2_inbound_email_variant.py +21 -0
  525. hyperfluid/models/create_pipeline_request_v2_open_data_variant.py +21 -0
  526. hyperfluid/models/create_pipeline_request_v2_page_splitter_variant.py +21 -0
  527. hyperfluid/models/create_pipeline_request_v2_share_point_variant.py +21 -0
  528. hyperfluid/models/create_pipeline_request_v2_trino_variant.py +21 -0
  529. hyperfluid/models/create_pipeline_request_v2g_drive_variant.py +21 -0
  530. hyperfluid/models/create_pipeline_request_v2s3_copy_variant.py +21 -0
  531. hyperfluid/models/create_postgresql_data_container_request_body.py +23 -0
  532. hyperfluid/models/create_property_definition_request.py +25 -0
  533. hyperfluid/models/create_ref_request.py +24 -0
  534. hyperfluid/models/create_registry_project_request_body.py +16 -0
  535. hyperfluid/models/create_s3_copy_pipeline_request.py +23 -0
  536. hyperfluid/models/create_saved_query_request.py +36 -0
  537. hyperfluid/models/create_secret_request_body.py +35 -0
  538. hyperfluid/models/create_service_account_crd_request_body.py +38 -0
  539. hyperfluid/models/create_service_link_request_body.py +24 -0
  540. hyperfluid/models/create_session_request.py +20 -0
  541. hyperfluid/models/create_session_response.py +24 -0
  542. hyperfluid/models/create_share_point_pipeline_request.py +41 -0
  543. hyperfluid/models/create_signup_request_body.py +31 -0
  544. hyperfluid/models/create_signup_request_response.py +14 -0
  545. hyperfluid/models/create_skill_registry_request.py +34 -0
  546. hyperfluid/models/create_skill_request.py +21 -0
  547. hyperfluid/models/create_support_message_request.py +14 -0
  548. hyperfluid/models/create_support_ticket_request.py +37 -0
  549. hyperfluid/models/create_table_classification_body.py +25 -0
  550. hyperfluid/models/create_trino_pipeline_request.py +36 -0
  551. hyperfluid/models/create_user.py +22 -0
  552. hyperfluid/models/create_virtual_machine_crd_request_body.py +42 -0
  553. hyperfluid/models/create_virtual_machine_user_crd_request_body.py +24 -0
  554. hyperfluid/models/create_workstation_template_request.py +60 -0
  555. hyperfluid/models/credential_location.py +17 -0
  556. hyperfluid/models/credit_balance.py +24 -0
  557. hyperfluid/models/credit_budgets_response.py +17 -0
  558. hyperfluid/models/credit_ledger_line.py +39 -0
  559. hyperfluid/models/credit_ledger_response.py +19 -0
  560. hyperfluid/models/credit_spend_by_model.py +17 -0
  561. hyperfluid/models/credit_spend_by_model_response.py +17 -0
  562. hyperfluid/models/custom_domain_availability_response.py +39 -0
  563. hyperfluid/models/custom_domain_dns_record.py +20 -0
  564. hyperfluid/models/custom_domain_holder.py +25 -0
  565. hyperfluid/models/custom_domain_input.py +23 -0
  566. hyperfluid/models/custom_domain_response.py +37 -0
  567. hyperfluid/models/custom_domain_target_response.py +17 -0
  568. hyperfluid/models/custom_domain_tls_mode_input.py +15 -0
  569. hyperfluid/models/custom_flavor_bounds_dto.py +23 -0
  570. hyperfluid/models/custom_metric_names_response.py +18 -0
  571. hyperfluid/models/custom_metric_series_dto.py +24 -0
  572. hyperfluid/models/custom_metrics_query_request.py +21 -0
  573. hyperfluid/models/custom_metrics_query_response.py +31 -0
  574. hyperfluid/models/custom_resource_input.py +27 -0
  575. hyperfluid/models/dashboard.py +51 -0
  576. hyperfluid/models/dashboard_status.py +16 -0
  577. hyperfluid/models/dashboard_summary.py +42 -0
  578. hyperfluid/models/dashboard_variable.py +29 -0
  579. hyperfluid/models/dashboard_version_summary.py +23 -0
  580. hyperfluid/models/dashboard_widget.py +52 -0
  581. hyperfluid/models/data_access_baseline.py +17 -0
  582. hyperfluid/models/data_container_overview.py +20 -0
  583. hyperfluid/models/data_dock.py +72 -0
  584. hyperfluid/models/data_dock_catalog_info.py +30 -0
  585. hyperfluid/models/data_dock_catalog_kind.py +36 -0
  586. hyperfluid/models/data_dock_external_response_data.py +40 -0
  587. hyperfluid/models/data_dock_internet_exposure_response.py +33 -0
  588. hyperfluid/models/data_dock_kind.py +18 -0
  589. hyperfluid/models/data_dock_kind_external_response.py +20 -0
  590. hyperfluid/models/data_dock_kind_external_response_trino_internal_variant.py +19 -0
  591. hyperfluid/models/data_dock_kind_request.py +20 -0
  592. hyperfluid/models/data_dock_kind_request_trino_internal_variant.py +19 -0
  593. hyperfluid/models/data_dock_kind_trino_internal_variant.py +19 -0
  594. hyperfluid/models/data_dock_resource_groups_response.py +26 -0
  595. hyperfluid/models/data_dock_search_request.py +43 -0
  596. hyperfluid/models/data_dock_search_response.py +21 -0
  597. hyperfluid/models/data_dock_search_result_item.py +21 -0
  598. hyperfluid/models/data_dock_security_settings_response.py +45 -0
  599. hyperfluid/models/data_dock_status.py +21 -0
  600. hyperfluid/models/data_dock_type.py +16 -0
  601. hyperfluid/models/data_verb.py +32 -0
  602. hyperfluid/models/data_verb_decision.py +22 -0
  603. hyperfluid/models/declared_link.py +26 -0
  604. hyperfluid/models/declared_network.py +29 -0
  605. hyperfluid/models/deduping_strategy.py +21 -0
  606. hyperfluid/models/delete_directory_response.py +14 -0
  607. hyperfluid/models/delete_prefix_result.py +28 -0
  608. hyperfluid/models/delete_preview_downstream.py +23 -0
  609. hyperfluid/models/delete_preview_response.py +42 -0
  610. hyperfluid/models/delete_warning.py +19 -0
  611. hyperfluid/models/destination_config.py +22 -0
  612. hyperfluid/models/detach_image_source_request.py +25 -0
  613. hyperfluid/models/dev_workstation_audit_status.py +30 -0
  614. hyperfluid/models/dev_workstation_egress_flows_response.py +21 -0
  615. hyperfluid/models/dev_workstation_egress_response.py +26 -0
  616. hyperfluid/models/dev_workstation_metrics.py +33 -0
  617. hyperfluid/models/dev_workstation_network_response.py +19 -0
  618. hyperfluid/models/dev_workstation_response.py +58 -0
  619. hyperfluid/models/dev_workstation_setup_report_response.py +36 -0
  620. hyperfluid/models/dev_workstation_status_response.py +23 -0
  621. hyperfluid/models/dev_workstation_transcript_entry.py +25 -0
  622. hyperfluid/models/discard_request.py +14 -0
  623. hyperfluid/models/domain_verification_response.py +61 -0
  624. hyperfluid/models/domain_verification_state_dto.py +15 -0
  625. hyperfluid/models/downgrade_offer.py +17 -0
  626. hyperfluid/models/download_service_account_response.py +50 -0
  627. hyperfluid/models/duplicate_dashboard_request.py +14 -0
  628. hyperfluid/models/dynamic_label.py +23 -0
  629. hyperfluid/models/dynamic_label_placeholder.py +24 -0
  630. hyperfluid/models/effect.py +16 -0
  631. hyperfluid/models/effective_data_access_response.py +28 -0
  632. hyperfluid/models/effective_security_settings_response.py +43 -0
  633. hyperfluid/models/egress_allowlist_response.py +26 -0
  634. hyperfluid/models/egress_destination_kind_dto.py +16 -0
  635. hyperfluid/models/egress_flow_summary_dto.py +32 -0
  636. hyperfluid/models/egress_verdict_dto.py +15 -0
  637. hyperfluid/models/email_auth_policy.py +19 -0
  638. hyperfluid/models/enable_sql_engine_request.py +53 -0
  639. hyperfluid/models/enable_sql_engine_response.py +29 -0
  640. hyperfluid/models/engine.py +16 -0
  641. hyperfluid/models/env_var_input.py +15 -0
  642. hyperfluid/models/env_var_spec_response.py +15 -0
  643. hyperfluid/models/environment_map_node.py +29 -0
  644. hyperfluid/models/environment_map_response.py +21 -0
  645. hyperfluid/models/execute_action_request.py +21 -0
  646. hyperfluid/models/execute_request.py +27 -0
  647. hyperfluid/models/exposed_table_ref.py +15 -0
  648. hyperfluid/models/exposure_mode.py +19 -0
  649. hyperfluid/models/faker_field_type.py +21 -0
  650. hyperfluid/models/faker_schema_overview.py +23 -0
  651. hyperfluid/models/faker_table_field_options.py +13 -0
  652. hyperfluid/models/faker_table_fields.py +23 -0
  653. hyperfluid/models/faker_table_overview.py +31 -0
  654. hyperfluid/models/faker_table_template.py +19 -0
  655. hyperfluid/models/file_content.py +31 -0
  656. hyperfluid/models/file_import_result.py +33 -0
  657. hyperfluid/models/file_mount_input.py +26 -0
  658. hyperfluid/models/file_mount_response.py +24 -0
  659. hyperfluid/models/file_mount_source_input.py +29 -0
  660. hyperfluid/models/file_mount_source_input_inline_variant.py +17 -0
  661. hyperfluid/models/file_mount_source_input_secret_manager_variant.py +17 -0
  662. hyperfluid/models/file_mount_source_response.py +32 -0
  663. hyperfluid/models/file_mount_source_response_inline_variant.py +18 -0
  664. hyperfluid/models/file_mount_source_response_secret_manager_variant.py +17 -0
  665. hyperfluid/models/file_preview.py +25 -0
  666. hyperfluid/models/file_sorter_destination_config.py +18 -0
  667. hyperfluid/models/file_sorter_routing_config.py +17 -0
  668. hyperfluid/models/file_sorter_source_config.py +40 -0
  669. hyperfluid/models/file_sorter_source_config_data_container_variant.py +21 -0
  670. hyperfluid/models/file_sorter_source_config_harbor_bucket_variant.py +24 -0
  671. hyperfluid/models/finding.py +27 -0
  672. hyperfluid/models/fixable_counts.py +17 -0
  673. hyperfluid/models/flow_direction.py +15 -0
  674. hyperfluid/models/flow_verdict.py +15 -0
  675. hyperfluid/models/forgejo_repo_entry.py +24 -0
  676. hyperfluid/models/forgejo_runner_response.py +57 -0
  677. hyperfluid/models/forgejo_runner_status_response.py +39 -0
  678. hyperfluid/models/g_drive_extraction_config.py +30 -0
  679. hyperfluid/models/g_drive_extraction_type.py +15 -0
  680. hyperfluid/models/g_drive_source_config.py +33 -0
  681. hyperfluid/models/gc_status_response.py +26 -0
  682. hyperfluid/models/generate_ontology_request.py +36 -0
  683. hyperfluid/models/get_console_config_response.py +73 -0
  684. hyperfluid/models/get_faker_field_types_response.py +20 -0
  685. hyperfluid/models/get_faker_schema_response.py +17 -0
  686. hyperfluid/models/get_faker_table_response.py +17 -0
  687. hyperfluid/models/get_faker_tables_response.py +17 -0
  688. hyperfluid/models/get_run_response.py +17 -0
  689. hyperfluid/models/git_diff.py +23 -0
  690. hyperfluid/models/git_file_status.py +17 -0
  691. hyperfluid/models/git_image_source.py +54 -0
  692. hyperfluid/models/git_provider.py +16 -0
  693. hyperfluid/models/git_ref.py +27 -0
  694. hyperfluid/models/git_ref_branch_variant.py +16 -0
  695. hyperfluid/models/git_ref_tag_variant.py +16 -0
  696. hyperfluid/models/git_repo_status.py +35 -0
  697. hyperfluid/models/github_connection_credential_dto.py +36 -0
  698. hyperfluid/models/github_connection_credential_dto_github_app_variant.py +31 -0
  699. hyperfluid/models/github_connection_credential_dto_pat_variant.py +19 -0
  700. hyperfluid/models/github_connection_response.py +23 -0
  701. hyperfluid/models/github_connection_target.py +40 -0
  702. hyperfluid/models/github_connection_target_kind.py +15 -0
  703. hyperfluid/models/github_runner_egress_mode_dto.py +16 -0
  704. hyperfluid/models/github_runner_pool_egress_flows_response.py +36 -0
  705. hyperfluid/models/github_runner_response.py +69 -0
  706. hyperfluid/models/github_runner_scope.py +22 -0
  707. hyperfluid/models/github_runner_scope_org_variant.py +18 -0
  708. hyperfluid/models/github_runner_scope_repo_variant.py +21 -0
  709. hyperfluid/models/github_runner_status_response.py +43 -0
  710. hyperfluid/models/gpu_availability_response.py +39 -0
  711. hyperfluid/models/gpu_consumer_view.py +34 -0
  712. hyperfluid/models/gpu_fleet_summary.py +31 -0
  713. hyperfluid/models/gpu_node_view.py +55 -0
  714. hyperfluid/models/gpu_resources_response.py +21 -0
  715. hyperfluid/models/grant.py +47 -0
  716. hyperfluid/models/group.py +28 -0
  717. hyperfluid/models/group_member.py +23 -0
  718. hyperfluid/models/harbor.py +30 -0
  719. hyperfluid/models/harbor_network_isolation_response.py +17 -0
  720. hyperfluid/models/harbor_posture.py +34 -0
  721. hyperfluid/models/harbor_ref.py +19 -0
  722. hyperfluid/models/harbor_storage_binding_view.py +54 -0
  723. hyperfluid/models/health_thresholds.py +23 -0
  724. hyperfluid/models/hf_bucket_detail.py +110 -0
  725. hyperfluid/models/hf_bucket_view.py +70 -0
  726. hyperfluid/models/hf_collumn.py +19 -0
  727. hyperfluid/models/hf_data_type.py +23 -0
  728. hyperfluid/models/hf_key_value_cache_crd_spec_response.py +23 -0
  729. hyperfluid/models/hf_key_value_cache_response.py +47 -0
  730. hyperfluid/models/hf_table.py +26 -0
  731. hyperfluid/models/histogram_bucket_dto.py +20 -0
  732. hyperfluid/models/iceberg_column_definition.py +19 -0
  733. hyperfluid/models/iceberg_connector_data_container.py +20 -0
  734. hyperfluid/models/iceberg_health_report.py +24 -0
  735. hyperfluid/models/iceberg_health_scan.py +35 -0
  736. hyperfluid/models/iceberg_health_summary.py +47 -0
  737. hyperfluid/models/iceberg_optimize_config.py +62 -0
  738. hyperfluid/models/iceberg_optimize_run.py +63 -0
  739. hyperfluid/models/iceberg_optimize_runs_page.py +29 -0
  740. hyperfluid/models/iceberg_optimize_summary.py +51 -0
  741. hyperfluid/models/iceberg_schema_metadata.py +46 -0
  742. hyperfluid/models/iceberg_table_health.py +91 -0
  743. hyperfluid/models/iceberg_table_metadata.py +27 -0
  744. hyperfluid/models/iceberg_table_response_data.py +47 -0
  745. hyperfluid/models/identity_provider.py +30 -0
  746. hyperfluid/models/identity_provider_kind.py +16 -0
  747. hyperfluid/models/image_posture.py +37 -0
  748. hyperfluid/models/image_ref.py +16 -0
  749. hyperfluid/models/image_scan.py +52 -0
  750. hyperfluid/models/image_scan_detail.py +55 -0
  751. hyperfluid/models/image_source.py +18 -0
  752. hyperfluid/models/image_source_error.py +19 -0
  753. hyperfluid/models/image_source_status.py +72 -0
  754. hyperfluid/models/image_source_syncs_page.py +21 -0
  755. hyperfluid/models/imap_transport_config.py +46 -0
  756. hyperfluid/models/import_api_extra_filter.py +17 -0
  757. hyperfluid/models/import_column_type.py +21 -0
  758. hyperfluid/models/import_file_format.py +18 -0
  759. hyperfluid/models/imported_column.py +23 -0
  760. hyperfluid/models/inbound_email_destination_config.py +35 -0
  761. hyperfluid/models/inbound_email_destination_config_data_container_variant.py +21 -0
  762. hyperfluid/models/inbound_email_destination_config_harbor_bucket_variant.py +24 -0
  763. hyperfluid/models/inbound_email_extraction_config.py +23 -0
  764. hyperfluid/models/inbound_email_security_config.py +36 -0
  765. hyperfluid/models/inbound_email_source_config.py +23 -0
  766. hyperfluid/models/inbound_email_source_config_imap_variant.py +21 -0
  767. hyperfluid/models/init_container_input.py +38 -0
  768. hyperfluid/models/init_container_response.py +26 -0
  769. hyperfluid/models/install_media.py +15 -0
  770. hyperfluid/models/instance_page.py +28 -0
  771. hyperfluid/models/instance_usage_dto.py +20 -0
  772. hyperfluid/models/intended_use.py +15 -0
  773. hyperfluid/models/internet_exposure_state.py +29 -0
  774. hyperfluid/models/invitation_identity_provider.py +17 -0
  775. hyperfluid/models/invitation_preview.py +28 -0
  776. hyperfluid/models/issue_s3_key_request.py +22 -0
  777. hyperfluid/models/issue_scoped_s3_key_request.py +31 -0
  778. hyperfluid/models/issued_s3_key.py +28 -0
  779. hyperfluid/models/issued_scoped_s3_key.py +37 -0
  780. hyperfluid/models/kafka_consumer_group.py +19 -0
  781. hyperfluid/models/kafka_hf_service_response.py +63 -0
  782. hyperfluid/models/kafka_hf_topic_response.py +39 -0
  783. hyperfluid/models/kafka_metadata.py +22 -0
  784. hyperfluid/models/kafka_topic_info.py +21 -0
  785. hyperfluid/models/kpi_threshold.py +17 -0
  786. hyperfluid/models/label.py +58 -0
  787. hyperfluid/models/label_type_dynamic_variant.py +21 -0
  788. hyperfluid/models/label_type_static_variant.py +14 -0
  789. hyperfluid/models/launch_nextflow_run_request_body.py +40 -0
  790. hyperfluid/models/link_forgejo_credential_request.py +16 -0
  791. hyperfluid/models/link_forgejo_credential_response.py +20 -0
  792. hyperfluid/models/link_type.py +40 -0
  793. hyperfluid/models/list_audit_log_item.py +43 -0
  794. hyperfluid/models/list_changelogs_response.py +18 -0
  795. hyperfluid/models/list_connectors_response.py +17 -0
  796. hyperfluid/models/list_context_providers_response.py +17 -0
  797. hyperfluid/models/list_contextual_restrictions_response.py +17 -0
  798. hyperfluid/models/list_quota_profiles_response.py +17 -0
  799. hyperfluid/models/list_runs_response.py +17 -0
  800. hyperfluid/models/list_secrets_response.py +26 -0
  801. hyperfluid/models/list_security_decisions_response.py +17 -0
  802. hyperfluid/models/list_service_accounts_response_data.py +17 -0
  803. hyperfluid/models/list_table_classifications_response.py +17 -0
  804. hyperfluid/models/list_user_attributes_response.py +14 -0
  805. hyperfluid/models/live_audit_log.py +24 -0
  806. hyperfluid/models/log_entry_dto.py +25 -0
  807. hyperfluid/models/log_level.py +23 -0
  808. hyperfluid/models/log_source_dto.py +19 -0
  809. hyperfluid/models/log_stream.py +16 -0
  810. hyperfluid/models/managed_mail_config_response.py +22 -0
  811. hyperfluid/models/managed_postgresql_backup_crd_response.py +31 -0
  812. hyperfluid/models/managed_postgresql_backup_response.py +59 -0
  813. hyperfluid/models/managed_postgresql_backups_page.py +23 -0
  814. hyperfluid/models/managed_postgresql_crd_spec_response.py +41 -0
  815. hyperfluid/models/managed_postgresql_import_compression.py +15 -0
  816. hyperfluid/models/managed_postgresql_import_condition.py +19 -0
  817. hyperfluid/models/managed_postgresql_import_crd_response.py +50 -0
  818. hyperfluid/models/managed_postgresql_import_created_log.py +43 -0
  819. hyperfluid/models/managed_postgresql_import_format.py +17 -0
  820. hyperfluid/models/managed_postgresql_import_phase.py +22 -0
  821. hyperfluid/models/managed_postgresql_import_response.py +73 -0
  822. hyperfluid/models/managed_postgresql_import_upload.py +28 -0
  823. hyperfluid/models/managed_postgresql_import_upload_multipart_variant.py +24 -0
  824. hyperfluid/models/managed_postgresql_import_upload_simple_variant.py +16 -0
  825. hyperfluid/models/managed_postgresql_imports_page.py +23 -0
  826. hyperfluid/models/managed_postgresql_response.py +95 -0
  827. hyperfluid/models/managed_postgresql_user_crd_spec_response.py +17 -0
  828. hyperfluid/models/managed_postgresql_user_response.py +40 -0
  829. hyperfluid/models/map_badge.py +38 -0
  830. hyperfluid/models/matching_tag.py +15 -0
  831. hyperfluid/models/medallion_tier.py +16 -0
  832. hyperfluid/models/message_attachment.py +25 -0
  833. hyperfluid/models/message_author_kind.py +19 -0
  834. hyperfluid/models/message_part.py +36 -0
  835. hyperfluid/models/message_part_file_variant.py +35 -0
  836. hyperfluid/models/message_part_patch_variant.py +19 -0
  837. hyperfluid/models/message_part_reasoning_variant.py +19 -0
  838. hyperfluid/models/message_part_text_variant.py +20 -0
  839. hyperfluid/models/message_part_tool_variant.py +38 -0
  840. hyperfluid/models/message_role.py +17 -0
  841. hyperfluid/models/metadata_storage_config.py +21 -0
  842. hyperfluid/models/metric_panel_dto.py +27 -0
  843. hyperfluid/models/metric_point_dto.py +15 -0
  844. hyperfluid/models/metric_series_dto.py +19 -0
  845. hyperfluid/models/metrics_range.py +23 -0
  846. hyperfluid/models/model_catalog_response.py +21 -0
  847. hyperfluid/models/model_config.py +31 -0
  848. hyperfluid/models/model_option.py +50 -0
  849. hyperfluid/models/model_protocol.py +30 -0
  850. hyperfluid/models/model_resources.py +20 -0
  851. hyperfluid/models/model_runtime.py +16 -0
  852. hyperfluid/models/model_serving_phase.py +21 -0
  853. hyperfluid/models/model_serving_response.py +60 -0
  854. hyperfluid/models/model_type.py +16 -0
  855. hyperfluid/models/model_usage.py +19 -0
  856. hyperfluid/models/model_usage_time_point.py +24 -0
  857. hyperfluid/models/multipart_part_url.py +15 -0
  858. hyperfluid/models/network_isolation_view.py +17 -0
  859. hyperfluid/models/nextflow_crd_response.py +40 -0
  860. hyperfluid/models/nextflow_crd_status_response.py +33 -0
  861. hyperfluid/models/nextflow_defaults_response.py +50 -0
  862. hyperfluid/models/nextflow_egress_request.py +20 -0
  863. hyperfluid/models/nextflow_head_request.py +15 -0
  864. hyperfluid/models/nextflow_pod_role.py +20 -0
  865. hyperfluid/models/nextflow_response.py +54 -0
  866. hyperfluid/models/nextflow_run_counts_response.py +17 -0
  867. hyperfluid/models/nextflow_run_detail_response.py +67 -0
  868. hyperfluid/models/nextflow_run_response.py +49 -0
  869. hyperfluid/models/nextflow_run_task_response.py +43 -0
  870. hyperfluid/models/nextflow_scm_platform.py +20 -0
  871. hyperfluid/models/nextflow_scm_request.py +26 -0
  872. hyperfluid/models/nextflow_storage_request.py +20 -0
  873. hyperfluid/models/nextflow_task_quota_request.py +18 -0
  874. hyperfluid/models/node_tier.py +22 -0
  875. hyperfluid/models/normalized_message.py +55 -0
  876. hyperfluid/models/notification_channel_dto.py +36 -0
  877. hyperfluid/models/object_delete_failure.py +18 -0
  878. hyperfluid/models/object_instance.py +24 -0
  879. hyperfluid/models/object_storage_owner_key_revealed_log.py +28 -0
  880. hyperfluid/models/object_storage_usage_collected_log.py +34 -0
  881. hyperfluid/models/object_type.py +51 -0
  882. hyperfluid/models/object_type_with_properties.py +21 -0
  883. hyperfluid/models/observed_flow.py +30 -0
  884. hyperfluid/models/observed_flows.py +25 -0
  885. hyperfluid/models/oci_registry_auth.py +17 -0
  886. hyperfluid/models/oci_registry_config_value.py +17 -0
  887. hyperfluid/models/ocr_provider_config.py +22 -0
  888. hyperfluid/models/ocr_provider_config_local_variant.py +29 -0
  889. hyperfluid/models/ocr_provider_config_mistral_variant.py +14 -0
  890. hyperfluid/models/ontology_proposal.py +24 -0
  891. hyperfluid/models/opa_decision_log.py +50 -0
  892. hyperfluid/models/open_data_catalog_response.py +17 -0
  893. hyperfluid/models/open_data_column_response.py +17 -0
  894. hyperfluid/models/open_data_dataset_response.py +35 -0
  895. hyperfluid/models/open_data_source_config.py +14 -0
  896. hyperfluid/models/org.py +36 -0
  897. hyperfluid/models/org_feature.py +49 -0
  898. hyperfluid/models/org_feature_state.py +19 -0
  899. hyperfluid/models/org_features_response.py +17 -0
  900. hyperfluid/models/org_posture.py +40 -0
  901. hyperfluid/models/org_ref.py +16 -0
  902. hyperfluid/models/org_rescan_request_body.py +29 -0
  903. hyperfluid/models/org_security_policies_response.py +17 -0
  904. hyperfluid/models/org_security_policy_state.py +20 -0
  905. hyperfluid/models/org_security_settings_response.py +27 -0
  906. hyperfluid/models/org_storage_view.py +52 -0
  907. hyperfluid/models/org_user_attributes_response.py +18 -0
  908. hyperfluid/models/org_workload_scan_settings_response.py +17 -0
  909. hyperfluid/models/organization_invitation.py +37 -0
  910. hyperfluid/models/organization_overview_response.py +48 -0
  911. hyperfluid/models/organization_policy.py +42 -0
  912. hyperfluid/models/organization_quota_response.py +23 -0
  913. hyperfluid/models/organization_workload_view.py +40 -0
  914. hyperfluid/models/panel_kind.py +15 -0
  915. hyperfluid/models/partition_input.py +35 -0
  916. hyperfluid/models/patch_airflow_connection_request.py +36 -0
  917. hyperfluid/models/patch_airflow_crd_request_body.py +44 -0
  918. hyperfluid/models/patch_app_instance_request_body.py +18 -0
  919. hyperfluid/models/patch_backup_target_crd_request_body.py +26 -0
  920. hyperfluid/models/patch_compute_dock_crd_request_body.py +43 -0
  921. hyperfluid/models/patch_compute_dock_crd_response.py +21 -0
  922. hyperfluid/models/patch_container_app_crd_request_body.py +153 -0
  923. hyperfluid/models/patch_container_app_request_body.py +25 -0
  924. hyperfluid/models/patch_harbor_storage_binding_request.py +15 -0
  925. hyperfluid/models/patch_hf_bucket_request.py +23 -0
  926. hyperfluid/models/patch_hf_key_value_cache_crd_request_body.py +32 -0
  927. hyperfluid/models/patch_managed_postgresql_crd_request_body.py +44 -0
  928. hyperfluid/models/patch_managed_postgresql_user_crd_request_body.py +23 -0
  929. hyperfluid/models/patch_model_serving_request.py +22 -0
  930. hyperfluid/models/patch_nextflow_crd_request_body.py +73 -0
  931. hyperfluid/models/patch_org_storage_request.py +24 -0
  932. hyperfluid/models/patch_virtual_machine_crd_request_body.py +24 -0
  933. hyperfluid/models/pending_permission.py +32 -0
  934. hyperfluid/models/pending_question.py +36 -0
  935. hyperfluid/models/permission_action.py +18 -0
  936. hyperfluid/models/permission_catalog_entry.py +23 -0
  937. hyperfluid/models/permission_key.py +398 -0
  938. hyperfluid/models/permission_level.py +15 -0
  939. hyperfluid/models/permission_policy_view.py +27 -0
  940. hyperfluid/models/permission_reply.py +19 -0
  941. hyperfluid/models/permission_reply_request.py +20 -0
  942. hyperfluid/models/persistence_access.py +16 -0
  943. hyperfluid/models/persistence_input.py +36 -0
  944. hyperfluid/models/persistence_response.py +25 -0
  945. hyperfluid/models/pipeline_detail_field.py +26 -0
  946. hyperfluid/models/pipeline_detail_group.py +34 -0
  947. hyperfluid/models/pipeline_detail_response.py +42 -0
  948. hyperfluid/models/pipeline_field_reference.py +44 -0
  949. hyperfluid/models/pipeline_field_reference_bucket_variant.py +16 -0
  950. hyperfluid/models/pipeline_field_reference_credential_variant.py +28 -0
  951. hyperfluid/models/pipeline_field_reference_shared_model_variant.py +16 -0
  952. hyperfluid/models/pipeline_field_reference_table_variant.py +21 -0
  953. hyperfluid/models/pipeline_metadata.py +49 -0
  954. hyperfluid/models/pipeline_response_data.py +36 -0
  955. hyperfluid/models/pipeline_run.py +62 -0
  956. hyperfluid/models/pipeline_run_status.py +19 -0
  957. hyperfluid/models/pipeline_stats.py +21 -0
  958. hyperfluid/models/pipeline_status_filter.py +17 -0
  959. hyperfluid/models/pipeline_type.py +40 -0
  960. hyperfluid/models/pipeline_type_count.py +17 -0
  961. hyperfluid/models/pipelines_page.py +30 -0
  962. hyperfluid/models/pipelines_stats.py +36 -0
  963. hyperfluid/models/pitr_request.py +38 -0
  964. hyperfluid/models/platform.py +17 -0
  965. hyperfluid/models/platform_admin_action_log.py +23 -0
  966. hyperfluid/models/policy_preset.py +23 -0
  967. hyperfluid/models/port_protocol.py +16 -0
  968. hyperfluid/models/post_message_request.py +32 -0
  969. hyperfluid/models/postgresql_connector_detail.py +33 -0
  970. hyperfluid/models/pr_checks.py +17 -0
  971. hyperfluid/models/pr_request.py +15 -0
  972. hyperfluid/models/pr_response.py +27 -0
  973. hyperfluid/models/pr_summary.py +35 -0
  974. hyperfluid/models/prepare_archive_import_request.py +23 -0
  975. hyperfluid/models/prepare_archive_import_response.py +26 -0
  976. hyperfluid/models/prepare_archive_import_response_multipart_variant.py +29 -0
  977. hyperfluid/models/prepare_archive_import_response_simple_variant.py +18 -0
  978. hyperfluid/models/prepare_managed_postgresql_import_upload_request_body.py +22 -0
  979. hyperfluid/models/prepare_managed_postgresql_import_upload_response.py +29 -0
  980. hyperfluid/models/preview_image_source_request.py +21 -0
  981. hyperfluid/models/preview_image_source_response.py +36 -0
  982. hyperfluid/models/preview_port.py +23 -0
  983. hyperfluid/models/preview_ports_response.py +22 -0
  984. hyperfluid/models/preview_posture.py +21 -0
  985. hyperfluid/models/principal_usage.py +29 -0
  986. hyperfluid/models/principal_usage_time_point.py +30 -0
  987. hyperfluid/models/property_definition.py +39 -0
  988. hyperfluid/models/proposed_link_type.py +32 -0
  989. hyperfluid/models/proposed_object_type.py +30 -0
  990. hyperfluid/models/proposed_property.py +28 -0
  991. hyperfluid/models/public_signup_page_copy.py +23 -0
  992. hyperfluid/models/query_history_entry.py +91 -0
  993. hyperfluid/models/query_history_page.py +24 -0
  994. hyperfluid/models/query_result.py +30 -0
  995. hyperfluid/models/query_result_column.py +15 -0
  996. hyperfluid/models/query_run.py +30 -0
  997. hyperfluid/models/query_run_error.py +16 -0
  998. hyperfluid/models/query_run_status.py +16 -0
  999. hyperfluid/models/question_info.py +31 -0
  1000. hyperfluid/models/question_option.py +17 -0
  1001. hyperfluid/models/question_reply_request.py +16 -0
  1002. hyperfluid/models/quota_capacity_dimension.py +24 -0
  1003. hyperfluid/models/quota_profile_response.py +61 -0
  1004. hyperfluid/models/quota_resource_type.py +34 -0
  1005. hyperfluid/models/quota_status.py +16 -0
  1006. hyperfluid/models/quota_usage_item_response.py +27 -0
  1007. hyperfluid/models/ref.py +49 -0
  1008. hyperfluid/models/ref_status.py +17 -0
  1009. hyperfluid/models/refresh_credentials_summary.py +23 -0
  1010. hyperfluid/models/refresh_data_docks_response.py +17 -0
  1011. hyperfluid/models/refusal_reason.py +32 -0
  1012. hyperfluid/models/register_invitation_request.py +17 -0
  1013. hyperfluid/models/registry_project_response.py +25 -0
  1014. hyperfluid/models/registry_project_usage_response.py +25 -0
  1015. hyperfluid/models/registry_response.py +51 -0
  1016. hyperfluid/models/registry_usage_response.py +47 -0
  1017. hyperfluid/models/rename_terminal_request.py +15 -0
  1018. hyperfluid/models/requested_size.py +17 -0
  1019. hyperfluid/models/requester_kind.py +21 -0
  1020. hyperfluid/models/rescan_response.py +13 -0
  1021. hyperfluid/models/rescan_scope.py +17 -0
  1022. hyperfluid/models/resolve_failure_reason.py +34 -0
  1023. hyperfluid/models/resolved_grant.py +32 -0
  1024. hyperfluid/models/resolved_image.py +25 -0
  1025. hyperfluid/models/resource_denial_count.py +15 -0
  1026. hyperfluid/models/resource_family.py +18 -0
  1027. hyperfluid/models/resource_kind.py +42 -0
  1028. hyperfluid/models/resource_logs_response.py +49 -0
  1029. hyperfluid/models/resource_metrics_response.py +29 -0
  1030. hyperfluid/models/resource_mode.py +32 -0
  1031. hyperfluid/models/resource_origin.py +19 -0
  1032. hyperfluid/models/resource_overview_response.py +24 -0
  1033. hyperfluid/models/resource_requirements_spec.py +24 -0
  1034. hyperfluid/models/resource_source.py +19 -0
  1035. hyperfluid/models/resource_spec.py +17 -0
  1036. hyperfluid/models/resource_tier.py +46 -0
  1037. hyperfluid/models/resource_tier_catalog_entry.py +38 -0
  1038. hyperfluid/models/resource_tier_catalog_response.py +17 -0
  1039. hyperfluid/models/restart_row.py +40 -0
  1040. hyperfluid/models/restore_from_backup.py +43 -0
  1041. hyperfluid/models/restriction_evaluation_result.py +25 -0
  1042. hyperfluid/models/results_page.py +18 -0
  1043. hyperfluid/models/revoked_s3_key.py +24 -0
  1044. hyperfluid/models/rightsizing_direction.py +16 -0
  1045. hyperfluid/models/rightsizing_suggestion_response.py +51 -0
  1046. hyperfluid/models/role.py +29 -0
  1047. hyperfluid/models/runner_flavor_catalog_entry.py +20 -0
  1048. hyperfluid/models/runner_flavor_catalog_response.py +23 -0
  1049. hyperfluid/models/runner_flavor_dto.py +48 -0
  1050. hyperfluid/models/runner_flavor_dto_c2_variant.py +14 -0
  1051. hyperfluid/models/runner_flavor_dto_c3_variant.py +14 -0
  1052. hyperfluid/models/runner_flavor_dto_c4_variant.py +14 -0
  1053. hyperfluid/models/runner_flavor_dto_c8_variant.py +14 -0
  1054. hyperfluid/models/runner_flavor_dto_custom_variant.py +27 -0
  1055. hyperfluid/models/runner_flavor_dto_l_variant.py +14 -0
  1056. hyperfluid/models/runner_flavor_dto_m_variant.py +14 -0
  1057. hyperfluid/models/runner_flavor_dto_s_variant.py +14 -0
  1058. hyperfluid/models/runner_flavor_dto_xl_variant.py +14 -0
  1059. hyperfluid/models/runner_flavor_name.py +23 -0
  1060. hyperfluid/models/runner_resources_dto.py +23 -0
  1061. hyperfluid/models/runtime_alert_priority.py +31 -0
  1062. hyperfluid/models/runtime_security_alert_log.py +64 -0
  1063. hyperfluid/models/s3_gateway_decision_log.py +53 -0
  1064. hyperfluid/models/s3_gateway_gate_denied_log.py +40 -0
  1065. hyperfluid/models/s3_gateway_session_issued_log.py +32 -0
  1066. hyperfluid/models/s3_key_list_entry.py +61 -0
  1067. hyperfluid/models/s3_session_credentials.py +30 -0
  1068. hyperfluid/models/saved_queries_page.py +30 -0
  1069. hyperfluid/models/saved_query.py +41 -0
  1070. hyperfluid/models/saved_query_sort.py +22 -0
  1071. hyperfluid/models/scan_pipeline_health.py +41 -0
  1072. hyperfluid/models/scan_state.py +22 -0
  1073. hyperfluid/models/scan_status.py +18 -0
  1074. hyperfluid/models/scan_summary.py +28 -0
  1075. hyperfluid/models/scan_trigger.py +18 -0
  1076. hyperfluid/models/schedule_state.py +87 -0
  1077. hyperfluid/models/scheduled_run_status.py +20 -0
  1078. hyperfluid/models/scm_branch.py +15 -0
  1079. hyperfluid/models/scm_repository.py +39 -0
  1080. hyperfluid/models/scoped_bucket_request.py +17 -0
  1081. hyperfluid/models/search_mode.py +27 -0
  1082. hyperfluid/models/secret_manager_ref.py +20 -0
  1083. hyperfluid/models/secret_manager_type.py +14 -0
  1084. hyperfluid/models/secret_metadata_response.py +42 -0
  1085. hyperfluid/models/secret_ref.py +23 -0
  1086. hyperfluid/models/secret_ref_input.py +15 -0
  1087. hyperfluid/models/secret_ref_spec_response.py +15 -0
  1088. hyperfluid/models/secret_scope.py +15 -0
  1089. hyperfluid/models/secret_type.py +19 -0
  1090. hyperfluid/models/secret_value.py +27 -0
  1091. hyperfluid/models/secret_value_json_variant.py +16 -0
  1092. hyperfluid/models/secret_value_oci_registry_config_variant.py +19 -0
  1093. hyperfluid/models/secret_value_plaintext_variant.py +16 -0
  1094. hyperfluid/models/secret_value_response.py +19 -0
  1095. hyperfluid/models/security_decision.py +15 -0
  1096. hyperfluid/models/security_decision_log.py +60 -0
  1097. hyperfluid/models/security_decision_log_response.py +41 -0
  1098. hyperfluid/models/security_policy.py +20 -0
  1099. hyperfluid/models/security_policy_value.py +30 -0
  1100. hyperfluid/models/security_policy_value_bool_variant.py +16 -0
  1101. hyperfluid/models/security_policy_value_choice_variant.py +16 -0
  1102. hyperfluid/models/security_policy_value_string_list_variant.py +16 -0
  1103. hyperfluid/models/security_resource_type.py +19 -0
  1104. hyperfluid/models/security_summary_response.py +26 -0
  1105. hyperfluid/models/sender_pattern.py +14 -0
  1106. hyperfluid/models/sensitivity_level.py +19 -0
  1107. hyperfluid/models/service_account.py +58 -0
  1108. hyperfluid/models/service_account_attributes_response.py +13 -0
  1109. hyperfluid/models/service_account_crd_config.py +37 -0
  1110. hyperfluid/models/service_link_kind.py +35 -0
  1111. hyperfluid/models/service_link_port.py +16 -0
  1112. hyperfluid/models/service_link_response.py +34 -0
  1113. hyperfluid/models/service_ref.py +20 -0
  1114. hyperfluid/models/session_summary.py +36 -0
  1115. hyperfluid/models/session_workspace.py +19 -0
  1116. hyperfluid/models/session_workspace_request.py +25 -0
  1117. hyperfluid/models/set_api_key_rate_limits_request.py +18 -0
  1118. hyperfluid/models/set_bindings_body.py +15 -0
  1119. hyperfluid/models/set_key_budget_body.py +27 -0
  1120. hyperfluid/models/set_org_settings_body.py +13 -0
  1121. hyperfluid/models/set_organization_logs_retention_request_body.py +15 -0
  1122. hyperfluid/models/set_role_permissions_request_body.py +17 -0
  1123. hyperfluid/models/set_service_account_attributes_request.py +15 -0
  1124. hyperfluid/models/set_thresholds_body.py +15 -0
  1125. hyperfluid/models/set_user_attributes_request.py +20 -0
  1126. hyperfluid/models/setup_outcome.py +19 -0
  1127. hyperfluid/models/sha256_hash_deduping_strategy.py +17 -0
  1128. hyperfluid/models/share_point_source_config.py +58 -0
  1129. hyperfluid/models/shared_model_response.py +99 -0
  1130. hyperfluid/models/sheet_preview.py +39 -0
  1131. hyperfluid/models/sign_compute_dock_ssh_key_request.py +15 -0
  1132. hyperfluid/models/sign_compute_dock_ssh_key_response.py +22 -0
  1133. hyperfluid/models/signal_bindings_dto.py +16 -0
  1134. hyperfluid/models/signal_thresholds_dto.py +25 -0
  1135. hyperfluid/models/skill_registry_catalog_entry.py +42 -0
  1136. hyperfluid/models/skill_registry_ref_dto.py +23 -0
  1137. hyperfluid/models/skill_registry_response.py +54 -0
  1138. hyperfluid/models/skill_registry_scope_dto.py +17 -0
  1139. hyperfluid/models/skill_response.py +31 -0
  1140. hyperfluid/models/skipped_preview_port.py +19 -0
  1141. hyperfluid/models/sort_dir.py +15 -0
  1142. hyperfluid/models/source_sync_event.py +47 -0
  1143. hyperfluid/models/source_sync_kind.py +32 -0
  1144. hyperfluid/models/spend_budget.py +35 -0
  1145. hyperfluid/models/spend_window.py +24 -0
  1146. hyperfluid/models/sql_copilot_repair_context.py +20 -0
  1147. hyperfluid/models/sql_copilot_request.py +29 -0
  1148. hyperfluid/models/sql_copilot_response.py +29 -0
  1149. hyperfluid/models/start_health_scan_response.py +17 -0
  1150. hyperfluid/models/storage_zone_view.py +70 -0
  1151. hyperfluid/models/support_ticket_event_response.py +38 -0
  1152. hyperfluid/models/support_ticket_message_response.py +34 -0
  1153. hyperfluid/models/support_ticket_response.py +57 -0
  1154. hyperfluid/models/sync_image_source_request.py +15 -0
  1155. hyperfluid/models/sync_image_source_response.py +21 -0
  1156. hyperfluid/models/sync_policy.py +16 -0
  1157. hyperfluid/models/table_classification_response.py +43 -0
  1158. hyperfluid/models/table_column_response.py +15 -0
  1159. hyperfluid/models/table_data_product_response.py +42 -0
  1160. hyperfluid/models/table_health_finding.py +32 -0
  1161. hyperfluid/models/table_health_finding_kind.py +18 -0
  1162. hyperfluid/models/table_health_severity.py +24 -0
  1163. hyperfluid/models/tag_report.py +28 -0
  1164. hyperfluid/models/tag_response.py +52 -0
  1165. hyperfluid/models/tags_response.py +20 -0
  1166. hyperfluid/models/template_faker_field.py +19 -0
  1167. hyperfluid/models/test_git_credential_request.py +24 -0
  1168. hyperfluid/models/test_git_credential_response.py +25 -0
  1169. hyperfluid/models/test_image_pull_failure.py +32 -0
  1170. hyperfluid/models/test_image_pull_failure_reason.py +20 -0
  1171. hyperfluid/models/test_image_pull_request_body.py +20 -0
  1172. hyperfluid/models/test_image_pull_response.py +31 -0
  1173. hyperfluid/models/test_imap_connection_request.py +45 -0
  1174. hyperfluid/models/test_imap_connection_response.py +15 -0
  1175. hyperfluid/models/test_oci_login_failure.py +23 -0
  1176. hyperfluid/models/test_oci_login_failure_reason.py +16 -0
  1177. hyperfluid/models/test_oci_login_request_body.py +18 -0
  1178. hyperfluid/models/test_oci_login_response.py +24 -0
  1179. hyperfluid/models/test_oci_login_verdict.py +17 -0
  1180. hyperfluid/models/ticket_category.py +22 -0
  1181. hyperfluid/models/ticket_priority.py +18 -0
  1182. hyperfluid/models/ticket_status.py +25 -0
  1183. hyperfluid/models/timeseries_metric.py +16 -0
  1184. hyperfluid/models/tiny_query_limits_response.py +17 -0
  1185. hyperfluid/models/tool_permission.py +20 -0
  1186. hyperfluid/models/top_dimension.py +25 -0
  1187. hyperfluid/models/transfer_dashboard_request.py +15 -0
  1188. hyperfluid/models/trino_catalog.py +19 -0
  1189. hyperfluid/models/trino_connector_descriptor_response.py +47 -0
  1190. hyperfluid/models/trino_internal_config.py +37 -0
  1191. hyperfluid/models/trino_internal_config_response.py +37 -0
  1192. hyperfluid/models/trino_metadata.py +28 -0
  1193. hyperfluid/models/trino_query_completed_log.py +85 -0
  1194. hyperfluid/models/trino_resource_group.py +41 -0
  1195. hyperfluid/models/trino_resource_group_selector.py +38 -0
  1196. hyperfluid/models/trino_resource_groups.py +24 -0
  1197. hyperfluid/models/trino_schema.py +19 -0
  1198. hyperfluid/models/unified_catalog_response.py +35 -0
  1199. hyperfluid/models/unit.py +32 -0
  1200. hyperfluid/models/update_action_type_request.py +30 -0
  1201. hyperfluid/models/update_ai_agent_request.py +59 -0
  1202. hyperfluid/models/update_catalog_exposure_request_body.py +22 -0
  1203. hyperfluid/models/update_context_provider_body.py +20 -0
  1204. hyperfluid/models/update_contextual_restriction_body.py +24 -0
  1205. hyperfluid/models/update_dashboard_request.py +40 -0
  1206. hyperfluid/models/update_data_dock_internet_exposure_request_body.py +19 -0
  1207. hyperfluid/models/update_data_dock_request.py +21 -0
  1208. hyperfluid/models/update_data_dock_request_kind.py +20 -0
  1209. hyperfluid/models/update_data_dock_request_kind_trino_internal_variant.py +19 -0
  1210. hyperfluid/models/update_data_dock_resource_groups_request_body.py +17 -0
  1211. hyperfluid/models/update_data_dock_security_settings_body.py +38 -0
  1212. hyperfluid/models/update_dev_workstation_network_request.py +25 -0
  1213. hyperfluid/models/update_dev_workstation_request.py +27 -0
  1214. hyperfluid/models/update_faker_table_request.py +17 -0
  1215. hyperfluid/models/update_forgejo_runner_request.py +36 -0
  1216. hyperfluid/models/update_g_drive_pipeline_request.py +33 -0
  1217. hyperfluid/models/update_g_drive_source_config.py +32 -0
  1218. hyperfluid/models/update_github_connection_request.py +32 -0
  1219. hyperfluid/models/update_github_runner_request.py +76 -0
  1220. hyperfluid/models/update_group_request_body.py +15 -0
  1221. hyperfluid/models/update_identity_provider_request.py +23 -0
  1222. hyperfluid/models/update_kafka_hf_service_request.py +31 -0
  1223. hyperfluid/models/update_kafka_hf_topic_request.py +22 -0
  1224. hyperfluid/models/update_link_type_request.py +27 -0
  1225. hyperfluid/models/update_object_type_request.py +38 -0
  1226. hyperfluid/models/update_org_security_settings_body.py +19 -0
  1227. hyperfluid/models/update_permission_policy_request.py +23 -0
  1228. hyperfluid/models/update_pipeline_config_request.py +37 -0
  1229. hyperfluid/models/update_pipeline_config_request_g_drive_variant.py +22 -0
  1230. hyperfluid/models/update_pipeline_config_request_share_point_variant.py +22 -0
  1231. hyperfluid/models/update_pipeline_request.py +24 -0
  1232. hyperfluid/models/update_property_definition_request.py +26 -0
  1233. hyperfluid/models/update_ref_request.py +40 -0
  1234. hyperfluid/models/update_saved_query_request.py +47 -0
  1235. hyperfluid/models/update_secret_request_body.py +19 -0
  1236. hyperfluid/models/update_service_account_crd_request_body.py +24 -0
  1237. hyperfluid/models/update_share_point_pipeline_request.py +49 -0
  1238. hyperfluid/models/update_share_point_source_config.py +39 -0
  1239. hyperfluid/models/update_skill_registry_request.py +23 -0
  1240. hyperfluid/models/update_skill_request.py +20 -0
  1241. hyperfluid/models/update_table_classification_body.py +19 -0
  1242. hyperfluid/models/update_ticket_status_request.py +19 -0
  1243. hyperfluid/models/update_workstation_skill_registries_request.py +20 -0
  1244. hyperfluid/models/update_workstation_template_request.py +41 -0
  1245. hyperfluid/models/upload_managed_postgresql_import_response.py +25 -0
  1246. hyperfluid/models/upsert_optimize_config_request.py +40 -0
  1247. hyperfluid/models/usage_source.py +20 -0
  1248. hyperfluid/models/usage_summary.py +19 -0
  1249. hyperfluid/models/user.py +23 -0
  1250. hyperfluid/models/user_attributes_entry.py +18 -0
  1251. hyperfluid/models/user_context_response.py +19 -0
  1252. hyperfluid/models/user_denial_count.py +15 -0
  1253. hyperfluid/models/user_with_roles.py +22 -0
  1254. hyperfluid/models/value.py +6 -0
  1255. hyperfluid/models/value_format.py +17 -0
  1256. hyperfluid/models/verify_signup_request_body.py +13 -0
  1257. hyperfluid/models/version_entry.py +21 -0
  1258. hyperfluid/models/versions_response.py +17 -0
  1259. hyperfluid/models/vetted_base_response.py +14 -0
  1260. hyperfluid/models/virtual_machine_console_session_log.py +40 -0
  1261. hyperfluid/models/virtual_machine_image_catalog.py +18 -0
  1262. hyperfluid/models/virtual_machine_image_catalog_image.py +23 -0
  1263. hyperfluid/models/virtual_machine_image_catalog_source.py +23 -0
  1264. hyperfluid/models/virtual_machine_response.py +68 -0
  1265. hyperfluid/models/virtual_machine_user_response.py +40 -0
  1266. hyperfluid/models/virtual_machine_users_page.py +25 -0
  1267. hyperfluid/models/virtual_machines_page.py +25 -0
  1268. hyperfluid/models/vm_image_kind.py +15 -0
  1269. hyperfluid/models/vulnerability_counts.py +22 -0
  1270. hyperfluid/models/warning_severity.py +18 -0
  1271. hyperfluid/models/widget_chart.py +23 -0
  1272. hyperfluid/models/widget_health.py +21 -0
  1273. hyperfluid/models/widget_layout.py +19 -0
  1274. hyperfluid/models/worker_auto_scaling.py +21 -0
  1275. hyperfluid/models/worker_auto_scaling_response.py +21 -0
  1276. hyperfluid/models/workload_detail.py +29 -0
  1277. hyperfluid/models/workload_kind.py +57 -0
  1278. hyperfluid/models/workload_ref.py +29 -0
  1279. hyperfluid/models/workload_row.py +65 -0
  1280. hyperfluid/models/workload_scan_trigger.py +24 -0
  1281. hyperfluid/models/workspace_mode.py +19 -0
  1282. hyperfluid/models/workstation_agent_request_log.py +51 -0
  1283. hyperfluid/models/workstation_file.py +19 -0
  1284. hyperfluid/models/workstation_preview_session_log.py +33 -0
  1285. hyperfluid/models/workstation_repository_input.py +24 -0
  1286. hyperfluid/models/workstation_repository_response.py +28 -0
  1287. hyperfluid/models/workstation_skill_registries_response.py +17 -0
  1288. hyperfluid/models/workstation_template_response.py +56 -0
  1289. hyperfluid/models/workstation_template_scope_dto.py +16 -0
  1290. hyperfluid/models/workstation_terminal_command_log.py +55 -0
  1291. hyperfluid/models/workstation_tool_dto.py +17 -0
  1292. hyperfluid/models/write_file_request.py +23 -0
  1293. hyperfluid/models/write_file_response.py +15 -0
  1294. hyperfluid/py.typed +0 -0
  1295. hyperfluid/serialization.py +911 -0
  1296. hyperfluid/unions.py +102 -0
  1297. hyperfluid-0.1.0.dist-info/METADATA +165 -0
  1298. hyperfluid-0.1.0.dist-info/RECORD +1300 -0
  1299. hyperfluid-0.1.0.dist-info/WHEEL +4 -0
  1300. hyperfluid-0.1.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,845 @@
1
+ # this file is @generated by Perseid; edit the shared runtime template.
2
+ """Shared HTTP plumbing for the generated API resources.
3
+
4
+ Authentication, an automatic ``idempotency-key`` on POST when the API deduplicates
5
+ by it, retries with jittered exponential backoff, per-request timeouts and headers,
6
+ and typed errors.
7
+
8
+ Retries: a request is retried on connection errors, timeouts, 408, 429 and 5xx
9
+ responses, honouring ``Retry-After`` (or ``retry-after-ms``) up to a minute,
10
+ but only when replaying it is safe: for GET, HEAD, OPTIONS, TRACE, PUT and DELETE, and
11
+ for any request carrying an ``idempotency-key``, which every POST gets
12
+ automatically when the API deduplicates by it. A timed-out request can therefore take up to
13
+ ``timeout * (1 + max_retries)`` plus the backoff delays before
14
+ :class:`APITimeoutError` is raised.
15
+ """
16
+
17
+ from __future__ import annotations
18
+
19
+ import asyncio
20
+ import dataclasses
21
+ import datetime as _datetime
22
+ import email.utils
23
+ import enum
24
+ import json
25
+ import random
26
+ import time
27
+ import typing as t
28
+ import urllib.parse
29
+ import uuid
30
+ from decimal import Decimal
31
+
32
+ import httpx
33
+
34
+ from .._exceptions import APIResponseValidationError, connection_error
35
+ from .._version import __version__
36
+ from ..serialization import (
37
+ UNSET,
38
+ JSONValue,
39
+ Unset,
40
+ format_datetime,
41
+ format_decimal,
42
+ from_json_value,
43
+ to_json_value,
44
+ )
45
+ from ._auth import (
46
+ OAuthTokens,
47
+ Security,
48
+ SecurityScheme,
49
+ TokenProvider,
50
+ apply_auth,
51
+ async_token,
52
+ chosen_schemes,
53
+ needs_token_provider,
54
+ oauth_scheme,
55
+ sync_token,
56
+ token_url,
57
+ )
58
+ from ._errors import error_class
59
+ from ._response import capture_response
60
+ from ._streaming import (
61
+ MultipartField,
62
+ UploadContent,
63
+ is_event_stream,
64
+ multipart_files,
65
+ not_an_event_stream,
66
+ replayable,
67
+ )
68
+ from .middleware import AsyncMiddleware, SyncMiddleware, chain_async, chain_sync
69
+
70
+ __all__ = [
71
+ "DEFAULT_MAX_RETRIES",
72
+ "DEFAULT_TIMEOUT",
73
+ "INITIAL_RETRY_DELAY",
74
+ "MAX_RETRY_DELAY",
75
+ "ApiBase",
76
+ "ApiBaseAsync",
77
+ "ApiBaseSync",
78
+ "ApiRequest",
79
+ "Configuration",
80
+ "EncodedPathParam",
81
+ "ErrorTypes",
82
+ "QueryParams",
83
+ "Timeout",
84
+ "decode_optional_response",
85
+ "decode_response",
86
+ "encode_path_param",
87
+ "json_header",
88
+ "serialize_form_body",
89
+ "serialize_query_params",
90
+ ]
91
+
92
+ DEFAULT_TIMEOUT: float = 60
93
+ DEFAULT_MAX_RETRIES = 2
94
+ AUTO_IDEMPOTENCY_KEY: bool = json.loads("false")
95
+ """Whether the API deduplicates POSTs by ``idempotency-key``, so that each gets one to be retried."""
96
+ INITIAL_RETRY_DELAY = 0.5
97
+ """Seconds before the first retry, doubling for each next one up to :data:`MAX_RETRY_DELAY`."""
98
+ MAX_RETRY_DELAY = 8.0
99
+ _MAX_RETRY_AFTER = 60.0
100
+ _REPLAYABLE_METHODS = frozenset({"GET", "HEAD", "OPTIONS", "TRACE", "PUT", "DELETE"})
101
+
102
+ QueryParams: t.TypeAlias = "list[tuple[str, str]]"
103
+ Timeout: t.TypeAlias = "float | httpx.Timeout | None"
104
+ """Seconds, an ``httpx.Timeout`` for finer control, or ``None`` to wait forever."""
105
+
106
+ _T = t.TypeVar("_T")
107
+
108
+
109
+ def _serialize_scalar(value: object) -> str:
110
+ if isinstance(value, bool):
111
+ return "true" if value else "false"
112
+ if isinstance(value, enum.Enum):
113
+ return _serialize_scalar(value.value)
114
+ if isinstance(value, _datetime.datetime):
115
+ return format_datetime(value)
116
+ if isinstance(value, _datetime.date):
117
+ return value.isoformat()
118
+ if isinstance(value, Decimal):
119
+ return format_decimal(value)
120
+ return str(value)
121
+
122
+
123
+ def serialize_query_params(
124
+ params: t.Mapping[str, object],
125
+ comma_joined: t.Collection[str] = (),
126
+ structured: t.Collection[str] = (),
127
+ deep_object: t.Collection[str] = (),
128
+ delimited: t.Mapping[str, str] | None = None,
129
+ json_params: t.Collection[str] = (),
130
+ ) -> QueryParams:
131
+ """Render query parameters, dropping the ones left unset.
132
+
133
+ List values are exploded into repeated parameters (OpenAPI ``explode=true``)
134
+ unless their name is listed in ``comma_joined``. ``structured`` ones are sent
135
+ from their JSON value, objects as ``name[key]=value``, and ``deep_object``
136
+ lists as ``name[]=item``. ``delimited`` lists are joined by their delimiter
137
+ (``pipeDelimited``, ``spaceDelimited``) and ``json_params`` are sent as
138
+ compact JSON text (``content: application/json``).
139
+ """
140
+ out: QueryParams = []
141
+ for key, value in params.items():
142
+ if value is None or value is UNSET:
143
+ continue
144
+ if key in json_params:
145
+ out.append((key, _compact_json(to_json_value(value))))
146
+ elif delimited and key in delimited:
147
+ items = [
148
+ _serialize_scalar(v) for v in to_json_value(value) if v is not None
149
+ ]
150
+ if items:
151
+ out.append((key, delimited[key].join(items)))
152
+ elif key in structured:
153
+ explode = key not in comma_joined
154
+ encode_param(key, to_json_value(value), key in deep_object, explode, out)
155
+ elif isinstance(value, (list, tuple, set, frozenset)):
156
+ items = [_serialize_scalar(v) for v in t.cast("t.Iterable[object]", value)]
157
+ if key in comma_joined:
158
+ out.append((key, ",".join(items)))
159
+ else:
160
+ out.extend((key, item) for item in items)
161
+ else:
162
+ out.append((key, _serialize_scalar(value)))
163
+ return out
164
+
165
+
166
+ def _compact_json(value: t.Any) -> str:
167
+ return json.dumps(value, separators=(",", ":"), ensure_ascii=False)
168
+
169
+
170
+ def header_value(value: object) -> str | None:
171
+ """A header or cookie value as text: a list comma-separated, ``None`` for none."""
172
+ if value is None or value is UNSET:
173
+ return None
174
+ if isinstance(value, (list, tuple, set, frozenset)):
175
+ return ",".join(_serialize_scalar(item) for item in value)
176
+ return _serialize_scalar(value)
177
+
178
+
179
+ def json_header(value: t.Any) -> str | None:
180
+ """A ``content: application/json`` header value as compact JSON text."""
181
+ if value is None or value is UNSET:
182
+ return None
183
+ return _compact_json(to_json_value(value))
184
+
185
+
186
+ class EncodedPathParam(str):
187
+ """A path parameter serialized and percent-encoded by its OpenAPI style."""
188
+
189
+
190
+ def _quote_unreserved(text: str) -> str:
191
+ quoted = urllib.parse.quote(text, safe="")
192
+ # A `.` or `..` segment would be resolved away by the URL, leaving the resource path.
193
+ return quoted.replace(".", "%2E") if quoted in (".", "..") else quoted
194
+
195
+
196
+ def _path_text(value: t.Any) -> str:
197
+ if value is None:
198
+ return ""
199
+ if _nested(value):
200
+ return _compact_json(value)
201
+ return _serialize_scalar(value)
202
+
203
+
204
+ def encode_path_param(
205
+ name: str, value: t.Any, style: str, explode: bool
206
+ ) -> EncodedPathParam:
207
+ """A path parameter in its OpenAPI ``style`` (``simple``, ``label``, ``matrix``).
208
+
209
+ ``json`` is for ``content: application/json`` values. Every part is
210
+ percent-encoded, so that ``,`` ``.`` ``;`` and ``=`` are structural.
211
+ """
212
+ value = to_json_value(value)
213
+ if style == "json":
214
+ return EncodedPathParam(_quote_unreserved(_compact_json(value)))
215
+ result = _encode_styled_path_param(name, value, style, explode)
216
+ # A whole segment of dots, plain or percent-encoded, would be resolved away by the URL.
217
+ dots = result.replace("%2E", ".")
218
+ return EncodedPathParam("%2E" * len(dots) if dots in (".", "..") else result)
219
+
220
+
221
+ def _encode_styled_path_param(
222
+ name: str, value: t.Any, style: str, explode: bool
223
+ ) -> str:
224
+ def quote(item: t.Any) -> str:
225
+ return _quote_unreserved(_path_text(item))
226
+
227
+ head, separator = {"label": (".", "."), "matrix": (";", ";")}.get(style, ("", ","))
228
+ key = _quote_unreserved(name)
229
+ if isinstance(value, list):
230
+ values = [quote(item) for item in value]
231
+ if style == "matrix":
232
+ if explode:
233
+ return "".join(f";{key}={item}" for item in values)
234
+ return f";{key}=" + ",".join(values)
235
+ return head + (separator if explode else ",").join(values)
236
+ if isinstance(value, dict):
237
+ pairs = [
238
+ (_quote_unreserved(field), quote(item)) for field, item in value.items()
239
+ ]
240
+ flat = ",".join(part for pair in pairs for part in pair)
241
+ if style == "matrix":
242
+ if explode:
243
+ return "".join(f";{field}={item}" for field, item in pairs)
244
+ return f";{key}={flat}"
245
+ if explode:
246
+ return head + separator.join(f"{f}={i}" for f, i in pairs)
247
+ return head + flat
248
+ text = quote(value)
249
+ if style == "label":
250
+ return f".{text}"
251
+ if style == "matrix":
252
+ return f";{key}" if text == "" else f";{key}={text}"
253
+ return text
254
+
255
+
256
+ def serialize_form_body(
257
+ body: t.Mapping[str, JSONValue] | None,
258
+ deep_object: t.Collection[str] = (),
259
+ unexploded: t.Collection[str] = (),
260
+ ) -> QueryParams | None:
261
+ """The pairs of an ``application/x-www-form-urlencoded`` body, nested values as in queries."""
262
+ if body is None:
263
+ return None
264
+ out: QueryParams = []
265
+ for key, value in body.items():
266
+ encode_param(key, value, key in deep_object, key not in unexploded, out)
267
+ return out
268
+
269
+
270
+ def _nested(value: object) -> bool:
271
+ return isinstance(value, (dict, list))
272
+
273
+
274
+ def encode_param(
275
+ name: str, value: JSONValue, deep_object: bool, explode: bool, out: QueryParams
276
+ ) -> None:
277
+ """One JSON value as pairs, the way Stripe-style APIs read nested values.
278
+
279
+ Objects are sent as ``name[key]=value``, lists of scalars in them as
280
+ ``name[]=item`` and lists of objects as ``name[0][key]=value``. A top-level
281
+ list of scalars repeats ``name`` unless ``deep_object`` or not ``explode``.
282
+ """
283
+ if isinstance(value, list) and not deep_object and not any(map(_nested, value)):
284
+ items = [_serialize_scalar(v) for v in value if v is not None]
285
+ if explode:
286
+ out.extend((name, item) for item in items)
287
+ elif items:
288
+ out.append((name, ",".join(items)))
289
+ return
290
+ _flatten_param(name, value, out)
291
+
292
+
293
+ def _flatten_param(prefix: str, value: JSONValue, out: QueryParams) -> None:
294
+ if value is None:
295
+ return
296
+ if isinstance(value, dict):
297
+ for key, item in value.items():
298
+ _flatten_param(f"{prefix}[{key}]", item, out)
299
+ elif isinstance(value, list):
300
+ for index, item in enumerate(value):
301
+ _flatten_param(
302
+ f"{prefix}[{index}]" if _nested(item) else f"{prefix}[]", item, out
303
+ )
304
+ else:
305
+ out.append((prefix, _serialize_scalar(value)))
306
+
307
+
308
+ @dataclasses.dataclass
309
+ class Configuration:
310
+ """Resolved client configuration, shared by every resource."""
311
+
312
+ base_path: str
313
+ bearer_access_token: str | None = None
314
+ token_provider: TokenProvider | None = None
315
+ basic_auth: tuple[str, str] | None = None
316
+ oauth: OAuthTokens | None = None
317
+ api_keys: t.Mapping[str, str] = dataclasses.field(default_factory=dict[str, str])
318
+ security_schemes: t.Mapping[str, SecurityScheme] = dataclasses.field(
319
+ default_factory=dict[str, SecurityScheme]
320
+ )
321
+ security: Security = ()
322
+ user_agent: str = f"hyperfluid-python/{__version__}"
323
+ timeout: Timeout = DEFAULT_TIMEOUT
324
+ max_retries: int = DEFAULT_MAX_RETRIES
325
+ default_headers: t.Mapping[str, str] = dataclasses.field(
326
+ default_factory=dict[str, str]
327
+ )
328
+ middleware: list[SyncMiddleware] = dataclasses.field(
329
+ default_factory=list[SyncMiddleware]
330
+ )
331
+ async_middleware: list[AsyncMiddleware] = dataclasses.field(
332
+ default_factory=list[AsyncMiddleware]
333
+ )
334
+
335
+ def headers(self) -> httpx.Headers:
336
+ headers = httpx.Headers(
337
+ {"user-agent": self.user_agent, "accept": "application/json"}
338
+ )
339
+ headers.update(self.default_headers)
340
+ return headers
341
+
342
+
343
+ ErrorTypes: t.TypeAlias = "t.Mapping[str, object]"
344
+ """The schema of each error response by status: ``"404"``, ``"4XX"`` or ``"default"``."""
345
+
346
+
347
+ @dataclasses.dataclass(frozen=True)
348
+ class ApiRequest:
349
+ """One operation call, as the generated methods describe it."""
350
+
351
+ method: str
352
+ path: str
353
+ path_params: t.Mapping[str, str] | None = None
354
+ query_params: QueryParams | None = None
355
+ header_params: t.Mapping[str, str | None] | None = None
356
+ cookie_params: t.Mapping[str, str | None] | None = None
357
+ json_body: object = None
358
+ form_body: QueryParams | None = None
359
+ upload_body: UploadContent | None = None
360
+ upload_content_type: str = "application/octet-stream"
361
+ multipart: t.Sequence[MultipartField] | None = None
362
+ security: Security | None = None
363
+ error_types: ErrorTypes | None = None
364
+ extra_headers: t.Mapping[str, str] | None = None
365
+ extra_query: t.Mapping[str, object] | None = None
366
+ extra_body: t.Mapping[str, object] | None = None
367
+ timeout: Timeout | Unset = UNSET
368
+ max_retries: int | None = None
369
+ stream: bool = False
370
+ replayable: bool = False
371
+ """Whether a POST is safe to retry without an ``idempotency-key``."""
372
+
373
+
374
+ def _with_extra_body(
375
+ spec: ApiRequest,
376
+ ) -> tuple[object, QueryParams | None, t.Sequence[MultipartField] | None]:
377
+ """The JSON, form and multipart bodies of ``spec``, with its ``extra_body`` properties."""
378
+ if not spec.extra_body:
379
+ return spec.json_body, spec.form_body, spec.multipart
380
+ extra: dict[str, JSONValue] = {
381
+ str(key): to_json_value(value) for key, value in spec.extra_body.items()
382
+ }
383
+ if spec.form_body is not None:
384
+ form = [*spec.form_body]
385
+ for key, value in extra.items():
386
+ encode_param(key, value, False, True, form)
387
+ return None, form, None
388
+ if spec.multipart is not None:
389
+ return (
390
+ None,
391
+ None,
392
+ [
393
+ *spec.multipart,
394
+ *((key, value, False, None) for key, value in extra.items()),
395
+ ],
396
+ )
397
+ if spec.upload_body is not None:
398
+ raise TypeError("extra_body needs a JSON, form or multipart request body")
399
+ if spec.json_body is None:
400
+ return extra, None, None
401
+ if not isinstance(spec.json_body, dict):
402
+ raise TypeError("extra_body needs a JSON object request body")
403
+ return {**t.cast("dict[str, JSONValue]", spec.json_body), **extra}, None, None
404
+
405
+
406
+ def _raise_for_status(response: httpx.Response, error_types: ErrorTypes | None) -> None:
407
+ if response.is_success:
408
+ return
409
+ # Any other status -- 4xx, 5xx, or a 3xx left unfollowed -- is an error.
410
+ raise error_class(response.status_code)(
411
+ response, _error_body(response, error_types)
412
+ )
413
+
414
+
415
+ def _error_body(response: httpx.Response, error_types: ErrorTypes | None) -> object:
416
+ """The error response as its declared schema, else its JSON, else ``None``."""
417
+ try:
418
+ data = response.json()
419
+ except ValueError:
420
+ return None
421
+ status = response.status_code
422
+ for key in (str(status), f"{status // 100}XX", "default"):
423
+ if error_types is not None and key in error_types:
424
+ try:
425
+ return from_json_value(error_types[key], data)
426
+ except (ValueError, TypeError):
427
+ break
428
+ return t.cast(object, data)
429
+
430
+
431
+ @t.overload
432
+ def decode_response(response: httpx.Response, type_: type[_T]) -> _T: ...
433
+
434
+
435
+ @t.overload
436
+ def decode_response(response: httpx.Response, type_: object) -> t.Any: ...
437
+
438
+
439
+ def decode_response(response: httpx.Response, type_: object) -> object:
440
+ """Decode a 2xx JSON body into ``type_``.
441
+
442
+ Any failure -- invalid JSON or UTF-8, or a body that does not match the
443
+ type -- raises :class:`APIResponseValidationError`, so a client call only
444
+ ever raises :class:`HyperfluidError` subclasses.
445
+ """
446
+ try:
447
+ return t.cast(object, from_json_value(type_, response.json()))
448
+ # `json.JSONDecodeError`, `UnicodeDecodeError` and `ModelParseError` are
449
+ # `ValueError`s; `TypeError` covers a JSON shape the model code trips on.
450
+ except (ValueError, TypeError) as exc:
451
+ raise APIResponseValidationError(response, str(exc)) from exc
452
+
453
+
454
+ @t.overload
455
+ def decode_optional_response(
456
+ response: httpx.Response, type_: type[_T]
457
+ ) -> _T | None: ...
458
+
459
+
460
+ @t.overload
461
+ def decode_optional_response(response: httpx.Response, type_: object) -> t.Any: ...
462
+
463
+
464
+ def decode_optional_response(response: httpx.Response, type_: object) -> object:
465
+ """Like :func:`decode_response`, but ``None`` for a 2xx without a body, such as a 204,
466
+ or with a JSON ``null`` body."""
467
+ if response.status_code in (204, 205) or response.content.strip() in (b"", b"null"):
468
+ return None
469
+ return decode_response(response, type_)
470
+
471
+
472
+ def _retry_after(response: httpx.Response) -> float | None:
473
+ """The delay a response asks for before a retry, in seconds, if any."""
474
+ header = response.headers.get("retry-after-ms")
475
+ if header is not None:
476
+ try:
477
+ return float(header) / 1000
478
+ except ValueError:
479
+ pass
480
+ header = response.headers.get("retry-after")
481
+ if header is None:
482
+ return None
483
+ try:
484
+ return float(header)
485
+ except ValueError:
486
+ pass
487
+ try:
488
+ date: _datetime.datetime = email.utils.parsedate_to_datetime(header)
489
+ except (TypeError, ValueError):
490
+ return None
491
+ return (date - _datetime.datetime.now(_datetime.timezone.utc)).total_seconds()
492
+
493
+
494
+ def _retryable_status(status: int) -> bool:
495
+ return status in (408, 429) or status >= 500
496
+
497
+
498
+ class ApiBase:
499
+ """Turns one operation into ``httpx`` requests and decides on retries."""
500
+
501
+ _cfg: Configuration
502
+
503
+ def __init__(self, cfg: Configuration) -> None:
504
+ self._cfg = cfg
505
+
506
+ def _build(
507
+ self,
508
+ client: httpx.Client | httpx.AsyncClient,
509
+ spec: ApiRequest,
510
+ token: str | None,
511
+ ) -> tuple[httpx.Request, bool]:
512
+ """The ``httpx`` request of ``spec``, and whether it is safe to send again."""
513
+ path = spec.path
514
+ if spec.path_params:
515
+ path = path.format(
516
+ **{
517
+ key: value
518
+ if isinstance(value, EncodedPathParam)
519
+ else _quote_unreserved(str(value))
520
+ for key, value in spec.path_params.items()
521
+ }
522
+ )
523
+
524
+ headers = self._cfg.headers()
525
+ headers["hyperfluid-req-id"] = str(random.getrandbits(32))
526
+ for key, value in (spec.header_params or {}).items():
527
+ if value is not None:
528
+ headers[key] = value
529
+ headers.update(spec.extra_headers or {})
530
+ # Cookie parameters share one `Cookie` header with the cookie of a call's own headers
531
+ # and, once authenticated, with the API key cookie.
532
+ cookies = [
533
+ f"{key}={urllib.parse.quote(value, safe='')}"
534
+ for key, value in (spec.cookie_params or {}).items()
535
+ if value is not None
536
+ ]
537
+ if cookies:
538
+ previous = headers.get("cookie")
539
+ if previous is not None:
540
+ cookies.append(previous)
541
+ headers["cookie"] = "; ".join(cookies)
542
+ method = spec.method.upper()
543
+ if (
544
+ AUTO_IDEMPOTENCY_KEY
545
+ and method == "POST"
546
+ and "idempotency-key" not in headers
547
+ ):
548
+ headers["idempotency-key"] = f"auto_{uuid.uuid4()}"
549
+ if spec.stream:
550
+ headers["accept"] = "text/event-stream"
551
+
552
+ # `httpx` replaces the query of the URL by `params`, so a path's own query goes first.
553
+ path, _, own_query = path.partition("?")
554
+ params = urllib.parse.parse_qsl(own_query, keep_blank_values=True)
555
+ extra_query = spec.extra_query or {}
556
+ params.extend(
557
+ (key, value)
558
+ for key, value in spec.query_params or []
559
+ if key.partition("[")[0] not in extra_query
560
+ )
561
+ params.extend(serialize_query_params(extra_query))
562
+
563
+ content: str | UploadContent | None = None
564
+ json_body, form_body, multipart = _with_extra_body(spec)
565
+ files = multipart_files(multipart) if multipart is not None else []
566
+ if form_body is not None:
567
+ content = urllib.parse.urlencode(form_body)
568
+ headers["content-type"] = "application/x-www-form-urlencoded"
569
+ elif spec.upload_body is not None:
570
+ content = spec.upload_body
571
+ headers["content-type"] = spec.upload_content_type
572
+
573
+ schemes = chosen_schemes(
574
+ self._cfg, self._cfg.security if spec.security is None else spec.security
575
+ )
576
+ credentials = httpx.Headers()
577
+ apply_auth(self._cfg, schemes, token, credentials, params)
578
+ for key, value in credentials.items():
579
+ # Headers of the client or of the call win over its credentials.
580
+ if key == "cookie" and key in headers:
581
+ headers[key] = f"{headers[key]}; {value}"
582
+ elif key not in headers:
583
+ headers[key] = value
584
+
585
+ # Passed per request, so it also applies to a caller-supplied `httpx` client.
586
+ timeout = self._cfg.timeout if isinstance(spec.timeout, Unset) else spec.timeout
587
+ if spec.stream and timeout is not None:
588
+ # The timeout only covers opening an event stream, not reading it.
589
+ limits = httpx.Timeout(timeout)
590
+ timeout = httpx.Timeout(
591
+ connect=limits.connect, read=None, write=limits.write, pool=limits.pool
592
+ )
593
+ request = client.build_request(
594
+ method,
595
+ path if "://" in path else f"{self._cfg.base_path}{path}",
596
+ params=tuple(params) or None,
597
+ headers=headers,
598
+ content=content,
599
+ json=json_body,
600
+ files=files or None,
601
+ timeout=timeout,
602
+ )
603
+ safe = (
604
+ spec.replayable
605
+ or method in _REPLAYABLE_METHODS
606
+ or "idempotency-key" in headers
607
+ )
608
+ return request, safe and replayable(content, files)
609
+
610
+ def _needs_token(self, spec: ApiRequest) -> bool:
611
+ security = self._cfg.security if spec.security is None else spec.security
612
+ return needs_token_provider(self._cfg, chosen_schemes(self._cfg, security))
613
+
614
+ def _oauth_scheme(self, spec: ApiRequest) -> SecurityScheme | None:
615
+ """The OAuth2 scheme whose access token this client fetches for ``spec``, if any."""
616
+ security = self._cfg.security if spec.security is None else spec.security
617
+ return oauth_scheme(self._cfg, chosen_schemes(self._cfg, security))
618
+
619
+ def _token_request(self, scheme: SecurityScheme) -> tuple[str, ApiRequest]:
620
+ """The URL of the token endpoint of ``scheme`` and the client credentials request to it."""
621
+ oauth = self._cfg.oauth
622
+ assert oauth is not None
623
+ url = token_url(self._cfg.base_path, scheme.token_url)
624
+ form, headers = oauth.request_parts(scheme.scope)
625
+ # Another token is as good as the first: the request is safe to retry.
626
+ return url, ApiRequest(
627
+ "POST",
628
+ url,
629
+ form_body=form,
630
+ security=(),
631
+ extra_headers=headers,
632
+ replayable=True,
633
+ )
634
+
635
+ def _rejected_token(
636
+ self,
637
+ response: httpx.Response,
638
+ request: httpx.Request,
639
+ used: tuple[str, str] | None,
640
+ renewed: bool,
641
+ replayable: bool,
642
+ ) -> bool:
643
+ """Whether ``response`` rejects the OAuth2 access token ``used`` (its cache key and
644
+ value) that the request carried, which is then forgotten."""
645
+ oauth = self._cfg.oauth
646
+ if (
647
+ oauth is None
648
+ or used is None
649
+ or renewed
650
+ or not replayable
651
+ or response.status_code != 401
652
+ or request.headers.get("authorization") != f"Bearer {used[1]}"
653
+ ):
654
+ return False
655
+ oauth.invalidate(*used)
656
+ return True
657
+
658
+ @staticmethod
659
+ def _parse_token(response: httpx.Response) -> tuple[str, float | None]:
660
+ """The access token and its lifetime in seconds of a token endpoint response."""
661
+ try:
662
+ body = response.json()
663
+ token = body["access_token"]
664
+ if not isinstance(token, str) or not token:
665
+ raise ValueError("access_token is not a string")
666
+ expires = body.get("expires_in")
667
+ return token, None if expires is None else float(expires)
668
+ except (ValueError, TypeError, KeyError, AttributeError) as exc:
669
+ raise APIResponseValidationError(
670
+ response,
671
+ f"the token endpoint response has no usable access_token: {exc}",
672
+ ) from exc
673
+
674
+ def _retry_delay(
675
+ self,
676
+ spec: ApiRequest,
677
+ attempt: int,
678
+ replayable: bool,
679
+ response: httpx.Response | None,
680
+ ) -> float | None:
681
+ """Seconds to wait before retrying, or ``None`` to give up."""
682
+ max_retries = (
683
+ self._cfg.max_retries if spec.max_retries is None else spec.max_retries
684
+ )
685
+ if attempt >= max_retries or not replayable:
686
+ return None
687
+ if response is not None:
688
+ if not _retryable_status(response.status_code):
689
+ return None
690
+ retry_after = _retry_after(response)
691
+ if retry_after is not None and 0 <= retry_after <= _MAX_RETRY_AFTER:
692
+ return retry_after
693
+ backoff = min(INITIAL_RETRY_DELAY * 2.0**attempt, MAX_RETRY_DELAY)
694
+ return backoff * (1 - 0.25 * random.random())
695
+
696
+ @staticmethod
697
+ def _finish(response: httpx.Response, spec: ApiRequest) -> None:
698
+ _raise_for_status(response, spec.error_types)
699
+ if spec.stream and not is_event_stream(response):
700
+ raise not_an_event_stream(response)
701
+ capture_response(response)
702
+
703
+
704
+ class ApiBaseSync(ApiBase):
705
+ _httpx_client: httpx.Client
706
+
707
+ def __init__(self, cfg: Configuration, httpx_client: httpx.Client) -> None:
708
+ super().__init__(cfg)
709
+ self._httpx_client = httpx_client
710
+
711
+ def _send(self, request: httpx.Request, stream: bool) -> httpx.Response:
712
+ send = chain_sync(
713
+ lambda request: self._httpx_client.send(request, stream=stream),
714
+ self._cfg.middleware,
715
+ )
716
+ response = send(request)
717
+ if stream and not response.is_success:
718
+ response.read()
719
+ return response
720
+
721
+ def _oauth_token(self, scheme: SecurityScheme) -> tuple[str, str]:
722
+ """The access token of ``scheme`` with its cache key (token URL and scope): the cached one, else a new one.
723
+ Concurrent callers share one token request."""
724
+ oauth = self._cfg.oauth
725
+ assert oauth is not None
726
+ url, spec = self._token_request(scheme)
727
+ key = f"{url}\n{scheme.scope}"
728
+ with oauth.lock:
729
+ token = oauth.cached(key)
730
+ if token is None:
731
+ token = oauth.store(key, *self._parse_token(self._request(spec)))
732
+ return key, token
733
+
734
+ def _request(self, spec: ApiRequest) -> httpx.Response:
735
+ token = sync_token(self._cfg) if self._needs_token(spec) else None
736
+ scheme = self._oauth_scheme(spec)
737
+ used: tuple[str, str] | None = None
738
+ if scheme is not None:
739
+ used = self._oauth_token(scheme)
740
+ token = used[1]
741
+ request, replayable = self._build(self._httpx_client, spec, token)
742
+ attempt = 0
743
+ renewed = False
744
+ while True:
745
+ try:
746
+ response = self._send(request, spec.stream)
747
+ except httpx.RequestError as exc:
748
+ delay = self._retry_delay(spec, attempt, replayable, None)
749
+ if delay is None:
750
+ raise connection_error(exc) from exc
751
+ else:
752
+ if scheme is not None and self._rejected_token(
753
+ response, request, used, renewed, replayable
754
+ ):
755
+ # The API rejected the access token: one request with a new one, which
756
+ # does not use up a retry.
757
+ renewed = True
758
+ response.close()
759
+ used = self._oauth_token(scheme)
760
+ request.headers["authorization"] = f"Bearer {used[1]}"
761
+ continue
762
+ delay = self._retry_delay(spec, attempt, replayable, response)
763
+ if delay is None:
764
+ try:
765
+ self._finish(response, spec)
766
+ except BaseException:
767
+ response.close()
768
+ raise
769
+ return response
770
+ response.close()
771
+ time.sleep(delay)
772
+ attempt += 1
773
+ request.headers["hyperfluid-retry-count"] = str(attempt)
774
+
775
+
776
+ class ApiBaseAsync(ApiBase):
777
+ _httpx_client: httpx.AsyncClient
778
+
779
+ def __init__(self, cfg: Configuration, httpx_client: httpx.AsyncClient) -> None:
780
+ super().__init__(cfg)
781
+ self._httpx_client = httpx_client
782
+
783
+ async def _send(self, request: httpx.Request, stream: bool) -> httpx.Response:
784
+ send = chain_async(
785
+ lambda request: self._httpx_client.send(request, stream=stream),
786
+ self._cfg.async_middleware,
787
+ )
788
+ response = await send(request)
789
+ if stream and not response.is_success:
790
+ await response.aread()
791
+ return response
792
+
793
+ async def _oauth_token(self, scheme: SecurityScheme) -> tuple[str, str]:
794
+ """The access token of ``scheme`` with its cache key (token URL and scope): the cached one, else a new one.
795
+ Concurrent callers share one token request."""
796
+ oauth = self._cfg.oauth
797
+ assert oauth is not None
798
+ url, spec = self._token_request(scheme)
799
+ key = f"{url}\n{scheme.scope}"
800
+ async with oauth.async_lock():
801
+ token = oauth.cached(key)
802
+ if token is None:
803
+ token = oauth.store(key, *self._parse_token(await self._request(spec)))
804
+ return key, token
805
+
806
+ async def _request(self, spec: ApiRequest) -> httpx.Response:
807
+ token = await async_token(self._cfg) if self._needs_token(spec) else None
808
+ scheme = self._oauth_scheme(spec)
809
+ used: tuple[str, str] | None = None
810
+ if scheme is not None:
811
+ used = await self._oauth_token(scheme)
812
+ token = used[1]
813
+ request, replayable = self._build(self._httpx_client, spec, token)
814
+ attempt = 0
815
+ renewed = False
816
+ while True:
817
+ try:
818
+ response = await self._send(request, spec.stream)
819
+ except httpx.RequestError as exc:
820
+ delay = self._retry_delay(spec, attempt, replayable, None)
821
+ if delay is None:
822
+ raise connection_error(exc) from exc
823
+ else:
824
+ if scheme is not None and self._rejected_token(
825
+ response, request, used, renewed, replayable
826
+ ):
827
+ # The API rejected the access token: one request with a new one, which
828
+ # does not use up a retry.
829
+ renewed = True
830
+ await response.aclose()
831
+ used = await self._oauth_token(scheme)
832
+ request.headers["authorization"] = f"Bearer {used[1]}"
833
+ continue
834
+ delay = self._retry_delay(spec, attempt, replayable, response)
835
+ if delay is None:
836
+ try:
837
+ self._finish(response, spec)
838
+ except BaseException:
839
+ await response.aclose()
840
+ raise
841
+ return response
842
+ await response.aclose()
843
+ await asyncio.sleep(delay)
844
+ attempt += 1
845
+ request.headers["hyperfluid-retry-count"] = str(attempt)