robosystems-client 0.1.14__tar.gz → 0.1.15__tar.gz
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-0.1.15/.github/workflows/create-feature.yml +111 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.github/workflows/create-pr.yml +90 -42
- robosystems_client-0.1.15/.github/workflows/create-release.yml +119 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.github/workflows/publish.yml +2 -2
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.github/workflows/tag-release.yml +24 -61
- robosystems_client-0.1.15/.vscode/tasks.json +312 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/PKG-INFO +1 -1
- robosystems_client-0.1.15/bin/create-feature +110 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/bin/create-pr +27 -14
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/justfile +6 -2
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/pyproject.toml +1 -1
- robosystems_client-0.1.14/.github/workflows/create-release.yml +0 -123
- robosystems_client-0.1.14/.vscode/tasks.json +0 -159
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.github/workflows/claude.yml +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.github/workflows/test.yml +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.gitignore +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.python-version +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/.vscode/settings.json +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/README.md +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/bin/create-release +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/pytest.ini +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/agent/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/agent/query_financial_agent.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/check_password_strength.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/complete_sso_auth.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/generate_sso_token.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/get_captcha_config.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/get_current_auth_user.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/get_password_policy.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/login_user.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/logout_user.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/refresh_session.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/register_user.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/sso_login.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/auth/sso_token_exchange.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/backup/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/backup/create_backup.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/backup/export_backup.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/backup/get_backup_download_url.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/backup/get_backup_stats.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/backup/list_backups.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/backup/restore_backup.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/create_connection.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/create_link_token.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/delete_connection.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/exchange_link_token.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/get_connection.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/get_connection_options.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/init_o_auth.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/list_connections.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/oauth_callback.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/connections/sync_connection.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/copy/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/copy/copy_data_to_graph.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/create/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/create/create_graph.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/create/get_available_extensions.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_analytics/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_analytics/get_graph_metrics.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_analytics/get_graph_usage_stats.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_billing/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_billing/get_current_graph_bill.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_billing/get_graph_billing_history.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_billing/get_graph_monthly_bill.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_billing/get_graph_usage_details.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_credits/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_credits/check_credit_balance.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_credits/check_storage_limits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_credits/get_credit_summary.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_credits/get_storage_usage.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_credits/list_credit_transactions.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_health/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_health/get_database_health.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_info/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_info/get_database_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_limits/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/graph_limits/get_graph_limits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/mcp/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/mcp/call_mcp_tool.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/mcp/list_mcp_tools.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/operations/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/operations/cancel_operation.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/operations/get_operation_status.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/operations/stream_operation_events.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/query/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/query/execute_cypher_query.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/schema/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/schema/export_graph_schema.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/schema/get_graph_schema_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/schema/list_schema_extensions.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/schema/validate_schema.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/service_offerings/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/service_offerings/get_service_offerings.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/status/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/status/get_service_status.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/subgraphs/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/subgraphs/create_subgraph.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/subgraphs/delete_subgraph.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/subgraphs/get_subgraph_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/subgraphs/get_subgraph_quota.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/subgraphs/list_subgraphs.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/create_user_api_key.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/get_all_credit_summaries.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/get_current_user.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/get_user_graphs.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/list_user_api_keys.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/revoke_user_api_key.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/select_user_graph.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/update_user.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/update_user_api_key.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user/update_user_password.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_analytics/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_analytics/get_detailed_user_analytics.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_analytics/get_user_usage_overview.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_limits/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_limits/get_all_shared_repository_limits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_limits/get_shared_repository_limits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_limits/get_user_limits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_limits/get_user_usage.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_subscriptions/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_subscriptions/cancel_shared_repository_subscription.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_subscriptions/get_repository_credits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_subscriptions/get_shared_repository_credits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_subscriptions/get_user_shared_subscriptions.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_subscriptions/subscribe_to_shared_repository.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/api/user_subscriptions/upgrade_shared_repository_subscription.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/client.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/errors.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/README.md +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/auth_integration.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/copy_client.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/extensions.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/operation_client.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/query_client.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/sse_client.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/tests/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/tests/test_integration.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/tests/test_unit.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/extensions/utils.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/account_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/add_on_credit_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/agent_message.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/agent_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/agent_request_context_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/agent_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/agent_response_metadata_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/api_key_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/api_keys_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/auth_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/auth_response_user.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/available_extension.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/available_extensions_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/backup_create_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/backup_list_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/backup_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/backup_restore_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/backup_stats_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/backup_stats_response_backup_formats.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/cancel_operation_response_canceloperation.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/cancellation_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/check_credit_balance_response_checkcreditbalance.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/connection_options_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/connection_provider_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/connection_provider_info_auth_type.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/connection_provider_info_provider.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/connection_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/connection_response_metadata.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/connection_response_provider.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/copy_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/copy_response_error_details_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/copy_response_status.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/create_api_key_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/create_api_key_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/create_connection_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/create_connection_request_provider.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/create_graph_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/create_subgraph_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/create_subgraph_request_metadata_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/credit_summary.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/credit_summary_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/credits_summary_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/credits_summary_response_credits_by_addon_item.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/custom_schema_definition.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/custom_schema_definition_metadata.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/custom_schema_definition_nodes_item.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/custom_schema_definition_relationships_item.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/cypher_query_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/cypher_query_request_parameters_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/data_frame_copy_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/data_frame_copy_request_format.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/database_health_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/database_info_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/delete_subgraph_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/delete_subgraph_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/detailed_transactions_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/detailed_transactions_response_date_range.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/detailed_transactions_response_summary.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/enhanced_credit_transaction_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/enhanced_credit_transaction_response_metadata.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/error_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/exchange_token_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/exchange_token_request_metadata_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_all_credit_summaries_response_getallcreditsummaries.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_all_shared_repository_limits_response_getallsharedrepositorylimits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_backup_download_url_response_getbackupdownloadurl.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_current_auth_user_response_getcurrentauthuser.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_current_graph_bill_response_getcurrentgraphbill.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_graph_billing_history_response_getgraphbillinghistory.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_graph_limits_response_getgraphlimits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_graph_monthly_bill_response_getgraphmonthlybill.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_graph_schema_info_response_getgraphschemainfo.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_graph_usage_details_response_getgraphusagedetails.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_operation_status_response_getoperationstatus.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_shared_repository_limits_response_getsharedrepositorylimits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/get_storage_usage_response_getstorageusage.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_metadata.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_metrics_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_metrics_response_estimated_size.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_metrics_response_health_status.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_metrics_response_node_counts.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_metrics_response_relationship_counts.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_usage_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_usage_response_query_statistics.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_usage_response_recent_activity.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/graph_usage_response_storage_usage.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/health_status.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/health_status_details_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/http_validation_error.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/initial_entity_data.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/link_token_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/link_token_request_options_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/link_token_request_provider_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/list_connections_provider_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/list_schema_extensions_response_listschemaextensions.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/list_subgraphs_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/login_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/logout_user_response_logoutuser.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/mcp_tool_call.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/mcp_tool_call_arguments.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/mcp_tools_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/mcp_tools_response_tools_item.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/o_auth_callback_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/o_auth_init_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/o_auth_init_request_additional_params_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/o_auth_init_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/password_check_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/password_check_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/password_check_response_character_types.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/password_policy_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/password_policy_response_policy.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/plaid_connection_config.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/plaid_connection_config_accounts_type_0_item.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/plaid_connection_config_institution_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/quick_books_connection_config.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/register_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/repository_credits_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/repository_plan.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/repository_type.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/response_mode.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/s3_copy_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/s3_copy_request_file_format.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/s3_copy_request_s3_url_style_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/schema_export_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/schema_export_response_data_stats_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/schema_export_response_schema_definition_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/schema_validation_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/schema_validation_request_schema_definition_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/schema_validation_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/schema_validation_response_compatibility_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/schema_validation_response_stats_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sec_connection_config.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sso_complete_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sso_exchange_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sso_exchange_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sso_login_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sso_token_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/storage_limit_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subgraph_quota_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subgraph_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subgraph_response_metadata_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subgraph_summary.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subgraph_type.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subscription_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subscription_info_metadata.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subscription_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/subscription_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/success_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/success_response_data_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sync_connection_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sync_connection_request_sync_options_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/sync_connection_response_syncconnection.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/tier_upgrade_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/transaction_summary_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/update_api_key_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/update_password_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/update_user_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/url_copy_request.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/url_copy_request_file_format.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/url_copy_request_headers_type_0.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_analytics_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_analytics_response_api_usage.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_analytics_response_graph_usage.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_analytics_response_limits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_analytics_response_recent_activity_item.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_analytics_response_user_info.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_graph_summary.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_graphs_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_limits_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_subscriptions_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_usage_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_usage_response_graphs.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_usage_summary_response.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/user_usage_summary_response_usage_vs_limits.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/models/validation_error.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/py.typed +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/sdk-config.yaml +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/robosystems_client/types.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/ruff.toml +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/tests/__init__.py +0 -0
- {robosystems_client-0.1.14 → robosystems_client-0.1.15}/tests/test_client.py +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
name: Create Feature Branch
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
branch_type:
|
|
7
|
+
description: "Type of branch to create"
|
|
8
|
+
required: true
|
|
9
|
+
type: choice
|
|
10
|
+
options:
|
|
11
|
+
- feature
|
|
12
|
+
- bugfix
|
|
13
|
+
- hotfix
|
|
14
|
+
- chore
|
|
15
|
+
- refactor
|
|
16
|
+
default: feature
|
|
17
|
+
branch_name:
|
|
18
|
+
description: "Branch name (will be prefixed with type/)"
|
|
19
|
+
required: true
|
|
20
|
+
type: string
|
|
21
|
+
branch_from:
|
|
22
|
+
description: "Base branch to create from"
|
|
23
|
+
required: false
|
|
24
|
+
type: string
|
|
25
|
+
default: main
|
|
26
|
+
|
|
27
|
+
jobs:
|
|
28
|
+
action:
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
timeout-minutes: 5
|
|
31
|
+
steps:
|
|
32
|
+
- name: Checkout
|
|
33
|
+
uses: actions/checkout@v4
|
|
34
|
+
with:
|
|
35
|
+
ref: ${{ inputs.branch_from }}
|
|
36
|
+
token: ${{ secrets.ACTIONS_TOKEN }}
|
|
37
|
+
fetch-depth: 0
|
|
38
|
+
|
|
39
|
+
- name: Set up Git
|
|
40
|
+
run: |
|
|
41
|
+
git config --global user.name "github-actions[bot]"
|
|
42
|
+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
43
|
+
|
|
44
|
+
- name: Validate branch name
|
|
45
|
+
id: validate
|
|
46
|
+
run: |
|
|
47
|
+
BRANCH_TYPE="${{ inputs.branch_type }}"
|
|
48
|
+
BRANCH_NAME="${{ inputs.branch_name }}"
|
|
49
|
+
|
|
50
|
+
# Sanitize branch name
|
|
51
|
+
# Remove special characters and replace spaces with hyphens
|
|
52
|
+
SANITIZED_NAME=$(echo "$BRANCH_NAME" | sed 's/[^a-zA-Z0-9._-]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
|
|
53
|
+
|
|
54
|
+
if [ -z "$SANITIZED_NAME" ]; then
|
|
55
|
+
echo "❌ Invalid branch name"
|
|
56
|
+
exit 1
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
FULL_BRANCH="${BRANCH_TYPE}/${SANITIZED_NAME}"
|
|
60
|
+
|
|
61
|
+
echo "branch_type=$BRANCH_TYPE" >> $GITHUB_OUTPUT
|
|
62
|
+
echo "branch_name=$SANITIZED_NAME" >> $GITHUB_OUTPUT
|
|
63
|
+
echo "full_branch=$FULL_BRANCH" >> $GITHUB_OUTPUT
|
|
64
|
+
echo "Branch will be created: $FULL_BRANCH"
|
|
65
|
+
|
|
66
|
+
- name: Check if branch exists
|
|
67
|
+
id: check-branch
|
|
68
|
+
run: |
|
|
69
|
+
FULL_BRANCH="${{ steps.validate.outputs.full_branch }}"
|
|
70
|
+
|
|
71
|
+
# Check if branch exists locally or remotely
|
|
72
|
+
if git show-ref --verify --quiet refs/heads/$FULL_BRANCH || git show-ref --verify --quiet refs/remotes/origin/$FULL_BRANCH; then
|
|
73
|
+
echo "❌ Branch $FULL_BRANCH already exists"
|
|
74
|
+
exit 1
|
|
75
|
+
else
|
|
76
|
+
echo "✅ Branch $FULL_BRANCH does not exist, proceeding..."
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
- name: Create feature branch
|
|
80
|
+
run: |
|
|
81
|
+
FULL_BRANCH="${{ steps.validate.outputs.full_branch }}"
|
|
82
|
+
BASE_BRANCH="${{ inputs.branch_from }}"
|
|
83
|
+
|
|
84
|
+
echo "Creating new branch: $FULL_BRANCH from $BASE_BRANCH"
|
|
85
|
+
|
|
86
|
+
# Ensure we have the latest base branch
|
|
87
|
+
git fetch origin $BASE_BRANCH
|
|
88
|
+
git checkout -b "$FULL_BRANCH" origin/$BASE_BRANCH
|
|
89
|
+
|
|
90
|
+
# Push the new branch
|
|
91
|
+
git push -u origin "$FULL_BRANCH"
|
|
92
|
+
|
|
93
|
+
echo "✅ Branch created: $FULL_BRANCH"
|
|
94
|
+
echo "✅ Based on: $BASE_BRANCH"
|
|
95
|
+
|
|
96
|
+
- name: Create summary
|
|
97
|
+
run: |
|
|
98
|
+
FULL_BRANCH="${{ steps.validate.outputs.full_branch }}"
|
|
99
|
+
BASE_BRANCH="${{ inputs.branch_from }}"
|
|
100
|
+
|
|
101
|
+
echo "## 🚀 Feature Branch Created" >> $GITHUB_STEP_SUMMARY
|
|
102
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
103
|
+
echo "**Branch:** \`$FULL_BRANCH\`" >> $GITHUB_STEP_SUMMARY
|
|
104
|
+
echo "**Base:** \`$BASE_BRANCH\`" >> $GITHUB_STEP_SUMMARY
|
|
105
|
+
echo "**Type:** ${{ inputs.branch_type }}" >> $GITHUB_STEP_SUMMARY
|
|
106
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
107
|
+
echo "### Next Steps" >> $GITHUB_STEP_SUMMARY
|
|
108
|
+
echo "1. Pull the branch locally: \`git fetch origin && git checkout $FULL_BRANCH\`" >> $GITHUB_STEP_SUMMARY
|
|
109
|
+
echo "2. Make your changes and commit them" >> $GITHUB_STEP_SUMMARY
|
|
110
|
+
echo "3. Push your changes: \`git push origin $FULL_BRANCH\`" >> $GITHUB_STEP_SUMMARY
|
|
111
|
+
echo "4. Create a PR to merge into main: \`just create-pr main ${{ inputs.branch_type }}\`" >> $GITHUB_STEP_SUMMARY
|
|
@@ -13,7 +13,6 @@ on:
|
|
|
13
13
|
type: choice
|
|
14
14
|
options:
|
|
15
15
|
- main
|
|
16
|
-
- staging
|
|
17
16
|
default: main
|
|
18
17
|
pr_type:
|
|
19
18
|
description: "Type of PR"
|
|
@@ -106,31 +105,28 @@ jobs:
|
|
|
106
105
|
# Get commit messages (limit to recent commits)
|
|
107
106
|
COMMIT_MESSAGES=$(git log --oneline --no-color $COMMIT_RANGE | head -20) # Limit to 20 commits
|
|
108
107
|
|
|
109
|
-
# Get detailed changes
|
|
108
|
+
# Get detailed changes (limit to prevent memory issues)
|
|
110
109
|
DETAILED_CHANGES=$(git diff $COMMIT_RANGE --name-status --no-color | head -100) # Limit to 100 files
|
|
111
110
|
|
|
112
|
-
# Create analysis prompt for Claude
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
cat << 'EOF' > /tmp/pr_analysis_template.txt
|
|
111
|
+
# Create analysis prompt for Claude
|
|
112
|
+
cat << 'EOF' > /tmp/pr_analysis_prompt.txt
|
|
116
113
|
I need you to analyze the following git changes and create a comprehensive PR title and description.
|
|
117
114
|
|
|
118
115
|
**Context:**
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
- Commits: $COMMITS_COUNT
|
|
116
|
+
- Source Branch: ${SOURCE_BRANCH}
|
|
117
|
+
- Target Branch: ${TARGET_BRANCH}
|
|
118
|
+
- PR Type: ${PR_TYPE}
|
|
119
|
+
- Files Changed: ${FILES_CHANGED}
|
|
120
|
+
- Commits: ${COMMITS_COUNT}
|
|
125
121
|
|
|
126
122
|
**Commit Messages:**
|
|
127
|
-
$COMMIT_MESSAGES
|
|
123
|
+
${COMMIT_MESSAGES}
|
|
128
124
|
|
|
129
125
|
**Diff Statistics:**
|
|
130
|
-
$DIFF_STATS
|
|
126
|
+
${DIFF_STATS}
|
|
131
127
|
|
|
132
128
|
**Detailed Changes:**
|
|
133
|
-
$DETAILED_CHANGES
|
|
129
|
+
${DETAILED_CHANGES}
|
|
134
130
|
|
|
135
131
|
Please provide:
|
|
136
132
|
1. A concise, descriptive PR title (50-72 characters)
|
|
@@ -149,7 +145,7 @@ jobs:
|
|
|
149
145
|
EOF
|
|
150
146
|
|
|
151
147
|
# Create the final prompt by writing directly to a file (avoiding envsubst issues)
|
|
152
|
-
cat > /tmp/
|
|
148
|
+
cat > /tmp/pr_analysis_prompt_final.txt << PROMPT_EOF
|
|
153
149
|
I need you to analyze the following git changes and create a comprehensive PR title and description.
|
|
154
150
|
|
|
155
151
|
**Context:**
|
|
@@ -183,9 +179,12 @@ jobs:
|
|
|
183
179
|
DESCRIPTION:
|
|
184
180
|
[your description here]
|
|
185
181
|
PROMPT_EOF
|
|
182
|
+
mv /tmp/pr_analysis_prompt_final.txt /tmp/pr_analysis_prompt.txt
|
|
186
183
|
|
|
187
184
|
echo "analysis_prompt_file=/tmp/pr_analysis_prompt.txt" >> $GITHUB_OUTPUT
|
|
188
185
|
echo "commit_range=$COMMIT_RANGE" >> $GITHUB_OUTPUT
|
|
186
|
+
echo "files_changed=$FILES_CHANGED" >> $GITHUB_OUTPUT
|
|
187
|
+
echo "commits_count=$COMMITS_COUNT" >> $GITHUB_OUTPUT
|
|
189
188
|
|
|
190
189
|
- name: Call Claude API
|
|
191
190
|
id: claude
|
|
@@ -193,8 +192,8 @@ jobs:
|
|
|
193
192
|
# Call Claude API with the analysis prompt
|
|
194
193
|
PROMPT=$(cat /tmp/pr_analysis_prompt.txt)
|
|
195
194
|
|
|
196
|
-
# Create JSON payload using jq to
|
|
197
|
-
|
|
195
|
+
# Create a proper JSON payload using jq to handle escaping
|
|
196
|
+
PAYLOAD=$(jq -n \
|
|
198
197
|
--arg model "claude-sonnet-4-20250514" \
|
|
199
198
|
--arg content "$PROMPT" \
|
|
200
199
|
'{
|
|
@@ -206,30 +205,79 @@ jobs:
|
|
|
206
205
|
"content": $content
|
|
207
206
|
}
|
|
208
207
|
]
|
|
209
|
-
}'
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
208
|
+
}')
|
|
209
|
+
|
|
210
|
+
# Retry logic with exponential backoff
|
|
211
|
+
MAX_RETRIES=3
|
|
212
|
+
RETRY_COUNT=0
|
|
213
|
+
RETRY_DELAY=5
|
|
214
|
+
|
|
215
|
+
while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
|
|
216
|
+
RESPONSE=$(curl -s -X POST "https://api.anthropic.com/v1/messages" \
|
|
217
|
+
-H "Content-Type: application/json" \
|
|
218
|
+
-H "x-api-key: ${{ secrets.ANTHROPIC_API_KEY }}" \
|
|
219
|
+
-H "anthropic-version: 2023-06-01" \
|
|
220
|
+
-d "$PAYLOAD")
|
|
221
|
+
|
|
222
|
+
# Check for API errors
|
|
223
|
+
if echo "$RESPONSE" | jq -e '.error' > /dev/null; then
|
|
224
|
+
ERROR_TYPE=$(echo "$RESPONSE" | jq -r '.error.type // "unknown"')
|
|
225
|
+
ERROR_MSG=$(echo "$RESPONSE" | jq -r '.error.message // "Unknown error"')
|
|
226
|
+
|
|
227
|
+
# Check if it's a rate limit or overload error
|
|
228
|
+
if [[ "$ERROR_TYPE" == "overloaded_error" ]] || [[ "$ERROR_TYPE" == "rate_limit_error" ]] || [[ "$ERROR_MSG" == *"Overloaded"* ]]; then
|
|
229
|
+
RETRY_COUNT=$((RETRY_COUNT + 1))
|
|
230
|
+
if [ $RETRY_COUNT -lt $MAX_RETRIES ]; then
|
|
231
|
+
echo "⚠️ Claude API overloaded (attempt $RETRY_COUNT/$MAX_RETRIES). Retrying in ${RETRY_DELAY}s..."
|
|
232
|
+
sleep $RETRY_DELAY
|
|
233
|
+
RETRY_DELAY=$((RETRY_DELAY * 2)) # Exponential backoff
|
|
234
|
+
continue
|
|
235
|
+
else
|
|
236
|
+
echo "❌ Claude API error after $MAX_RETRIES attempts: $ERROR_MSG"
|
|
237
|
+
echo "Using fallback PR description..."
|
|
238
|
+
# Set a fallback description
|
|
239
|
+
PR_TITLE="PR: ${{ steps.source-branch.outputs.source_branch }} → ${{ inputs.target_branch }}"
|
|
240
|
+
PR_DESCRIPTION="Automated PR from ${{ steps.source-branch.outputs.source_branch }} to ${{ inputs.target_branch }}"$'\n\n'"**Type:** ${{ inputs.pr_type }}"$'\n'"**Files Changed:** ${{ steps.analyze.outputs.files_changed }}"$'\n'"**Commits:** ${{ steps.analyze.outputs.commits_count }}"$'\n\n'"Please review the changes in the Files tab."
|
|
241
|
+
break
|
|
242
|
+
fi
|
|
243
|
+
else
|
|
244
|
+
echo "❌ Claude API error: $ERROR_MSG"
|
|
245
|
+
exit 1
|
|
246
|
+
fi
|
|
247
|
+
else
|
|
248
|
+
# Success - break out of retry loop
|
|
249
|
+
break
|
|
250
|
+
fi
|
|
251
|
+
done
|
|
252
|
+
|
|
253
|
+
# Only process Claude response if we didn't use fallback
|
|
254
|
+
if [ -z "$PR_TITLE" ]; then
|
|
255
|
+
# Check for successful response
|
|
256
|
+
if echo "$RESPONSE" | jq -e '.content[0].text' > /dev/null; then
|
|
257
|
+
# Extract title and description from Claude's response
|
|
258
|
+
CLAUDE_OUTPUT=$(echo "$RESPONSE" | jq -r '.content[0].text')
|
|
259
|
+
|
|
260
|
+
# Parse the title and description
|
|
261
|
+
PR_TITLE=$(echo "$CLAUDE_OUTPUT" | grep "^TITLE:" | sed 's/^TITLE: //')
|
|
262
|
+
PR_DESCRIPTION=$(echo "$CLAUDE_OUTPUT" | sed -n '/^DESCRIPTION:/,$ p' | sed '1d')
|
|
263
|
+
|
|
264
|
+
# Validate that Claude returned meaningful content
|
|
265
|
+
if [ -z "$PR_TITLE" ] || [ -z "$PR_DESCRIPTION" ]; then
|
|
266
|
+
echo "⚠️ Claude returned empty title or description, using fallback"
|
|
267
|
+
PR_TITLE="PR: ${{ steps.source-branch.outputs.source_branch }} → ${{ inputs.target_branch }}"
|
|
268
|
+
PR_DESCRIPTION="Automated PR from ${{ steps.source-branch.outputs.source_branch }} to ${{ inputs.target_branch }}"
|
|
269
|
+
PR_DESCRIPTION="${PR_DESCRIPTION}"$'\n\n'"**Type:** ${{ inputs.pr_type }}"
|
|
270
|
+
PR_DESCRIPTION="${PR_DESCRIPTION}"$'\n'"**Files Changed:** ${{ steps.analyze.outputs.files_changed }}"
|
|
271
|
+
PR_DESCRIPTION="${PR_DESCRIPTION}"$'\n'"**Commits:** ${{ steps.analyze.outputs.commits_count }}"
|
|
272
|
+
PR_DESCRIPTION="${PR_DESCRIPTION}"$'\n\n'"Please review the changes in the Files tab."
|
|
273
|
+
fi
|
|
274
|
+
else
|
|
275
|
+
echo "⚠️ Invalid Claude response format, using fallback"
|
|
276
|
+
PR_TITLE="PR: ${{ steps.source-branch.outputs.source_branch }} → ${{ inputs.target_branch }}"
|
|
277
|
+
PR_DESCRIPTION="Automated PR from ${{ steps.source-branch.outputs.source_branch }} to ${{ inputs.target_branch }}"
|
|
278
|
+
PR_DESCRIPTION="${PR_DESCRIPTION}"$'\n\n'"**Type:** ${{ inputs.pr_type }}"
|
|
279
|
+
PR_DESCRIPTION="${PR_DESCRIPTION}"$'\n\n'"Please review the changes in the Files tab."
|
|
280
|
+
fi
|
|
233
281
|
fi
|
|
234
282
|
|
|
235
283
|
# Save to outputs (escape for JSON)
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
name: Create Release & Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
version_type:
|
|
7
|
+
description: 'Version type'
|
|
8
|
+
required: true
|
|
9
|
+
default: 'patch'
|
|
10
|
+
type: choice
|
|
11
|
+
options:
|
|
12
|
+
- major
|
|
13
|
+
- minor
|
|
14
|
+
- patch
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
create-release:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- name: Checkout code
|
|
22
|
+
uses: actions/checkout@v4
|
|
23
|
+
with:
|
|
24
|
+
ref: main
|
|
25
|
+
fetch-depth: 0
|
|
26
|
+
token: ${{ secrets.ACTIONS_TOKEN }}
|
|
27
|
+
|
|
28
|
+
- name: Setup Python
|
|
29
|
+
uses: actions/setup-python@v5
|
|
30
|
+
with:
|
|
31
|
+
python-version: '3.12'
|
|
32
|
+
|
|
33
|
+
- name: Install uv
|
|
34
|
+
uses: astral-sh/setup-uv@v6
|
|
35
|
+
|
|
36
|
+
- name: Get current version
|
|
37
|
+
id: current-version
|
|
38
|
+
run: |
|
|
39
|
+
CURRENT_VERSION=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/')
|
|
40
|
+
echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
|
|
41
|
+
|
|
42
|
+
- name: Calculate new version
|
|
43
|
+
id: new-version
|
|
44
|
+
run: |
|
|
45
|
+
CURRENT_VERSION="${{ steps.current-version.outputs.current_version }}"
|
|
46
|
+
VERSION_TYPE="${{ inputs.version_type }}"
|
|
47
|
+
|
|
48
|
+
IFS='.' read -r major minor patch <<< "$CURRENT_VERSION"
|
|
49
|
+
|
|
50
|
+
case "$VERSION_TYPE" in
|
|
51
|
+
major)
|
|
52
|
+
major=$((major + 1))
|
|
53
|
+
minor=0
|
|
54
|
+
patch=0
|
|
55
|
+
;;
|
|
56
|
+
minor)
|
|
57
|
+
minor=$((minor + 1))
|
|
58
|
+
patch=0
|
|
59
|
+
;;
|
|
60
|
+
patch)
|
|
61
|
+
patch=$((patch + 1))
|
|
62
|
+
;;
|
|
63
|
+
esac
|
|
64
|
+
|
|
65
|
+
NEW_VERSION="${major}.${minor}.${patch}"
|
|
66
|
+
BRANCH_NAME="release/${NEW_VERSION}"
|
|
67
|
+
|
|
68
|
+
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
69
|
+
echo "branch_name=$BRANCH_NAME" >> $GITHUB_OUTPUT
|
|
70
|
+
|
|
71
|
+
- name: Configure Git
|
|
72
|
+
run: |
|
|
73
|
+
git config user.name "github-actions[bot]"
|
|
74
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
75
|
+
|
|
76
|
+
- name: Update main branch version
|
|
77
|
+
run: |
|
|
78
|
+
CURRENT_VERSION="${{ steps.current-version.outputs.current_version }}"
|
|
79
|
+
NEW_VERSION="${{ steps.new-version.outputs.new_version }}"
|
|
80
|
+
|
|
81
|
+
echo "Updating main branch version from $CURRENT_VERSION to $NEW_VERSION"
|
|
82
|
+
|
|
83
|
+
# Update version in pyproject.toml
|
|
84
|
+
sed -i "s/^version = \"$CURRENT_VERSION\"/version = \"$NEW_VERSION\"/" pyproject.toml
|
|
85
|
+
|
|
86
|
+
# Update lock file
|
|
87
|
+
uv sync --all-extras
|
|
88
|
+
|
|
89
|
+
# Commit and push to main
|
|
90
|
+
git add pyproject.toml
|
|
91
|
+
git commit -m "Bump version from $CURRENT_VERSION to $NEW_VERSION"
|
|
92
|
+
git push origin main
|
|
93
|
+
|
|
94
|
+
- name: Create release branch
|
|
95
|
+
run: |
|
|
96
|
+
BRANCH_NAME="${{ steps.new-version.outputs.branch_name }}"
|
|
97
|
+
|
|
98
|
+
echo "Creating release branch: $BRANCH_NAME"
|
|
99
|
+
|
|
100
|
+
# Create new branch from updated main
|
|
101
|
+
git checkout -b "$BRANCH_NAME"
|
|
102
|
+
|
|
103
|
+
# Push the release branch
|
|
104
|
+
git push origin "$BRANCH_NAME"
|
|
105
|
+
|
|
106
|
+
echo "✅ Release branch created: $BRANCH_NAME"
|
|
107
|
+
|
|
108
|
+
- name: Create summary
|
|
109
|
+
run: |
|
|
110
|
+
echo "## 🚀 Python SDK Release Created" >> $GITHUB_STEP_SUMMARY
|
|
111
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
112
|
+
echo "**Version:** ${{ steps.current-version.outputs.current_version }} → ${{ steps.new-version.outputs.new_version }}" >> $GITHUB_STEP_SUMMARY
|
|
113
|
+
echo "**Branch:** \`${{ steps.new-version.outputs.branch_name }}\`" >> $GITHUB_STEP_SUMMARY
|
|
114
|
+
echo "**Type:** ${{ inputs.version_type }}" >> $GITHUB_STEP_SUMMARY
|
|
115
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
116
|
+
echo "### Next Steps" >> $GITHUB_STEP_SUMMARY
|
|
117
|
+
echo "The PyPI package will be automatically published when the release branch is pushed." >> $GITHUB_STEP_SUMMARY
|
|
118
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
119
|
+
echo "Monitor the publish workflow: [View Workflows](https://github.com/RoboFinSystems/robosystems-python-client/actions/workflows/publish.yml)" >> $GITHUB_STEP_SUMMARY
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
name: Claude Tag Release
|
|
2
2
|
|
|
3
|
-
concurrency:
|
|
4
|
-
group: robosystems-client-tag-release
|
|
5
|
-
cancel-in-progress: false
|
|
6
|
-
|
|
7
3
|
on:
|
|
8
4
|
push:
|
|
9
|
-
branches:
|
|
5
|
+
branches:
|
|
6
|
+
- "release/**"
|
|
10
7
|
|
|
11
8
|
jobs:
|
|
12
9
|
action:
|
|
@@ -67,14 +64,9 @@ jobs:
|
|
|
67
64
|
# Get commit messages (limit to prevent memory issues)
|
|
68
65
|
COMMIT_MESSAGES=$(git log --oneline --no-color $COMMIT_RANGE | head -30)
|
|
69
66
|
|
|
70
|
-
# Get file changes
|
|
67
|
+
# Get file changes (limit to prevent memory issues)
|
|
71
68
|
DETAILED_CHANGES=$(git diff --name-status --no-color $COMMIT_RANGE | head -50)
|
|
72
69
|
|
|
73
|
-
# Get Python and config file changes
|
|
74
|
-
PYTHON_CHANGED=$(git diff --name-only $COMMIT_RANGE | grep -E '\.py$' | grep -v 'test\|spec' | wc -l || echo "0")
|
|
75
|
-
CONFIG_CHANGED=$(git diff --name-only $COMMIT_RANGE | grep -E '\.(toml|yaml|yml|json|ini)$' | wc -l || echo "0")
|
|
76
|
-
DOCS_CHANGED=$(git diff --name-only $COMMIT_RANGE | grep -E '\.(md|rst|txt)$' | wc -l || echo "0")
|
|
77
|
-
|
|
78
70
|
# Get PR references from commit messages
|
|
79
71
|
PR_REFS=$(git log --oneline --no-color $COMMIT_RANGE | grep -oE '#[0-9]+' | sort -u | head -10 || echo "")
|
|
80
72
|
|
|
@@ -85,9 +77,6 @@ jobs:
|
|
|
85
77
|
echo "commits_count=$COMMITS_COUNT" >> $GITHUB_OUTPUT
|
|
86
78
|
echo "additions=$ADDITIONS" >> $GITHUB_OUTPUT
|
|
87
79
|
echo "deletions=$DELETIONS" >> $GITHUB_OUTPUT
|
|
88
|
-
echo "python_changed=$PYTHON_CHANGED" >> $GITHUB_OUTPUT
|
|
89
|
-
echo "config_changed=$CONFIG_CHANGED" >> $GITHUB_OUTPUT
|
|
90
|
-
echo "docs_changed=$DOCS_CHANGED" >> $GITHUB_OUTPUT
|
|
91
80
|
|
|
92
81
|
# Save multiline outputs
|
|
93
82
|
{
|
|
@@ -117,19 +106,15 @@ jobs:
|
|
|
117
106
|
|
|
118
107
|
# Create analysis prompt for Claude
|
|
119
108
|
cat > /tmp/changelog_prompt.txt << PROMPT_EOF
|
|
120
|
-
I need you to generate a concise but informative changelog for a
|
|
109
|
+
I need you to generate a concise but informative changelog for a software release.
|
|
121
110
|
|
|
122
111
|
**Release Info:**
|
|
123
|
-
- Package: RoboSystems Python Client (Python client for RoboSystems financial graph database API)
|
|
124
112
|
- Version: $VERSION
|
|
125
113
|
- Previous Version: $LAST_TAG
|
|
126
114
|
- Files Changed: ${{ steps.analyze-changes.outputs.files_changed }}
|
|
127
115
|
- Commits: ${{ steps.analyze-changes.outputs.commits_count }}
|
|
128
116
|
- Lines Added: ${{ steps.analyze-changes.outputs.additions }}
|
|
129
117
|
- Lines Deleted: ${{ steps.analyze-changes.outputs.deletions }}
|
|
130
|
-
- Python Files Changed: ${{ steps.analyze-changes.outputs.python_changed }}
|
|
131
|
-
- Config Files Changed: ${{ steps.analyze-changes.outputs.config_changed }}
|
|
132
|
-
- Documentation Changed: ${{ steps.analyze-changes.outputs.docs_changed }}
|
|
133
118
|
|
|
134
119
|
**Recent Commits:**
|
|
135
120
|
${{ steps.analyze-changes.outputs.commit_messages }}
|
|
@@ -140,22 +125,18 @@ jobs:
|
|
|
140
125
|
**PR References:**
|
|
141
126
|
${{ steps.analyze-changes.outputs.pr_refs }}
|
|
142
127
|
|
|
143
|
-
Please generate a changelog
|
|
144
|
-
1. A brief 1-2 sentence summary
|
|
145
|
-
2. Key features/improvements (bullet points)
|
|
128
|
+
Please generate a changelog that includes:
|
|
129
|
+
1. A brief 1-2 sentence summary of this release
|
|
130
|
+
2. Key features/improvements (bullet points)
|
|
146
131
|
3. Breaking changes (if any) - clearly marked with ⚠️
|
|
147
|
-
4. Notable technical changes
|
|
148
|
-
5. Bug fixes
|
|
149
|
-
|
|
150
|
-
Keep it developer-focused since this is a developer Client. Highlight:
|
|
151
|
-
- New API endpoints and methods
|
|
152
|
-
- Client improvements and features
|
|
153
|
-
- Performance optimizations
|
|
154
|
-
- Type safety and validation enhancements
|
|
155
|
-
- Integration improvements
|
|
156
|
-
- Documentation and usage improvements
|
|
132
|
+
4. Notable technical changes worth mentioning
|
|
133
|
+
5. Bug fixes (if any)
|
|
157
134
|
|
|
135
|
+
Keep it concise but informative. Focus on what users and developers need to know.
|
|
158
136
|
Use markdown formatting. Don't include a version header as that will be added separately.
|
|
137
|
+
If there are security improvements, highlight them.
|
|
138
|
+
If this appears to be a maintenance/infrastructure release, emphasize that.
|
|
139
|
+
|
|
159
140
|
Format your response as clean markdown without any prefix text.
|
|
160
141
|
PROMPT_EOF
|
|
161
142
|
|
|
@@ -193,15 +174,15 @@ jobs:
|
|
|
193
174
|
if echo "$RESPONSE" | jq -e '.error' > /dev/null; then
|
|
194
175
|
echo "❌ Claude API error: $(echo "$RESPONSE" | jq -r '.error.message')"
|
|
195
176
|
echo "Using fallback changelog"
|
|
196
|
-
CHANGELOG="## What's Changed\n\n- ${{ steps.analyze-changes.outputs.commits_count }} commits with ${{ steps.analyze-changes.outputs.files_changed }} files changed\n- ${{ steps.analyze-changes.outputs.
|
|
177
|
+
CHANGELOG="## What's Changed\n\n- ${{ steps.analyze-changes.outputs.commits_count }} commits with ${{ steps.analyze-changes.outputs.files_changed }} files changed\n- ${{ steps.analyze-changes.outputs.additions }} additions and ${{ steps.analyze-changes.outputs.deletions }} deletions\n\nSee commit history for detailed changes."
|
|
197
178
|
else
|
|
198
179
|
# Extract changelog from Claude's response
|
|
199
180
|
CHANGELOG=$(echo "$RESPONSE" | jq -r '.content[0].text')
|
|
200
|
-
|
|
181
|
+
|
|
201
182
|
# Validate that Claude returned meaningful content
|
|
202
183
|
if [ -z "$CHANGELOG" ] || [ "$CHANGELOG" = "null" ]; then
|
|
203
184
|
echo "❌ Claude returned empty changelog, using fallback"
|
|
204
|
-
CHANGELOG="## What's Changed\n\n- ${{ steps.analyze-changes.outputs.commits_count }} commits with ${{ steps.analyze-changes.outputs.files_changed }} files changed\n- ${{ steps.analyze-changes.outputs.
|
|
185
|
+
CHANGELOG="## What's Changed\n\n- ${{ steps.analyze-changes.outputs.commits_count }} commits with ${{ steps.analyze-changes.outputs.files_changed }} files changed\n- ${{ steps.analyze-changes.outputs.additions }} additions and ${{ steps.analyze-changes.outputs.deletions }} deletions\n\nSee commit history for detailed changes."
|
|
205
186
|
else
|
|
206
187
|
echo "✅ Claude changelog generated successfully"
|
|
207
188
|
fi
|
|
@@ -219,10 +200,6 @@ jobs:
|
|
|
219
200
|
run: |
|
|
220
201
|
git config --global user.name "github-actions[bot]"
|
|
221
202
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
222
|
-
|
|
223
|
-
# Configure git to use the token for authentication
|
|
224
|
-
git remote set-url origin https://x-access-token:${{ secrets.ACTIONS_TOKEN }}@github.com/${{ github.repository }}.git
|
|
225
|
-
|
|
226
203
|
git tag -a "v${{ steps.get-version.outputs.version }}" -m "Release v${{ steps.get-version.outputs.version }}"
|
|
227
204
|
git push origin "v${{ steps.get-version.outputs.version }}"
|
|
228
205
|
|
|
@@ -233,7 +210,7 @@ jobs:
|
|
|
233
210
|
tag_name: v${{ steps.get-version.outputs.version }}
|
|
234
211
|
name: Release v${{ steps.get-version.outputs.version }}
|
|
235
212
|
body: |
|
|
236
|
-
# RoboSystems Python
|
|
213
|
+
# RoboSystems Python SDK v${{ steps.get-version.outputs.version }}
|
|
237
214
|
|
|
238
215
|
${{ steps.claude-changelog.outputs.changelog }}
|
|
239
216
|
|
|
@@ -243,26 +220,14 @@ jobs:
|
|
|
243
220
|
|
|
244
221
|
- **Commits:** ${{ steps.analyze-changes.outputs.commits_count }}
|
|
245
222
|
- **Files Changed:** ${{ steps.analyze-changes.outputs.files_changed }}
|
|
246
|
-
- **Python Files Updated:** ${{ steps.analyze-changes.outputs.python_changed }}
|
|
247
|
-
- **Config Files Updated:** ${{ steps.analyze-changes.outputs.config_changed }}
|
|
248
|
-
- **Documentation Updated:** ${{ steps.analyze-changes.outputs.docs_changed }}
|
|
249
223
|
- **Lines Added:** ${{ steps.analyze-changes.outputs.additions }}
|
|
250
224
|
- **Lines Deleted:** ${{ steps.analyze-changes.outputs.deletions }}
|
|
251
225
|
- **Previous Release:** ${{ steps.analyze-changes.outputs.last_tag }}
|
|
252
226
|
|
|
253
227
|
## 🔗 Links
|
|
254
228
|
|
|
255
|
-
- **
|
|
256
|
-
- **
|
|
257
|
-
- **All Releases:** [View all releases](https://github.com/${{ github.repository }}/releases)
|
|
258
|
-
|
|
259
|
-
## 🛠️ Installation
|
|
260
|
-
|
|
261
|
-
```bash
|
|
262
|
-
pip install robosystems-client
|
|
263
|
-
# or
|
|
264
|
-
uv add robosystems-client
|
|
265
|
-
```
|
|
229
|
+
- **Full Changelog:** [${{ steps.analyze-changes.outputs.last_tag }}...v${{ steps.get-version.outputs.version }}](https://github.com/RoboFinSystems/robosystems-python-client/compare/${{ steps.analyze-changes.outputs.last_tag }}...v${{ steps.get-version.outputs.version }})
|
|
230
|
+
- **All Releases:** [View all releases](https://github.com/RoboFinSystems/robosystems-python-client/releases)
|
|
266
231
|
|
|
267
232
|
---
|
|
268
233
|
🤖 Generated with [Claude Code](https://claude.ai/code)
|
|
@@ -276,17 +241,15 @@ jobs:
|
|
|
276
241
|
run: |
|
|
277
242
|
VERSION="${{ steps.get-version.outputs.version }}"
|
|
278
243
|
|
|
279
|
-
echo "## 🚀
|
|
244
|
+
echo "## 🚀 Release v$VERSION Created" >> $GITHUB_STEP_SUMMARY
|
|
280
245
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
281
|
-
echo "**Release URL:** [v$VERSION](https://github.com
|
|
282
|
-
echo "**PyPI Package:** [robosystems-client](https://pypi.org/project/robosystems-client/)" >> $GITHUB_STEP_SUMMARY
|
|
246
|
+
echo "**Release URL:** [v$VERSION](https://github.com/RoboFinSystems/robosystems-python-client/releases/tag/v$VERSION)" >> $GITHUB_STEP_SUMMARY
|
|
283
247
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
284
|
-
echo "### 📊
|
|
248
|
+
echo "### 📊 Statistics" >> $GITHUB_STEP_SUMMARY
|
|
285
249
|
echo "- **Commits:** ${{ steps.analyze-changes.outputs.commits_count }}" >> $GITHUB_STEP_SUMMARY
|
|
286
250
|
echo "- **Files Changed:** ${{ steps.analyze-changes.outputs.files_changed }}" >> $GITHUB_STEP_SUMMARY
|
|
287
|
-
echo "- **
|
|
288
|
-
echo "- **
|
|
289
|
-
echo "- **Documentation Updated:** ${{ steps.analyze-changes.outputs.docs_changed }}" >> $GITHUB_STEP_SUMMARY
|
|
251
|
+
echo "- **Lines Added:** ${{ steps.analyze-changes.outputs.additions }}" >> $GITHUB_STEP_SUMMARY
|
|
252
|
+
echo "- **Lines Deleted:** ${{ steps.analyze-changes.outputs.deletions }}" >> $GITHUB_STEP_SUMMARY
|
|
290
253
|
echo "- **Previous Release:** ${{ steps.analyze-changes.outputs.last_tag }}" >> $GITHUB_STEP_SUMMARY
|
|
291
254
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
292
255
|
echo "### 🤖 Claude-Generated Changelog" >> $GITHUB_STEP_SUMMARY
|