spec: regenerate onto cloud@dd98c965

The committed client came from a document 262 commits old. Regenerated with the
lane own inputs -- scripts/generate.sh, the spec at a pinned ref, the driver
checkout -- so this is the derivation CI does, not a second one.

The surface moves the way the document moved: the datastore, docdb, kv and sql
clients collapse into instances (those routes re-homed under /v1/instances),
allowance arrives, sentry becomes sentinel, and the text-to-speech,
speech-to-text and health clients go because cloud no longer serves them.

No version bump. Publishing is a decision, and this commit is only about the
client being true.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-08-20 09:46:20 -07:00
co-authored by Hanzo Dev
parent f50ef05473
commit f06d33b3a9
150 changed files with 16938 additions and 28387 deletions
+25 -114
View File
@@ -6,6 +6,7 @@ pkg/hanzoai/cloud/api/affiliates_api.py
pkg/hanzoai/cloud/api/agent_api.py
pkg/hanzoai/cloud/api/agents_api.py
pkg/hanzoai/cloud/api/ai_api.py
pkg/hanzoai/cloud/api/allowance_api.py
pkg/hanzoai/cloud/api/analytics_api.py
pkg/hanzoai/cloud/api/appearance_api.py
pkg/hanzoai/cloud/api/ask_api.py
@@ -16,7 +17,6 @@ pkg/hanzoai/cloud/api/authz_api.py
pkg/hanzoai/cloud/api/auto_api.py
pkg/hanzoai/cloud/api/automations_api.py
pkg/hanzoai/cloud/api/avatar_api.py
pkg/hanzoai/cloud/api/balancers_api.py
pkg/hanzoai/cloud/api/base_api.py
pkg/hanzoai/cloud/api/benchmark_api.py
pkg/hanzoai/cloud/api/billing_api.py
@@ -50,17 +50,16 @@ pkg/hanzoai/cloud/api/crawl_api.py
pkg/hanzoai/cloud/api/crm_api.py
pkg/hanzoai/cloud/api/csrf_api.py
pkg/hanzoai/cloud/api/dataroom_api.py
pkg/hanzoai/cloud/api/datastore_api.py
pkg/hanzoai/cloud/api/default_api.py
pkg/hanzoai/cloud/api/deploy_api.py
pkg/hanzoai/cloud/api/destinations_api.py
pkg/hanzoai/cloud/api/dev_bridge_api.py
pkg/hanzoai/cloud/api/dns_api.py
pkg/hanzoai/cloud/api/docdb_api.py
pkg/hanzoai/cloud/api/docs_api.py
pkg/hanzoai/cloud/api/documents_api.py
pkg/hanzoai/cloud/api/domain_api.py
pkg/hanzoai/cloud/api/download_api.py
pkg/hanzoai/cloud/api/edge_api.py
pkg/hanzoai/cloud/api/embed_api.py
pkg/hanzoai/cloud/api/embeddings_api.py
pkg/hanzoai/cloud/api/enablement_api.py
@@ -83,13 +82,10 @@ pkg/hanzoai/cloud/api/flow_api.py
pkg/hanzoai/cloud/api/framework_api.py
pkg/hanzoai/cloud/api/functions_api.py
pkg/hanzoai/cloud/api/gateway_api.py
pkg/hanzoai/cloud/api/generate_text_to_speech_audio_api.py
pkg/hanzoai/cloud/api/generate_text_to_speech_audio_stream_api.py
pkg/hanzoai/cloud/api/git_api.py
pkg/hanzoai/cloud/api/git_webhook_api.py
pkg/hanzoai/cloud/api/gpus_api.py
pkg/hanzoai/cloud/api/guide_api.py
pkg/hanzoai/cloud/api/health_api.py
pkg/hanzoai/cloud/api/help_api.py
pkg/hanzoai/cloud/api/iam_api.py
pkg/hanzoai/cloud/api/images_api.py
@@ -98,12 +94,12 @@ pkg/hanzoai/cloud/api/indexers_api.py
pkg/hanzoai/cloud/api/ingress_api.py
pkg/hanzoai/cloud/api/insights_api.py
pkg/hanzoai/cloud/api/install_patch_api.py
pkg/hanzoai/cloud/api/instances_api.py
pkg/hanzoai/cloud/api/integrations_api.py
pkg/hanzoai/cloud/api/k8s_api.py
pkg/hanzoai/cloud/api/kb_api.py
pkg/hanzoai/cloud/api/keys_api.py
pkg/hanzoai/cloud/api/kms_api.py
pkg/hanzoai/cloud/api/kv_api.py
pkg/hanzoai/cloud/api/legal_api.py
pkg/hanzoai/cloud/api/licensing_api.py
pkg/hanzoai/cloud/api/links_api.py
@@ -133,7 +129,6 @@ pkg/hanzoai/cloud/api/platform_api.py
pkg/hanzoai/cloud/api/plugins_api.py
pkg/hanzoai/cloud/api/prefs_api.py
pkg/hanzoai/cloud/api/pricing_api.py
pkg/hanzoai/cloud/api/process_speech_to_text_api.py
pkg/hanzoai/cloud/api/projects_api.py
pkg/hanzoai/cloud/api/prompts_api.py
pkg/hanzoai/cloud/api/pubsub_api.py
@@ -158,13 +153,12 @@ pkg/hanzoai/cloud/api/sbom_api.py
pkg/hanzoai/cloud/api/scrape_api.py
pkg/hanzoai/cloud/api/search_api.py
pkg/hanzoai/cloud/api/security_api.py
pkg/hanzoai/cloud/api/sentry_api.py
pkg/hanzoai/cloud/api/sentinel_api.py
pkg/hanzoai/cloud/api/settings_api.py
pkg/hanzoai/cloud/api/share_api.py
pkg/hanzoai/cloud/api/sites_api.py
pkg/hanzoai/cloud/api/skills_api.py
pkg/hanzoai/cloud/api/social_api.py
pkg/hanzoai/cloud/api/sql_api.py
pkg/hanzoai/cloud/api/store_api.py
pkg/hanzoai/cloud/api/summary_api.py
pkg/hanzoai/cloud/api/sync_api.py
@@ -185,7 +179,6 @@ pkg/hanzoai/cloud/api/usage_api.py
pkg/hanzoai/cloud/api/validators_api.py
pkg/hanzoai/cloud/api/vector_api.py
pkg/hanzoai/cloud/api/videos_api.py
pkg/hanzoai/cloud/api/vpcs_api.py
pkg/hanzoai/cloud/api/wallets_api.py
pkg/hanzoai/cloud/api/webhooks_api.py
pkg/hanzoai/cloud/api/websearch_api.py
@@ -218,7 +211,6 @@ pkg/hanzoai/cloud/models/action_record.py
pkg/hanzoai/cloud/models/actions_view.py
pkg/hanzoai/cloud/models/activation_req.py
pkg/hanzoai/cloud/models/activation_set.py
pkg/hanzoai/cloud/models/activity.py
pkg/hanzoai/cloud/models/activity_feed.py
pkg/hanzoai/cloud/models/activity_out.py
pkg/hanzoai/cloud/models/activity_point.py
@@ -254,7 +246,6 @@ pkg/hanzoai/cloud/models/affiliate_standing.py
pkg/hanzoai/cloud/models/agent_binding.py
pkg/hanzoai/cloud/models/agent_detail.py
pkg/hanzoai/cloud/models/agent_list.py
pkg/hanzoai/cloud/models/agent_mcp_tools.py
pkg/hanzoai/cloud/models/agent_run_view.py
pkg/hanzoai/cloud/models/agent_view.py
pkg/hanzoai/cloud/models/ai_mcp_app.py
@@ -270,6 +261,7 @@ pkg/hanzoai/cloud/models/aim_score_point.py
pkg/hanzoai/cloud/models/aim_score_stat.py
pkg/hanzoai/cloud/models/aim_usage.py
pkg/hanzoai/cloud/models/aimetrics_out.py
pkg/hanzoai/cloud/models/allowance.py
pkg/hanzoai/cloud/models/allowlist_put_in.py
pkg/hanzoai/cloud/models/allowlist_view.py
pkg/hanzoai/cloud/models/analysis.py
@@ -287,10 +279,7 @@ pkg/hanzoai/cloud/models/api_key_list.py
pkg/hanzoai/cloud/models/app_view.py
pkg/hanzoai/cloud/models/appearance.py
pkg/hanzoai/cloud/models/application.py
pkg/hanzoai/cloud/models/application_config_option.py
pkg/hanzoai/cloud/models/application_event.py
pkg/hanzoai/cloud/models/application_list.py
pkg/hanzoai/cloud/models/application_view.py
pkg/hanzoai/cloud/models/apply_request.py
pkg/hanzoai/cloud/models/approval.py
pkg/hanzoai/cloud/models/approve_pairing_in.py
@@ -322,14 +311,12 @@ pkg/hanzoai/cloud/models/argo_sync_status.py
pkg/hanzoai/cloud/models/argo_sync_windows.py
pkg/hanzoai/cloud/models/argo_tree.py
pkg/hanzoai/cloud/models/arm.py
pkg/hanzoai/cloud/models/article.py
pkg/hanzoai/cloud/models/artifact_out.py
pkg/hanzoai/cloud/models/artifacts_out.py
pkg/hanzoai/cloud/models/ask_answer.py
pkg/hanzoai/cloud/models/ask_post_in.py
pkg/hanzoai/cloud/models/ask_request.py
pkg/hanzoai/cloud/models/ask_response.py
pkg/hanzoai/cloud/models/asset.py
pkg/hanzoai/cloud/models/assignment.py
pkg/hanzoai/cloud/models/attempt.py
pkg/hanzoai/cloud/models/attribute_request.py
@@ -337,7 +324,6 @@ pkg/hanzoai/cloud/models/attribution.py
pkg/hanzoai/cloud/models/audience.py
pkg/hanzoai/cloud/models/audience_list.py
pkg/hanzoai/cloud/models/audience_preview.py
pkg/hanzoai/cloud/models/audit.py
pkg/hanzoai/cloud/models/audit_list.py
pkg/hanzoai/cloud/models/author_data.py
pkg/hanzoai/cloud/models/author_program_summary.py
@@ -353,6 +339,7 @@ pkg/hanzoai/cloud/models/auto_start.py
pkg/hanzoai/cloud/models/auto_status.py
pkg/hanzoai/cloud/models/auto_update.py
pkg/hanzoai/cloud/models/backend.py
pkg/hanzoai/cloud/models/backend_status.py
pkg/hanzoai/cloud/models/backfill_in.py
pkg/hanzoai/cloud/models/backfill_out.py
pkg/hanzoai/cloud/models/backfill_query.py
@@ -376,7 +363,6 @@ pkg/hanzoai/cloud/models/bind_agent_req.py
pkg/hanzoai/cloud/models/binding_list.py
pkg/hanzoai/cloud/models/blob.py
pkg/hanzoai/cloud/models/blob_json.py
pkg/hanzoai/cloud/models/block.py
pkg/hanzoai/cloud/models/blog.py
pkg/hanzoai/cloud/models/blueprint.py
pkg/hanzoai/cloud/models/blueprint_counts.py
@@ -499,7 +485,6 @@ pkg/hanzoai/cloud/models/channel_metric.py
pkg/hanzoai/cloud/models/channel_result.py
pkg/hanzoai/cloud/models/channel_spec.py
pkg/hanzoai/cloud/models/channel_view.py
pkg/hanzoai/cloud/models/chat.py
pkg/hanzoai/cloud/models/chat_channels.py
pkg/hanzoai/cloud/models/chat_request.py
pkg/hanzoai/cloud/models/chat_response.py
@@ -509,7 +494,9 @@ pkg/hanzoai/cloud/models/citation.py
pkg/hanzoai/cloud/models/claim.py
pkg/hanzoai/cloud/models/claim_key_out.py
pkg/hanzoai/cloud/models/claim_request.py
pkg/hanzoai/cloud/models/claim_row.py
pkg/hanzoai/cloud/models/claim_view.py
pkg/hanzoai/cloud/models/claims_out.py
pkg/hanzoai/cloud/models/clear_reference_out.py
pkg/hanzoai/cloud/models/click_count.py
pkg/hanzoai/cloud/models/click_request.py
@@ -547,7 +534,6 @@ pkg/hanzoai/cloud/models/conn_view.py
pkg/hanzoai/cloud/models/connect_in.py
pkg/hanzoai/cloud/models/connect_out.py
pkg/hanzoai/cloud/models/connect_request.py
pkg/hanzoai/cloud/models/connection.py
pkg/hanzoai/cloud/models/connection_out.py
pkg/hanzoai/cloud/models/connection_view.py
pkg/hanzoai/cloud/models/connector_action.py
@@ -571,7 +557,6 @@ pkg/hanzoai/cloud/models/contact.py
pkg/hanzoai/cloud/models/contact_list.py
pkg/hanzoai/cloud/models/contact_req.py
pkg/hanzoai/cloud/models/contacts.py
pkg/hanzoai/cloud/models/container_detail.py
pkg/hanzoai/cloud/models/context_bundle.py
pkg/hanzoai/cloud/models/context_in.py
pkg/hanzoai/cloud/models/control_command_view.py
@@ -592,12 +577,10 @@ pkg/hanzoai/cloud/models/create_cluster_req.py
pkg/hanzoai/cloud/models/create_cluster_req_node_pool.py
pkg/hanzoai/cloud/models/create_endpoint_in.py
pkg/hanzoai/cloud/models/create_flow_req.py
pkg/hanzoai/cloud/models/create_lb_req.py
pkg/hanzoai/cloud/models/create_link_request.py
pkg/hanzoai/cloud/models/create_req.py
pkg/hanzoai/cloud/models/create_server_req.py
pkg/hanzoai/cloud/models/create_version_in.py
pkg/hanzoai/cloud/models/create_vpc_req.py
pkg/hanzoai/cloud/models/create_wallet_in.py
pkg/hanzoai/cloud/models/credential_in.py
pkg/hanzoai/cloud/models/credential_out.py
@@ -654,7 +637,6 @@ pkg/hanzoai/cloud/models/deploy_logs.py
pkg/hanzoai/cloud/models/deploy_record.py
pkg/hanzoai/cloud/models/deploy_req.py
pkg/hanzoai/cloud/models/deploy_request.py
pkg/hanzoai/cloud/models/deployment_detail.py
pkg/hanzoai/cloud/models/deployment_view.py
pkg/hanzoai/cloud/models/destination_disconnected.py
pkg/hanzoai/cloud/models/destination_field.py
@@ -690,6 +672,7 @@ pkg/hanzoai/cloud/models/drift_flag.py
pkg/hanzoai/cloud/models/drift_tally.py
pkg/hanzoai/cloud/models/droplet_in.py
pkg/hanzoai/cloud/models/durable.py
pkg/hanzoai/cloud/models/edge_state.py
pkg/hanzoai/cloud/models/embed_status_resp.py
pkg/hanzoai/cloud/models/enable_resp.py
pkg/hanzoai/cloud/models/enablement_board.py
@@ -710,8 +693,6 @@ pkg/hanzoai/cloud/models/enrolment.py
pkg/hanzoai/cloud/models/entitlements_view.py
pkg/hanzoai/cloud/models/entry.py
pkg/hanzoai/cloud/models/env_var_json.py
pkg/hanzoai/cloud/models/env_variable.py
pkg/hanzoai/cloud/models/envelope.py
pkg/hanzoai/cloud/models/environment_board.py
pkg/hanzoai/cloud/models/environment_row.py
pkg/hanzoai/cloud/models/error_list.py
@@ -724,7 +705,6 @@ pkg/hanzoai/cloud/models/evaluator_view.py
pkg/hanzoai/cloud/models/event.py
pkg/hanzoai/cloud/models/event_list.py
pkg/hanzoai/cloud/models/event_view.py
pkg/hanzoai/cloud/models/example_question.py
pkg/hanzoai/cloud/models/exception.py
pkg/hanzoai/cloud/models/experiment.py
pkg/hanzoai/cloud/models/experiment_list.py
@@ -732,7 +712,6 @@ pkg/hanzoai/cloud/models/experiments_out.py
pkg/hanzoai/cloud/models/extracted.py
pkg/hanzoai/cloud/models/fetch_query.py
pkg/hanzoai/cloud/models/figure.py
pkg/hanzoai/cloud/models/file.py
pkg/hanzoai/cloud/models/file_content.py
pkg/hanzoai/cloud/models/file_input.py
pkg/hanzoai/cloud/models/file_json.py
@@ -773,8 +752,6 @@ pkg/hanzoai/cloud/models/flow_trigger.py
pkg/hanzoai/cloud/models/flow_update.py
pkg/hanzoai/cloud/models/flow_version.py
pkg/hanzoai/cloud/models/fn_list.py
pkg/hanzoai/cloud/models/form.py
pkg/hanzoai/cloud/models/form_item.py
pkg/hanzoai/cloud/models/formation.py
pkg/hanzoai/cloud/models/formation_view.py
pkg/hanzoai/cloud/models/founder.py
@@ -783,36 +760,11 @@ pkg/hanzoai/cloud/models/frame.py
pkg/hanzoai/cloud/models/function_detail.py
pkg/hanzoai/cloud/models/function_view.py
pkg/hanzoai/cloud/models/funnel.py
pkg/hanzoai/cloud/models/fwd_rule.py
pkg/hanzoai/cloud/models/gc_out.py
pkg/hanzoai/cloud/models/generate_input.py
pkg/hanzoai/cloud/models/generate_request.py
pkg/hanzoai/cloud/models/generate_result.py
pkg/hanzoai/cloud/models/genesis.py
pkg/hanzoai/cloud/models/get_ai_activities200_response.py
pkg/hanzoai/cloud/models/get_ai_articles200_response.py
pkg/hanzoai/cloud/models/get_ai_assets200_response.py
pkg/hanzoai/cloud/models/get_ai_chats200_response.py
pkg/hanzoai/cloud/models/get_ai_deployments200_response.py
pkg/hanzoai/cloud/models/get_ai_files200_response.py
pkg/hanzoai/cloud/models/get_ai_forms200_response.py
pkg/hanzoai/cloud/models/get_ai_graphs200_response.py
pkg/hanzoai/cloud/models/get_ai_messages200_response.py
pkg/hanzoai/cloud/models/get_ai_nodes200_response.py
pkg/hanzoai/cloud/models/get_ai_providers200_response.py
pkg/hanzoai/cloud/models/get_ai_records200_response.py
pkg/hanzoai/cloud/models/get_ai_remote_connections200_response.py
pkg/hanzoai/cloud/models/get_ai_routes200_response.py
pkg/hanzoai/cloud/models/get_ai_scales200_response.py
pkg/hanzoai/cloud/models/get_ai_scans200_response.py
pkg/hanzoai/cloud/models/get_ai_signin_sessions200_response.py
pkg/hanzoai/cloud/models/get_ai_stores200_response.py
pkg/hanzoai/cloud/models/get_ai_tasks200_response.py
pkg/hanzoai/cloud/models/get_ai_templates200_response.py
pkg/hanzoai/cloud/models/get_ai_usages200_response.py
pkg/hanzoai/cloud/models/get_ai_vectors200_response.py
pkg/hanzoai/cloud/models/get_ai_videos200_response.py
pkg/hanzoai/cloud/models/get_ai_workflows200_response.py
pkg/hanzoai/cloud/models/git_ops_app.py
pkg/hanzoai/cloud/models/git_ops_deploy.py
pkg/hanzoai/cloud/models/git_ops_operation.py
@@ -841,6 +793,8 @@ pkg/hanzoai/cloud/models/github_repos_out.py
pkg/hanzoai/cloud/models/github_search_hit.py
pkg/hanzoai/cloud/models/github_search_out.py
pkg/hanzoai/cloud/models/github_search_req.py
pkg/hanzoai/cloud/models/gitlab_project_view.py
pkg/hanzoai/cloud/models/gitlab_projects_out.py
pkg/hanzoai/cloud/models/gl_row.py
pkg/hanzoai/cloud/models/gpu.py
pkg/hanzoai/cloud/models/gpu_alert_list.py
@@ -853,7 +807,6 @@ pkg/hanzoai/cloud/models/grant_request.py
pkg/hanzoai/cloud/models/grant_result.py
pkg/hanzoai/cloud/models/grant_row.py
pkg/hanzoai/cloud/models/grants_out.py
pkg/hanzoai/cloud/models/graph.py
pkg/hanzoai/cloud/models/graph_edge.py
pkg/hanzoai/cloud/models/graph_node.py
pkg/hanzoai/cloud/models/graph_out.py
@@ -873,16 +826,19 @@ pkg/hanzoai/cloud/models/help_category.py
pkg/hanzoai/cloud/models/help_category_list.py
pkg/hanzoai/cloud/models/help_ticket_filed.py
pkg/hanzoai/cloud/models/help_ticket_intake.py
pkg/hanzoai/cloud/models/history_out.py
pkg/hanzoai/cloud/models/hit.py
pkg/hanzoai/cloud/models/holding.py
pkg/hanzoai/cloud/models/holdings.py
pkg/hanzoai/cloud/models/host.py
pkg/hanzoai/cloud/models/iam_account_body.py
pkg/hanzoai/cloud/models/iam_account_item.py
pkg/hanzoai/cloud/models/iam_address.py
pkg/hanzoai/cloud/models/iam_answer.py
pkg/hanzoai/cloud/models/iam_application.py
pkg/hanzoai/cloud/models/iam_application_list_result.py
pkg/hanzoai/cloud/models/iam_application_ref.py
pkg/hanzoai/cloud/models/iam_assume_body.py
pkg/hanzoai/cloud/models/iam_audit_log.py
pkg/hanzoai/cloud/models/iam_auditlogs_input.py
pkg/hanzoai/cloud/models/iam_bulk.py
@@ -955,8 +911,10 @@ pkg/hanzoai/cloud/models/iam_saml_item.py
pkg/hanzoai/cloud/models/iam_scheme.py
pkg/hanzoai/cloud/models/iam_scope_description.py
pkg/hanzoai/cloud/models/iam_scope_item.py
pkg/hanzoai/cloud/models/iam_search_organizations_output.py
pkg/hanzoai/cloud/models/iam_session.py
pkg/hanzoai/cloud/models/iam_session_ref.py
pkg/hanzoai/cloud/models/iam_set_avatar_input.py
pkg/hanzoai/cloud/models/iam_signin_item.py
pkg/hanzoai/cloud/models/iam_signin_method.py
pkg/hanzoai/cloud/models/iam_signup_item.py
@@ -1050,11 +1008,8 @@ pkg/hanzoai/cloud/models/kv_write.py
pkg/hanzoai/cloud/models/kyc_refresh_out.py
pkg/hanzoai/cloud/models/kyc_session.py
pkg/hanzoai/cloud/models/kyc_start_out.py
pkg/hanzoai/cloud/models/label.py
pkg/hanzoai/cloud/models/last_event_view.py
pkg/hanzoai/cloud/models/latency_stat.py
pkg/hanzoai/cloud/models/lb_list.py
pkg/hanzoai/cloud/models/lb_view.py
pkg/hanzoai/cloud/models/leader_row.py
pkg/hanzoai/cloud/models/leaderboard.py
pkg/hanzoai/cloud/models/leaderboard_row.py
@@ -1107,6 +1062,7 @@ pkg/hanzoai/cloud/models/machine_view.py
pkg/hanzoai/cloud/models/make_in.py
pkg/hanzoai/cloud/models/market_catalog.py
pkg/hanzoai/cloud/models/market_item.py
pkg/hanzoai/cloud/models/match.py
pkg/hanzoai/cloud/models/mcp_catalog.py
pkg/hanzoai/cloud/models/mcp_catalog_sync.py
pkg/hanzoai/cloud/models/mcp_listing.py
@@ -1120,7 +1076,6 @@ pkg/hanzoai/cloud/models/memory_entry.py
pkg/hanzoai/cloud/models/memory_page.py
pkg/hanzoai/cloud/models/mesh_service_list.py
pkg/hanzoai/cloud/models/mesh_view.py
pkg/hanzoai/cloud/models/message.py
pkg/hanzoai/cloud/models/message_input.py
pkg/hanzoai/cloud/models/message_list.py
pkg/hanzoai/cloud/models/message_page.py
@@ -1141,11 +1096,9 @@ pkg/hanzoai/cloud/models/mirror_target_view.py
pkg/hanzoai/cloud/models/ml_resource.py
pkg/hanzoai/cloud/models/ml_resource_list.py
pkg/hanzoai/cloud/models/model_field.py
pkg/hanzoai/cloud/models/model_route.py
pkg/hanzoai/cloud/models/model_history.py
pkg/hanzoai/cloud/models/model_row.py
pkg/hanzoai/cloud/models/model_search_result.py
pkg/hanzoai/cloud/models/model_stat.py
pkg/hanzoai/cloud/models/model_tool_call.py
pkg/hanzoai/cloud/models/module_info.py
pkg/hanzoai/cloud/models/module_list.py
pkg/hanzoai/cloud/models/module_state.py
@@ -1168,7 +1121,6 @@ pkg/hanzoai/cloud/models/new_issue.py
pkg/hanzoai/cloud/models/news_item.py
pkg/hanzoai/cloud/models/news_response.py
pkg/hanzoai/cloud/models/next_in.py
pkg/hanzoai/cloud/models/node.py
pkg/hanzoai/cloud/models/node_list.py
pkg/hanzoai/cloud/models/node_pool.py
pkg/hanzoai/cloud/models/node_pool_view.py
@@ -2005,7 +1957,6 @@ pkg/hanzoai/cloud/models/pairing.py
pkg/hanzoai/cloud/models/pairing_approved.py
pkg/hanzoai/cloud/models/pairing_queue.py
pkg/hanzoai/cloud/models/pairing_view.py
pkg/hanzoai/cloud/models/patch.py
pkg/hanzoai/cloud/models/patch_application_in.py
pkg/hanzoai/cloud/models/patch_flow_in.py
pkg/hanzoai/cloud/models/patch_in.py
@@ -2051,29 +2002,6 @@ pkg/hanzoai/cloud/models/pool_create.py
pkg/hanzoai/cloud/models/pool_scale.py
pkg/hanzoai/cloud/models/populated_flow.py
pkg/hanzoai/cloud/models/position.py
pkg/hanzoai/cloud/models/post_ai_articles200_response.py
pkg/hanzoai/cloud/models/post_ai_assets200_response.py
pkg/hanzoai/cloud/models/post_ai_chats200_response.py
pkg/hanzoai/cloud/models/post_ai_deployments200_response.py
pkg/hanzoai/cloud/models/post_ai_files200_response.py
pkg/hanzoai/cloud/models/post_ai_forms200_response.py
pkg/hanzoai/cloud/models/post_ai_graphs200_response.py
pkg/hanzoai/cloud/models/post_ai_messages200_response.py
pkg/hanzoai/cloud/models/post_ai_nodes200_response.py
pkg/hanzoai/cloud/models/post_ai_providers200_response.py
pkg/hanzoai/cloud/models/post_ai_records200_response.py
pkg/hanzoai/cloud/models/post_ai_remote_connections200_response.py
pkg/hanzoai/cloud/models/post_ai_routes200_response.py
pkg/hanzoai/cloud/models/post_ai_scales200_response.py
pkg/hanzoai/cloud/models/post_ai_scans200_response.py
pkg/hanzoai/cloud/models/post_ai_signin_sessions200_response.py
pkg/hanzoai/cloud/models/post_ai_stores200_response.py
pkg/hanzoai/cloud/models/post_ai_tasks200_response.py
pkg/hanzoai/cloud/models/post_ai_templates200_response.py
pkg/hanzoai/cloud/models/post_ai_tree_files200_response.py
pkg/hanzoai/cloud/models/post_ai_vectors200_response.py
pkg/hanzoai/cloud/models/post_ai_videos200_response.py
pkg/hanzoai/cloud/models/post_ai_workflows200_response.py
pkg/hanzoai/cloud/models/post_event_request.py
pkg/hanzoai/cloud/models/post_list.py
pkg/hanzoai/cloud/models/posting.py
@@ -2136,8 +2064,6 @@ pkg/hanzoai/cloud/models/prompt_list.py
pkg/hanzoai/cloud/models/prompt_meta.py
pkg/hanzoai/cloud/models/prompt_req.py
pkg/hanzoai/cloud/models/prop_spec.py
pkg/hanzoai/cloud/models/properties.py
pkg/hanzoai/cloud/models/provider.py
pkg/hanzoai/cloud/models/provider_breakdown.py
pkg/hanzoai/cloud/models/provider_card.py
pkg/hanzoai/cloud/models/provider_credit.py
@@ -2155,6 +2081,7 @@ pkg/hanzoai/cloud/models/publish_input.py
pkg/hanzoai/cloud/models/publish_kit_in.py
pkg/hanzoai/cloud/models/publish_req.py
pkg/hanzoai/cloud/models/publish_result.py
pkg/hanzoai/cloud/models/published_claim.py
pkg/hanzoai/cloud/models/pull_list.py
pkg/hanzoai/cloud/models/pull_view.py
pkg/hanzoai/cloud/models/purge.py
@@ -2166,6 +2093,8 @@ pkg/hanzoai/cloud/models/push_pusher.py
pkg/hanzoai/cloud/models/push_repository.py
pkg/hanzoai/cloud/models/push_req.py
pkg/hanzoai/cloud/models/push_resp.py
pkg/hanzoai/cloud/models/put_claims_in.py
pkg/hanzoai/cloud/models/put_claims_out.py
pkg/hanzoai/cloud/models/query.py
pkg/hanzoai/cloud/models/question.py
pkg/hanzoai/cloud/models/questions_response.py
@@ -2228,11 +2157,8 @@ pkg/hanzoai/cloud/models/registry_tag_list.py
pkg/hanzoai/cloud/models/registry_token.py
pkg/hanzoai/cloud/models/release_board.py
pkg/hanzoai/cloud/models/release_row.py
pkg/hanzoai/cloud/models/release_state.py
pkg/hanzoai/cloud/models/reload_in.py
pkg/hanzoai/cloud/models/remark.py
pkg/hanzoai/cloud/models/remittance.py
pkg/hanzoai/cloud/models/remote_app.py
pkg/hanzoai/cloud/models/renew_req.py
pkg/hanzoai/cloud/models/renew_result.py
pkg/hanzoai/cloud/models/replace_kit_in.py
@@ -2245,13 +2171,13 @@ pkg/hanzoai/cloud/models/report_out.py
pkg/hanzoai/cloud/models/report_req.py
pkg/hanzoai/cloud/models/report_resp.py
pkg/hanzoai/cloud/models/report_run_in.py
pkg/hanzoai/cloud/models/request.py
pkg/hanzoai/cloud/models/research_artifact.py
pkg/hanzoai/cloud/models/research_totals.py
pkg/hanzoai/cloud/models/resolve_reference_in.py
pkg/hanzoai/cloud/models/resolve_reference_out.py
pkg/hanzoai/cloud/models/resource_metrics.py
pkg/hanzoai/cloud/models/resource_requests.py
pkg/hanzoai/cloud/models/resource_usage.py
pkg/hanzoai/cloud/models/response.py
pkg/hanzoai/cloud/models/restart_ref.py
pkg/hanzoai/cloud/models/restarted.py
pkg/hanzoai/cloud/models/result.py
@@ -2339,6 +2265,7 @@ pkg/hanzoai/cloud/models/ruleset.py
pkg/hanzoai/cloud/models/run_in.py
pkg/hanzoai/cloud/models/run_list.py
pkg/hanzoai/cloud/models/run_page.py
pkg/hanzoai/cloud/models/run_point.py
pkg/hanzoai/cloud/models/run_record.py
pkg/hanzoai/cloud/models/run_req.py
pkg/hanzoai/cloud/models/run_request.py
@@ -2368,7 +2295,6 @@ pkg/hanzoai/cloud/models/sample_view.py
pkg/hanzoai/cloud/models/sbom_health.py
pkg/hanzoai/cloud/models/sbom_ingest.py
pkg/hanzoai/cloud/models/sbom_ingested.py
pkg/hanzoai/cloud/models/scale.py
pkg/hanzoai/cloud/models/scale_in.py
pkg/hanzoai/cloud/models/scan.py
pkg/hanzoai/cloud/models/scan_detail.py
@@ -2397,7 +2323,6 @@ pkg/hanzoai/cloud/models/seed_data.py
pkg/hanzoai/cloud/models/seed_out.py
pkg/hanzoai/cloud/models/seed_request.py
pkg/hanzoai/cloud/models/self_rank.py
pkg/hanzoai/cloud/models/self_release_list.py
pkg/hanzoai/cloud/models/sequence.py
pkg/hanzoai/cloud/models/sequence_list.py
pkg/hanzoai/cloud/models/sequence_status.py
@@ -2405,17 +2330,13 @@ pkg/hanzoai/cloud/models/sequence_view.py
pkg/hanzoai/cloud/models/sequences.py
pkg/hanzoai/cloud/models/series_line.py
pkg/hanzoai/cloud/models/series_point.py
pkg/hanzoai/cloud/models/service.py
pkg/hanzoai/cloud/models/service_detail.py
pkg/hanzoai/cloud/models/service_input.py
pkg/hanzoai/cloud/models/service_list.py
pkg/hanzoai/cloud/models/service_mode_in.py
pkg/hanzoai/cloud/models/service_one.py
pkg/hanzoai/cloud/models/service_out.py
pkg/hanzoai/cloud/models/service_port.py
pkg/hanzoai/cloud/models/service_view.py
pkg/hanzoai/cloud/models/services_out.py
pkg/hanzoai/cloud/models/session.py
pkg/hanzoai/cloud/models/session_detail.py
pkg/hanzoai/cloud/models/session_list.py
pkg/hanzoai/cloud/models/session_user.py
@@ -2478,7 +2399,6 @@ pkg/hanzoai/cloud/models/storage_alert.py
pkg/hanzoai/cloud/models/storage_fleet.py
pkg/hanzoai/cloud/models/storage_snapshot.py
pkg/hanzoai/cloud/models/storage_volume.py
pkg/hanzoai/cloud/models/store.py
pkg/hanzoai/cloud/models/storefront_result.py
pkg/hanzoai/cloud/models/strategy.py
pkg/hanzoai/cloud/models/strategy_view.py
@@ -2533,13 +2453,10 @@ pkg/hanzoai/cloud/models/target_deleted.py
pkg/hanzoai/cloud/models/target_list.py
pkg/hanzoai/cloud/models/target_req.py
pkg/hanzoai/cloud/models/target_view.py
pkg/hanzoai/cloud/models/task.py
pkg/hanzoai/cloud/models/taxon.py
pkg/hanzoai/cloud/models/taxon_in.py
pkg/hanzoai/cloud/models/taxonomy.py
pkg/hanzoai/cloud/models/template.py
pkg/hanzoai/cloud/models/template_catalog.py
pkg/hanzoai/cloud/models/template_config_option.py
pkg/hanzoai/cloud/models/template_override.py
pkg/hanzoai/cloud/models/template_reply.py
pkg/hanzoai/cloud/models/template_view.py
@@ -2560,6 +2477,7 @@ pkg/hanzoai/cloud/models/trace_list.py
pkg/hanzoai/cloud/models/trace_view.py
pkg/hanzoai/cloud/models/traffic_caller.py
pkg/hanzoai/cloud/models/traffic_view.py
pkg/hanzoai/cloud/models/trail.py
pkg/hanzoai/cloud/models/trail_page.py
pkg/hanzoai/cloud/models/transactions_out.py
pkg/hanzoai/cloud/models/transfer_req.py
@@ -2568,7 +2486,6 @@ pkg/hanzoai/cloud/models/transition_result.py
pkg/hanzoai/cloud/models/treasury_report.py
pkg/hanzoai/cloud/models/tree_entry.py
pkg/hanzoai/cloud/models/tree_entry_json.py
pkg/hanzoai/cloud/models/tree_file.py
pkg/hanzoai/cloud/models/tree_json.py
pkg/hanzoai/cloud/models/tree_node.py
pkg/hanzoai/cloud/models/trial.py
@@ -2609,10 +2526,8 @@ pkg/hanzoai/cloud/models/utm.py
pkg/hanzoai/cloud/models/validator_claim.py
pkg/hanzoai/cloud/models/validator_list.py
pkg/hanzoai/cloud/models/variant.py
pkg/hanzoai/cloud/models/vector.py
pkg/hanzoai/cloud/models/vector_collection.py
pkg/hanzoai/cloud/models/vector_collection_list.py
pkg/hanzoai/cloud/models/vector_score.py
pkg/hanzoai/cloud/models/vector_stats.py
pkg/hanzoai/cloud/models/vendor.py
pkg/hanzoai/cloud/models/vendor_row.py
@@ -2628,14 +2543,11 @@ pkg/hanzoai/cloud/models/version_message.py
pkg/hanzoai/cloud/models/version_meta.py
pkg/hanzoai/cloud/models/version_page.py
pkg/hanzoai/cloud/models/version_view.py
pkg/hanzoai/cloud/models/video.py
pkg/hanzoai/cloud/models/volume.py
pkg/hanzoai/cloud/models/volume_in.py
pkg/hanzoai/cloud/models/volume_snapshot_out.py
pkg/hanzoai/cloud/models/volumes_out.py
pkg/hanzoai/cloud/models/voucher.py
pkg/hanzoai/cloud/models/vpc_list.py
pkg/hanzoai/cloud/models/vpc_view.py
pkg/hanzoai/cloud/models/waiting.py
pkg/hanzoai/cloud/models/waitlist_boost_request.py
pkg/hanzoai/cloud/models/waitlist_mode_view.py
@@ -2651,7 +2563,6 @@ pkg/hanzoai/cloud/models/web_search_results.py
pkg/hanzoai/cloud/models/wire.py
pkg/hanzoai/cloud/models/worker_list.py
pkg/hanzoai/cloud/models/worker_script_put.py
pkg/hanzoai/cloud/models/workflow.py
pkg/hanzoai/cloud/models/world_index.py
pkg/hanzoai/cloud/models/world_wire.py
pkg/hanzoai/cloud/models/write_in.py
+2 -2
View File
@@ -1,4 +1,4 @@
ref=113cf7d64c26649590876aec7b9fdfe6425ebc93
sha256=a50fc96c4732706ca154138e3984f677747b20e9484409915a6b59e7d703bfba
ref=dd98c965ceddaa49c7c4824bee6c4060d6b00311
sha256=7dc5e2bbdab3eda556a22bec5ca6e9534cca42e201b418299dca3d94c9c8d3a5
repo=hanzo-inc/cloud
path=openapi.yaml
File diff suppressed because it is too large Load Diff
+4 -11
View File
@@ -7,6 +7,7 @@ from hanzoai.cloud.api.affiliates_api import AffiliatesApi
from hanzoai.cloud.api.agent_api import AgentApi
from hanzoai.cloud.api.agents_api import AgentsApi
from hanzoai.cloud.api.ai_api import AiApi
from hanzoai.cloud.api.allowance_api import AllowanceApi
from hanzoai.cloud.api.analytics_api import AnalyticsApi
from hanzoai.cloud.api.appearance_api import AppearanceApi
from hanzoai.cloud.api.ask_api import AskApi
@@ -17,7 +18,6 @@ from hanzoai.cloud.api.authz_api import AuthzApi
from hanzoai.cloud.api.auto_api import AutoApi
from hanzoai.cloud.api.automations_api import AutomationsApi
from hanzoai.cloud.api.avatar_api import AvatarApi
from hanzoai.cloud.api.balancers_api import BalancersApi
from hanzoai.cloud.api.base_api import BaseApi
from hanzoai.cloud.api.benchmark_api import BenchmarkApi
from hanzoai.cloud.api.billing_api import BillingApi
@@ -51,17 +51,16 @@ from hanzoai.cloud.api.crawl_api import CrawlApi
from hanzoai.cloud.api.crm_api import CrmApi
from hanzoai.cloud.api.csrf_api import CsrfApi
from hanzoai.cloud.api.dataroom_api import DataroomApi
from hanzoai.cloud.api.datastore_api import DatastoreApi
from hanzoai.cloud.api.default_api import DefaultApi
from hanzoai.cloud.api.deploy_api import DeployApi
from hanzoai.cloud.api.destinations_api import DestinationsApi
from hanzoai.cloud.api.dev_bridge_api import DevBridgeApi
from hanzoai.cloud.api.dns_api import DnsApi
from hanzoai.cloud.api.docdb_api import DocdbApi
from hanzoai.cloud.api.docs_api import DocsApi
from hanzoai.cloud.api.documents_api import DocumentsApi
from hanzoai.cloud.api.domain_api import DomainApi
from hanzoai.cloud.api.download_api import DownloadApi
from hanzoai.cloud.api.edge_api import EdgeApi
from hanzoai.cloud.api.embed_api import EmbedApi
from hanzoai.cloud.api.embeddings_api import EmbeddingsApi
from hanzoai.cloud.api.enablement_api import EnablementApi
@@ -84,13 +83,10 @@ from hanzoai.cloud.api.flow_api import FlowApi
from hanzoai.cloud.api.framework_api import FrameworkApi
from hanzoai.cloud.api.functions_api import FunctionsApi
from hanzoai.cloud.api.gateway_api import GatewayApi
from hanzoai.cloud.api.generate_text_to_speech_audio_api import GenerateTextToSpeechAudioApi
from hanzoai.cloud.api.generate_text_to_speech_audio_stream_api import GenerateTextToSpeechAudioStreamApi
from hanzoai.cloud.api.git_api import GitApi
from hanzoai.cloud.api.git_webhook_api import GitWebhookApi
from hanzoai.cloud.api.gpus_api import GpusApi
from hanzoai.cloud.api.guide_api import GuideApi
from hanzoai.cloud.api.health_api import HealthApi
from hanzoai.cloud.api.help_api import HelpApi
from hanzoai.cloud.api.iam_api import IamApi
from hanzoai.cloud.api.images_api import ImagesApi
@@ -99,12 +95,12 @@ from hanzoai.cloud.api.indexers_api import IndexersApi
from hanzoai.cloud.api.ingress_api import IngressApi
from hanzoai.cloud.api.insights_api import InsightsApi
from hanzoai.cloud.api.install_patch_api import InstallPatchApi
from hanzoai.cloud.api.instances_api import InstancesApi
from hanzoai.cloud.api.integrations_api import IntegrationsApi
from hanzoai.cloud.api.k8s_api import K8sApi
from hanzoai.cloud.api.kb_api import KbApi
from hanzoai.cloud.api.keys_api import KeysApi
from hanzoai.cloud.api.kms_api import KmsApi
from hanzoai.cloud.api.kv_api import KvApi
from hanzoai.cloud.api.legal_api import LegalApi
from hanzoai.cloud.api.licensing_api import LicensingApi
from hanzoai.cloud.api.links_api import LinksApi
@@ -134,7 +130,6 @@ from hanzoai.cloud.api.platform_api import PlatformApi
from hanzoai.cloud.api.plugins_api import PluginsApi
from hanzoai.cloud.api.prefs_api import PrefsApi
from hanzoai.cloud.api.pricing_api import PricingApi
from hanzoai.cloud.api.process_speech_to_text_api import ProcessSpeechToTextApi
from hanzoai.cloud.api.projects_api import ProjectsApi
from hanzoai.cloud.api.prompts_api import PromptsApi
from hanzoai.cloud.api.pubsub_api import PubsubApi
@@ -159,13 +154,12 @@ from hanzoai.cloud.api.sbom_api import SbomApi
from hanzoai.cloud.api.scrape_api import ScrapeApi
from hanzoai.cloud.api.search_api import SearchApi
from hanzoai.cloud.api.security_api import SecurityApi
from hanzoai.cloud.api.sentry_api import SentryApi
from hanzoai.cloud.api.sentinel_api import SentinelApi
from hanzoai.cloud.api.settings_api import SettingsApi
from hanzoai.cloud.api.share_api import ShareApi
from hanzoai.cloud.api.sites_api import SitesApi
from hanzoai.cloud.api.skills_api import SkillsApi
from hanzoai.cloud.api.social_api import SocialApi
from hanzoai.cloud.api.sql_api import SqlApi
from hanzoai.cloud.api.store_api import StoreApi
from hanzoai.cloud.api.summary_api import SummaryApi
from hanzoai.cloud.api.sync_api import SyncApi
@@ -186,7 +180,6 @@ from hanzoai.cloud.api.usage_api import UsageApi
from hanzoai.cloud.api.validators_api import ValidatorsApi
from hanzoai.cloud.api.vector_api import VectorApi
from hanzoai.cloud.api.videos_api import VideosApi
from hanzoai.cloud.api.vpcs_api import VpcsApi
from hanzoai.cloud.api.wallets_api import WalletsApi
from hanzoai.cloud.api.webhooks_api import WebhooksApi
from hanzoai.cloud.api.websearch_api import WebsearchApi
+12 -12
View File
@@ -973,9 +973,9 @@ class AdminApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RecordsOut:
"""Reads cloud's tamper-evident audit trail, newest first, with the chain's live integrity attached so a listing can be badged as verified.
"""Reads one chain of cloud's tamper-evident audit trail, newest first, with that chain's live integrity attached so a listing can be badged as verified.
Reads cloud's tamper-evident audit trail, newest first, with the chain's live integrity attached so a listing can be badged as verified. When cloud has no local store configured it falls back to forwarding IAM's own get-records trail verbatim — a DIFFERENT trail, federated so the endpoint never regresses to an empty list. Those rows carry no integrity of ours, so the field is null there.
Reads one chain of cloud's tamper-evident audit trail, newest first, with that chain's live integrity attached so a listing can be badged as verified. When cloud has no local store configured it falls back to forwarding IAM's own get-records trail verbatim — a DIFFERENT trail, federated so the endpoint never regresses to an empty list. Those rows carry no integrity of ours, so the field is null there.
:param org: Org restricts the trail to one tenant.
:type org: str
@@ -1076,9 +1076,9 @@ class AdminApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[RecordsOut]:
"""Reads cloud's tamper-evident audit trail, newest first, with the chain's live integrity attached so a listing can be badged as verified.
"""Reads one chain of cloud's tamper-evident audit trail, newest first, with that chain's live integrity attached so a listing can be badged as verified.
Reads cloud's tamper-evident audit trail, newest first, with the chain's live integrity attached so a listing can be badged as verified. When cloud has no local store configured it falls back to forwarding IAM's own get-records trail verbatim — a DIFFERENT trail, federated so the endpoint never regresses to an empty list. Those rows carry no integrity of ours, so the field is null there.
Reads one chain of cloud's tamper-evident audit trail, newest first, with that chain's live integrity attached so a listing can be badged as verified. When cloud has no local store configured it falls back to forwarding IAM's own get-records trail verbatim — a DIFFERENT trail, federated so the endpoint never regresses to an empty list. Those rows carry no integrity of ours, so the field is null there.
:param org: Org restricts the trail to one tenant.
:type org: str
@@ -1179,9 +1179,9 @@ class AdminApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Reads cloud's tamper-evident audit trail, newest first, with the chain's live integrity attached so a listing can be badged as verified.
"""Reads one chain of cloud's tamper-evident audit trail, newest first, with that chain's live integrity attached so a listing can be badged as verified.
Reads cloud's tamper-evident audit trail, newest first, with the chain's live integrity attached so a listing can be badged as verified. When cloud has no local store configured it falls back to forwarding IAM's own get-records trail verbatim — a DIFFERENT trail, federated so the endpoint never regresses to an empty list. Those rows carry no integrity of ours, so the field is null there.
Reads one chain of cloud's tamper-evident audit trail, newest first, with that chain's live integrity attached so a listing can be badged as verified. When cloud has no local store configured it falls back to forwarding IAM's own get-records trail verbatim — a DIFFERENT trail, federated so the endpoint never regresses to an empty list. Those rows carry no integrity of ours, so the field is null there.
:param org: Org restricts the trail to one tenant.
:type org: str
@@ -1379,9 +1379,9 @@ class AdminApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> VerifyOut:
"""Walks the WHOLE hash chain and reports whether it is intact: how many records were checked, the head hash to pin externally against tail-truncation, and — when the chain is broken — the seq of the first bad record and why.
"""Walks EVERY hash chain this deployment keeps and reports each one: which chains were checked, how many records each holds, the head hash to pin externally against tail-truncation, and — when a chain is broken — the seq of the first bad record and why.
Walks the WHOLE hash chain and reports whether it is intact: how many records were checked, the head hash to pin externally against tail-truncation, and — when the chain is broken — the seq of the first bad record and why. brokenAt is -1 exactly when ok is true. An unconfigured store is an honest failure here rather than a fabricated pass.
Walks EVERY hash chain this deployment keeps and reports each one: which chains were checked, how many records each holds, the head hash to pin externally against tail-truncation, and — when a chain is broken — the seq of the first bad record and why. The trail is a FAMILY of chains, one per process, so the answer is a set and not a boolean: `intact`, `broken` and `unread` count the three verdicts and sum to the number of chains. A chain that could not be READ is reported `unread` and is never a pass — an unreadable chain and a verified one must not render the same, which is the whole reason this is not one flag. An unconfigured store is an honest failure here rather than a fabricated pass.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -1442,9 +1442,9 @@ class AdminApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[VerifyOut]:
"""Walks the WHOLE hash chain and reports whether it is intact: how many records were checked, the head hash to pin externally against tail-truncation, and — when the chain is broken — the seq of the first bad record and why.
"""Walks EVERY hash chain this deployment keeps and reports each one: which chains were checked, how many records each holds, the head hash to pin externally against tail-truncation, and — when a chain is broken — the seq of the first bad record and why.
Walks the WHOLE hash chain and reports whether it is intact: how many records were checked, the head hash to pin externally against tail-truncation, and — when the chain is broken — the seq of the first bad record and why. brokenAt is -1 exactly when ok is true. An unconfigured store is an honest failure here rather than a fabricated pass.
Walks EVERY hash chain this deployment keeps and reports each one: which chains were checked, how many records each holds, the head hash to pin externally against tail-truncation, and — when a chain is broken — the seq of the first bad record and why. The trail is a FAMILY of chains, one per process, so the answer is a set and not a boolean: `intact`, `broken` and `unread` count the three verdicts and sum to the number of chains. A chain that could not be READ is reported `unread` and is never a pass — an unreadable chain and a verified one must not render the same, which is the whole reason this is not one flag. An unconfigured store is an honest failure here rather than a fabricated pass.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -1505,9 +1505,9 @@ class AdminApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Walks the WHOLE hash chain and reports whether it is intact: how many records were checked, the head hash to pin externally against tail-truncation, and — when the chain is broken — the seq of the first bad record and why.
"""Walks EVERY hash chain this deployment keeps and reports each one: which chains were checked, how many records each holds, the head hash to pin externally against tail-truncation, and — when a chain is broken — the seq of the first bad record and why.
Walks the WHOLE hash chain and reports whether it is intact: how many records were checked, the head hash to pin externally against tail-truncation, and — when the chain is broken — the seq of the first bad record and why. brokenAt is -1 exactly when ok is true. An unconfigured store is an honest failure here rather than a fabricated pass.
Walks EVERY hash chain this deployment keeps and reports each one: which chains were checked, how many records each holds, the head hash to pin externally against tail-truncation, and — when a chain is broken — the seq of the first bad record and why. The trail is a FAMILY of chains, one per process, so the answer is a set and not a boolean: `intact`, `broken` and `unread` count the three verdicts and sum to the number of chains. A chain that could not be READ is reported `unread` and is never a pass — an unreadable chain and a verified one must not render the same, which is the whole reason this is not one flag. An unconfigured store is an honest failure here rather than a fabricated pass.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
File diff suppressed because it is too large Load Diff
@@ -16,13 +16,14 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from hanzoai.cloud.models.allowance import Allowance
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
from hanzoai.cloud.rest import RESTResponseType
class HealthApi:
class AllowanceApi:
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech
@@ -36,7 +37,7 @@ class HealthApi:
@validate_call
def get_health(
def get_allowance(
self,
_request_timeout: Union[
None,
@@ -50,10 +51,10 @@ class HealthApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""Check if the system is live
) -> Allowance:
"""Answers what the CALLER has left of their plan's free-call allowance this period, and the instant the count starts again.
Check if the system is live
Answers what the CALLER has left of their plan's free-call allowance this period, and the instant the count starts again. This is the number a product shows beside the composer — \"17 of 20 left today\" — and the moment to offer a plan is when it reaches zero. It READS: asking does not spend, so a page that polls it costs the caller nothing. The subject is the caller's own, resolved from the verified credential, and can never be named in the request — so this is a mirror, not a lookup of someone else. An unauthenticated caller is refused: there is no allowance without someone to hold it. A named handler, not a closure, so zipdoc can lift this prose into the registry.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -77,7 +78,7 @@ class HealthApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._get_health_serialize(
_param = self._get_allowance_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -85,6 +86,7 @@ class HealthApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Allowance",
}
response_data = self.api_client.call_api(
*_param,
@@ -98,7 +100,7 @@ class HealthApi:
@validate_call
def get_health_with_http_info(
def get_allowance_with_http_info(
self,
_request_timeout: Union[
None,
@@ -112,10 +114,10 @@ class HealthApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""Check if the system is live
) -> ApiResponse[Allowance]:
"""Answers what the CALLER has left of their plan's free-call allowance this period, and the instant the count starts again.
Check if the system is live
Answers what the CALLER has left of their plan's free-call allowance this period, and the instant the count starts again. This is the number a product shows beside the composer — \"17 of 20 left today\" — and the moment to offer a plan is when it reaches zero. It READS: asking does not spend, so a page that polls it costs the caller nothing. The subject is the caller's own, resolved from the verified credential, and can never be named in the request — so this is a mirror, not a lookup of someone else. An unauthenticated caller is refused: there is no allowance without someone to hold it. A named handler, not a closure, so zipdoc can lift this prose into the registry.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -139,7 +141,7 @@ class HealthApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._get_health_serialize(
_param = self._get_allowance_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -147,6 +149,7 @@ class HealthApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Allowance",
}
response_data = self.api_client.call_api(
*_param,
@@ -160,7 +163,7 @@ class HealthApi:
@validate_call
def get_health_without_preload_content(
def get_allowance_without_preload_content(
self,
_request_timeout: Union[
None,
@@ -175,9 +178,9 @@ class HealthApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Check if the system is live
"""Answers what the CALLER has left of their plan's free-call allowance this period, and the instant the count starts again.
Check if the system is live
Answers what the CALLER has left of their plan's free-call allowance this period, and the instant the count starts again. This is the number a product shows beside the composer — \"17 of 20 left today\" — and the moment to offer a plan is when it reaches zero. It READS: asking does not spend, so a page that polls it costs the caller nothing. The subject is the caller's own, resolved from the verified credential, and can never be named in the request — so this is a mirror, not a lookup of someone else. An unauthenticated caller is refused: there is no allowance without someone to hold it. A named handler, not a closure, so zipdoc can lift this prose into the registry.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -201,7 +204,7 @@ class HealthApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._get_health_serialize(
_param = self._get_allowance_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -209,6 +212,7 @@ class HealthApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Allowance",
}
response_data = self.api_client.call_api(
*_param,
@@ -217,7 +221,7 @@ class HealthApi:
return response_data.response
def _get_health_serialize(
def _get_allowance_serialize(
self,
_request_auth,
_content_type,
@@ -246,6 +250,13 @@ class HealthApi:
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
@@ -255,7 +266,7 @@ class HealthApi:
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/health',
resource_path='/v1/allowance',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
+6 -6
View File
@@ -525,7 +525,7 @@ class AudioApi:
) -> None:
"""The OpenAI-compatible TTS endpoint (POST /v1/audio/speech).
The OpenAI-compatible TTS endpoint (POST /v1/audio/speech). It authenticates the caller, resolves `model` to its TTS provider (the SAME model-route resolution the chat/images/video endpoints use — so a BYO node registered as a TTS provider works transparently), synthesizes the audio, and streams the bytes back. One code path, OpenAI-shaped, no store/message coupling (unlike the legacy /v1/generate-text-to-speech-audio which is bound to a chat store).
The OpenAI-compatible TTS endpoint (POST /v1/audio/speech). It authenticates the caller, resolves `model` to its TTS provider (the SAME model-route resolution the chat/images/video endpoints use — so a BYO node registered as a TTS provider works transparently), synthesizes the audio, and streams the bytes back. This is the ONE way to synthesize speech: OpenAI-shaped, with no store or message coupling, so a caller needs no chat to speak.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -587,7 +587,7 @@ class AudioApi:
) -> ApiResponse[None]:
"""The OpenAI-compatible TTS endpoint (POST /v1/audio/speech).
The OpenAI-compatible TTS endpoint (POST /v1/audio/speech). It authenticates the caller, resolves `model` to its TTS provider (the SAME model-route resolution the chat/images/video endpoints use — so a BYO node registered as a TTS provider works transparently), synthesizes the audio, and streams the bytes back. One code path, OpenAI-shaped, no store/message coupling (unlike the legacy /v1/generate-text-to-speech-audio which is bound to a chat store).
The OpenAI-compatible TTS endpoint (POST /v1/audio/speech). It authenticates the caller, resolves `model` to its TTS provider (the SAME model-route resolution the chat/images/video endpoints use — so a BYO node registered as a TTS provider works transparently), synthesizes the audio, and streams the bytes back. This is the ONE way to synthesize speech: OpenAI-shaped, with no store or message coupling, so a caller needs no chat to speak.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -649,7 +649,7 @@ class AudioApi:
) -> RESTResponseType:
"""The OpenAI-compatible TTS endpoint (POST /v1/audio/speech).
The OpenAI-compatible TTS endpoint (POST /v1/audio/speech). It authenticates the caller, resolves `model` to its TTS provider (the SAME model-route resolution the chat/images/video endpoints use — so a BYO node registered as a TTS provider works transparently), synthesizes the audio, and streams the bytes back. One code path, OpenAI-shaped, no store/message coupling (unlike the legacy /v1/generate-text-to-speech-audio which is bound to a chat store).
The OpenAI-compatible TTS endpoint (POST /v1/audio/speech). It authenticates the caller, resolves `model` to its TTS provider (the SAME model-route resolution the chat/images/video endpoints use — so a BYO node registered as a TTS provider works transparently), synthesizes the audio, and streams the bytes back. This is the ONE way to synthesize speech: OpenAI-shaped, with no store or message coupling, so a caller needs no chat to speak.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -761,7 +761,7 @@ class AudioApi:
) -> None:
"""The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]).
The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]). It mirrors AudioSpeech exactly: authenticate the caller, resolve `model` to its STT provider through the SAME model-route resolution (so the in-cluster speech service — or any BYO node registered as an STT provider — works transparently), transcribe, and return the OpenAI body. One code path, OpenAI-shaped, no store coupling (unlike the legacy /v1/process-speech-to-text, which is bound to a chat store).
The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]). It mirrors AudioSpeech exactly: authenticate the caller, resolve `model` to its STT provider through the SAME model-route resolution (so the in-cluster speech service — or any BYO node registered as an STT provider — works transparently), transcribe, and return the OpenAI body. This is the ONE way to transcribe: OpenAI-shaped, with no store coupling, so a caller needs no chat to be heard.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -823,7 +823,7 @@ class AudioApi:
) -> ApiResponse[None]:
"""The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]).
The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]). It mirrors AudioSpeech exactly: authenticate the caller, resolve `model` to its STT provider through the SAME model-route resolution (so the in-cluster speech service — or any BYO node registered as an STT provider — works transparently), transcribe, and return the OpenAI body. One code path, OpenAI-shaped, no store coupling (unlike the legacy /v1/process-speech-to-text, which is bound to a chat store).
The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]). It mirrors AudioSpeech exactly: authenticate the caller, resolve `model` to its STT provider through the SAME model-route resolution (so the in-cluster speech service — or any BYO node registered as an STT provider — works transparently), transcribe, and return the OpenAI body. This is the ONE way to transcribe: OpenAI-shaped, with no store coupling, so a caller needs no chat to be heard.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -885,7 +885,7 @@ class AudioApi:
) -> RESTResponseType:
"""The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]).
The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]). It mirrors AudioSpeech exactly: authenticate the caller, resolve `model` to its STT provider through the SAME model-route resolution (so the in-cluster speech service — or any BYO node registered as an STT provider — works transparently), transcribe, and return the OpenAI body. One code path, OpenAI-shaped, no store coupling (unlike the legacy /v1/process-speech-to-text, which is bound to a chat store).
The OpenAI-compatible STT endpoint (POST /v1/audio/transcriptions, multipart: file + model [+ language + response_format]). It mirrors AudioSpeech exactly: authenticate the caller, resolve `model` to its STT provider through the SAME model-route resolution (so the in-cluster speech service — or any BYO node registered as an STT provider — works transparently), transcribe, and return the OpenAI body. This is the ONE way to transcribe: OpenAI-shaped, with no store coupling, so a caller needs no chat to be heard.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
File diff suppressed because it is too large Load Diff
+889
View File
@@ -21,11 +21,15 @@ from typing import Optional
from typing_extensions import Annotated
from hanzoai.cloud.models.admission import Admission
from hanzoai.cloud.models.benchmark_catalog import BenchmarkCatalog
from hanzoai.cloud.models.claims_out import ClaimsOut
from hanzoai.cloud.models.history_out import HistoryOut
from hanzoai.cloud.models.leaderboard import Leaderboard
from hanzoai.cloud.models.pairing import Pairing
from hanzoai.cloud.models.preset import Preset
from hanzoai.cloud.models.preset_accepted import PresetAccepted
from hanzoai.cloud.models.preset_list import PresetList
from hanzoai.cloud.models.put_claims_in import PutClaimsIn
from hanzoai.cloud.models.put_claims_out import PutClaimsOut
from hanzoai.cloud.models.suite import Suite
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
@@ -292,6 +296,337 @@ class BenchmarkApi:
@validate_call
def get_benchmark_claims(
self,
benchmark: Annotated[Optional[StrictStr], Field(description="Benchmark filters to one benchmark id. Empty returns every benchmark.")] = None,
model: Annotated[Optional[StrictStr], Field(description="Model filters to one model. Empty returns every model.")] = None,
provider: Annotated[Optional[StrictStr], Field(description="Provider filters to one lab or leaderboard — the way to read what a single source claims across every model it covers.")] = None,
source: Annotated[Optional[StrictStr], Field(description="Source filters to one citation, which is the finest grain there is: a source is what makes two claims about one model independent rather than a restatement of each other.")] = None,
protocol: Annotated[Optional[StrictStr], Field(description="Protocol filters by HOW a claim was scored, so provider cards can be read apart from third parties running their own harness.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ClaimsOut:
"""Lists the effective published claims: what the leaderboard will use for each (benchmark, model) after the seed, the import and any stored correction are layered.
Lists the effective published claims: what the leaderboard will use for each (benchmark, model) after the seed, the import and any stored correction are layered. It answers the operator's question — what does this arena currently believe someone else reported, and did we ship that or fix it. Effective values only. The history of a key lives in the append-only file and is not what this op is for; a list that returned every superseded row would make the common question the hard one.
:param benchmark: Benchmark filters to one benchmark id. Empty returns every benchmark.
:type benchmark: str
:param model: Model filters to one model. Empty returns every model.
:type model: str
:param provider: Provider filters to one lab or leaderboard — the way to read what a single source claims across every model it covers.
:type provider: str
:param source: Source filters to one citation, which is the finest grain there is: a source is what makes two claims about one model independent rather than a restatement of each other.
:type source: str
:param protocol: Protocol filters by HOW a claim was scored, so provider cards can be read apart from third parties running their own harness.
:type protocol: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_benchmark_claims_serialize(
benchmark=benchmark,
model=model,
provider=provider,
source=source,
protocol=protocol,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ClaimsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_benchmark_claims_with_http_info(
self,
benchmark: Annotated[Optional[StrictStr], Field(description="Benchmark filters to one benchmark id. Empty returns every benchmark.")] = None,
model: Annotated[Optional[StrictStr], Field(description="Model filters to one model. Empty returns every model.")] = None,
provider: Annotated[Optional[StrictStr], Field(description="Provider filters to one lab or leaderboard — the way to read what a single source claims across every model it covers.")] = None,
source: Annotated[Optional[StrictStr], Field(description="Source filters to one citation, which is the finest grain there is: a source is what makes two claims about one model independent rather than a restatement of each other.")] = None,
protocol: Annotated[Optional[StrictStr], Field(description="Protocol filters by HOW a claim was scored, so provider cards can be read apart from third parties running their own harness.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[ClaimsOut]:
"""Lists the effective published claims: what the leaderboard will use for each (benchmark, model) after the seed, the import and any stored correction are layered.
Lists the effective published claims: what the leaderboard will use for each (benchmark, model) after the seed, the import and any stored correction are layered. It answers the operator's question — what does this arena currently believe someone else reported, and did we ship that or fix it. Effective values only. The history of a key lives in the append-only file and is not what this op is for; a list that returned every superseded row would make the common question the hard one.
:param benchmark: Benchmark filters to one benchmark id. Empty returns every benchmark.
:type benchmark: str
:param model: Model filters to one model. Empty returns every model.
:type model: str
:param provider: Provider filters to one lab or leaderboard — the way to read what a single source claims across every model it covers.
:type provider: str
:param source: Source filters to one citation, which is the finest grain there is: a source is what makes two claims about one model independent rather than a restatement of each other.
:type source: str
:param protocol: Protocol filters by HOW a claim was scored, so provider cards can be read apart from third parties running their own harness.
:type protocol: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_benchmark_claims_serialize(
benchmark=benchmark,
model=model,
provider=provider,
source=source,
protocol=protocol,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ClaimsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_benchmark_claims_without_preload_content(
self,
benchmark: Annotated[Optional[StrictStr], Field(description="Benchmark filters to one benchmark id. Empty returns every benchmark.")] = None,
model: Annotated[Optional[StrictStr], Field(description="Model filters to one model. Empty returns every model.")] = None,
provider: Annotated[Optional[StrictStr], Field(description="Provider filters to one lab or leaderboard — the way to read what a single source claims across every model it covers.")] = None,
source: Annotated[Optional[StrictStr], Field(description="Source filters to one citation, which is the finest grain there is: a source is what makes two claims about one model independent rather than a restatement of each other.")] = None,
protocol: Annotated[Optional[StrictStr], Field(description="Protocol filters by HOW a claim was scored, so provider cards can be read apart from third parties running their own harness.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Lists the effective published claims: what the leaderboard will use for each (benchmark, model) after the seed, the import and any stored correction are layered.
Lists the effective published claims: what the leaderboard will use for each (benchmark, model) after the seed, the import and any stored correction are layered. It answers the operator's question — what does this arena currently believe someone else reported, and did we ship that or fix it. Effective values only. The history of a key lives in the append-only file and is not what this op is for; a list that returned every superseded row would make the common question the hard one.
:param benchmark: Benchmark filters to one benchmark id. Empty returns every benchmark.
:type benchmark: str
:param model: Model filters to one model. Empty returns every model.
:type model: str
:param provider: Provider filters to one lab or leaderboard — the way to read what a single source claims across every model it covers.
:type provider: str
:param source: Source filters to one citation, which is the finest grain there is: a source is what makes two claims about one model independent rather than a restatement of each other.
:type source: str
:param protocol: Protocol filters by HOW a claim was scored, so provider cards can be read apart from third parties running their own harness.
:type protocol: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_benchmark_claims_serialize(
benchmark=benchmark,
model=model,
provider=provider,
source=source,
protocol=protocol,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ClaimsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_benchmark_claims_serialize(
self,
benchmark,
model,
provider,
source,
protocol,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
if benchmark is not None:
_query_params.append(('Benchmark', benchmark))
if model is not None:
_query_params.append(('Model', model))
if provider is not None:
_query_params.append(('Provider', provider))
if source is not None:
_query_params.append(('Source', source))
if protocol is not None:
_query_params.append(('Protocol', protocol))
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/benchmark/claims',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_benchmark_compare(
self,
@@ -589,6 +924,286 @@ class BenchmarkApi:
@validate_call
def get_benchmark_history(
self,
benchmark: Annotated[Optional[StrictStr], Field(description="Benchmark is the catalog id to read, defaulting to gpqa_diamond.")] = None,
model: Annotated[Optional[StrictStr], Field(description="Model filters to one model. Empty returns every model measured.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> HistoryOut:
"""Returns each model's measured score per run over time, oldest first, with the change between runs.
Returns each model's measured score per run over time, oldest first, with the change between runs. This is the counterweight to a leaderboard: the board shows the latest run because that is what \"how good is it\" means, and a single latest number cannot distinguish a model that has always been strong from one that just improved, or from one that regressed after a provider changed something. Both matter for routing, and only one of them is visible on a board. Runs with no id — attempts recorded before runs existed — group under the empty run, which is honestly what they are: one undated measurement.
:param benchmark: Benchmark is the catalog id to read, defaulting to gpqa_diamond.
:type benchmark: str
:param model: Model filters to one model. Empty returns every model measured.
:type model: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_benchmark_history_serialize(
benchmark=benchmark,
model=model,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "HistoryOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_benchmark_history_with_http_info(
self,
benchmark: Annotated[Optional[StrictStr], Field(description="Benchmark is the catalog id to read, defaulting to gpqa_diamond.")] = None,
model: Annotated[Optional[StrictStr], Field(description="Model filters to one model. Empty returns every model measured.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[HistoryOut]:
"""Returns each model's measured score per run over time, oldest first, with the change between runs.
Returns each model's measured score per run over time, oldest first, with the change between runs. This is the counterweight to a leaderboard: the board shows the latest run because that is what \"how good is it\" means, and a single latest number cannot distinguish a model that has always been strong from one that just improved, or from one that regressed after a provider changed something. Both matter for routing, and only one of them is visible on a board. Runs with no id — attempts recorded before runs existed — group under the empty run, which is honestly what they are: one undated measurement.
:param benchmark: Benchmark is the catalog id to read, defaulting to gpqa_diamond.
:type benchmark: str
:param model: Model filters to one model. Empty returns every model measured.
:type model: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_benchmark_history_serialize(
benchmark=benchmark,
model=model,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "HistoryOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_benchmark_history_without_preload_content(
self,
benchmark: Annotated[Optional[StrictStr], Field(description="Benchmark is the catalog id to read, defaulting to gpqa_diamond.")] = None,
model: Annotated[Optional[StrictStr], Field(description="Model filters to one model. Empty returns every model measured.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Returns each model's measured score per run over time, oldest first, with the change between runs.
Returns each model's measured score per run over time, oldest first, with the change between runs. This is the counterweight to a leaderboard: the board shows the latest run because that is what \"how good is it\" means, and a single latest number cannot distinguish a model that has always been strong from one that just improved, or from one that regressed after a provider changed something. Both matter for routing, and only one of them is visible on a board. Runs with no id — attempts recorded before runs existed — group under the empty run, which is honestly what they are: one undated measurement.
:param benchmark: Benchmark is the catalog id to read, defaulting to gpqa_diamond.
:type benchmark: str
:param model: Model filters to one model. Empty returns every model measured.
:type model: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_benchmark_history_serialize(
benchmark=benchmark,
model=model,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "HistoryOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_benchmark_history_serialize(
self,
benchmark,
model,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
if benchmark is not None:
_query_params.append(('Benchmark', benchmark))
if model is not None:
_query_params.append(('Model', model))
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/benchmark/history',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_benchmark_leaderboard(
self,
@@ -1098,6 +1713,280 @@ class BenchmarkApi:
@validate_call
def post_benchmark_claims(
self,
put_claims_in: PutClaimsIn,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> PutClaimsOut:
"""Records published claims: one to correct a number, many to import a leaderboard.
Records published claims: one to correct a number, many to import a leaderboard. Every row must carry a Source, because a claim without its citation is a number nobody can check — and an unattributed number in the published plane is indistinguishable from a measurement, which is the one confusion this whole surface is built to prevent. Writes are append-only, so this never destroys the value it replaces. A vendor restating a score leaves both rows on disk, which is how the restating itself becomes visible.
:param put_claims_in: (required)
:type put_claims_in: PutClaimsIn
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_benchmark_claims_serialize(
put_claims_in=put_claims_in,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "PutClaimsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def post_benchmark_claims_with_http_info(
self,
put_claims_in: PutClaimsIn,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[PutClaimsOut]:
"""Records published claims: one to correct a number, many to import a leaderboard.
Records published claims: one to correct a number, many to import a leaderboard. Every row must carry a Source, because a claim without its citation is a number nobody can check — and an unattributed number in the published plane is indistinguishable from a measurement, which is the one confusion this whole surface is built to prevent. Writes are append-only, so this never destroys the value it replaces. A vendor restating a score leaves both rows on disk, which is how the restating itself becomes visible.
:param put_claims_in: (required)
:type put_claims_in: PutClaimsIn
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_benchmark_claims_serialize(
put_claims_in=put_claims_in,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "PutClaimsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def post_benchmark_claims_without_preload_content(
self,
put_claims_in: PutClaimsIn,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Records published claims: one to correct a number, many to import a leaderboard.
Records published claims: one to correct a number, many to import a leaderboard. Every row must carry a Source, because a claim without its citation is a number nobody can check — and an unattributed number in the published plane is indistinguishable from a measurement, which is the one confusion this whole surface is built to prevent. Writes are append-only, so this never destroys the value it replaces. A vendor restating a score leaves both rows on disk, which is how the restating itself becomes visible.
:param put_claims_in: (required)
:type put_claims_in: PutClaimsIn
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_benchmark_claims_serialize(
put_claims_in=put_claims_in,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "PutClaimsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _post_benchmark_claims_serialize(
self,
put_claims_in,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
if put_claims_in is not None:
_body_params = put_claims_in
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# set the HTTP header `Content-Type`
if _content_type:
_header_params['Content-Type'] = _content_type
else:
_default_content_type = (
self.api_client.select_header_content_type(
[
'application/json'
]
)
)
if _default_content_type is not None:
_header_params['Content-Type'] = _default_content_type
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='POST',
resource_path='/v1/benchmark/claims',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def post_benchmark_presets(
self,
+472
View File
@@ -2486,6 +2486,242 @@ class BillingApi:
@validate_call
def get_billing_credit_balance_breakdown(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""What is left of your credit, grouped by where it came from
Returns the same balance /v1/billing/credit-balance reports, split by the tag each grant carries, so a reader can tell trial credit from bought credit and show the earliest expiry within each group. A console needs the split to say what will lapse and when; the single number cannot. The subject is pinned to the caller before the handler runs, exactly as in the sibling reads, so the userId parameter can never name another tenant. A subject with no grants is an empty breakdown and a zero total, which is an answer and not an error.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_billing_credit_balance_breakdown_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_billing_credit_balance_breakdown_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""What is left of your credit, grouped by where it came from
Returns the same balance /v1/billing/credit-balance reports, split by the tag each grant carries, so a reader can tell trial credit from bought credit and show the earliest expiry within each group. A console needs the split to say what will lapse and when; the single number cannot. The subject is pinned to the caller before the handler runs, exactly as in the sibling reads, so the userId parameter can never name another tenant. A subject with no grants is an empty breakdown and a zero total, which is an answer and not an error.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_billing_credit_balance_breakdown_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_billing_credit_balance_breakdown_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""What is left of your credit, grouped by where it came from
Returns the same balance /v1/billing/credit-balance reports, split by the tag each grant carries, so a reader can tell trial credit from bought credit and show the earliest expiry within each group. A console needs the split to say what will lapse and when; the single number cannot. The subject is pinned to the caller before the handler runs, exactly as in the sibling reads, so the userId parameter can never name another tenant. A subject with no grants is an empty breakdown and a zero total, which is an answer and not an error.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_billing_credit_balance_breakdown_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_billing_credit_balance_breakdown_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/billing/credit-balance/breakdown',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_billing_credits(
self,
@@ -6066,6 +6302,242 @@ class BillingApi:
@validate_call
def get_billing_usage_rollup(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""What plan you are on and how much of it is left, beside the wallet
Answers the one read the account page renders: the subject's resolved plan, the plan's included monthly allotment beside what was actually granted this period, consumption capped at that grant, the overage past it, and the spendable wallet (balance minus holds) — all for the current UTC month, every figure derived from the same transactions the gateway's balance gate reads, so this read can never disagree with the gate that admits the next call. It rides the same pinned chain as the sibling reads: the user parameter is overwritten with the validated caller's own billing subject before the handler runs, so it can never name another tenant; user is required, which only a service-to-service caller can omit and be refused 400 for, and plan is optional — omitted, it is resolved from the subject's subscription. The rule to get right is that the two sides are DIFFERENT MONEY: the included figures are usage the subscription grants and the wallet is prepaid credit the customer bought, so a reader who sums them invents a balance nobody holds — and before the period's first allotment grant runs, monthlyCents shows the plan's entitlement while grantedCents is zero, which is the figure consumption actually draws down.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_billing_usage_rollup_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_billing_usage_rollup_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""What plan you are on and how much of it is left, beside the wallet
Answers the one read the account page renders: the subject's resolved plan, the plan's included monthly allotment beside what was actually granted this period, consumption capped at that grant, the overage past it, and the spendable wallet (balance minus holds) — all for the current UTC month, every figure derived from the same transactions the gateway's balance gate reads, so this read can never disagree with the gate that admits the next call. It rides the same pinned chain as the sibling reads: the user parameter is overwritten with the validated caller's own billing subject before the handler runs, so it can never name another tenant; user is required, which only a service-to-service caller can omit and be refused 400 for, and plan is optional — omitted, it is resolved from the subject's subscription. The rule to get right is that the two sides are DIFFERENT MONEY: the included figures are usage the subscription grants and the wallet is prepaid credit the customer bought, so a reader who sums them invents a balance nobody holds — and before the period's first allotment grant runs, monthlyCents shows the plan's entitlement while grantedCents is zero, which is the figure consumption actually draws down.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_billing_usage_rollup_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_billing_usage_rollup_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""What plan you are on and how much of it is left, beside the wallet
Answers the one read the account page renders: the subject's resolved plan, the plan's included monthly allotment beside what was actually granted this period, consumption capped at that grant, the overage past it, and the spendable wallet (balance minus holds) — all for the current UTC month, every figure derived from the same transactions the gateway's balance gate reads, so this read can never disagree with the gate that admits the next call. It rides the same pinned chain as the sibling reads: the user parameter is overwritten with the validated caller's own billing subject before the handler runs, so it can never name another tenant; user is required, which only a service-to-service caller can omit and be refused 400 for, and plan is optional — omitted, it is resolved from the subject's subscription. The rule to get right is that the two sides are DIFFERENT MONEY: the included figures are usage the subscription grants and the wallet is prepaid credit the customer bought, so a reader who sums them invents a balance nobody holds — and before the period's first allotment grant runs, monthlyCents shows the plan's entitlement while grantedCents is zero, which is the figure consumption actually draws down.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_billing_usage_rollup_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_billing_usage_rollup_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/billing/usage/rollup',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_billing_wire(
self,
+236
View File
@@ -505,3 +505,239 @@ class ChatApi:
)
@validate_call
def post_chat_public(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""Serves one completion to a caller with no account.
Serves one completion to a caller with no account.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_chat_public_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def post_chat_public_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""Serves one completion to a caller with no account.
Serves one completion to a caller with no account.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_chat_public_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def post_chat_public_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Serves one completion to a caller with no account.
Serves one completion to a caller with no account.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_chat_public_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _post_chat_public_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='POST',
resource_path='/v1/chat/public',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
+6 -6
View File
@@ -594,9 +594,9 @@ class ComplianceApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> AuditList:
"""AuditRead is the compliance-scoped read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when).
"""AuditRead is the compliance read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when).
AuditRead is the compliance-scoped read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when). The org is PINNED to the caller's validated org and the rows are narrowed to compliance.* actions. Fail-closed: no principal is a 403, no configured audit store a 501.
AuditRead is the compliance read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when). The org is PINNED to the caller's validated org and the rows are narrowed to compliance.* actions. Fail-closed: no principal is a 403, no configured audit store a 501.
:param result: Result filters rows by outcome result: success, deny, or error; empty means all.
:type result: str
@@ -661,9 +661,9 @@ class ComplianceApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[AuditList]:
"""AuditRead is the compliance-scoped read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when).
"""AuditRead is the compliance read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when).
AuditRead is the compliance-scoped read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when). The org is PINNED to the caller's validated org and the rows are narrowed to compliance.* actions. Fail-closed: no principal is a 403, no configured audit store a 501.
AuditRead is the compliance read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when). The org is PINNED to the caller's validated org and the rows are narrowed to compliance.* actions. Fail-closed: no principal is a 403, no configured audit store a 501.
:param result: Result filters rows by outcome result: success, deny, or error; empty means all.
:type result: str
@@ -728,9 +728,9 @@ class ComplianceApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""AuditRead is the compliance-scoped read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when).
"""AuditRead is the compliance read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when).
AuditRead is the compliance-scoped read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when). The org is PINNED to the caller's validated org and the rows are narrowed to compliance.* actions. Fail-closed: no principal is a 403, no configured audit store a 501.
AuditRead is the compliance read of the SHARED tamper-evident audit plane — the SOC 2 posture surface (privileged actions: who started/decided what, when). The org is PINNED to the caller's validated org and the rows are narrowed to compliance.* actions. Fail-closed: no principal is a 403, no configured audit store a 501.
:param result: Result filters rows by outcome result: success, deny, or error; empty means all.
:type result: str
File diff suppressed because it is too large Load Diff
+235
View File
@@ -7826,6 +7826,241 @@ class DefaultApi:
@validate_call
def get_well_known_openapi_json(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""The API description, at the conventional address
The same document /v1/openapi.json serves, at the address RFC 8615 reserves for discovery — one handler over one render, so the two cannot describe different APIs. It exists because a client that has never seen this API probes here first. Prefer /v1/openapi.json when you already know the API: it is canonical, and it is what the document's own self-description names.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_well_known_openapi_json_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_well_known_openapi_json_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""The API description, at the conventional address
The same document /v1/openapi.json serves, at the address RFC 8615 reserves for discovery — one handler over one render, so the two cannot describe different APIs. It exists because a client that has never seen this API probes here first. Prefer /v1/openapi.json when you already know the API: it is canonical, and it is what the document's own self-description names.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_well_known_openapi_json_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_well_known_openapi_json_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""The API description, at the conventional address
The same document /v1/openapi.json serves, at the address RFC 8615 reserves for discovery — one handler over one render, so the two cannot describe different APIs. It exists because a client that has never seen this API probes here first. Prefer /v1/openapi.json when you already know the API: it is canonical, and it is what the document's own self-description names.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_well_known_openapi_json_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_well_known_openapi_json_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# authentication setting
_auth_settings: List[str] = [
]
return self.api_client.param_serialize(
method='GET',
resource_path='/.well-known/openapi.json',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_well_known_openid_configuration(
self,
File diff suppressed because it is too large Load Diff
+16
View File
@@ -16,6 +16,7 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from pydantic import StrictStr
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
@@ -274,6 +275,7 @@ class DocumentsApi:
@validate_call
def get_documents_by_file_id_context(
self,
file_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -291,6 +293,8 @@ class DocumentsApi:
Handles GET /v1/documents/:file_id/context — every chunk of a file, as LangChain Documents (used when RAG_USE_FULL_CONTEXT is on).
:param file_id: (required)
:type file_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -314,6 +318,7 @@ class DocumentsApi:
""" # noqa: E501
_param = self._get_documents_by_file_id_context_serialize(
file_id=file_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -336,6 +341,7 @@ class DocumentsApi:
@validate_call
def get_documents_by_file_id_context_with_http_info(
self,
file_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -353,6 +359,8 @@ class DocumentsApi:
Handles GET /v1/documents/:file_id/context — every chunk of a file, as LangChain Documents (used when RAG_USE_FULL_CONTEXT is on).
:param file_id: (required)
:type file_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -376,6 +384,7 @@ class DocumentsApi:
""" # noqa: E501
_param = self._get_documents_by_file_id_context_serialize(
file_id=file_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -398,6 +407,7 @@ class DocumentsApi:
@validate_call
def get_documents_by_file_id_context_without_preload_content(
self,
file_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -415,6 +425,8 @@ class DocumentsApi:
Handles GET /v1/documents/:file_id/context — every chunk of a file, as LangChain Documents (used when RAG_USE_FULL_CONTEXT is on).
:param file_id: (required)
:type file_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -438,6 +450,7 @@ class DocumentsApi:
""" # noqa: E501
_param = self._get_documents_by_file_id_context_serialize(
file_id=file_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -455,6 +468,7 @@ class DocumentsApi:
def _get_documents_by_file_id_context_serialize(
self,
file_id,
_request_auth,
_content_type,
_headers,
@@ -476,6 +490,8 @@ class DocumentsApi:
_body_params: Optional[bytes] = None
# process the path parameters
if file_id is not None:
_path_params['file_id'] = file_id
# process the query parameters
# process the header parameters
# process the form parameters
@@ -16,13 +16,14 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from hanzoai.cloud.models.edge_state import EdgeState
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
from hanzoai.cloud.rest import RESTResponseType
class GenerateTextToSpeechAudioStreamApi:
class EdgeApi:
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech
@@ -36,7 +37,7 @@ class GenerateTextToSpeechAudioStreamApi:
@validate_call
def get_generate_text_to_speech_audio_stream(
def get_edge(
self,
_request_timeout: Union[
None,
@@ -50,10 +51,10 @@ class GenerateTextToSpeechAudioStreamApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""Convert text to speech with streaming
) -> EdgeState:
"""health reports whether a publish reaches readers, rather than whether it was accepted.
Convert text to speech with streaming
health reports whether a publish reaches readers, rather than whether it was accepted. Those are different questions and only the second one was ever visible. It asks the edge and nothing else. There is no live call to the provider here: Configured is a local fact, it is the fact that was missing, and a health check that spends a third-party API call is one an operator learns not to run.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -77,7 +78,7 @@ class GenerateTextToSpeechAudioStreamApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._get_generate_text_to_speech_audio_stream_serialize(
_param = self._get_edge_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -85,6 +86,8 @@ class GenerateTextToSpeechAudioStreamApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "EdgeState",
'503': "EdgeState",
}
response_data = self.api_client.call_api(
*_param,
@@ -98,7 +101,7 @@ class GenerateTextToSpeechAudioStreamApi:
@validate_call
def get_generate_text_to_speech_audio_stream_with_http_info(
def get_edge_with_http_info(
self,
_request_timeout: Union[
None,
@@ -112,10 +115,10 @@ class GenerateTextToSpeechAudioStreamApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""Convert text to speech with streaming
) -> ApiResponse[EdgeState]:
"""health reports whether a publish reaches readers, rather than whether it was accepted.
Convert text to speech with streaming
health reports whether a publish reaches readers, rather than whether it was accepted. Those are different questions and only the second one was ever visible. It asks the edge and nothing else. There is no live call to the provider here: Configured is a local fact, it is the fact that was missing, and a health check that spends a third-party API call is one an operator learns not to run.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -139,7 +142,7 @@ class GenerateTextToSpeechAudioStreamApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._get_generate_text_to_speech_audio_stream_serialize(
_param = self._get_edge_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -147,6 +150,8 @@ class GenerateTextToSpeechAudioStreamApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "EdgeState",
'503': "EdgeState",
}
response_data = self.api_client.call_api(
*_param,
@@ -160,7 +165,7 @@ class GenerateTextToSpeechAudioStreamApi:
@validate_call
def get_generate_text_to_speech_audio_stream_without_preload_content(
def get_edge_without_preload_content(
self,
_request_timeout: Union[
None,
@@ -175,9 +180,9 @@ class GenerateTextToSpeechAudioStreamApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Convert text to speech with streaming
"""health reports whether a publish reaches readers, rather than whether it was accepted.
Convert text to speech with streaming
health reports whether a publish reaches readers, rather than whether it was accepted. Those are different questions and only the second one was ever visible. It asks the edge and nothing else. There is no live call to the provider here: Configured is a local fact, it is the fact that was missing, and a health check that spends a third-party API call is one an operator learns not to run.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -201,7 +206,7 @@ class GenerateTextToSpeechAudioStreamApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._get_generate_text_to_speech_audio_stream_serialize(
_param = self._get_edge_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -209,6 +214,8 @@ class GenerateTextToSpeechAudioStreamApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "EdgeState",
'503': "EdgeState",
}
response_data = self.api_client.call_api(
*_param,
@@ -217,7 +224,7 @@ class GenerateTextToSpeechAudioStreamApi:
return response_data.response
def _get_generate_text_to_speech_audio_stream_serialize(
def _get_edge_serialize(
self,
_request_auth,
_content_type,
@@ -246,6 +253,13 @@ class GenerateTextToSpeechAudioStreamApi:
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
@@ -255,7 +269,7 @@ class GenerateTextToSpeechAudioStreamApi:
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/generate-text-to-speech-audio-stream',
resource_path='/v1/edge',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
+9 -9
View File
@@ -1281,7 +1281,7 @@ class EsignApi:
) -> None:
"""Open a document you were asked to sign, using your signing link
Answers the document, the recipient it identifies, the fields THAT recipient must fill, and the PDF to display. The first open also marks the recipient as having opened it and records that on the audit trail, so this read has a side effect by design. This is the signer's door and it takes NO account: the signing token is the entire credential, and it names the recipient, so a signer sees only their own fields and never the other recipients' tokens. The `:org` segment selects which tenant's store is opened, and the token is then looked up inside it — so a token presented under the wrong org simply does not resolve. An unknown or wrong-org token is a 401, never a hint that some other document exists.
Answers the document, the recipient it identifies, the fields THAT recipient must fill, and the PDF to display. The first open also marks the recipient as having opened it and records that on the audit trail, so this read has a side effect by design. This is the signer's door and it takes NO account: the signing token is the entire credential, and it names the recipient, so a signer sees only their own fields and never the other recipients' tokens. The token resolves to its owning tenant FIRST, before any per-tenant store is opened, and the `:org` segment is only checked against that answer. An unknown or wrong-org token is one and the same 404, never a hint that some other document exists.
:param org: (required)
:type org: str
@@ -1351,7 +1351,7 @@ class EsignApi:
) -> ApiResponse[None]:
"""Open a document you were asked to sign, using your signing link
Answers the document, the recipient it identifies, the fields THAT recipient must fill, and the PDF to display. The first open also marks the recipient as having opened it and records that on the audit trail, so this read has a side effect by design. This is the signer's door and it takes NO account: the signing token is the entire credential, and it names the recipient, so a signer sees only their own fields and never the other recipients' tokens. The `:org` segment selects which tenant's store is opened, and the token is then looked up inside it — so a token presented under the wrong org simply does not resolve. An unknown or wrong-org token is a 401, never a hint that some other document exists.
Answers the document, the recipient it identifies, the fields THAT recipient must fill, and the PDF to display. The first open also marks the recipient as having opened it and records that on the audit trail, so this read has a side effect by design. This is the signer's door and it takes NO account: the signing token is the entire credential, and it names the recipient, so a signer sees only their own fields and never the other recipients' tokens. The token resolves to its owning tenant FIRST, before any per-tenant store is opened, and the `:org` segment is only checked against that answer. An unknown or wrong-org token is one and the same 404, never a hint that some other document exists.
:param org: (required)
:type org: str
@@ -1421,7 +1421,7 @@ class EsignApi:
) -> RESTResponseType:
"""Open a document you were asked to sign, using your signing link
Answers the document, the recipient it identifies, the fields THAT recipient must fill, and the PDF to display. The first open also marks the recipient as having opened it and records that on the audit trail, so this read has a side effect by design. This is the signer's door and it takes NO account: the signing token is the entire credential, and it names the recipient, so a signer sees only their own fields and never the other recipients' tokens. The `:org` segment selects which tenant's store is opened, and the token is then looked up inside it — so a token presented under the wrong org simply does not resolve. An unknown or wrong-org token is a 401, never a hint that some other document exists.
Answers the document, the recipient it identifies, the fields THAT recipient must fill, and the PDF to display. The first open also marks the recipient as having opened it and records that on the audit trail, so this read has a side effect by design. This is the signer's door and it takes NO account: the signing token is the entire credential, and it names the recipient, so a signer sees only their own fields and never the other recipients' tokens. The token resolves to its owning tenant FIRST, before any per-tenant store is opened, and the `:org` segment is only checked against that answer. An unknown or wrong-org token is one and the same 404, never a hint that some other document exists.
:param org: (required)
:type org: str
@@ -2536,7 +2536,7 @@ class EsignApi:
) -> None:
"""Finish signing — and seal the document if you were the last
Marks this recipient as done and answers whether the DOCUMENT sealed with it. When every signing recipient has completed, sealing happens right here in the same call: the collected values are rendered onto the PDF, a real x509 PKCS#7 signature is applied, the sealed bytes are stored beside the untouched original, and the document moves to `COMPLETED`. Until then the answer is the recipient's own completion with the document still pending. It refuses to complete a half-filled signature: a recipient with any unfilled field is a 400 naming how many remain. A document not out for signature is a 409, as is a recipient who has already completed, and under SEQUENTIAL order a signer out of turn is a 403. The token is the whole credential — no account, and a token that does not resolve under `:org` is a 401. Sealing and completion are one transaction, so a failure anywhere leaves the document exactly as it was.
Marks this recipient as done and answers whether the DOCUMENT sealed with it. When every signing recipient has completed, sealing happens right here in the same call: the collected values are rendered onto the PDF, a real x509 PKCS#7 signature is applied, the sealed bytes are stored beside the untouched original, and the document moves to `COMPLETED`. Until then the answer is the recipient's own completion with the document still pending. It refuses to complete a half-filled signature: a recipient with any unfilled field is a 400 naming how many remain. A document not out for signature is a 409, as is a recipient who has already completed, and under SEQUENTIAL order a signer out of turn is a 403. The token is the whole credential — no account, and a token that does not resolve under `:org` is a 404. Sealing and completion are one transaction, so a failure anywhere leaves the document exactly as it was.
:param org: (required)
:type org: str
@@ -2606,7 +2606,7 @@ class EsignApi:
) -> ApiResponse[None]:
"""Finish signing — and seal the document if you were the last
Marks this recipient as done and answers whether the DOCUMENT sealed with it. When every signing recipient has completed, sealing happens right here in the same call: the collected values are rendered onto the PDF, a real x509 PKCS#7 signature is applied, the sealed bytes are stored beside the untouched original, and the document moves to `COMPLETED`. Until then the answer is the recipient's own completion with the document still pending. It refuses to complete a half-filled signature: a recipient with any unfilled field is a 400 naming how many remain. A document not out for signature is a 409, as is a recipient who has already completed, and under SEQUENTIAL order a signer out of turn is a 403. The token is the whole credential — no account, and a token that does not resolve under `:org` is a 401. Sealing and completion are one transaction, so a failure anywhere leaves the document exactly as it was.
Marks this recipient as done and answers whether the DOCUMENT sealed with it. When every signing recipient has completed, sealing happens right here in the same call: the collected values are rendered onto the PDF, a real x509 PKCS#7 signature is applied, the sealed bytes are stored beside the untouched original, and the document moves to `COMPLETED`. Until then the answer is the recipient's own completion with the document still pending. It refuses to complete a half-filled signature: a recipient with any unfilled field is a 400 naming how many remain. A document not out for signature is a 409, as is a recipient who has already completed, and under SEQUENTIAL order a signer out of turn is a 403. The token is the whole credential — no account, and a token that does not resolve under `:org` is a 404. Sealing and completion are one transaction, so a failure anywhere leaves the document exactly as it was.
:param org: (required)
:type org: str
@@ -2676,7 +2676,7 @@ class EsignApi:
) -> RESTResponseType:
"""Finish signing — and seal the document if you were the last
Marks this recipient as done and answers whether the DOCUMENT sealed with it. When every signing recipient has completed, sealing happens right here in the same call: the collected values are rendered onto the PDF, a real x509 PKCS#7 signature is applied, the sealed bytes are stored beside the untouched original, and the document moves to `COMPLETED`. Until then the answer is the recipient's own completion with the document still pending. It refuses to complete a half-filled signature: a recipient with any unfilled field is a 400 naming how many remain. A document not out for signature is a 409, as is a recipient who has already completed, and under SEQUENTIAL order a signer out of turn is a 403. The token is the whole credential — no account, and a token that does not resolve under `:org` is a 401. Sealing and completion are one transaction, so a failure anywhere leaves the document exactly as it was.
Marks this recipient as done and answers whether the DOCUMENT sealed with it. When every signing recipient has completed, sealing happens right here in the same call: the collected values are rendered onto the PDF, a real x509 PKCS#7 signature is applied, the sealed bytes are stored beside the untouched original, and the document moves to `COMPLETED`. Until then the answer is the recipient's own completion with the document still pending. It refuses to complete a half-filled signature: a recipient with any unfilled field is a 400 naming how many remain. A document not out for signature is a 409, as is a recipient who has already completed, and under SEQUENTIAL order a signer out of turn is a 403. The token is the whole credential — no account, and a token that does not resolve under `:org` is a 404. Sealing and completion are one transaction, so a failure anywhere leaves the document exactly as it was.
:param org: (required)
:type org: str
@@ -3083,7 +3083,7 @@ class EsignApi:
) -> None:
"""Decline to sign, with an optional reason
Records this recipient's refusal and moves the WHOLE DOCUMENT to `REJECTED` — one declining signer ends it for everyone, and there is no route back: the document cannot then be signed or completed. An optional `reason` is stored and written onto the audit trail with the rejection, which is what the sender sees. A document not out for signature is a 409, and so is a recipient who has already signed or already rejected — a refusal cannot be taken back or repeated. The token is the whole credential; one that does not resolve under `:org` is a 401.
Records this recipient's refusal and moves the WHOLE DOCUMENT to `REJECTED` — one declining signer ends it for everyone, and there is no route back: the document cannot then be signed or completed. An optional `reason` is stored and written onto the audit trail with the rejection, which is what the sender sees. A document not out for signature is a 409, and so is a recipient who has already signed or already rejected — a refusal cannot be taken back or repeated. The token is the whole credential; one that does not resolve under `:org` is a 404.
:param org: (required)
:type org: str
@@ -3153,7 +3153,7 @@ class EsignApi:
) -> ApiResponse[None]:
"""Decline to sign, with an optional reason
Records this recipient's refusal and moves the WHOLE DOCUMENT to `REJECTED` — one declining signer ends it for everyone, and there is no route back: the document cannot then be signed or completed. An optional `reason` is stored and written onto the audit trail with the rejection, which is what the sender sees. A document not out for signature is a 409, and so is a recipient who has already signed or already rejected — a refusal cannot be taken back or repeated. The token is the whole credential; one that does not resolve under `:org` is a 401.
Records this recipient's refusal and moves the WHOLE DOCUMENT to `REJECTED` — one declining signer ends it for everyone, and there is no route back: the document cannot then be signed or completed. An optional `reason` is stored and written onto the audit trail with the rejection, which is what the sender sees. A document not out for signature is a 409, and so is a recipient who has already signed or already rejected — a refusal cannot be taken back or repeated. The token is the whole credential; one that does not resolve under `:org` is a 404.
:param org: (required)
:type org: str
@@ -3223,7 +3223,7 @@ class EsignApi:
) -> RESTResponseType:
"""Decline to sign, with an optional reason
Records this recipient's refusal and moves the WHOLE DOCUMENT to `REJECTED` — one declining signer ends it for everyone, and there is no route back: the document cannot then be signed or completed. An optional `reason` is stored and written onto the audit trail with the rejection, which is what the sender sees. A document not out for signature is a 409, and so is a recipient who has already signed or already rejected — a refusal cannot be taken back or repeated. The token is the whole credential; one that does not resolve under `:org` is a 401.
Records this recipient's refusal and moves the WHOLE DOCUMENT to `REJECTED` — one declining signer ends it for everyone, and there is no route back: the document cannot then be signed or completed. An optional `reason` is stored and written onto the audit trail with the rejection, which is what the sender sees. A document not out for signature is a 409, and so is a recipient who has already signed or already rejected — a refusal cannot be taken back or repeated. The token is the whole credential; one that does not resolve under `:org` is a 404.
:param org: (required)
:type org: str
@@ -1,271 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import warnings
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
from hanzoai.cloud.rest import RESTResponseType
class GenerateTextToSpeechAudioApi:
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
def __init__(self, api_client=None) -> None:
if api_client is None:
api_client = ApiClient.get_default()
self.api_client = api_client
@validate_call
def post_generate_text_to_speech_audio(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""Convert text to speech
Convert text to speech
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_generate_text_to_speech_audio_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def post_generate_text_to_speech_audio_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""Convert text to speech
Convert text to speech
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_generate_text_to_speech_audio_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def post_generate_text_to_speech_audio_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Convert text to speech
Convert text to speech
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_generate_text_to_speech_audio_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _post_generate_text_to_speech_audio_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='POST',
resource_path='/v1/generate-text-to-speech-audio',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+247
View File
@@ -41,6 +41,7 @@ from hanzoai.cloud.models.github_pages_view import GithubPagesView
from hanzoai.cloud.models.github_repos_out import GithubReposOut
from hanzoai.cloud.models.github_search_out import GithubSearchOut
from hanzoai.cloud.models.github_search_req import GithubSearchReq
from hanzoai.cloud.models.gitlab_projects_out import GitlabProjectsOut
from hanzoai.cloud.models.list_out import ListOut
from hanzoai.cloud.models.provider_view import ProviderView
from hanzoai.cloud.models.verify_out import VerifyOut
@@ -2543,6 +2544,252 @@ class IntegrationsApi:
@validate_call
def get_integrations_gitlab_projects(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> GitlabProjectsOut:
"""Lists the projects the org's GitLab connection can reach — membership projects, most recently active first.
Lists the projects the org's GitLab connection can reach — membership projects, most recently active first.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_integrations_gitlab_projects_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "GitlabProjectsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_integrations_gitlab_projects_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[GitlabProjectsOut]:
"""Lists the projects the org's GitLab connection can reach — membership projects, most recently active first.
Lists the projects the org's GitLab connection can reach — membership projects, most recently active first.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_integrations_gitlab_projects_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "GitlabProjectsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_integrations_gitlab_projects_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Lists the projects the org's GitLab connection can reach — membership projects, most recently active first.
Lists the projects the org's GitLab connection can reach — membership projects, most recently active first.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_integrations_gitlab_projects_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "GitlabProjectsOut",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_integrations_gitlab_projects_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/integrations/gitlab/projects',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_integrations_slack_install(
self,
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -69837,7 +69837,7 @@ class O11yApi:
) -> None:
"""Receive a Sentry envelope on the SDK's own DSN path
Accepts an application/x-sentry-envelope frame from a Sentry SDK — the batched wire format carrying events, sessions and attachments — and ingests it against the project named in the path. THE /api/ SEGMENT IS NOT OURS TO NAME. An SDK appends its own fixed /api/<project>/envelope/ suffix to whatever DSN it is given, so this address is the SDK's, received verbatim. We receive this shape; we do not publish it. The clean spelling of the same wire is /v1/sentry/{project}/envelope/. AUTHENTICATED BY THE DSN PUBLIC KEY, never a Hanzo session, and therefore exempt from the principal gate: the ingest verifier checks the key in constant time, fails closed, and derives the org from it. A keyless submission is a 401 from that verifier — not a 403 from the gate, and not a 404 — which is how you tell the hops apart. The exemption is matched by method plus prefix plus suffix, never a bare prefix, so no read is reachable through it.
Accepts an application/x-sentry-envelope frame from a Sentry SDK — the batched wire format carrying events, sessions and attachments — and ingests it against the project named in the path. THE /api/ SEGMENT IS NOT OURS TO NAME. An SDK appends its own fixed /api/<project>/envelope/ suffix to whatever DSN it is given, so this address is the SDK's, received verbatim. We receive this shape; we do not publish it. The clean spelling of the same wire is /v1/sentinel/{project}/envelope/. AUTHENTICATED BY THE DSN PUBLIC KEY, never a Hanzo session, and therefore exempt from the principal gate: the ingest verifier checks the key in constant time, fails closed, and derives the org from it. A keyless submission is a 401 from that verifier — not a 403 from the gate, and not a 404 — which is how you tell the hops apart. The exemption is matched by method plus prefix plus suffix, never a bare prefix, so no read is reachable through it.
:param project_id: (required)
:type project_id: str
@@ -69903,7 +69903,7 @@ class O11yApi:
) -> ApiResponse[None]:
"""Receive a Sentry envelope on the SDK's own DSN path
Accepts an application/x-sentry-envelope frame from a Sentry SDK — the batched wire format carrying events, sessions and attachments — and ingests it against the project named in the path. THE /api/ SEGMENT IS NOT OURS TO NAME. An SDK appends its own fixed /api/<project>/envelope/ suffix to whatever DSN it is given, so this address is the SDK's, received verbatim. We receive this shape; we do not publish it. The clean spelling of the same wire is /v1/sentry/{project}/envelope/. AUTHENTICATED BY THE DSN PUBLIC KEY, never a Hanzo session, and therefore exempt from the principal gate: the ingest verifier checks the key in constant time, fails closed, and derives the org from it. A keyless submission is a 401 from that verifier — not a 403 from the gate, and not a 404 — which is how you tell the hops apart. The exemption is matched by method plus prefix plus suffix, never a bare prefix, so no read is reachable through it.
Accepts an application/x-sentry-envelope frame from a Sentry SDK — the batched wire format carrying events, sessions and attachments — and ingests it against the project named in the path. THE /api/ SEGMENT IS NOT OURS TO NAME. An SDK appends its own fixed /api/<project>/envelope/ suffix to whatever DSN it is given, so this address is the SDK's, received verbatim. We receive this shape; we do not publish it. The clean spelling of the same wire is /v1/sentinel/{project}/envelope/. AUTHENTICATED BY THE DSN PUBLIC KEY, never a Hanzo session, and therefore exempt from the principal gate: the ingest verifier checks the key in constant time, fails closed, and derives the org from it. A keyless submission is a 401 from that verifier — not a 403 from the gate, and not a 404 — which is how you tell the hops apart. The exemption is matched by method plus prefix plus suffix, never a bare prefix, so no read is reachable through it.
:param project_id: (required)
:type project_id: str
@@ -69969,7 +69969,7 @@ class O11yApi:
) -> RESTResponseType:
"""Receive a Sentry envelope on the SDK's own DSN path
Accepts an application/x-sentry-envelope frame from a Sentry SDK — the batched wire format carrying events, sessions and attachments — and ingests it against the project named in the path. THE /api/ SEGMENT IS NOT OURS TO NAME. An SDK appends its own fixed /api/<project>/envelope/ suffix to whatever DSN it is given, so this address is the SDK's, received verbatim. We receive this shape; we do not publish it. The clean spelling of the same wire is /v1/sentry/{project}/envelope/. AUTHENTICATED BY THE DSN PUBLIC KEY, never a Hanzo session, and therefore exempt from the principal gate: the ingest verifier checks the key in constant time, fails closed, and derives the org from it. A keyless submission is a 401 from that verifier — not a 403 from the gate, and not a 404 — which is how you tell the hops apart. The exemption is matched by method plus prefix plus suffix, never a bare prefix, so no read is reachable through it.
Accepts an application/x-sentry-envelope frame from a Sentry SDK — the batched wire format carrying events, sessions and attachments — and ingests it against the project named in the path. THE /api/ SEGMENT IS NOT OURS TO NAME. An SDK appends its own fixed /api/<project>/envelope/ suffix to whatever DSN it is given, so this address is the SDK's, received verbatim. We receive this shape; we do not publish it. The clean spelling of the same wire is /v1/sentinel/{project}/envelope/. AUTHENTICATED BY THE DSN PUBLIC KEY, never a Hanzo session, and therefore exempt from the principal gate: the ingest verifier checks the key in constant time, fails closed, and derives the org from it. A keyless submission is a 401 from that verifier — not a 403 from the gate, and not a 404 — which is how you tell the hops apart. The exemption is matched by method plus prefix plus suffix, never a bare prefix, so no read is reachable through it.
:param project_id: (required)
:type project_id: str
@@ -1,271 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import warnings
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
from hanzoai.cloud.rest import RESTResponseType
class ProcessSpeechToTextApi:
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
def __init__(self, api_client=None) -> None:
if api_client is None:
api_client = ApiClient.get_default()
self.api_client = api_client
@validate_call
def post_process_speech_to_text(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""Convert speech to text
Convert speech to text
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_process_speech_to_text_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def post_process_speech_to_text_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""Convert speech to text
Convert speech to text
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_process_speech_to_text_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def post_process_speech_to_text_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Convert speech to text
Convert speech to text
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._post_process_speech_to_text_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _post_process_speech_to_text_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='POST',
resource_path='/v1/process-speech-to-text',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
+3 -3
View File
@@ -53,7 +53,7 @@ class ResponsesApi:
) -> None:
"""Implements POST /v1/responses.
Implements POST /v1/responses. The converted request is passed to ChatCompletions and an installed ResponseWriter converts its OpenAI chat JSON or SSE back into Responses JSON/SSE on the fly.
Implements POST /v1/responses. The converted request is completed by the chat path, which is handed a sink saying where the answer goes: a stream is translated as it is produced, a whole body is translated entire.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -115,7 +115,7 @@ class ResponsesApi:
) -> ApiResponse[None]:
"""Implements POST /v1/responses.
Implements POST /v1/responses. The converted request is passed to ChatCompletions and an installed ResponseWriter converts its OpenAI chat JSON or SSE back into Responses JSON/SSE on the fly.
Implements POST /v1/responses. The converted request is completed by the chat path, which is handed a sink saying where the answer goes: a stream is translated as it is produced, a whole body is translated entire.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -177,7 +177,7 @@ class ResponsesApi:
) -> RESTResponseType:
"""Implements POST /v1/responses.
Implements POST /v1/responses. The converted request is passed to ChatCompletions and an installed ResponseWriter converts its OpenAI chat JSON or SSE back into Responses JSON/SSE on the fly.
Implements POST /v1/responses. The converted request is completed by the chat path, which is handed a sink saying where the answer goes: a stream is translated as it is produced, a whole body is translated entire.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
+4 -37
View File
@@ -16,7 +16,6 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from hanzoai.cloud.models.envelope import Envelope
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
@@ -287,7 +286,7 @@ class RouterApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> Envelope:
) -> None:
"""Data
@@ -321,9 +320,6 @@ class RouterApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Envelope",
'401': None,
'403': None,
}
response_data = self.api_client.call_api(
*_param,
@@ -351,7 +347,7 @@ class RouterApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[Envelope]:
) -> ApiResponse[None]:
"""Data
@@ -385,9 +381,6 @@ class RouterApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Envelope",
'401': None,
'403': None,
}
response_data = self.api_client.call_api(
*_param,
@@ -449,9 +442,6 @@ class RouterApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Envelope",
'401': None,
'403': None,
}
response_data = self.api_client.call_api(
*_param,
@@ -489,13 +479,6 @@ class RouterApi:
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
@@ -1716,7 +1699,7 @@ class RouterApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> Envelope:
) -> None:
"""Data
@@ -1750,9 +1733,6 @@ class RouterApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Envelope",
'401': None,
'403': None,
}
response_data = self.api_client.call_api(
*_param,
@@ -1780,7 +1760,7 @@ class RouterApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[Envelope]:
) -> ApiResponse[None]:
"""Data
@@ -1814,9 +1794,6 @@ class RouterApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Envelope",
'401': None,
'403': None,
}
response_data = self.api_client.call_api(
*_param,
@@ -1878,9 +1855,6 @@ class RouterApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Envelope",
'401': None,
'403': None,
}
response_data = self.api_client.call_api(
*_param,
@@ -1918,13 +1892,6 @@ class RouterApi:
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
+3 -514
View File
@@ -16,12 +16,8 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from pydantic import Field, StrictStr
from typing_extensions import Annotated
from hanzoai.cloud.models.release_state import ReleaseState
from hanzoai.cloud.models.runner_build_req import RunnerBuildReq
from hanzoai.cloud.models.runner_build_resp import RunnerBuildResp
from hanzoai.cloud.models.self_release_list import SelfReleaseList
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
@@ -41,513 +37,6 @@ class RunnerApi:
self.api_client = api_client
@validate_call
def get_runner_releases(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> SelfReleaseList:
"""Lists the self-publish releases this process has run.
Lists the self-publish releases this process has run. It lists the platform's own release runs with their current state, so a release that answered 202 with an id can be followed to its end. SuperAdmin only — this is the platform's own publishing record, not a tenant surface. The record lives in THIS process's memory, so it covers the releases this instance started and does not survive a restart.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_runner_releases_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "SelfReleaseList",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_runner_releases_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[SelfReleaseList]:
"""Lists the self-publish releases this process has run.
Lists the self-publish releases this process has run. It lists the platform's own release runs with their current state, so a release that answered 202 with an id can be followed to its end. SuperAdmin only — this is the platform's own publishing record, not a tenant surface. The record lives in THIS process's memory, so it covers the releases this instance started and does not survive a restart.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_runner_releases_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "SelfReleaseList",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_runner_releases_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Lists the self-publish releases this process has run.
Lists the self-publish releases this process has run. It lists the platform's own release runs with their current state, so a release that answered 202 with an id can be followed to its end. SuperAdmin only — this is the platform's own publishing record, not a tenant surface. The record lives in THIS process's memory, so it covers the releases this instance started and does not survive a restart.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_runner_releases_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "SelfReleaseList",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_runner_releases_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/runner/releases',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_runner_releases_by_id(
self,
id: Annotated[StrictStr, Field(description="ID is the build id the release trigger answered with, from the path.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ReleaseState:
"""Returns one self-publish release by the id its 202 returned.
Returns one self-publish release by the id its 202 returned. It returns the state of one release run — which is the whole reason the trigger answers with an id, because without this a release that died in the detached pipeline would look exactly like one still in flight. SuperAdmin only. A 404 means the id is unknown OR has aged out of this process's in-memory record. That is the honest answer either way: the process genuinely cannot tell the two apart.
:param id: ID is the build id the release trigger answered with, from the path. (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_runner_releases_by_id_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ReleaseState",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_runner_releases_by_id_with_http_info(
self,
id: Annotated[StrictStr, Field(description="ID is the build id the release trigger answered with, from the path.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[ReleaseState]:
"""Returns one self-publish release by the id its 202 returned.
Returns one self-publish release by the id its 202 returned. It returns the state of one release run — which is the whole reason the trigger answers with an id, because without this a release that died in the detached pipeline would look exactly like one still in flight. SuperAdmin only. A 404 means the id is unknown OR has aged out of this process's in-memory record. That is the honest answer either way: the process genuinely cannot tell the two apart.
:param id: ID is the build id the release trigger answered with, from the path. (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_runner_releases_by_id_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ReleaseState",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_runner_releases_by_id_without_preload_content(
self,
id: Annotated[StrictStr, Field(description="ID is the build id the release trigger answered with, from the path.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Returns one self-publish release by the id its 202 returned.
Returns one self-publish release by the id its 202 returned. It returns the state of one release run — which is the whole reason the trigger answers with an id, because without this a release that died in the detached pipeline would look exactly like one still in flight. SuperAdmin only. A 404 means the id is unknown OR has aged out of this process's in-memory record. That is the honest answer either way: the process genuinely cannot tell the two apart.
:param id: ID is the build id the release trigger answered with, from the path. (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_runner_releases_by_id_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ReleaseState",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_runner_releases_by_id_serialize(
self,
id,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
if id is not None:
_path_params['id'] = id
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/runner/releases/{id}',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def post_runner(
self,
@@ -567,7 +56,7 @@ class RunnerApi:
) -> RunnerBuildResp:
"""Triggers a native build — an image, or the binaries a repo declares.
Triggers a native build — an image, or the binaries a repo declares. The fabric's own build trigger, and what `hanzo build`, git-push-to-deploy and cloud's own self-release all call. It answers 202 with the build job id: a queued build, not a pushed artifact. Two lanes, and a build is exactly one of them. The IMAGE lane takes `repo` and the output `image` and launches a BuildKit Job that pushes it. The ARTIFACT lane takes `binaries` — the same recipe the repo's hanzo.yml declares — and publishes to object storage instead; it must carry no `image`, because a build produces binaries or an image, never both. `release: true` is the third mode: cloud self-publishing its own image, version computed, built, smoke-tested, tagged and announced. PRIVILEGED, with exactly two credentials and never a third: the shared build-callback token compared in constant time — the machine path, which a user never holds — or a validated IAM principal who is an ADMIN of their org, which is the `hanzo build` user path and means one IAM login authorizes a build with no separate build token. A plain member is refused. Both paths are bounded the same way: the output must push to a registry the fabric owns, and on the IAM path the image's registry namespace must MATCH the caller's own validated org — so an org admin can only publish into their own brand and can never overwrite another's through the shared push credential. The same confinement applies to the artifact lane's repo owner. `release: true` is the exception, and takes SUPERADMIN. It publishes the platform's own image — the binary the whole fleet runs — so what it lands reaches every org at the next reconcile, and no role inside the caller's own org can authorize that. An org admin is refused however the registry namespace lines up, and the build token, which carries no identity at all, may enqueue an ordinary build but never a release. The output image is parsed and validated as a single well-formed OCI ref before any authorization decision reads it, so a crafted ref cannot smuggle a build-exporter attribute past the check.
Triggers a native build — an image, or the binaries a repo declares. The fabric's own build trigger, and what `hanzo build` and git-push-to-deploy call. It answers 202 with the build job id: a queued build, not a pushed artifact. Two lanes, and a build is exactly one of them. The IMAGE lane takes `repo` and the output `image` and launches a BuildKit Job that pushes it. The ARTIFACT lane takes `binaries` — the same recipe the repo's hanzo.yml declares — and publishes to object storage instead; it must carry no `image`, because a build produces binaries or an image, never both. PRIVILEGED, with exactly two credentials and never a third: the shared build-callback token compared in constant time — the machine path, which a user never holds — or a validated IAM principal who is an ADMIN of their org, which is the `hanzo build` user path and means one IAM login authorizes a build with no separate build token. A plain member is refused. Both paths are bounded the same way: the output must push to a registry the fabric owns, and on the IAM path the image's registry namespace must MATCH the caller's own validated org — so an org admin can only publish into their own brand and can never overwrite another's through the shared push credential. The same confinement applies to the artifact lane's repo owner. The output image is parsed and validated as a single well-formed OCI ref before any authorization decision reads it, so a crafted ref cannot smuggle a build-exporter attribute past the check.
:param runner_build_req: (required)
:type runner_build_req: RunnerBuildReq
@@ -634,7 +123,7 @@ class RunnerApi:
) -> ApiResponse[RunnerBuildResp]:
"""Triggers a native build — an image, or the binaries a repo declares.
Triggers a native build — an image, or the binaries a repo declares. The fabric's own build trigger, and what `hanzo build`, git-push-to-deploy and cloud's own self-release all call. It answers 202 with the build job id: a queued build, not a pushed artifact. Two lanes, and a build is exactly one of them. The IMAGE lane takes `repo` and the output `image` and launches a BuildKit Job that pushes it. The ARTIFACT lane takes `binaries` — the same recipe the repo's hanzo.yml declares — and publishes to object storage instead; it must carry no `image`, because a build produces binaries or an image, never both. `release: true` is the third mode: cloud self-publishing its own image, version computed, built, smoke-tested, tagged and announced. PRIVILEGED, with exactly two credentials and never a third: the shared build-callback token compared in constant time — the machine path, which a user never holds — or a validated IAM principal who is an ADMIN of their org, which is the `hanzo build` user path and means one IAM login authorizes a build with no separate build token. A plain member is refused. Both paths are bounded the same way: the output must push to a registry the fabric owns, and on the IAM path the image's registry namespace must MATCH the caller's own validated org — so an org admin can only publish into their own brand and can never overwrite another's through the shared push credential. The same confinement applies to the artifact lane's repo owner. `release: true` is the exception, and takes SUPERADMIN. It publishes the platform's own image — the binary the whole fleet runs — so what it lands reaches every org at the next reconcile, and no role inside the caller's own org can authorize that. An org admin is refused however the registry namespace lines up, and the build token, which carries no identity at all, may enqueue an ordinary build but never a release. The output image is parsed and validated as a single well-formed OCI ref before any authorization decision reads it, so a crafted ref cannot smuggle a build-exporter attribute past the check.
Triggers a native build — an image, or the binaries a repo declares. The fabric's own build trigger, and what `hanzo build` and git-push-to-deploy call. It answers 202 with the build job id: a queued build, not a pushed artifact. Two lanes, and a build is exactly one of them. The IMAGE lane takes `repo` and the output `image` and launches a BuildKit Job that pushes it. The ARTIFACT lane takes `binaries` — the same recipe the repo's hanzo.yml declares — and publishes to object storage instead; it must carry no `image`, because a build produces binaries or an image, never both. PRIVILEGED, with exactly two credentials and never a third: the shared build-callback token compared in constant time — the machine path, which a user never holds — or a validated IAM principal who is an ADMIN of their org, which is the `hanzo build` user path and means one IAM login authorizes a build with no separate build token. A plain member is refused. Both paths are bounded the same way: the output must push to a registry the fabric owns, and on the IAM path the image's registry namespace must MATCH the caller's own validated org — so an org admin can only publish into their own brand and can never overwrite another's through the shared push credential. The same confinement applies to the artifact lane's repo owner. The output image is parsed and validated as a single well-formed OCI ref before any authorization decision reads it, so a crafted ref cannot smuggle a build-exporter attribute past the check.
:param runner_build_req: (required)
:type runner_build_req: RunnerBuildReq
@@ -701,7 +190,7 @@ class RunnerApi:
) -> RESTResponseType:
"""Triggers a native build — an image, or the binaries a repo declares.
Triggers a native build — an image, or the binaries a repo declares. The fabric's own build trigger, and what `hanzo build`, git-push-to-deploy and cloud's own self-release all call. It answers 202 with the build job id: a queued build, not a pushed artifact. Two lanes, and a build is exactly one of them. The IMAGE lane takes `repo` and the output `image` and launches a BuildKit Job that pushes it. The ARTIFACT lane takes `binaries` — the same recipe the repo's hanzo.yml declares — and publishes to object storage instead; it must carry no `image`, because a build produces binaries or an image, never both. `release: true` is the third mode: cloud self-publishing its own image, version computed, built, smoke-tested, tagged and announced. PRIVILEGED, with exactly two credentials and never a third: the shared build-callback token compared in constant time — the machine path, which a user never holds — or a validated IAM principal who is an ADMIN of their org, which is the `hanzo build` user path and means one IAM login authorizes a build with no separate build token. A plain member is refused. Both paths are bounded the same way: the output must push to a registry the fabric owns, and on the IAM path the image's registry namespace must MATCH the caller's own validated org — so an org admin can only publish into their own brand and can never overwrite another's through the shared push credential. The same confinement applies to the artifact lane's repo owner. `release: true` is the exception, and takes SUPERADMIN. It publishes the platform's own image — the binary the whole fleet runs — so what it lands reaches every org at the next reconcile, and no role inside the caller's own org can authorize that. An org admin is refused however the registry namespace lines up, and the build token, which carries no identity at all, may enqueue an ordinary build but never a release. The output image is parsed and validated as a single well-formed OCI ref before any authorization decision reads it, so a crafted ref cannot smuggle a build-exporter attribute past the check.
Triggers a native build — an image, or the binaries a repo declares. The fabric's own build trigger, and what `hanzo build` and git-push-to-deploy call. It answers 202 with the build job id: a queued build, not a pushed artifact. Two lanes, and a build is exactly one of them. The IMAGE lane takes `repo` and the output `image` and launches a BuildKit Job that pushes it. The ARTIFACT lane takes `binaries` — the same recipe the repo's hanzo.yml declares — and publishes to object storage instead; it must carry no `image`, because a build produces binaries or an image, never both. PRIVILEGED, with exactly two credentials and never a third: the shared build-callback token compared in constant time — the machine path, which a user never holds — or a validated IAM principal who is an ADMIN of their org, which is the `hanzo build` user path and means one IAM login authorizes a build with no separate build token. A plain member is refused. Both paths are bounded the same way: the output must push to a registry the fabric owns, and on the IAM path the image's registry namespace must MATCH the caller's own validated org — so an org admin can only publish into their own brand and can never overwrite another's through the shared push credential. The same confinement applies to the artifact lane's repo owner. The output image is parsed and validated as a single well-formed OCI ref before any authorization decision reads it, so a crafted ref cannot smuggle a build-exporter attribute past the check.
:param runner_build_req: (required)
:type runner_build_req: RunnerBuildReq
File diff suppressed because it is too large Load Diff
+36 -799
View File
@@ -17,12 +17,10 @@ from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from pydantic import Field, StrictStr
from typing import List, Optional
from typing import Optional
from typing_extensions import Annotated
from hanzoai.cloud.models.provision_request import ProvisionRequest
from hanzoai.cloud.models.provision_result import ProvisionResult
from hanzoai.cloud.models.provisioned_resource import ProvisionedResource
from hanzoai.cloud.models.provisioned_summary import ProvisionedSummary
from hanzoai.cloud.models.request import Request
from hanzoai.cloud.models.response import Response
from hanzoai.cloud.models.search_index_list import SearchIndexList
from hanzoai.cloud.models.search_stats import SearchStats
@@ -44,767 +42,6 @@ class SearchApi:
self.api_client = api_client
@validate_call
def delete_search_by_name(
self,
name: Annotated[StrictStr, Field(description="Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> None:
"""Deletes one search index from the shared backend and removes its metadata row.
Deletes one search index from the shared backend and removes its metadata row. Answers 204 with no body; a second call is a 404.
:param name: Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create. (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._delete_search_by_name_serialize(
name=name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'204': None,
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def delete_search_by_name_with_http_info(
self,
name: Annotated[StrictStr, Field(description="Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[None]:
"""Deletes one search index from the shared backend and removes its metadata row.
Deletes one search index from the shared backend and removes its metadata row. Answers 204 with no body; a second call is a 404.
:param name: Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create. (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._delete_search_by_name_serialize(
name=name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'204': None,
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def delete_search_by_name_without_preload_content(
self,
name: Annotated[StrictStr, Field(description="Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Deletes one search index from the shared backend and removes its metadata row.
Deletes one search index from the shared backend and removes its metadata row. Answers 204 with no body; a second call is a 404.
:param name: Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create. (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._delete_search_by_name_serialize(
name=name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'204': None,
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _delete_search_by_name_serialize(
self,
name,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
if name is not None:
_path_params['name'] = name
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='DELETE',
resource_path='/v1/search/{name}',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_search(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> List[ProvisionedSummary]:
"""Lists the caller org's search indexes.
Lists the caller org's search indexes. An index is a logical resource inside an already-live shared backend, so every one of them is reached through the public gateway rather than at an instance of its own.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_search_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "List[ProvisionedSummary]",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_search_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[List[ProvisionedSummary]]:
"""Lists the caller org's search indexes.
Lists the caller org's search indexes. An index is a logical resource inside an already-live shared backend, so every one of them is reached through the public gateway rather than at an instance of its own.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_search_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "List[ProvisionedSummary]",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_search_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Lists the caller org's search indexes.
Lists the caller org's search indexes. An index is a logical resource inside an already-live shared backend, so every one of them is reached through the public gateway rather than at an instance of its own.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_search_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "List[ProvisionedSummary]",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_search_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/search',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_search_by_name(
self,
name: Annotated[StrictStr, Field(description="Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ProvisionedResource:
"""Returns one search index's metadata.
Returns one search index's metadata. It carries the index's status and the gateway address it is reached at, and no username: the backend authenticates with a shared, out-of-band key rather than a per-index credential.
:param name: Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create. (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_search_by_name_serialize(
name=name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ProvisionedResource",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data
@validate_call
def get_search_by_name_with_http_info(
self,
name: Annotated[StrictStr, Field(description="Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[ProvisionedResource]:
"""Returns one search index's metadata.
Returns one search index's metadata. It carries the index's status and the gateway address it is reached at, and no username: the backend authenticates with a shared, out-of-band key rather than a per-index credential.
:param name: Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create. (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_search_by_name_serialize(
name=name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ProvisionedResource",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)
@validate_call
def get_search_by_name_without_preload_content(
self,
name: Annotated[StrictStr, Field(description="Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Returns one search index's metadata.
Returns one search index's metadata. It carries the index's status and the gateway address it is reached at, and no username: the backend authenticates with a shared, out-of-band key rather than a per-index credential.
:param name: Name is the resource's org-unique slug, from the path. Lower-cased and trimmed before lookup, exactly as it was at create. (required)
:type name: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_search_by_name_serialize(
name=name,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "ProvisionedResource",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_search_by_name_serialize(
self,
name,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
] = {}
_body_params: Optional[bytes] = None
# process the path parameters
if name is not None:
_path_params['name'] = name
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
if 'Accept' not in _header_params:
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/json'
]
)
# authentication setting
_auth_settings: List[str] = [
'bearer'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/v1/search/{name}',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call
def get_search_indexes(
self,
@@ -1328,9 +565,9 @@ class SearchApi:
@validate_call
def post_search(
def search(
self,
provision_request: Optional[ProvisionRequest] = None,
request: Request,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1343,13 +580,13 @@ class SearchApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ProvisionResult:
"""Provision a search index for your org
) -> Response:
"""Hybrid search over the org's own corpora
Creates a search index inside the already-running shared search backend and answers with the endpoint that reaches it. `name` is the org-unique slug every physical name derives from, and must match ^[a-z0-9]([a-z0-9-]{0,38}[a-z0-9])?$. `instance` optionally BINDS the add-on to one of your app instances: the DSN is injected into that instance's addons secret as <KIND>_URL, switching the app off its built-in store and onto this one. Omit it and the connection string is yours to wire. THE CREDENTIAL COMES BACK ONCE. The connection string and password are in this response and nowhere else — every read beside it omits the password — so a caller that does not keep them has to provision again. Where KMS is configured the password is sealed there and only a reference is persisted; where it is not, it is returned this once and stored nowhere. It is never held in plaintext. Scoped to the caller's validated org (403 without one), which also namespaces the physical resource under a fixed-width hash, so two tenants can never fold onto one backend resource — a residual collision fails closed with 409 rather than silently sharing. A name already taken in your org is 409; an invalid name or instance slug is 400; a backend that refuses the create is 502. Where a later step fails after the backend resource already exists, it is torn back down rather than left orphaned. Billing is gated BEFORE anything is created: an unfunded org — or, in the fail-closed default, an unreachable meter — gets the fleet-wide 402/503 and nothing is provisioned. The fee is per-kind and set by the deployment.
Is the typed op behind POST /v1/search. It does exactly two things the in-process entry point must not do: resolve the tenant from the validated principal, and refuse when there is none. Everything else is ForOrg.
:param provision_request:
:type provision_request: ProvisionRequest
:param request: (required)
:type request: Request
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1372,8 +609,8 @@ class SearchApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._post_search_serialize(
provision_request=provision_request,
_param = self._search_serialize(
request=request,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -1381,7 +618,7 @@ class SearchApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'2XX': "ProvisionResult",
'200': "Response",
}
response_data = self.api_client.call_api(
*_param,
@@ -1395,9 +632,9 @@ class SearchApi:
@validate_call
def post_search_with_http_info(
def search_with_http_info(
self,
provision_request: Optional[ProvisionRequest] = None,
request: Request,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1410,13 +647,13 @@ class SearchApi:
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[ProvisionResult]:
"""Provision a search index for your org
) -> ApiResponse[Response]:
"""Hybrid search over the org's own corpora
Creates a search index inside the already-running shared search backend and answers with the endpoint that reaches it. `name` is the org-unique slug every physical name derives from, and must match ^[a-z0-9]([a-z0-9-]{0,38}[a-z0-9])?$. `instance` optionally BINDS the add-on to one of your app instances: the DSN is injected into that instance's addons secret as <KIND>_URL, switching the app off its built-in store and onto this one. Omit it and the connection string is yours to wire. THE CREDENTIAL COMES BACK ONCE. The connection string and password are in this response and nowhere else — every read beside it omits the password — so a caller that does not keep them has to provision again. Where KMS is configured the password is sealed there and only a reference is persisted; where it is not, it is returned this once and stored nowhere. It is never held in plaintext. Scoped to the caller's validated org (403 without one), which also namespaces the physical resource under a fixed-width hash, so two tenants can never fold onto one backend resource — a residual collision fails closed with 409 rather than silently sharing. A name already taken in your org is 409; an invalid name or instance slug is 400; a backend that refuses the create is 502. Where a later step fails after the backend resource already exists, it is torn back down rather than left orphaned. Billing is gated BEFORE anything is created: an unfunded org — or, in the fail-closed default, an unreachable meter — gets the fleet-wide 402/503 and nothing is provisioned. The fee is per-kind and set by the deployment.
Is the typed op behind POST /v1/search. It does exactly two things the in-process entry point must not do: resolve the tenant from the validated principal, and refuse when there is none. Everything else is ForOrg.
:param provision_request:
:type provision_request: ProvisionRequest
:param request: (required)
:type request: Request
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1439,8 +676,8 @@ class SearchApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._post_search_serialize(
provision_request=provision_request,
_param = self._search_serialize(
request=request,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -1448,7 +685,7 @@ class SearchApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'2XX': "ProvisionResult",
'200': "Response",
}
response_data = self.api_client.call_api(
*_param,
@@ -1462,9 +699,9 @@ class SearchApi:
@validate_call
def post_search_without_preload_content(
def search_without_preload_content(
self,
provision_request: Optional[ProvisionRequest] = None,
request: Request,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1478,12 +715,12 @@ class SearchApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Provision a search index for your org
"""Hybrid search over the org's own corpora
Creates a search index inside the already-running shared search backend and answers with the endpoint that reaches it. `name` is the org-unique slug every physical name derives from, and must match ^[a-z0-9]([a-z0-9-]{0,38}[a-z0-9])?$. `instance` optionally BINDS the add-on to one of your app instances: the DSN is injected into that instance's addons secret as <KIND>_URL, switching the app off its built-in store and onto this one. Omit it and the connection string is yours to wire. THE CREDENTIAL COMES BACK ONCE. The connection string and password are in this response and nowhere else — every read beside it omits the password — so a caller that does not keep them has to provision again. Where KMS is configured the password is sealed there and only a reference is persisted; where it is not, it is returned this once and stored nowhere. It is never held in plaintext. Scoped to the caller's validated org (403 without one), which also namespaces the physical resource under a fixed-width hash, so two tenants can never fold onto one backend resource — a residual collision fails closed with 409 rather than silently sharing. A name already taken in your org is 409; an invalid name or instance slug is 400; a backend that refuses the create is 502. Where a later step fails after the backend resource already exists, it is torn back down rather than left orphaned. Billing is gated BEFORE anything is created: an unfunded org — or, in the fail-closed default, an unreachable meter — gets the fleet-wide 402/503 and nothing is provisioned. The fee is per-kind and set by the deployment.
Is the typed op behind POST /v1/search. It does exactly two things the in-process entry point must not do: resolve the tenant from the validated principal, and refuse when there is none. Everything else is ForOrg.
:param provision_request:
:type provision_request: ProvisionRequest
:param request: (required)
:type request: Request
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1506,8 +743,8 @@ class SearchApi:
:return: Returns the result object.
""" # noqa: E501
_param = self._post_search_serialize(
provision_request=provision_request,
_param = self._search_serialize(
request=request,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -1515,7 +752,7 @@ class SearchApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'2XX': "ProvisionResult",
'200': "Response",
}
response_data = self.api_client.call_api(
*_param,
@@ -1524,9 +761,9 @@ class SearchApi:
return response_data.response
def _post_search_serialize(
def _search_serialize(
self,
provision_request,
request,
_request_auth,
_content_type,
_headers,
@@ -1552,8 +789,8 @@ class SearchApi:
# process the header parameters
# process the form parameters
# process the body parameter
if provision_request is not None:
_body_params = provision_request
if request is not None:
_body_params = request
# set the HTTP header `Accept`
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+31
View File
@@ -16,6 +16,7 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from pydantic import StrictStr
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
@@ -38,6 +39,7 @@ class VideosApi:
@validate_call
def get_videos_by_id(
self,
id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -55,6 +57,8 @@ class VideosApi:
Implements GET /v1/videos/{id} — poll a job's status. It authenticates the caller, verifies they OWN the job (the caller's billing subject must equal the job's), performs ONE upstream status poll, and — the first time the job is observed completed — settles the reservation with the actual cost and records the billable usage event (exactly once). Returns the OpenAI-shaped video object.
:param id: (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -78,6 +82,7 @@ class VideosApi:
""" # noqa: E501
_param = self._get_videos_by_id_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -100,6 +105,7 @@ class VideosApi:
@validate_call
def get_videos_by_id_with_http_info(
self,
id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -117,6 +123,8 @@ class VideosApi:
Implements GET /v1/videos/{id} — poll a job's status. It authenticates the caller, verifies they OWN the job (the caller's billing subject must equal the job's), performs ONE upstream status poll, and — the first time the job is observed completed — settles the reservation with the actual cost and records the billable usage event (exactly once). Returns the OpenAI-shaped video object.
:param id: (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -140,6 +148,7 @@ class VideosApi:
""" # noqa: E501
_param = self._get_videos_by_id_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -162,6 +171,7 @@ class VideosApi:
@validate_call
def get_videos_by_id_without_preload_content(
self,
id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -179,6 +189,8 @@ class VideosApi:
Implements GET /v1/videos/{id} — poll a job's status. It authenticates the caller, verifies they OWN the job (the caller's billing subject must equal the job's), performs ONE upstream status poll, and — the first time the job is observed completed — settles the reservation with the actual cost and records the billable usage event (exactly once). Returns the OpenAI-shaped video object.
:param id: (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -202,6 +214,7 @@ class VideosApi:
""" # noqa: E501
_param = self._get_videos_by_id_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -219,6 +232,7 @@ class VideosApi:
def _get_videos_by_id_serialize(
self,
id,
_request_auth,
_content_type,
_headers,
@@ -240,6 +254,8 @@ class VideosApi:
_body_params: Optional[bytes] = None
# process the path parameters
if id is not None:
_path_params['id'] = id
# process the query parameters
# process the header parameters
# process the form parameters
@@ -274,6 +290,7 @@ class VideosApi:
@validate_call
def get_videos_by_id_content(
self,
id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -291,6 +308,8 @@ class VideosApi:
Implements GET /v1/videos/{id}/content — download the finished MP4. It authenticates + ownership-checks the caller, then proxies the upstream /content endpoint (bounded by the download concurrency ceiling) and streams the raw video bytes back inline. A successful download also bills the job once (for the client that downloads without first polling to completion) — idempotent with the poll path via job.markCompleted.
:param id: (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -314,6 +333,7 @@ class VideosApi:
""" # noqa: E501
_param = self._get_videos_by_id_content_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -336,6 +356,7 @@ class VideosApi:
@validate_call
def get_videos_by_id_content_with_http_info(
self,
id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -353,6 +374,8 @@ class VideosApi:
Implements GET /v1/videos/{id}/content — download the finished MP4. It authenticates + ownership-checks the caller, then proxies the upstream /content endpoint (bounded by the download concurrency ceiling) and streams the raw video bytes back inline. A successful download also bills the job once (for the client that downloads without first polling to completion) — idempotent with the poll path via job.markCompleted.
:param id: (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -376,6 +399,7 @@ class VideosApi:
""" # noqa: E501
_param = self._get_videos_by_id_content_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -398,6 +422,7 @@ class VideosApi:
@validate_call
def get_videos_by_id_content_without_preload_content(
self,
id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -415,6 +440,8 @@ class VideosApi:
Implements GET /v1/videos/{id}/content — download the finished MP4. It authenticates + ownership-checks the caller, then proxies the upstream /content endpoint (bounded by the download concurrency ceiling) and streams the raw video bytes back inline. A successful download also bills the job once (for the client that downloads without first polling to completion) — idempotent with the poll path via job.markCompleted.
:param id: (required)
:type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -438,6 +465,7 @@ class VideosApi:
""" # noqa: E501
_param = self._get_videos_by_id_content_serialize(
id=id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -455,6 +483,7 @@ class VideosApi:
def _get_videos_by_id_content_serialize(
self,
id,
_request_auth,
_content_type,
_headers,
@@ -476,6 +505,8 @@ class VideosApi:
_body_params: Optional[bytes] = None
# process the path parameters
if id is not None:
_path_params['id'] = id
# process the query parameters
# process the header parameters
# process the form parameters
File diff suppressed because it is too large Load Diff
+31
View File
@@ -16,6 +16,7 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from pydantic import StrictStr
from hanzoai.cloud.api_client import ApiClient, RequestSerialized
from hanzoai.cloud.api_response import ApiResponse
@@ -38,6 +39,7 @@ class WecomBotApi:
@validate_call
def get_wecom_bot_callback_by_botid(
self,
bot_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -55,6 +57,8 @@ class WecomBotApi:
Verify WeChat work bot callback URL
:param bot_id: (required)
:type bot_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -78,6 +82,7 @@ class WecomBotApi:
""" # noqa: E501
_param = self._get_wecom_bot_callback_by_botid_serialize(
bot_id=bot_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -100,6 +105,7 @@ class WecomBotApi:
@validate_call
def get_wecom_bot_callback_by_botid_with_http_info(
self,
bot_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -117,6 +123,8 @@ class WecomBotApi:
Verify WeChat work bot callback URL
:param bot_id: (required)
:type bot_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -140,6 +148,7 @@ class WecomBotApi:
""" # noqa: E501
_param = self._get_wecom_bot_callback_by_botid_serialize(
bot_id=bot_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -162,6 +171,7 @@ class WecomBotApi:
@validate_call
def get_wecom_bot_callback_by_botid_without_preload_content(
self,
bot_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -179,6 +189,8 @@ class WecomBotApi:
Verify WeChat work bot callback URL
:param bot_id: (required)
:type bot_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -202,6 +214,7 @@ class WecomBotApi:
""" # noqa: E501
_param = self._get_wecom_bot_callback_by_botid_serialize(
bot_id=bot_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -219,6 +232,7 @@ class WecomBotApi:
def _get_wecom_bot_callback_by_botid_serialize(
self,
bot_id,
_request_auth,
_content_type,
_headers,
@@ -240,6 +254,8 @@ class WecomBotApi:
_body_params: Optional[bytes] = None
# process the path parameters
if bot_id is not None:
_path_params['botId'] = bot_id
# process the query parameters
# process the header parameters
# process the form parameters
@@ -274,6 +290,7 @@ class WecomBotApi:
@validate_call
def post_wecom_bot_callback_by_botid(
self,
bot_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -291,6 +308,8 @@ class WecomBotApi:
Process WeChat work bot messages
:param bot_id: (required)
:type bot_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -314,6 +333,7 @@ class WecomBotApi:
""" # noqa: E501
_param = self._post_wecom_bot_callback_by_botid_serialize(
bot_id=bot_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -336,6 +356,7 @@ class WecomBotApi:
@validate_call
def post_wecom_bot_callback_by_botid_with_http_info(
self,
bot_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -353,6 +374,8 @@ class WecomBotApi:
Process WeChat work bot messages
:param bot_id: (required)
:type bot_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -376,6 +399,7 @@ class WecomBotApi:
""" # noqa: E501
_param = self._post_wecom_bot_callback_by_botid_serialize(
bot_id=bot_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -398,6 +422,7 @@ class WecomBotApi:
@validate_call
def post_wecom_bot_callback_by_botid_without_preload_content(
self,
bot_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -415,6 +440,8 @@ class WecomBotApi:
Process WeChat work bot messages
:param bot_id: (required)
:type bot_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -438,6 +465,7 @@ class WecomBotApi:
""" # noqa: E501
_param = self._post_wecom_bot_callback_by_botid_serialize(
bot_id=bot_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -455,6 +483,7 @@ class WecomBotApi:
def _post_wecom_bot_callback_by_botid_serialize(
self,
bot_id,
_request_auth,
_content_type,
_headers,
@@ -476,6 +505,8 @@ class WecomBotApi:
_body_params: Optional[bytes] = None
# process the path parameters
if bot_id is not None:
_path_params['botId'] = bot_id
# process the query parameters
# process the header parameters
# process the form parameters
+21 -103
View File
@@ -35,7 +35,6 @@ from hanzoai.cloud.models.action_record import ActionRecord
from hanzoai.cloud.models.actions_view import ActionsView
from hanzoai.cloud.models.activation_req import ActivationReq
from hanzoai.cloud.models.activation_set import ActivationSet
from hanzoai.cloud.models.activity import Activity
from hanzoai.cloud.models.activity_feed import ActivityFeed
from hanzoai.cloud.models.activity_out import ActivityOut
from hanzoai.cloud.models.activity_point import ActivityPoint
@@ -71,7 +70,6 @@ from hanzoai.cloud.models.affiliate_standing import AffiliateStanding
from hanzoai.cloud.models.agent_binding import AgentBinding
from hanzoai.cloud.models.agent_detail import AgentDetail
from hanzoai.cloud.models.agent_list import AgentList
from hanzoai.cloud.models.agent_mcp_tools import AgentMcpTools
from hanzoai.cloud.models.agent_run_view import AgentRunView
from hanzoai.cloud.models.agent_view import AgentView
from hanzoai.cloud.models.ai_mcp_app import AiMCPApp
@@ -87,6 +85,7 @@ from hanzoai.cloud.models.aim_score_point import AimScorePoint
from hanzoai.cloud.models.aim_score_stat import AimScoreStat
from hanzoai.cloud.models.aim_usage import AimUsage
from hanzoai.cloud.models.aimetrics_out import AimetricsOut
from hanzoai.cloud.models.allowance import Allowance
from hanzoai.cloud.models.allowlist_put_in import AllowlistPutIn
from hanzoai.cloud.models.allowlist_view import AllowlistView
from hanzoai.cloud.models.analysis import Analysis
@@ -104,10 +103,7 @@ from hanzoai.cloud.models.api_key_list import ApiKeyList
from hanzoai.cloud.models.app_view import AppView
from hanzoai.cloud.models.appearance import Appearance
from hanzoai.cloud.models.application import Application
from hanzoai.cloud.models.application_config_option import ApplicationConfigOption
from hanzoai.cloud.models.application_event import ApplicationEvent
from hanzoai.cloud.models.application_list import ApplicationList
from hanzoai.cloud.models.application_view import ApplicationView
from hanzoai.cloud.models.apply_request import ApplyRequest
from hanzoai.cloud.models.approval import Approval
from hanzoai.cloud.models.approve_pairing_in import ApprovePairingIn
@@ -139,14 +135,12 @@ from hanzoai.cloud.models.argo_sync_status import ArgoSyncStatus
from hanzoai.cloud.models.argo_sync_windows import ArgoSyncWindows
from hanzoai.cloud.models.argo_tree import ArgoTree
from hanzoai.cloud.models.arm import Arm
from hanzoai.cloud.models.article import Article
from hanzoai.cloud.models.artifact_out import ArtifactOut
from hanzoai.cloud.models.artifacts_out import ArtifactsOut
from hanzoai.cloud.models.ask_answer import AskAnswer
from hanzoai.cloud.models.ask_post_in import AskPostIn
from hanzoai.cloud.models.ask_request import AskRequest
from hanzoai.cloud.models.ask_response import AskResponse
from hanzoai.cloud.models.asset import Asset
from hanzoai.cloud.models.assignment import Assignment
from hanzoai.cloud.models.attempt import Attempt
from hanzoai.cloud.models.attribute_request import AttributeRequest
@@ -154,7 +148,6 @@ from hanzoai.cloud.models.attribution import Attribution
from hanzoai.cloud.models.audience import Audience
from hanzoai.cloud.models.audience_list import AudienceList
from hanzoai.cloud.models.audience_preview import AudiencePreview
from hanzoai.cloud.models.audit import Audit
from hanzoai.cloud.models.audit_list import AuditList
from hanzoai.cloud.models.author_data import AuthorData
from hanzoai.cloud.models.author_program_summary import AuthorProgramSummary
@@ -170,6 +163,7 @@ from hanzoai.cloud.models.auto_start import AutoStart
from hanzoai.cloud.models.auto_status import AutoStatus
from hanzoai.cloud.models.auto_update import AutoUpdate
from hanzoai.cloud.models.backend import Backend
from hanzoai.cloud.models.backend_status import BackendStatus
from hanzoai.cloud.models.backfill_in import BackfillIn
from hanzoai.cloud.models.backfill_out import BackfillOut
from hanzoai.cloud.models.backfill_query import BackfillQuery
@@ -193,7 +187,6 @@ from hanzoai.cloud.models.bind_agent_req import BindAgentReq
from hanzoai.cloud.models.binding_list import BindingList
from hanzoai.cloud.models.blob import Blob
from hanzoai.cloud.models.blob_json import BlobJSON
from hanzoai.cloud.models.block import Block
from hanzoai.cloud.models.blog import Blog
from hanzoai.cloud.models.blueprint import Blueprint
from hanzoai.cloud.models.blueprint_counts import BlueprintCounts
@@ -316,7 +309,6 @@ from hanzoai.cloud.models.channel_metric import ChannelMetric
from hanzoai.cloud.models.channel_result import ChannelResult
from hanzoai.cloud.models.channel_spec import ChannelSpec
from hanzoai.cloud.models.channel_view import ChannelView
from hanzoai.cloud.models.chat import Chat
from hanzoai.cloud.models.chat_channels import ChatChannels
from hanzoai.cloud.models.chat_request import ChatRequest
from hanzoai.cloud.models.chat_response import ChatResponse
@@ -326,7 +318,9 @@ from hanzoai.cloud.models.citation import Citation
from hanzoai.cloud.models.claim import Claim
from hanzoai.cloud.models.claim_key_out import ClaimKeyOut
from hanzoai.cloud.models.claim_request import ClaimRequest
from hanzoai.cloud.models.claim_row import ClaimRow
from hanzoai.cloud.models.claim_view import ClaimView
from hanzoai.cloud.models.claims_out import ClaimsOut
from hanzoai.cloud.models.clear_reference_out import ClearReferenceOut
from hanzoai.cloud.models.click_count import ClickCount
from hanzoai.cloud.models.click_request import ClickRequest
@@ -364,7 +358,6 @@ from hanzoai.cloud.models.conn_view import ConnView
from hanzoai.cloud.models.connect_in import ConnectIn
from hanzoai.cloud.models.connect_out import ConnectOut
from hanzoai.cloud.models.connect_request import ConnectRequest
from hanzoai.cloud.models.connection import Connection
from hanzoai.cloud.models.connection_out import ConnectionOut
from hanzoai.cloud.models.connection_view import ConnectionView
from hanzoai.cloud.models.connector_action import ConnectorAction
@@ -388,7 +381,6 @@ from hanzoai.cloud.models.contact import Contact
from hanzoai.cloud.models.contact_list import ContactList
from hanzoai.cloud.models.contact_req import ContactReq
from hanzoai.cloud.models.contacts import Contacts
from hanzoai.cloud.models.container_detail import ContainerDetail
from hanzoai.cloud.models.context_bundle import ContextBundle
from hanzoai.cloud.models.context_in import ContextIn
from hanzoai.cloud.models.control_command_view import ControlCommandView
@@ -409,11 +401,9 @@ from hanzoai.cloud.models.create_cluster_req import CreateClusterReq
from hanzoai.cloud.models.create_cluster_req_node_pool import CreateClusterReqNodePool
from hanzoai.cloud.models.create_endpoint_in import CreateEndpointIn
from hanzoai.cloud.models.create_flow_req import CreateFlowReq
from hanzoai.cloud.models.create_lb_req import CreateLBReq
from hanzoai.cloud.models.create_link_request import CreateLinkRequest
from hanzoai.cloud.models.create_req import CreateReq
from hanzoai.cloud.models.create_server_req import CreateServerReq
from hanzoai.cloud.models.create_vpc_req import CreateVPCReq
from hanzoai.cloud.models.create_version_in import CreateVersionIn
from hanzoai.cloud.models.create_wallet_in import CreateWalletIn
from hanzoai.cloud.models.credential_in import CredentialIn
@@ -471,7 +461,6 @@ from hanzoai.cloud.models.deploy_logs import DeployLogs
from hanzoai.cloud.models.deploy_record import DeployRecord
from hanzoai.cloud.models.deploy_req import DeployReq
from hanzoai.cloud.models.deploy_request import DeployRequest
from hanzoai.cloud.models.deployment_detail import DeploymentDetail
from hanzoai.cloud.models.deployment_view import DeploymentView
from hanzoai.cloud.models.destination_disconnected import DestinationDisconnected
from hanzoai.cloud.models.destination_field import DestinationField
@@ -507,6 +496,7 @@ from hanzoai.cloud.models.drift_flag import DriftFlag
from hanzoai.cloud.models.drift_tally import DriftTally
from hanzoai.cloud.models.droplet_in import DropletIn
from hanzoai.cloud.models.durable import Durable
from hanzoai.cloud.models.edge_state import EdgeState
from hanzoai.cloud.models.embed_status_resp import EmbedStatusResp
from hanzoai.cloud.models.enable_resp import EnableResp
from hanzoai.cloud.models.enablement_board import EnablementBoard
@@ -527,8 +517,6 @@ from hanzoai.cloud.models.enrolment import Enrolment
from hanzoai.cloud.models.entitlements_view import EntitlementsView
from hanzoai.cloud.models.entry import Entry
from hanzoai.cloud.models.env_var_json import EnvVarJSON
from hanzoai.cloud.models.env_variable import EnvVariable
from hanzoai.cloud.models.envelope import Envelope
from hanzoai.cloud.models.environment_board import EnvironmentBoard
from hanzoai.cloud.models.environment_row import EnvironmentRow
from hanzoai.cloud.models.error_list import ErrorList
@@ -541,7 +529,6 @@ from hanzoai.cloud.models.evaluator_view import EvaluatorView
from hanzoai.cloud.models.event import Event
from hanzoai.cloud.models.event_list import EventList
from hanzoai.cloud.models.event_view import EventView
from hanzoai.cloud.models.example_question import ExampleQuestion
from hanzoai.cloud.models.exception import Exception
from hanzoai.cloud.models.experiment import Experiment
from hanzoai.cloud.models.experiment_list import ExperimentList
@@ -549,7 +536,6 @@ from hanzoai.cloud.models.experiments_out import ExperimentsOut
from hanzoai.cloud.models.extracted import Extracted
from hanzoai.cloud.models.fetch_query import FetchQuery
from hanzoai.cloud.models.figure import Figure
from hanzoai.cloud.models.file import File
from hanzoai.cloud.models.file_content import FileContent
from hanzoai.cloud.models.file_input import FileInput
from hanzoai.cloud.models.file_json import FileJSON
@@ -590,8 +576,6 @@ from hanzoai.cloud.models.flow_trigger import FlowTrigger
from hanzoai.cloud.models.flow_update import FlowUpdate
from hanzoai.cloud.models.flow_version import FlowVersion
from hanzoai.cloud.models.fn_list import FnList
from hanzoai.cloud.models.form import Form
from hanzoai.cloud.models.form_item import FormItem
from hanzoai.cloud.models.formation import Formation
from hanzoai.cloud.models.formation_view import FormationView
from hanzoai.cloud.models.founder import Founder
@@ -600,7 +584,6 @@ from hanzoai.cloud.models.frame import Frame
from hanzoai.cloud.models.function_detail import FunctionDetail
from hanzoai.cloud.models.function_view import FunctionView
from hanzoai.cloud.models.funnel import Funnel
from hanzoai.cloud.models.fwd_rule import FwdRule
from hanzoai.cloud.models.gl_row import GLRow
from hanzoai.cloud.models.gpu import GPU
from hanzoai.cloud.models.gc_out import GcOut
@@ -608,30 +591,6 @@ from hanzoai.cloud.models.generate_input import GenerateInput
from hanzoai.cloud.models.generate_request import GenerateRequest
from hanzoai.cloud.models.generate_result import GenerateResult
from hanzoai.cloud.models.genesis import Genesis
from hanzoai.cloud.models.get_ai_activities200_response import GetAiActivities200Response
from hanzoai.cloud.models.get_ai_articles200_response import GetAiArticles200Response
from hanzoai.cloud.models.get_ai_assets200_response import GetAiAssets200Response
from hanzoai.cloud.models.get_ai_chats200_response import GetAiChats200Response
from hanzoai.cloud.models.get_ai_deployments200_response import GetAiDeployments200Response
from hanzoai.cloud.models.get_ai_files200_response import GetAiFiles200Response
from hanzoai.cloud.models.get_ai_forms200_response import GetAiForms200Response
from hanzoai.cloud.models.get_ai_graphs200_response import GetAiGraphs200Response
from hanzoai.cloud.models.get_ai_messages200_response import GetAiMessages200Response
from hanzoai.cloud.models.get_ai_nodes200_response import GetAiNodes200Response
from hanzoai.cloud.models.get_ai_providers200_response import GetAiProviders200Response
from hanzoai.cloud.models.get_ai_records200_response import GetAiRecords200Response
from hanzoai.cloud.models.get_ai_remote_connections200_response import GetAiRemoteConnections200Response
from hanzoai.cloud.models.get_ai_routes200_response import GetAiRoutes200Response
from hanzoai.cloud.models.get_ai_scales200_response import GetAiScales200Response
from hanzoai.cloud.models.get_ai_scans200_response import GetAiScans200Response
from hanzoai.cloud.models.get_ai_signin_sessions200_response import GetAiSigninSessions200Response
from hanzoai.cloud.models.get_ai_stores200_response import GetAiStores200Response
from hanzoai.cloud.models.get_ai_tasks200_response import GetAiTasks200Response
from hanzoai.cloud.models.get_ai_templates200_response import GetAiTemplates200Response
from hanzoai.cloud.models.get_ai_usages200_response import GetAiUsages200Response
from hanzoai.cloud.models.get_ai_vectors200_response import GetAiVectors200Response
from hanzoai.cloud.models.get_ai_videos200_response import GetAiVideos200Response
from hanzoai.cloud.models.get_ai_workflows200_response import GetAiWorkflows200Response
from hanzoai.cloud.models.git_ops_app import GitOpsApp
from hanzoai.cloud.models.git_ops_deploy import GitOpsDeploy
from hanzoai.cloud.models.git_ops_operation import GitOpsOperation
@@ -660,6 +619,8 @@ from hanzoai.cloud.models.github_repos_out import GithubReposOut
from hanzoai.cloud.models.github_search_hit import GithubSearchHit
from hanzoai.cloud.models.github_search_out import GithubSearchOut
from hanzoai.cloud.models.github_search_req import GithubSearchReq
from hanzoai.cloud.models.gitlab_project_view import GitlabProjectView
from hanzoai.cloud.models.gitlab_projects_out import GitlabProjectsOut
from hanzoai.cloud.models.gpu_alert_list import GpuAlertList
from hanzoai.cloud.models.gpu_job import GpuJob
from hanzoai.cloud.models.gpu_list import GpuList
@@ -670,7 +631,6 @@ from hanzoai.cloud.models.grant_request import GrantRequest
from hanzoai.cloud.models.grant_result import GrantResult
from hanzoai.cloud.models.grant_row import GrantRow
from hanzoai.cloud.models.grants_out import GrantsOut
from hanzoai.cloud.models.graph import Graph
from hanzoai.cloud.models.graph_edge import GraphEdge
from hanzoai.cloud.models.graph_node import GraphNode
from hanzoai.cloud.models.graph_out import GraphOut
@@ -690,16 +650,19 @@ from hanzoai.cloud.models.help_category import HelpCategory
from hanzoai.cloud.models.help_category_list import HelpCategoryList
from hanzoai.cloud.models.help_ticket_filed import HelpTicketFiled
from hanzoai.cloud.models.help_ticket_intake import HelpTicketIntake
from hanzoai.cloud.models.history_out import HistoryOut
from hanzoai.cloud.models.hit import Hit
from hanzoai.cloud.models.holding import Holding
from hanzoai.cloud.models.holdings import Holdings
from hanzoai.cloud.models.host import Host
from hanzoai.cloud.models.iam_account_body import IamAccountBody
from hanzoai.cloud.models.iam_account_item import IamAccountItem
from hanzoai.cloud.models.iam_address import IamAddress
from hanzoai.cloud.models.iam_answer import IamAnswer
from hanzoai.cloud.models.iam_application import IamApplication
from hanzoai.cloud.models.iam_application_list_result import IamApplicationListResult
from hanzoai.cloud.models.iam_application_ref import IamApplicationRef
from hanzoai.cloud.models.iam_assume_body import IamAssumeBody
from hanzoai.cloud.models.iam_audit_log import IamAuditLog
from hanzoai.cloud.models.iam_auditlogs_input import IamAuditlogsInput
from hanzoai.cloud.models.iam_bulk import IamBulk
@@ -772,8 +735,10 @@ from hanzoai.cloud.models.iam_saml_item import IamSamlItem
from hanzoai.cloud.models.iam_scheme import IamScheme
from hanzoai.cloud.models.iam_scope_description import IamScopeDescription
from hanzoai.cloud.models.iam_scope_item import IamScopeItem
from hanzoai.cloud.models.iam_search_organizations_output import IamSearchOrganizationsOutput
from hanzoai.cloud.models.iam_session import IamSession
from hanzoai.cloud.models.iam_session_ref import IamSessionRef
from hanzoai.cloud.models.iam_set_avatar_input import IamSetAvatarInput
from hanzoai.cloud.models.iam_signin_item import IamSigninItem
from hanzoai.cloud.models.iam_signin_method import IamSigninMethod
from hanzoai.cloud.models.iam_signup_item import IamSignupItem
@@ -869,11 +834,8 @@ from hanzoai.cloud.models.kyc_session import KycSession
from hanzoai.cloud.models.kyc_start_out import KycStartOut
from hanzoai.cloud.models.llm import LLM
from hanzoai.cloud.models.llm_overview import LLMOverview
from hanzoai.cloud.models.label import Label
from hanzoai.cloud.models.last_event_view import LastEventView
from hanzoai.cloud.models.latency_stat import LatencyStat
from hanzoai.cloud.models.lb_list import LbList
from hanzoai.cloud.models.lb_view import LbView
from hanzoai.cloud.models.leader_row import LeaderRow
from hanzoai.cloud.models.leaderboard import Leaderboard
from hanzoai.cloud.models.leaderboard_row import LeaderboardRow
@@ -928,6 +890,7 @@ from hanzoai.cloud.models.machine_view import MachineView
from hanzoai.cloud.models.make_in import MakeIn
from hanzoai.cloud.models.market_catalog import MarketCatalog
from hanzoai.cloud.models.market_item import MarketItem
from hanzoai.cloud.models.match import Match
from hanzoai.cloud.models.mcp_catalog import McpCatalog
from hanzoai.cloud.models.mcp_catalog_sync import McpCatalogSync
from hanzoai.cloud.models.mcp_server_list import McpServerList
@@ -937,7 +900,6 @@ from hanzoai.cloud.models.memory_entry import MemoryEntry
from hanzoai.cloud.models.memory_page import MemoryPage
from hanzoai.cloud.models.mesh_service_list import MeshServiceList
from hanzoai.cloud.models.mesh_view import MeshView
from hanzoai.cloud.models.message import Message
from hanzoai.cloud.models.message_input import MessageInput
from hanzoai.cloud.models.message_list import MessageList
from hanzoai.cloud.models.message_page import MessagePage
@@ -958,11 +920,9 @@ from hanzoai.cloud.models.mirror_target_view import MirrorTargetView
from hanzoai.cloud.models.ml_resource import MlResource
from hanzoai.cloud.models.ml_resource_list import MlResourceList
from hanzoai.cloud.models.model_field import ModelField
from hanzoai.cloud.models.model_route import ModelRoute
from hanzoai.cloud.models.model_history import ModelHistory
from hanzoai.cloud.models.model_row import ModelRow
from hanzoai.cloud.models.model_search_result import ModelSearchResult
from hanzoai.cloud.models.model_stat import ModelStat
from hanzoai.cloud.models.model_tool_call import ModelToolCall
from hanzoai.cloud.models.module_info import ModuleInfo
from hanzoai.cloud.models.module_list import ModuleList
from hanzoai.cloud.models.module_state import ModuleState
@@ -985,7 +945,6 @@ from hanzoai.cloud.models.new_issue import NewIssue
from hanzoai.cloud.models.news_item import NewsItem
from hanzoai.cloud.models.news_response import NewsResponse
from hanzoai.cloud.models.next_in import NextIn
from hanzoai.cloud.models.node import Node
from hanzoai.cloud.models.node_list import NodeList
from hanzoai.cloud.models.node_pool import NodePool
from hanzoai.cloud.models.node_pool_view import NodePoolView
@@ -1822,7 +1781,6 @@ from hanzoai.cloud.models.pairing import Pairing
from hanzoai.cloud.models.pairing_approved import PairingApproved
from hanzoai.cloud.models.pairing_queue import PairingQueue
from hanzoai.cloud.models.pairing_view import PairingView
from hanzoai.cloud.models.patch import Patch
from hanzoai.cloud.models.patch_application_in import PatchApplicationIn
from hanzoai.cloud.models.patch_flow_in import PatchFlowIn
from hanzoai.cloud.models.patch_in import PatchIn
@@ -1868,29 +1826,6 @@ from hanzoai.cloud.models.pool_create import PoolCreate
from hanzoai.cloud.models.pool_scale import PoolScale
from hanzoai.cloud.models.populated_flow import PopulatedFlow
from hanzoai.cloud.models.position import Position
from hanzoai.cloud.models.post_ai_articles200_response import PostAiArticles200Response
from hanzoai.cloud.models.post_ai_assets200_response import PostAiAssets200Response
from hanzoai.cloud.models.post_ai_chats200_response import PostAiChats200Response
from hanzoai.cloud.models.post_ai_deployments200_response import PostAiDeployments200Response
from hanzoai.cloud.models.post_ai_files200_response import PostAiFiles200Response
from hanzoai.cloud.models.post_ai_forms200_response import PostAiForms200Response
from hanzoai.cloud.models.post_ai_graphs200_response import PostAiGraphs200Response
from hanzoai.cloud.models.post_ai_messages200_response import PostAiMessages200Response
from hanzoai.cloud.models.post_ai_nodes200_response import PostAiNodes200Response
from hanzoai.cloud.models.post_ai_providers200_response import PostAiProviders200Response
from hanzoai.cloud.models.post_ai_records200_response import PostAiRecords200Response
from hanzoai.cloud.models.post_ai_remote_connections200_response import PostAiRemoteConnections200Response
from hanzoai.cloud.models.post_ai_routes200_response import PostAiRoutes200Response
from hanzoai.cloud.models.post_ai_scales200_response import PostAiScales200Response
from hanzoai.cloud.models.post_ai_scans200_response import PostAiScans200Response
from hanzoai.cloud.models.post_ai_signin_sessions200_response import PostAiSigninSessions200Response
from hanzoai.cloud.models.post_ai_stores200_response import PostAiStores200Response
from hanzoai.cloud.models.post_ai_tasks200_response import PostAiTasks200Response
from hanzoai.cloud.models.post_ai_templates200_response import PostAiTemplates200Response
from hanzoai.cloud.models.post_ai_tree_files200_response import PostAiTreeFiles200Response
from hanzoai.cloud.models.post_ai_vectors200_response import PostAiVectors200Response
from hanzoai.cloud.models.post_ai_videos200_response import PostAiVideos200Response
from hanzoai.cloud.models.post_ai_workflows200_response import PostAiWorkflows200Response
from hanzoai.cloud.models.post_event_request import PostEventRequest
from hanzoai.cloud.models.post_list import PostList
from hanzoai.cloud.models.posting import Posting
@@ -1953,8 +1888,6 @@ from hanzoai.cloud.models.prompt_list import PromptList
from hanzoai.cloud.models.prompt_meta import PromptMeta
from hanzoai.cloud.models.prompt_req import PromptReq
from hanzoai.cloud.models.prop_spec import PropSpec
from hanzoai.cloud.models.properties import Properties
from hanzoai.cloud.models.provider import Provider
from hanzoai.cloud.models.provider_breakdown import ProviderBreakdown
from hanzoai.cloud.models.provider_card import ProviderCard
from hanzoai.cloud.models.provider_credit import ProviderCredit
@@ -1972,6 +1905,7 @@ from hanzoai.cloud.models.publish_input import PublishInput
from hanzoai.cloud.models.publish_kit_in import PublishKitIn
from hanzoai.cloud.models.publish_req import PublishReq
from hanzoai.cloud.models.publish_result import PublishResult
from hanzoai.cloud.models.published_claim import PublishedClaim
from hanzoai.cloud.models.pull_list import PullList
from hanzoai.cloud.models.pull_view import PullView
from hanzoai.cloud.models.purge import Purge
@@ -1983,6 +1917,8 @@ from hanzoai.cloud.models.push_pusher import PushPusher
from hanzoai.cloud.models.push_repository import PushRepository
from hanzoai.cloud.models.push_req import PushReq
from hanzoai.cloud.models.push_resp import PushResp
from hanzoai.cloud.models.put_claims_in import PutClaimsIn
from hanzoai.cloud.models.put_claims_out import PutClaimsOut
from hanzoai.cloud.models.query import Query
from hanzoai.cloud.models.question import Question
from hanzoai.cloud.models.questions_response import QuestionsResponse
@@ -2045,11 +1981,8 @@ from hanzoai.cloud.models.registry_tag_list import RegistryTagList
from hanzoai.cloud.models.registry_token import RegistryToken
from hanzoai.cloud.models.release_board import ReleaseBoard
from hanzoai.cloud.models.release_row import ReleaseRow
from hanzoai.cloud.models.release_state import ReleaseState
from hanzoai.cloud.models.reload_in import ReloadIn
from hanzoai.cloud.models.remark import Remark
from hanzoai.cloud.models.remittance import Remittance
from hanzoai.cloud.models.remote_app import RemoteApp
from hanzoai.cloud.models.renew_req import RenewReq
from hanzoai.cloud.models.renew_result import RenewResult
from hanzoai.cloud.models.replace_kit_in import ReplaceKitIn
@@ -2062,13 +1995,13 @@ from hanzoai.cloud.models.report_out import ReportOut
from hanzoai.cloud.models.report_req import ReportReq
from hanzoai.cloud.models.report_resp import ReportResp
from hanzoai.cloud.models.report_run_in import ReportRunIn
from hanzoai.cloud.models.request import Request
from hanzoai.cloud.models.research_artifact import ResearchArtifact
from hanzoai.cloud.models.research_totals import ResearchTotals
from hanzoai.cloud.models.resolve_reference_in import ResolveReferenceIn
from hanzoai.cloud.models.resolve_reference_out import ResolveReferenceOut
from hanzoai.cloud.models.resource_metrics import ResourceMetrics
from hanzoai.cloud.models.resource_requests import ResourceRequests
from hanzoai.cloud.models.resource_usage import ResourceUsage
from hanzoai.cloud.models.response import Response
from hanzoai.cloud.models.restart_ref import RestartRef
from hanzoai.cloud.models.restarted import Restarted
from hanzoai.cloud.models.result import Result
@@ -2156,6 +2089,7 @@ from hanzoai.cloud.models.ruleset import Ruleset
from hanzoai.cloud.models.run_in import RunIn
from hanzoai.cloud.models.run_list import RunList
from hanzoai.cloud.models.run_page import RunPage
from hanzoai.cloud.models.run_point import RunPoint
from hanzoai.cloud.models.run_record import RunRecord
from hanzoai.cloud.models.run_req import RunReq
from hanzoai.cloud.models.run_request import RunRequest
@@ -2186,7 +2120,6 @@ from hanzoai.cloud.models.sample_view import SampleView
from hanzoai.cloud.models.sbom_health import SbomHealth
from hanzoai.cloud.models.sbom_ingest import SbomIngest
from hanzoai.cloud.models.sbom_ingested import SbomIngested
from hanzoai.cloud.models.scale import Scale
from hanzoai.cloud.models.scale_in import ScaleIn
from hanzoai.cloud.models.scan import Scan
from hanzoai.cloud.models.scan_detail import ScanDetail
@@ -2215,7 +2148,6 @@ from hanzoai.cloud.models.seed_data import SeedData
from hanzoai.cloud.models.seed_out import SeedOut
from hanzoai.cloud.models.seed_request import SeedRequest
from hanzoai.cloud.models.self_rank import SelfRank
from hanzoai.cloud.models.self_release_list import SelfReleaseList
from hanzoai.cloud.models.sequence import Sequence
from hanzoai.cloud.models.sequence_list import SequenceList
from hanzoai.cloud.models.sequence_status import SequenceStatus
@@ -2223,17 +2155,13 @@ from hanzoai.cloud.models.sequence_view import SequenceView
from hanzoai.cloud.models.sequences import Sequences
from hanzoai.cloud.models.series_line import SeriesLine
from hanzoai.cloud.models.series_point import SeriesPoint
from hanzoai.cloud.models.service import Service
from hanzoai.cloud.models.service_detail import ServiceDetail
from hanzoai.cloud.models.service_input import ServiceInput
from hanzoai.cloud.models.service_list import ServiceList
from hanzoai.cloud.models.service_mode_in import ServiceModeIn
from hanzoai.cloud.models.service_one import ServiceOne
from hanzoai.cloud.models.service_out import ServiceOut
from hanzoai.cloud.models.service_port import ServicePort
from hanzoai.cloud.models.service_view import ServiceView
from hanzoai.cloud.models.services_out import ServicesOut
from hanzoai.cloud.models.session import Session
from hanzoai.cloud.models.session_detail import SessionDetail
from hanzoai.cloud.models.session_list import SessionList
from hanzoai.cloud.models.session_user import SessionUser
@@ -2295,7 +2223,6 @@ from hanzoai.cloud.models.storage_alert import StorageAlert
from hanzoai.cloud.models.storage_fleet import StorageFleet
from hanzoai.cloud.models.storage_snapshot import StorageSnapshot
from hanzoai.cloud.models.storage_volume import StorageVolume
from hanzoai.cloud.models.store import Store
from hanzoai.cloud.models.storefront_result import StorefrontResult
from hanzoai.cloud.models.strategy import Strategy
from hanzoai.cloud.models.strategy_view import StrategyView
@@ -2351,13 +2278,10 @@ from hanzoai.cloud.models.target_deleted import TargetDeleted
from hanzoai.cloud.models.target_list import TargetList
from hanzoai.cloud.models.target_req import TargetReq
from hanzoai.cloud.models.target_view import TargetView
from hanzoai.cloud.models.task import Task
from hanzoai.cloud.models.taxon import Taxon
from hanzoai.cloud.models.taxon_in import TaxonIn
from hanzoai.cloud.models.taxonomy import Taxonomy
from hanzoai.cloud.models.template import Template
from hanzoai.cloud.models.template_catalog import TemplateCatalog
from hanzoai.cloud.models.template_config_option import TemplateConfigOption
from hanzoai.cloud.models.template_override import TemplateOverride
from hanzoai.cloud.models.template_reply import TemplateReply
from hanzoai.cloud.models.template_view import TemplateView
@@ -2377,6 +2301,7 @@ from hanzoai.cloud.models.trace_list import TraceList
from hanzoai.cloud.models.trace_view import TraceView
from hanzoai.cloud.models.traffic_caller import TrafficCaller
from hanzoai.cloud.models.traffic_view import TrafficView
from hanzoai.cloud.models.trail import Trail
from hanzoai.cloud.models.trail_page import TrailPage
from hanzoai.cloud.models.transactions_out import TransactionsOut
from hanzoai.cloud.models.transfer_req import TransferReq
@@ -2385,7 +2310,6 @@ from hanzoai.cloud.models.transition_result import TransitionResult
from hanzoai.cloud.models.treasury_report import TreasuryReport
from hanzoai.cloud.models.tree_entry import TreeEntry
from hanzoai.cloud.models.tree_entry_json import TreeEntryJSON
from hanzoai.cloud.models.tree_file import TreeFile
from hanzoai.cloud.models.tree_json import TreeJSON
from hanzoai.cloud.models.tree_node import TreeNode
from hanzoai.cloud.models.trial import Trial
@@ -2426,10 +2350,8 @@ from hanzoai.cloud.models.users_out import UsersOut
from hanzoai.cloud.models.validator_claim import ValidatorClaim
from hanzoai.cloud.models.validator_list import ValidatorList
from hanzoai.cloud.models.variant import Variant
from hanzoai.cloud.models.vector import Vector
from hanzoai.cloud.models.vector_collection import VectorCollection
from hanzoai.cloud.models.vector_collection_list import VectorCollectionList
from hanzoai.cloud.models.vector_score import VectorScore
from hanzoai.cloud.models.vector_stats import VectorStats
from hanzoai.cloud.models.vendor import Vendor
from hanzoai.cloud.models.vendor_row import VendorRow
@@ -2445,14 +2367,11 @@ from hanzoai.cloud.models.version_message import VersionMessage
from hanzoai.cloud.models.version_meta import VersionMeta
from hanzoai.cloud.models.version_page import VersionPage
from hanzoai.cloud.models.version_view import VersionView
from hanzoai.cloud.models.video import Video
from hanzoai.cloud.models.volume import Volume
from hanzoai.cloud.models.volume_in import VolumeIn
from hanzoai.cloud.models.volume_snapshot_out import VolumeSnapshotOut
from hanzoai.cloud.models.volumes_out import VolumesOut
from hanzoai.cloud.models.voucher import Voucher
from hanzoai.cloud.models.vpc_list import VpcList
from hanzoai.cloud.models.vpc_view import VpcView
from hanzoai.cloud.models.waiting import Waiting
from hanzoai.cloud.models.waitlist_boost_request import WaitlistBoostRequest
from hanzoai.cloud.models.waitlist_mode_view import WaitlistModeView
@@ -2468,7 +2387,6 @@ from hanzoai.cloud.models.web_search_results import WebSearchResults
from hanzoai.cloud.models.wire import Wire
from hanzoai.cloud.models.worker_list import WorkerList
from hanzoai.cloud.models.worker_script_put import WorkerScriptPut
from hanzoai.cloud.models.workflow import Workflow
from hanzoai.cloud.models.world_index import WorldIndex
from hanzoai.cloud.models.world_wire import WorldWire
from hanzoai.cloud.models.write_in import WriteIn
@@ -17,21 +17,21 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class Remark(BaseModel):
class Allowance(BaseModel):
"""
Remark
Allowance
""" # noqa: E501
is_public: Optional[StrictBool] = Field(default=None, alias="isPublic")
score: Optional[StrictStr] = None
text: Optional[StrictStr] = None
timestamp: Optional[StrictStr] = None
user: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["isPublic", "score", "text", "timestamp", "user"]
limit: Optional[StrictInt] = Field(default=None, description="calls the plan allows per period; 0 = unbounded")
plan: Optional[StrictStr] = Field(default=None, description="the tier the limit came from")
resets: Optional[StrictInt] = Field(default=None, description="unix seconds; when the count starts again")
spent: Optional[StrictBool] = Field(default=None, description="the subject is at the limit")
used: Optional[StrictInt] = None
__properties: ClassVar[List[str]] = ["limit", "plan", "resets", "spent", "used"]
model_config = ConfigDict(
populate_by_name=True,
@@ -51,7 +51,7 @@ class Remark(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Remark from a JSON string"""
"""Create an instance of Allowance from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -76,7 +76,7 @@ class Remark(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Remark from a dict"""
"""Create an instance of Allowance from a dict"""
if obj is None:
return None
@@ -84,11 +84,11 @@ class Remark(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"isPublic": obj.get("isPublic"),
"score": obj.get("score"),
"text": obj.get("text"),
"timestamp": obj.get("timestamp"),
"user": obj.get("user")
"limit": obj.get("limit"),
"plan": obj.get("plan"),
"resets": obj.get("resets"),
"spent": obj.get("spent"),
"used": obj.get("used")
})
return _obj
@@ -1,89 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class ApplicationConfigOption(BaseModel):
"""
ApplicationConfigOption
""" # noqa: E501
parameter: Optional[StrictStr] = None
setting: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["parameter", "setting"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ApplicationConfigOption from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ApplicationConfigOption from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"parameter": obj.get("parameter"),
"setting": obj.get("setting")
})
return _obj
@@ -1,103 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class ApplicationEvent(BaseModel):
"""
ApplicationEvent
""" # noqa: E501
count: Optional[StrictInt] = None
first_time: Optional[StrictStr] = Field(default=None, alias="firstTime")
involved_object: Optional[StrictStr] = Field(default=None, alias="involvedObject")
last_time: Optional[StrictStr] = Field(default=None, alias="lastTime")
message: Optional[StrictStr] = None
name: Optional[StrictStr] = None
reason: Optional[StrictStr] = None
source: Optional[StrictStr] = None
type: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["count", "firstTime", "involvedObject", "lastTime", "message", "name", "reason", "source", "type"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ApplicationEvent from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ApplicationEvent from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"count": obj.get("count"),
"firstTime": obj.get("firstTime"),
"involvedObject": obj.get("involvedObject"),
"lastTime": obj.get("lastTime"),
"message": obj.get("message"),
"name": obj.get("name"),
"reason": obj.get("reason"),
"source": obj.get("source"),
"type": obj.get("type")
})
return _obj
@@ -1,137 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.application_event import ApplicationEvent
from hanzoai.cloud.models.deployment_detail import DeploymentDetail
from hanzoai.cloud.models.env_variable import EnvVariable
from hanzoai.cloud.models.resource_metrics import ResourceMetrics
from hanzoai.cloud.models.service_detail import ServiceDetail
from typing import Optional, Set
from typing_extensions import Self
class ApplicationView(BaseModel):
"""
ApplicationView
""" # noqa: E501
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
credentials: Optional[List[EnvVariable]] = None
deployments: Optional[List[DeploymentDetail]] = None
events: Optional[List[ApplicationEvent]] = None
metrics: Optional[ResourceMetrics] = None
namespace: Optional[StrictStr] = None
services: Optional[List[ServiceDetail]] = None
status: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["createdTime", "credentials", "deployments", "events", "metrics", "namespace", "services", "status"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ApplicationView from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in credentials (list)
_items = []
if self.credentials:
for _item_credentials in self.credentials:
if _item_credentials:
_items.append(_item_credentials.to_dict())
_dict['credentials'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in deployments (list)
_items = []
if self.deployments:
for _item_deployments in self.deployments:
if _item_deployments:
_items.append(_item_deployments.to_dict())
_dict['deployments'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in events (list)
_items = []
if self.events:
for _item_events in self.events:
if _item_events:
_items.append(_item_events.to_dict())
_dict['events'] = _items
# override the default output from pydantic by calling `to_dict()` of metrics
if self.metrics:
_dict['metrics'] = self.metrics.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in services (list)
_items = []
if self.services:
for _item_services in self.services:
if _item_services:
_items.append(_item_services.to_dict())
_dict['services'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ApplicationView from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"createdTime": obj.get("createdTime"),
"credentials": [EnvVariable.from_dict(_item) for _item in obj["credentials"]] if obj.get("credentials") is not None else None,
"deployments": [DeploymentDetail.from_dict(_item) for _item in obj["deployments"]] if obj.get("deployments") is not None else None,
"events": [ApplicationEvent.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None,
"metrics": ResourceMetrics.from_dict(obj["metrics"]) if obj.get("metrics") is not None else None,
"namespace": obj.get("namespace"),
"services": [ServiceDetail.from_dict(_item) for _item in obj["services"]] if obj.get("services") is not None else None,
"status": obj.get("status")
})
return _obj
-115
View File
@@ -1,115 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class Asset(BaseModel):
"""
Asset
""" # noqa: E501
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
id: Optional[StrictStr] = None
name: Optional[StrictStr] = None
owner: Optional[StrictStr] = None
password: Optional[StrictStr] = None
properties: Optional[StrictStr] = None
provider: Optional[StrictStr] = None
region: Optional[StrictStr] = None
state: Optional[StrictStr] = None
tag: Optional[StrictStr] = None
type: Optional[StrictStr] = None
updated_time: Optional[StrictStr] = Field(default=None, alias="updatedTime")
username: Optional[StrictStr] = None
zone: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["createdTime", "displayName", "id", "name", "owner", "password", "properties", "provider", "region", "state", "tag", "type", "updatedTime", "username", "zone"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Asset from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Asset from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"createdTime": obj.get("createdTime"),
"displayName": obj.get("displayName"),
"id": obj.get("id"),
"name": obj.get("name"),
"owner": obj.get("owner"),
"password": obj.get("password"),
"properties": obj.get("properties"),
"provider": obj.get("provider"),
"region": obj.get("region"),
"state": obj.get("state"),
"tag": obj.get("tag"),
"type": obj.get("type"),
"updatedTime": obj.get("updatedTime"),
"username": obj.get("username"),
"zone": obj.get("zone")
})
return _obj
-147
View File
@@ -1,147 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class Audit(BaseModel):
"""
Audit
""" # noqa: E501
action: Optional[StrictStr] = None
block: Optional[StrictStr] = None
block2: Optional[StrictStr] = None
block_hash: Optional[StrictStr] = Field(default=None, alias="blockHash")
block_hash2: Optional[StrictStr] = Field(default=None, alias="blockHash2")
city: Optional[StrictStr] = None
client_ip: Optional[StrictStr] = Field(default=None, alias="clientIp")
count: Optional[StrictInt] = None
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
error_text: Optional[StrictStr] = Field(default=None, alias="errorText")
id: Optional[StrictInt] = None
is_triggered: Optional[StrictBool] = Field(default=None, alias="isTriggered")
language: Optional[StrictStr] = None
method: Optional[StrictStr] = None
name: Optional[StrictStr] = None
need_commit: Optional[StrictBool] = Field(default=None, alias="needCommit")
object: Optional[StrictStr] = None
organization: Optional[StrictStr] = None
owner: Optional[StrictStr] = None
provider: Optional[StrictStr] = None
provider2: Optional[StrictStr] = None
query: Optional[StrictStr] = None
region: Optional[StrictStr] = None
request_uri: Optional[StrictStr] = Field(default=None, alias="requestUri")
response: Optional[StrictStr] = None
section: Optional[StrictStr] = None
transaction: Optional[StrictStr] = None
transaction2: Optional[StrictStr] = None
unit: Optional[StrictStr] = None
user: Optional[StrictStr] = None
user_agent: Optional[StrictStr] = Field(default=None, alias="userAgent")
__properties: ClassVar[List[str]] = ["action", "block", "block2", "blockHash", "blockHash2", "city", "clientIp", "count", "createdTime", "errorText", "id", "isTriggered", "language", "method", "name", "needCommit", "object", "organization", "owner", "provider", "provider2", "query", "region", "requestUri", "response", "section", "transaction", "transaction2", "unit", "user", "userAgent"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Audit from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Audit from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"action": obj.get("action"),
"block": obj.get("block"),
"block2": obj.get("block2"),
"blockHash": obj.get("blockHash"),
"blockHash2": obj.get("blockHash2"),
"city": obj.get("city"),
"clientIp": obj.get("clientIp"),
"count": obj.get("count"),
"createdTime": obj.get("createdTime"),
"errorText": obj.get("errorText"),
"id": obj.get("id"),
"isTriggered": obj.get("isTriggered"),
"language": obj.get("language"),
"method": obj.get("method"),
"name": obj.get("name"),
"needCommit": obj.get("needCommit"),
"object": obj.get("object"),
"organization": obj.get("organization"),
"owner": obj.get("owner"),
"provider": obj.get("provider"),
"provider2": obj.get("provider2"),
"query": obj.get("query"),
"region": obj.get("region"),
"requestUri": obj.get("requestUri"),
"response": obj.get("response"),
"section": obj.get("section"),
"transaction": obj.get("transaction"),
"transaction2": obj.get("transaction2"),
"unit": obj.get("unit"),
"user": obj.get("user"),
"userAgent": obj.get("userAgent")
})
return _obj
@@ -22,17 +22,16 @@ from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class LbView(BaseModel):
class BackendStatus(BaseModel):
"""
LbView
BackendStatus
""" # noqa: E501
id: Optional[StrictStr] = None
ip: Optional[StrictStr] = None
error: Optional[StrictStr] = None
hits: Optional[StrictInt] = None
name: Optional[StrictStr] = None
status: Optional[StrictStr] = None
targets: Optional[StrictInt] = None
type: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["id", "ip", "name", "status", "targets", "type"]
took_ms: Optional[StrictInt] = None
__properties: ClassVar[List[str]] = ["error", "hits", "name", "status", "took_ms"]
model_config = ConfigDict(
populate_by_name=True,
@@ -52,7 +51,7 @@ class LbView(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of LbView from a JSON string"""
"""Create an instance of BackendStatus from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -77,7 +76,7 @@ class LbView(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of LbView from a dict"""
"""Create an instance of BackendStatus from a dict"""
if obj is None:
return None
@@ -85,12 +84,11 @@ class LbView(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"id": obj.get("id"),
"ip": obj.get("ip"),
"error": obj.get("error"),
"hits": obj.get("hits"),
"name": obj.get("name"),
"status": obj.get("status"),
"targets": obj.get("targets"),
"type": obj.get("type")
"took_ms": obj.get("took_ms")
})
return _obj
-95
View File
@@ -1,95 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class Block(BaseModel):
"""
Block
""" # noqa: E501
prompt: Optional[StrictStr] = None
state: Optional[StrictStr] = None
text: Optional[StrictStr] = None
text_en: Optional[StrictStr] = Field(default=None, alias="textEn")
type: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["prompt", "state", "text", "textEn", "type"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Block from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Block from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"prompt": obj.get("prompt"),
"state": obj.get("state"),
"text": obj.get("text"),
"textEn": obj.get("textEn"),
"type": obj.get("type")
})
return _obj
-135
View File
@@ -1,135 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing import Optional, Set
from typing_extensions import Self
class Chat(BaseModel):
"""
Chat
""" # noqa: E501
category: Optional[StrictStr] = None
client_ip: Optional[StrictStr] = Field(default=None, alias="clientIp")
client_ip_desc: Optional[StrictStr] = Field(default=None, alias="clientIpDesc")
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
currency: Optional[StrictStr] = None
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
is_deleted: Optional[StrictBool] = Field(default=None, alias="isDeleted")
is_hidden: Optional[StrictBool] = Field(default=None, alias="isHidden")
message_count: Optional[StrictInt] = Field(default=None, alias="messageCount")
model_provider: Optional[StrictStr] = Field(default=None, alias="modelProvider")
name: Optional[StrictStr] = None
need_title: Optional[StrictBool] = Field(default=None, alias="needTitle")
organization: Optional[StrictStr] = None
owner: Optional[StrictStr] = None
price: Optional[Union[StrictFloat, StrictInt]] = None
store: Optional[StrictStr] = None
token_count: Optional[StrictInt] = Field(default=None, alias="tokenCount")
type: Optional[StrictStr] = None
updated_time: Optional[StrictStr] = Field(default=None, alias="updatedTime")
user: Optional[StrictStr] = None
user1: Optional[StrictStr] = None
user2: Optional[StrictStr] = None
user_agent: Optional[StrictStr] = Field(default=None, alias="userAgent")
user_agent_desc: Optional[StrictStr] = Field(default=None, alias="userAgentDesc")
users: Optional[List[StrictStr]] = None
__properties: ClassVar[List[str]] = ["category", "clientIp", "clientIpDesc", "createdTime", "currency", "displayName", "isDeleted", "isHidden", "messageCount", "modelProvider", "name", "needTitle", "organization", "owner", "price", "store", "tokenCount", "type", "updatedTime", "user", "user1", "user2", "userAgent", "userAgentDesc", "users"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Chat from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Chat from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"category": obj.get("category"),
"clientIp": obj.get("clientIp"),
"clientIpDesc": obj.get("clientIpDesc"),
"createdTime": obj.get("createdTime"),
"currency": obj.get("currency"),
"displayName": obj.get("displayName"),
"isDeleted": obj.get("isDeleted"),
"isHidden": obj.get("isHidden"),
"messageCount": obj.get("messageCount"),
"modelProvider": obj.get("modelProvider"),
"name": obj.get("name"),
"needTitle": obj.get("needTitle"),
"organization": obj.get("organization"),
"owner": obj.get("owner"),
"price": obj.get("price"),
"store": obj.get("store"),
"tokenCount": obj.get("tokenCount"),
"type": obj.get("type"),
"updatedTime": obj.get("updatedTime"),
"user": obj.get("user"),
"user1": obj.get("user1"),
"user2": obj.get("user2"),
"userAgent": obj.get("userAgent"),
"userAgentDesc": obj.get("userAgentDesc"),
"users": obj.get("users")
})
return _obj
@@ -17,35 +17,26 @@ import pprint
import re # noqa: F401
import json
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing import Optional, Set
from typing_extensions import Self
class Task(BaseModel):
class ClaimRow(BaseModel):
"""
Task
ClaimRow
""" # noqa: E501
activity: Optional[StrictStr] = None
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
document_text: Optional[StrictStr] = Field(default=None, alias="documentText")
document_url: Optional[StrictStr] = Field(default=None, alias="documentUrl")
example: Optional[StrictStr] = None
grade: Optional[StrictStr] = None
labels: Optional[List[StrictStr]] = None
log: Optional[StrictStr] = None
name: Optional[StrictStr] = None
owner: Optional[StrictStr] = None
path: Optional[StrictStr] = None
provider: Optional[StrictStr] = None
result: Optional[StrictStr] = None
scale: Optional[StrictStr] = None
score: Optional[Union[StrictFloat, StrictInt]] = None
subject: Optional[StrictStr] = None
topic: Optional[StrictStr] = None
type: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["activity", "createdTime", "displayName", "documentText", "documentUrl", "example", "grade", "labels", "log", "name", "owner", "path", "provider", "result", "scale", "score", "subject", "topic", "type"]
at: Optional[datetime] = Field(default=None, description="At is when a stored row was recorded. Zero for a seed row.")
benchmark: Optional[StrictStr] = Field(default=None, description="Benchmark is the canonical test id the claim is about, from /catalog.")
by: Optional[StrictStr] = Field(default=None, description="By is who recorded it, when the caller said.")
model: Optional[StrictStr] = Field(default=None, description="Model is the system the score is claimed for.")
origin: Optional[StrictStr] = Field(default=None, description="Origin is \"seed\" for a compiled row and \"stored\" for one written through this surface. It is the difference between what we shipped and what an operator has since corrected.")
protocol: Optional[StrictStr] = Field(default=None, description="Protocol records HOW it was scored — provider-reported, agentic, third-party-leaderboard — so a provider card is never read as a measurement.")
provider: Optional[StrictStr] = Field(default=None, description="Provider is who the claim belongs to — the lab or leaderboard whose number this is.")
score: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Score is the reported aggregate, as a percentage.")
source: Optional[StrictStr] = Field(default=None, description="Source is the citation the row was read from.")
__properties: ClassVar[List[str]] = ["at", "benchmark", "by", "model", "origin", "protocol", "provider", "score", "source"]
model_config = ConfigDict(
populate_by_name=True,
@@ -65,7 +56,7 @@ class Task(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Task from a JSON string"""
"""Create an instance of ClaimRow from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -90,7 +81,7 @@ class Task(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Task from a dict"""
"""Create an instance of ClaimRow from a dict"""
if obj is None:
return None
@@ -98,25 +89,15 @@ class Task(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"activity": obj.get("activity"),
"createdTime": obj.get("createdTime"),
"displayName": obj.get("displayName"),
"documentText": obj.get("documentText"),
"documentUrl": obj.get("documentUrl"),
"example": obj.get("example"),
"grade": obj.get("grade"),
"labels": obj.get("labels"),
"log": obj.get("log"),
"name": obj.get("name"),
"owner": obj.get("owner"),
"path": obj.get("path"),
"at": obj.get("at"),
"benchmark": obj.get("benchmark"),
"by": obj.get("by"),
"model": obj.get("model"),
"origin": obj.get("origin"),
"protocol": obj.get("protocol"),
"provider": obj.get("provider"),
"result": obj.get("result"),
"scale": obj.get("scale"),
"score": obj.get("score"),
"subject": obj.get("subject"),
"topic": obj.get("topic"),
"type": obj.get("type")
"source": obj.get("source")
})
return _obj
@@ -17,18 +17,19 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field
from pydantic import BaseModel, ConfigDict, Field, StrictInt
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.release_state import ReleaseState
from hanzoai.cloud.models.claim_row import ClaimRow
from typing import Optional, Set
from typing_extensions import Self
class SelfReleaseList(BaseModel):
class ClaimsOut(BaseModel):
"""
SelfReleaseList
ClaimsOut
""" # noqa: E501
data: Optional[List[ReleaseState]] = Field(default=None, description="Data is the recorded release runs, newest first.")
__properties: ClassVar[List[str]] = ["data"]
data: Optional[List[ClaimRow]] = Field(default=None, description="Data is one row per (benchmark, model, SOURCE) — every independent claim, not one per model. Effective values only: the row that wins after layering for each source, never the superseded readings behind it.")
total: Optional[StrictInt] = Field(default=None, description="Total is how many rows Data holds.")
__properties: ClassVar[List[str]] = ["data", "total"]
model_config = ConfigDict(
populate_by_name=True,
@@ -48,7 +49,7 @@ class SelfReleaseList(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of SelfReleaseList from a JSON string"""
"""Create an instance of ClaimsOut from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -80,7 +81,7 @@ class SelfReleaseList(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of SelfReleaseList from a dict"""
"""Create an instance of ClaimsOut from a dict"""
if obj is None:
return None
@@ -88,7 +89,8 @@ class SelfReleaseList(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [ReleaseState.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None
"data": [ClaimRow.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"total": obj.get("total")
})
return _obj
-131
View File
@@ -1,131 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class Connection(BaseModel):
"""
Connection
""" # noqa: E501
client_ip: Optional[StrictStr] = Field(default=None, alias="clientIp")
client_ip_desc: Optional[StrictStr] = Field(default=None, alias="clientIpDesc")
code: Optional[StrictInt] = None
command_count: Optional[StrictInt] = Field(default=None, alias="commandCount")
connection_id: Optional[StrictStr] = Field(default=None, alias="connectionId")
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
creator: Optional[StrictStr] = None
end_time: Optional[StrictStr] = Field(default=None, alias="endTime")
height: Optional[StrictInt] = None
message: Optional[StrictStr] = None
mode: Optional[StrictStr] = None
name: Optional[StrictStr] = None
node: Optional[StrictStr] = None
operations: Optional[List[StrictStr]] = None
owner: Optional[StrictStr] = None
protocol: Optional[StrictStr] = None
recording: Optional[StrictStr] = None
reviewed: Optional[StrictBool] = None
start_time: Optional[StrictStr] = Field(default=None, alias="startTime")
status: Optional[StrictStr] = None
user_agent: Optional[StrictStr] = Field(default=None, alias="userAgent")
user_agent_desc: Optional[StrictStr] = Field(default=None, alias="userAgentDesc")
width: Optional[StrictInt] = None
__properties: ClassVar[List[str]] = ["clientIp", "clientIpDesc", "code", "commandCount", "connectionId", "createdTime", "creator", "endTime", "height", "message", "mode", "name", "node", "operations", "owner", "protocol", "recording", "reviewed", "startTime", "status", "userAgent", "userAgentDesc", "width"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Connection from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Connection from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"clientIp": obj.get("clientIp"),
"clientIpDesc": obj.get("clientIpDesc"),
"code": obj.get("code"),
"commandCount": obj.get("commandCount"),
"connectionId": obj.get("connectionId"),
"createdTime": obj.get("createdTime"),
"creator": obj.get("creator"),
"endTime": obj.get("endTime"),
"height": obj.get("height"),
"message": obj.get("message"),
"mode": obj.get("mode"),
"name": obj.get("name"),
"node": obj.get("node"),
"operations": obj.get("operations"),
"owner": obj.get("owner"),
"protocol": obj.get("protocol"),
"recording": obj.get("recording"),
"reviewed": obj.get("reviewed"),
"startTime": obj.get("startTime"),
"status": obj.get("status"),
"userAgent": obj.get("userAgent"),
"userAgentDesc": obj.get("userAgentDesc"),
"width": obj.get("width")
})
return _obj
@@ -1,91 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class CreateVPCReq(BaseModel):
"""
CreateVPCReq
""" # noqa: E501
ip_range: Optional[StrictStr] = Field(default=None, description="IPRange is the VPC's private CIDR. Empty lets DigitalOcean assign one.")
name: Optional[StrictStr] = Field(default=None, description="Name is the FRIENDLY name, a DNS-safe slug of at most 40 characters. The physical DigitalOcean name is derived from it and the caller's org.")
region: Optional[StrictStr] = Field(default=None, description="Region is the DigitalOcean region slug (nyc3, sfo3, …). Required.")
__properties: ClassVar[List[str]] = ["ip_range", "name", "region"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of CreateVPCReq from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of CreateVPCReq from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"ip_range": obj.get("ip_range"),
"name": obj.get("name"),
"region": obj.get("region")
})
return _obj
@@ -22,14 +22,18 @@ from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class AgentMcpTools(BaseModel):
class EdgeState(BaseModel):
"""
AgentMcpTools
EdgeState
""" # noqa: E501
is_enabled: Optional[StrictBool] = Field(default=None, alias="isEnabled")
server_name: Optional[StrictStr] = Field(default=None, alias="serverName")
tools: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["isEnabled", "serverName", "tools"]
configured: Optional[StrictBool] = Field(default=None, description="Configured is whether the edge holds credentials to act at all. False means every purge is a no-op.")
error: Optional[StrictStr] = Field(default=None, description="Error is the blocker, so an operator reads it instead of guessing at it.")
freshness: Optional[StrictStr] = Field(default=None, description="Freshness says, in one phrase, how long after a publish a reader sees it. It is the sentence an operator actually wants; the booleans above are how a machine reads the same fact.")
policy: Optional[Dict[str, StrictStr]] = Field(default=None, description="Policy is the Cache-Control this edge serves each class of object with. It is DERIVED from the one canonical function, never a second copy: half the confusion when a publish looks stale is not knowing what the TTLs are, and reading them out of the source is not something an operator should have to do to answer \"how long until this is live\".")
provider: Optional[StrictStr] = Field(default=None, description="Provider is the CDN behind this edge, or \"none\". It is the first thing an operator wants and the only vendor name this API returns.")
reach: Optional[List[StrictStr]] = Field(default=None, description="Reach is the apexes a publish is invalidated on. A site is served on more than one — the site plane's own and the first-party apex — and a purge that covers one of them looks identical from here to a purge that covers both.")
status: Optional[StrictStr] = Field(default=None, description="Status is \"ok\" when a publish reaches readers immediately, else \"degraded\".")
__properties: ClassVar[List[str]] = ["configured", "error", "freshness", "policy", "provider", "reach", "status"]
model_config = ConfigDict(
populate_by_name=True,
@@ -49,7 +53,7 @@ class AgentMcpTools(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of AgentMcpTools from a JSON string"""
"""Create an instance of EdgeState from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -74,7 +78,7 @@ class AgentMcpTools(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of AgentMcpTools from a dict"""
"""Create an instance of EdgeState from a dict"""
if obj is None:
return None
@@ -82,9 +86,13 @@ class AgentMcpTools(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"isEnabled": obj.get("isEnabled"),
"serverName": obj.get("serverName"),
"tools": obj.get("tools")
"configured": obj.get("configured"),
"error": obj.get("error"),
"freshness": obj.get("freshness"),
"policy": obj.get("policy"),
"provider": obj.get("provider"),
"reach": obj.get("reach"),
"status": obj.get("status")
})
return _obj
-110
View File
@@ -1,110 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class Envelope(BaseModel):
"""
The resource surface's response. `status` is the verdict, not the HTTP code: a handled failure is still 200.
""" # noqa: E501
data: Optional[Any] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Envelope from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# set to None if data (nullable) is None
# and model_fields_set contains the field
if self.data is None and "data" in self.model_fields_set:
_dict['data'] = None
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Envelope from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": obj.get("data"),
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,91 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class ExampleQuestion(BaseModel):
"""
ExampleQuestion
""" # noqa: E501
image: Optional[StrictStr] = None
text: Optional[StrictStr] = None
title: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["image", "text", "title"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ExampleQuestion from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ExampleQuestion from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"image": obj.get("image"),
"text": obj.get("text"),
"title": obj.get("title")
})
return _obj
-107
View File
@@ -1,107 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class File(BaseModel):
"""
File
""" # noqa: E501
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
error_text: Optional[StrictStr] = Field(default=None, alias="errorText")
filename: Optional[StrictStr] = None
name: Optional[StrictStr] = None
owner: Optional[StrictStr] = None
size: Optional[StrictInt] = None
status: Optional[StrictStr] = None
storage_provider: Optional[StrictStr] = Field(default=None, alias="storageProvider")
store: Optional[StrictStr] = None
token_count: Optional[StrictInt] = Field(default=None, alias="tokenCount")
url: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["createdTime", "errorText", "filename", "name", "owner", "size", "status", "storageProvider", "store", "tokenCount", "url"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of File from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of File from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"createdTime": obj.get("createdTime"),
"errorText": obj.get("errorText"),
"filename": obj.get("filename"),
"name": obj.get("name"),
"owner": obj.get("owner"),
"size": obj.get("size"),
"status": obj.get("status"),
"storageProvider": obj.get("storageProvider"),
"store": obj.get("store"),
"tokenCount": obj.get("tokenCount"),
"url": obj.get("url")
})
return _obj
-113
View File
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.form_item import FormItem
from typing import Optional, Set
from typing_extensions import Self
class Form(BaseModel):
"""
Form
""" # noqa: E501
category: Optional[StrictStr] = None
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
form_items: Optional[List[FormItem]] = Field(default=None, alias="formItems")
name: Optional[StrictStr] = None
owner: Optional[StrictStr] = None
position: Optional[StrictStr] = None
tag: Optional[StrictStr] = None
type: Optional[StrictStr] = None
url: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["category", "createdTime", "displayName", "formItems", "name", "owner", "position", "tag", "type", "url"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Form from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in form_items (list)
_items = []
if self.form_items:
for _item_form_items in self.form_items:
if _item_form_items:
_items.append(_item_form_items.to_dict())
_dict['formItems'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Form from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"category": obj.get("category"),
"createdTime": obj.get("createdTime"),
"displayName": obj.get("displayName"),
"formItems": [FormItem.from_dict(_item) for _item in obj["formItems"]] if obj.get("formItems") is not None else None,
"name": obj.get("name"),
"owner": obj.get("owner"),
"position": obj.get("position"),
"tag": obj.get("tag"),
"type": obj.get("type"),
"url": obj.get("url")
})
return _obj
-95
View File
@@ -1,95 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class FormItem(BaseModel):
"""
FormItem
""" # noqa: E501
label: Optional[StrictStr] = None
name: Optional[StrictStr] = None
type: Optional[StrictStr] = None
visible: Optional[StrictBool] = None
width: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["label", "name", "type", "visible", "width"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of FormItem from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of FormItem from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"label": obj.get("label"),
"name": obj.get("name"),
"type": obj.get("type"),
"visible": obj.get("visible"),
"width": obj.get("width")
})
return _obj
-93
View File
@@ -1,93 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class FwdRule(BaseModel):
"""
FwdRule
""" # noqa: E501
entry_port: Optional[StrictInt] = Field(default=None, description="EntryPort is the port the load balancer listens on.")
entry_protocol: Optional[StrictStr] = Field(default=None, description="EntryProtocol is the protocol the load balancer listens with (http, https, tcp).")
target_port: Optional[StrictInt] = Field(default=None, description="TargetPort is the backend port traffic is forwarded to.")
target_protocol: Optional[StrictStr] = Field(default=None, description="TargetProtocol is the protocol used to reach the backend droplets.")
__properties: ClassVar[List[str]] = ["entry_port", "entry_protocol", "target_port", "target_protocol"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of FwdRule from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of FwdRule from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"entry_port": obj.get("entry_port"),
"entry_protocol": obj.get("entry_protocol"),
"target_port": obj.get("target_port"),
"target_protocol": obj.get("target_protocol")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.activity import Activity
from typing import Optional, Set
from typing_extensions import Self
class GetAiActivities200Response(BaseModel):
"""
GetAiActivities200Response
""" # noqa: E501
data: Optional[List[Activity]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiActivities200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiActivities200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Activity.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.article import Article
from typing import Optional, Set
from typing_extensions import Self
class GetAiArticles200Response(BaseModel):
"""
GetAiArticles200Response
""" # noqa: E501
data: Optional[List[Article]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiArticles200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiArticles200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Article.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.asset import Asset
from typing import Optional, Set
from typing_extensions import Self
class GetAiAssets200Response(BaseModel):
"""
GetAiAssets200Response
""" # noqa: E501
data: Optional[List[Asset]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiAssets200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiAssets200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Asset.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.chat import Chat
from typing import Optional, Set
from typing_extensions import Self
class GetAiChats200Response(BaseModel):
"""
GetAiChats200Response
""" # noqa: E501
data: Optional[List[Chat]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiChats200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiChats200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Chat.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.application import Application
from typing import Optional, Set
from typing_extensions import Self
class GetAiDeployments200Response(BaseModel):
"""
GetAiDeployments200Response
""" # noqa: E501
data: Optional[List[Application]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiDeployments200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiDeployments200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Application.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.graph import Graph
from typing import Optional, Set
from typing_extensions import Self
class GetAiGraphs200Response(BaseModel):
"""
GetAiGraphs200Response
""" # noqa: E501
data: Optional[List[Graph]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiGraphs200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiGraphs200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Graph.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.message import Message
from typing import Optional, Set
from typing_extensions import Self
class GetAiMessages200Response(BaseModel):
"""
GetAiMessages200Response
""" # noqa: E501
data: Optional[List[Message]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiMessages200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiMessages200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Message.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.node import Node
from typing import Optional, Set
from typing_extensions import Self
class GetAiNodes200Response(BaseModel):
"""
GetAiNodes200Response
""" # noqa: E501
data: Optional[List[Node]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiNodes200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiNodes200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Node.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.provider import Provider
from typing import Optional, Set
from typing_extensions import Self
class GetAiProviders200Response(BaseModel):
"""
GetAiProviders200Response
""" # noqa: E501
data: Optional[List[Provider]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiProviders200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiProviders200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Provider.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.audit import Audit
from typing import Optional, Set
from typing_extensions import Self
class GetAiRecords200Response(BaseModel):
"""
GetAiRecords200Response
""" # noqa: E501
data: Optional[List[Audit]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiRecords200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiRecords200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Audit.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.connection import Connection
from typing import Optional, Set
from typing_extensions import Self
class GetAiRemoteConnections200Response(BaseModel):
"""
GetAiRemoteConnections200Response
""" # noqa: E501
data: Optional[List[Connection]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiRemoteConnections200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiRemoteConnections200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Connection.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.model_route import ModelRoute
from typing import Optional, Set
from typing_extensions import Self
class GetAiRoutes200Response(BaseModel):
"""
GetAiRoutes200Response
""" # noqa: E501
data: Optional[List[ModelRoute]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiRoutes200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiRoutes200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [ModelRoute.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.scale import Scale
from typing import Optional, Set
from typing_extensions import Self
class GetAiScales200Response(BaseModel):
"""
GetAiScales200Response
""" # noqa: E501
data: Optional[List[Scale]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiScales200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiScales200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Scale.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.scan import Scan
from typing import Optional, Set
from typing_extensions import Self
class GetAiScans200Response(BaseModel):
"""
GetAiScans200Response
""" # noqa: E501
data: Optional[List[Scan]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiScans200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiScans200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Scan.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.session import Session
from typing import Optional, Set
from typing_extensions import Self
class GetAiSigninSessions200Response(BaseModel):
"""
GetAiSigninSessions200Response
""" # noqa: E501
data: Optional[List[Session]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiSigninSessions200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiSigninSessions200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Session.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.store import Store
from typing import Optional, Set
from typing_extensions import Self
class GetAiStores200Response(BaseModel):
"""
GetAiStores200Response
""" # noqa: E501
data: Optional[List[Store]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiStores200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiStores200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Store.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.task import Task
from typing import Optional, Set
from typing_extensions import Self
class GetAiTasks200Response(BaseModel):
"""
GetAiTasks200Response
""" # noqa: E501
data: Optional[List[Task]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiTasks200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiTasks200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Task.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.template import Template
from typing import Optional, Set
from typing_extensions import Self
class GetAiTemplates200Response(BaseModel):
"""
GetAiTemplates200Response
""" # noqa: E501
data: Optional[List[Template]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiTemplates200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiTemplates200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Template.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.tally import Tally
from typing import Optional, Set
from typing_extensions import Self
class GetAiUsages200Response(BaseModel):
"""
GetAiUsages200Response
""" # noqa: E501
data: Optional[List[Tally]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiUsages200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiUsages200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Tally.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.vector import Vector
from typing import Optional, Set
from typing_extensions import Self
class GetAiVectors200Response(BaseModel):
"""
GetAiVectors200Response
""" # noqa: E501
data: Optional[List[Vector]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiVectors200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiVectors200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Vector.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.video import Video
from typing import Optional, Set
from typing_extensions import Self
class GetAiVideos200Response(BaseModel):
"""
GetAiVideos200Response
""" # noqa: E501
data: Optional[List[Video]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiVideos200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiVideos200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Video.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -1,113 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.workflow import Workflow
from typing import Optional, Set
from typing_extensions import Self
class GetAiWorkflows200Response(BaseModel):
"""
GetAiWorkflows200Response
""" # noqa: E501
data: Optional[List[Workflow]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiWorkflows200Response from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
_items = []
if self.data:
for _item_data in self.data:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiWorkflows200Response from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Workflow.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
})
return _obj
@@ -17,22 +17,24 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.fwd_rule import FwdRule
from typing import Optional, Set
from typing_extensions import Self
class CreateLBReq(BaseModel):
class GitlabProjectView(BaseModel):
"""
CreateLBReq
GitlabProjectView
""" # noqa: E501
forwarding_rules: Optional[List[FwdRule]] = Field(default=None, description="ForwardingRules are the listen→backend port mappings. Empty defaults to plain HTTP 80→80, the same default DigitalOcean's own console applies.")
name: Optional[StrictStr] = Field(default=None, description="Name is the FRIENDLY name, a DNS-safe slug of at most 40 characters. The physical DigitalOcean name is derived from it and the caller's org.")
region: Optional[StrictStr] = Field(default=None, description="Region is the DigitalOcean region slug (nyc3, sfo3, …). Required.")
size: Optional[StrictStr] = Field(default=None, description="Size is the DigitalOcean size slug. Empty takes DO's default.")
type: Optional[StrictStr] = Field(default=None, description="Type is the DigitalOcean load-balancer type. Empty takes DO's default (REGIONAL).")
__properties: ClassVar[List[str]] = ["forwarding_rules", "name", "region", "size", "type"]
clone_url: Optional[StrictStr] = Field(default=None, description="CloneURL is the https remote to clone.", alias="cloneUrl")
default_branch: Optional[StrictStr] = Field(default=None, description="DefaultBranch is the branch a clone lands on (\"main\" when GitLab names none, which is what an empty project reports).", alias="defaultBranch")
description: Optional[StrictStr] = Field(default=None, description="Description is the project's own, empty when it has none.")
full_name: Optional[StrictStr] = Field(default=None, description="FullName is the namespace path (\"acme/widgets\", \"acme/team/widgets\" for a subgroup) — the string GitLab calls path_with_namespace.", alias="fullName")
html_url: Optional[StrictStr] = Field(default=None, description="HTMLURL is the project's page.", alias="htmlUrl")
name: Optional[StrictStr] = Field(default=None, description="Name is the project's path segment (\"widgets\"), not its display name.")
private: Optional[StrictBool] = Field(default=None, description="Private is true for anything not publicly visible (private or internal).")
pushed_at: Optional[StrictStr] = Field(default=None, description="PushedAt is RFC3339 last activity, so a client can sort or say \"2h ago\".", alias="pushedAt")
__properties: ClassVar[List[str]] = ["cloneUrl", "defaultBranch", "description", "fullName", "htmlUrl", "name", "private", "pushedAt"]
model_config = ConfigDict(
populate_by_name=True,
@@ -52,7 +54,7 @@ class CreateLBReq(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of CreateLBReq from a JSON string"""
"""Create an instance of GitlabProjectView from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -73,18 +75,11 @@ class CreateLBReq(BaseModel):
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in forwarding_rules (list)
_items = []
if self.forwarding_rules:
for _item_forwarding_rules in self.forwarding_rules:
if _item_forwarding_rules:
_items.append(_item_forwarding_rules.to_dict())
_dict['forwarding_rules'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of CreateLBReq from a dict"""
"""Create an instance of GitlabProjectView from a dict"""
if obj is None:
return None
@@ -92,11 +87,14 @@ class CreateLBReq(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"forwarding_rules": [FwdRule.from_dict(_item) for _item in obj["forwarding_rules"]] if obj.get("forwarding_rules") is not None else None,
"cloneUrl": obj.get("cloneUrl"),
"defaultBranch": obj.get("defaultBranch"),
"description": obj.get("description"),
"fullName": obj.get("fullName"),
"htmlUrl": obj.get("htmlUrl"),
"name": obj.get("name"),
"region": obj.get("region"),
"size": obj.get("size"),
"type": obj.get("type")
"private": obj.get("private"),
"pushedAt": obj.get("pushedAt")
})
return _obj
@@ -17,18 +17,19 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.vpc_view import VpcView
from hanzoai.cloud.models.gitlab_project_view import GitlabProjectView
from typing import Optional, Set
from typing_extensions import Self
class VpcList(BaseModel):
class GitlabProjectsOut(BaseModel):
"""
VpcList
GitlabProjectsOut
""" # noqa: E501
vpcs: Optional[List[VpcView]] = Field(default=None, description="VPCs are the caller org's VPCs under their friendly names.")
__properties: ClassVar[List[str]] = ["vpcs"]
account: Optional[StrictStr] = Field(default=None, description="Account is the connected GitLab username, so a client can label the list without a second call. Empty when the connection recorded none.")
projects: Optional[List[GitlabProjectView]] = Field(default=None, description="Projects is every project the token reaches, newest activity first. Never null; [] when the account has none.")
__properties: ClassVar[List[str]] = ["account", "projects"]
model_config = ConfigDict(
populate_by_name=True,
@@ -48,7 +49,7 @@ class VpcList(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of VpcList from a JSON string"""
"""Create an instance of GitlabProjectsOut from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -69,18 +70,18 @@ class VpcList(BaseModel):
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in vpcs (list)
# override the default output from pydantic by calling `to_dict()` of each item in projects (list)
_items = []
if self.vpcs:
for _item_vpcs in self.vpcs:
if _item_vpcs:
_items.append(_item_vpcs.to_dict())
_dict['vpcs'] = _items
if self.projects:
for _item_projects in self.projects:
if _item_projects:
_items.append(_item_projects.to_dict())
_dict['projects'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of VpcList from a dict"""
"""Create an instance of GitlabProjectsOut from a dict"""
if obj is None:
return None
@@ -88,7 +89,8 @@ class VpcList(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"vpcs": [VpcView.from_dict(_item) for _item in obj["vpcs"]] if obj.get("vpcs") is not None else None
"account": obj.get("account"),
"projects": [GitlabProjectView.from_dict(_item) for _item in obj["projects"]] if obj.get("projects") is not None else None
})
return _obj
-109
View File
@@ -1,109 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class Graph(BaseModel):
"""
Graph
""" # noqa: E501
category: Optional[StrictStr] = None
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
density: Optional[StrictInt] = None
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
end_time: Optional[StrictStr] = Field(default=None, alias="endTime")
error_text: Optional[StrictStr] = Field(default=None, alias="errorText")
layout: Optional[StrictStr] = None
name: Optional[StrictStr] = None
owner: Optional[StrictStr] = None
start_time: Optional[StrictStr] = Field(default=None, alias="startTime")
store: Optional[StrictStr] = None
text: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["category", "createdTime", "density", "displayName", "endTime", "errorText", "layout", "name", "owner", "startTime", "store", "text"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Graph from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Graph from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"category": obj.get("category"),
"createdTime": obj.get("createdTime"),
"density": obj.get("density"),
"displayName": obj.get("displayName"),
"endTime": obj.get("endTime"),
"errorText": obj.get("errorText"),
"layout": obj.get("layout"),
"name": obj.get("name"),
"owner": obj.get("owner"),
"startTime": obj.get("startTime"),
"store": obj.get("store"),
"text": obj.get("text")
})
return _obj
@@ -17,28 +17,20 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.form import Form
from hanzoai.cloud.models.model_history import ModelHistory
from typing import Optional, Set
from typing_extensions import Self
class GetAiForms200Response(BaseModel):
class HistoryOut(BaseModel):
"""
GetAiForms200Response
HistoryOut
""" # noqa: E501
data: Optional[List[Form]] = None
data2: Optional[Any] = None
msg: StrictStr = Field(description="Empty on success, the reason on failure.")
status: StrictStr
__properties: ClassVar[List[str]] = ["data", "data2", "msg", "status"]
@field_validator('status')
def status_validate_enum(cls, value):
"""Validates the enum"""
if value not in set(['ok', 'error']):
raise ValueError("must be one of enum values ('ok', 'error')")
return value
benchmark: Optional[StrictStr] = Field(default=None, description="Benchmark is the catalog id these histories are about.")
data: Optional[List[ModelHistory]] = Field(default=None, description="Data is one entry per model, ordered by model name.")
total: Optional[StrictInt] = Field(default=None, description="Total is how many models Data holds.")
__properties: ClassVar[List[str]] = ["benchmark", "data", "total"]
model_config = ConfigDict(
populate_by_name=True,
@@ -58,7 +50,7 @@ class GetAiForms200Response(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetAiForms200Response from a JSON string"""
"""Create an instance of HistoryOut from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -86,16 +78,11 @@ class GetAiForms200Response(BaseModel):
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
# set to None if data2 (nullable) is None
# and model_fields_set contains the field
if self.data2 is None and "data2" in self.model_fields_set:
_dict['data2'] = None
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetAiForms200Response from a dict"""
"""Create an instance of HistoryOut from a dict"""
if obj is None:
return None
@@ -103,10 +90,9 @@ class GetAiForms200Response(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"data": [Form.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"data2": obj.get("data2"),
"msg": obj.get("msg"),
"status": obj.get("status")
"benchmark": obj.get("benchmark"),
"data": [ModelHistory.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
"total": obj.get("total")
})
return _obj
@@ -22,13 +22,15 @@ from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class Properties(BaseModel):
class IamAccountBody(BaseModel):
"""
Properties
IamAccountBody
""" # noqa: E501
collected_time: Optional[StrictStr] = Field(default=None, alias="collectedTime")
subject: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["collectedTime", "subject"]
avatar: Optional[StrictStr] = None
bio: Optional[StrictStr] = None
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
homepage: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["avatar", "bio", "displayName", "homepage"]
model_config = ConfigDict(
populate_by_name=True,
@@ -48,7 +50,7 @@ class Properties(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Properties from a JSON string"""
"""Create an instance of IamAccountBody from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -73,7 +75,7 @@ class Properties(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Properties from a dict"""
"""Create an instance of IamAccountBody from a dict"""
if obj is None:
return None
@@ -81,8 +83,10 @@ class Properties(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"collectedTime": obj.get("collectedTime"),
"subject": obj.get("subject")
"avatar": obj.get("avatar"),
"bio": obj.get("bio"),
"displayName": obj.get("displayName"),
"homepage": obj.get("homepage")
})
return _obj
@@ -22,13 +22,12 @@ from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class EnvVariable(BaseModel):
class IamAssumeBody(BaseModel):
"""
EnvVariable
IamAssumeBody
""" # noqa: E501
name: Optional[StrictStr] = None
value: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["name", "value"]
org: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["org"]
model_config = ConfigDict(
populate_by_name=True,
@@ -48,7 +47,7 @@ class EnvVariable(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of EnvVariable from a JSON string"""
"""Create an instance of IamAssumeBody from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -73,7 +72,7 @@ class EnvVariable(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of EnvVariable from a dict"""
"""Create an instance of IamAssumeBody from a dict"""
if obj is None:
return None
@@ -81,8 +80,7 @@ class EnvVariable(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"name": obj.get("name"),
"value": obj.get("value")
"org": obj.get("org")
})
return _obj
@@ -32,6 +32,7 @@ class IamCreateOrganizationInput(BaseModel):
""" # noqa: E501
account_items: Optional[List[IamAccountItem]] = Field(default=None, alias="accountItems")
account_menu: Optional[StrictStr] = Field(default=None, alias="accountMenu")
avatar: Optional[StrictStr] = None
balance_credit: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="balanceCredit")
balance_currency: Optional[StrictStr] = Field(default=None, alias="balanceCurrency")
country_codes: Optional[List[StrictStr]] = Field(default=None, alias="countryCodes")
@@ -44,6 +45,7 @@ class IamCreateOrganizationInput(BaseModel):
deleted: Optional[StrictBool] = None
disable_signin: Optional[StrictBool] = Field(default=None, alias="disableSignin")
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
emoji: Optional[StrictStr] = None
enable_soft_deletion: Optional[StrictBool] = Field(default=None, alias="enableSoftDeletion")
enable_tour: Optional[StrictBool] = Field(default=None, alias="enableTour")
failed_signin_frozen_time: Optional[StrictInt] = Field(default=None, alias="failedSigninFrozenTime")
@@ -89,7 +91,7 @@ class IamCreateOrganizationInput(BaseModel):
user_types: Optional[List[StrictStr]] = Field(default=None, alias="userTypes")
website_url: Optional[StrictStr] = Field(default=None, alias="websiteUrl")
widget_items: Optional[List[StrictStr]] = Field(default=None, alias="widgetItems")
__properties: ClassVar[List[str]] = ["accountItems", "accountMenu", "balanceCredit", "balanceCurrency", "countryCodes", "createdAt", "createdTime", "dcrPolicy", "defaultApplication", "defaultAvatar", "defaultPassword", "deleted", "disableSignin", "displayName", "enableSoftDeletion", "enableTour", "failedSigninFrozenTime", "failedSigninLimit", "favicon", "founder", "hasPrivilegeConsent", "id", "initScore", "ipRestriction", "ipWhitelist", "isPersonal", "isProfilePublic", "kerberosKdcHost", "kerberosKeytab", "kerberosRealm", "kerberosServiceName", "languages", "ldapAttributes", "logo", "logoDark", "masterPassword", "masterVerificationCode", "mfaItems", "mfaRememberInHours", "name", "navItems", "orgBalance", "owner", "passwordExpireDays", "passwordObfuscatorKey", "passwordObfuscatorType", "passwordOptions", "passwordSalt", "passwordType", "tags", "themeData", "updatedAt", "useEmailAsUsername", "usePermanentAvatar", "userBalance", "userNavItems", "userTypes", "websiteUrl", "widgetItems"]
__properties: ClassVar[List[str]] = ["accountItems", "accountMenu", "avatar", "balanceCredit", "balanceCurrency", "countryCodes", "createdAt", "createdTime", "dcrPolicy", "defaultApplication", "defaultAvatar", "defaultPassword", "deleted", "disableSignin", "displayName", "emoji", "enableSoftDeletion", "enableTour", "failedSigninFrozenTime", "failedSigninLimit", "favicon", "founder", "hasPrivilegeConsent", "id", "initScore", "ipRestriction", "ipWhitelist", "isPersonal", "isProfilePublic", "kerberosKdcHost", "kerberosKeytab", "kerberosRealm", "kerberosServiceName", "languages", "ldapAttributes", "logo", "logoDark", "masterPassword", "masterVerificationCode", "mfaItems", "mfaRememberInHours", "name", "navItems", "orgBalance", "owner", "passwordExpireDays", "passwordObfuscatorKey", "passwordObfuscatorType", "passwordOptions", "passwordSalt", "passwordType", "tags", "themeData", "updatedAt", "useEmailAsUsername", "usePermanentAvatar", "userBalance", "userNavItems", "userTypes", "websiteUrl", "widgetItems"]
model_config = ConfigDict(
populate_by_name=True,
@@ -161,6 +163,7 @@ class IamCreateOrganizationInput(BaseModel):
_obj = cls.model_validate({
"accountItems": [IamAccountItem.from_dict(_item) for _item in obj["accountItems"]] if obj.get("accountItems") is not None else None,
"accountMenu": obj.get("accountMenu"),
"avatar": obj.get("avatar"),
"balanceCredit": obj.get("balanceCredit"),
"balanceCurrency": obj.get("balanceCurrency"),
"countryCodes": obj.get("countryCodes"),
@@ -173,6 +176,7 @@ class IamCreateOrganizationInput(BaseModel):
"deleted": obj.get("deleted"),
"disableSignin": obj.get("disableSignin"),
"displayName": obj.get("displayName"),
"emoji": obj.get("emoji"),
"enableSoftDeletion": obj.get("enableSoftDeletion"),
"enableTour": obj.get("enableTour"),
"failedSigninFrozenTime": obj.get("failedSigninFrozenTime"),
+5 -1
View File
@@ -32,6 +32,7 @@ class IamOrganization(BaseModel):
""" # noqa: E501
account_items: Optional[List[IamAccountItem]] = Field(default=None, alias="accountItems")
account_menu: Optional[StrictStr] = Field(default=None, alias="accountMenu")
avatar: Optional[StrictStr] = Field(default=None, description="How the organization appears across Hanzo — the square mark beside its name — as an image or as one emoji, never both. It is the pair a person carries (User.Avatar) under the same names, resolved the same way, so a screen draws a subject without asking which kind of subject it has. Both halves live on the row: a mark that appears everywhere cannot be kept on one device. Written through schema.MarkOf; Logo and LogoDark above are a different thing, the wordmark a login screen draws.")
balance_credit: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="balanceCredit")
balance_currency: Optional[StrictStr] = Field(default=None, alias="balanceCurrency")
country_codes: Optional[List[StrictStr]] = Field(default=None, alias="countryCodes")
@@ -44,6 +45,7 @@ class IamOrganization(BaseModel):
deleted: Optional[StrictBool] = None
disable_signin: Optional[StrictBool] = Field(default=None, alias="disableSignin")
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
emoji: Optional[StrictStr] = None
enable_soft_deletion: Optional[StrictBool] = Field(default=None, alias="enableSoftDeletion")
enable_tour: Optional[StrictBool] = Field(default=None, alias="enableTour")
failed_signin_frozen_time: Optional[StrictInt] = Field(default=None, alias="failedSigninFrozenTime")
@@ -89,7 +91,7 @@ class IamOrganization(BaseModel):
user_types: Optional[List[StrictStr]] = Field(default=None, alias="userTypes")
website_url: Optional[StrictStr] = Field(default=None, alias="websiteUrl")
widget_items: Optional[List[StrictStr]] = Field(default=None, alias="widgetItems")
__properties: ClassVar[List[str]] = ["accountItems", "accountMenu", "balanceCredit", "balanceCurrency", "countryCodes", "createdAt", "createdTime", "dcrPolicy", "defaultApplication", "defaultAvatar", "defaultPassword", "deleted", "disableSignin", "displayName", "enableSoftDeletion", "enableTour", "failedSigninFrozenTime", "failedSigninLimit", "favicon", "founder", "hasPrivilegeConsent", "id", "initScore", "ipRestriction", "ipWhitelist", "isPersonal", "isProfilePublic", "kerberosKdcHost", "kerberosKeytab", "kerberosRealm", "kerberosServiceName", "languages", "ldapAttributes", "logo", "logoDark", "masterPassword", "masterVerificationCode", "mfaItems", "mfaRememberInHours", "name", "navItems", "orgBalance", "owner", "passwordExpireDays", "passwordObfuscatorKey", "passwordObfuscatorType", "passwordOptions", "passwordSalt", "passwordType", "tags", "themeData", "updatedAt", "useEmailAsUsername", "usePermanentAvatar", "userBalance", "userNavItems", "userTypes", "websiteUrl", "widgetItems"]
__properties: ClassVar[List[str]] = ["accountItems", "accountMenu", "avatar", "balanceCredit", "balanceCurrency", "countryCodes", "createdAt", "createdTime", "dcrPolicy", "defaultApplication", "defaultAvatar", "defaultPassword", "deleted", "disableSignin", "displayName", "emoji", "enableSoftDeletion", "enableTour", "failedSigninFrozenTime", "failedSigninLimit", "favicon", "founder", "hasPrivilegeConsent", "id", "initScore", "ipRestriction", "ipWhitelist", "isPersonal", "isProfilePublic", "kerberosKdcHost", "kerberosKeytab", "kerberosRealm", "kerberosServiceName", "languages", "ldapAttributes", "logo", "logoDark", "masterPassword", "masterVerificationCode", "mfaItems", "mfaRememberInHours", "name", "navItems", "orgBalance", "owner", "passwordExpireDays", "passwordObfuscatorKey", "passwordObfuscatorType", "passwordOptions", "passwordSalt", "passwordType", "tags", "themeData", "updatedAt", "useEmailAsUsername", "usePermanentAvatar", "userBalance", "userNavItems", "userTypes", "websiteUrl", "widgetItems"]
model_config = ConfigDict(
populate_by_name=True,
@@ -161,6 +163,7 @@ class IamOrganization(BaseModel):
_obj = cls.model_validate({
"accountItems": [IamAccountItem.from_dict(_item) for _item in obj["accountItems"]] if obj.get("accountItems") is not None else None,
"accountMenu": obj.get("accountMenu"),
"avatar": obj.get("avatar"),
"balanceCredit": obj.get("balanceCredit"),
"balanceCurrency": obj.get("balanceCurrency"),
"countryCodes": obj.get("countryCodes"),
@@ -173,6 +176,7 @@ class IamOrganization(BaseModel):
"deleted": obj.get("deleted"),
"disableSignin": obj.get("disableSignin"),
"displayName": obj.get("displayName"),
"emoji": obj.get("emoji"),
"enableSoftDeletion": obj.get("enableSoftDeletion"),
"enableTour": obj.get("enableTour"),
"failedSigninFrozenTime": obj.get("failedSigninFrozenTime"),
@@ -19,18 +19,17 @@ import json
from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.resource_requests import ResourceRequests
from hanzoai.cloud.models.iam_organization import IamOrganization
from typing import Optional, Set
from typing_extensions import Self
class ContainerDetail(BaseModel):
class IamSearchOrganizationsOutput(BaseModel):
"""
ContainerDetail
IamSearchOrganizationsOutput
""" # noqa: E501
image: Optional[StrictStr] = None
name: Optional[StrictStr] = None
resources: Optional[ResourceRequests] = None
__properties: ClassVar[List[str]] = ["image", "name", "resources"]
cursor: Optional[StrictStr] = None
organizations: Optional[List[IamOrganization]] = None
__properties: ClassVar[List[str]] = ["cursor", "organizations"]
model_config = ConfigDict(
populate_by_name=True,
@@ -50,7 +49,7 @@ class ContainerDetail(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ContainerDetail from a JSON string"""
"""Create an instance of IamSearchOrganizationsOutput from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -71,14 +70,18 @@ class ContainerDetail(BaseModel):
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of resources
if self.resources:
_dict['resources'] = self.resources.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in organizations (list)
_items = []
if self.organizations:
for _item_organizations in self.organizations:
if _item_organizations:
_items.append(_item_organizations.to_dict())
_dict['organizations'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ContainerDetail from a dict"""
"""Create an instance of IamSearchOrganizationsOutput from a dict"""
if obj is None:
return None
@@ -86,9 +89,8 @@ class ContainerDetail(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"image": obj.get("image"),
"name": obj.get("name"),
"resources": ResourceRequests.from_dict(obj["resources"]) if obj.get("resources") is not None else None
"cursor": obj.get("cursor"),
"organizations": [IamOrganization.from_dict(_item) for _item in obj["organizations"]] if obj.get("organizations") is not None else None
})
return _obj
@@ -22,14 +22,15 @@ from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class ModelToolCall(BaseModel):
class IamSetAvatarInput(BaseModel):
"""
ModelToolCall
IamSetAvatarInput
""" # noqa: E501
arguments: Optional[StrictStr] = None
content: Optional[StrictStr] = None
avatar: Optional[StrictStr] = None
emoji: Optional[StrictStr] = None
name: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["arguments", "content", "name"]
owner: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["avatar", "emoji", "name", "owner"]
model_config = ConfigDict(
populate_by_name=True,
@@ -49,7 +50,7 @@ class ModelToolCall(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ModelToolCall from a JSON string"""
"""Create an instance of IamSetAvatarInput from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -74,7 +75,7 @@ class ModelToolCall(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ModelToolCall from a dict"""
"""Create an instance of IamSetAvatarInput from a dict"""
if obj is None:
return None
@@ -82,9 +83,10 @@ class ModelToolCall(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"arguments": obj.get("arguments"),
"content": obj.get("content"),
"name": obj.get("name")
"avatar": obj.get("avatar"),
"emoji": obj.get("emoji"),
"name": obj.get("name"),
"owner": obj.get("owner")
})
return _obj
@@ -32,6 +32,7 @@ class IamUpdateOrganizationInput(BaseModel):
""" # noqa: E501
account_items: Optional[List[IamAccountItem]] = Field(default=None, alias="accountItems")
account_menu: Optional[StrictStr] = Field(default=None, alias="accountMenu")
avatar: Optional[StrictStr] = None
balance_credit: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="balanceCredit")
balance_currency: Optional[StrictStr] = Field(default=None, alias="balanceCurrency")
country_codes: Optional[List[StrictStr]] = Field(default=None, alias="countryCodes")
@@ -44,6 +45,7 @@ class IamUpdateOrganizationInput(BaseModel):
deleted: Optional[StrictBool] = None
disable_signin: Optional[StrictBool] = Field(default=None, alias="disableSignin")
display_name: Optional[StrictStr] = Field(default=None, alias="displayName")
emoji: Optional[StrictStr] = None
enable_soft_deletion: Optional[StrictBool] = Field(default=None, alias="enableSoftDeletion")
enable_tour: Optional[StrictBool] = Field(default=None, alias="enableTour")
failed_signin_frozen_time: Optional[StrictInt] = Field(default=None, alias="failedSigninFrozenTime")
@@ -89,7 +91,7 @@ class IamUpdateOrganizationInput(BaseModel):
user_types: Optional[List[StrictStr]] = Field(default=None, alias="userTypes")
website_url: Optional[StrictStr] = Field(default=None, alias="websiteUrl")
widget_items: Optional[List[StrictStr]] = Field(default=None, alias="widgetItems")
__properties: ClassVar[List[str]] = ["accountItems", "accountMenu", "balanceCredit", "balanceCurrency", "countryCodes", "createdAt", "createdTime", "dcrPolicy", "defaultApplication", "defaultAvatar", "defaultPassword", "deleted", "disableSignin", "displayName", "enableSoftDeletion", "enableTour", "failedSigninFrozenTime", "failedSigninLimit", "favicon", "founder", "hasPrivilegeConsent", "id", "initScore", "ipRestriction", "ipWhitelist", "isPersonal", "isProfilePublic", "kerberosKdcHost", "kerberosKeytab", "kerberosRealm", "kerberosServiceName", "languages", "ldapAttributes", "logo", "logoDark", "masterPassword", "masterVerificationCode", "mfaItems", "mfaRememberInHours", "name", "navItems", "orgBalance", "owner", "passwordExpireDays", "passwordObfuscatorKey", "passwordObfuscatorType", "passwordOptions", "passwordSalt", "passwordType", "tags", "themeData", "updatedAt", "useEmailAsUsername", "usePermanentAvatar", "userBalance", "userNavItems", "userTypes", "websiteUrl", "widgetItems"]
__properties: ClassVar[List[str]] = ["accountItems", "accountMenu", "avatar", "balanceCredit", "balanceCurrency", "countryCodes", "createdAt", "createdTime", "dcrPolicy", "defaultApplication", "defaultAvatar", "defaultPassword", "deleted", "disableSignin", "displayName", "emoji", "enableSoftDeletion", "enableTour", "failedSigninFrozenTime", "failedSigninLimit", "favicon", "founder", "hasPrivilegeConsent", "id", "initScore", "ipRestriction", "ipWhitelist", "isPersonal", "isProfilePublic", "kerberosKdcHost", "kerberosKeytab", "kerberosRealm", "kerberosServiceName", "languages", "ldapAttributes", "logo", "logoDark", "masterPassword", "masterVerificationCode", "mfaItems", "mfaRememberInHours", "name", "navItems", "orgBalance", "owner", "passwordExpireDays", "passwordObfuscatorKey", "passwordObfuscatorType", "passwordOptions", "passwordSalt", "passwordType", "tags", "themeData", "updatedAt", "useEmailAsUsername", "usePermanentAvatar", "userBalance", "userNavItems", "userTypes", "websiteUrl", "widgetItems"]
model_config = ConfigDict(
populate_by_name=True,
@@ -161,6 +163,7 @@ class IamUpdateOrganizationInput(BaseModel):
_obj = cls.model_validate({
"accountItems": [IamAccountItem.from_dict(_item) for _item in obj["accountItems"]] if obj.get("accountItems") is not None else None,
"accountMenu": obj.get("accountMenu"),
"avatar": obj.get("avatar"),
"balanceCredit": obj.get("balanceCredit"),
"balanceCurrency": obj.get("balanceCurrency"),
"countryCodes": obj.get("countryCodes"),
@@ -173,6 +176,7 @@ class IamUpdateOrganizationInput(BaseModel):
"deleted": obj.get("deleted"),
"disableSignin": obj.get("disableSignin"),
"displayName": obj.get("displayName"),
"emoji": obj.get("emoji"),
"enableSoftDeletion": obj.get("enableSoftDeletion"),
"enableTour": obj.get("enableTour"),
"failedSigninFrozenTime": obj.get("failedSigninFrozenTime"),
@@ -29,6 +29,7 @@ class IamWebauthnCredential(BaseModel):
""" # noqa: E501
aaguid: Optional[StrictStr] = None
attachment: Optional[StrictStr] = None
attestation_format: Optional[StrictStr] = Field(default=None, description="AttestationFormat is the statement format the authenticator attested in (\"packed\", \"apple\", \"none\", …), which is a DIFFERENT value from the attestation type above. The library reads it back when resolving the FIDO AppID extension, so a row that dropped it would round-trip a credential the verifier no longer recognises as the one it stored.", alias="attestationFormat")
attestation_type: Optional[StrictStr] = Field(default=None, alias="attestationType")
backup_eligible: Optional[StrictBool] = Field(default=None, alias="backupEligible")
backup_state: Optional[StrictBool] = Field(default=None, alias="backupState")
@@ -47,7 +48,7 @@ class IamWebauthnCredential(BaseModel):
user: Optional[StrictStr] = None
user_present: Optional[StrictBool] = Field(default=None, alias="userPresent")
user_verified: Optional[StrictBool] = Field(default=None, alias="userVerified")
__properties: ClassVar[List[str]] = ["aaguid", "attachment", "attestationType", "backupEligible", "backupState", "cloneWarning", "createdAt", "createdTime", "credentialId", "deleted", "id", "name", "owner", "publicKey", "signCount", "transport", "updatedAt", "user", "userPresent", "userVerified"]
__properties: ClassVar[List[str]] = ["aaguid", "attachment", "attestationFormat", "attestationType", "backupEligible", "backupState", "cloneWarning", "createdAt", "createdTime", "credentialId", "deleted", "id", "name", "owner", "publicKey", "signCount", "transport", "updatedAt", "user", "userPresent", "userVerified"]
model_config = ConfigDict(
populate_by_name=True,
@@ -102,6 +103,7 @@ class IamWebauthnCredential(BaseModel):
_obj = cls.model_validate({
"aaguid": obj.get("aaguid"),
"attachment": obj.get("attachment"),
"attestationFormat": obj.get("attestationFormat"),
"attestationType": obj.get("attestationType"),
"backupEligible": obj.get("backupEligible"),
"backupState": obj.get("backupState"),
+11 -9
View File
@@ -17,7 +17,7 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
@@ -26,12 +26,13 @@ class Integrity(BaseModel):
"""
Integrity
""" # noqa: E501
broken_at: Optional[StrictInt] = Field(default=None, description="BrokenAt is the seq of the FIRST record that failed verification, or -1 when OK. Reason describes the break (recomputed-hash mismatch, prev-hash discontinuity, or a seq gap).", alias="brokenAt")
count: Optional[StrictInt] = Field(default=None, description="Count is the number of records walked.")
head_hash: Optional[StrictStr] = Field(default=None, description="HeadHash is the hash of the last record (or the genesis anchor for an empty chain). Pin this externally over time to detect tail-truncation.", alias="headHash")
ok: Optional[StrictBool] = Field(default=None, description="OK is true iff every record's stored hash equals the recomputed hash AND the chain links are continuous (each PrevHash == the prior record's Hash, seqs gapless from 0).")
broken_at: Optional[StrictInt] = Field(default=None, description="BrokenAt is the seq of the FIRST record that failed verification, and -1 whenever the walk found no break (including an unread chain, where no seq was reached). Reason describes the break (recomputed-hash mismatch, prev-hash discontinuity, or a seq gap) or why the chain could not be read.", alias="brokenAt")
count: Optional[StrictInt] = Field(default=None, description="Count is the number of records walked. Zero on an unread chain, where it means \"nothing was read\", not \"the chain is empty\".")
head: Optional[StrictStr] = Field(default=None, description="Head is the hash of the last record (or the genesis anchor for an empty chain). Pin this externally over time to detect tail-truncation.")
name: Optional[StrictStr] = Field(default=None, description="Name is the chain this verdict is about, e.g. \"audit\" or \"audit-iam\". It is carried because a verdict with no chain on it reads as the whole trail's, which is what a reader of a 128-chain deployment did.")
reason: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["brokenAt", "count", "headHash", "ok", "reason"]
verdict: Optional[StrictStr] = Field(default=None, description="Verdict is intact, broken or unread.")
__properties: ClassVar[List[str]] = ["brokenAt", "count", "head", "name", "reason", "verdict"]
model_config = ConfigDict(
populate_by_name=True,
@@ -86,9 +87,10 @@ class Integrity(BaseModel):
_obj = cls.model_validate({
"brokenAt": obj.get("brokenAt"),
"count": obj.get("count"),
"headHash": obj.get("headHash"),
"ok": obj.get("ok"),
"reason": obj.get("reason")
"head": obj.get("head"),
"name": obj.get("name"),
"reason": obj.get("reason"),
"verdict": obj.get("verdict")
})
return _obj
-95
View File
@@ -1,95 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional
from hanzoai.cloud.models.lb_view import LbView
from typing import Optional, Set
from typing_extensions import Self
class LbList(BaseModel):
"""
LbList
""" # noqa: E501
load_balancers: Optional[List[LbView]] = Field(default=None, description="LoadBalancers are the caller org's load balancers under their friendly names.", alias="loadBalancers")
__properties: ClassVar[List[str]] = ["loadBalancers"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of LbList from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in load_balancers (list)
_items = []
if self.load_balancers:
for _item_load_balancers in self.load_balancers:
if _item_load_balancers:
_items.append(_item_load_balancers.to_dict())
_dict['loadBalancers'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of LbList from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"loadBalancers": [LbView.from_dict(_item) for _item in obj["loadBalancers"]] if obj.get("loadBalancers") is not None else None
})
return _obj
+17 -2
View File
@@ -17,6 +17,7 @@ import pprint
import re # noqa: F401
import json
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing import Optional, Set
@@ -26,13 +27,20 @@ class LeaderRow(BaseModel):
"""
LeaderRow
""" # noqa: E501
ci_high: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="CIHigh is the upper bound of that interval. Wilson rather than the normal approximation because the normal one produces bounds past 100 exactly where benchmark scores live — at 194/198 that is the top of the board, not a corner case.", alias="ciHigh")
ci_low: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="CILow and CIHigh are the 95% Wilson interval on Measured, in percent. They are what makes the score comparable: at n=198 a 98% carries roughly ±2 points, so most differences at the top of a board are not distinguishable and a bare number implies a precision it does not have. Absent when there is no measurement.", alias="ciLow")
claims: Optional[StrictInt] = Field(default=None, description="Claims is how many independent claims exist for this model on this benchmark. More than one means several sources reported it.")
gap: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="published − measured (the arena signal)")
mean: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Mean is the unweighted average of every claim, which answers a different question from Published: what the field says on average, rather than what the vendor says about itself. With one claim the two are equal.")
measured: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="hanzo-measured accuracy % (nil if unrun)")
measured_at: Optional[datetime] = Field(default=None, description="MeasuredAt is when the run behind Measured was recorded.", alias="measuredAt")
model: Optional[StrictStr] = Field(default=None, description="the model this row scores")
n: Optional[StrictInt] = Field(default=None, description="coverage — NEVER compare across different n")
protocol: Optional[StrictStr] = Field(default=None, description="how the vendor scored their claim: single-attempt, pass@k or agentic")
published: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="provider-claimed % (nil if none)")
__properties: ClassVar[List[str]] = ["gap", "measured", "model", "n", "protocol", "published"]
run: Optional[StrictStr] = Field(default=None, description="Run names the measurement Measured came from, and MeasuredAt is when it ran. A score with no date is not a fact about a model, it is a fact about a model on a day — and models change, so the date is what makes the number checkable rather than merely quoted.")
spread: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Spread is the distance between the highest and lowest of them, nil when there is only one. It is the disagreement AMONG sources, which a single Published number cannot show — signal in the same way the published-minus-measured gap is.")
__properties: ClassVar[List[str]] = ["ciHigh", "ciLow", "claims", "gap", "mean", "measured", "measuredAt", "model", "n", "protocol", "published", "run", "spread"]
model_config = ConfigDict(
populate_by_name=True,
@@ -85,12 +93,19 @@ class LeaderRow(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"ciHigh": obj.get("ciHigh"),
"ciLow": obj.get("ciLow"),
"claims": obj.get("claims"),
"gap": obj.get("gap"),
"mean": obj.get("mean"),
"measured": obj.get("measured"),
"measuredAt": obj.get("measuredAt"),
"model": obj.get("model"),
"n": obj.get("n"),
"protocol": obj.get("protocol"),
"published": obj.get("published")
"published": obj.get("published"),
"run": obj.get("run"),
"spread": obj.get("spread")
})
return _obj
@@ -22,13 +22,14 @@ from typing import Any, ClassVar, Dict, List, Optional, Union
from typing import Optional, Set
from typing_extensions import Self
class VectorScore(BaseModel):
class Match(BaseModel):
"""
VectorScore
Match
""" # noqa: E501
backend: Optional[StrictStr] = None
rank: Optional[StrictInt] = None
score: Optional[Union[StrictFloat, StrictInt]] = None
vector: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["score", "vector"]
__properties: ClassVar[List[str]] = ["backend", "rank", "score"]
model_config = ConfigDict(
populate_by_name=True,
@@ -48,7 +49,7 @@ class VectorScore(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of VectorScore from a JSON string"""
"""Create an instance of Match from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -73,7 +74,7 @@ class VectorScore(BaseModel):
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of VectorScore from a dict"""
"""Create an instance of Match from a dict"""
if obj is None:
return None
@@ -81,8 +82,9 @@ class VectorScore(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"score": obj.get("score"),
"vector": obj.get("vector")
"backend": obj.get("backend"),
"rank": obj.get("rank"),
"score": obj.get("score")
})
return _obj
-187
View File
@@ -1,187 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from hanzoai.cloud.models.model_search_result import ModelSearchResult
from hanzoai.cloud.models.model_tool_call import ModelToolCall
from hanzoai.cloud.models.suggestion import Suggestion
from hanzoai.cloud.models.vector_score import VectorScore
from typing import Optional, Set
from typing_extensions import Self
class Message(BaseModel):
"""
Message
""" # noqa: E501
answered_time: Optional[StrictStr] = Field(default=None, alias="answeredTime")
author: Optional[StrictStr] = None
chat: Optional[StrictStr] = None
claimed_time: Optional[StrictStr] = Field(default=None, alias="claimedTime")
comment: Optional[StrictStr] = None
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
currency: Optional[StrictStr] = None
dislike_users: Optional[List[StrictStr]] = Field(default=None, alias="dislikeUsers")
embedding_provider: Optional[StrictStr] = Field(default=None, alias="embeddingProvider")
error_text: Optional[StrictStr] = Field(default=None, alias="errorText")
file_name: Optional[StrictStr] = Field(default=None, alias="fileName")
is_alerted: Optional[StrictBool] = Field(default=None, alias="isAlerted")
is_deleted: Optional[StrictBool] = Field(default=None, alias="isDeleted")
is_hidden: Optional[StrictBool] = Field(default=None, alias="isHidden")
is_regenerated: Optional[StrictBool] = Field(default=None, alias="isRegenerated")
like_users: Optional[List[StrictStr]] = Field(default=None, alias="likeUsers")
model_provider: Optional[StrictStr] = Field(default=None, alias="modelProvider")
name: Optional[StrictStr] = None
need_notify: Optional[StrictBool] = Field(default=None, alias="needNotify")
organization: Optional[StrictStr] = None
owner: Optional[StrictStr] = None
price: Optional[Union[StrictFloat, StrictInt]] = None
reason_text: Optional[StrictStr] = Field(default=None, alias="reasonText")
reply_to: Optional[StrictStr] = Field(default=None, alias="replyTo")
search_results: Optional[List[ModelSearchResult]] = Field(default=None, alias="searchResults")
store: Optional[StrictStr] = None
suggestions: Optional[List[Suggestion]] = None
text: Optional[StrictStr] = None
text_token_count: Optional[StrictInt] = Field(default=None, alias="textTokenCount")
token_count: Optional[StrictInt] = Field(default=None, alias="tokenCount")
tool_calls: Optional[List[ModelToolCall]] = Field(default=None, alias="toolCalls")
transaction_id: Optional[StrictStr] = Field(default=None, alias="transactionId")
user: Optional[StrictStr] = None
vector_scores: Optional[List[VectorScore]] = Field(default=None, alias="vectorScores")
web_search_enabled: Optional[StrictBool] = Field(default=None, alias="webSearchEnabled")
__properties: ClassVar[List[str]] = ["answeredTime", "author", "chat", "claimedTime", "comment", "createdTime", "currency", "dislikeUsers", "embeddingProvider", "errorText", "fileName", "isAlerted", "isDeleted", "isHidden", "isRegenerated", "likeUsers", "modelProvider", "name", "needNotify", "organization", "owner", "price", "reasonText", "replyTo", "searchResults", "store", "suggestions", "text", "textTokenCount", "tokenCount", "toolCalls", "transactionId", "user", "vectorScores", "webSearchEnabled"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of Message from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in search_results (list)
_items = []
if self.search_results:
for _item_search_results in self.search_results:
if _item_search_results:
_items.append(_item_search_results.to_dict())
_dict['searchResults'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in suggestions (list)
_items = []
if self.suggestions:
for _item_suggestions in self.suggestions:
if _item_suggestions:
_items.append(_item_suggestions.to_dict())
_dict['suggestions'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in tool_calls (list)
_items = []
if self.tool_calls:
for _item_tool_calls in self.tool_calls:
if _item_tool_calls:
_items.append(_item_tool_calls.to_dict())
_dict['toolCalls'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in vector_scores (list)
_items = []
if self.vector_scores:
for _item_vector_scores in self.vector_scores:
if _item_vector_scores:
_items.append(_item_vector_scores.to_dict())
_dict['vectorScores'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Message from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"answeredTime": obj.get("answeredTime"),
"author": obj.get("author"),
"chat": obj.get("chat"),
"claimedTime": obj.get("claimedTime"),
"comment": obj.get("comment"),
"createdTime": obj.get("createdTime"),
"currency": obj.get("currency"),
"dislikeUsers": obj.get("dislikeUsers"),
"embeddingProvider": obj.get("embeddingProvider"),
"errorText": obj.get("errorText"),
"fileName": obj.get("fileName"),
"isAlerted": obj.get("isAlerted"),
"isDeleted": obj.get("isDeleted"),
"isHidden": obj.get("isHidden"),
"isRegenerated": obj.get("isRegenerated"),
"likeUsers": obj.get("likeUsers"),
"modelProvider": obj.get("modelProvider"),
"name": obj.get("name"),
"needNotify": obj.get("needNotify"),
"organization": obj.get("organization"),
"owner": obj.get("owner"),
"price": obj.get("price"),
"reasonText": obj.get("reasonText"),
"replyTo": obj.get("replyTo"),
"searchResults": [ModelSearchResult.from_dict(_item) for _item in obj["searchResults"]] if obj.get("searchResults") is not None else None,
"store": obj.get("store"),
"suggestions": [Suggestion.from_dict(_item) for _item in obj["suggestions"]] if obj.get("suggestions") is not None else None,
"text": obj.get("text"),
"textTokenCount": obj.get("textTokenCount"),
"tokenCount": obj.get("tokenCount"),
"toolCalls": [ModelToolCall.from_dict(_item) for _item in obj["toolCalls"]] if obj.get("toolCalls") is not None else None,
"transactionId": obj.get("transactionId"),
"user": obj.get("user"),
"vectorScores": [VectorScore.from_dict(_item) for _item in obj["vectorScores"]] if obj.get("vectorScores") is not None else None,
"webSearchEnabled": obj.get("webSearchEnabled")
})
return _obj
@@ -19,19 +19,18 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from hanzoai.cloud.models.run_point import RunPoint
from typing import Optional, Set
from typing_extensions import Self
class ResourceMetrics(BaseModel):
class ModelHistory(BaseModel):
"""
ResourceMetrics
ModelHistory
""" # noqa: E501
cpu_percentage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="cpuPercentage")
cpu_usage: Optional[StrictStr] = Field(default=None, alias="cpuUsage")
memory_percentage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="memoryPercentage")
memory_usage: Optional[StrictStr] = Field(default=None, alias="memoryUsage")
pod_count: Optional[StrictInt] = Field(default=None, alias="podCount")
__properties: ClassVar[List[str]] = ["cpuPercentage", "cpuUsage", "memoryPercentage", "memoryUsage", "podCount"]
model: Optional[StrictStr] = Field(default=None, description="Model is the system these runs measured.")
points: Optional[List[RunPoint]] = Field(default=None, description="Points is every run, oldest first.")
trend: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Trend is the change from the first run to the last, absent when there has only been one. It answers the question a list of points makes you compute.")
__properties: ClassVar[List[str]] = ["model", "points", "trend"]
model_config = ConfigDict(
populate_by_name=True,
@@ -51,7 +50,7 @@ class ResourceMetrics(BaseModel):
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ResourceMetrics from a JSON string"""
"""Create an instance of ModelHistory from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
@@ -72,11 +71,18 @@ class ResourceMetrics(BaseModel):
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in points (list)
_items = []
if self.points:
for _item_points in self.points:
if _item_points:
_items.append(_item_points.to_dict())
_dict['points'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ResourceMetrics from a dict"""
"""Create an instance of ModelHistory from a dict"""
if obj is None:
return None
@@ -84,11 +90,9 @@ class ResourceMetrics(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"cpuPercentage": obj.get("cpuPercentage"),
"cpuUsage": obj.get("cpuUsage"),
"memoryPercentage": obj.get("memoryPercentage"),
"memoryUsage": obj.get("memoryUsage"),
"podCount": obj.get("podCount")
"model": obj.get("model"),
"points": [RunPoint.from_dict(_item) for _item in obj["points"]] if obj.get("points") is not None else None,
"trend": obj.get("trend")
})
return _obj
-121
View File
@@ -1,121 +0,0 @@
# coding: utf-8
"""
Hanzo Cloud API
Composed from each subsystem's own projection of its router, in the fleet's mount order — every operation below is a route the subsystem that publishes it registered. Tagged by product: the first path segment after /v1/.
The version of the OpenAPI document: v1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing import Optional, Set
from typing_extensions import Self
class ModelRoute(BaseModel):
"""
ModelRoute
""" # noqa: E501
cost_in_per_million: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="costInPerMillion")
cost_out_per_million: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="costOutPerMillion")
created_time: Optional[StrictStr] = Field(default=None, alias="createdTime")
enabled: Optional[StrictBool] = None
fallback1_provider: Optional[StrictStr] = Field(default=None, alias="fallback1Provider")
fallback1_upstream: Optional[StrictStr] = Field(default=None, alias="fallback1Upstream")
fallback2_provider: Optional[StrictStr] = Field(default=None, alias="fallback2Provider")
fallback2_upstream: Optional[StrictStr] = Field(default=None, alias="fallback2Upstream")
hidden: Optional[StrictBool] = None
input_price_per_million: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="inputPricePerMillion")
model_name: Optional[StrictStr] = Field(default=None, alias="modelName")
output_price_per_million: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="outputPricePerMillion")
owned_by: Optional[StrictStr] = Field(default=None, alias="ownedBy")
owner: Optional[StrictStr] = None
premium: Optional[StrictBool] = None
provider: Optional[StrictStr] = None
updated_time: Optional[StrictStr] = Field(default=None, alias="updatedTime")
upstream: Optional[StrictStr] = None
__properties: ClassVar[List[str]] = ["costInPerMillion", "costOutPerMillion", "createdTime", "enabled", "fallback1Provider", "fallback1Upstream", "fallback2Provider", "fallback2Upstream", "hidden", "inputPricePerMillion", "modelName", "outputPricePerMillion", "ownedBy", "owner", "premium", "provider", "updatedTime", "upstream"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ModelRoute from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ModelRoute from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"costInPerMillion": obj.get("costInPerMillion"),
"costOutPerMillion": obj.get("costOutPerMillion"),
"createdTime": obj.get("createdTime"),
"enabled": obj.get("enabled"),
"fallback1Provider": obj.get("fallback1Provider"),
"fallback1Upstream": obj.get("fallback1Upstream"),
"fallback2Provider": obj.get("fallback2Provider"),
"fallback2Upstream": obj.get("fallback2Upstream"),
"hidden": obj.get("hidden"),
"inputPricePerMillion": obj.get("inputPricePerMillion"),
"modelName": obj.get("modelName"),
"outputPricePerMillion": obj.get("outputPricePerMillion"),
"ownedBy": obj.get("ownedBy"),
"owner": obj.get("owner"),
"premium": obj.get("premium"),
"provider": obj.get("provider"),
"updatedTime": obj.get("updatedTime"),
"upstream": obj.get("upstream")
})
return _obj

Some files were not shown because too many files have changed in this diff Show More