robosystems-client 0.2.11__py3-none-any.whl → 0.2.13__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 (72) hide show
  1. robosystems_client/api/agent/auto_select_agent.py +81 -9
  2. robosystems_client/api/agent/execute_specific_agent.py +73 -5
  3. robosystems_client/api/agent/get_agent_metadata.py +1 -1
  4. robosystems_client/api/agent/list_agents.py +1 -1
  5. robosystems_client/api/auth/register_user.py +36 -8
  6. robosystems_client/api/billing/{cancel_subscription.py → cancel_org_subscription.py} +34 -9
  7. robosystems_client/api/billing/create_checkout_session.py +28 -20
  8. robosystems_client/api/billing/get_org_billing_customer.py +189 -0
  9. robosystems_client/api/billing/{get_subscription.py → get_org_subscription.py} +30 -5
  10. robosystems_client/api/billing/{get_upcoming_invoice.py → get_org_upcoming_invoice.py} +68 -22
  11. robosystems_client/api/billing/{list_invoices.py → list_org_invoices.py} +38 -9
  12. robosystems_client/api/billing/{list_subscriptions.py → list_org_subscriptions.py} +64 -22
  13. robosystems_client/api/billing/{update_payment_method.py → update_org_payment_method.py} +34 -9
  14. robosystems_client/api/credits_/list_credit_transactions.py +4 -4
  15. robosystems_client/api/org/__init__.py +1 -0
  16. robosystems_client/api/org/create_org.py +174 -0
  17. robosystems_client/api/{billing/get_billing_customer.py → org/get_org.py} +50 -28
  18. robosystems_client/api/org/list_org_graphs.py +170 -0
  19. robosystems_client/api/{user/get_user_limits.py → org/list_user_orgs.py} +21 -25
  20. robosystems_client/api/org/update_org.py +187 -0
  21. robosystems_client/api/org_members/__init__.py +1 -0
  22. robosystems_client/api/org_members/invite_org_member.py +207 -0
  23. robosystems_client/api/org_members/list_org_members.py +165 -0
  24. robosystems_client/api/org_members/remove_org_member.py +176 -0
  25. robosystems_client/api/org_members/update_org_member_role.py +200 -0
  26. robosystems_client/api/org_usage/__init__.py +1 -0
  27. robosystems_client/api/org_usage/get_org_limits.py +165 -0
  28. robosystems_client/api/org_usage/get_org_usage.py +186 -0
  29. robosystems_client/api/service_offerings/get_service_offerings.py +32 -8
  30. robosystems_client/api/usage/get_graph_usage_analytics.py +4 -4
  31. robosystems_client/extensions/__init__.py +25 -0
  32. robosystems_client/extensions/agent_client.py +526 -0
  33. robosystems_client/extensions/extensions.py +3 -0
  34. robosystems_client/models/__init__.py +44 -6
  35. robosystems_client/models/auth_response.py +35 -0
  36. robosystems_client/models/{user_usage_response_graphs.py → auth_response_org_type_0.py} +6 -6
  37. robosystems_client/models/billing_customer.py +8 -8
  38. robosystems_client/models/checkout_response.py +65 -22
  39. robosystems_client/models/checkout_status_response.py +2 -1
  40. robosystems_client/models/create_checkout_request.py +2 -1
  41. robosystems_client/models/create_checkout_request_resource_config.py +4 -1
  42. robosystems_client/models/create_org_request.py +79 -0
  43. robosystems_client/models/graph_subscription_tier.py +40 -48
  44. robosystems_client/models/graph_subscriptions.py +17 -5
  45. robosystems_client/models/invite_member_request.py +93 -0
  46. robosystems_client/models/list_org_graphs_response_200_item.py +44 -0
  47. robosystems_client/models/org_detail_response.py +174 -0
  48. robosystems_client/models/org_detail_response_graphs_item.py +44 -0
  49. robosystems_client/models/org_detail_response_limits_type_0.py +44 -0
  50. robosystems_client/models/org_detail_response_members_item.py +44 -0
  51. robosystems_client/models/org_limits_response.py +98 -0
  52. robosystems_client/models/org_limits_response_current_usage.py +44 -0
  53. robosystems_client/models/org_list_response.py +82 -0
  54. robosystems_client/models/org_member_list_response.py +90 -0
  55. robosystems_client/models/org_member_response.py +104 -0
  56. robosystems_client/models/org_response.py +121 -0
  57. robosystems_client/models/org_role.py +10 -0
  58. robosystems_client/models/org_type.py +10 -0
  59. robosystems_client/models/org_usage_response.py +146 -0
  60. robosystems_client/models/org_usage_response_daily_trend_item.py +44 -0
  61. robosystems_client/models/org_usage_response_graph_details_item.py +44 -0
  62. robosystems_client/models/org_usage_summary.py +158 -0
  63. robosystems_client/models/repository_subscriptions.py +15 -4
  64. robosystems_client/models/service_offerings_response.py +15 -0
  65. robosystems_client/models/update_member_role_request.py +62 -0
  66. robosystems_client/models/update_org_request.py +103 -0
  67. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/METADATA +1 -1
  68. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/RECORD +70 -37
  69. robosystems_client/models/user_limits_response.py +0 -95
  70. robosystems_client/models/user_usage_response.py +0 -90
  71. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/WHEEL +0 -0
  72. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,186 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.http_validation_error import HTTPValidationError
