robosystems-client 0.2.15__py3-none-any.whl → 0.2.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of robosystems-client might be problematic. Click here for more details.

Files changed (371) hide show
  1. robosystems_client/api/agent/auto_select_agent.py +23 -27
  2. robosystems_client/api/agent/batch_process_queries.py +13 -13
  3. robosystems_client/api/agent/execute_specific_agent.py +23 -27
  4. robosystems_client/api/agent/get_agent_metadata.py +13 -13
  5. robosystems_client/api/agent/list_agents.py +23 -23
  6. robosystems_client/api/agent/recommend_agent.py +13 -13
  7. robosystems_client/api/auth/check_password_strength.py +17 -17
  8. robosystems_client/api/auth/complete_sso_auth.py +17 -17
  9. robosystems_client/api/auth/forgot_password.py +17 -23
  10. robosystems_client/api/auth/generate_sso_token.py +26 -26
  11. robosystems_client/api/auth/get_captcha_config.py +6 -6
  12. robosystems_client/api/auth/get_current_auth_user.py +17 -17
  13. robosystems_client/api/auth/get_password_policy.py +10 -10
  14. robosystems_client/api/auth/login_user.py +17 -17
  15. robosystems_client/api/auth/logout_user.py +10 -10
  16. robosystems_client/api/auth/refresh_auth_session.py +17 -17
  17. robosystems_client/api/auth/register_user.py +17 -17
  18. robosystems_client/api/auth/resend_verification_email.py +17 -29
  19. robosystems_client/api/auth/reset_password.py +17 -17
  20. robosystems_client/api/auth/sso_token_exchange.py +17 -17
  21. robosystems_client/api/auth/validate_reset_token.py +17 -17
  22. robosystems_client/api/auth/verify_email.py +17 -17
  23. robosystems_client/api/backup/create_backup.py +13 -13
  24. robosystems_client/api/backup/get_backup_download_url.py +22 -22
  25. robosystems_client/api/backup/get_backup_stats.py +13 -13
  26. robosystems_client/api/backup/list_backups.py +31 -31
  27. robosystems_client/api/backup/restore_backup.py +13 -13
  28. robosystems_client/api/billing/cancel_org_subscription.py +13 -13
  29. robosystems_client/api/billing/create_checkout_session.py +13 -13
  30. robosystems_client/api/billing/create_portal_session.py +13 -13
  31. robosystems_client/api/billing/get_checkout_status.py +13 -13
  32. robosystems_client/api/billing/get_org_billing_customer.py +13 -13
  33. robosystems_client/api/billing/get_org_subscription.py +13 -13
  34. robosystems_client/api/billing/get_org_upcoming_invoice.py +16 -16
  35. robosystems_client/api/billing/list_org_invoices.py +22 -22
  36. robosystems_client/api/billing/list_org_subscriptions.py +13 -13
  37. robosystems_client/api/connections/create_connection.py +13 -13
  38. robosystems_client/api/connections/create_link_token.py +13 -13
  39. robosystems_client/api/connections/delete_connection.py +13 -13
  40. robosystems_client/api/connections/exchange_link_token.py +13 -13
  41. robosystems_client/api/connections/get_connection.py +13 -13
  42. robosystems_client/api/connections/get_connection_options.py +13 -13
  43. robosystems_client/api/connections/init_o_auth.py +13 -13
  44. robosystems_client/api/connections/list_connections.py +33 -33
  45. robosystems_client/api/connections/oauth_callback.py +13 -13
  46. robosystems_client/api/connections/sync_connection.py +13 -19
  47. robosystems_client/api/credits_/check_credit_balance.py +38 -45
  48. robosystems_client/api/credits_/check_storage_limits.py +13 -13
  49. robosystems_client/api/credits_/get_credit_summary.py +13 -13
  50. robosystems_client/api/credits_/get_storage_usage.py +28 -28
  51. robosystems_client/api/credits_/list_credit_transactions.py +71 -71
  52. robosystems_client/api/files/__init__.py +1 -0
  53. robosystems_client/api/files/create_file_upload.py +311 -0
  54. robosystems_client/api/files/delete_file.py +354 -0
  55. robosystems_client/api/files/get_file.py +329 -0
  56. robosystems_client/api/files/list_files.py +346 -0
  57. robosystems_client/api/files/update_file.py +320 -0
  58. robosystems_client/api/graph_health/get_database_health.py +13 -13
  59. robosystems_client/api/graph_info/get_database_info.py +13 -13
  60. robosystems_client/api/graph_limits/get_graph_limits.py +13 -13
  61. robosystems_client/api/graphs/create_graph.py +13 -13
  62. robosystems_client/api/graphs/get_available_extensions.py +13 -13
  63. robosystems_client/api/graphs/get_available_graph_tiers.py +22 -22
  64. robosystems_client/api/graphs/get_graphs.py +13 -13
  65. robosystems_client/api/graphs/select_graph.py +13 -13
  66. robosystems_client/api/materialization/__init__.py +1 -0
  67. robosystems_client/api/materialization/get_materialization_status.py +272 -0
  68. robosystems_client/api/materialization/materialize_graph.py +416 -0
  69. robosystems_client/api/mcp/call_mcp_tool.py +32 -32
  70. robosystems_client/api/mcp/list_mcp_tools.py +13 -13
  71. robosystems_client/api/operations/cancel_operation.py +13 -13
  72. robosystems_client/api/operations/get_operation_status.py +13 -25
  73. robosystems_client/api/operations/stream_operation_events.py +41 -41
  74. robosystems_client/api/org/create_org.py +13 -13
  75. robosystems_client/api/org/get_org.py +13 -13
  76. robosystems_client/api/org/list_org_graphs.py +13 -13
  77. robosystems_client/api/org/list_user_orgs.py +6 -6
  78. robosystems_client/api/org/update_org.py +13 -13
  79. robosystems_client/api/org_members/invite_org_member.py +13 -13
  80. robosystems_client/api/org_members/list_org_members.py +13 -13
  81. robosystems_client/api/org_members/remove_org_member.py +13 -13
  82. robosystems_client/api/org_members/update_org_member_role.py +13 -13
  83. robosystems_client/api/org_usage/get_org_limits.py +13 -13
  84. robosystems_client/api/org_usage/get_org_usage.py +22 -22
  85. robosystems_client/api/query/execute_cypher_query.py +74 -62
  86. robosystems_client/api/schema/export_graph_schema.py +35 -35
  87. robosystems_client/api/schema/get_graph_schema.py +13 -13
  88. robosystems_client/api/schema/validate_schema.py +13 -13
  89. robosystems_client/api/service_offerings/get_service_offerings.py +17 -17
  90. robosystems_client/api/status/get_service_status.py +10 -10
  91. robosystems_client/api/subgraphs/create_subgraph.py +64 -28
  92. robosystems_client/api/subgraphs/delete_subgraph.py +13 -13
  93. robosystems_client/api/subgraphs/get_subgraph_info.py +13 -13
  94. robosystems_client/api/subgraphs/get_subgraph_quota.py +13 -13
  95. robosystems_client/api/subgraphs/list_subgraphs.py +13 -13
  96. robosystems_client/api/subscriptions/create_repository_subscription.py +13 -13
  97. robosystems_client/api/subscriptions/get_graph_subscription.py +13 -13
  98. robosystems_client/api/subscriptions/upgrade_subscription.py +13 -13
  99. robosystems_client/api/tables/list_tables.py +13 -13
  100. robosystems_client/api/tables/query_tables.py +13 -13
  101. robosystems_client/api/usage/get_graph_metrics.py +13 -13
  102. robosystems_client/api/usage/get_graph_usage_analytics.py +66 -66
  103. robosystems_client/api/user/create_user_api_key.py +13 -13
  104. robosystems_client/api/user/get_current_user.py +6 -6
  105. robosystems_client/api/user/list_user_api_keys.py +6 -6
  106. robosystems_client/api/user/revoke_user_api_key.py +13 -13
  107. robosystems_client/api/user/update_user.py +13 -13
  108. robosystems_client/api/user/update_user_api_key.py +13 -13
  109. robosystems_client/api/user/update_user_password.py +13 -13
  110. robosystems_client/api/views/__init__.py +1 -0
  111. robosystems_client/api/views/create_view.py +245 -0
  112. robosystems_client/api/views/save_view.py +299 -0
  113. robosystems_client/client.py +13 -13
  114. robosystems_client/extensions/__init__.py +39 -0
  115. robosystems_client/extensions/element_mapping_client.py +585 -0
  116. robosystems_client/extensions/subgraph_workspace_client.py +744 -0
  117. robosystems_client/extensions/table_ingest_client.py +24 -23
  118. robosystems_client/extensions/view_builder_client.py +617 -0
  119. robosystems_client/models/__init__.py +34 -10
  120. robosystems_client/models/account_info.py +2 -0
  121. robosystems_client/models/agent_list_response.py +3 -1
  122. robosystems_client/models/agent_list_response_agents.py +5 -3
  123. robosystems_client/models/agent_list_response_agents_additional_property.py +2 -0
  124. robosystems_client/models/agent_message.py +9 -7
  125. robosystems_client/models/agent_metadata_response.py +11 -9
  126. robosystems_client/models/agent_recommendation.py +8 -6
  127. robosystems_client/models/agent_recommendation_request.py +9 -7
  128. robosystems_client/models/agent_recommendation_request_context_type_0.py +2 -0
  129. robosystems_client/models/agent_recommendation_response.py +4 -2
  130. robosystems_client/models/agent_request.py +41 -40
  131. robosystems_client/models/agent_request_context_type_0.py +2 -0
  132. robosystems_client/models/agent_response.py +42 -44
  133. robosystems_client/models/agent_response_error_details_type_0.py +2 -0
  134. robosystems_client/models/agent_response_metadata_type_0.py +2 -0
  135. robosystems_client/models/agent_response_tokens_used_type_0.py +2 -0
  136. robosystems_client/models/api_key_info.py +18 -16
  137. robosystems_client/models/api_keys_response.py +4 -2
  138. robosystems_client/models/auth_response.py +26 -24
  139. robosystems_client/models/auth_response_org_type_0.py +2 -0
  140. robosystems_client/models/auth_response_user.py +2 -0
  141. robosystems_client/models/available_extension.py +5 -3
  142. robosystems_client/models/available_extensions_response.py +4 -2
  143. robosystems_client/models/available_graph_tiers_response.py +4 -2
  144. robosystems_client/models/backup_create_request.py +18 -16
  145. robosystems_client/models/backup_download_url_response.py +2 -0
  146. robosystems_client/models/backup_limits.py +2 -0
  147. robosystems_client/models/backup_list_response.py +4 -2
  148. robosystems_client/models/backup_response.py +13 -11
  149. robosystems_client/models/backup_restore_request.py +7 -6
  150. robosystems_client/models/backup_stats_response.py +9 -7
  151. robosystems_client/models/backup_stats_response_backup_formats.py +2 -0
  152. robosystems_client/models/batch_agent_request.py +7 -5
  153. robosystems_client/models/batch_agent_response.py +4 -2
  154. robosystems_client/models/billing_customer.py +10 -8
  155. robosystems_client/models/cancel_operation_response_canceloperation.py +2 -0
  156. robosystems_client/models/check_credit_balance_response_checkcreditbalance.py +2 -0
  157. robosystems_client/models/checkout_response.py +22 -20
  158. robosystems_client/models/checkout_status_response.py +19 -17
  159. robosystems_client/models/connection_options_response.py +4 -2
  160. robosystems_client/models/connection_provider_info.py +26 -24
  161. robosystems_client/models/connection_response.py +14 -12
  162. robosystems_client/models/connection_response_metadata.py +2 -0
  163. robosystems_client/models/copy_operation_limits.py +2 -0
  164. robosystems_client/models/create_api_key_request.py +13 -11
  165. robosystems_client/models/create_api_key_response.py +3 -1
  166. robosystems_client/models/create_checkout_request.py +3 -1
  167. robosystems_client/models/create_checkout_request_resource_config.py +2 -0
  168. robosystems_client/models/create_connection_request.py +21 -21
  169. robosystems_client/models/create_graph_request.py +25 -25
  170. robosystems_client/models/create_org_request.py +7 -5
  171. robosystems_client/models/create_repository_subscription_request.py +2 -0
  172. robosystems_client/models/create_subgraph_request.py +30 -19
  173. robosystems_client/models/create_subgraph_request_metadata_type_0.py +2 -0
  174. robosystems_client/models/create_view_request.py +141 -0
  175. robosystems_client/models/credit_limits.py +2 -0
  176. robosystems_client/models/credit_summary.py +3 -1
  177. robosystems_client/models/credit_summary_operation_breakdown.py +2 -0
  178. robosystems_client/models/credit_summary_response.py +8 -6
  179. robosystems_client/models/custom_schema_definition.py +39 -33
  180. robosystems_client/models/custom_schema_definition_metadata.py +2 -0
  181. robosystems_client/models/custom_schema_definition_nodes_item.py +2 -0
  182. robosystems_client/models/custom_schema_definition_relationships_item.py +2 -0
  183. robosystems_client/models/cypher_query_request.py +15 -13
  184. robosystems_client/models/cypher_query_request_parameters_type_0.py +2 -0
  185. robosystems_client/models/database_health_response.py +21 -19
  186. robosystems_client/models/database_info_response.py +13 -11
  187. robosystems_client/models/delete_file_response.py +54 -1
  188. robosystems_client/models/delete_subgraph_request.py +12 -10
  189. robosystems_client/models/delete_subgraph_response.py +13 -11
  190. robosystems_client/models/detailed_transactions_response.py +6 -4
  191. robosystems_client/models/detailed_transactions_response_date_range.py +2 -0
  192. robosystems_client/models/detailed_transactions_response_summary.py +5 -3
  193. robosystems_client/models/email_verification_request.py +2 -0
  194. robosystems_client/models/enhanced_credit_transaction_response.py +24 -22
  195. robosystems_client/models/enhanced_credit_transaction_response_metadata.py +2 -0
  196. robosystems_client/models/enhanced_file_status_layers.py +83 -0
  197. robosystems_client/models/error_response.py +19 -17
  198. robosystems_client/models/exchange_token_request.py +9 -7
  199. robosystems_client/models/exchange_token_request_metadata_type_0.py +2 -0
  200. robosystems_client/models/execute_cypher_query_response_200.py +25 -21
  201. robosystems_client/models/execute_cypher_query_response_200_data_item.py +2 -0
  202. robosystems_client/models/fact_detail.py +109 -0
  203. robosystems_client/models/file_info.py +18 -16
  204. robosystems_client/models/file_layer_status.py +123 -0
  205. robosystems_client/models/file_status_update.py +14 -0
  206. robosystems_client/models/file_upload_request.py +25 -3
  207. robosystems_client/models/file_upload_response.py +2 -0
  208. robosystems_client/models/forgot_password_request.py +2 -0
  209. robosystems_client/models/forgot_password_response_forgotpassword.py +2 -0
  210. robosystems_client/models/get_current_auth_user_response_getcurrentauthuser.py +2 -0
  211. robosystems_client/models/get_file_info_response.py +62 -21
  212. robosystems_client/models/get_operation_status_response_getoperationstatus.py +2 -0
  213. robosystems_client/models/get_storage_usage_response_getstorageusage.py +2 -0
  214. robosystems_client/models/graph_info.py +10 -8
  215. robosystems_client/models/graph_limits_response.py +14 -12
  216. robosystems_client/models/graph_metadata.py +14 -12
  217. robosystems_client/models/graph_metrics_response.py +17 -15
  218. robosystems_client/models/graph_metrics_response_estimated_size.py +2 -0
  219. robosystems_client/models/graph_metrics_response_health_status.py +2 -0
  220. robosystems_client/models/graph_metrics_response_node_counts.py +2 -0
  221. robosystems_client/models/graph_metrics_response_relationship_counts.py +2 -0
  222. robosystems_client/models/graph_subscription_response.py +28 -26
  223. robosystems_client/models/graph_subscription_tier.py +15 -13
  224. robosystems_client/models/graph_subscriptions.py +5 -3
  225. robosystems_client/models/graph_tier_backup.py +2 -0
  226. robosystems_client/models/graph_tier_copy_operations.py +2 -0
  227. robosystems_client/models/graph_tier_info.py +15 -13
  228. robosystems_client/models/graph_tier_instance.py +2 -0
  229. robosystems_client/models/graph_tier_limits.py +10 -8
  230. robosystems_client/models/graph_usage_response.py +32 -30
  231. robosystems_client/models/graph_usage_response_recent_events_item.py +2 -0
  232. robosystems_client/models/health_status.py +9 -7
  233. robosystems_client/models/health_status_details_type_0.py +2 -0
  234. robosystems_client/models/http_validation_error.py +12 -8
  235. robosystems_client/models/initial_entity_data.py +38 -36
  236. robosystems_client/models/invite_member_request.py +9 -7
  237. robosystems_client/models/invoice.py +35 -33
  238. robosystems_client/models/invoice_line_item.py +13 -11
  239. robosystems_client/models/invoices_response.py +4 -2
  240. robosystems_client/models/link_token_request.py +21 -23
  241. robosystems_client/models/link_token_request_options_type_0.py +2 -0
  242. robosystems_client/models/list_org_graphs_response_200_item.py +2 -0
  243. robosystems_client/models/list_subgraphs_response.py +15 -13
  244. robosystems_client/models/list_table_files_response.py +27 -11
  245. robosystems_client/models/login_request.py +2 -0
  246. robosystems_client/models/logout_user_response_logoutuser.py +2 -0
  247. robosystems_client/models/{bulk_ingest_request.py → materialize_request.py} +25 -15
  248. robosystems_client/models/materialize_response.py +131 -0
  249. robosystems_client/models/materialize_status_response.py +172 -0
  250. robosystems_client/models/mcp_tool_call.py +7 -5
  251. robosystems_client/models/mcp_tool_call_arguments.py +2 -0
  252. robosystems_client/models/mcp_tools_response.py +4 -2
  253. robosystems_client/models/mcp_tools_response_tools_item.py +2 -0
  254. robosystems_client/models/o_auth_callback_request.py +18 -16
  255. robosystems_client/models/o_auth_init_request.py +14 -12
  256. robosystems_client/models/o_auth_init_request_additional_params_type_0.py +2 -0
  257. robosystems_client/models/o_auth_init_response.py +2 -0
  258. robosystems_client/models/offering_repository_plan.py +9 -7
  259. robosystems_client/models/offering_repository_plan_rate_limits_type_0.py +8 -8
  260. robosystems_client/models/operation_costs.py +4 -2
  261. robosystems_client/models/operation_costs_ai_operations.py +2 -0
  262. robosystems_client/models/operation_costs_token_pricing.py +5 -3
  263. robosystems_client/models/org_detail_response.py +13 -11
  264. robosystems_client/models/org_detail_response_graphs_item.py +2 -0
  265. robosystems_client/models/org_detail_response_limits_type_0.py +2 -0
  266. robosystems_client/models/org_detail_response_members_item.py +2 -0
  267. robosystems_client/models/org_limits_response.py +3 -1
  268. robosystems_client/models/org_limits_response_current_usage.py +2 -0
  269. robosystems_client/models/org_list_response.py +4 -2
  270. robosystems_client/models/org_member_list_response.py +4 -2
  271. robosystems_client/models/org_member_response.py +2 -0
  272. robosystems_client/models/org_response.py +2 -0
  273. robosystems_client/models/org_usage_response.py +7 -5
  274. robosystems_client/models/org_usage_response_daily_trend_item.py +2 -0
  275. robosystems_client/models/org_usage_response_graph_details_item.py +2 -0
  276. robosystems_client/models/org_usage_summary.py +18 -16
  277. robosystems_client/models/password_check_request.py +8 -6
  278. robosystems_client/models/password_check_response.py +3 -1
  279. robosystems_client/models/password_check_response_character_types.py +2 -0
  280. robosystems_client/models/password_policy_response.py +3 -1
  281. robosystems_client/models/password_policy_response_policy.py +2 -0
  282. robosystems_client/models/payment_method.py +23 -21
  283. robosystems_client/models/performance_insights.py +5 -3
  284. robosystems_client/models/performance_insights_operation_stats.py +2 -0
  285. robosystems_client/models/performance_insights_slow_queries_item.py +2 -0
  286. robosystems_client/models/plaid_connection_config.py +30 -30
  287. robosystems_client/models/plaid_connection_config_accounts_type_0_item.py +2 -0
  288. robosystems_client/models/plaid_connection_config_institution_type_0.py +2 -0
  289. robosystems_client/models/portal_session_response.py +2 -0
  290. robosystems_client/models/query_limits.py +2 -0
  291. robosystems_client/models/quick_books_connection_config.py +13 -11
  292. robosystems_client/models/rate_limits.py +2 -0
  293. robosystems_client/models/register_request.py +8 -6
  294. robosystems_client/models/repository_info.py +4 -2
  295. robosystems_client/models/repository_subscriptions.py +4 -2
  296. robosystems_client/models/resend_verification_email_response_resendverificationemail.py +2 -0
  297. robosystems_client/models/reset_password_request.py +2 -0
  298. robosystems_client/models/reset_password_validate_response.py +8 -6
  299. robosystems_client/models/save_view_request.py +138 -0
  300. robosystems_client/models/save_view_response.py +181 -0
  301. robosystems_client/models/schema_export_response.py +16 -14
  302. robosystems_client/models/schema_export_response_data_stats_type_0.py +2 -0
  303. robosystems_client/models/schema_export_response_schema_definition_type_0.py +2 -0
  304. robosystems_client/models/schema_info_response.py +3 -1
  305. robosystems_client/models/schema_info_response_schema.py +2 -0
  306. robosystems_client/models/schema_validation_request.py +18 -17
  307. robosystems_client/models/schema_validation_request_schema_definition_type_0.py +2 -0
  308. robosystems_client/models/schema_validation_response.py +28 -33
  309. robosystems_client/models/schema_validation_response_compatibility_type_0.py +2 -0
  310. robosystems_client/models/schema_validation_response_stats_type_0.py +2 -0
  311. robosystems_client/models/sec_connection_config.py +8 -6
  312. robosystems_client/models/selection_criteria.py +19 -17
  313. robosystems_client/models/service_offering_summary.py +2 -0
  314. robosystems_client/models/service_offerings_response.py +6 -4
  315. robosystems_client/models/sso_complete_request.py +2 -0
  316. robosystems_client/models/sso_exchange_request.py +8 -6
  317. robosystems_client/models/sso_exchange_response.py +2 -0
  318. robosystems_client/models/sso_token_response.py +2 -0
  319. robosystems_client/models/storage_info.py +4 -2
  320. robosystems_client/models/storage_info_included_per_tier.py +2 -0
  321. robosystems_client/models/storage_info_overage_pricing.py +2 -0
  322. robosystems_client/models/storage_limit_response.py +9 -7
  323. robosystems_client/models/storage_limits.py +8 -6
  324. robosystems_client/models/storage_summary.py +2 -0
  325. robosystems_client/models/structure_detail.py +85 -0
  326. robosystems_client/models/subgraph_quota_response.py +23 -21
  327. robosystems_client/models/subgraph_response.py +35 -35
  328. robosystems_client/models/subgraph_response_metadata_type_0.py +2 -0
  329. robosystems_client/models/subgraph_summary.py +14 -12
  330. robosystems_client/models/success_response.py +11 -9
  331. robosystems_client/models/success_response_data_type_0.py +2 -0
  332. robosystems_client/models/sync_connection_request.py +11 -9
  333. robosystems_client/models/sync_connection_request_sync_options_type_0.py +2 -0
  334. robosystems_client/models/sync_connection_response_syncconnection.py +2 -0
  335. robosystems_client/models/table_info.py +12 -10
  336. robosystems_client/models/table_list_response.py +4 -2
  337. robosystems_client/models/table_query_request.py +9 -7
  338. robosystems_client/models/table_query_response.py +2 -0
  339. robosystems_client/models/token_pricing.py +2 -0
  340. robosystems_client/models/transaction_summary_response.py +13 -11
  341. robosystems_client/models/upcoming_invoice.py +10 -8
  342. robosystems_client/models/update_api_key_request.py +13 -11
  343. robosystems_client/models/{update_file_status_response_updatefilestatus.py → update_file_response_updatefile.py} +7 -5
  344. robosystems_client/models/update_member_role_request.py +2 -0
  345. robosystems_client/models/update_org_request.py +14 -12
  346. robosystems_client/models/update_password_request.py +2 -0
  347. robosystems_client/models/update_user_request.py +13 -11
  348. robosystems_client/models/upgrade_subscription_request.py +2 -0
  349. robosystems_client/models/user_graphs_response.py +10 -8
  350. robosystems_client/models/user_response.py +22 -18
  351. robosystems_client/models/validation_error.py +8 -6
  352. robosystems_client/models/view_axis_config.py +276 -0
  353. robosystems_client/models/view_axis_config_element_labels_type_0.py +46 -0
  354. robosystems_client/models/view_axis_config_member_labels_type_0.py +46 -0
  355. robosystems_client/models/view_config.py +127 -0
  356. robosystems_client/models/view_source.py +144 -0
  357. robosystems_client/models/view_source_type.py +9 -0
  358. robosystems_client/types.py +9 -9
  359. {robosystems_client-0.2.15.dist-info → robosystems_client-0.2.16.dist-info}/METADATA +1 -1
  360. robosystems_client-0.2.16.dist-info/RECORD +418 -0
  361. robosystems_client/api/tables/delete_file.py +0 -317
  362. robosystems_client/api/tables/get_file_info.py +0 -249
  363. robosystems_client/api/tables/get_upload_url.py +0 -380
  364. robosystems_client/api/tables/ingest_tables.py +0 -456
  365. robosystems_client/api/tables/list_table_files.py +0 -329
  366. robosystems_client/api/tables/update_file_status.py +0 -395
  367. robosystems_client/models/bulk_ingest_response.py +0 -137
  368. robosystems_client/models/table_ingest_result.py +0 -107
  369. robosystems_client-0.2.15.dist-info/RECORD +0 -396
  370. {robosystems_client-0.2.15.dist-info → robosystems_client-0.2.16.dist-info}/WHEEL +0 -0
  371. {robosystems_client-0.2.15.dist-info → robosystems_client-0.2.16.dist-info}/licenses/LICENSE +0 -0
