robosystems-client 0.1.9__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 (282) hide show
  1. robosystems_client/__init__.py +14 -0
  2. robosystems_client/api/__init__.py +1 -0
  3. robosystems_client/api/agent/__init__.py +1 -0
  4. robosystems_client/api/agent/query_financial_agent.py +423 -0
  5. robosystems_client/api/auth/__init__.py +1 -0
  6. robosystems_client/api/auth/check_password_strength.py +172 -0
  7. robosystems_client/api/auth/complete_sso_auth.py +177 -0
  8. robosystems_client/api/auth/generate_sso_token.py +174 -0
  9. robosystems_client/api/auth/get_captcha_config.py +87 -0
  10. robosystems_client/api/auth/get_current_auth_user.py +220 -0
  11. robosystems_client/api/auth/get_password_policy.py +134 -0
  12. robosystems_client/api/auth/login_user.py +181 -0
  13. robosystems_client/api/auth/logout_user.py +169 -0
  14. robosystems_client/api/auth/refresh_session.py +174 -0
  15. robosystems_client/api/auth/register_user.py +189 -0
  16. robosystems_client/api/auth/sso_login.py +177 -0
  17. robosystems_client/api/auth/sso_token_exchange.py +181 -0
  18. robosystems_client/api/backup/__init__.py +1 -0
  19. robosystems_client/api/backup/create_backup.py +401 -0
  20. robosystems_client/api/backup/export_backup.py +225 -0
  21. robosystems_client/api/backup/get_backup_download_url.py +258 -0
  22. robosystems_client/api/backup/get_backup_stats.py +182 -0
  23. robosystems_client/api/backup/kuzu_backup_health.py +202 -0
  24. robosystems_client/api/backup/list_backups.py +217 -0
  25. robosystems_client/api/backup/restore_backup.py +401 -0
  26. robosystems_client/api/billing/__init__.py +1 -0
  27. robosystems_client/api/billing/get_available_subscription_plans_v1_graph_id_billing_available_plans_get.py +198 -0
  28. robosystems_client/api/billing/get_credit_billing_info_v1_graph_id_billing_credits_get.py +210 -0
  29. robosystems_client/api/billing/get_current_graph_bill.py +285 -0
  30. robosystems_client/api/billing/get_graph_billing_history.py +329 -0
  31. robosystems_client/api/billing/get_graph_monthly_bill.py +315 -0
  32. robosystems_client/api/billing/get_graph_pricing_info_v1_graph_id_billing_pricing_get.py +198 -0
  33. robosystems_client/api/billing/get_graph_subscription_v1_graph_id_billing_subscription_get.py +198 -0
  34. robosystems_client/api/billing/get_graph_usage_details.py +350 -0
  35. robosystems_client/api/billing/upgrade_graph_subscription_v1_graph_id_billing_subscription_upgrade_post.py +216 -0
  36. robosystems_client/api/connections/__init__.py +1 -0
  37. robosystems_client/api/connections/create_connection.py +327 -0
  38. robosystems_client/api/connections/create_link_token.py +281 -0
  39. robosystems_client/api/connections/delete_connection.py +278 -0
  40. robosystems_client/api/connections/exchange_link_token.py +301 -0
  41. robosystems_client/api/connections/get_connection.py +262 -0
  42. robosystems_client/api/connections/get_connection_options.py +285 -0
  43. robosystems_client/api/connections/init_o_auth.py +230 -0
  44. robosystems_client/api/connections/list_connections.py +314 -0
  45. robosystems_client/api/connections/oauth_callback.py +318 -0
  46. robosystems_client/api/connections/sync_connection.py +362 -0
  47. robosystems_client/api/create/__init__.py +1 -0
  48. robosystems_client/api/create/create_graph.py +375 -0
  49. robosystems_client/api/create/get_available_extensions.py +134 -0
  50. robosystems_client/api/credits_/__init__.py +1 -0
  51. robosystems_client/api/credits_/check_credit_balance.py +299 -0
  52. robosystems_client/api/credits_/check_storage_limits.py +249 -0
  53. robosystems_client/api/credits_/get_credit_summary.py +245 -0
  54. robosystems_client/api/credits_/get_storage_usage.py +279 -0
  55. robosystems_client/api/credits_/list_credit_transactions.py +392 -0
  56. robosystems_client/api/graph_analytics/__init__.py +1 -0
  57. robosystems_client/api/graph_analytics/get_graph_metrics.py +285 -0
  58. robosystems_client/api/graph_analytics/get_graph_usage_stats.py +329 -0
  59. robosystems_client/api/graph_status/__init__.py +1 -0
  60. robosystems_client/api/graph_status/get_database_health.py +273 -0
  61. robosystems_client/api/graph_status/get_database_info.py +277 -0
  62. robosystems_client/api/mcp/__init__.py +1 -0
  63. robosystems_client/api/mcp/call_mcp_tool.py +432 -0
  64. robosystems_client/api/mcp/list_mcp_tools.py +265 -0
  65. robosystems_client/api/operations/__init__.py +1 -0
  66. robosystems_client/api/operations/cancel_operation.py +246 -0
  67. robosystems_client/api/operations/get_operation_status.py +273 -0
  68. robosystems_client/api/operations/stream_operation_events.py +415 -0
  69. robosystems_client/api/query/__init__.py +1 -0
  70. robosystems_client/api/query/execute_cypher_query.py +482 -0
  71. robosystems_client/api/schema/__init__.py +1 -0
  72. robosystems_client/api/schema/export_graph_schema.py +239 -0
  73. robosystems_client/api/schema/get_graph_schema_info.py +277 -0
  74. robosystems_client/api/schema/list_schema_extensions.py +216 -0
  75. robosystems_client/api/schema/validate_schema.py +326 -0
  76. robosystems_client/api/service_offerings/__init__.py +1 -0
  77. robosystems_client/api/service_offerings/get_service_offerings.py +197 -0
  78. robosystems_client/api/status/__init__.py +1 -0
  79. robosystems_client/api/status/get_mcp_health.py +136 -0
  80. robosystems_client/api/status/get_service_status.py +134 -0
  81. robosystems_client/api/user/__init__.py +1 -0
  82. robosystems_client/api/user/create_user_api_key.py +205 -0
  83. robosystems_client/api/user/get_all_credit_summaries.py +256 -0
  84. robosystems_client/api/user/get_current_user.py +187 -0
  85. robosystems_client/api/user/get_user_graphs.py +187 -0
  86. robosystems_client/api/user/list_user_api_keys.py +187 -0
  87. robosystems_client/api/user/revoke_user_api_key.py +209 -0
  88. robosystems_client/api/user/select_user_graph.py +213 -0
  89. robosystems_client/api/user/update_user.py +205 -0
  90. robosystems_client/api/user/update_user_api_key.py +218 -0
  91. robosystems_client/api/user/update_user_password.py +218 -0
  92. robosystems_client/api/user_analytics/__init__.py +1 -0
  93. robosystems_client/api/user_analytics/get_detailed_user_analytics.py +222 -0
  94. robosystems_client/api/user_analytics/get_user_usage_overview.py +187 -0
  95. robosystems_client/api/user_limits/__init__.py +1 -0
  96. robosystems_client/api/user_limits/get_user_limits.py +190 -0
  97. robosystems_client/api/user_limits/get_user_usage.py +187 -0
  98. robosystems_client/api/user_subscriptions/__init__.py +1 -0
  99. robosystems_client/api/user_subscriptions/cancel_shared_repository_subscription.py +209 -0
  100. robosystems_client/api/user_subscriptions/get_repository_credits.py +206 -0
  101. robosystems_client/api/user_subscriptions/get_shared_repository_credits.py +193 -0
  102. robosystems_client/api/user_subscriptions/get_user_shared_subscriptions.py +213 -0
  103. robosystems_client/api/user_subscriptions/subscribe_to_shared_repository.py +214 -0
  104. robosystems_client/api/user_subscriptions/upgrade_shared_repository_subscription.py +228 -0
  105. robosystems_client/client.py +278 -0
  106. robosystems_client/errors.py +16 -0
  107. robosystems_client/extensions/README.md +611 -0
  108. robosystems_client/extensions/__init__.py +108 -0
  109. robosystems_client/extensions/auth_integration.py +210 -0
  110. robosystems_client/extensions/extensions.py +170 -0
  111. robosystems_client/extensions/operation_client.py +368 -0
  112. robosystems_client/extensions/query_client.py +375 -0
  113. robosystems_client/extensions/sse_client.py +520 -0
  114. robosystems_client/extensions/tests/__init__.py +1 -0
  115. robosystems_client/extensions/tests/test_integration.py +490 -0
  116. robosystems_client/extensions/tests/test_unit.py +560 -0
  117. robosystems_client/extensions/utils.py +526 -0
  118. robosystems_client/models/__init__.py +379 -0
  119. robosystems_client/models/account_info.py +79 -0
  120. robosystems_client/models/add_on_credit_info.py +119 -0
  121. robosystems_client/models/agent_message.py +68 -0
  122. robosystems_client/models/agent_request.py +132 -0
  123. robosystems_client/models/agent_request_context_type_0.py +44 -0
  124. robosystems_client/models/agent_response.py +132 -0
  125. robosystems_client/models/agent_response_metadata_type_0.py +44 -0
  126. robosystems_client/models/api_key_info.py +134 -0
  127. robosystems_client/models/api_keys_response.py +74 -0
  128. robosystems_client/models/auth_response.py +82 -0
  129. robosystems_client/models/auth_response_user.py +44 -0
  130. robosystems_client/models/available_extension.py +78 -0
  131. robosystems_client/models/available_extensions_response.py +73 -0
  132. robosystems_client/models/backup_create_request.py +117 -0
  133. robosystems_client/models/backup_export_request.py +72 -0
  134. robosystems_client/models/backup_list_response.py +90 -0
  135. robosystems_client/models/backup_response.py +200 -0
  136. robosystems_client/models/backup_restore_request.py +81 -0
  137. robosystems_client/models/backup_stats_response.py +156 -0
  138. robosystems_client/models/backup_stats_response_backup_formats.py +44 -0
  139. robosystems_client/models/cancel_operation_response_canceloperation.py +44 -0
  140. robosystems_client/models/cancellation_response.py +76 -0
  141. robosystems_client/models/check_credit_balance_response_checkcreditbalance.py +44 -0
  142. robosystems_client/models/connection_options_response.py +82 -0
  143. robosystems_client/models/connection_provider_info.py +203 -0
  144. robosystems_client/models/connection_provider_info_auth_type.py +11 -0
  145. robosystems_client/models/connection_provider_info_provider.py +10 -0
  146. robosystems_client/models/connection_response.py +149 -0
  147. robosystems_client/models/connection_response_metadata.py +44 -0
  148. robosystems_client/models/connection_response_provider.py +10 -0
  149. robosystems_client/models/create_api_key_request.py +82 -0
  150. robosystems_client/models/create_api_key_response.py +74 -0
  151. robosystems_client/models/create_connection_request.py +179 -0
  152. robosystems_client/models/create_connection_request_provider.py +10 -0
  153. robosystems_client/models/create_graph_request.py +183 -0
  154. robosystems_client/models/credit_check_request.py +82 -0
  155. robosystems_client/models/credit_summary.py +128 -0
  156. robosystems_client/models/credit_summary_response.py +140 -0
  157. robosystems_client/models/credits_summary_response.py +122 -0
  158. robosystems_client/models/credits_summary_response_credits_by_addon_item.py +44 -0
  159. robosystems_client/models/custom_schema_definition.py +194 -0
  160. robosystems_client/models/custom_schema_definition_metadata.py +49 -0
  161. robosystems_client/models/custom_schema_definition_nodes_item.py +44 -0
  162. robosystems_client/models/custom_schema_definition_relationships_item.py +44 -0
  163. robosystems_client/models/cypher_query_request.py +128 -0
  164. robosystems_client/models/cypher_query_request_parameters_type_0.py +44 -0
  165. robosystems_client/models/database_health_response.py +181 -0
  166. robosystems_client/models/database_info_response.py +191 -0
  167. robosystems_client/models/detailed_transactions_response.py +124 -0
  168. robosystems_client/models/detailed_transactions_response_date_range.py +44 -0
  169. robosystems_client/models/detailed_transactions_response_summary.py +59 -0
  170. robosystems_client/models/enhanced_credit_transaction_response.py +192 -0
  171. robosystems_client/models/enhanced_credit_transaction_response_metadata.py +44 -0
  172. robosystems_client/models/error_response.py +145 -0
  173. robosystems_client/models/exchange_token_request.py +116 -0
  174. robosystems_client/models/exchange_token_request_metadata_type_0.py +44 -0
  175. robosystems_client/models/get_all_credit_summaries_response_getallcreditsummaries.py +44 -0
  176. robosystems_client/models/get_backup_download_url_response_getbackupdownloadurl.py +44 -0
  177. robosystems_client/models/get_current_auth_user_response_getcurrentauthuser.py +44 -0
  178. robosystems_client/models/get_current_graph_bill_response_getcurrentgraphbill.py +44 -0
  179. robosystems_client/models/get_graph_billing_history_response_getgraphbillinghistory.py +44 -0
  180. robosystems_client/models/get_graph_monthly_bill_response_getgraphmonthlybill.py +44 -0
  181. robosystems_client/models/get_graph_schema_info_response_getgraphschemainfo.py +44 -0
  182. robosystems_client/models/get_graph_usage_details_response_getgraphusagedetails.py +44 -0
  183. robosystems_client/models/get_mcp_health_response_getmcphealth.py +44 -0
  184. robosystems_client/models/get_operation_status_response_getoperationstatus.py +44 -0
  185. robosystems_client/models/get_storage_usage_response_getstorageusage.py +44 -0
  186. robosystems_client/models/graph_info.py +92 -0
  187. robosystems_client/models/graph_metadata.py +105 -0
  188. robosystems_client/models/graph_metrics_response.py +188 -0
  189. robosystems_client/models/graph_metrics_response_estimated_size.py +44 -0
  190. robosystems_client/models/graph_metrics_response_health_status.py +44 -0
  191. robosystems_client/models/graph_metrics_response_node_counts.py +44 -0
  192. robosystems_client/models/graph_metrics_response_relationship_counts.py +44 -0
  193. robosystems_client/models/graph_usage_response.py +116 -0
  194. robosystems_client/models/graph_usage_response_query_statistics.py +44 -0
  195. robosystems_client/models/graph_usage_response_recent_activity.py +44 -0
  196. robosystems_client/models/graph_usage_response_storage_usage.py +44 -0
  197. robosystems_client/models/health_status.py +110 -0
  198. robosystems_client/models/health_status_details_type_0.py +44 -0
  199. robosystems_client/models/http_validation_error.py +75 -0
  200. robosystems_client/models/initial_entity_data.py +212 -0
  201. robosystems_client/models/kuzu_backup_health_response_kuzubackuphealth.py +44 -0
  202. robosystems_client/models/link_token_request.py +174 -0
  203. robosystems_client/models/link_token_request_options_type_0.py +44 -0
  204. robosystems_client/models/link_token_request_provider_type_0.py +10 -0
  205. robosystems_client/models/list_connections_provider_type_0.py +10 -0
  206. robosystems_client/models/list_schema_extensions_response_listschemaextensions.py +44 -0
  207. robosystems_client/models/login_request.py +68 -0
  208. robosystems_client/models/logout_user_response_logoutuser.py +44 -0
  209. robosystems_client/models/mcp_tool_call.py +84 -0
  210. robosystems_client/models/mcp_tool_call_arguments.py +44 -0
  211. robosystems_client/models/mcp_tools_response.py +74 -0
  212. robosystems_client/models/mcp_tools_response_tools_item.py +44 -0
  213. robosystems_client/models/o_auth_callback_request.py +130 -0
  214. robosystems_client/models/o_auth_init_request.py +128 -0
  215. robosystems_client/models/o_auth_init_request_additional_params_type_0.py +44 -0
  216. robosystems_client/models/o_auth_init_response.py +78 -0
  217. robosystems_client/models/password_check_request.py +82 -0
  218. robosystems_client/models/password_check_response.py +112 -0
  219. robosystems_client/models/password_check_response_character_types.py +44 -0
  220. robosystems_client/models/password_policy_response.py +66 -0
  221. robosystems_client/models/password_policy_response_policy.py +44 -0
  222. robosystems_client/models/plaid_connection_config.py +209 -0
  223. robosystems_client/models/plaid_connection_config_accounts_type_0_item.py +44 -0
  224. robosystems_client/models/plaid_connection_config_institution_type_0.py +44 -0
  225. robosystems_client/models/quick_books_connection_config.py +92 -0
  226. robosystems_client/models/register_request.py +98 -0
  227. robosystems_client/models/repository_credits_response.py +101 -0
  228. robosystems_client/models/repository_plan.py +10 -0
  229. robosystems_client/models/repository_type.py +10 -0
  230. robosystems_client/models/response_mode.py +11 -0
  231. robosystems_client/models/schema_export_response.py +163 -0
  232. robosystems_client/models/schema_export_response_data_stats_type_0.py +44 -0
  233. robosystems_client/models/schema_export_response_schema_definition_type_0.py +44 -0
  234. robosystems_client/models/schema_validation_request.py +142 -0
  235. robosystems_client/models/schema_validation_request_schema_definition_type_0.py +44 -0
  236. robosystems_client/models/schema_validation_response.py +227 -0
  237. robosystems_client/models/schema_validation_response_compatibility_type_0.py +44 -0
  238. robosystems_client/models/schema_validation_response_stats_type_0.py +44 -0
  239. robosystems_client/models/sec_connection_config.py +82 -0
  240. robosystems_client/models/sso_complete_request.py +60 -0
  241. robosystems_client/models/sso_exchange_request.py +90 -0
  242. robosystems_client/models/sso_exchange_response.py +78 -0
  243. robosystems_client/models/sso_login_request.py +60 -0
  244. robosystems_client/models/sso_token_response.py +78 -0
  245. robosystems_client/models/storage_limit_response.py +149 -0
  246. robosystems_client/models/subscription_info.py +180 -0
  247. robosystems_client/models/subscription_info_metadata.py +44 -0
  248. robosystems_client/models/subscription_request.py +89 -0
  249. robosystems_client/models/subscription_response.py +82 -0
  250. robosystems_client/models/success_response.py +112 -0
  251. robosystems_client/models/success_response_data_type_0.py +44 -0
  252. robosystems_client/models/sync_connection_request.py +106 -0
  253. robosystems_client/models/sync_connection_request_sync_options_type_0.py +44 -0
  254. robosystems_client/models/sync_connection_response_syncconnection.py +44 -0
  255. robosystems_client/models/tier_upgrade_request.py +62 -0
  256. robosystems_client/models/transaction_summary_response.py +126 -0
  257. robosystems_client/models/update_api_key_request.py +92 -0
  258. robosystems_client/models/update_password_request.py +76 -0
  259. robosystems_client/models/update_user_request.py +92 -0
  260. robosystems_client/models/upgrade_subscription_request.py +82 -0
  261. robosystems_client/models/user_analytics_response.py +132 -0
  262. robosystems_client/models/user_analytics_response_api_usage.py +44 -0
  263. robosystems_client/models/user_analytics_response_graph_usage.py +44 -0
  264. robosystems_client/models/user_analytics_response_limits.py +44 -0
  265. robosystems_client/models/user_analytics_response_recent_activity_item.py +44 -0
  266. robosystems_client/models/user_analytics_response_user_info.py +44 -0
  267. robosystems_client/models/user_graph_summary.py +134 -0
  268. robosystems_client/models/user_graphs_response.py +96 -0
  269. robosystems_client/models/user_limits_response.py +95 -0
  270. robosystems_client/models/user_response.py +132 -0
  271. robosystems_client/models/user_subscriptions_response.py +90 -0
  272. robosystems_client/models/user_usage_response.py +90 -0
  273. robosystems_client/models/user_usage_response_graphs.py +44 -0
  274. robosystems_client/models/user_usage_summary_response.py +130 -0
  275. robosystems_client/models/user_usage_summary_response_usage_vs_limits.py +44 -0
  276. robosystems_client/models/validation_error.py +88 -0
  277. robosystems_client/py.typed +1 -0
  278. robosystems_client/sdk-config.yaml +5 -0
  279. robosystems_client/types.py +54 -0
  280. robosystems_client-0.1.9.dist-info/METADATA +302 -0
  281. robosystems_client-0.1.9.dist-info/RECORD +282 -0
  282. robosystems_client-0.1.9.dist-info/WHEEL +4 -0