9
+ from ...models.org_usage_response import OrgUsageResponse
10
+ from ...types import UNSET, Response, Unset
11
+
12
+
13
+ def _get_kwargs(
14
+ org_id: str,
15
+ *,
16
+ days: Union[Unset, int] = 30,
17
+ ) -> dict[str, Any]:
18
+ params: dict[str, Any] = {}
19
+
20
+ params["days"] = days
21
+
22
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
23
+
24
+ _kwargs: dict[str, Any] = {
25
+ "method": "get",
26
+ "url": f"/v1/orgs/{org_id}/usage",
27
+ "params": params,
28
+ }
29
+
30
+ return _kwargs
31
+
32
+
33
+ def _parse_response(
34
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
35
+ ) -> Optional[Union[HTTPValidationError, OrgUsageResponse]]:
36
+ if response.status_code == 200:
37
+ response_200 = OrgUsageResponse.from_dict(response.json())
38
+
39
+ return response_200
40
+
41
+ if response.status_code == 422:
42
+ response_422 = HTTPValidationError.from_dict(response.json())
43
+
44
+ return response_422
45
+
46
+ if client.raise_on_unexpected_status:
47
+ raise errors.UnexpectedStatus(response.status_code, response.content)
48
+ else:
49
+ return None
50
+
51
+
52
+ def _build_response(
53
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
54
+ ) -> Response[Union[HTTPValidationError, OrgUsageResponse]]:
55
+ return Response(
56
+ status_code=HTTPStatus(response.status_code),
57
+ content=response.content,
58
+ headers=response.headers,
59
+ parsed=_parse_response(client=client, response=response),
60
+ )
61
+
62
+
63
+ def sync_detailed(
64
+ org_id: str,
65
+ *,
66
+ client: AuthenticatedClient,
67
+ days: Union[Unset, int] = 30,
68
+ ) -> Response[Union[HTTPValidationError, OrgUsageResponse]]:
69
+ """Get Organization Usage
70
+
71
+ Get detailed usage statistics for an organization aggregated across all graphs.
72
+
73
+ Args:
74
+ org_id (str):
75
+ days (Union[Unset, int]): Default: 30.
76
+
77
+ Raises:
78
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
79
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
80
+
81
+ Returns:
82
+ Response[Union[HTTPValidationError, OrgUsageResponse]]
83
+ """
84
+
85
+ kwargs = _get_kwargs(
86
+ org_id=org_id,
87
+ days=days,
88
+ )
89
+
90
+ response = client.get_httpx_client().request(
91
+ **kwargs,
92
+ )
93
+
94
+ return _build_response(client=client, response=response)
95
+
96
+
97
+ def sync(
98
+ org_id: str,
99
+ *,
100
+ client: AuthenticatedClient,
101
+ days: Union[Unset, int] = 30,
102
+ ) -> Optional[Union[HTTPValidationError, OrgUsageResponse]]:
103
+ """Get Organization Usage
104
+
105
+ Get detailed usage statistics for an organization aggregated across all graphs.
106
+
107
+ Args:
108
+ org_id (str):
109
+ days (Union[Unset, int]): Default: 30.
110
+
111
+ Raises:
112
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
113
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
114
+
115
+ Returns:
116
+ Union[HTTPValidationError, OrgUsageResponse]
117
+ """
118
+
119
+ return sync_detailed(
120
+ org_id=org_id,
121
+ client=client,
122
+ days=days,
123
+ ).parsed
124
+
125
+
126
+ async def asyncio_detailed(
127
+ org_id: str,
128
+ *,
129
+ client: AuthenticatedClient,
130
+ days: Union[Unset, int] = 30,
131
+ ) -> Response[Union[HTTPValidationError, OrgUsageResponse]]:
132
+ """Get Organization Usage
133
+
134
+ Get detailed usage statistics for an organization aggregated across all graphs.
135
+
136
+ Args:
137
+ org_id (str):
138
+ days (Union[Unset, int]): Default: 30.
139
+
140
+ Raises:
141
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
142
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
143
+
144
+ Returns:
145
+ Response[Union[HTTPValidationError, OrgUsageResponse]]
146
+ """
147
+
148
+ kwargs = _get_kwargs(
149
+ org_id=org_id,
150
+ days=days,
151
+ )
152
+
153
+ response = await client.get_async_httpx_client().request(**kwargs)
154
+
155
+ return _build_response(client=client, response=response)
156
+
157
+
158
+ async def asyncio(
159
+ org_id: str,
160
+ *,
161
+ client: AuthenticatedClient,
162
+ days: Union[Unset, int] = 30,
163
+ ) -> Optional[Union[HTTPValidationError, OrgUsageResponse]]:
164
+ """Get Organization Usage
165
+
166
+ Get detailed usage statistics for an organization aggregated across all graphs.
167
+
168
+ Args:
169
+ org_id (str):
170
+ days (Union[Unset, int]): Default: 30.
171
+
172
+ Raises:
173
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
174
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
175
+
176
+ Returns:
177
+ Union[HTTPValidationError, OrgUsageResponse]
178
+ """
179
+
180
+ return (
181
+ await asyncio_detailed(
182
+ org_id=org_id,
183
+ client=client,
184
+ days=days,
185
+ )
186
+ ).parsed
@@ -61,9 +61,15 @@ def sync_detailed(
61
61
  and shared repository subscriptions. This is the primary endpoint for frontend
62
62
  applications to display subscription options.
63
63
 
64
+ **Pricing Model:**
65
+ - Graph subscriptions are **per-graph** with infrastructure-based pricing
66
+ - Each graph you create has its own monthly subscription
67
+ - Organizations can have multiple graphs with different infrastructure tiers
68
+ - Credits are allocated per-graph, not shared across organization
69
+
64
70
  Includes:
65
- - Graph subscription tiers (standard, enterprise, premium)
66
- - Shared repository subscriptions (SEC, industry, economic data)
71
+ - Graph infrastructure tiers (kuzu-standard, kuzu-large, kuzu-xlarge) - per-graph pricing
72
+ - Shared repository subscriptions (SEC, industry, economic data) - org-level
67
73
  - Operation costs and credit information
68
74
  - Features and capabilities for each tier
69
75
  - Enabled/disabled status for repositories
@@ -101,9 +107,15 @@ def sync(
101
107
  and shared repository subscriptions. This is the primary endpoint for frontend
102
108
  applications to display subscription options.
103
109
 
110
+ **Pricing Model:**
111
+ - Graph subscriptions are **per-graph** with infrastructure-based pricing
112
+ - Each graph you create has its own monthly subscription
113
+ - Organizations can have multiple graphs with different infrastructure tiers
114
+ - Credits are allocated per-graph, not shared across organization
115
+
104
116
  Includes:
105
- - Graph subscription tiers (standard, enterprise, premium)
106
- - Shared repository subscriptions (SEC, industry, economic data)
117
+ - Graph infrastructure tiers (kuzu-standard, kuzu-large, kuzu-xlarge) - per-graph pricing
118
+ - Shared repository subscriptions (SEC, industry, economic data) - org-level
107
119
  - Operation costs and credit information
108
120
  - Features and capabilities for each tier
109
121
  - Enabled/disabled status for repositories
@@ -137,9 +149,15 @@ async def asyncio_detailed(
137
149
  and shared repository subscriptions. This is the primary endpoint for frontend
138
150
  applications to display subscription options.
139
151
 
152
+ **Pricing Model:**
153
+ - Graph subscriptions are **per-graph** with infrastructure-based pricing
154
+ - Each graph you create has its own monthly subscription
155
+ - Organizations can have multiple graphs with different infrastructure tiers
156
+ - Credits are allocated per-graph, not shared across organization
157
+
140
158
  Includes:
141
- - Graph subscription tiers (standard, enterprise, premium)
142
- - Shared repository subscriptions (SEC, industry, economic data)
159
+ - Graph infrastructure tiers (kuzu-standard, kuzu-large, kuzu-xlarge) - per-graph pricing
160
+ - Shared repository subscriptions (SEC, industry, economic data) - org-level
143
161
  - Operation costs and credit information
144
162
  - Features and capabilities for each tier
145
163
  - Enabled/disabled status for repositories
@@ -175,9 +193,15 @@ async def asyncio(
175
193
  and shared repository subscriptions. This is the primary endpoint for frontend
176
194
  applications to display subscription options.
177
195
 
196
+ **Pricing Model:**
197
+ - Graph subscriptions are **per-graph** with infrastructure-based pricing
198
+ - Each graph you create has its own monthly subscription
199
+ - Organizations can have multiple graphs with different infrastructure tiers
200
+ - Credits are allocated per-graph, not shared across organization
201
+
178
202
  Includes:
179
- - Graph subscription tiers (standard, enterprise, premium)
180
- - Shared repository subscriptions (SEC, industry, economic data)
203
+ - Graph infrastructure tiers (kuzu-standard, kuzu-large, kuzu-xlarge) - per-graph pricing
204
+ - Shared repository subscriptions (SEC, industry, economic data) - org-level
181
205
  - Operation costs and credit information
182
206
  - Features and capabilities for each tier
183
207
  - Enabled/disabled status for repositories
@@ -95,7 +95,7 @@ def sync_detailed(
95
95
  ) -> Response[Union[ErrorResponse, GraphUsageResponse, HTTPValidationError]]:
96
96
  """Get Graph Usage Analytics
97
97
 
98
- Get comprehensive usage analytics tracked by the GraphUsageTracking model.
98
+ Get comprehensive usage analytics tracked by the GraphUsage model.
99
99
 
100
100
  Provides temporal usage patterns including:
101
101
  - **Storage Analytics**: GB-hours for billing, breakdown by type (files, tables, graphs, subgraphs)
@@ -171,7 +171,7 @@ def sync(
171
171
  ) -> Optional[Union[ErrorResponse, GraphUsageResponse, HTTPValidationError]]:
172
172
  """Get Graph Usage Analytics
173
173
 
174
- Get comprehensive usage analytics tracked by the GraphUsageTracking model.
174
+ Get comprehensive usage analytics tracked by the GraphUsage model.
175
175
 
176
176
  Provides temporal usage patterns including:
177
177
  - **Storage Analytics**: GB-hours for billing, breakdown by type (files, tables, graphs, subgraphs)
@@ -242,7 +242,7 @@ async def asyncio_detailed(
242
242
  ) -> Response[Union[ErrorResponse, GraphUsageResponse, HTTPValidationError]]:
243
243
  """Get Graph Usage Analytics
244
244
 
245
- Get comprehensive usage analytics tracked by the GraphUsageTracking model.
245
+ Get comprehensive usage analytics tracked by the GraphUsage model.
246
246
 
247
247
  Provides temporal usage patterns including:
248
248
  - **Storage Analytics**: GB-hours for billing, breakdown by type (files, tables, graphs, subgraphs)
@@ -316,7 +316,7 @@ async def asyncio(
316
316
  ) -> Optional[Union[ErrorResponse, GraphUsageResponse, HTTPValidationError]]:
317
317
  """Get Graph Usage Analytics
318
318
 
319
- Get comprehensive usage analytics tracked by the GraphUsageTracking model.
319
+ Get comprehensive usage analytics tracked by the GraphUsage model.
320
320
 
321
321
  Provides temporal usage patterns including:
322
322
  - **Storage Analytics**: GB-hours for billing, breakdown by type (files, tables, graphs, subgraphs)
@@ -14,6 +14,14 @@ from .query_client import (
14
14
  QueryOptions,
15
15
  QueuedQueryError,
16
16
  )
17
+ from .agent_client import (
18
+ AgentClient,
19
+ AgentResult,
20
+ QueuedAgentResponse,
21
+ AgentQueryRequest,
22
+ AgentOptions,
23
+ QueuedAgentError,
24
+ )
17
25
  from .operation_client import (
18
26
  OperationClient,
19
27
  OperationStatus,
@@ -118,6 +126,13 @@ __all__ = [
118
126
  "QueryRequest",
119
127
  "QueryOptions",
120
128
  "QueuedQueryError",
129
+ # Agent Client
130
+ "AgentClient",
131
+ "AgentResult",
132
+ "QueuedAgentResponse",
133
+ "AgentQueryRequest",
134
+ "AgentOptions",
135
+ "QueuedAgentError",
121
136
  # Operation Client
122
137
  "OperationClient",
123
138
  "OperationStatus",
@@ -189,6 +204,16 @@ def stream_query(graph_id: str, query: str, parameters=None, chunk_size=None):
189
204
  return extensions.query.stream_query(graph_id, query, parameters, chunk_size)
190
205
 
191
206
 
207
+ def agent_query(graph_id: str, message: str, context=None):
208
+ """Execute an agent query using the default extensions instance"""
209
+ return extensions.agent.query(graph_id, message, context)
210
+
211
+
212
+ def analyze_financials(graph_id: str, message: str, on_progress=None):
213
+ """Execute financial agent using the default extensions instance"""
214
+ return extensions.agent.analyze_financials(graph_id, message, on_progress)
215
+
216
+
192
217
  # DataFrame convenience functions (if pandas is available)
193
218
  if (
194
219
  HAS_PANDAS