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.
- robosystems_client/__init__.py +14 -0
- robosystems_client/api/__init__.py +1 -0
- robosystems_client/api/agent/__init__.py +1 -0
- robosystems_client/api/agent/query_financial_agent.py +423 -0
- robosystems_client/api/auth/__init__.py +1 -0
- robosystems_client/api/auth/check_password_strength.py +172 -0
- robosystems_client/api/auth/complete_sso_auth.py +177 -0
- robosystems_client/api/auth/generate_sso_token.py +174 -0
- robosystems_client/api/auth/get_captcha_config.py +87 -0
- robosystems_client/api/auth/get_current_auth_user.py +220 -0
- robosystems_client/api/auth/get_password_policy.py +134 -0
- robosystems_client/api/auth/login_user.py +181 -0
- robosystems_client/api/auth/logout_user.py +169 -0
- robosystems_client/api/auth/refresh_session.py +174 -0
- robosystems_client/api/auth/register_user.py +189 -0
- robosystems_client/api/auth/sso_login.py +177 -0
- robosystems_client/api/auth/sso_token_exchange.py +181 -0
- robosystems_client/api/backup/__init__.py +1 -0
- robosystems_client/api/backup/create_backup.py +401 -0
- robosystems_client/api/backup/export_backup.py +225 -0
- robosystems_client/api/backup/get_backup_download_url.py +258 -0
- robosystems_client/api/backup/get_backup_stats.py +182 -0
- robosystems_client/api/backup/kuzu_backup_health.py +202 -0
- robosystems_client/api/backup/list_backups.py +217 -0
- robosystems_client/api/backup/restore_backup.py +401 -0
- robosystems_client/api/billing/__init__.py +1 -0
- robosystems_client/api/billing/get_available_subscription_plans_v1_graph_id_billing_available_plans_get.py +198 -0
- robosystems_client/api/billing/get_credit_billing_info_v1_graph_id_billing_credits_get.py +210 -0
- robosystems_client/api/billing/get_current_graph_bill.py +285 -0
- robosystems_client/api/billing/get_graph_billing_history.py +329 -0
- robosystems_client/api/billing/get_graph_monthly_bill.py +315 -0
- robosystems_client/api/billing/get_graph_pricing_info_v1_graph_id_billing_pricing_get.py +198 -0
- robosystems_client/api/billing/get_graph_subscription_v1_graph_id_billing_subscription_get.py +198 -0
- robosystems_client/api/billing/get_graph_usage_details.py +350 -0
- robosystems_client/api/billing/upgrade_graph_subscription_v1_graph_id_billing_subscription_upgrade_post.py +216 -0
- robosystems_client/api/connections/__init__.py +1 -0
- robosystems_client/api/connections/create_connection.py +327 -0
- robosystems_client/api/connections/create_link_token.py +281 -0
- robosystems_client/api/connections/delete_connection.py +278 -0
- robosystems_client/api/connections/exchange_link_token.py +301 -0
- robosystems_client/api/connections/get_connection.py +262 -0
- robosystems_client/api/connections/get_connection_options.py +285 -0
- robosystems_client/api/connections/init_o_auth.py +230 -0
- robosystems_client/api/connections/list_connections.py +314 -0
- robosystems_client/api/connections/oauth_callback.py +318 -0
- robosystems_client/api/connections/sync_connection.py +362 -0
- robosystems_client/api/create/__init__.py +1 -0
- robosystems_client/api/create/create_graph.py +375 -0
- robosystems_client/api/create/get_available_extensions.py +134 -0
- robosystems_client/api/credits_/__init__.py +1 -0
- robosystems_client/api/credits_/check_credit_balance.py +299 -0
- robosystems_client/api/credits_/check_storage_limits.py +249 -0
- robosystems_client/api/credits_/get_credit_summary.py +245 -0
- robosystems_client/api/credits_/get_storage_usage.py +279 -0
- robosystems_client/api/credits_/list_credit_transactions.py +392 -0
- robosystems_client/api/graph_analytics/__init__.py +1 -0
- robosystems_client/api/graph_analytics/get_graph_metrics.py +285 -0
- robosystems_client/api/graph_analytics/get_graph_usage_stats.py +329 -0
- robosystems_client/api/graph_status/__init__.py +1 -0
- robosystems_client/api/graph_status/get_database_health.py +273 -0
- robosystems_client/api/graph_status/get_database_info.py +277 -0
- robosystems_client/api/mcp/__init__.py +1 -0
- robosystems_client/api/mcp/call_mcp_tool.py +432 -0
- robosystems_client/api/mcp/list_mcp_tools.py +265 -0
- robosystems_client/api/operations/__init__.py +1 -0
- robosystems_client/api/operations/cancel_operation.py +246 -0
- robosystems_client/api/operations/get_operation_status.py +273 -0
- robosystems_client/api/operations/stream_operation_events.py +415 -0
- robosystems_client/api/query/__init__.py +1 -0
- robosystems_client/api/query/execute_cypher_query.py +482 -0
- robosystems_client/api/schema/__init__.py +1 -0
- robosystems_client/api/schema/export_graph_schema.py +239 -0
- robosystems_client/api/schema/get_graph_schema_info.py +277 -0
- robosystems_client/api/schema/list_schema_extensions.py +216 -0
- robosystems_client/api/schema/validate_schema.py +326 -0
- robosystems_client/api/service_offerings/__init__.py +1 -0
- robosystems_client/api/service_offerings/get_service_offerings.py +197 -0
- robosystems_client/api/status/__init__.py +1 -0
- robosystems_client/api/status/get_mcp_health.py +136 -0
- robosystems_client/api/status/get_service_status.py +134 -0
- robosystems_client/api/user/__init__.py +1 -0
- robosystems_client/api/user/create_user_api_key.py +205 -0
- robosystems_client/api/user/get_all_credit_summaries.py +256 -0
- robosystems_client/api/user/get_current_user.py +187 -0
- robosystems_client/api/user/get_user_graphs.py +187 -0
- robosystems_client/api/user/list_user_api_keys.py +187 -0
- robosystems_client/api/user/revoke_user_api_key.py +209 -0
- robosystems_client/api/user/select_user_graph.py +213 -0
- robosystems_client/api/user/update_user.py +205 -0
- robosystems_client/api/user/update_user_api_key.py +218 -0
- robosystems_client/api/user/update_user_password.py +218 -0
- robosystems_client/api/user_analytics/__init__.py +1 -0
- robosystems_client/api/user_analytics/get_detailed_user_analytics.py +222 -0
- robosystems_client/api/user_analytics/get_user_usage_overview.py +187 -0
- robosystems_client/api/user_limits/__init__.py +1 -0
- robosystems_client/api/user_limits/get_user_limits.py +190 -0
- robosystems_client/api/user_limits/get_user_usage.py +187 -0
- robosystems_client/api/user_subscriptions/__init__.py +1 -0
- robosystems_client/api/user_subscriptions/cancel_shared_repository_subscription.py +209 -0
- robosystems_client/api/user_subscriptions/get_repository_credits.py +206 -0
- robosystems_client/api/user_subscriptions/get_shared_repository_credits.py +193 -0
- robosystems_client/api/user_subscriptions/get_user_shared_subscriptions.py +213 -0
- robosystems_client/api/user_subscriptions/subscribe_to_shared_repository.py +214 -0
- robosystems_client/api/user_subscriptions/upgrade_shared_repository_subscription.py +228 -0
- robosystems_client/client.py +278 -0
- robosystems_client/errors.py +16 -0
- robosystems_client/extensions/README.md +611 -0
- robosystems_client/extensions/__init__.py +108 -0
- robosystems_client/extensions/auth_integration.py +210 -0
- robosystems_client/extensions/extensions.py +170 -0
- robosystems_client/extensions/operation_client.py +368 -0
- robosystems_client/extensions/query_client.py +375 -0
- robosystems_client/extensions/sse_client.py +520 -0
- robosystems_client/extensions/tests/__init__.py +1 -0
- robosystems_client/extensions/tests/test_integration.py +490 -0
- robosystems_client/extensions/tests/test_unit.py +560 -0
- robosystems_client/extensions/utils.py +526 -0
- robosystems_client/models/__init__.py +379 -0
- robosystems_client/models/account_info.py +79 -0
- robosystems_client/models/add_on_credit_info.py +119 -0
- robosystems_client/models/agent_message.py +68 -0
- robosystems_client/models/agent_request.py +132 -0
- robosystems_client/models/agent_request_context_type_0.py +44 -0
- robosystems_client/models/agent_response.py +132 -0
- robosystems_client/models/agent_response_metadata_type_0.py +44 -0
- robosystems_client/models/api_key_info.py +134 -0
- robosystems_client/models/api_keys_response.py +74 -0
- robosystems_client/models/auth_response.py +82 -0
- robosystems_client/models/auth_response_user.py +44 -0
- robosystems_client/models/available_extension.py +78 -0
- robosystems_client/models/available_extensions_response.py +73 -0
- robosystems_client/models/backup_create_request.py +117 -0
- robosystems_client/models/backup_export_request.py +72 -0
- robosystems_client/models/backup_list_response.py +90 -0
- robosystems_client/models/backup_response.py +200 -0
- robosystems_client/models/backup_restore_request.py +81 -0
- robosystems_client/models/backup_stats_response.py +156 -0
- robosystems_client/models/backup_stats_response_backup_formats.py +44 -0
- robosystems_client/models/cancel_operation_response_canceloperation.py +44 -0
- robosystems_client/models/cancellation_response.py +76 -0
- robosystems_client/models/check_credit_balance_response_checkcreditbalance.py +44 -0
- robosystems_client/models/connection_options_response.py +82 -0
- robosystems_client/models/connection_provider_info.py +203 -0
- robosystems_client/models/connection_provider_info_auth_type.py +11 -0
- robosystems_client/models/connection_provider_info_provider.py +10 -0
- robosystems_client/models/connection_response.py +149 -0
- robosystems_client/models/connection_response_metadata.py +44 -0
- robosystems_client/models/connection_response_provider.py +10 -0
- robosystems_client/models/create_api_key_request.py +82 -0
- robosystems_client/models/create_api_key_response.py +74 -0
- robosystems_client/models/create_connection_request.py +179 -0
- robosystems_client/models/create_connection_request_provider.py +10 -0
- robosystems_client/models/create_graph_request.py +183 -0
- robosystems_client/models/credit_check_request.py +82 -0
- robosystems_client/models/credit_summary.py +128 -0
- robosystems_client/models/credit_summary_response.py +140 -0
- robosystems_client/models/credits_summary_response.py +122 -0
- robosystems_client/models/credits_summary_response_credits_by_addon_item.py +44 -0
- robosystems_client/models/custom_schema_definition.py +194 -0
- robosystems_client/models/custom_schema_definition_metadata.py +49 -0
- robosystems_client/models/custom_schema_definition_nodes_item.py +44 -0
- robosystems_client/models/custom_schema_definition_relationships_item.py +44 -0
- robosystems_client/models/cypher_query_request.py +128 -0
- robosystems_client/models/cypher_query_request_parameters_type_0.py +44 -0
- robosystems_client/models/database_health_response.py +181 -0
- robosystems_client/models/database_info_response.py +191 -0
- robosystems_client/models/detailed_transactions_response.py +124 -0
- robosystems_client/models/detailed_transactions_response_date_range.py +44 -0
- robosystems_client/models/detailed_transactions_response_summary.py +59 -0
- robosystems_client/models/enhanced_credit_transaction_response.py +192 -0
- robosystems_client/models/enhanced_credit_transaction_response_metadata.py +44 -0
- robosystems_client/models/error_response.py +145 -0
- robosystems_client/models/exchange_token_request.py +116 -0
- robosystems_client/models/exchange_token_request_metadata_type_0.py +44 -0
- robosystems_client/models/get_all_credit_summaries_response_getallcreditsummaries.py +44 -0
- robosystems_client/models/get_backup_download_url_response_getbackupdownloadurl.py +44 -0
- robosystems_client/models/get_current_auth_user_response_getcurrentauthuser.py +44 -0
- robosystems_client/models/get_current_graph_bill_response_getcurrentgraphbill.py +44 -0
- robosystems_client/models/get_graph_billing_history_response_getgraphbillinghistory.py +44 -0
- robosystems_client/models/get_graph_monthly_bill_response_getgraphmonthlybill.py +44 -0
- robosystems_client/models/get_graph_schema_info_response_getgraphschemainfo.py +44 -0
- robosystems_client/models/get_graph_usage_details_response_getgraphusagedetails.py +44 -0
- robosystems_client/models/get_mcp_health_response_getmcphealth.py +44 -0
- robosystems_client/models/get_operation_status_response_getoperationstatus.py +44 -0
- robosystems_client/models/get_storage_usage_response_getstorageusage.py +44 -0
- robosystems_client/models/graph_info.py +92 -0
- robosystems_client/models/graph_metadata.py +105 -0
- robosystems_client/models/graph_metrics_response.py +188 -0
- robosystems_client/models/graph_metrics_response_estimated_size.py +44 -0
- robosystems_client/models/graph_metrics_response_health_status.py +44 -0
- robosystems_client/models/graph_metrics_response_node_counts.py +44 -0
- robosystems_client/models/graph_metrics_response_relationship_counts.py +44 -0
- robosystems_client/models/graph_usage_response.py +116 -0
- robosystems_client/models/graph_usage_response_query_statistics.py +44 -0
- robosystems_client/models/graph_usage_response_recent_activity.py +44 -0
- robosystems_client/models/graph_usage_response_storage_usage.py +44 -0
- robosystems_client/models/health_status.py +110 -0
- robosystems_client/models/health_status_details_type_0.py +44 -0
- robosystems_client/models/http_validation_error.py +75 -0
- robosystems_client/models/initial_entity_data.py +212 -0
- robosystems_client/models/kuzu_backup_health_response_kuzubackuphealth.py +44 -0
- robosystems_client/models/link_token_request.py +174 -0
- robosystems_client/models/link_token_request_options_type_0.py +44 -0
- robosystems_client/models/link_token_request_provider_type_0.py +10 -0
- robosystems_client/models/list_connections_provider_type_0.py +10 -0
- robosystems_client/models/list_schema_extensions_response_listschemaextensions.py +44 -0
- robosystems_client/models/login_request.py +68 -0
- robosystems_client/models/logout_user_response_logoutuser.py +44 -0
- robosystems_client/models/mcp_tool_call.py +84 -0
- robosystems_client/models/mcp_tool_call_arguments.py +44 -0
- robosystems_client/models/mcp_tools_response.py +74 -0
- robosystems_client/models/mcp_tools_response_tools_item.py +44 -0
- robosystems_client/models/o_auth_callback_request.py +130 -0
- robosystems_client/models/o_auth_init_request.py +128 -0
- robosystems_client/models/o_auth_init_request_additional_params_type_0.py +44 -0
- robosystems_client/models/o_auth_init_response.py +78 -0
- robosystems_client/models/password_check_request.py +82 -0
- robosystems_client/models/password_check_response.py +112 -0
- robosystems_client/models/password_check_response_character_types.py +44 -0
- robosystems_client/models/password_policy_response.py +66 -0
- robosystems_client/models/password_policy_response_policy.py +44 -0
- robosystems_client/models/plaid_connection_config.py +209 -0
- robosystems_client/models/plaid_connection_config_accounts_type_0_item.py +44 -0
- robosystems_client/models/plaid_connection_config_institution_type_0.py +44 -0
- robosystems_client/models/quick_books_connection_config.py +92 -0
- robosystems_client/models/register_request.py +98 -0
- robosystems_client/models/repository_credits_response.py +101 -0
- robosystems_client/models/repository_plan.py +10 -0
- robosystems_client/models/repository_type.py +10 -0
- robosystems_client/models/response_mode.py +11 -0
- robosystems_client/models/schema_export_response.py +163 -0
- robosystems_client/models/schema_export_response_data_stats_type_0.py +44 -0
- robosystems_client/models/schema_export_response_schema_definition_type_0.py +44 -0
- robosystems_client/models/schema_validation_request.py +142 -0
- robosystems_client/models/schema_validation_request_schema_definition_type_0.py +44 -0
- robosystems_client/models/schema_validation_response.py +227 -0
- robosystems_client/models/schema_validation_response_compatibility_type_0.py +44 -0
- robosystems_client/models/schema_validation_response_stats_type_0.py +44 -0
- robosystems_client/models/sec_connection_config.py +82 -0
- robosystems_client/models/sso_complete_request.py +60 -0
- robosystems_client/models/sso_exchange_request.py +90 -0
- robosystems_client/models/sso_exchange_response.py +78 -0
- robosystems_client/models/sso_login_request.py +60 -0
- robosystems_client/models/sso_token_response.py +78 -0
- robosystems_client/models/storage_limit_response.py +149 -0
- robosystems_client/models/subscription_info.py +180 -0
- robosystems_client/models/subscription_info_metadata.py +44 -0
- robosystems_client/models/subscription_request.py +89 -0
- robosystems_client/models/subscription_response.py +82 -0
- robosystems_client/models/success_response.py +112 -0
- robosystems_client/models/success_response_data_type_0.py +44 -0
- robosystems_client/models/sync_connection_request.py +106 -0
- robosystems_client/models/sync_connection_request_sync_options_type_0.py +44 -0
- robosystems_client/models/sync_connection_response_syncconnection.py +44 -0
- robosystems_client/models/tier_upgrade_request.py +62 -0
- robosystems_client/models/transaction_summary_response.py +126 -0
- robosystems_client/models/update_api_key_request.py +92 -0
- robosystems_client/models/update_password_request.py +76 -0
- robosystems_client/models/update_user_request.py +92 -0
- robosystems_client/models/upgrade_subscription_request.py +82 -0
- robosystems_client/models/user_analytics_response.py +132 -0
- robosystems_client/models/user_analytics_response_api_usage.py +44 -0
- robosystems_client/models/user_analytics_response_graph_usage.py +44 -0
- robosystems_client/models/user_analytics_response_limits.py +44 -0
- robosystems_client/models/user_analytics_response_recent_activity_item.py +44 -0
- robosystems_client/models/user_analytics_response_user_info.py +44 -0
- robosystems_client/models/user_graph_summary.py +134 -0
- robosystems_client/models/user_graphs_response.py +96 -0
- robosystems_client/models/user_limits_response.py +95 -0
- robosystems_client/models/user_response.py +132 -0
- robosystems_client/models/user_subscriptions_response.py +90 -0
- robosystems_client/models/user_usage_response.py +90 -0
- robosystems_client/models/user_usage_response_graphs.py +44 -0
- robosystems_client/models/user_usage_summary_response.py +130 -0
- robosystems_client/models/user_usage_summary_response_usage_vs_limits.py +44 -0
- robosystems_client/models/validation_error.py +88 -0
- robosystems_client/py.typed +1 -0
- robosystems_client/sdk-config.yaml +5 -0
- robosystems_client/types.py +54 -0
- robosystems_client-0.1.9.dist-info/METADATA +302 -0
- robosystems_client-0.1.9.dist-info/RECORD +282 -0
- robosystems_client-0.1.9.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,277 @@
|
|
|
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.database_info_response import DatabaseInfoResponse
|
|
9
|
+
from ...models.http_validation_error import HTTPValidationError
|
|
10
|
+
from ...types import UNSET, Response, Unset
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _get_kwargs(
|
|
14
|
+
graph_id: str,
|
|
15
|
+
*,
|
|
16
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
17
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
18
|
+
) -> dict[str, Any]:
|
|
19
|
+
headers: dict[str, Any] = {}
|
|
20
|
+
if not isinstance(authorization, Unset):
|
|
21
|
+
headers["authorization"] = authorization
|
|
22
|
+
|
|
23
|
+
cookies = {}
|
|
24
|
+
if auth_token is not UNSET:
|
|
25
|
+
cookies["auth-token"] = auth_token
|
|
26
|
+
|
|
27
|
+
_kwargs: dict[str, Any] = {
|
|
28
|
+
"method": "get",
|
|
29
|
+
"url": f"/v1/{graph_id}/status/info",
|
|
30
|
+
"cookies": cookies,
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
_kwargs["headers"] = headers
|
|
34
|
+
return _kwargs
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _parse_response(
|
|
38
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
39
|
+
) -> Optional[Union[Any, DatabaseInfoResponse, HTTPValidationError]]:
|
|
40
|
+
if response.status_code == 200:
|
|
41
|
+
response_200 = DatabaseInfoResponse.from_dict(response.json())
|
|
42
|
+
|
|
43
|
+
return response_200
|
|
44
|
+
if response.status_code == 403:
|
|
45
|
+
response_403 = cast(Any, None)
|
|
46
|
+
return response_403
|
|
47
|
+
if response.status_code == 404:
|
|
48
|
+
response_404 = cast(Any, None)
|
|
49
|
+
return response_404
|
|
50
|
+
if response.status_code == 500:
|
|
51
|
+
response_500 = cast(Any, None)
|
|
52
|
+
return response_500
|
|
53
|
+
if response.status_code == 422:
|
|
54
|
+
response_422 = HTTPValidationError.from_dict(response.json())
|
|
55
|
+
|
|
56
|
+
return response_422
|
|
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, DatabaseInfoResponse, HTTPValidationError]]:
|
|
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
|
+
*,
|
|
77
|
+
client: AuthenticatedClient,
|
|
78
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
79
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
80
|
+
) -> Response[Union[Any, DatabaseInfoResponse, HTTPValidationError]]:
|
|
81
|
+
"""Database Information
|
|
82
|
+
|
|
83
|
+
Get comprehensive database information and statistics.
|
|
84
|
+
|
|
85
|
+
Returns detailed database metrics including:
|
|
86
|
+
- **Database Metadata**: Name, path, size, and timestamps
|
|
87
|
+
- **Schema Information**: Node labels, relationship types, and counts
|
|
88
|
+
- **Storage Statistics**: Database size and usage metrics
|
|
89
|
+
- **Data Composition**: Node and relationship counts
|
|
90
|
+
- **Backup Information**: Available backups and last backup date
|
|
91
|
+
- **Configuration**: Read-only status and schema version
|
|
92
|
+
|
|
93
|
+
Database statistics:
|
|
94
|
+
- **Size**: Storage usage in bytes and MB
|
|
95
|
+
- **Content**: Node and relationship counts
|
|
96
|
+
- **Schema**: Available labels and relationship types
|
|
97
|
+
- **Backup Status**: Backup availability and recency
|
|
98
|
+
- **Timestamps**: Creation and modification dates
|
|
99
|
+
|
|
100
|
+
This endpoint provides essential database information for capacity planning and monitoring.
|
|
101
|
+
|
|
102
|
+
Args:
|
|
103
|
+
graph_id (str): Graph database identifier
|
|
104
|
+
authorization (Union[None, Unset, str]):
|
|
105
|
+
auth_token (Union[None, Unset, str]):
|
|
106
|
+
|
|
107
|
+
Raises:
|
|
108
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
109
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
110
|
+
|
|
111
|
+
Returns:
|
|
112
|
+
Response[Union[Any, DatabaseInfoResponse, HTTPValidationError]]
|
|
113
|
+
"""
|
|
114
|
+
|
|
115
|
+
kwargs = _get_kwargs(
|
|
116
|
+
graph_id=graph_id,
|
|
117
|
+
authorization=authorization,
|
|
118
|
+
auth_token=auth_token,
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
response = client.get_httpx_client().request(
|
|
122
|
+
**kwargs,
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
return _build_response(client=client, response=response)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def sync(
|
|
129
|
+
graph_id: str,
|
|
130
|
+
*,
|
|
131
|
+
client: AuthenticatedClient,
|
|
132
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
133
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
134
|
+
) -> Optional[Union[Any, DatabaseInfoResponse, HTTPValidationError]]:
|
|
135
|
+
"""Database Information
|
|
136
|
+
|
|
137
|
+
Get comprehensive database information and statistics.
|
|
138
|
+
|
|
139
|
+
Returns detailed database metrics including:
|
|
140
|
+
- **Database Metadata**: Name, path, size, and timestamps
|
|
141
|
+
- **Schema Information**: Node labels, relationship types, and counts
|
|
142
|
+
- **Storage Statistics**: Database size and usage metrics
|
|
143
|
+
- **Data Composition**: Node and relationship counts
|
|
144
|
+
- **Backup Information**: Available backups and last backup date
|
|
145
|
+
- **Configuration**: Read-only status and schema version
|
|
146
|
+
|
|
147
|
+
Database statistics:
|
|
148
|
+
- **Size**: Storage usage in bytes and MB
|
|
149
|
+
- **Content**: Node and relationship counts
|
|
150
|
+
- **Schema**: Available labels and relationship types
|
|
151
|
+
- **Backup Status**: Backup availability and recency
|
|
152
|
+
- **Timestamps**: Creation and modification dates
|
|
153
|
+
|
|
154
|
+
This endpoint provides essential database information for capacity planning and monitoring.
|
|
155
|
+
|
|
156
|
+
Args:
|
|
157
|
+
graph_id (str): Graph database identifier
|
|
158
|
+
authorization (Union[None, Unset, str]):
|
|
159
|
+
auth_token (Union[None, Unset, str]):
|
|
160
|
+
|
|
161
|
+
Raises:
|
|
162
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
163
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
164
|
+
|
|
165
|
+
Returns:
|
|
166
|
+
Union[Any, DatabaseInfoResponse, HTTPValidationError]
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
return sync_detailed(
|
|
170
|
+
graph_id=graph_id,
|
|
171
|
+
client=client,
|
|
172
|
+
authorization=authorization,
|
|
173
|
+
auth_token=auth_token,
|
|
174
|
+
).parsed
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
async def asyncio_detailed(
|
|
178
|
+
graph_id: str,
|
|
179
|
+
*,
|
|
180
|
+
client: AuthenticatedClient,
|
|
181
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
182
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
183
|
+
) -> Response[Union[Any, DatabaseInfoResponse, HTTPValidationError]]:
|
|
184
|
+
"""Database Information
|
|
185
|
+
|
|
186
|
+
Get comprehensive database information and statistics.
|
|
187
|
+
|
|
188
|
+
Returns detailed database metrics including:
|
|
189
|
+
- **Database Metadata**: Name, path, size, and timestamps
|
|
190
|
+
- **Schema Information**: Node labels, relationship types, and counts
|
|
191
|
+
- **Storage Statistics**: Database size and usage metrics
|
|
192
|
+
- **Data Composition**: Node and relationship counts
|
|
193
|
+
- **Backup Information**: Available backups and last backup date
|
|
194
|
+
- **Configuration**: Read-only status and schema version
|
|
195
|
+
|
|
196
|
+
Database statistics:
|
|
197
|
+
- **Size**: Storage usage in bytes and MB
|
|
198
|
+
- **Content**: Node and relationship counts
|
|
199
|
+
- **Schema**: Available labels and relationship types
|
|
200
|
+
- **Backup Status**: Backup availability and recency
|
|
201
|
+
- **Timestamps**: Creation and modification dates
|
|
202
|
+
|
|
203
|
+
This endpoint provides essential database information for capacity planning and monitoring.
|
|
204
|
+
|
|
205
|
+
Args:
|
|
206
|
+
graph_id (str): Graph database identifier
|
|
207
|
+
authorization (Union[None, Unset, str]):
|
|
208
|
+
auth_token (Union[None, Unset, str]):
|
|
209
|
+
|
|
210
|
+
Raises:
|
|
211
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
212
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
213
|
+
|
|
214
|
+
Returns:
|
|
215
|
+
Response[Union[Any, DatabaseInfoResponse, HTTPValidationError]]
|
|
216
|
+
"""
|
|
217
|
+
|
|
218
|
+
kwargs = _get_kwargs(
|
|
219
|
+
graph_id=graph_id,
|
|
220
|
+
authorization=authorization,
|
|
221
|
+
auth_token=auth_token,
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
|
225
|
+
|
|
226
|
+
return _build_response(client=client, response=response)
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
async def asyncio(
|
|
230
|
+
graph_id: str,
|
|
231
|
+
*,
|
|
232
|
+
client: AuthenticatedClient,
|
|
233
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
234
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
235
|
+
) -> Optional[Union[Any, DatabaseInfoResponse, HTTPValidationError]]:
|
|
236
|
+
"""Database Information
|
|
237
|
+
|
|
238
|
+
Get comprehensive database information and statistics.
|
|
239
|
+
|
|
240
|
+
Returns detailed database metrics including:
|
|
241
|
+
- **Database Metadata**: Name, path, size, and timestamps
|
|
242
|
+
- **Schema Information**: Node labels, relationship types, and counts
|
|
243
|
+
- **Storage Statistics**: Database size and usage metrics
|
|
244
|
+
- **Data Composition**: Node and relationship counts
|
|
245
|
+
- **Backup Information**: Available backups and last backup date
|
|
246
|
+
- **Configuration**: Read-only status and schema version
|
|
247
|
+
|
|
248
|
+
Database statistics:
|
|
249
|
+
- **Size**: Storage usage in bytes and MB
|
|
250
|
+
- **Content**: Node and relationship counts
|
|
251
|
+
- **Schema**: Available labels and relationship types
|
|
252
|
+
- **Backup Status**: Backup availability and recency
|
|
253
|
+
- **Timestamps**: Creation and modification dates
|
|
254
|
+
|
|
255
|
+
This endpoint provides essential database information for capacity planning and monitoring.
|
|
256
|
+
|
|
257
|
+
Args:
|
|
258
|
+
graph_id (str): Graph database identifier
|
|
259
|
+
authorization (Union[None, Unset, str]):
|
|
260
|
+
auth_token (Union[None, Unset, str]):
|
|
261
|
+
|
|
262
|
+
Raises:
|
|
263
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
264
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
265
|
+
|
|
266
|
+
Returns:
|
|
267
|
+
Union[Any, DatabaseInfoResponse, HTTPValidationError]
|
|
268
|
+
"""
|
|
269
|
+
|
|
270
|
+
return (
|
|
271
|
+
await asyncio_detailed(
|
|
272
|
+
graph_id=graph_id,
|
|
273
|
+
client=client,
|
|
274
|
+
authorization=authorization,
|
|
275
|
+
auth_token=auth_token,
|
|
276
|
+
)
|
|
277
|
+
).parsed
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Contains endpoint functions for accessing the API"""
|
|
@@ -0,0 +1,432 @@
|
|
|
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.mcp_tool_call import MCPToolCall
|
|
11
|
+
from ...types import UNSET, Response, Unset
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def _get_kwargs(
|
|
15
|
+
graph_id: str,
|
|
16
|
+
*,
|
|
17
|
+
body: MCPToolCall,
|
|
18
|
+
format_: Union[None, Unset, str] = UNSET,
|
|
19
|
+
test_mode: Union[Unset, bool] = False,
|
|
20
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
21
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
22
|
+
) -> dict[str, Any]:
|
|
23
|
+
headers: dict[str, Any] = {}
|
|
24
|
+
if not isinstance(authorization, Unset):
|
|
25
|
+
headers["authorization"] = authorization
|
|
26
|
+
|
|
27
|
+
cookies = {}
|
|
28
|
+
if auth_token is not UNSET:
|
|
29
|
+
cookies["auth-token"] = auth_token
|
|
30
|
+
|
|
31
|
+
params: dict[str, Any] = {}
|
|
32
|
+
|
|
33
|
+
json_format_: Union[None, Unset, str]
|
|
34
|
+
if isinstance(format_, Unset):
|
|
35
|
+
json_format_ = UNSET
|
|
36
|
+
else:
|
|
37
|
+
json_format_ = format_
|
|
38
|
+
params["format"] = json_format_
|
|
39
|
+
|
|
40
|
+
params["test_mode"] = test_mode
|
|
41
|
+
|
|
42
|
+
params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
|
|
43
|
+
|
|
44
|
+
_kwargs: dict[str, Any] = {
|
|
45
|
+
"method": "post",
|
|
46
|
+
"url": f"/v1/{graph_id}/mcp/call-tool",
|
|
47
|
+
"params": params,
|
|
48
|
+
"cookies": cookies,
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
_kwargs["json"] = body.to_dict()
|
|
52
|
+
|
|
53
|
+
headers["Content-Type"] = "application/json"
|
|
54
|
+
|
|
55
|
+
_kwargs["headers"] = headers
|
|
56
|
+
return _kwargs
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def _parse_response(
|
|
60
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
61
|
+
) -> Optional[Union[Any, ErrorResponse, HTTPValidationError]]:
|
|
62
|
+
if response.status_code == 200:
|
|
63
|
+
response_200 = response.json()
|
|
64
|
+
return response_200
|
|
65
|
+
if response.status_code == 202:
|
|
66
|
+
response_202 = cast(Any, None)
|
|
67
|
+
return response_202
|
|
68
|
+
if response.status_code == 400:
|
|
69
|
+
response_400 = ErrorResponse.from_dict(response.json())
|
|
70
|
+
|
|
71
|
+
return response_400
|
|
72
|
+
if response.status_code == 402:
|
|
73
|
+
response_402 = ErrorResponse.from_dict(response.json())
|
|
74
|
+
|
|
75
|
+
return response_402
|
|
76
|
+
if response.status_code == 403:
|
|
77
|
+
response_403 = ErrorResponse.from_dict(response.json())
|
|
78
|
+
|
|
79
|
+
return response_403
|
|
80
|
+
if response.status_code == 408:
|
|
81
|
+
response_408 = ErrorResponse.from_dict(response.json())
|
|
82
|
+
|
|
83
|
+
return response_408
|
|
84
|
+
if response.status_code == 429:
|
|
85
|
+
response_429 = ErrorResponse.from_dict(response.json())
|
|
86
|
+
|
|
87
|
+
return response_429
|
|
88
|
+
if response.status_code == 500:
|
|
89
|
+
response_500 = ErrorResponse.from_dict(response.json())
|
|
90
|
+
|
|
91
|
+
return response_500
|
|
92
|
+
if response.status_code == 503:
|
|
93
|
+
response_503 = ErrorResponse.from_dict(response.json())
|
|
94
|
+
|
|
95
|
+
return response_503
|
|
96
|
+
if response.status_code == 422:
|
|
97
|
+
response_422 = HTTPValidationError.from_dict(response.json())
|
|
98
|
+
|
|
99
|
+
return response_422
|
|
100
|
+
if client.raise_on_unexpected_status:
|
|
101
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
102
|
+
else:
|
|
103
|
+
return None
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def _build_response(
|
|
107
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
108
|
+
) -> Response[Union[Any, ErrorResponse, HTTPValidationError]]:
|
|
109
|
+
return Response(
|
|
110
|
+
status_code=HTTPStatus(response.status_code),
|
|
111
|
+
content=response.content,
|
|
112
|
+
headers=response.headers,
|
|
113
|
+
parsed=_parse_response(client=client, response=response),
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
def sync_detailed(
|
|
118
|
+
graph_id: str,
|
|
119
|
+
*,
|
|
120
|
+
client: AuthenticatedClient,
|
|
121
|
+
body: MCPToolCall,
|
|
122
|
+
format_: Union[None, Unset, str] = UNSET,
|
|
123
|
+
test_mode: Union[Unset, bool] = False,
|
|
124
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
125
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
126
|
+
) -> Response[Union[Any, ErrorResponse, HTTPValidationError]]:
|
|
127
|
+
"""Execute MCP Tool
|
|
128
|
+
|
|
129
|
+
Execute an MCP tool with intelligent response optimization.
|
|
130
|
+
|
|
131
|
+
This endpoint automatically selects the best execution strategy based on:
|
|
132
|
+
- Tool type and estimated complexity
|
|
133
|
+
- Client capabilities (AI agent detection)
|
|
134
|
+
- System load and queue status
|
|
135
|
+
- Graph type (shared repository vs user graph)
|
|
136
|
+
|
|
137
|
+
**Response Formats:**
|
|
138
|
+
- **JSON**: Direct response for small/fast operations
|
|
139
|
+
- **SSE**: Server-Sent Events for progress monitoring
|
|
140
|
+
- **NDJSON**: Newline-delimited JSON for streaming
|
|
141
|
+
- **Queued**: Asynchronous execution with status monitoring
|
|
142
|
+
|
|
143
|
+
**SSE Streaming Support:**
|
|
144
|
+
- Maximum 5 concurrent SSE connections per user
|
|
145
|
+
- Rate limited to 10 new connections per minute
|
|
146
|
+
- Automatic circuit breaker for Redis failures
|
|
147
|
+
- Graceful degradation to direct response if SSE unavailable
|
|
148
|
+
- Progress events for long-running operations
|
|
149
|
+
|
|
150
|
+
**AI Agent Optimization:**
|
|
151
|
+
The Node.js MCP client transparently handles all response formats,
|
|
152
|
+
presenting a unified interface to AI agents. Streaming responses are
|
|
153
|
+
automatically aggregated for seamless consumption.
|
|
154
|
+
|
|
155
|
+
**Error Handling:**
|
|
156
|
+
- `429 Too Many Requests`: Connection limit or rate limit exceeded
|
|
157
|
+
- `503 Service Unavailable`: SSE system temporarily disabled
|
|
158
|
+
- `408 Request Timeout`: Tool execution exceeded timeout
|
|
159
|
+
- Clients should implement exponential backoff on errors
|
|
160
|
+
|
|
161
|
+
**Credit Consumption:**
|
|
162
|
+
- Simple tools: 2-5 credits
|
|
163
|
+
- Schema tools: 5-10 credits
|
|
164
|
+
- Query tools: 10-50 credits (based on complexity)
|
|
165
|
+
- Multiplied by graph tier
|
|
166
|
+
|
|
167
|
+
Args:
|
|
168
|
+
graph_id (str): Graph database identifier
|
|
169
|
+
format_ (Union[None, Unset, str]): Response format override (json, sse, ndjson)
|
|
170
|
+
test_mode (Union[Unset, bool]): Enable test mode for debugging Default: False.
|
|
171
|
+
authorization (Union[None, Unset, str]):
|
|
172
|
+
auth_token (Union[None, Unset, str]):
|
|
173
|
+
body (MCPToolCall): Request model for MCP tool execution.
|
|
174
|
+
|
|
175
|
+
Raises:
|
|
176
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
177
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
178
|
+
|
|
179
|
+
Returns:
|
|
180
|
+
Response[Union[Any, ErrorResponse, HTTPValidationError]]
|
|
181
|
+
"""
|
|
182
|
+
|
|
183
|
+
kwargs = _get_kwargs(
|
|
184
|
+
graph_id=graph_id,
|
|
185
|
+
body=body,
|
|
186
|
+
format_=format_,
|
|
187
|
+
test_mode=test_mode,
|
|
188
|
+
authorization=authorization,
|
|
189
|
+
auth_token=auth_token,
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
response = client.get_httpx_client().request(
|
|
193
|
+
**kwargs,
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
return _build_response(client=client, response=response)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
def sync(
|
|
200
|
+
graph_id: str,
|
|
201
|
+
*,
|
|
202
|
+
client: AuthenticatedClient,
|
|
203
|
+
body: MCPToolCall,
|
|
204
|
+
format_: Union[None, Unset, str] = UNSET,
|
|
205
|
+
test_mode: Union[Unset, bool] = False,
|
|
206
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
207
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
208
|
+
) -> Optional[Union[Any, ErrorResponse, HTTPValidationError]]:
|
|
209
|
+
"""Execute MCP Tool
|
|
210
|
+
|
|
211
|
+
Execute an MCP tool with intelligent response optimization.
|
|
212
|
+
|
|
213
|
+
This endpoint automatically selects the best execution strategy based on:
|
|
214
|
+
- Tool type and estimated complexity
|
|
215
|
+
- Client capabilities (AI agent detection)
|
|
216
|
+
- System load and queue status
|
|
217
|
+
- Graph type (shared repository vs user graph)
|
|
218
|
+
|
|
219
|
+
**Response Formats:**
|
|
220
|
+
- **JSON**: Direct response for small/fast operations
|
|
221
|
+
- **SSE**: Server-Sent Events for progress monitoring
|
|
222
|
+
- **NDJSON**: Newline-delimited JSON for streaming
|
|
223
|
+
- **Queued**: Asynchronous execution with status monitoring
|
|
224
|
+
|
|
225
|
+
**SSE Streaming Support:**
|
|
226
|
+
- Maximum 5 concurrent SSE connections per user
|
|
227
|
+
- Rate limited to 10 new connections per minute
|
|
228
|
+
- Automatic circuit breaker for Redis failures
|
|
229
|
+
- Graceful degradation to direct response if SSE unavailable
|
|
230
|
+
- Progress events for long-running operations
|
|
231
|
+
|
|
232
|
+
**AI Agent Optimization:**
|
|
233
|
+
The Node.js MCP client transparently handles all response formats,
|
|
234
|
+
presenting a unified interface to AI agents. Streaming responses are
|
|
235
|
+
automatically aggregated for seamless consumption.
|
|
236
|
+
|
|
237
|
+
**Error Handling:**
|
|
238
|
+
- `429 Too Many Requests`: Connection limit or rate limit exceeded
|
|
239
|
+
- `503 Service Unavailable`: SSE system temporarily disabled
|
|
240
|
+
- `408 Request Timeout`: Tool execution exceeded timeout
|
|
241
|
+
- Clients should implement exponential backoff on errors
|
|
242
|
+
|
|
243
|
+
**Credit Consumption:**
|
|
244
|
+
- Simple tools: 2-5 credits
|
|
245
|
+
- Schema tools: 5-10 credits
|
|
246
|
+
- Query tools: 10-50 credits (based on complexity)
|
|
247
|
+
- Multiplied by graph tier
|
|
248
|
+
|
|
249
|
+
Args:
|
|
250
|
+
graph_id (str): Graph database identifier
|
|
251
|
+
format_ (Union[None, Unset, str]): Response format override (json, sse, ndjson)
|
|
252
|
+
test_mode (Union[Unset, bool]): Enable test mode for debugging Default: False.
|
|
253
|
+
authorization (Union[None, Unset, str]):
|
|
254
|
+
auth_token (Union[None, Unset, str]):
|
|
255
|
+
body (MCPToolCall): Request model for MCP tool execution.
|
|
256
|
+
|
|
257
|
+
Raises:
|
|
258
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
259
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
260
|
+
|
|
261
|
+
Returns:
|
|
262
|
+
Union[Any, ErrorResponse, HTTPValidationError]
|
|
263
|
+
"""
|
|
264
|
+
|
|
265
|
+
return sync_detailed(
|
|
266
|
+
graph_id=graph_id,
|
|
267
|
+
client=client,
|
|
268
|
+
body=body,
|
|
269
|
+
format_=format_,
|
|
270
|
+
test_mode=test_mode,
|
|
271
|
+
authorization=authorization,
|
|
272
|
+
auth_token=auth_token,
|
|
273
|
+
).parsed
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
async def asyncio_detailed(
|
|
277
|
+
graph_id: str,
|
|
278
|
+
*,
|
|
279
|
+
client: AuthenticatedClient,
|
|
280
|
+
body: MCPToolCall,
|
|
281
|
+
format_: Union[None, Unset, str] = UNSET,
|
|
282
|
+
test_mode: Union[Unset, bool] = False,
|
|
283
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
284
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
285
|
+
) -> Response[Union[Any, ErrorResponse, HTTPValidationError]]:
|
|
286
|
+
"""Execute MCP Tool
|
|
287
|
+
|
|
288
|
+
Execute an MCP tool with intelligent response optimization.
|
|
289
|
+
|
|
290
|
+
This endpoint automatically selects the best execution strategy based on:
|
|
291
|
+
- Tool type and estimated complexity
|
|
292
|
+
- Client capabilities (AI agent detection)
|
|
293
|
+
- System load and queue status
|
|
294
|
+
- Graph type (shared repository vs user graph)
|
|
295
|
+
|
|
296
|
+
**Response Formats:**
|
|
297
|
+
- **JSON**: Direct response for small/fast operations
|
|
298
|
+
- **SSE**: Server-Sent Events for progress monitoring
|
|
299
|
+
- **NDJSON**: Newline-delimited JSON for streaming
|
|
300
|
+
- **Queued**: Asynchronous execution with status monitoring
|
|
301
|
+
|
|
302
|
+
**SSE Streaming Support:**
|
|
303
|
+
- Maximum 5 concurrent SSE connections per user
|
|
304
|
+
- Rate limited to 10 new connections per minute
|
|
305
|
+
- Automatic circuit breaker for Redis failures
|
|
306
|
+
- Graceful degradation to direct response if SSE unavailable
|
|
307
|
+
- Progress events for long-running operations
|
|
308
|
+
|
|
309
|
+
**AI Agent Optimization:**
|
|
310
|
+
The Node.js MCP client transparently handles all response formats,
|
|
311
|
+
presenting a unified interface to AI agents. Streaming responses are
|
|
312
|
+
automatically aggregated for seamless consumption.
|
|
313
|
+
|
|
314
|
+
**Error Handling:**
|
|
315
|
+
- `429 Too Many Requests`: Connection limit or rate limit exceeded
|
|
316
|
+
- `503 Service Unavailable`: SSE system temporarily disabled
|
|
317
|
+
- `408 Request Timeout`: Tool execution exceeded timeout
|
|
318
|
+
- Clients should implement exponential backoff on errors
|
|
319
|
+
|
|
320
|
+
**Credit Consumption:**
|
|
321
|
+
- Simple tools: 2-5 credits
|
|
322
|
+
- Schema tools: 5-10 credits
|
|
323
|
+
- Query tools: 10-50 credits (based on complexity)
|
|
324
|
+
- Multiplied by graph tier
|
|
325
|
+
|
|
326
|
+
Args:
|
|
327
|
+
graph_id (str): Graph database identifier
|
|
328
|
+
format_ (Union[None, Unset, str]): Response format override (json, sse, ndjson)
|
|
329
|
+
test_mode (Union[Unset, bool]): Enable test mode for debugging Default: False.
|
|
330
|
+
authorization (Union[None, Unset, str]):
|
|
331
|
+
auth_token (Union[None, Unset, str]):
|
|
332
|
+
body (MCPToolCall): Request model for MCP tool execution.
|
|
333
|
+
|
|
334
|
+
Raises:
|
|
335
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
336
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
337
|
+
|
|
338
|
+
Returns:
|
|
339
|
+
Response[Union[Any, ErrorResponse, HTTPValidationError]]
|
|
340
|
+
"""
|
|
341
|
+
|
|
342
|
+
kwargs = _get_kwargs(
|
|
343
|
+
graph_id=graph_id,
|
|
344
|
+
body=body,
|
|
345
|
+
format_=format_,
|
|
346
|
+
test_mode=test_mode,
|
|
347
|
+
authorization=authorization,
|
|
348
|
+
auth_token=auth_token,
|
|
349
|
+
)
|
|
350
|
+
|
|
351
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
|
352
|
+
|
|
353
|
+
return _build_response(client=client, response=response)
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
async def asyncio(
|
|
357
|
+
graph_id: str,
|
|
358
|
+
*,
|
|
359
|
+
client: AuthenticatedClient,
|
|
360
|
+
body: MCPToolCall,
|
|
361
|
+
format_: Union[None, Unset, str] = UNSET,
|
|
362
|
+
test_mode: Union[Unset, bool] = False,
|
|
363
|
+
authorization: Union[None, Unset, str] = UNSET,
|
|
364
|
+
auth_token: Union[None, Unset, str] = UNSET,
|
|
365
|
+
) -> Optional[Union[Any, ErrorResponse, HTTPValidationError]]:
|
|
366
|
+
"""Execute MCP Tool
|
|
367
|
+
|
|
368
|
+
Execute an MCP tool with intelligent response optimization.
|
|
369
|
+
|
|
370
|
+
This endpoint automatically selects the best execution strategy based on:
|
|
371
|
+
- Tool type and estimated complexity
|
|
372
|
+
- Client capabilities (AI agent detection)
|
|
373
|
+
- System load and queue status
|
|
374
|
+
- Graph type (shared repository vs user graph)
|
|
375
|
+
|
|
376
|
+
**Response Formats:**
|
|
377
|
+
- **JSON**: Direct response for small/fast operations
|
|
378
|
+
- **SSE**: Server-Sent Events for progress monitoring
|
|
379
|
+
- **NDJSON**: Newline-delimited JSON for streaming
|
|
380
|
+
- **Queued**: Asynchronous execution with status monitoring
|
|
381
|
+
|
|
382
|
+
**SSE Streaming Support:**
|
|
383
|
+
- Maximum 5 concurrent SSE connections per user
|
|
384
|
+
- Rate limited to 10 new connections per minute
|
|
385
|
+
- Automatic circuit breaker for Redis failures
|
|
386
|
+
- Graceful degradation to direct response if SSE unavailable
|
|
387
|
+
- Progress events for long-running operations
|
|
388
|
+
|
|
389
|
+
**AI Agent Optimization:**
|
|
390
|
+
The Node.js MCP client transparently handles all response formats,
|
|
391
|
+
presenting a unified interface to AI agents. Streaming responses are
|
|
392
|
+
automatically aggregated for seamless consumption.
|
|
393
|
+
|
|
394
|
+
**Error Handling:**
|
|
395
|
+
- `429 Too Many Requests`: Connection limit or rate limit exceeded
|
|
396
|
+
- `503 Service Unavailable`: SSE system temporarily disabled
|
|
397
|
+
- `408 Request Timeout`: Tool execution exceeded timeout
|
|
398
|
+
- Clients should implement exponential backoff on errors
|
|
399
|
+
|
|
400
|
+
**Credit Consumption:**
|
|
401
|
+
- Simple tools: 2-5 credits
|
|
402
|
+
- Schema tools: 5-10 credits
|
|
403
|
+
- Query tools: 10-50 credits (based on complexity)
|
|
404
|
+
- Multiplied by graph tier
|
|
405
|
+
|
|
406
|
+
Args:
|
|
407
|
+
graph_id (str): Graph database identifier
|
|
408
|
+
format_ (Union[None, Unset, str]): Response format override (json, sse, ndjson)
|
|
409
|
+
test_mode (Union[Unset, bool]): Enable test mode for debugging Default: False.
|
|
410
|
+
authorization (Union[None, Unset, str]):
|
|
411
|
+
auth_token (Union[None, Unset, str]):
|
|
412
|
+
body (MCPToolCall): Request model for MCP tool execution.
|
|
413
|
+
|
|
414
|
+
Raises:
|
|
415
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
416
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
417
|
+
|
|
418
|
+
Returns:
|
|
419
|
+
Union[Any, ErrorResponse, HTTPValidationError]
|
|
420
|
+
"""
|
|
421
|
+
|
|
422
|
+
return (
|
|
423
|
+
await asyncio_detailed(
|
|
424
|
+
graph_id=graph_id,
|
|
425
|
+
client=client,
|
|
426
|
+
body=body,
|
|
427
|
+
format_=format_,
|
|
428
|
+
test_mode=test_mode,
|
|
429
|
+
authorization=authorization,
|
|
430
|
+
auth_token=auth_token,
|
|
431
|
+
)
|
|
432
|
+
).parsed
|