@@ -0,0 +1,149 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..models.connection_response_provider import ConnectionResponseProvider
8
+ from ..types import UNSET, Unset
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.connection_response_metadata import ConnectionResponseMetadata
12
+
13
+
14
+ T = TypeVar("T", bound="ConnectionResponse")
15
+
16
+
17
+ @_attrs_define
18
+ class ConnectionResponse:
19
+ """Connection response model.
20
+
21
+ Attributes:
22
+ connection_id (str): Unique connection identifier
23
+ provider (ConnectionResponseProvider): Connection provider type
24
+ entity_id (str): Entity identifier
25
+ status (str): Connection status
26
+ created_at (str): Creation timestamp
27
+ metadata (ConnectionResponseMetadata): Provider-specific metadata
28
+ updated_at (Union[None, Unset, str]): Last update timestamp
29
+ last_sync (Union[None, Unset, str]): Last sync timestamp
30
+ """
31
+
32
+ connection_id: str
33
+ provider: ConnectionResponseProvider
34
+ entity_id: str
35
+ status: str
36
+ created_at: str
37
+ metadata: "ConnectionResponseMetadata"
38
+ updated_at: Union[None, Unset, str] = UNSET
39
+ last_sync: Union[None, Unset, str] = UNSET
40
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
41
+
42
+ def to_dict(self) -> dict[str, Any]:
43
+ connection_id = self.connection_id
44
+
45
+ provider = self.provider.value
46
+
47
+ entity_id = self.entity_id
48
+
49
+ status = self.status
50
+
51
+ created_at = self.created_at
52
+
53
+ metadata = self.metadata.to_dict()
54
+
55
+ updated_at: Union[None, Unset, str]
56
+ if isinstance(self.updated_at, Unset):
57
+ updated_at = UNSET
58
+ else:
59
+ updated_at = self.updated_at
60
+
61
+ last_sync: Union[None, Unset, str]
62
+ if isinstance(self.last_sync, Unset):
63
+ last_sync = UNSET
64
+ else:
65
+ last_sync = self.last_sync
66
+
67
+ field_dict: dict[str, Any] = {}
68
+ field_dict.update(self.additional_properties)
69
+ field_dict.update(
70
+ {
71
+ "connection_id": connection_id,
72
+ "provider": provider,
73
+ "entity_id": entity_id,
74
+ "status": status,
75
+ "created_at": created_at,
76
+ "metadata": metadata,
77
+ }
78
+ )
79
+ if updated_at is not UNSET:
80
+ field_dict["updated_at"] = updated_at
81
+ if last_sync is not UNSET:
82
+ field_dict["last_sync"] = last_sync
83
+
84
+ return field_dict
85
+
86
+ @classmethod
87
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
88
+ from ..models.connection_response_metadata import ConnectionResponseMetadata
89
+
90
+ d = dict(src_dict)
91
+ connection_id = d.pop("connection_id")
92
+
93
+ provider = ConnectionResponseProvider(d.pop("provider"))
94
+
95
+ entity_id = d.pop("entity_id")
96
+
97
+ status = d.pop("status")
98
+
99
+ created_at = d.pop("created_at")
100
+
101
+ metadata = ConnectionResponseMetadata.from_dict(d.pop("metadata"))
102
+
103
+ def _parse_updated_at(data: object) -> Union[None, Unset, str]:
104
+ if data is None:
105
+ return data
106
+ if isinstance(data, Unset):
107
+ return data
108
+ return cast(Union[None, Unset, str], data)
109
+
110
+ updated_at = _parse_updated_at(d.pop("updated_at", UNSET))
111
+
112
+ def _parse_last_sync(data: object) -> Union[None, Unset, str]:
113
+ if data is None:
114
+ return data
115
+ if isinstance(data, Unset):
116
+ return data
117
+ return cast(Union[None, Unset, str], data)
118
+
119
+ last_sync = _parse_last_sync(d.pop("last_sync", UNSET))
120
+
121
+ connection_response = cls(
122
+ connection_id=connection_id,
123
+ provider=provider,
124
+ entity_id=entity_id,
125
+ status=status,
126
+ created_at=created_at,
127
+ metadata=metadata,
128
+ updated_at=updated_at,
129
+ last_sync=last_sync,
130
+ )
131
+
132
+ connection_response.additional_properties = d
133
+ return connection_response
134
+
135
+ @property
136
+ def additional_keys(self) -> list[str]:
137
+ return list(self.additional_properties.keys())
138
+
139
+ def __getitem__(self, key: str) -> Any:
140
+ return self.additional_properties[key]
141
+
142
+ def __setitem__(self, key: str, value: Any) -> None:
143
+ self.additional_properties[key] = value
144
+
145
+ def __delitem__(self, key: str) -> None:
146
+ del self.additional_properties[key]
147
+
148
+ def __contains__(self, key: str) -> bool:
149
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="ConnectionResponseMetadata")
8
+
9
+
10
+ @_attrs_define
11
+ class ConnectionResponseMetadata:
12
+ """Provider-specific metadata"""
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ connection_response_metadata = cls()
26
+
27
+ connection_response_metadata.additional_properties = d
28
+ return connection_response_metadata
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ConnectionResponseProvider(str, Enum):
5
+ PLAID = "plaid"
6
+ QUICKBOOKS = "quickbooks"
7
+ SEC = "sec"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,82 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="CreateAPIKeyRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class CreateAPIKeyRequest:
14
+ """Request model for creating a new API key.
15
+
16
+ Attributes:
17
+ name (str): Name for the API key
18
+ description (Union[None, Unset, str]): Optional description
19
+ """
20
+
21
+ name: str
22
+ description: Union[None, Unset, str] = UNSET
23
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> dict[str, Any]:
26
+ name = self.name
27
+
28
+ description: Union[None, Unset, str]
29
+ if isinstance(self.description, Unset):
30
+ description = UNSET
31
+ else:
32
+ description = self.description
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+ field_dict.update(
37
+ {
38
+ "name": name,
39
+ }
40
+ )
41
+ if description is not UNSET:
42
+ field_dict["description"] = description
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
48
+ d = dict(src_dict)
49
+ name = d.pop("name")
50
+
51
+ def _parse_description(data: object) -> Union[None, Unset, str]:
52
+ if data is None:
53
+ return data
54
+ if isinstance(data, Unset):
55
+ return data
56
+ return cast(Union[None, Unset, str], data)
57
+
58
+ description = _parse_description(d.pop("description", UNSET))
59
+
60
+ create_api_key_request = cls(
61
+ name=name,
62
+ description=description,
63
+ )
64
+
65
+ create_api_key_request.additional_properties = d
66
+ return create_api_key_request
67
+
68
+ @property
69
+ def additional_keys(self) -> list[str]:
70
+ return list(self.additional_properties.keys())
71
+
72
+ def __getitem__(self, key: str) -> Any:
73
+ return self.additional_properties[key]
74
+
75
+ def __setitem__(self, key: str, value: Any) -> None:
76
+ self.additional_properties[key] = value
77
+
78
+ def __delitem__(self, key: str) -> None:
79
+ del self.additional_properties[key]
80
+
81
+ def __contains__(self, key: str) -> bool:
82
+ return key in self.additional_properties
@@ -0,0 +1,74 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.api_key_info import APIKeyInfo
9
+
10
+
11
+ T = TypeVar("T", bound="CreateAPIKeyResponse")
12
+
13
+
14
+ @_attrs_define
15
+ class CreateAPIKeyResponse:
16
+ """Response model for creating a new API key.
17
+
18
+ Attributes:
19
+ api_key (APIKeyInfo): API key information response model.
20
+ key (str): The actual API key (only shown once)
21
+ """
22
+
23
+ api_key: "APIKeyInfo"
24
+ key: str
25
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ api_key = self.api_key.to_dict()
29
+
30
+ key = self.key
31
+
32
+ field_dict: dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update(
35
+ {
36
+ "api_key": api_key,
37
+ "key": key,
38
+ }
39
+ )
40
+
41
+ return field_dict
42
+
43
+ @classmethod
44
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
45
+ from ..models.api_key_info import APIKeyInfo
46
+
47
+ d = dict(src_dict)
48
+ api_key = APIKeyInfo.from_dict(d.pop("api_key"))
49
+
50
+ key = d.pop("key")
51
+
52
+ create_api_key_response = cls(
53
+ api_key=api_key,
54
+ key=key,
55
+ )
56
+
57
+ create_api_key_response.additional_properties = d
58
+ return create_api_key_response
59
+
60
+ @property
61
+ def additional_keys(self) -> list[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Any:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Any) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties
@@ -0,0 +1,179 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..models.create_connection_request_provider import CreateConnectionRequestProvider
8
+ from ..types import UNSET, Unset
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.plaid_connection_config import PlaidConnectionConfig
12
+ from ..models.quick_books_connection_config import QuickBooksConnectionConfig
13
+ from ..models.sec_connection_config import SECConnectionConfig
14
+
15
+
16
+ T = TypeVar("T", bound="CreateConnectionRequest")
17
+
18
+
19
+ @_attrs_define
20
+ class CreateConnectionRequest:
21
+ """Request to create a new connection.
22
+
23
+ Attributes:
24
+ provider (CreateConnectionRequestProvider): Connection provider type
25
+ entity_id (str): Entity identifier
26
+ sec_config (Union['SECConnectionConfig', None, Unset]):
27
+ quickbooks_config (Union['QuickBooksConnectionConfig', None, Unset]):
28
+ plaid_config (Union['PlaidConnectionConfig', None, Unset]):
29
+ """
30
+
31
+ provider: CreateConnectionRequestProvider
32
+ entity_id: str
33
+ sec_config: Union["SECConnectionConfig", None, Unset] = UNSET
34
+ quickbooks_config: Union["QuickBooksConnectionConfig", None, Unset] = UNSET
35
+ plaid_config: Union["PlaidConnectionConfig", None, Unset] = UNSET
36
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
37
+
38
+ def to_dict(self) -> dict[str, Any]:
39
+ from ..models.plaid_connection_config import PlaidConnectionConfig
40
+ from ..models.quick_books_connection_config import QuickBooksConnectionConfig
41
+ from ..models.sec_connection_config import SECConnectionConfig
42
+
43
+ provider = self.provider.value
44
+
45
+ entity_id = self.entity_id
46
+
47
+ sec_config: Union[None, Unset, dict[str, Any]]
48
+ if isinstance(self.sec_config, Unset):
49
+ sec_config = UNSET
50
+ elif isinstance(self.sec_config, SECConnectionConfig):
51
+ sec_config = self.sec_config.to_dict()
52
+ else:
53
+ sec_config = self.sec_config
54
+
55
+ quickbooks_config: Union[None, Unset, dict[str, Any]]
56
+ if isinstance(self.quickbooks_config, Unset):
57
+ quickbooks_config = UNSET
58
+ elif isinstance(self.quickbooks_config, QuickBooksConnectionConfig):
59
+ quickbooks_config = self.quickbooks_config.to_dict()
60
+ else:
61
+ quickbooks_config = self.quickbooks_config
62
+
63
+ plaid_config: Union[None, Unset, dict[str, Any]]
64
+ if isinstance(self.plaid_config, Unset):
65
+ plaid_config = UNSET
66
+ elif isinstance(self.plaid_config, PlaidConnectionConfig):
67
+ plaid_config = self.plaid_config.to_dict()
68
+ else:
69
+ plaid_config = self.plaid_config
70
+
71
+ field_dict: dict[str, Any] = {}
72
+ field_dict.update(self.additional_properties)
73
+ field_dict.update(
74
+ {
75
+ "provider": provider,
76
+ "entity_id": entity_id,
77
+ }
78
+ )
79
+ if sec_config is not UNSET:
80
+ field_dict["sec_config"] = sec_config
81
+ if quickbooks_config is not UNSET:
82
+ field_dict["quickbooks_config"] = quickbooks_config
83
+ if plaid_config is not UNSET:
84
+ field_dict["plaid_config"] = plaid_config
85
+
86
+ return field_dict
87
+
88
+ @classmethod
89
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
90
+ from ..models.plaid_connection_config import PlaidConnectionConfig
91
+ from ..models.quick_books_connection_config import QuickBooksConnectionConfig
92
+ from ..models.sec_connection_config import SECConnectionConfig
93
+
94
+ d = dict(src_dict)
95
+ provider = CreateConnectionRequestProvider(d.pop("provider"))
96
+
97
+ entity_id = d.pop("entity_id")
98
+
99
+ def _parse_sec_config(data: object) -> Union["SECConnectionConfig", None, Unset]:
100
+ if data is None:
101
+ return data
102
+ if isinstance(data, Unset):
103
+ return data
104
+ try:
105
+ if not isinstance(data, dict):
106
+ raise TypeError()
107
+ sec_config_type_0 = SECConnectionConfig.from_dict(data)
108
+
109
+ return sec_config_type_0
110
+ except: # noqa: E722
111
+ pass
112
+ return cast(Union["SECConnectionConfig", None, Unset], data)
113
+
114
+ sec_config = _parse_sec_config(d.pop("sec_config", UNSET))
115
+
116
+ def _parse_quickbooks_config(
117
+ data: object,
118
+ ) -> Union["QuickBooksConnectionConfig", None, Unset]:
119
+ if data is None:
120
+ return data
121
+ if isinstance(data, Unset):
122
+ return data
123
+ try:
124
+ if not isinstance(data, dict):
125
+ raise TypeError()
126
+ quickbooks_config_type_0 = QuickBooksConnectionConfig.from_dict(data)
127
+
128
+ return quickbooks_config_type_0
129
+ except: # noqa: E722
130
+ pass
131
+ return cast(Union["QuickBooksConnectionConfig", None, Unset], data)
132
+
133
+ quickbooks_config = _parse_quickbooks_config(d.pop("quickbooks_config", UNSET))
134
+
135
+ def _parse_plaid_config(
136
+ data: object,
137
+ ) -> Union["PlaidConnectionConfig", None, Unset]:
138
+ if data is None:
139
+ return data
140
+ if isinstance(data, Unset):
141
+ return data
142
+ try:
143
+ if not isinstance(data, dict):
144
+ raise TypeError()
145
+ plaid_config_type_0 = PlaidConnectionConfig.from_dict(data)
146
+
147
+ return plaid_config_type_0
148
+ except: # noqa: E722
149
+ pass
150
+ return cast(Union["PlaidConnectionConfig", None, Unset], data)
151
+
152
+ plaid_config = _parse_plaid_config(d.pop("plaid_config", UNSET))
153
+
154
+ create_connection_request = cls(
155
+ provider=provider,
156
+ entity_id=entity_id,
157
+ sec_config=sec_config,
158
+ quickbooks_config=quickbooks_config,
159
+ plaid_config=plaid_config,
160
+ )
161
+
162
+ create_connection_request.additional_properties = d
163
+ return create_connection_request
164
+
165
+ @property
166
+ def additional_keys(self) -> list[str]:
167
+ return list(self.additional_properties.keys())
168
+
169
+ def __getitem__(self, key: str) -> Any:
170
+ return self.additional_properties[key]
171
+
172
+ def __setitem__(self, key: str, value: Any) -> None:
173
+ self.additional_properties[key] = value
174
+
175
+ def __delitem__(self, key: str) -> None:
176
+ del self.additional_properties[key]
177
+
178
+ def __contains__(self, key: str) -> bool:
179
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class CreateConnectionRequestProvider(str, Enum):
5
+ PLAID = "plaid"
6
+ QUICKBOOKS = "quickbooks"
7
+ SEC = "sec"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)