@@ -1,329 +0,0 @@
1
- from http import HTTPStatus
2
- from typing import Any, Optional, Union, cast
3
-
4
- import httpx
5
-
6
- from ... import errors
7
- from ...client import AuthenticatedClient, Client
8
- from ...models.error_response import ErrorResponse
9
- from ...models.http_validation_error import HTTPValidationError
10
- from ...models.list_table_files_response import ListTableFilesResponse
11
- from ...types import Response
12
-
13
-
14
- def _get_kwargs(
15
- graph_id: str,
16
- table_name: str,
17
- ) -> dict[str, Any]:
18
- _kwargs: dict[str, Any] = {
19
- "method": "get",
20
- "url": f"/v1/graphs/{graph_id}/tables/{table_name}/files",
21
- }
22
-
23
- return _kwargs
24
-
25
-
26
- def _parse_response(
27
- *, client: Union[AuthenticatedClient, Client], response: httpx.Response
28
- ) -> Optional[Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]]:
29
- if response.status_code == 200:
30
- response_200 = ListTableFilesResponse.from_dict(response.json())
31
-
32
- return response_200
33
-
34
- if response.status_code == 401:
35
- response_401 = cast(Any, None)
36
- return response_401
37
-
38
- if response.status_code == 403:
39
- response_403 = ErrorResponse.from_dict(response.json())
40
-
41
- return response_403
42
-
43
- if response.status_code == 404:
44
- response_404 = ErrorResponse.from_dict(response.json())
45
-
46
- return response_404
47
-
48
- if response.status_code == 422:
49
- response_422 = HTTPValidationError.from_dict(response.json())
50
-
51
- return response_422
52
-
53
- if response.status_code == 500:
54
- response_500 = cast(Any, None)
55
- return response_500
56
-
57
- if client.raise_on_unexpected_status:
58
- raise errors.UnexpectedStatus(response.status_code, response.content)
59
- else:
60
- return None
61
-
62
-
63
- def _build_response(
64
- *, client: Union[AuthenticatedClient, Client], response: httpx.Response
65
- ) -> Response[Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]]:
66
- return Response(
67
- status_code=HTTPStatus(response.status_code),
68
- content=response.content,
69
- headers=response.headers,
70
- parsed=_parse_response(client=client, response=response),
71
- )
72
-
73
-
74
- def sync_detailed(
75
- graph_id: str,
76
- table_name: str,
77
- *,
78
- client: AuthenticatedClient,
79
- ) -> Response[Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]]:
80
- """List Files in Staging Table
81
-
82
- List all files uploaded to a staging table with comprehensive metadata.
83
-
84
- Get a complete inventory of all files in a staging table, including upload status,
85
- file sizes, row counts, and S3 locations. Essential for monitoring upload progress
86
- and validating data before ingestion.
87
-
88
- **Use Cases:**
89
- - Monitor file upload progress
90
- - Verify files are ready for ingestion
91
- - Check file formats and sizes
92
- - Track storage usage per table
93
- - Identify failed or incomplete uploads
94
- - Pre-ingestion validation
95
-
96
- **Returned Metadata:**
97
- - File ID, name, and format (parquet, csv, json)
98
- - Size in bytes and row count (if available)
99
- - Upload status and method
100
- - Creation and upload timestamps
101
- - S3 key for reference
102
-
103
- **Upload Status Values:**
104
- - `pending`: Upload URL generated, awaiting upload
105
- - `uploaded`: Successfully uploaded, ready for ingestion
106
- - `disabled`: Excluded from ingestion
107
- - `archived`: Soft deleted
108
- - `failed`: Upload failed
109
-
110
- **Important Notes:**
111
- - Only `uploaded` files are ingested
112
- - Check `row_count` to estimate data volume
113
- - Use `total_size_bytes` for storage monitoring
114
- - Files with `failed` status should be deleted and re-uploaded
115
- - File listing is included - no credit consumption
116
-
117
- Args:
118
- graph_id (str):
119
- table_name (str): Table name
120
-
121
- Raises:
122
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
123
- httpx.TimeoutException: If the request takes longer than Client.timeout.
124
-
125
- Returns:
126
- Response[Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]]
127
- """
128
-
129
- kwargs = _get_kwargs(
130
- graph_id=graph_id,
131
- table_name=table_name,
132
- )
133
-
134
- response = client.get_httpx_client().request(
135
- **kwargs,
136
- )
137
-
138
- return _build_response(client=client, response=response)
139
-
140
-
141
- def sync(
142
- graph_id: str,
143
- table_name: str,
144
- *,
145
- client: AuthenticatedClient,
146
- ) -> Optional[Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]]:
147
- """List Files in Staging Table
148
-
149
- List all files uploaded to a staging table with comprehensive metadata.
150
-
151
- Get a complete inventory of all files in a staging table, including upload status,
152
- file sizes, row counts, and S3 locations. Essential for monitoring upload progress
153
- and validating data before ingestion.
154
-
155
- **Use Cases:**
156
- - Monitor file upload progress
157
- - Verify files are ready for ingestion
158
- - Check file formats and sizes
159
- - Track storage usage per table
160
- - Identify failed or incomplete uploads
161
- - Pre-ingestion validation
162
-
163
- **Returned Metadata:**
164
- - File ID, name, and format (parquet, csv, json)
165
- - Size in bytes and row count (if available)
166
- - Upload status and method
167
- - Creation and upload timestamps
168
- - S3 key for reference
169
-
170
- **Upload Status Values:**
171
- - `pending`: Upload URL generated, awaiting upload
172
- - `uploaded`: Successfully uploaded, ready for ingestion
173
- - `disabled`: Excluded from ingestion
174
- - `archived`: Soft deleted
175
- - `failed`: Upload failed
176
-
177
- **Important Notes:**
178
- - Only `uploaded` files are ingested
179
- - Check `row_count` to estimate data volume
180
- - Use `total_size_bytes` for storage monitoring
181
- - Files with `failed` status should be deleted and re-uploaded
182
- - File listing is included - no credit consumption
183
-
184
- Args:
185
- graph_id (str):
186
- table_name (str): Table name
187
-
188
- Raises:
189
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
190
- httpx.TimeoutException: If the request takes longer than Client.timeout.
191
-
192
- Returns:
193
- Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]
194
- """
195
-
196
- return sync_detailed(
197
- graph_id=graph_id,
198
- table_name=table_name,
199
- client=client,
200
- ).parsed
201
-
202
-
203
- async def asyncio_detailed(
204
- graph_id: str,
205
- table_name: str,
206
- *,
207
- client: AuthenticatedClient,
208
- ) -> Response[Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]]:
209
- """List Files in Staging Table
210
-
211
- List all files uploaded to a staging table with comprehensive metadata.
212
-
213
- Get a complete inventory of all files in a staging table, including upload status,
214
- file sizes, row counts, and S3 locations. Essential for monitoring upload progress
215
- and validating data before ingestion.
216
-
217
- **Use Cases:**
218
- - Monitor file upload progress
219
- - Verify files are ready for ingestion
220
- - Check file formats and sizes
221
- - Track storage usage per table
222
- - Identify failed or incomplete uploads
223
- - Pre-ingestion validation
224
-
225
- **Returned Metadata:**
226
- - File ID, name, and format (parquet, csv, json)
227
- - Size in bytes and row count (if available)
228
- - Upload status and method
229
- - Creation and upload timestamps
230
- - S3 key for reference
231
-
232
- **Upload Status Values:**
233
- - `pending`: Upload URL generated, awaiting upload
234
- - `uploaded`: Successfully uploaded, ready for ingestion
235
- - `disabled`: Excluded from ingestion
236
- - `archived`: Soft deleted
237
- - `failed`: Upload failed
238
-
239
- **Important Notes:**
240
- - Only `uploaded` files are ingested
241
- - Check `row_count` to estimate data volume
242
- - Use `total_size_bytes` for storage monitoring
243
- - Files with `failed` status should be deleted and re-uploaded
244
- - File listing is included - no credit consumption
245
-
246
- Args:
247
- graph_id (str):
248
- table_name (str): Table name
249
-
250
- Raises:
251
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
252
- httpx.TimeoutException: If the request takes longer than Client.timeout.
253
-
254
- Returns:
255
- Response[Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]]
256
- """
257
-
258
- kwargs = _get_kwargs(
259
- graph_id=graph_id,
260
- table_name=table_name,
261
- )
262
-
263
- response = await client.get_async_httpx_client().request(**kwargs)
264
-
265
- return _build_response(client=client, response=response)
266
-
267
-
268
- async def asyncio(
269
- graph_id: str,
270
- table_name: str,
271
- *,
272
- client: AuthenticatedClient,
273
- ) -> Optional[Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]]:
274
- """List Files in Staging Table
275
-
276
- List all files uploaded to a staging table with comprehensive metadata.
277
-
278
- Get a complete inventory of all files in a staging table, including upload status,
279
- file sizes, row counts, and S3 locations. Essential for monitoring upload progress
280
- and validating data before ingestion.
281
-
282
- **Use Cases:**
283
- - Monitor file upload progress
284
- - Verify files are ready for ingestion
285
- - Check file formats and sizes
286
- - Track storage usage per table
287
- - Identify failed or incomplete uploads
288
- - Pre-ingestion validation
289
-
290
- **Returned Metadata:**
291
- - File ID, name, and format (parquet, csv, json)
292
- - Size in bytes and row count (if available)
293
- - Upload status and method
294
- - Creation and upload timestamps
295
- - S3 key for reference
296
-
297
- **Upload Status Values:**
298
- - `pending`: Upload URL generated, awaiting upload
299
- - `uploaded`: Successfully uploaded, ready for ingestion
300
- - `disabled`: Excluded from ingestion
301
- - `archived`: Soft deleted
302
- - `failed`: Upload failed
303
-
304
- **Important Notes:**
305
- - Only `uploaded` files are ingested
306
- - Check `row_count` to estimate data volume
307
- - Use `total_size_bytes` for storage monitoring
308
- - Files with `failed` status should be deleted and re-uploaded
309
- - File listing is included - no credit consumption
310
-
311
- Args:
312
- graph_id (str):
313
- table_name (str): Table name
314
-
315
- Raises:
316
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
317
- httpx.TimeoutException: If the request takes longer than Client.timeout.
318
-
319
- Returns:
320
- Union[Any, ErrorResponse, HTTPValidationError, ListTableFilesResponse]
321
- """
322
-
323
- return (
324
- await asyncio_detailed(
325
- graph_id=graph_id,
326
- table_name=table_name,
327
- client=client,
328
- )
329
- ).parsed
@@ -1,395 +0,0 @@
1
- from http import HTTPStatus
2
- from typing import Any, Optional, Union, cast
3
-
4
- import httpx
5
-
6
- from ... import errors
7
- from ...client import AuthenticatedClient, Client
8
- from ...models.error_response import ErrorResponse
9
- from ...models.file_status_update import FileStatusUpdate
10
- from ...models.http_validation_error import HTTPValidationError
11
- from ...models.update_file_status_response_updatefilestatus import (
12
- UpdateFileStatusResponseUpdatefilestatus,
13
- )
14
- from ...types import Response
15
-
16
-
17
- def _get_kwargs(
18
- graph_id: str,
19
- file_id: str,
20
- *,
21
- body: FileStatusUpdate,
22
- ) -> dict[str, Any]:
23
- headers: dict[str, Any] = {}
24
-
25
- _kwargs: dict[str, Any] = {
26
- "method": "patch",
27
- "url": f"/v1/graphs/{graph_id}/tables/files/{file_id}",
28
- }
29
-
30
- _kwargs["json"] = body.to_dict()
31
-
32
- headers["Content-Type"] = "application/json"
33
-
34
- _kwargs["headers"] = headers
35
- return _kwargs
36
-
37
-
38
- def _parse_response(
39
- *, client: Union[AuthenticatedClient, Client], response: httpx.Response
40
- ) -> Optional[
41
- Union[
42
- Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus
43
- ]
44
- ]:
45
- if response.status_code == 200:
46
- response_200 = UpdateFileStatusResponseUpdatefilestatus.from_dict(response.json())
47
-
48
- return response_200
49
-
50
- if response.status_code == 400:
51
- response_400 = ErrorResponse.from_dict(response.json())
52
-
53
- return response_400
54
-
55
- if response.status_code == 401:
56
- response_401 = cast(Any, None)
57
- return response_401
58
-
59
- if response.status_code == 403:
60
- response_403 = ErrorResponse.from_dict(response.json())
61
-
62
- return response_403
63
-
64
- if response.status_code == 404:
65
- response_404 = ErrorResponse.from_dict(response.json())
66
-
67
- return response_404
68
-
69
- if response.status_code == 413:
70
- response_413 = ErrorResponse.from_dict(response.json())
71
-
72
- return response_413
73
-
74
- if response.status_code == 422:
75
- response_422 = HTTPValidationError.from_dict(response.json())
76
-
77
- return response_422
78
-
79
- if response.status_code == 500:
80
- response_500 = cast(Any, None)
81
- return response_500
82
-
83
- if client.raise_on_unexpected_status:
84
- raise errors.UnexpectedStatus(response.status_code, response.content)
85
- else:
86
- return None
87
-
88
-
89
- def _build_response(
90
- *, client: Union[AuthenticatedClient, Client], response: httpx.Response
91
- ) -> Response[
92
- Union[
93
- Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus
94
- ]
95
- ]:
96
- return Response(
97
- status_code=HTTPStatus(response.status_code),
98
- content=response.content,
99
- headers=response.headers,
100
- parsed=_parse_response(client=client, response=response),
101
- )
102
-
103
-
104
- def sync_detailed(
105
- graph_id: str,
106
- file_id: str,
107
- *,
108
- client: AuthenticatedClient,
109
- body: FileStatusUpdate,
110
- ) -> Response[
111
- Union[
112
- Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus
113
- ]
114
- ]:
115
- """Update File Upload Status
116
-
117
- Update file status after upload completes.
118
-
119
- Marks files as uploaded after successful S3 upload. The backend validates
120
- the file, calculates size and row count, enforces storage limits, and
121
- registers the DuckDB table for queries.
122
-
123
- **Status Values:**
124
- - `uploaded`: File successfully uploaded to S3 (triggers validation)
125
- - `disabled`: Exclude file from ingestion
126
- - `archived`: Soft delete file
127
-
128
- **What Happens on 'uploaded' Status:**
129
- 1. Verify file exists in S3
130
- 2. Calculate actual file size
131
- 3. Enforce tier storage limits
132
- 4. Calculate or estimate row count
133
- 5. Update table statistics
134
- 6. Register DuckDB external table
135
- 7. File ready for ingestion
136
-
137
- **Row Count Calculation:**
138
- - **Parquet**: Exact count from file metadata
139
- - **CSV**: Count rows (minus header)
140
- - **JSON**: Count array elements
141
- - **Fallback**: Estimate from file size if reading fails
142
-
143
- **Storage Limits:**
144
- Enforced per subscription tier. Returns HTTP 413 if limit exceeded.
145
- Check current usage before large uploads.
146
-
147
- **Important Notes:**
148
- - Always call this after S3 upload completes
149
- - Check response for actual row count
150
- - Storage limit errors (413) mean tier upgrade needed
151
- - DuckDB registration failures are non-fatal (retried later)
152
- - Status updates are included - no credit consumption
153
-
154
- Args:
155
- graph_id (str):
156
- file_id (str): File identifier
157
- body (FileStatusUpdate):
158
-
159
- Raises:
160
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
161
- httpx.TimeoutException: If the request takes longer than Client.timeout.
162
-
163
- Returns:
164
- Response[Union[Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus]]
165
- """
166
-
167
- kwargs = _get_kwargs(
168
- graph_id=graph_id,
169
- file_id=file_id,
170
- body=body,
171
- )
172
-
173
- response = client.get_httpx_client().request(
174
- **kwargs,
175
- )
176
-
177
- return _build_response(client=client, response=response)
178
-
179
-
180
- def sync(
181
- graph_id: str,
182
- file_id: str,
183
- *,
184
- client: AuthenticatedClient,
185
- body: FileStatusUpdate,
186
- ) -> Optional[
187
- Union[
188
- Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus
189
- ]
190
- ]:
191
- """Update File Upload Status
192
-
193
- Update file status after upload completes.
194
-
195
- Marks files as uploaded after successful S3 upload. The backend validates
196
- the file, calculates size and row count, enforces storage limits, and
197
- registers the DuckDB table for queries.
198
-
199
- **Status Values:**
200
- - `uploaded`: File successfully uploaded to S3 (triggers validation)
201
- - `disabled`: Exclude file from ingestion
202
- - `archived`: Soft delete file
203
-
204
- **What Happens on 'uploaded' Status:**
205
- 1. Verify file exists in S3
206
- 2. Calculate actual file size
207
- 3. Enforce tier storage limits
208
- 4. Calculate or estimate row count
209
- 5. Update table statistics
210
- 6. Register DuckDB external table
211
- 7. File ready for ingestion
212
-
213
- **Row Count Calculation:**
214
- - **Parquet**: Exact count from file metadata
215
- - **CSV**: Count rows (minus header)
216
- - **JSON**: Count array elements
217
- - **Fallback**: Estimate from file size if reading fails
218
-
219
- **Storage Limits:**
220
- Enforced per subscription tier. Returns HTTP 413 if limit exceeded.
221
- Check current usage before large uploads.
222
-
223
- **Important Notes:**
224
- - Always call this after S3 upload completes
225
- - Check response for actual row count
226
- - Storage limit errors (413) mean tier upgrade needed
227
- - DuckDB registration failures are non-fatal (retried later)
228
- - Status updates are included - no credit consumption
229
-
230
- Args:
231
- graph_id (str):
232
- file_id (str): File identifier
233
- body (FileStatusUpdate):
234
-
235
- Raises:
236
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
237
- httpx.TimeoutException: If the request takes longer than Client.timeout.
238
-
239
- Returns:
240
- Union[Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus]
241
- """
242
-
243
- return sync_detailed(
244
- graph_id=graph_id,
245
- file_id=file_id,
246
- client=client,
247
- body=body,
248
- ).parsed
249
-
250
-
251
- async def asyncio_detailed(
252
- graph_id: str,
253
- file_id: str,
254
- *,
255
- client: AuthenticatedClient,
256
- body: FileStatusUpdate,
257
- ) -> Response[
258
- Union[
259
- Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus
260
- ]
261
- ]:
262
- """Update File Upload Status
263
-
264
- Update file status after upload completes.
265
-
266
- Marks files as uploaded after successful S3 upload. The backend validates
267
- the file, calculates size and row count, enforces storage limits, and
268
- registers the DuckDB table for queries.
269
-
270
- **Status Values:**
271
- - `uploaded`: File successfully uploaded to S3 (triggers validation)
272
- - `disabled`: Exclude file from ingestion
273
- - `archived`: Soft delete file
274
-
275
- **What Happens on 'uploaded' Status:**
276
- 1. Verify file exists in S3
277
- 2. Calculate actual file size
278
- 3. Enforce tier storage limits
279
- 4. Calculate or estimate row count
280
- 5. Update table statistics
281
- 6. Register DuckDB external table
282
- 7. File ready for ingestion
283
-
284
- **Row Count Calculation:**
285
- - **Parquet**: Exact count from file metadata
286
- - **CSV**: Count rows (minus header)
287
- - **JSON**: Count array elements
288
- - **Fallback**: Estimate from file size if reading fails
289
-
290
- **Storage Limits:**
291
- Enforced per subscription tier. Returns HTTP 413 if limit exceeded.
292
- Check current usage before large uploads.
293
-
294
- **Important Notes:**
295
- - Always call this after S3 upload completes
296
- - Check response for actual row count
297
- - Storage limit errors (413) mean tier upgrade needed
298
- - DuckDB registration failures are non-fatal (retried later)
299
- - Status updates are included - no credit consumption
300
-
301
- Args:
302
- graph_id (str):
303
- file_id (str): File identifier
304
- body (FileStatusUpdate):
305
-
306
- Raises:
307
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
308
- httpx.TimeoutException: If the request takes longer than Client.timeout.
309
-
310
- Returns:
311
- Response[Union[Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus]]
312
- """
313
-
314
- kwargs = _get_kwargs(
315
- graph_id=graph_id,
316
- file_id=file_id,
317
- body=body,
318
- )
319
-
320
- response = await client.get_async_httpx_client().request(**kwargs)
321
-
322
- return _build_response(client=client, response=response)
323
-
324
-
325
- async def asyncio(
326
- graph_id: str,
327
- file_id: str,
328
- *,
329
- client: AuthenticatedClient,
330
- body: FileStatusUpdate,
331
- ) -> Optional[
332
- Union[
333
- Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus
334
- ]
335
- ]:
336
- """Update File Upload Status
337
-
338
- Update file status after upload completes.
339
-
340
- Marks files as uploaded after successful S3 upload. The backend validates
341
- the file, calculates size and row count, enforces storage limits, and
342
- registers the DuckDB table for queries.
343
-
344
- **Status Values:**
345
- - `uploaded`: File successfully uploaded to S3 (triggers validation)
346
- - `disabled`: Exclude file from ingestion
347
- - `archived`: Soft delete file
348
-
349
- **What Happens on 'uploaded' Status:**
350
- 1. Verify file exists in S3
351
- 2. Calculate actual file size
352
- 3. Enforce tier storage limits
353
- 4. Calculate or estimate row count
354
- 5. Update table statistics
355
- 6. Register DuckDB external table
356
- 7. File ready for ingestion
357
-
358
- **Row Count Calculation:**
359
- - **Parquet**: Exact count from file metadata
360
- - **CSV**: Count rows (minus header)
361
- - **JSON**: Count array elements
362
- - **Fallback**: Estimate from file size if reading fails
363
-
364
- **Storage Limits:**
365
- Enforced per subscription tier. Returns HTTP 413 if limit exceeded.
366
- Check current usage before large uploads.
367
-
368
- **Important Notes:**
369
- - Always call this after S3 upload completes
370
- - Check response for actual row count
371
- - Storage limit errors (413) mean tier upgrade needed
372
- - DuckDB registration failures are non-fatal (retried later)
373
- - Status updates are included - no credit consumption
374
-
375
- Args:
376
- graph_id (str):
377
- file_id (str): File identifier
378
- body (FileStatusUpdate):
379
-
380
- Raises:
381
- errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
382
- httpx.TimeoutException: If the request takes longer than Client.timeout.
383
-
384
- Returns:
385
- Union[Any, ErrorResponse, HTTPValidationError, UpdateFileStatusResponseUpdatefilestatus]
386
- """
387
-
388
- return (
389
- await asyncio_detailed(
390
- graph_id=graph_id,
391
- file_id=file_id,
392
- client=client,
393
- body=body,
394
- )
395
- ).parsed