From f4a2aae1746cffaba5519bb238cc3bae4119dad0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 22 Jul 2026 16:26:31 -0400 Subject: [PATCH 1/2] add streaming --- .../speakeasy-modifications-overlay.yaml | 12 +- STREAMING.md | 114 + examples/watch_chat.py | 56 + pyproject.toml | 4 +- scripts/generate-connect.sh | 65 + src/textql_sdk/_connect/__init__.py | 0 src/textql_sdk/_connect/__init__.pyi | 10 + src/textql_sdk/_connect/auth_connect.py | 195 ++ src/textql_sdk/_connect/auth_pb2.py | 86 + src/textql_sdk/_connect/auth_pb2.pyi | 547 +++++ src/textql_sdk/_connect/buf/__init__.py | 0 src/textql_sdk/_connect/buf/__init__.pyi | 1 + .../_connect/buf/validate/__init__.py | 0 .../_connect/buf/validate/__init__.pyi | 1 + .../_connect/buf/validate/validate_pb2.py | 430 ++++ .../_connect/buf/validate/validate_pb2.pyi | 687 ++++++ src/textql_sdk/_connect/compute_connect.py | 112 + src/textql_sdk/_connect/compute_pb2.py | 35 + src/textql_sdk/_connect/compute_pb2.pyi | 105 + src/textql_sdk/_connect/google/__init__.py | 0 src/textql_sdk/_connect/google/__init__.pyi | 1 + .../_connect/google/api/__init__.py | 0 .../_connect/google/api/__init__.pyi | 1 + .../_connect/google/api/visibility_pb2.py | 20 + .../_connect/google/api/visibility_pb2.pyi | 37 + .../_connect/paradigm_params_pb2.py | 44 + .../_connect/paradigm_params_pb2.pyi | 108 + .../_connect/powerbi_selection_pb2.py | 16 + .../_connect/powerbi_selection_pb2.pyi | 22 + src/textql_sdk/_connect/public/__init__.py | 0 src/textql_sdk/_connect/public/__init__.pyi | 55 + .../_connect/public/agent_connect.py | 220 ++ src/textql_sdk/_connect/public/agent_pb2.py | 116 + src/textql_sdk/_connect/public/agent_pb2.pyi | 595 +++++ .../_connect/public/api_oauth_connect.py | 159 ++ .../_connect/public/api_oauth_pb2.py | 84 + .../_connect/public/api_oauth_pb2.pyi | 262 ++ .../_connect/public/apps_connect.py | 328 +++ src/textql_sdk/_connect/public/apps_pb2.py | 177 ++ src/textql_sdk/_connect/public/apps_pb2.pyi | 754 ++++++ .../_connect/public/audit_log_connect.py | 171 ++ .../_connect/public/audit_log_pb2.py | 101 + .../_connect/public/audit_log_pb2.pyi | 326 +++ .../_connect/public/auth_connect.py | 592 +++++ src/textql_sdk/_connect/public/auth_pb2.py | 228 ++ src/textql_sdk/_connect/public/auth_pb2.pyi | 992 ++++++++ src/textql_sdk/_connect/public/cells_pb2.py | 256 ++ src/textql_sdk/_connect/public/cells_pb2.pyi | 1923 +++++++++++++++ .../_connect/public/chat_connect.py | 676 +++++ src/textql_sdk/_connect/public/chat_pb2.py | 358 +++ src/textql_sdk/_connect/public/chat_pb2.pyi | 1753 +++++++++++++ .../_connect/public/checks_connect.py | 75 + src/textql_sdk/_connect/public/checks_pb2.py | 53 + src/textql_sdk/_connect/public/checks_pb2.pyi | 192 ++ src/textql_sdk/_connect/public/common_pb2.py | 16 + src/textql_sdk/_connect/public/common_pb2.pyi | 13 + .../_connect/public/communications_connect.py | 63 + .../_connect/public/communications_pb2.py | 26 + .../_connect/public/communications_pb2.pyi | 49 + .../_connect/public/config_source_pb2.py | 18 + .../_connect/public/config_source_pb2.pyi | 30 + .../_connect/public/connector_connect.py | 243 ++ .../public/connector_member_auth_connect.py | 75 + .../public/connector_member_auth_pb2.py | 40 + .../public/connector_member_auth_pb2.pyi | 89 + .../_connect/public/connector_pb2.py | 347 +++ .../_connect/public/connector_pb2.pyi | 1656 +++++++++++++ .../public/context_prompts_connect.py | 207 ++ .../_connect/public/context_prompts_pb2.py | 85 + .../_connect/public/context_prompts_pb2.pyi | 323 +++ .../_connect/public/dashboard_connect.py | 340 +++ .../_connect/public/dashboard_pb2.py | 171 ++ .../_connect/public/dashboard_pb2.pyi | 857 +++++++ .../public/databricks_oauth_connect.py | 63 + .../_connect/public/databricks_oauth_pb2.py | 38 + .../_connect/public/databricks_oauth_pb2.pyi | 63 + .../_connect/public/dataframe_pb2.py | 51 + .../_connect/public/dataframe_pb2.pyi | 196 ++ .../_connect/public/dataset_connect.py | 207 ++ src/textql_sdk/_connect/public/dataset_pb2.py | 119 + .../_connect/public/dataset_pb2.pyi | 496 ++++ .../_connect/public/engagement_connect.py | 52 + .../_connect/public/engagement_pb2.py | 28 + .../_connect/public/engagement_pb2.pyi | 72 + .../_connect/public/feed_connect.py | 364 +++ src/textql_sdk/_connect/public/feed_pb2.py | 152 ++ src/textql_sdk/_connect/public/feed_pb2.pyi | 666 +++++ .../_connect/public/form_connect.py | 159 ++ src/textql_sdk/_connect/public/form_pb2.py | 73 + src/textql_sdk/_connect/public/form_pb2.pyi | 236 ++ .../public/google_drive_oauth_connect.py | 51 + .../_connect/public/google_drive_oauth_pb2.py | 27 + .../public/google_drive_oauth_pb2.pyi | 37 + .../_connect/public/google_oauth_connect.py | 63 + .../_connect/public/google_oauth_pb2.py | 31 + .../_connect/public/google_oauth_pb2.pyi | 55 + .../_connect/public/identity_pb2.py | 20 + .../_connect/public/identity_pb2.pyi | 33 + .../_connect/public/issues_connect.py | 148 ++ src/textql_sdk/_connect/public/issues_pb2.py | 83 + src/textql_sdk/_connect/public/issues_pb2.pyi | 373 +++ .../_connect/public/llm_model_pb2.py | 98 + .../_connect/public/llm_model_pb2.pyi | 137 ++ src/textql_sdk/_connect/public/mcp_connect.py | 123 + src/textql_sdk/_connect/public/mcp_pb2.py | 71 + src/textql_sdk/_connect/public/mcp_pb2.pyi | 254 ++ .../_connect/public/metrics_export_connect.py | 99 + .../_connect/public/metrics_export_pb2.py | 50 + .../_connect/public/metrics_export_pb2.pyi | 120 + .../public/microsoft365_oauth_connect.py | 51 + .../_connect/public/microsoft365_oauth_pb2.py | 31 + .../public/microsoft365_oauth_pb2.pyi | 45 + .../_connect/public/notifications_connect.py | 188 ++ .../_connect/public/notifications_pb2.py | 73 + .../_connect/public/notifications_pb2.pyi | 317 +++ .../_connect/public/observe_connect.py | 399 +++ src/textql_sdk/_connect/public/observe_pb2.py | 240 ++ .../_connect/public/observe_pb2.pyi | 1085 ++++++++ .../_connect/public/ontology_connect.py | 579 +++++ .../_connect/public/ontology_pb2.py | 270 ++ .../_connect/public/ontology_pb2.pyi | 1199 +++++++++ src/textql_sdk/_connect/public/options_pb2.py | 16 + .../_connect/public/options_pb2.pyi | 8 + .../_connect/public/packages_connect.py | 111 + .../_connect/public/packages_pb2.py | 44 + .../_connect/public/packages_pb2.pyi | 143 ++ .../_connect/public/paradigm_pb2.py | 75 + .../_connect/public/paradigm_pb2.pyi | 187 ++ .../_connect/public/patches_connect.py | 916 +++++++ src/textql_sdk/_connect/public/patches_pb2.py | 467 ++++ .../_connect/public/patches_pb2.pyi | 2174 +++++++++++++++++ .../_connect/public/playbook_connect.py | 520 ++++ .../_connect/public/playbook_pb2.py | 292 +++ .../_connect/public/playbook_pb2.pyi | 1214 +++++++++ .../_connect/public/powerbi_connect.py | 159 ++ src/textql_sdk/_connect/public/powerbi_pb2.py | 70 + .../_connect/public/powerbi_pb2.pyi | 340 +++ .../_connect/public/promotion_connect.py | 111 + .../_connect/public/promotion_pb2.py | 47 + .../_connect/public/promotion_pb2.pyi | 229 ++ .../_connect/public/rbac_connect.py | 627 +++++ src/textql_sdk/_connect/public/rbac_pb2.py | 253 ++ src/textql_sdk/_connect/public/rbac_pb2.pyi | 1250 ++++++++++ src/textql_sdk/_connect/public/report_pb2.py | 34 + src/textql_sdk/_connect/public/report_pb2.pyi | 120 + .../_connect/public/sandbox_admin_connect.py | 159 ++ .../_connect/public/sandbox_admin_pb2.py | 99 + .../_connect/public/sandbox_admin_pb2.pyi | 373 +++ .../public/sandbox_capability_connect.py | 87 + .../_connect/public/sandbox_capability_pb2.py | 34 + .../public/sandbox_capability_pb2.pyi | 117 + .../_connect/public/sandbox_query_connect.py | 51 + .../_connect/public/sandbox_query_pb2.py | 29 + .../_connect/public/sandbox_query_pb2.pyi | 74 + .../_connect/public/scim_connect.py | 111 + src/textql_sdk/_connect/public/scim_pb2.py | 49 + src/textql_sdk/_connect/public/scim_pb2.pyi | 156 ++ .../_connect/public/secret_connect.py | 207 ++ src/textql_sdk/_connect/public/secret_pb2.py | 135 + src/textql_sdk/_connect/public/secret_pb2.pyi | 512 ++++ .../_connect/public/settings_connect.py | 135 + .../_connect/public/settings_pb2.py | 61 + .../_connect/public/settings_pb2.pyi | 324 +++ .../_connect/public/sharing_connect.py | 115 + src/textql_sdk/_connect/public/sharing_pb2.py | 48 + .../_connect/public/sharing_pb2.pyi | 129 + .../_connect/public/slack_connect.py | 136 ++ src/textql_sdk/_connect/public/slack_pb2.py | 43 + src/textql_sdk/_connect/public/slack_pb2.pyi | 124 + src/textql_sdk/_connect/public/sms_connect.py | 87 + src/textql_sdk/_connect/public/sms_pb2.py | 35 + src/textql_sdk/_connect/public/sms_pb2.pyi | 71 + .../public/snowflake_oauth_connect.py | 63 + .../_connect/public/snowflake_oauth_pb2.py | 34 + .../_connect/public/snowflake_oauth_pb2.pyi | 63 + .../_connect/public/tableau_connect.py | 195 ++ src/textql_sdk/_connect/public/tableau_pb2.py | 82 + .../_connect/public/tableau_pb2.pyi | 372 +++ .../_connect/public/teams_connect.py | 136 ++ src/textql_sdk/_connect/public/teams_pb2.py | 43 + src/textql_sdk/_connect/public/teams_pb2.pyi | 122 + .../_connect/public/template_connect.py | 220 ++ .../_connect/public/template_pb2.py | 92 + .../_connect/public/template_pb2.pyi | 334 +++ .../_connect/public/warnings_pb2.py | 45 + .../_connect/public/warnings_pb2.pyi | 51 + src/textql_sdk/_connect/textable_connect.py | 87 + src/textql_sdk/_connect/textable_pb2.py | 47 + src/textql_sdk/_connect/textable_pb2.pyi | 235 ++ src/textql_sdk/streaming.py | 255 ++ uv.lock | 99 +- 191 files changed, 42667 insertions(+), 4 deletions(-) create mode 100644 STREAMING.md create mode 100644 examples/watch_chat.py create mode 100755 scripts/generate-connect.sh create mode 100644 src/textql_sdk/_connect/__init__.py create mode 100644 src/textql_sdk/_connect/__init__.pyi create mode 100644 src/textql_sdk/_connect/auth_connect.py create mode 100644 src/textql_sdk/_connect/auth_pb2.py create mode 100644 src/textql_sdk/_connect/auth_pb2.pyi create mode 100644 src/textql_sdk/_connect/buf/__init__.py create mode 100644 src/textql_sdk/_connect/buf/__init__.pyi create mode 100644 src/textql_sdk/_connect/buf/validate/__init__.py create mode 100644 src/textql_sdk/_connect/buf/validate/__init__.pyi create mode 100644 src/textql_sdk/_connect/buf/validate/validate_pb2.py create mode 100644 src/textql_sdk/_connect/buf/validate/validate_pb2.pyi create mode 100644 src/textql_sdk/_connect/compute_connect.py create mode 100644 src/textql_sdk/_connect/compute_pb2.py create mode 100644 src/textql_sdk/_connect/compute_pb2.pyi create mode 100644 src/textql_sdk/_connect/google/__init__.py create mode 100644 src/textql_sdk/_connect/google/__init__.pyi create mode 100644 src/textql_sdk/_connect/google/api/__init__.py create mode 100644 src/textql_sdk/_connect/google/api/__init__.pyi create mode 100644 src/textql_sdk/_connect/google/api/visibility_pb2.py create mode 100644 src/textql_sdk/_connect/google/api/visibility_pb2.pyi create mode 100644 src/textql_sdk/_connect/paradigm_params_pb2.py create mode 100644 src/textql_sdk/_connect/paradigm_params_pb2.pyi create mode 100644 src/textql_sdk/_connect/powerbi_selection_pb2.py create mode 100644 src/textql_sdk/_connect/powerbi_selection_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/__init__.py create mode 100644 src/textql_sdk/_connect/public/__init__.pyi create mode 100644 src/textql_sdk/_connect/public/agent_connect.py create mode 100644 src/textql_sdk/_connect/public/agent_pb2.py create mode 100644 src/textql_sdk/_connect/public/agent_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/api_oauth_connect.py create mode 100644 src/textql_sdk/_connect/public/api_oauth_pb2.py create mode 100644 src/textql_sdk/_connect/public/api_oauth_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/apps_connect.py create mode 100644 src/textql_sdk/_connect/public/apps_pb2.py create mode 100644 src/textql_sdk/_connect/public/apps_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/audit_log_connect.py create mode 100644 src/textql_sdk/_connect/public/audit_log_pb2.py create mode 100644 src/textql_sdk/_connect/public/audit_log_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/auth_connect.py create mode 100644 src/textql_sdk/_connect/public/auth_pb2.py create mode 100644 src/textql_sdk/_connect/public/auth_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/cells_pb2.py create mode 100644 src/textql_sdk/_connect/public/cells_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/chat_connect.py create mode 100644 src/textql_sdk/_connect/public/chat_pb2.py create mode 100644 src/textql_sdk/_connect/public/chat_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/checks_connect.py create mode 100644 src/textql_sdk/_connect/public/checks_pb2.py create mode 100644 src/textql_sdk/_connect/public/checks_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/common_pb2.py create mode 100644 src/textql_sdk/_connect/public/common_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/communications_connect.py create mode 100644 src/textql_sdk/_connect/public/communications_pb2.py create mode 100644 src/textql_sdk/_connect/public/communications_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/config_source_pb2.py create mode 100644 src/textql_sdk/_connect/public/config_source_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/connector_connect.py create mode 100644 src/textql_sdk/_connect/public/connector_member_auth_connect.py create mode 100644 src/textql_sdk/_connect/public/connector_member_auth_pb2.py create mode 100644 src/textql_sdk/_connect/public/connector_member_auth_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/connector_pb2.py create mode 100644 src/textql_sdk/_connect/public/connector_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/context_prompts_connect.py create mode 100644 src/textql_sdk/_connect/public/context_prompts_pb2.py create mode 100644 src/textql_sdk/_connect/public/context_prompts_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/dashboard_connect.py create mode 100644 src/textql_sdk/_connect/public/dashboard_pb2.py create mode 100644 src/textql_sdk/_connect/public/dashboard_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/databricks_oauth_connect.py create mode 100644 src/textql_sdk/_connect/public/databricks_oauth_pb2.py create mode 100644 src/textql_sdk/_connect/public/databricks_oauth_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/dataframe_pb2.py create mode 100644 src/textql_sdk/_connect/public/dataframe_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/dataset_connect.py create mode 100644 src/textql_sdk/_connect/public/dataset_pb2.py create mode 100644 src/textql_sdk/_connect/public/dataset_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/engagement_connect.py create mode 100644 src/textql_sdk/_connect/public/engagement_pb2.py create mode 100644 src/textql_sdk/_connect/public/engagement_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/feed_connect.py create mode 100644 src/textql_sdk/_connect/public/feed_pb2.py create mode 100644 src/textql_sdk/_connect/public/feed_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/form_connect.py create mode 100644 src/textql_sdk/_connect/public/form_pb2.py create mode 100644 src/textql_sdk/_connect/public/form_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/google_drive_oauth_connect.py create mode 100644 src/textql_sdk/_connect/public/google_drive_oauth_pb2.py create mode 100644 src/textql_sdk/_connect/public/google_drive_oauth_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/google_oauth_connect.py create mode 100644 src/textql_sdk/_connect/public/google_oauth_pb2.py create mode 100644 src/textql_sdk/_connect/public/google_oauth_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/identity_pb2.py create mode 100644 src/textql_sdk/_connect/public/identity_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/issues_connect.py create mode 100644 src/textql_sdk/_connect/public/issues_pb2.py create mode 100644 src/textql_sdk/_connect/public/issues_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/llm_model_pb2.py create mode 100644 src/textql_sdk/_connect/public/llm_model_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/mcp_connect.py create mode 100644 src/textql_sdk/_connect/public/mcp_pb2.py create mode 100644 src/textql_sdk/_connect/public/mcp_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/metrics_export_connect.py create mode 100644 src/textql_sdk/_connect/public/metrics_export_pb2.py create mode 100644 src/textql_sdk/_connect/public/metrics_export_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/microsoft365_oauth_connect.py create mode 100644 src/textql_sdk/_connect/public/microsoft365_oauth_pb2.py create mode 100644 src/textql_sdk/_connect/public/microsoft365_oauth_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/notifications_connect.py create mode 100644 src/textql_sdk/_connect/public/notifications_pb2.py create mode 100644 src/textql_sdk/_connect/public/notifications_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/observe_connect.py create mode 100644 src/textql_sdk/_connect/public/observe_pb2.py create mode 100644 src/textql_sdk/_connect/public/observe_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/ontology_connect.py create mode 100644 src/textql_sdk/_connect/public/ontology_pb2.py create mode 100644 src/textql_sdk/_connect/public/ontology_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/options_pb2.py create mode 100644 src/textql_sdk/_connect/public/options_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/packages_connect.py create mode 100644 src/textql_sdk/_connect/public/packages_pb2.py create mode 100644 src/textql_sdk/_connect/public/packages_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/paradigm_pb2.py create mode 100644 src/textql_sdk/_connect/public/paradigm_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/patches_connect.py create mode 100644 src/textql_sdk/_connect/public/patches_pb2.py create mode 100644 src/textql_sdk/_connect/public/patches_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/playbook_connect.py create mode 100644 src/textql_sdk/_connect/public/playbook_pb2.py create mode 100644 src/textql_sdk/_connect/public/playbook_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/powerbi_connect.py create mode 100644 src/textql_sdk/_connect/public/powerbi_pb2.py create mode 100644 src/textql_sdk/_connect/public/powerbi_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/promotion_connect.py create mode 100644 src/textql_sdk/_connect/public/promotion_pb2.py create mode 100644 src/textql_sdk/_connect/public/promotion_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/rbac_connect.py create mode 100644 src/textql_sdk/_connect/public/rbac_pb2.py create mode 100644 src/textql_sdk/_connect/public/rbac_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/report_pb2.py create mode 100644 src/textql_sdk/_connect/public/report_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/sandbox_admin_connect.py create mode 100644 src/textql_sdk/_connect/public/sandbox_admin_pb2.py create mode 100644 src/textql_sdk/_connect/public/sandbox_admin_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/sandbox_capability_connect.py create mode 100644 src/textql_sdk/_connect/public/sandbox_capability_pb2.py create mode 100644 src/textql_sdk/_connect/public/sandbox_capability_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/sandbox_query_connect.py create mode 100644 src/textql_sdk/_connect/public/sandbox_query_pb2.py create mode 100644 src/textql_sdk/_connect/public/sandbox_query_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/scim_connect.py create mode 100644 src/textql_sdk/_connect/public/scim_pb2.py create mode 100644 src/textql_sdk/_connect/public/scim_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/secret_connect.py create mode 100644 src/textql_sdk/_connect/public/secret_pb2.py create mode 100644 src/textql_sdk/_connect/public/secret_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/settings_connect.py create mode 100644 src/textql_sdk/_connect/public/settings_pb2.py create mode 100644 src/textql_sdk/_connect/public/settings_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/sharing_connect.py create mode 100644 src/textql_sdk/_connect/public/sharing_pb2.py create mode 100644 src/textql_sdk/_connect/public/sharing_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/slack_connect.py create mode 100644 src/textql_sdk/_connect/public/slack_pb2.py create mode 100644 src/textql_sdk/_connect/public/slack_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/sms_connect.py create mode 100644 src/textql_sdk/_connect/public/sms_pb2.py create mode 100644 src/textql_sdk/_connect/public/sms_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/snowflake_oauth_connect.py create mode 100644 src/textql_sdk/_connect/public/snowflake_oauth_pb2.py create mode 100644 src/textql_sdk/_connect/public/snowflake_oauth_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/tableau_connect.py create mode 100644 src/textql_sdk/_connect/public/tableau_pb2.py create mode 100644 src/textql_sdk/_connect/public/tableau_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/teams_connect.py create mode 100644 src/textql_sdk/_connect/public/teams_pb2.py create mode 100644 src/textql_sdk/_connect/public/teams_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/template_connect.py create mode 100644 src/textql_sdk/_connect/public/template_pb2.py create mode 100644 src/textql_sdk/_connect/public/template_pb2.pyi create mode 100644 src/textql_sdk/_connect/public/warnings_pb2.py create mode 100644 src/textql_sdk/_connect/public/warnings_pb2.pyi create mode 100644 src/textql_sdk/_connect/textable_connect.py create mode 100644 src/textql_sdk/_connect/textable_pb2.py create mode 100644 src/textql_sdk/_connect/textable_pb2.pyi create mode 100644 src/textql_sdk/streaming.py diff --git a/.speakeasy/speakeasy-modifications-overlay.yaml b/.speakeasy/speakeasy-modifications-overlay.yaml index 00623c3..14a0469 100644 --- a/.speakeasy/speakeasy-modifications-overlay.yaml +++ b/.speakeasy/speakeasy-modifications-overlay.yaml @@ -8,8 +8,6 @@ info: before: "" type: speakeasy-modifications actions: - - target: $["paths"]["/textql.rpc.public.chat.ChatService/StreamChat"] - remove: true - target: $["paths"]["/textql.rpc.public.chat.ChatService/WatchChat"] remove: true - target: $["paths"]["/textql.rpc.public.agent.AgentService/StreamAgentStatus"] @@ -715,6 +713,16 @@ actions: created_at: 1784134047110 reviewed_at: 1784134060142 type: method-name + - target: $["paths"]["/v2/chats/{chat_id}/cells/stream"]["post"] + update: + x-speakeasy-group: chats + x-speakeasy-name-override: streamChat + x-speakeasy-metadata: + after: sdk.chats.streamChat() + before: sdk.ChatService.ChatService_StreamChat() + created_at: 1784134047110 + reviewed_at: 1784134060142 + type: method-name - target: $["paths"]["/textql.rpc.public.chat.ChatService/GetChatHistory"]["post"] update: x-speakeasy-group: chats diff --git a/STREAMING.md b/STREAMING.md new file mode 100644 index 0000000..b2e065b --- /dev/null +++ b/STREAMING.md @@ -0,0 +1,114 @@ +# Streaming (Connect-RPC bridge) + +The TextQL API exposes several **server-streaming** RPCs that have no HTTP/JSON +shape in the OpenAPI spec, so they are not part of the Speakeasy-generated SDK +surface. This package bridges them with [Connect-RPC](https://connectrpc.com) +via `textql_sdk.streaming` — a hand-written module that talks the Connect +protocol directly to the same gateway, authenticated with the same +`tql_api_key`. + +> Prefer `watch_chat` for anything long-lived — it carries run lifecycle events +> (`run_started`, `run_complete`, `run_error`) and heartbeats; `stream_chat` is +> the run-scoped cell firehose for one-shot scripts. + +## Usage + +Configure the server and API key once on the `Textql` SDK; streaming inherits +both. You never pass a server URL or deal with the `/rpc/public` mount: + +```python +import asyncio, os +from textql_sdk import Textql +from textql_sdk.streaming import create_streaming_client +from textql_sdk._connect.public.chat_pb2 import WatchChatRequest + + +async def main(): + sdk = Textql(api_key=os.environ["TEXTQL_API_KEY"]) # server_url optional + streaming = create_streaming_client(sdk) + + async for event in streaming.chats.watch_chat(WatchChatRequest(chat_id=chat_id)): + payload = event.WhichOneof("payload") + if payload == "cell": + ... # event.cell is a Cell + elif payload == "run_complete": + ... # run finished + elif payload == "heartbeat": + pass # keepalive, safe to ignore + + +asyncio.run(main()) +``` + +An on-prem/dev host set on the SDK is picked up automatically: + +```python +sdk = Textql(api_key=..., server_url="https://your-host") # e.g. from TEXTQL_SERVER_URL +streaming = create_streaming_client(sdk) # streams to https://your-host/rpc/public +``` + +Without an SDK instance, pass `api_key=` directly (`server_url` then defaults to +the same server list the generated SDK uses, from the Speakeasy config): + +```python +streaming = create_streaming_client(api_key=os.environ["TEXTQL_API_KEY"]) +``` + +### Sync + +Use `create_streaming_client_sync` for a blocking iterator instead of an async +one: + +```python +from textql_sdk.streaming import create_streaming_client_sync + +streaming = create_streaming_client_sync(sdk) +for update in streaming.agents.stream_agent_status(StreamAgentStatusRequest()): + print(update.agent_id, update.status) +``` + +## Streaming methods + +| Method | Emits | +| --- | --- | +| `chats.watch_chat(WatchChatRequest(chat_id=...))` | `WatchChatEvent` (opened, cell, run lifecycle, handoff, heartbeat) | +| `chats.stream_chat(RunChatRequest(...))` | `Cell` per update while a run executes | +| `agents.stream_agent_status(StreamAgentStatusRequest())` | `AgentStatusUpdate` for every visible agent run transition | +| `apps.stream_app_activity(StreamAppActivityRequest(app_id=...))` | `AppActivityStreamEvent` (activity batches, presence, heartbeat) | +| `dashboards.watch_dashboard_health(WatchDashboardHealthRequest(dashboard_id=...))` | `DashboardHealthEvent` on health transitions | +| `playbooks.stream_template_data_status(StreamTemplateDataStatusRequest(...))` | `TemplateDataStatusUpdate` per template-data row | + +Request/response types live under `textql_sdk._connect.public._pb2`. + +For any other service in `textql_sdk._connect`, use the escape hatch: + +```python +from textql_sdk.streaming import create_connect_client +from textql_sdk._connect.public.feed_connect import FeedServiceClient + +feed = create_connect_client(FeedServiceClient, sdk) +``` + +## Notes + +- **Transport**: server-streaming rides on the `connect-python` runtime + (`pyqwest`). Client-streaming RPCs are not exercised by this bridge. +- **Types**: streaming methods return protobuf message types (vendored under + `textql_sdk._connect`), which differ in shape from the Speakeasy-generated + Pydantic models for the same protos. +- **Long-lived idle streams** may be closed by intermediary proxies if nothing + is sent for a while; `watch_chat` and `stream_app_activity` send periodic + heartbeats, the others emit only on activity. Wrap consumption in a reconnect + loop for anything long-running. + +## Regenerating the vendored types + +`src/textql_sdk/_connect` is generated from the platform protos (not by +Speakeasy — it survives `speakeasy run`): + +```bash +DEMO2_DIR=/path/to/demo2 ./scripts/generate-connect.sh +``` + +The buf plugin versions in that script are pinned to match the `connect-python` +runtime in `pyproject.toml`; bump them together. diff --git a/examples/watch_chat.py b/examples/watch_chat.py new file mode 100644 index 0000000..da627a1 --- /dev/null +++ b/examples/watch_chat.py @@ -0,0 +1,56 @@ +"""Watch a chat over the Connect-RPC streaming bridge. + +Server-streaming RPCs aren't part of the generated REST SDK, so they live in +`textql_sdk.streaming`. `watch_chat` emits the full run lifecycle plus every +cell as it's produced. See STREAMING.md for the other streaming methods. + + uv run python examples/watch_chat.py +""" + +import asyncio +import os +import sys + +from dotenv import load_dotenv +from connectrpc.errors import ConnectError + +from textql_sdk import Textql +from textql_sdk.streaming import create_streaming_client +from textql_sdk._connect.public.chat_pb2 import WatchChatRequest + + +async def main() -> None: + load_dotenv() + if len(sys.argv) < 2: + raise SystemExit("usage: python examples/watch_chat.py ") + chat_id = sys.argv[1] + + # Configure the SDK once; streaming inherits its server + API key. + # Set TEXTQL_SERVER_URL for on-prem/dev; it defaults to the cloud server. + sdk = Textql( + api_key=os.environ["TEXTQL_API_KEY"], + server_url=os.environ.get("TEXTQL_SERVER_URL"), + ) + streaming = create_streaming_client(sdk) + + try: + async for event in streaming.chats.watch_chat(WatchChatRequest(chat_id=chat_id)): + kind = event.WhichOneof("payload") + if kind == "cell": + print(f"cell: {event.cell.id}") + elif kind == "run_started": + print("run started") + elif kind == "run_complete": + print("run complete") + break + elif kind == "run_error": + print(f"run error: {event.run_error}") + break + elif kind == "heartbeat": + pass # keepalive + except ConnectError as e: + raise RuntimeError(f"watch_chat failed: {e.code}") from e + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/pyproject.toml b/pyproject.toml index f6fe98d..3c6ba14 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,8 @@ dependencies = [ "httpcore >=1.0.9", "httpx >=0.28.1", "pydantic >=2.11.2,<2.13", + "connect-python >=0.9.0", + "protobuf >=6.31,<8", ] urls.repository = "https://github.com/TextQLLabs/textql-python-v3.git" license = { text = "Apache-2.0" } @@ -24,7 +26,7 @@ dev = [ where = ["src"] [tool.setuptools.package-data] -"*" = ["py.typed"] +"*" = ["py.typed", "*.pyi"] [build-system] requires = ["setuptools>=80", "wheel"] diff --git a/scripts/generate-connect.sh b/scripts/generate-connect.sh new file mode 100755 index 0000000..fe95e12 --- /dev/null +++ b/scripts/generate-connect.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Regenerates the vendored Connect-RPC client under src/textql_sdk/_connect from +# the platform protos. This is NOT produced by Speakeasy — it survives +# `speakeasy run` (Speakeasy only owns the files it generates). Mirrors the TS +# SDK's scripts/generate-connect.sh. +# +# DEMO2_DIR=/path/to/demo2 ./scripts/generate-connect.sh +# +# Plugin versions are pinned to match the `connect-python` runtime declared in +# pyproject.toml. Bump them together. + +SDK_DIR="$(cd "$(dirname "$0")/.." && pwd)" +DEMO2_DIR="${DEMO2_DIR:-$SDK_DIR/../demo2}" +PROTO_DIR="$DEMO2_DIR/proto/api" +OUT_DIR="$SDK_DIR/src/textql_sdk/_connect" + +CONNECT_PLUGIN_VERSION="v0.9.0" # keep in sync with connect-python in pyproject.toml +PROTOBUF_PLUGIN_VERSION="v31.1" # keep in sync with the protobuf runtime range + +TEMPLATE_DIR="$(mktemp -d)" +trap 'rm -rf "$TEMPLATE_DIR"' EXIT +TEMPLATE="$TEMPLATE_DIR/buf.gen.yaml" +cat > "$TEMPLATE" < auth__pb2.SessionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def renew_session(self, request: auth__pb2.RenewSessionRequest, ctx: RequestContext) -> auth__pb2.SessionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def renew_long_term_access_token(self, request: auth__pb2.RenewLongTermAccessTokenRequest, ctx: RequestContext) -> auth__pb2.LongTermAccessTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_org(self, request: auth__pb2.CreateOrgRequest, ctx: RequestContext) -> auth__pb2.CreateOrgResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def find_orgs_by_slug(self, request: auth__pb2.FindOrgsBySlugRequest, ctx: RequestContext) -> auth__pb2.FindOrgsBySlugResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_org(self, request: auth__pb2.UpdateOrgRequest, ctx: RequestContext) -> auth__pb2.UpdateOrgResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_org_by_id(self, request: auth__pb2.GetOrgByIdRequest, ctx: RequestContext) -> auth__pb2.GetOrgByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_org_member(self, request: auth__pb2.CreateOrgMemberRequest, ctx: RequestContext) -> auth__pb2.CreateOrgMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def find_members_in_org(self, request: auth__pb2.FindMembersInOrgRequest, ctx: RequestContext) -> auth__pb2.FindMembersInOrgResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def email_invite_member(self, request: auth__pb2.EmailInviteMemberRequest, ctx: RequestContext) -> auth__pb2.EmailInviteMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_org_member_by_member_id(self, request: auth__pb2.GetOrgMemberByMemberIdRequest, ctx: RequestContext) -> auth__pb2.GetOrgMemberByMemberIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_member(self, request: auth__pb2.DeleteMemberRequest, ctx: RequestContext) -> auth__pb2.DeleteMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_organization(self, request: auth__pb2.DeleteOrganizationRequest, ctx: RequestContext) -> auth__pb2.DeleteOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class AuthServiceASGIApplication(ConnectASGIApplication[AuthService]): + + def __init__(self, service: AuthService | AsyncGenerator[AuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.auth.AuthService/StartSession': Endpoint.unary(method=MethodInfo(name='StartSession', service_name='textql.rpc.auth.AuthService', input=auth__pb2.StartSessionRequest, output=auth__pb2.SessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.start_session), '/textql.rpc.auth.AuthService/RenewSession': Endpoint.unary(method=MethodInfo(name='RenewSession', service_name='textql.rpc.auth.AuthService', input=auth__pb2.RenewSessionRequest, output=auth__pb2.SessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.renew_session), '/textql.rpc.auth.AuthService/RenewLongTermAccessToken': Endpoint.unary(method=MethodInfo(name='RenewLongTermAccessToken', service_name='textql.rpc.auth.AuthService', input=auth__pb2.RenewLongTermAccessTokenRequest, output=auth__pb2.LongTermAccessTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.renew_long_term_access_token), '/textql.rpc.auth.AuthService/CreateOrg': Endpoint.unary(method=MethodInfo(name='CreateOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.CreateOrgRequest, output=auth__pb2.CreateOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_org), '/textql.rpc.auth.AuthService/FindOrgsBySlug': Endpoint.unary(method=MethodInfo(name='FindOrgsBySlug', service_name='textql.rpc.auth.AuthService', input=auth__pb2.FindOrgsBySlugRequest, output=auth__pb2.FindOrgsBySlugResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.find_orgs_by_slug), '/textql.rpc.auth.AuthService/UpdateOrg': Endpoint.unary(method=MethodInfo(name='UpdateOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.UpdateOrgRequest, output=auth__pb2.UpdateOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_org), '/textql.rpc.auth.AuthService/GetOrgById': Endpoint.unary(method=MethodInfo(name='GetOrgById', service_name='textql.rpc.auth.AuthService', input=auth__pb2.GetOrgByIdRequest, output=auth__pb2.GetOrgByIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_org_by_id), '/textql.rpc.auth.AuthService/CreateOrgMember': Endpoint.unary(method=MethodInfo(name='CreateOrgMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.CreateOrgMemberRequest, output=auth__pb2.CreateOrgMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_org_member), '/textql.rpc.auth.AuthService/FindMembersInOrg': Endpoint.unary(method=MethodInfo(name='FindMembersInOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.FindMembersInOrgRequest, output=auth__pb2.FindMembersInOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.find_members_in_org), '/textql.rpc.auth.AuthService/EmailInviteMember': Endpoint.unary(method=MethodInfo(name='EmailInviteMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.EmailInviteMemberRequest, output=auth__pb2.EmailInviteMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.email_invite_member), '/textql.rpc.auth.AuthService/GetOrgMemberByMemberId': Endpoint.unary(method=MethodInfo(name='GetOrgMemberByMemberId', service_name='textql.rpc.auth.AuthService', input=auth__pb2.GetOrgMemberByMemberIdRequest, output=auth__pb2.GetOrgMemberByMemberIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_org_member_by_member_id), '/textql.rpc.auth.AuthService/DeleteMember': Endpoint.unary(method=MethodInfo(name='DeleteMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.DeleteMemberRequest, output=auth__pb2.DeleteMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_member), '/textql.rpc.auth.AuthService/DeleteOrganization': Endpoint.unary(method=MethodInfo(name='DeleteOrganization', service_name='textql.rpc.auth.AuthService', input=auth__pb2.DeleteOrganizationRequest, output=auth__pb2.DeleteOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_organization)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.auth.AuthService' + +class AuthServiceClient(ConnectClient): + + async def start_session(self, request: auth__pb2.StartSessionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.SessionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='StartSession', service_name='textql.rpc.auth.AuthService', input=auth__pb2.StartSessionRequest, output=auth__pb2.SessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def renew_session(self, request: auth__pb2.RenewSessionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.SessionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RenewSession', service_name='textql.rpc.auth.AuthService', input=auth__pb2.RenewSessionRequest, output=auth__pb2.SessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def renew_long_term_access_token(self, request: auth__pb2.RenewLongTermAccessTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.LongTermAccessTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RenewLongTermAccessToken', service_name='textql.rpc.auth.AuthService', input=auth__pb2.RenewLongTermAccessTokenRequest, output=auth__pb2.LongTermAccessTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_org(self, request: auth__pb2.CreateOrgRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.CreateOrgResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.CreateOrgRequest, output=auth__pb2.CreateOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def find_orgs_by_slug(self, request: auth__pb2.FindOrgsBySlugRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.FindOrgsBySlugResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='FindOrgsBySlug', service_name='textql.rpc.auth.AuthService', input=auth__pb2.FindOrgsBySlugRequest, output=auth__pb2.FindOrgsBySlugResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_org(self, request: auth__pb2.UpdateOrgRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.UpdateOrgResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.UpdateOrgRequest, output=auth__pb2.UpdateOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_org_by_id(self, request: auth__pb2.GetOrgByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.GetOrgByIdResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOrgById', service_name='textql.rpc.auth.AuthService', input=auth__pb2.GetOrgByIdRequest, output=auth__pb2.GetOrgByIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_org_member(self, request: auth__pb2.CreateOrgMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.CreateOrgMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateOrgMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.CreateOrgMemberRequest, output=auth__pb2.CreateOrgMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def find_members_in_org(self, request: auth__pb2.FindMembersInOrgRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.FindMembersInOrgResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='FindMembersInOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.FindMembersInOrgRequest, output=auth__pb2.FindMembersInOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def email_invite_member(self, request: auth__pb2.EmailInviteMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.EmailInviteMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='EmailInviteMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.EmailInviteMemberRequest, output=auth__pb2.EmailInviteMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_org_member_by_member_id(self, request: auth__pb2.GetOrgMemberByMemberIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.GetOrgMemberByMemberIdResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOrgMemberByMemberId', service_name='textql.rpc.auth.AuthService', input=auth__pb2.GetOrgMemberByMemberIdRequest, output=auth__pb2.GetOrgMemberByMemberIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_member(self, request: auth__pb2.DeleteMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.DeleteMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.DeleteMemberRequest, output=auth__pb2.DeleteMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_organization(self, request: auth__pb2.DeleteOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.DeleteOrganizationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOrganization', service_name='textql.rpc.auth.AuthService', input=auth__pb2.DeleteOrganizationRequest, output=auth__pb2.DeleteOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class AuthServiceSync(Protocol): + + def start_session(self, request: auth__pb2.StartSessionRequest, ctx: RequestContext) -> auth__pb2.SessionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def renew_session(self, request: auth__pb2.RenewSessionRequest, ctx: RequestContext) -> auth__pb2.SessionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def renew_long_term_access_token(self, request: auth__pb2.RenewLongTermAccessTokenRequest, ctx: RequestContext) -> auth__pb2.LongTermAccessTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_org(self, request: auth__pb2.CreateOrgRequest, ctx: RequestContext) -> auth__pb2.CreateOrgResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def find_orgs_by_slug(self, request: auth__pb2.FindOrgsBySlugRequest, ctx: RequestContext) -> auth__pb2.FindOrgsBySlugResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_org(self, request: auth__pb2.UpdateOrgRequest, ctx: RequestContext) -> auth__pb2.UpdateOrgResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_org_by_id(self, request: auth__pb2.GetOrgByIdRequest, ctx: RequestContext) -> auth__pb2.GetOrgByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_org_member(self, request: auth__pb2.CreateOrgMemberRequest, ctx: RequestContext) -> auth__pb2.CreateOrgMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def find_members_in_org(self, request: auth__pb2.FindMembersInOrgRequest, ctx: RequestContext) -> auth__pb2.FindMembersInOrgResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def email_invite_member(self, request: auth__pb2.EmailInviteMemberRequest, ctx: RequestContext) -> auth__pb2.EmailInviteMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_org_member_by_member_id(self, request: auth__pb2.GetOrgMemberByMemberIdRequest, ctx: RequestContext) -> auth__pb2.GetOrgMemberByMemberIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_member(self, request: auth__pb2.DeleteMemberRequest, ctx: RequestContext) -> auth__pb2.DeleteMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_organization(self, request: auth__pb2.DeleteOrganizationRequest, ctx: RequestContext) -> auth__pb2.DeleteOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class AuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: AuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.auth.AuthService/StartSession': EndpointSync.unary(method=MethodInfo(name='StartSession', service_name='textql.rpc.auth.AuthService', input=auth__pb2.StartSessionRequest, output=auth__pb2.SessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.start_session), '/textql.rpc.auth.AuthService/RenewSession': EndpointSync.unary(method=MethodInfo(name='RenewSession', service_name='textql.rpc.auth.AuthService', input=auth__pb2.RenewSessionRequest, output=auth__pb2.SessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.renew_session), '/textql.rpc.auth.AuthService/RenewLongTermAccessToken': EndpointSync.unary(method=MethodInfo(name='RenewLongTermAccessToken', service_name='textql.rpc.auth.AuthService', input=auth__pb2.RenewLongTermAccessTokenRequest, output=auth__pb2.LongTermAccessTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.renew_long_term_access_token), '/textql.rpc.auth.AuthService/CreateOrg': EndpointSync.unary(method=MethodInfo(name='CreateOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.CreateOrgRequest, output=auth__pb2.CreateOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_org), '/textql.rpc.auth.AuthService/FindOrgsBySlug': EndpointSync.unary(method=MethodInfo(name='FindOrgsBySlug', service_name='textql.rpc.auth.AuthService', input=auth__pb2.FindOrgsBySlugRequest, output=auth__pb2.FindOrgsBySlugResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.find_orgs_by_slug), '/textql.rpc.auth.AuthService/UpdateOrg': EndpointSync.unary(method=MethodInfo(name='UpdateOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.UpdateOrgRequest, output=auth__pb2.UpdateOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_org), '/textql.rpc.auth.AuthService/GetOrgById': EndpointSync.unary(method=MethodInfo(name='GetOrgById', service_name='textql.rpc.auth.AuthService', input=auth__pb2.GetOrgByIdRequest, output=auth__pb2.GetOrgByIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_org_by_id), '/textql.rpc.auth.AuthService/CreateOrgMember': EndpointSync.unary(method=MethodInfo(name='CreateOrgMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.CreateOrgMemberRequest, output=auth__pb2.CreateOrgMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_org_member), '/textql.rpc.auth.AuthService/FindMembersInOrg': EndpointSync.unary(method=MethodInfo(name='FindMembersInOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.FindMembersInOrgRequest, output=auth__pb2.FindMembersInOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.find_members_in_org), '/textql.rpc.auth.AuthService/EmailInviteMember': EndpointSync.unary(method=MethodInfo(name='EmailInviteMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.EmailInviteMemberRequest, output=auth__pb2.EmailInviteMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.email_invite_member), '/textql.rpc.auth.AuthService/GetOrgMemberByMemberId': EndpointSync.unary(method=MethodInfo(name='GetOrgMemberByMemberId', service_name='textql.rpc.auth.AuthService', input=auth__pb2.GetOrgMemberByMemberIdRequest, output=auth__pb2.GetOrgMemberByMemberIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_org_member_by_member_id), '/textql.rpc.auth.AuthService/DeleteMember': EndpointSync.unary(method=MethodInfo(name='DeleteMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.DeleteMemberRequest, output=auth__pb2.DeleteMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_member), '/textql.rpc.auth.AuthService/DeleteOrganization': EndpointSync.unary(method=MethodInfo(name='DeleteOrganization', service_name='textql.rpc.auth.AuthService', input=auth__pb2.DeleteOrganizationRequest, output=auth__pb2.DeleteOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_organization)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.auth.AuthService' + +class AuthServiceClientSync(ConnectClientSync): + + def start_session(self, request: auth__pb2.StartSessionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.SessionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='StartSession', service_name='textql.rpc.auth.AuthService', input=auth__pb2.StartSessionRequest, output=auth__pb2.SessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def renew_session(self, request: auth__pb2.RenewSessionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.SessionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RenewSession', service_name='textql.rpc.auth.AuthService', input=auth__pb2.RenewSessionRequest, output=auth__pb2.SessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def renew_long_term_access_token(self, request: auth__pb2.RenewLongTermAccessTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.LongTermAccessTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RenewLongTermAccessToken', service_name='textql.rpc.auth.AuthService', input=auth__pb2.RenewLongTermAccessTokenRequest, output=auth__pb2.LongTermAccessTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_org(self, request: auth__pb2.CreateOrgRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.CreateOrgResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.CreateOrgRequest, output=auth__pb2.CreateOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def find_orgs_by_slug(self, request: auth__pb2.FindOrgsBySlugRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.FindOrgsBySlugResponse: + return self.execute_unary(request=request, method=MethodInfo(name='FindOrgsBySlug', service_name='textql.rpc.auth.AuthService', input=auth__pb2.FindOrgsBySlugRequest, output=auth__pb2.FindOrgsBySlugResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_org(self, request: auth__pb2.UpdateOrgRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.UpdateOrgResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.UpdateOrgRequest, output=auth__pb2.UpdateOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_org_by_id(self, request: auth__pb2.GetOrgByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.GetOrgByIdResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOrgById', service_name='textql.rpc.auth.AuthService', input=auth__pb2.GetOrgByIdRequest, output=auth__pb2.GetOrgByIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_org_member(self, request: auth__pb2.CreateOrgMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.CreateOrgMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateOrgMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.CreateOrgMemberRequest, output=auth__pb2.CreateOrgMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def find_members_in_org(self, request: auth__pb2.FindMembersInOrgRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.FindMembersInOrgResponse: + return self.execute_unary(request=request, method=MethodInfo(name='FindMembersInOrg', service_name='textql.rpc.auth.AuthService', input=auth__pb2.FindMembersInOrgRequest, output=auth__pb2.FindMembersInOrgResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def email_invite_member(self, request: auth__pb2.EmailInviteMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.EmailInviteMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='EmailInviteMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.EmailInviteMemberRequest, output=auth__pb2.EmailInviteMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_org_member_by_member_id(self, request: auth__pb2.GetOrgMemberByMemberIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.GetOrgMemberByMemberIdResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOrgMemberByMemberId', service_name='textql.rpc.auth.AuthService', input=auth__pb2.GetOrgMemberByMemberIdRequest, output=auth__pb2.GetOrgMemberByMemberIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_member(self, request: auth__pb2.DeleteMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.DeleteMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteMember', service_name='textql.rpc.auth.AuthService', input=auth__pb2.DeleteMemberRequest, output=auth__pb2.DeleteMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_organization(self, request: auth__pb2.DeleteOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.DeleteOrganizationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOrganization', service_name='textql.rpc.auth.AuthService', input=auth__pb2.DeleteOrganizationRequest, output=auth__pb2.DeleteOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/auth_pb2.py b/src/textql_sdk/_connect/auth_pb2.py new file mode 100644 index 0000000..e63adc6 --- /dev/null +++ b/src/textql_sdk/_connect/auth_pb2.py @@ -0,0 +1,86 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'auth.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from . import paradigm_params_pb2 as paradigm__params__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nauth.proto\x12\x0ftextql.rpc.auth\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15paradigm_params.proto"\xdd\x02\n\x05Theme\x12\x0e\n\x02bg\x18\x01 \x01(\tR\x02bg\x12\x1b\n\theader_bg\x18\x02 \x01(\tR\x08headerBg\x12\x17\n\x07card_bg\x18\x03 \x01(\tR\x06cardBg\x12%\n\x0eprimary_accent\x18\x04 \x01(\tR\rprimaryAccent\x12\x1f\n\x0bcard_accent\x18\x05 \x01(\tR\ncardAccent\x12\x18\n\x07heading\x18\x06 \x01(\tR\x07heading\x12\x12\n\x04text\x18\x07 \x01(\tR\x04text\x12!\n\x0ccard_heading\x18\x08 \x01(\tR\x0bcardHeading\x12\x1b\n\tcard_text\x18\t \x01(\tR\x08cardText\x12\x1e\n\x08logo_url\x18\n \x01(\tH\x00R\x07logoUrl\x88\x01\x01\x12\x1e\n\x08docs_url\x18\x0b \x01(\tH\x01R\x07docsUrl\x88\x01\x01B\x0b\n\t_logo_urlB\x0b\n\t_docs_url"\xbe.\n\x0cOrganization\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\'\n\rslack_team_id\x18\x02 \x01(\tH\x00R\x0bslackTeamId\x88\x01\x01\x12 \n\tslack_key\x18\x03 \x01(\tH\x01R\x08slackKey\x88\x01\x01\x129\n\x14default_connector_id\x18\x04 \x01(\x05B\x02\x18\x01H\x02R\x12defaultConnectorId\x88\x01\x01\x122\n\x15limit_data_visibility\x18\x05 \x01(\x08R\x13limitDataVisibility\x12.\n\x10require_attached\x18\x07 \x01(\x08H\x03R\x0frequireAttached\x88\x01\x01\x12+\n\x11organization_name\x18\x08 \x01(\tR\x10organizationName\x129\n\ncreated_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x127\n\x15organization_logo_url\x18\x0b \x01(\tH\x04R\x13organizationLogoUrl\x88\x01\x01\x122\n\x15email_allowed_domains\x18\x0c \x03(\tR\x13emailAllowedDomains\x120\n\x14allowed_auth_methods\x18\r \x03(\tR\x12allowedAuthMethods\x121\n\x05theme\x18\x0e \x01(\x0b2\x16.textql.rpc.auth.ThemeH\x05R\x05theme\x88\x01\x01\x12\x1e\n\x08org_meta\x18\x0f \x01(\tH\x06R\x07orgMeta\x88\x01\x01\x12S\n$inject_whole_ontology_disable_search\x18\x10 \x01(\x08H\x07R injectWholeOntologyDisableSearch\x88\x01\x01\x12\x1d\n\x07warning\x18\x12 \x01(\tH\x08R\x07warning\x88\x01\x01\x12%\n\x0epublic_preview\x18\x13 \x01(\x08R\rpublicPreview\x12&\n\x0fchat_v5_cutover\x18\x14 \x01(\x08R\rchatV5Cutover\x12a\n\x15default_paradigm_mode\x18\x17 \x01(\x0e2(.textql.rpc.paradigm_params.ParadigmTypeH\tR\x13defaultParadigmMode\x88\x01\x01\x12\'\n\x0fsecrets_enabled\x18\x18 \x01(\x08R\x0esecretsEnabled\x127\n\x15email_polling_enabled\x18\x19 \x01(\x08H\nR\x13emailPollingEnabled\x88\x01\x01\x12\x1e\n\x08logo_url\x18\x1a \x01(\tH\x0bR\x07logoUrl\x88\x01\x01\x12"\n\nbrand_name\x18\x1b \x01(\tH\x0cR\tbrandName\x88\x01\x01\x12S\n\x0fparadigm_params\x18\x1c \x01(\x0b2*.textql.rpc.paradigm_params.ParadigmParamsR\x0eparadigmParams\x12/\n\x11default_llm_model\x18\x1d \x01(\x05H\rR\x0fdefaultLlmModel\x88\x01\x01\x122\n\x12preferred_provider\x18\x1e \x01(\tH\x0eR\x11preferredProvider\x88\x01\x01\x12\\\n\x11tool_restrictions\x18\x1f \x01(\x0b2*.textql.rpc.paradigm_params.ParadigmParamsH\x0fR\x10toolRestrictions\x88\x01\x01\x12*\n\x0econsole_access\x18 \x01(\x08H\x10R\rconsoleAccess\x88\x01\x01\x122\n\x15default_connector_ids\x18! \x03(\x05R\x13defaultConnectorIds\x12+\n\x0fhide_tool_cells\x18" \x01(\x08H\x11R\rhideToolCells\x88\x01\x01\x12*\n\x0edisable_emojis\x18# \x01(\x08H\x12R\rdisableEmojis\x88\x01\x01\x12;\n\x17hide_example_connectors\x18$ \x01(\x08H\x13R\x15hideExampleConnectors\x88\x01\x01\x12(\n\rtraining_mode\x18% \x01(\x08H\x14R\x0ctrainingMode\x88\x01\x01\x122\n\x12dashboards_enabled\x18& \x01(\x08H\x15R\x11dashboardsEnabled\x88\x01\x01\x12-\n\x10billing_admin_id\x18\' \x01(\tH\x16R\x0ebillingAdminId\x88\x01\x01\x124\n\x13methodology_enabled\x18( \x01(\x08H\x17R\x12methodologyEnabled\x88\x01\x01\x124\n\x14allow_all_api_access\x18) \x01(\x08H\x18R\x11allowAllApiAccess\x88\x01\x01\x12&\n\x0cfeed_enabled\x18* \x01(\x08H\x19R\x0bfeedEnabled\x88\x01\x01\x121\n\x12context_v3_enabled\x18+ \x01(\x08H\x1aR\x10contextV3Enabled\x88\x01\x01\x12&\n\x0cbash_enabled\x18, \x01(\x08H\x1bR\x0bbashEnabled\x88\x01\x01\x12;\n\x17default_routing_enabled\x18- \x01(\x08H\x1cR\x15defaultRoutingEnabled\x88\x01\x01\x12*\n\x11enabled_model_ids\x18. \x03(\x05R\x0fenabledModelIds\x120\n\x14restricted_model_ids\x18/ \x03(\x05R\x12restrictedModelIds\x12/\n\x13restricted_families\x180 \x03(\tR\x12restrictedFamilies\x12\'\n\x0cdiscoverable\x181 \x01(\x08H\x1dR\x0cdiscoverable\x88\x01\x01\x128\n\x15observability_enabled\x183 \x01(\x08H\x1eR\x14observabilityEnabled\x88\x01\x01\x128\n\x15notifications_enabled\x184 \x01(\x08H\x1fR\x14notificationsEnabled\x88\x01\x01\x12@\n\x1aclient_db_override_enabled\x185 \x01(\x08H R\x17clientDbOverrideEnabled\x88\x01\x01\x12;\n\x17context_review_required\x186 \x01(\x08H!R\x15contextReviewRequired\x88\x01\x01\x12=\n\x18google_connector_enabled\x187 \x01(\x08H"R\x16googleConnectorEnabled\x88\x01\x01\x123\n\x13hide_api_connectors\x188 \x01(\x08H#R\x11hideApiConnectors\x88\x01\x01\x12/\n\x11fast_mode_enabled\x189 \x01(\x08H$R\x0ffastModeEnabled\x88\x01\x01\x125\n\x14max_thinking_enabled\x18W \x01(\x08H%R\x12maxThinkingEnabled\x88\x01\x01\x12D\n\x1csandbox_state_retention_days\x18: \x01(\x05H&R\x19sandboxStateRetentionDays\x88\x01\x01\x12I\n\x10asset_url_expiry\x18N \x01(\x0e2\x1f.textql.rpc.auth.AssetUrlExpiryR\x0eassetUrlExpiry\x125\n\x14email_output_enabled\x18; \x01(\x08H\'R\x12emailOutputEnabled\x88\x01\x01\x12=\n\x18default_playbook_private\x18< \x01(\x08H(R\x16defaultPlaybookPrivate\x88\x01\x01\x12=\n\x18default_dashboard_output\x18> \x01(\x08H)R\x16defaultDashboardOutput\x88\x01\x01\x124\n\x13default_methodology\x18M \x01(\x05H*R\x12defaultMethodology\x88\x01\x01\x12J\n scim_new_group_default_role_type\x18? \x01(\tH+R\x1bscimNewGroupDefaultRoleType\x88\x01\x01\x129\n\x16groups_feature_enabled\x18@ \x01(\x08H,R\x14groupsFeatureEnabled\x88\x01\x01\x12/\n\x13available_providers\x18A \x03(\tR\x12availableProviders\x12/\n\x11show_textql_usage\x18B \x01(\x08H-R\x0fshowTextqlUsage\x88\x01\x01\x12*\n\x0etraces_enabled\x18C \x01(\x08H.R\rtracesEnabled\x88\x01\x01\x12<\n\x18allow_llm_data_retention\x18D \x01(\x08H/R\x15allowLlmDataRetention\x88\x01\x01\x12I\n\x1fsox_db_session_metadata_enabled\x18E \x01(\x08H0R\x1bsoxDbSessionMetadataEnabled\x88\x01\x01\x12$\n\x0bsms_enabled\x18G \x01(\x08H1R\nsmsEnabled\x88\x01\x01\x12<\n\x18scim_assign_default_role\x18H \x01(\x08H2R\x15scimAssignDefaultRole\x88\x01\x01\x12A\n\x1amigration_banner_dismissed\x18I \x01(\x08H3R\x18migrationBannerDismissed\x88\x01\x01\x12C\n\x19config_migrations_enabled\x18J \x01(\x08B\x02\x18\x01H4R\x17configMigrationsEnabled\x88\x01\x01\x12G\n\x1dsandbox_observability_enabled\x18K \x01(\x08H5R\x1bsandboxObservabilityEnabled\x88\x01\x01\x12/\n\x11data_apps_enabled\x18L \x01(\x08H6R\x0fdataAppsEnabled\x88\x01\x01\x12*\n\x0eissues_enabled\x18O \x01(\x08H7R\rissuesEnabled\x88\x01\x01\x129\n\x16config_objects_enabled\x18P \x01(\x08H8R\x14configObjectsEnabled\x88\x01\x01\x12L\n config_objects_playbooks_enabled\x18Q \x01(\x08H9R\x1dconfigObjectsPlaybooksEnabled\x88\x01\x01\x12N\n!config_objects_dashboards_enabled\x18R \x01(\x08H:R\x1econfigObjectsDashboardsEnabled\x88\x01\x01\x129\n\x16config_autofix_enabled\x18S \x01(\x08H;R\x14configAutofixEnabled\x88\x01\x01\x121\n\x12helm_chart_version\x18T \x01(\tHR\x0fsharingDisabled\x88\x01\x01B\x10\n\x0e_slack_team_idB\x0c\n\n_slack_keyB\x17\n\x15_default_connector_idB\x13\n\x11_require_attachedB\x18\n\x16_organization_logo_urlB\x08\n\x06_themeB\x0b\n\t_org_metaB\'\n%_inject_whole_ontology_disable_searchB\n\n\x08_warningB\x18\n\x16_default_paradigm_modeB\x18\n\x16_email_polling_enabledB\x0b\n\t_logo_urlB\r\n\x0b_brand_nameB\x14\n\x12_default_llm_modelB\x15\n\x13_preferred_providerB\x14\n\x12_tool_restrictionsB\x11\n\x0f_console_accessB\x12\n\x10_hide_tool_cellsB\x11\n\x0f_disable_emojisB\x1a\n\x18_hide_example_connectorsB\x10\n\x0e_training_modeB\x15\n\x13_dashboards_enabledB\x13\n\x11_billing_admin_idB\x16\n\x14_methodology_enabledB\x17\n\x15_allow_all_api_accessB\x0f\n\r_feed_enabledB\x15\n\x13_context_v3_enabledB\x0f\n\r_bash_enabledB\x1a\n\x18_default_routing_enabledB\x0f\n\r_discoverableB\x18\n\x16_observability_enabledB\x18\n\x16_notifications_enabledB\x1d\n\x1b_client_db_override_enabledB\x1a\n\x18_context_review_requiredB\x1b\n\x19_google_connector_enabledB\x16\n\x14_hide_api_connectorsB\x14\n\x12_fast_mode_enabledB\x17\n\x15_max_thinking_enabledB\x1f\n\x1d_sandbox_state_retention_daysB\x17\n\x15_email_output_enabledB\x1b\n\x19_default_playbook_privateB\x1b\n\x19_default_dashboard_outputB\x16\n\x14_default_methodologyB#\n!_scim_new_group_default_role_typeB\x19\n\x17_groups_feature_enabledB\x14\n\x12_show_textql_usageB\x11\n\x0f_traces_enabledB\x1b\n\x19_allow_llm_data_retentionB"\n _sox_db_session_metadata_enabledB\x0e\n\x0c_sms_enabledB\x1b\n\x19_scim_assign_default_roleB\x1d\n\x1b_migration_banner_dismissedB\x1c\n\x1a_config_migrations_enabledB \n\x1e_sandbox_observability_enabledB\x14\n\x12_data_apps_enabledB\x11\n\x0f_issues_enabledB\x19\n\x17_config_objects_enabledB#\n!_config_objects_playbooks_enabledB$\n"_config_objects_dashboards_enabledB\x19\n\x17_config_autofix_enabledB\x15\n\x13_helm_chart_versionB\x1d\n\x1b_spend_transparency_enabledB\x13\n\x11_sharing_disabledJ\x04\x08\x11\x10\x12J\x04\x08\x15\x10\x17J\x04\x082\x103J\x04\x08=\x10>J\x04\x08F\x10G"\xc9\x0c\n\x06Member\x12\x0e\n\x02id\x18\x01 \x01(\x05R\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12\x17\n\x04role\x18\x04 \x01(\tH\x00R\x04role\x88\x01\x01\x125\n\x14preferred_first_name\x18\x05 \x01(\tH\x01R\x12preferredFirstName\x88\x01\x01\x123\n\x13preferred_last_name\x18\x06 \x01(\tH\x02R\x11preferredLastName\x88\x01\x01\x12 \n\tshow_code\x18\x07 \x01(\x08H\x03R\x08showCode\x88\x01\x01\x12/\n\x11profile_image_url\x18\x08 \x01(\tH\x04R\x0fprofileImageUrl\x88\x01\x01\x12#\n\remail_address\x18\t \x01(\tR\x0cemailAddress\x12\x17\n\x04name\x18\n \x01(\tH\x05R\x04name\x88\x01\x01\x12\x19\n\x08is_admin\x18\x0b \x01(\x08R\x07isAdmin\x127\n\x15selected_connector_id\x18\x0c \x01(\x05H\x06R\x13selectedConnectorId\x88\x01\x01\x12\x14\n\x05roles\x18\r \x03(\tR\x05roles\x129\n\ncreated_at\x18\x0e \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12X\n\x0fparadigm_params\x18\x10 \x01(\x0b2*.textql.rpc.paradigm_params.ParadigmParamsH\x07R\x0eparadigmParams\x88\x01\x01\x12%\n\x0eemail_verified\x18\x11 \x01(\x08R\remailVerified\x124\n\x16selected_connector_ids\x18\x12 \x03(\x05R\x14selectedConnectorIds\x12,\n\x12is_service_account\x18\x13 \x01(\x08R\x10isServiceAccount\x12&\n\x0fis_scim_managed\x18\x14 \x01(\x08R\risScimManaged\x12\x1f\n\x08steering\x18\x15 \x01(\x08H\x08R\x08steering\x88\x01\x01\x12&\n\x0cphone_number\x18\x16 \x01(\tH\tR\x0bphoneNumber\x88\x01\x01\x12*\n\x0ephone_verified\x18\x17 \x01(\x08H\nR\rphoneVerified\x88\x01\x01\x12/\n\x11personal_agent_id\x18\x18 \x01(\tH\x0bR\x0fpersonalAgentId\x88\x01\x01\x12&\n\x0cagent_number\x18\x19 \x01(\tH\x0cR\x0bagentNumber\x88\x01\x01\x124\n\x13default_methodology\x18\x1a \x01(\x05H\rR\x12defaultMethodology\x88\x01\x01\x12/\n\x11default_llm_model\x18\x1b \x01(\x05H\x0eR\x0fdefaultLlmModel\x88\x01\x01\x12/\n\x11default_fast_mode\x18\x1c \x01(\x08H\x0fR\x0fdefaultFastMode\x88\x01\x01\x12"\n\nfirst_name\x18\x1d \x01(\tH\x10R\tfirstName\x88\x01\x01\x12 \n\tlast_name\x18\x1e \x01(\tH\x11R\x08lastName\x88\x01\x01B\x07\n\x05_roleB\x17\n\x15_preferred_first_nameB\x16\n\x14_preferred_last_nameB\x0c\n\n_show_codeB\x14\n\x12_profile_image_urlB\x07\n\x05_nameB\x18\n\x16_selected_connector_idB\x12\n\x10_paradigm_paramsB\x0b\n\t_steeringB\x0f\n\r_phone_numberB\x11\n\x0f_phone_verifiedB\x14\n\x12_personal_agent_idB\x0f\n\r_agent_numberB\x16\n\x14_default_methodologyB\x14\n\x12_default_llm_modelB\x14\n\x12_default_fast_modeB\r\n\x0b_first_nameB\x0c\n\n_last_name"q\n\x05Token\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId\x129\n\nexpires_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\texpiresAt"\x95\x02\n\nOIDCConfig\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12\x1d\n\nissuer_url\x18\x03 \x01(\tR\tissuerUrl\x12\x1b\n\tclient_id\x18\x04 \x01(\tR\x08clientId\x12#\n\rclient_secret\x18\x05 \x01(\tR\x0cclientSecret\x12\x16\n\x06scopes\x18\x06 \x01(\tR\x06scopes\x12#\n\rprovider_type\x18\x07 \x01(\tR\x0cproviderType\x12/\n\x11attribute_mapping\x18\x08 \x01(\tB\x02\x18\x01R\x10attributeMapping"q\n\x13StartSessionRequest\x123\n\x16long_term_access_token\x18\x01 \x01(\tR\x13longTermAccessToken\x12\x1a\n\x06org_id\x18\x02 \x01(\tH\x00R\x05orgId\x88\x01\x01B\t\n\x07_org_id"\xaa\x01\n\x0fSessionResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member\x12A\n\x0corganization\x18\x02 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization\x12#\n\rsession_token\x18\x03 \x01(\tR\x0csessionToken"U\n\x10CreateOrgRequest\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"V\n\x11CreateOrgResponse\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"+\n\x15FindOrgsBySlugRequest\x12\x12\n\x04slug\x18\x01 \x01(\tR\x04slug"]\n\x16FindOrgsBySlugResponse\x12C\n\rorganizations\x18\x01 \x03(\x0b2\x1d.textql.rpc.auth.OrganizationR\rorganizations"z\n\x10UpdateOrgRequest\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization\x12#\n\rsession_token\x18\x02 \x01(\tR\x0csessionToken"V\n\x11UpdateOrgResponse\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"*\n\x11GetOrgByIdRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"W\n\x12GetOrgByIdResponse\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization":\n\x13RenewSessionRequest\x12#\n\rsession_token\x18\x01 \x01(\tR\x0csessionToken"V\n\x1fRenewLongTermAccessTokenRequest\x123\n\x16long_term_access_token\x18\x01 \x01(\tR\x13longTermAccessToken"n\n\x1bLongTermAccessTokenResponse\x123\n\x16long_term_access_token\x18\x01 \x01(\tR\x13longTermAccessToken\x12\x1a\n\x08warnings\x18\x02 \x03(\tR\x08warnings"I\n\x16CreateOrgMemberRequest\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member"J\n\x17CreateOrgMemberResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member"0\n\x17FindMembersInOrgRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"M\n\x18FindMembersInOrgResponse\x121\n\x07members\x18\x01 \x03(\x0b2\x17.textql.rpc.auth.MemberR\x07members"\x80\x01\n\x18EmailInviteMemberRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12\x12\n\x04role\x18\x03 \x01(\tR\x04role\x12#\n\rsession_token\x18\x04 \x01(\tR\x0csessionToken"5\n\x19EmailInviteMemberResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"a\n\x1dGetOrgMemberByMemberIdRequest\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12#\n\rsession_token\x18\x02 \x01(\tR\x0csessionToken"Q\n\x1eGetOrgMemberByMemberIdResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member"x\n\x13DeleteMemberRequest\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12#\n\rsession_token\x18\x02 \x01(\tR\x0csessionToken\x12\x1f\n\x0bhard_delete\x18\x03 \x01(\x08R\nhardDelete"0\n\x14DeleteMemberResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"@\n\x19DeleteOrganizationRequest\x12#\n\rsession_token\x18\x01 \x01(\tR\x0csessionToken"6\n\x1aDeleteOrganizationResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success*\xd9\x01\n\x0eAssetUrlExpiry\x12\x0f\n\x0bEXPIRY_NONE\x10\x00\x12\x12\n\x0eEXPIRY_ONE_DAY\x10\x01\x12\x15\n\x11EXPIRY_SEVEN_DAYS\x10\x02\x12\x16\n\x12EXPIRY_THIRTY_DAYS\x10\x03\x12\x13\n\x0fEXPIRY_ONE_YEAR\x10\x04\x12\x1a\n\x16EXPIRY_FIFTEEN_MINUTES\x10\x05\x12\x13\n\x0fEXPIRY_ONE_HOUR\x10\x06\x12\x14\n\x10EXPIRY_SIX_HOURS\x10\x07\x12\x17\n\x13EXPIRY_TWELVE_HOURS\x10\x082\x9d\n\n\x0bAuthService\x12V\n\x0cStartSession\x12$.textql.rpc.auth.StartSessionRequest\x1a .textql.rpc.auth.SessionResponse\x12V\n\x0cRenewSession\x12$.textql.rpc.auth.RenewSessionRequest\x1a .textql.rpc.auth.SessionResponse\x12z\n\x18RenewLongTermAccessToken\x120.textql.rpc.auth.RenewLongTermAccessTokenRequest\x1a,.textql.rpc.auth.LongTermAccessTokenResponse\x12R\n\tCreateOrg\x12!.textql.rpc.auth.CreateOrgRequest\x1a".textql.rpc.auth.CreateOrgResponse\x12a\n\x0eFindOrgsBySlug\x12&.textql.rpc.auth.FindOrgsBySlugRequest\x1a\'.textql.rpc.auth.FindOrgsBySlugResponse\x12R\n\tUpdateOrg\x12!.textql.rpc.auth.UpdateOrgRequest\x1a".textql.rpc.auth.UpdateOrgResponse\x12U\n\nGetOrgById\x12".textql.rpc.auth.GetOrgByIdRequest\x1a#.textql.rpc.auth.GetOrgByIdResponse\x12d\n\x0fCreateOrgMember\x12\'.textql.rpc.auth.CreateOrgMemberRequest\x1a(.textql.rpc.auth.CreateOrgMemberResponse\x12g\n\x10FindMembersInOrg\x12(.textql.rpc.auth.FindMembersInOrgRequest\x1a).textql.rpc.auth.FindMembersInOrgResponse\x12j\n\x11EmailInviteMember\x12).textql.rpc.auth.EmailInviteMemberRequest\x1a*.textql.rpc.auth.EmailInviteMemberResponse\x12y\n\x16GetOrgMemberByMemberId\x12..textql.rpc.auth.GetOrgMemberByMemberIdRequest\x1a/.textql.rpc.auth.GetOrgMemberByMemberIdResponse\x12[\n\x0cDeleteMember\x12$.textql.rpc.auth.DeleteMemberRequest\x1a%.textql.rpc.auth.DeleteMemberResponse\x12m\n\x12DeleteOrganization\x12*.textql.rpc.auth.DeleteOrganizationRequest\x1a+.textql.rpc.auth.DeleteOrganizationResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'auth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ORGANIZATION'].fields_by_name['default_connector_id']._loaded_options = None + _globals['_ORGANIZATION'].fields_by_name['default_connector_id']._serialized_options = b'\x18\x01' + _globals['_ORGANIZATION'].fields_by_name['config_migrations_enabled']._loaded_options = None + _globals['_ORGANIZATION'].fields_by_name['config_migrations_enabled']._serialized_options = b'\x18\x01' + _globals['_OIDCCONFIG'].fields_by_name['attribute_mapping']._loaded_options = None + _globals['_OIDCCONFIG'].fields_by_name['attribute_mapping']._serialized_options = b'\x18\x01' + _globals['_ASSETURLEXPIRY']._serialized_start = 10550 + _globals['_ASSETURLEXPIRY']._serialized_end = 10767 + _globals['_THEME']._serialized_start = 88 + _globals['_THEME']._serialized_end = 437 + _globals['_ORGANIZATION']._serialized_start = 440 + _globals['_ORGANIZATION']._serialized_end = 6390 + _globals['_MEMBER']._serialized_start = 6393 + _globals['_MEMBER']._serialized_end = 8002 + _globals['_TOKEN']._serialized_start = 8004 + _globals['_TOKEN']._serialized_end = 8117 + _globals['_OIDCCONFIG']._serialized_start = 8120 + _globals['_OIDCCONFIG']._serialized_end = 8397 + _globals['_STARTSESSIONREQUEST']._serialized_start = 8399 + _globals['_STARTSESSIONREQUEST']._serialized_end = 8512 + _globals['_SESSIONRESPONSE']._serialized_start = 8515 + _globals['_SESSIONRESPONSE']._serialized_end = 8685 + _globals['_CREATEORGREQUEST']._serialized_start = 8687 + _globals['_CREATEORGREQUEST']._serialized_end = 8772 + _globals['_CREATEORGRESPONSE']._serialized_start = 8774 + _globals['_CREATEORGRESPONSE']._serialized_end = 8860 + _globals['_FINDORGSBYSLUGREQUEST']._serialized_start = 8862 + _globals['_FINDORGSBYSLUGREQUEST']._serialized_end = 8905 + _globals['_FINDORGSBYSLUGRESPONSE']._serialized_start = 8907 + _globals['_FINDORGSBYSLUGRESPONSE']._serialized_end = 9000 + _globals['_UPDATEORGREQUEST']._serialized_start = 9002 + _globals['_UPDATEORGREQUEST']._serialized_end = 9124 + _globals['_UPDATEORGRESPONSE']._serialized_start = 9126 + _globals['_UPDATEORGRESPONSE']._serialized_end = 9212 + _globals['_GETORGBYIDREQUEST']._serialized_start = 9214 + _globals['_GETORGBYIDREQUEST']._serialized_end = 9256 + _globals['_GETORGBYIDRESPONSE']._serialized_start = 9258 + _globals['_GETORGBYIDRESPONSE']._serialized_end = 9345 + _globals['_RENEWSESSIONREQUEST']._serialized_start = 9347 + _globals['_RENEWSESSIONREQUEST']._serialized_end = 9405 + _globals['_RENEWLONGTERMACCESSTOKENREQUEST']._serialized_start = 9407 + _globals['_RENEWLONGTERMACCESSTOKENREQUEST']._serialized_end = 9493 + _globals['_LONGTERMACCESSTOKENRESPONSE']._serialized_start = 9495 + _globals['_LONGTERMACCESSTOKENRESPONSE']._serialized_end = 9605 + _globals['_CREATEORGMEMBERREQUEST']._serialized_start = 9607 + _globals['_CREATEORGMEMBERREQUEST']._serialized_end = 9680 + _globals['_CREATEORGMEMBERRESPONSE']._serialized_start = 9682 + _globals['_CREATEORGMEMBERRESPONSE']._serialized_end = 9756 + _globals['_FINDMEMBERSINORGREQUEST']._serialized_start = 9758 + _globals['_FINDMEMBERSINORGREQUEST']._serialized_end = 9806 + _globals['_FINDMEMBERSINORGRESPONSE']._serialized_start = 9808 + _globals['_FINDMEMBERSINORGRESPONSE']._serialized_end = 9885 + _globals['_EMAILINVITEMEMBERREQUEST']._serialized_start = 9888 + _globals['_EMAILINVITEMEMBERREQUEST']._serialized_end = 10016 + _globals['_EMAILINVITEMEMBERRESPONSE']._serialized_start = 10018 + _globals['_EMAILINVITEMEMBERRESPONSE']._serialized_end = 10071 + _globals['_GETORGMEMBERBYMEMBERIDREQUEST']._serialized_start = 10073 + _globals['_GETORGMEMBERBYMEMBERIDREQUEST']._serialized_end = 10170 + _globals['_GETORGMEMBERBYMEMBERIDRESPONSE']._serialized_start = 10172 + _globals['_GETORGMEMBERBYMEMBERIDRESPONSE']._serialized_end = 10253 + _globals['_DELETEMEMBERREQUEST']._serialized_start = 10255 + _globals['_DELETEMEMBERREQUEST']._serialized_end = 10375 + _globals['_DELETEMEMBERRESPONSE']._serialized_start = 10377 + _globals['_DELETEMEMBERRESPONSE']._serialized_end = 10425 + _globals['_DELETEORGANIZATIONREQUEST']._serialized_start = 10427 + _globals['_DELETEORGANIZATIONREQUEST']._serialized_end = 10491 + _globals['_DELETEORGANIZATIONRESPONSE']._serialized_start = 10493 + _globals['_DELETEORGANIZATIONRESPONSE']._serialized_end = 10547 + _globals['_AUTHSERVICE']._serialized_start = 10770 + _globals['_AUTHSERVICE']._serialized_end = 12079 \ No newline at end of file diff --git a/src/textql_sdk/_connect/auth_pb2.pyi b/src/textql_sdk/_connect/auth_pb2.pyi new file mode 100644 index 0000000..1f5f404 --- /dev/null +++ b/src/textql_sdk/_connect/auth_pb2.pyi @@ -0,0 +1,547 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +import paradigm_params_pb2 as _paradigm_params_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class AssetUrlExpiry(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + EXPIRY_NONE: _ClassVar[AssetUrlExpiry] + EXPIRY_ONE_DAY: _ClassVar[AssetUrlExpiry] + EXPIRY_SEVEN_DAYS: _ClassVar[AssetUrlExpiry] + EXPIRY_THIRTY_DAYS: _ClassVar[AssetUrlExpiry] + EXPIRY_ONE_YEAR: _ClassVar[AssetUrlExpiry] + EXPIRY_FIFTEEN_MINUTES: _ClassVar[AssetUrlExpiry] + EXPIRY_ONE_HOUR: _ClassVar[AssetUrlExpiry] + EXPIRY_SIX_HOURS: _ClassVar[AssetUrlExpiry] + EXPIRY_TWELVE_HOURS: _ClassVar[AssetUrlExpiry] +EXPIRY_NONE: AssetUrlExpiry +EXPIRY_ONE_DAY: AssetUrlExpiry +EXPIRY_SEVEN_DAYS: AssetUrlExpiry +EXPIRY_THIRTY_DAYS: AssetUrlExpiry +EXPIRY_ONE_YEAR: AssetUrlExpiry +EXPIRY_FIFTEEN_MINUTES: AssetUrlExpiry +EXPIRY_ONE_HOUR: AssetUrlExpiry +EXPIRY_SIX_HOURS: AssetUrlExpiry +EXPIRY_TWELVE_HOURS: AssetUrlExpiry + +class Theme(_message.Message): + __slots__ = ('bg', 'header_bg', 'card_bg', 'primary_accent', 'card_accent', 'heading', 'text', 'card_heading', 'card_text', 'logo_url', 'docs_url') + BG_FIELD_NUMBER: _ClassVar[int] + HEADER_BG_FIELD_NUMBER: _ClassVar[int] + CARD_BG_FIELD_NUMBER: _ClassVar[int] + PRIMARY_ACCENT_FIELD_NUMBER: _ClassVar[int] + CARD_ACCENT_FIELD_NUMBER: _ClassVar[int] + HEADING_FIELD_NUMBER: _ClassVar[int] + TEXT_FIELD_NUMBER: _ClassVar[int] + CARD_HEADING_FIELD_NUMBER: _ClassVar[int] + CARD_TEXT_FIELD_NUMBER: _ClassVar[int] + LOGO_URL_FIELD_NUMBER: _ClassVar[int] + DOCS_URL_FIELD_NUMBER: _ClassVar[int] + bg: str + header_bg: str + card_bg: str + primary_accent: str + card_accent: str + heading: str + text: str + card_heading: str + card_text: str + logo_url: str + docs_url: str + + def __init__(self, bg: _Optional[str]=..., header_bg: _Optional[str]=..., card_bg: _Optional[str]=..., primary_accent: _Optional[str]=..., card_accent: _Optional[str]=..., heading: _Optional[str]=..., text: _Optional[str]=..., card_heading: _Optional[str]=..., card_text: _Optional[str]=..., logo_url: _Optional[str]=..., docs_url: _Optional[str]=...) -> None: + ... + +class Organization(_message.Message): + __slots__ = ('org_id', 'slack_team_id', 'slack_key', 'default_connector_id', 'limit_data_visibility', 'require_attached', 'organization_name', 'created_at', 'updated_at', 'organization_logo_url', 'email_allowed_domains', 'allowed_auth_methods', 'theme', 'org_meta', 'inject_whole_ontology_disable_search', 'warning', 'public_preview', 'chat_v5_cutover', 'default_paradigm_mode', 'secrets_enabled', 'email_polling_enabled', 'logo_url', 'brand_name', 'paradigm_params', 'default_llm_model', 'preferred_provider', 'tool_restrictions', 'console_access', 'default_connector_ids', 'hide_tool_cells', 'disable_emojis', 'hide_example_connectors', 'training_mode', 'dashboards_enabled', 'billing_admin_id', 'methodology_enabled', 'allow_all_api_access', 'feed_enabled', 'context_v3_enabled', 'bash_enabled', 'default_routing_enabled', 'enabled_model_ids', 'restricted_model_ids', 'restricted_families', 'discoverable', 'observability_enabled', 'notifications_enabled', 'client_db_override_enabled', 'context_review_required', 'google_connector_enabled', 'hide_api_connectors', 'fast_mode_enabled', 'max_thinking_enabled', 'sandbox_state_retention_days', 'asset_url_expiry', 'email_output_enabled', 'default_playbook_private', 'default_dashboard_output', 'default_methodology', 'scim_new_group_default_role_type', 'groups_feature_enabled', 'available_providers', 'show_textql_usage', 'traces_enabled', 'allow_llm_data_retention', 'sox_db_session_metadata_enabled', 'sms_enabled', 'scim_assign_default_role', 'migration_banner_dismissed', 'config_migrations_enabled', 'sandbox_observability_enabled', 'data_apps_enabled', 'issues_enabled', 'config_objects_enabled', 'config_objects_playbooks_enabled', 'config_objects_dashboards_enabled', 'config_autofix_enabled', 'helm_chart_version', 'spend_transparency_enabled', 'sharing_disabled') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_TEAM_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_KEY_FIELD_NUMBER: _ClassVar[int] + DEFAULT_CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_DATA_VISIBILITY_FIELD_NUMBER: _ClassVar[int] + REQUIRE_ATTACHED_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_NAME_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_LOGO_URL_FIELD_NUMBER: _ClassVar[int] + EMAIL_ALLOWED_DOMAINS_FIELD_NUMBER: _ClassVar[int] + ALLOWED_AUTH_METHODS_FIELD_NUMBER: _ClassVar[int] + THEME_FIELD_NUMBER: _ClassVar[int] + ORG_META_FIELD_NUMBER: _ClassVar[int] + INJECT_WHOLE_ONTOLOGY_DISABLE_SEARCH_FIELD_NUMBER: _ClassVar[int] + WARNING_FIELD_NUMBER: _ClassVar[int] + PUBLIC_PREVIEW_FIELD_NUMBER: _ClassVar[int] + CHAT_V5_CUTOVER_FIELD_NUMBER: _ClassVar[int] + DEFAULT_PARADIGM_MODE_FIELD_NUMBER: _ClassVar[int] + SECRETS_ENABLED_FIELD_NUMBER: _ClassVar[int] + EMAIL_POLLING_ENABLED_FIELD_NUMBER: _ClassVar[int] + LOGO_URL_FIELD_NUMBER: _ClassVar[int] + BRAND_NAME_FIELD_NUMBER: _ClassVar[int] + PARADIGM_PARAMS_FIELD_NUMBER: _ClassVar[int] + DEFAULT_LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + PREFERRED_PROVIDER_FIELD_NUMBER: _ClassVar[int] + TOOL_RESTRICTIONS_FIELD_NUMBER: _ClassVar[int] + CONSOLE_ACCESS_FIELD_NUMBER: _ClassVar[int] + DEFAULT_CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + HIDE_TOOL_CELLS_FIELD_NUMBER: _ClassVar[int] + DISABLE_EMOJIS_FIELD_NUMBER: _ClassVar[int] + HIDE_EXAMPLE_CONNECTORS_FIELD_NUMBER: _ClassVar[int] + TRAINING_MODE_FIELD_NUMBER: _ClassVar[int] + DASHBOARDS_ENABLED_FIELD_NUMBER: _ClassVar[int] + BILLING_ADMIN_ID_FIELD_NUMBER: _ClassVar[int] + METHODOLOGY_ENABLED_FIELD_NUMBER: _ClassVar[int] + ALLOW_ALL_API_ACCESS_FIELD_NUMBER: _ClassVar[int] + FEED_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONTEXT_V3_ENABLED_FIELD_NUMBER: _ClassVar[int] + BASH_ENABLED_FIELD_NUMBER: _ClassVar[int] + DEFAULT_ROUTING_ENABLED_FIELD_NUMBER: _ClassVar[int] + ENABLED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + RESTRICTED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + RESTRICTED_FAMILIES_FIELD_NUMBER: _ClassVar[int] + DISCOVERABLE_FIELD_NUMBER: _ClassVar[int] + OBSERVABILITY_ENABLED_FIELD_NUMBER: _ClassVar[int] + NOTIFICATIONS_ENABLED_FIELD_NUMBER: _ClassVar[int] + CLIENT_DB_OVERRIDE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONTEXT_REVIEW_REQUIRED_FIELD_NUMBER: _ClassVar[int] + GOOGLE_CONNECTOR_ENABLED_FIELD_NUMBER: _ClassVar[int] + HIDE_API_CONNECTORS_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_ENABLED_FIELD_NUMBER: _ClassVar[int] + MAX_THINKING_ENABLED_FIELD_NUMBER: _ClassVar[int] + SANDBOX_STATE_RETENTION_DAYS_FIELD_NUMBER: _ClassVar[int] + ASSET_URL_EXPIRY_FIELD_NUMBER: _ClassVar[int] + EMAIL_OUTPUT_ENABLED_FIELD_NUMBER: _ClassVar[int] + DEFAULT_PLAYBOOK_PRIVATE_FIELD_NUMBER: _ClassVar[int] + DEFAULT_DASHBOARD_OUTPUT_FIELD_NUMBER: _ClassVar[int] + DEFAULT_METHODOLOGY_FIELD_NUMBER: _ClassVar[int] + SCIM_NEW_GROUP_DEFAULT_ROLE_TYPE_FIELD_NUMBER: _ClassVar[int] + GROUPS_FEATURE_ENABLED_FIELD_NUMBER: _ClassVar[int] + AVAILABLE_PROVIDERS_FIELD_NUMBER: _ClassVar[int] + SHOW_TEXTQL_USAGE_FIELD_NUMBER: _ClassVar[int] + TRACES_ENABLED_FIELD_NUMBER: _ClassVar[int] + ALLOW_LLM_DATA_RETENTION_FIELD_NUMBER: _ClassVar[int] + SOX_DB_SESSION_METADATA_ENABLED_FIELD_NUMBER: _ClassVar[int] + SMS_ENABLED_FIELD_NUMBER: _ClassVar[int] + SCIM_ASSIGN_DEFAULT_ROLE_FIELD_NUMBER: _ClassVar[int] + MIGRATION_BANNER_DISMISSED_FIELD_NUMBER: _ClassVar[int] + CONFIG_MIGRATIONS_ENABLED_FIELD_NUMBER: _ClassVar[int] + SANDBOX_OBSERVABILITY_ENABLED_FIELD_NUMBER: _ClassVar[int] + DATA_APPS_ENABLED_FIELD_NUMBER: _ClassVar[int] + ISSUES_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIG_OBJECTS_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIG_OBJECTS_PLAYBOOKS_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIG_OBJECTS_DASHBOARDS_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIG_AUTOFIX_ENABLED_FIELD_NUMBER: _ClassVar[int] + HELM_CHART_VERSION_FIELD_NUMBER: _ClassVar[int] + SPEND_TRANSPARENCY_ENABLED_FIELD_NUMBER: _ClassVar[int] + SHARING_DISABLED_FIELD_NUMBER: _ClassVar[int] + org_id: str + slack_team_id: str + slack_key: str + default_connector_id: int + limit_data_visibility: bool + require_attached: bool + organization_name: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + organization_logo_url: str + email_allowed_domains: _containers.RepeatedScalarFieldContainer[str] + allowed_auth_methods: _containers.RepeatedScalarFieldContainer[str] + theme: Theme + org_meta: str + inject_whole_ontology_disable_search: bool + warning: str + public_preview: bool + chat_v5_cutover: bool + default_paradigm_mode: _paradigm_params_pb2.ParadigmType + secrets_enabled: bool + email_polling_enabled: bool + logo_url: str + brand_name: str + paradigm_params: _paradigm_params_pb2.ParadigmParams + default_llm_model: int + preferred_provider: str + tool_restrictions: _paradigm_params_pb2.ParadigmParams + console_access: bool + default_connector_ids: _containers.RepeatedScalarFieldContainer[int] + hide_tool_cells: bool + disable_emojis: bool + hide_example_connectors: bool + training_mode: bool + dashboards_enabled: bool + billing_admin_id: str + methodology_enabled: bool + allow_all_api_access: bool + feed_enabled: bool + context_v3_enabled: bool + bash_enabled: bool + default_routing_enabled: bool + enabled_model_ids: _containers.RepeatedScalarFieldContainer[int] + restricted_model_ids: _containers.RepeatedScalarFieldContainer[int] + restricted_families: _containers.RepeatedScalarFieldContainer[str] + discoverable: bool + observability_enabled: bool + notifications_enabled: bool + client_db_override_enabled: bool + context_review_required: bool + google_connector_enabled: bool + hide_api_connectors: bool + fast_mode_enabled: bool + max_thinking_enabled: bool + sandbox_state_retention_days: int + asset_url_expiry: AssetUrlExpiry + email_output_enabled: bool + default_playbook_private: bool + default_dashboard_output: bool + default_methodology: int + scim_new_group_default_role_type: str + groups_feature_enabled: bool + available_providers: _containers.RepeatedScalarFieldContainer[str] + show_textql_usage: bool + traces_enabled: bool + allow_llm_data_retention: bool + sox_db_session_metadata_enabled: bool + sms_enabled: bool + scim_assign_default_role: bool + migration_banner_dismissed: bool + config_migrations_enabled: bool + sandbox_observability_enabled: bool + data_apps_enabled: bool + issues_enabled: bool + config_objects_enabled: bool + config_objects_playbooks_enabled: bool + config_objects_dashboards_enabled: bool + config_autofix_enabled: bool + helm_chart_version: str + spend_transparency_enabled: bool + sharing_disabled: bool + + def __init__(self, org_id: _Optional[str]=..., slack_team_id: _Optional[str]=..., slack_key: _Optional[str]=..., default_connector_id: _Optional[int]=..., limit_data_visibility: bool=..., require_attached: bool=..., organization_name: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., organization_logo_url: _Optional[str]=..., email_allowed_domains: _Optional[_Iterable[str]]=..., allowed_auth_methods: _Optional[_Iterable[str]]=..., theme: _Optional[_Union[Theme, _Mapping]]=..., org_meta: _Optional[str]=..., inject_whole_ontology_disable_search: bool=..., warning: _Optional[str]=..., public_preview: bool=..., chat_v5_cutover: bool=..., default_paradigm_mode: _Optional[_Union[_paradigm_params_pb2.ParadigmType, str]]=..., secrets_enabled: bool=..., email_polling_enabled: bool=..., logo_url: _Optional[str]=..., brand_name: _Optional[str]=..., paradigm_params: _Optional[_Union[_paradigm_params_pb2.ParadigmParams, _Mapping]]=..., default_llm_model: _Optional[int]=..., preferred_provider: _Optional[str]=..., tool_restrictions: _Optional[_Union[_paradigm_params_pb2.ParadigmParams, _Mapping]]=..., console_access: bool=..., default_connector_ids: _Optional[_Iterable[int]]=..., hide_tool_cells: bool=..., disable_emojis: bool=..., hide_example_connectors: bool=..., training_mode: bool=..., dashboards_enabled: bool=..., billing_admin_id: _Optional[str]=..., methodology_enabled: bool=..., allow_all_api_access: bool=..., feed_enabled: bool=..., context_v3_enabled: bool=..., bash_enabled: bool=..., default_routing_enabled: bool=..., enabled_model_ids: _Optional[_Iterable[int]]=..., restricted_model_ids: _Optional[_Iterable[int]]=..., restricted_families: _Optional[_Iterable[str]]=..., discoverable: bool=..., observability_enabled: bool=..., notifications_enabled: bool=..., client_db_override_enabled: bool=..., context_review_required: bool=..., google_connector_enabled: bool=..., hide_api_connectors: bool=..., fast_mode_enabled: bool=..., max_thinking_enabled: bool=..., sandbox_state_retention_days: _Optional[int]=..., asset_url_expiry: _Optional[_Union[AssetUrlExpiry, str]]=..., email_output_enabled: bool=..., default_playbook_private: bool=..., default_dashboard_output: bool=..., default_methodology: _Optional[int]=..., scim_new_group_default_role_type: _Optional[str]=..., groups_feature_enabled: bool=..., available_providers: _Optional[_Iterable[str]]=..., show_textql_usage: bool=..., traces_enabled: bool=..., allow_llm_data_retention: bool=..., sox_db_session_metadata_enabled: bool=..., sms_enabled: bool=..., scim_assign_default_role: bool=..., migration_banner_dismissed: bool=..., config_migrations_enabled: bool=..., sandbox_observability_enabled: bool=..., data_apps_enabled: bool=..., issues_enabled: bool=..., config_objects_enabled: bool=..., config_objects_playbooks_enabled: bool=..., config_objects_dashboards_enabled: bool=..., config_autofix_enabled: bool=..., helm_chart_version: _Optional[str]=..., spend_transparency_enabled: bool=..., sharing_disabled: bool=...) -> None: + ... + +class Member(_message.Message): + __slots__ = ('id', 'org_id', 'member_id', 'role', 'preferred_first_name', 'preferred_last_name', 'show_code', 'profile_image_url', 'email_address', 'name', 'is_admin', 'selected_connector_id', 'roles', 'created_at', 'updated_at', 'paradigm_params', 'email_verified', 'selected_connector_ids', 'is_service_account', 'is_scim_managed', 'steering', 'phone_number', 'phone_verified', 'personal_agent_id', 'agent_number', 'default_methodology', 'default_llm_model', 'default_fast_mode', 'first_name', 'last_name') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + PREFERRED_FIRST_NAME_FIELD_NUMBER: _ClassVar[int] + PREFERRED_LAST_NAME_FIELD_NUMBER: _ClassVar[int] + SHOW_CODE_FIELD_NUMBER: _ClassVar[int] + PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + EMAIL_ADDRESS_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + IS_ADMIN_FIELD_NUMBER: _ClassVar[int] + SELECTED_CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + ROLES_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + PARADIGM_PARAMS_FIELD_NUMBER: _ClassVar[int] + EMAIL_VERIFIED_FIELD_NUMBER: _ClassVar[int] + SELECTED_CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + IS_SERVICE_ACCOUNT_FIELD_NUMBER: _ClassVar[int] + IS_SCIM_MANAGED_FIELD_NUMBER: _ClassVar[int] + STEERING_FIELD_NUMBER: _ClassVar[int] + PHONE_NUMBER_FIELD_NUMBER: _ClassVar[int] + PHONE_VERIFIED_FIELD_NUMBER: _ClassVar[int] + PERSONAL_AGENT_ID_FIELD_NUMBER: _ClassVar[int] + AGENT_NUMBER_FIELD_NUMBER: _ClassVar[int] + DEFAULT_METHODOLOGY_FIELD_NUMBER: _ClassVar[int] + DEFAULT_LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + DEFAULT_FAST_MODE_FIELD_NUMBER: _ClassVar[int] + FIRST_NAME_FIELD_NUMBER: _ClassVar[int] + LAST_NAME_FIELD_NUMBER: _ClassVar[int] + id: int + org_id: str + member_id: str + role: str + preferred_first_name: str + preferred_last_name: str + show_code: bool + profile_image_url: str + email_address: str + name: str + is_admin: bool + selected_connector_id: int + roles: _containers.RepeatedScalarFieldContainer[str] + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + paradigm_params: _paradigm_params_pb2.ParadigmParams + email_verified: bool + selected_connector_ids: _containers.RepeatedScalarFieldContainer[int] + is_service_account: bool + is_scim_managed: bool + steering: bool + phone_number: str + phone_verified: bool + personal_agent_id: str + agent_number: str + default_methodology: int + default_llm_model: int + default_fast_mode: bool + first_name: str + last_name: str + + def __init__(self, id: _Optional[int]=..., org_id: _Optional[str]=..., member_id: _Optional[str]=..., role: _Optional[str]=..., preferred_first_name: _Optional[str]=..., preferred_last_name: _Optional[str]=..., show_code: bool=..., profile_image_url: _Optional[str]=..., email_address: _Optional[str]=..., name: _Optional[str]=..., is_admin: bool=..., selected_connector_id: _Optional[int]=..., roles: _Optional[_Iterable[str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., paradigm_params: _Optional[_Union[_paradigm_params_pb2.ParadigmParams, _Mapping]]=..., email_verified: bool=..., selected_connector_ids: _Optional[_Iterable[int]]=..., is_service_account: bool=..., is_scim_managed: bool=..., steering: bool=..., phone_number: _Optional[str]=..., phone_verified: bool=..., personal_agent_id: _Optional[str]=..., agent_number: _Optional[str]=..., default_methodology: _Optional[int]=..., default_llm_model: _Optional[int]=..., default_fast_mode: bool=..., first_name: _Optional[str]=..., last_name: _Optional[str]=...) -> None: + ... + +class Token(_message.Message): + __slots__ = ('token', 'user_id', 'expires_at') + TOKEN_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + token: str + user_id: str + expires_at: _timestamp_pb2.Timestamp + + def __init__(self, token: _Optional[str]=..., user_id: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class OIDCConfig(_message.Message): + __slots__ = ('org_id', 'display_name', 'issuer_url', 'client_id', 'client_secret', 'scopes', 'provider_type', 'attribute_mapping') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ISSUER_URL_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + PROVIDER_TYPE_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_MAPPING_FIELD_NUMBER: _ClassVar[int] + org_id: str + display_name: str + issuer_url: str + client_id: str + client_secret: str + scopes: str + provider_type: str + attribute_mapping: str + + def __init__(self, org_id: _Optional[str]=..., display_name: _Optional[str]=..., issuer_url: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., scopes: _Optional[str]=..., provider_type: _Optional[str]=..., attribute_mapping: _Optional[str]=...) -> None: + ... + +class StartSessionRequest(_message.Message): + __slots__ = ('long_term_access_token', 'org_id') + LONG_TERM_ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + long_term_access_token: str + org_id: str + + def __init__(self, long_term_access_token: _Optional[str]=..., org_id: _Optional[str]=...) -> None: + ... + +class SessionResponse(_message.Message): + __slots__ = ('member', 'organization', 'session_token') + MEMBER_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int] + member: Member + organization: Organization + session_token: str + + def __init__(self, member: _Optional[_Union[Member, _Mapping]]=..., organization: _Optional[_Union[Organization, _Mapping]]=..., session_token: _Optional[str]=...) -> None: + ... + +class CreateOrgRequest(_message.Message): + __slots__ = ('organization',) + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + organization: Organization + + def __init__(self, organization: _Optional[_Union[Organization, _Mapping]]=...) -> None: + ... + +class CreateOrgResponse(_message.Message): + __slots__ = ('organization',) + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + organization: Organization + + def __init__(self, organization: _Optional[_Union[Organization, _Mapping]]=...) -> None: + ... + +class FindOrgsBySlugRequest(_message.Message): + __slots__ = ('slug',) + SLUG_FIELD_NUMBER: _ClassVar[int] + slug: str + + def __init__(self, slug: _Optional[str]=...) -> None: + ... + +class FindOrgsBySlugResponse(_message.Message): + __slots__ = ('organizations',) + ORGANIZATIONS_FIELD_NUMBER: _ClassVar[int] + organizations: _containers.RepeatedCompositeFieldContainer[Organization] + + def __init__(self, organizations: _Optional[_Iterable[_Union[Organization, _Mapping]]]=...) -> None: + ... + +class UpdateOrgRequest(_message.Message): + __slots__ = ('organization', 'session_token') + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int] + organization: Organization + session_token: str + + def __init__(self, organization: _Optional[_Union[Organization, _Mapping]]=..., session_token: _Optional[str]=...) -> None: + ... + +class UpdateOrgResponse(_message.Message): + __slots__ = ('organization',) + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + organization: Organization + + def __init__(self, organization: _Optional[_Union[Organization, _Mapping]]=...) -> None: + ... + +class GetOrgByIdRequest(_message.Message): + __slots__ = ('org_id',) + ORG_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + + def __init__(self, org_id: _Optional[str]=...) -> None: + ... + +class GetOrgByIdResponse(_message.Message): + __slots__ = ('organization',) + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + organization: Organization + + def __init__(self, organization: _Optional[_Union[Organization, _Mapping]]=...) -> None: + ... + +class RenewSessionRequest(_message.Message): + __slots__ = ('session_token',) + SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int] + session_token: str + + def __init__(self, session_token: _Optional[str]=...) -> None: + ... + +class RenewLongTermAccessTokenRequest(_message.Message): + __slots__ = ('long_term_access_token',) + LONG_TERM_ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + long_term_access_token: str + + def __init__(self, long_term_access_token: _Optional[str]=...) -> None: + ... + +class LongTermAccessTokenResponse(_message.Message): + __slots__ = ('long_term_access_token', 'warnings') + LONG_TERM_ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + WARNINGS_FIELD_NUMBER: _ClassVar[int] + long_term_access_token: str + warnings: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, long_term_access_token: _Optional[str]=..., warnings: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreateOrgMemberRequest(_message.Message): + __slots__ = ('member',) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: Member + + def __init__(self, member: _Optional[_Union[Member, _Mapping]]=...) -> None: + ... + +class CreateOrgMemberResponse(_message.Message): + __slots__ = ('member',) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: Member + + def __init__(self, member: _Optional[_Union[Member, _Mapping]]=...) -> None: + ... + +class FindMembersInOrgRequest(_message.Message): + __slots__ = ('org_id',) + ORG_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + + def __init__(self, org_id: _Optional[str]=...) -> None: + ... + +class FindMembersInOrgResponse(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[Member] + + def __init__(self, members: _Optional[_Iterable[_Union[Member, _Mapping]]]=...) -> None: + ... + +class EmailInviteMemberRequest(_message.Message): + __slots__ = ('org_id', 'email', 'role', 'session_token') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int] + org_id: str + email: str + role: str + session_token: str + + def __init__(self, org_id: _Optional[str]=..., email: _Optional[str]=..., role: _Optional[str]=..., session_token: _Optional[str]=...) -> None: + ... + +class EmailInviteMemberResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetOrgMemberByMemberIdRequest(_message.Message): + __slots__ = ('member_id', 'session_token') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int] + member_id: str + session_token: str + + def __init__(self, member_id: _Optional[str]=..., session_token: _Optional[str]=...) -> None: + ... + +class GetOrgMemberByMemberIdResponse(_message.Message): + __slots__ = ('member',) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: Member + + def __init__(self, member: _Optional[_Union[Member, _Mapping]]=...) -> None: + ... + +class DeleteMemberRequest(_message.Message): + __slots__ = ('member_id', 'session_token', 'hard_delete') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int] + HARD_DELETE_FIELD_NUMBER: _ClassVar[int] + member_id: str + session_token: str + hard_delete: bool + + def __init__(self, member_id: _Optional[str]=..., session_token: _Optional[str]=..., hard_delete: bool=...) -> None: + ... + +class DeleteMemberResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class DeleteOrganizationRequest(_message.Message): + __slots__ = ('session_token',) + SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int] + session_token: str + + def __init__(self, session_token: _Optional[str]=...) -> None: + ... + +class DeleteOrganizationResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/buf/__init__.py b/src/textql_sdk/_connect/buf/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/textql_sdk/_connect/buf/__init__.pyi b/src/textql_sdk/_connect/buf/__init__.pyi new file mode 100644 index 0000000..81560b1 --- /dev/null +++ b/src/textql_sdk/_connect/buf/__init__.pyi @@ -0,0 +1 @@ +from . import validate diff --git a/src/textql_sdk/_connect/buf/validate/__init__.py b/src/textql_sdk/_connect/buf/validate/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/textql_sdk/_connect/buf/validate/__init__.pyi b/src/textql_sdk/_connect/buf/validate/__init__.pyi new file mode 100644 index 0000000..44362bb --- /dev/null +++ b/src/textql_sdk/_connect/buf/validate/__init__.pyi @@ -0,0 +1 @@ +from . import validate_pb2 diff --git a/src/textql_sdk/_connect/buf/validate/validate_pb2.py b/src/textql_sdk/_connect/buf/validate/validate_pb2.py new file mode 100644 index 0000000..c6eb1c1 --- /dev/null +++ b/src/textql_sdk/_connect/buf/validate/validate_pb2.py @@ -0,0 +1,430 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'buf/validate/validate.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bbuf/validate/validate.proto\x12\x0cbuf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto"P\n\x04Rule\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression"z\n\x0cMessageRules\x12$\n\x03cel\x18\x03 \x03(\x0b2\x12.buf.validate.RuleR\x03cel\x124\n\x05oneof\x18\x04 \x03(\x0b2\x1e.buf.validate.MessageOneofRuleR\x05oneofJ\x04\x08\x01\x10\x02R\x08disabled"F\n\x10MessageOneofRule\x12\x16\n\x06fields\x18\x01 \x03(\tR\x06fields\x12\x1a\n\x08required\x18\x02 \x01(\x08R\x08required"(\n\nOneofRules\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required"\xfd\t\n\nFieldRules\x12$\n\x03cel\x18\x17 \x03(\x0b2\x12.buf.validate.RuleR\x03cel\x12\x1a\n\x08required\x18\x19 \x01(\x08R\x08required\x12,\n\x06ignore\x18\x1b \x01(\x0e2\x14.buf.validate.IgnoreR\x06ignore\x120\n\x05float\x18\x01 \x01(\x0b2\x18.buf.validate.FloatRulesH\x00R\x05float\x123\n\x06double\x18\x02 \x01(\x0b2\x19.buf.validate.DoubleRulesH\x00R\x06double\x120\n\x05int32\x18\x03 \x01(\x0b2\x18.buf.validate.Int32RulesH\x00R\x05int32\x120\n\x05int64\x18\x04 \x01(\x0b2\x18.buf.validate.Int64RulesH\x00R\x05int64\x123\n\x06uint32\x18\x05 \x01(\x0b2\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x123\n\x06uint64\x18\x06 \x01(\x0b2\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x123\n\x06sint32\x18\x07 \x01(\x0b2\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x123\n\x06sint64\x18\x08 \x01(\x0b2\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x126\n\x07fixed32\x18\t \x01(\x0b2\x1a.buf.validate.Fixed32RulesH\x00R\x07fixed32\x126\n\x07fixed64\x18\n \x01(\x0b2\x1a.buf.validate.Fixed64RulesH\x00R\x07fixed64\x129\n\x08sfixed32\x18\x0b \x01(\x0b2\x1b.buf.validate.SFixed32RulesH\x00R\x08sfixed32\x129\n\x08sfixed64\x18\x0c \x01(\x0b2\x1b.buf.validate.SFixed64RulesH\x00R\x08sfixed64\x12-\n\x04bool\x18\r \x01(\x0b2\x17.buf.validate.BoolRulesH\x00R\x04bool\x123\n\x06string\x18\x0e \x01(\x0b2\x19.buf.validate.StringRulesH\x00R\x06string\x120\n\x05bytes\x18\x0f \x01(\x0b2\x18.buf.validate.BytesRulesH\x00R\x05bytes\x12-\n\x04enum\x18\x10 \x01(\x0b2\x17.buf.validate.EnumRulesH\x00R\x04enum\x129\n\x08repeated\x18\x12 \x01(\x0b2\x1b.buf.validate.RepeatedRulesH\x00R\x08repeated\x12*\n\x03map\x18\x13 \x01(\x0b2\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n\x03any\x18\x14 \x01(\x0b2\x16.buf.validate.AnyRulesH\x00R\x03any\x129\n\x08duration\x18\x15 \x01(\x0b2\x1b.buf.validate.DurationRulesH\x00R\x08duration\x12<\n\ttimestamp\x18\x16 \x01(\x0b2\x1c.buf.validate.TimestampRulesH\x00R\ttimestampB\x06\n\x04typeJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty"Z\n\x0fPredefinedRules\x12$\n\x03cel\x18\x01 \x03(\x0b2\x12.buf.validate.RuleR\x03celJ\x04\x08\x18\x10\x19J\x04\x08\x1a\x10\x1bR\x07skippedR\x0cignore_empty"\x90\x18\n\nFloatRules\x12\x8a\x01\n\x05const\x18\x01 \x01(\x02Bt\xc2Hq\no\n\x0bfloat.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\xa3\x01\n\x02lt\x18\x02 \x01(\x02B\x90\x01\xc2H\x8c\x01\n\x89\x01\n\x08float.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb4\x01\n\x03lte\x18\x03 \x01(\x02B\x9f\x01\xc2H\x9b\x01\n\x98\x01\n\tfloat.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf3\x07\n\x02gt\x18\x04 \x01(\x02B\xe0\x07\xc2H\xdc\x07\n\x8d\x01\n\x08float.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc3\x01\n\x0bfloat.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xcd\x01\n\x15float.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd3\x01\n\x0cfloat.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xdd\x01\n\x16float.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xbf\x08\n\x03gte\x18\x05 \x01(\x02B\xaa\x08\xc2H\xa6\x08\n\x9b\x01\n\tfloat.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd2\x01\n\x0cfloat.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdc\x01\n\x16float.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe2\x01\n\rfloat.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xec\x01\n\x17float.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x83\x01\n\x02in\x18\x06 \x03(\x02Bs\xc2Hp\nn\n\x08float.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x02Bf\xc2Hc\na\n\x0cfloat.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12}\n\x06finite\x18\x08 \x01(\x08Be\xc2Hb\n`\n\x0cfloat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06finite\x124\n\x07example\x18\t \x03(\x02B\x1a\xc2H\x17\n\x15\n\rfloat.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xa2\x18\n\x0bDoubleRules\x12\x8b\x01\n\x05const\x18\x01 \x01(\x01Bu\xc2Hr\np\n\x0cdouble.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\xa4\x01\n\x02lt\x18\x02 \x01(\x01B\x91\x01\xc2H\x8d\x01\n\x8a\x01\n\tdouble.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xb5\x01\n\x03lte\x18\x03 \x01(\x01B\xa0\x01\xc2H\x9c\x01\n\x99\x01\n\ndouble.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xf8\x07\n\x02gt\x18\x04 \x01(\x01B\xe5\x07\xc2H\xe1\x07\n\x8e\x01\n\tdouble.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xc4\x01\n\x0cdouble.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xce\x01\n\x16double.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xd4\x01\n\rdouble.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xde\x01\n\x17double.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xc4\x08\n\x03gte\x18\x05 \x01(\x01B\xaf\x08\xc2H\xab\x08\n\x9c\x01\n\ndouble.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xd3\x01\n\rdouble.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xdd\x01\n\x17double.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xe3\x01\n\x0edouble.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xed\x01\n\x18double.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x84\x01\n\x02in\x18\x06 \x03(\x01Bt\xc2Hq\no\n\tdouble.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x01Bg\xc2Hd\nb\n\rdouble.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12~\n\x06finite\x18\x08 \x01(\x08Bf\xc2Hc\na\n\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06finite\x125\n\x07example\x18\t \x03(\x01B\x1b\xc2H\x18\n\x16\n\x0edouble.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xba\x15\n\nInt32Rules\x12\x8a\x01\n\x05const\x18\x01 \x01(\x05Bt\xc2Hq\no\n\x0bint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x05B|\xc2Hy\nw\n\x08int32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x05B\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x05B\x88\x07\xc2H\x84\x07\nz\n\x08int32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x05B\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x83\x01\n\x02in\x18\x06 \x03(\x05Bs\xc2Hp\nn\n\x08int32.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x05Bf\xc2Hc\na\n\x0cint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x124\n\x07example\x18\x08 \x03(\x05B\x1a\xc2H\x17\n\x15\n\rint32.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xba\x15\n\nInt64Rules\x12\x8a\x01\n\x05const\x18\x01 \x01(\x03Bt\xc2Hq\no\n\x0bint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x03B|\xc2Hy\nw\n\x08int64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa1\x01\n\x03lte\x18\x03 \x01(\x03B\x8c\x01\xc2H\x88\x01\n\x85\x01\n\tint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\x9b\x07\n\x02gt\x18\x04 \x01(\x03B\x88\x07\xc2H\x84\x07\nz\n\x08int64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbb\x01\n\x15int64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc3\x01\n\x0cint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcb\x01\n\x16int64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xe8\x07\n\x03gte\x18\x05 \x01(\x03B\xd3\x07\xc2H\xcf\x07\n\x88\x01\n\tint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc2\x01\n\x0cint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xca\x01\n\x16int64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd2\x01\n\rint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xda\x01\n\x17int64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x83\x01\n\x02in\x18\x06 \x03(\x03Bs\xc2Hp\nn\n\x08int64.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x03Bf\xc2Hc\na\n\x0cint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x124\n\x07example\x18\t \x03(\x03B\x1a\xc2H\x17\n\x15\n\rint64.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xcb\x15\n\x0bUInt32Rules\x12\x8b\x01\n\x05const\x18\x01 \x01(\rBu\xc2Hr\np\n\x0cuint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x8f\x01\n\x02lt\x18\x02 \x01(\rB}\xc2Hz\nx\n\tuint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\rB\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\rB\x8d\x07\xc2H\x89\x07\n{\n\tuint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\rB\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x84\x01\n\x02in\x18\x06 \x03(\rBt\xc2Hq\no\n\tuint32.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\rBg\xc2Hd\nb\n\ruint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x125\n\x07example\x18\x08 \x03(\rB\x1b\xc2H\x18\n\x16\n\x0euint32.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xcb\x15\n\x0bUInt64Rules\x12\x8b\x01\n\x05const\x18\x01 \x01(\x04Bu\xc2Hr\np\n\x0cuint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x04B}\xc2Hz\nx\n\tuint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x04B\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x04B\x8d\x07\xc2H\x89\x07\n{\n\tuint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0cuint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16uint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\ruint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17uint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x04B\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\ruint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17uint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0euint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18uint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x84\x01\n\x02in\x18\x06 \x03(\x04Bt\xc2Hq\no\n\tuint64.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x04Bg\xc2Hd\nb\n\ruint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x125\n\x07example\x18\x08 \x03(\x04B\x1b\xc2H\x18\n\x16\n\x0euint64.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xcb\x15\n\x0bSInt32Rules\x12\x8b\x01\n\x05const\x18\x01 \x01(\x11Bu\xc2Hr\np\n\x0csint32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x11B}\xc2Hz\nx\n\tsint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x11B\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x11B\x8d\x07\xc2H\x89\x07\n{\n\tsint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x11B\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x84\x01\n\x02in\x18\x06 \x03(\x11Bt\xc2Hq\no\n\tsint32.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x11Bg\xc2Hd\nb\n\rsint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x125\n\x07example\x18\x08 \x03(\x11B\x1b\xc2H\x18\n\x16\n\x0esint32.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xcb\x15\n\x0bSInt64Rules\x12\x8b\x01\n\x05const\x18\x01 \x01(\x12Bu\xc2Hr\np\n\x0csint64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x12B}\xc2Hz\nx\n\tsint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa2\x01\n\x03lte\x18\x03 \x01(\x12B\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa0\x07\n\x02gt\x18\x04 \x01(\x12B\x8d\x07\xc2H\x89\x07\n{\n\tsint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb4\x01\n\x0csint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbc\x01\n\x16sint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc4\x01\n\rsint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcc\x01\n\x17sint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xed\x07\n\x03gte\x18\x05 \x01(\x12B\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc3\x01\n\rsint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcb\x01\n\x17sint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd3\x01\n\x0esint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdb\x01\n\x18sint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x84\x01\n\x02in\x18\x06 \x03(\x12Bt\xc2Hq\no\n\tsint64.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x12Bg\xc2Hd\nb\n\rsint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x125\n\x07example\x18\x08 \x03(\x12B\x1b\xc2H\x18\n\x16\n\x0esint64.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xdc\x15\n\x0cFixed32Rules\x12\x8c\x01\n\x05const\x18\x01 \x01(\x07Bv\xc2Hs\nq\n\rfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x90\x01\n\x02lt\x18\x02 \x01(\x07B~\xc2H{\ny\n\nfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x07B\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0bfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x07B\x92\x07\xc2H\x8e\x07\n|\n\nfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17fixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0efixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18fixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x07B\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0bfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0efixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18fixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0ffixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19fixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x85\x01\n\x02in\x18\x06 \x03(\x07Bu\xc2Hr\np\n\nfixed32.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x07Bh\xc2He\nc\n\x0efixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x126\n\x07example\x18\x08 \x03(\x07B\x1c\xc2H\x19\n\x17\n\x0ffixed32.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xdc\x15\n\x0cFixed64Rules\x12\x8c\x01\n\x05const\x18\x01 \x01(\x06Bv\xc2Hs\nq\n\rfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x90\x01\n\x02lt\x18\x02 \x01(\x06B~\xc2H{\ny\n\nfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa3\x01\n\x03lte\x18\x03 \x01(\x06B\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0bfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xa5\x07\n\x02gt\x18\x04 \x01(\x06B\x92\x07\xc2H\x8e\x07\n|\n\nfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb5\x01\n\rfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbd\x01\n\x17fixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc5\x01\n\x0efixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcd\x01\n\x18fixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf2\x07\n\x03gte\x18\x05 \x01(\x06B\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0bfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc4\x01\n\x0efixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcc\x01\n\x18fixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd4\x01\n\x0ffixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdc\x01\n\x19fixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x85\x01\n\x02in\x18\x06 \x03(\x06Bu\xc2Hr\np\n\nfixed64.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x06Bh\xc2He\nc\n\x0efixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x126\n\x07example\x18\x08 \x03(\x06B\x1c\xc2H\x19\n\x17\n\x0ffixed64.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xee\x15\n\rSFixed32Rules\x12\x8d\x01\n\x05const\x18\x01 \x01(\x0fBw\xc2Ht\nr\n\x0esfixed32.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x91\x01\n\x02lt\x18\x02 \x01(\x0fB\x7f\xc2H|\nz\n\x0bsfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x0fB\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x0fB\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x0fB\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x86\x01\n\x02in\x18\x06 \x03(\x0fBv\xc2Hs\nq\n\x0bsfixed32.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x0fBi\xc2Hf\nd\n\x0fsfixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x127\n\x07example\x18\x08 \x03(\x0fB\x1d\xc2H\x1a\n\x18\n\x10sfixed32.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xee\x15\n\rSFixed64Rules\x12\x8d\x01\n\x05const\x18\x01 \x01(\x10Bw\xc2Ht\nr\n\x0esfixed64.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x91\x01\n\x02lt\x18\x02 \x01(\x10B\x7f\xc2H|\nz\n\x0bsfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xa4\x01\n\x03lte\x18\x03 \x01(\x10B\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xaa\x07\n\x02gt\x18\x04 \x01(\x10B\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0esfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18sfixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fsfixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19sfixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\xf7\x07\n\x03gte\x18\x05 \x01(\x10B\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fsfixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19sfixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10sfixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1asfixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\x86\x01\n\x02in\x18\x06 \x03(\x10Bv\xc2Hs\nq\n\x0bsfixed64.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x10Bi\xc2Hf\nd\n\x0fsfixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x127\n\x07example\x18\x08 \x03(\x10B\x1d\xc2H\x1a\n\x18\n\x10sfixed64.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xd7\x01\n\tBoolRules\x12\x89\x01\n\x05const\x18\x01 \x01(\x08Bs\xc2Hp\nn\n\nbool.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x123\n\x07example\x18\x02 \x03(\x08B\x19\xc2H\x16\n\x14\n\x0cbool.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02"\xd19\n\x0bStringRules\x12\x8d\x01\n\x05const\x18\x01 \x01(\tBw\xc2Ht\nr\n\x0cstring.const\x1abthis != getField(rules, \'const\') ? \'value must equal `%s`\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\x83\x01\n\x03len\x18\x13 \x01(\x04Bq\xc2Hn\nl\n\nstring.len\x1a^uint(this.size()) != rules.len ? \'value length must be %s characters\'.format([rules.len]) : \'\'R\x03len\x12\xa1\x01\n\x07min_len\x18\x02 \x01(\x04B\x87\x01\xc2H\x83\x01\n\x80\x01\n\x0estring.min_len\x1anuint(this.size()) < rules.min_len ? \'value length must be at least %s characters\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x9f\x01\n\x07max_len\x18\x03 \x01(\x04B\x85\x01\xc2H\x81\x01\n\x7f\n\x0estring.max_len\x1amuint(this.size()) > rules.max_len ? \'value length must be at most %s characters\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\xa5\x01\n\tlen_bytes\x18\x14 \x01(\x04B\x87\x01\xc2H\x83\x01\n\x80\x01\n\x10string.len_bytes\x1aluint(bytes(this).size()) != rules.len_bytes ? \'value length must be %s bytes\'.format([rules.len_bytes]) : \'\'R\x08lenBytes\x12\xad\x01\n\tmin_bytes\x18\x04 \x01(\x04B\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x10string.min_bytes\x1atuint(bytes(this).size()) < rules.min_bytes ? \'value length must be at least %s bytes\'.format([rules.min_bytes]) : \'\'R\x08minBytes\x12\xac\x01\n\tmax_bytes\x18\x05 \x01(\x04B\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x10string.max_bytes\x1asuint(bytes(this).size()) > rules.max_bytes ? \'value length must be at most %s bytes\'.format([rules.max_bytes]) : \'\'R\x08maxBytes\x12\x96\x01\n\x07pattern\x18\x06 \x01(\tB|\xc2Hy\nw\n\x0estring.pattern\x1ae!this.matches(rules.pattern) ? \'value does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x8c\x01\n\x06prefix\x18\x07 \x01(\tBt\xc2Hq\no\n\rstring.prefix\x1a^!this.startsWith(rules.prefix) ? \'value does not have prefix `%s`\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x8a\x01\n\x06suffix\x18\x08 \x01(\tBr\xc2Ho\nm\n\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? \'value does not have suffix `%s`\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x9a\x01\n\x08contains\x18\t \x01(\tB~\xc2H{\ny\n\x0fstring.contains\x1af!this.contains(rules.contains) ? \'value does not contain substring `%s`\'.format([rules.contains]) : \'\'R\x08contains\x12\xa5\x01\n\x0cnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n|\n\x13string.not_contains\x1aethis.contains(rules.not_contains) ? \'value contains substring `%s`\'.format([rules.not_contains]) : \'\'R\x0bnotContains\x12\x84\x01\n\x02in\x18\n \x03(\tBt\xc2Hq\no\n\tstring.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12~\n\x06not_in\x18\x0b \x03(\tBg\xc2Hd\nb\n\rstring.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xe6\x01\n\x05email\x18\x0c \x01(\x08B\xcd\x01\xc2H\xc9\x01\na\n\x0cstring.email\x12#value must be a valid email address\x1a,!rules.email || this == \'\' || this.isEmail()\nd\n\x12string.email_empty\x122value is empty, which is not a valid email address\x1a\x1a!rules.email || this != \'\'H\x00R\x05email\x12\xf1\x01\n\x08hostname\x18\r \x01(\x08B\xd2\x01\xc2H\xce\x01\ne\n\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a2!rules.hostname || this == \'\' || this.isHostname()\ne\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != \'\'H\x00R\x08hostname\x12\xcb\x01\n\x02ip\x18\x0e \x01(\x08B\xb8\x01\xc2H\xb4\x01\nU\n\tstring.ip\x12 value must be a valid IP address\x1a&!rules.ip || this == \'\' || this.isIp()\n[\n\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x17!rules.ip || this != \'\'H\x00R\x02ip\x12\xdc\x01\n\x04ipv4\x18\x0f \x01(\x08B\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv4\x12"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\x11string.ipv4_empty\x121value is empty, which is not a valid IPv4 address\x1a\x19!rules.ipv4 || this != \'\'H\x00R\x04ipv4\x12\xdc\x01\n\x04ipv6\x18\x10 \x01(\x08B\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv6\x12"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\x11string.ipv6_empty\x121value is empty, which is not a valid IPv6 address\x1a\x19!rules.ipv6 || this != \'\'H\x00R\x04ipv6\x12\xc4\x01\n\x03uri\x18\x11 \x01(\x08B\xaf\x01\xc2H\xab\x01\nQ\n\nstring.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == \'\' || this.isUri()\nV\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != \'\'H\x00R\x03uri\x12x\n\x07uri_ref\x18\x12 \x01(\x08B]\xc2HZ\nX\n\x0estring.uri_ref\x12#value must be a valid URI Reference\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x99\x02\n\x07address\x18\x15 \x01(\x08B\xfc\x01\xc2H\xf8\x01\n\x81\x01\n\x0estring.address\x12-value must be a valid hostname, or ip address\x1a@!rules.address || this == \'\' || this.isHostname() || this.isIp()\nr\n\x14string.address_empty\x12!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\x92\x01\n string.ipv4_with_prefixlen_empty\x12Dvalue is empty, which is not a valid IPv4 address with prefix length\x1a(!rules.ipv4_with_prefixlen || this != \'\'H\x00R\x11ipv4WithPrefixlen\x12\xe2\x02\n\x13ipv6_with_prefixlen\x18\x1c \x01(\x08B\xaf\x02\xc2H\xab\x02\n\x93\x01\n\x1astring.ipv6_with_prefixlen\x125value must be a valid IPv6 address with prefix length\x1a>!rules.ipv6_with_prefixlen || this == \'\' || this.isIpPrefix(6)\n\x92\x01\n string.ipv6_with_prefixlen_empty\x12Dvalue is empty, which is not a valid IPv6 address with prefix length\x1a(!rules.ipv6_with_prefixlen || this != \'\'H\x00R\x11ipv6WithPrefixlen\x12\xfc\x01\n\tip_prefix\x18\x1d \x01(\x08B\xdc\x01\xc2H\xd8\x01\nl\n\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a7!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != \'\'H\x00R\x08ipPrefix\x12\x8f\x02\n\x0bipv4_prefix\x18\x1e \x01(\x08B\xeb\x01\xc2H\xe7\x01\nu\n\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\x1astring.host_and_port_empty\x127value is empty, which is not a valid host and port pair\x1a"!rules.host_and_port || this != \'\'H\x00R\x0bhostAndPort\x12\xb8\x05\n\x10well_known_regex\x18\x18 \x01(\x0e2\x18.buf.validate.KnownRegexB\xf1\x04\xc2H\xed\x04\n\xf0\x01\n#string.well_known_regex.header_name\x12&value must be a valid HTTP header name\x1a\xa0\x01rules.well_known_regex != 1 || this == \'\' || this.matches(!has(rules.strict) || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D]+$\')\n\x8d\x01\n)string.well_known_regex.header_name_empty\x125value is empty, which is not a valid HTTP header name\x1a)rules.well_known_regex != 1 || this != \'\'\n\xe7\x01\n$string.well_known_regex.header_value\x12\'value must be a valid HTTP header value\x1a\x95\x01rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$\')H\x00R\x0ewellKnownRegex\x12\x16\n\x06strict\x18\x19 \x01(\x08R\x06strict\x125\n\x07example\x18" \x03(\tB\x1b\xc2H\x18\n\x16\n\x0estring.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0c\n\nwell_known"\xce\x11\n\nBytesRules\x12\x87\x01\n\x05const\x18\x01 \x01(\x0cBq\xc2Hn\nl\n\x0bbytes.const\x1a]this != getField(rules, \'const\') ? \'value must be %x\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12}\n\x03len\x18\r \x01(\x04Bk\xc2Hh\nf\n\tbytes.len\x1aYuint(this.size()) != rules.len ? \'value length must be %s bytes\'.format([rules.len]) : \'\'R\x03len\x12\x98\x01\n\x07min_len\x18\x02 \x01(\x04B\x7f\xc2H|\nz\n\rbytes.min_len\x1aiuint(this.size()) < rules.min_len ? \'value length must be at least %s bytes\'.format([rules.min_len]) : \'\'R\x06minLen\x12\x90\x01\n\x07max_len\x18\x03 \x01(\x04Bw\xc2Ht\nr\n\rbytes.max_len\x1aauint(this.size()) > rules.max_len ? \'value must be at most %s bytes\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\x99\x01\n\x07pattern\x18\x04 \x01(\tB\x7f\xc2H|\nz\n\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? \'value must match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x89\x01\n\x06prefix\x18\x05 \x01(\x0cBq\xc2Hn\nl\n\x0cbytes.prefix\x1a\\!this.startsWith(rules.prefix) ? \'value does not have prefix %x\'.format([rules.prefix]) : \'\'R\x06prefix\x12\x87\x01\n\x06suffix\x18\x06 \x01(\x0cBo\xc2Hl\nj\n\x0cbytes.suffix\x1aZ!this.endsWith(rules.suffix) ? \'value does not have suffix %x\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x8d\x01\n\x08contains\x18\x07 \x01(\x0cBq\xc2Hn\nl\n\x0ebytes.contains\x1aZ!this.contains(rules.contains) ? \'value does not contain %x\'.format([rules.contains]) : \'\'R\x08contains\x12\xab\x01\n\x02in\x18\x08 \x03(\x0cB\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x08bytes.in\x1a\x86\x01getField(rules, \'in\').size() > 0 && !(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12}\n\x06not_in\x18\t \x03(\x0cBf\xc2Hc\na\n\x0cbytes.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\xef\x01\n\x02ip\x18\n \x01(\x08B\xdc\x01\xc2H\xd8\x01\nt\n\x08bytes.ip\x12 value must be a valid IP address\x1aF!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\x0ebytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x1d!rules.ip || this.size() != 0H\x00R\x02ip\x12\xea\x01\n\x04ipv4\x18\x0b \x01(\x08B\xd3\x01\xc2H\xcf\x01\ne\n\nbytes.ipv4\x12"value must be a valid IPv4 address\x1a3!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\x10bytes.ipv4_empty\x121value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xeb\x01\n\x04ipv6\x18\x0c \x01(\x08B\xd4\x01\xc2H\xd0\x01\nf\n\nbytes.ipv6\x12"value must be a valid IPv6 address\x1a4!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\x10bytes.ipv6_empty\x121value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x124\n\x07example\x18\x0e \x03(\x0cB\x1a\xc2H\x17\n\x15\n\rbytes.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0c\n\nwell_known"\xfd\x03\n\tEnumRules\x12\x89\x01\n\x05const\x18\x01 \x01(\x05Bs\xc2Hp\nn\n\nenum.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12!\n\x0cdefined_only\x18\x02 \x01(\x08R\x0bdefinedOnly\x12\x82\x01\n\x02in\x18\x03 \x03(\x05Br\xc2Ho\nm\n\x07enum.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12|\n\x06not_in\x18\x04 \x03(\x05Be\xc2Hb\n`\n\x0benum.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x123\n\x07example\x18\x05 \x03(\x05B\x19\xc2H\x16\n\x14\n\x0cenum.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02"\x9e\x04\n\rRepeatedRules\x12\xa8\x01\n\tmin_items\x18\x01 \x01(\x04B\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x12repeated.min_items\x1amuint(this.size()) < rules.min_items ? \'value must contain at least %d item(s)\'.format([rules.min_items]) : \'\'R\x08minItems\x12\xac\x01\n\tmax_items\x18\x02 \x01(\x04B\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x12repeated.max_items\x1aquint(this.size()) > rules.max_items ? \'value must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'R\x08maxItems\x12x\n\x06unique\x18\x03 \x01(\x08B`\xc2H]\n[\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12.\n\x05items\x18\x04 \x01(\x0b2\x18.buf.validate.FieldRulesR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02"\xac\x03\n\x08MapRules\x12\x99\x01\n\tmin_pairs\x18\x01 \x01(\x04B|\xc2Hy\nw\n\rmap.min_pairs\x1afuint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'R\x08minPairs\x12\x98\x01\n\tmax_pairs\x18\x02 \x01(\x04B{\xc2Hx\nv\n\rmap.max_pairs\x1aeuint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'R\x08maxPairs\x12,\n\x04keys\x18\x04 \x01(\x0b2\x18.buf.validate.FieldRulesR\x04keys\x120\n\x06values\x18\x05 \x01(\x0b2\x18.buf.validate.FieldRulesR\x06values*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02"1\n\x08AnyRules\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn"\xc6\x17\n\rDurationRules\x12\xa8\x01\n\x05const\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationBw\xc2Ht\nr\n\x0eduration.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\xac\x01\n\x02lt\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationB\x7f\xc2H|\nz\n\x0bduration.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xbf\x01\n\x03lte\x18\x04 \x01(\x0b2\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0cduration.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12\xc5\x07\n\x02gt\x18\x05 \x01(\x0b2\x19.google.protobuf.DurationB\x97\x07\xc2H\x93\x07\n}\n\x0bduration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0eduration.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbe\x01\n\x18duration.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc6\x01\n\x0fduration.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xce\x01\n\x19duration.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x92\x08\n\x03gte\x18\x06 \x01(\x0b2\x19.google.protobuf.DurationB\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0cduration.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc5\x01\n\x0fduration.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xcd\x01\n\x19duration.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd5\x01\n\x10duration.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xdd\x01\n\x1aduration.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12\xa1\x01\n\x02in\x18\x07 \x03(\x0b2\x19.google.protobuf.DurationBv\xc2Hs\nq\n\x0bduration.in\x1ab!(this in getField(rules, \'in\')) ? \'value must be in list %s\'.format([getField(rules, \'in\')]) : \'\'R\x02in\x12\x9b\x01\n\x06not_in\x18\x08 \x03(\x0b2\x19.google.protobuf.DurationBi\xc2Hf\nd\n\x0fduration.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12R\n\x07example\x18\t \x03(\x0b2\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n\x18\n\x10duration.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"\xca\x18\n\x0eTimestampRules\x12\xaa\x01\n\x05const\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampBx\xc2Hu\ns\n\x0ftimestamp.const\x1a`this != getField(rules, \'const\') ? \'value must equal %s\'.format([getField(rules, \'const\')]) : \'\'R\x05const\x12\xaf\x01\n\x02lt\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n{\n\x0ctimestamp.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'H\x00R\x02lt\x12\xc1\x01\n\x03lte\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB\x90\x01\xc2H\x8c\x01\n\x89\x01\n\rtimestamp.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'H\x00R\x03lte\x12s\n\x06lt_now\x18\x07 \x01(\x08BZ\xc2HW\nU\n\x10timestamp.lt_now\x1aA(rules.lt_now && this > now) ? \'value must be less than now\' : \'\'H\x00R\x05ltNow\x12\xcb\x07\n\x02gt\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x9c\x07\xc2H\x98\x07\n~\n\x0ctimestamp.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb7\x01\n\x0ftimestamp.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? \'value must be greater than %s and less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xbf\x01\n\x19timestamp.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? \'value must be greater than %s or less than %s\'.format([rules.gt, rules.lt]) : \'\'\n\xc7\x01\n\x10timestamp.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? \'value must be greater than %s and less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'\n\xcf\x01\n\x1atimestamp.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? \'value must be greater than %s or less than or equal to %s\'.format([rules.gt, rules.lte]) : \'\'H\x01R\x02gt\x12\x98\x08\n\x03gte\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\xe7\x07\xc2H\xe3\x07\n\x8c\x01\n\rtimestamp.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\xc6\x01\n\x10timestamp.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? \'value must be greater than or equal to %s and less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xce\x01\n\x1atimestamp.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? \'value must be greater than or equal to %s or less than %s\'.format([rules.gte, rules.lt]) : \'\'\n\xd6\x01\n\x11timestamp.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? \'value must be greater than or equal to %s and less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'\n\xde\x01\n\x1btimestamp.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? \'value must be greater than or equal to %s or less than or equal to %s\'.format([rules.gte, rules.lte]) : \'\'H\x01R\x03gte\x12v\n\x06gt_now\x18\x08 \x01(\x08B]\xc2HZ\nX\n\x10timestamp.gt_now\x1aD(rules.gt_now && this < now) ? \'value must be greater than now\' : \'\'H\x01R\x05gtNow\x12\xc0\x01\n\x06within\x18\t \x01(\x0b2\x19.google.protobuf.DurationB\x8c\x01\xc2H\x88\x01\n\x85\x01\n\x10timestamp.within\x1aqthis < now-rules.within || this > now+rules.within ? \'value must be within %s of now\'.format([rules.within]) : \'\'R\x06within\x12T\n\x07example\x18\n \x03(\x0b2\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n\x19\n\x11timestamp.example\x1a\x04trueR\x07example*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02B\x0b\n\tless_thanB\x0e\n\x0cgreater_than"E\n\nViolations\x127\n\nviolations\x18\x01 \x03(\x0b2\x17.buf.validate.ViolationR\nviolations"\xc5\x01\n\tViolation\x12-\n\x05field\x18\x05 \x01(\x0b2\x17.buf.validate.FieldPathR\x05field\x12+\n\x04rule\x18\x06 \x01(\x0b2\x17.buf.validate.FieldPathR\x04rule\x12\x17\n\x07rule_id\x18\x02 \x01(\tR\x06ruleId\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x17\n\x07for_key\x18\x04 \x01(\x08R\x06forKeyJ\x04\x08\x01\x10\x02R\nfield_path"G\n\tFieldPath\x12:\n\x08elements\x18\x01 \x03(\x0b2\x1e.buf.validate.FieldPathElementR\x08elements"\xcc\x03\n\x10FieldPathElement\x12!\n\x0cfield_number\x18\x01 \x01(\x05R\x0bfieldNumber\x12\x1d\n\nfield_name\x18\x02 \x01(\tR\tfieldName\x12I\n\nfield_type\x18\x03 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\tfieldType\x12E\n\x08key_type\x18\x04 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\x07keyType\x12I\n\nvalue_type\x18\x05 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\tvalueType\x12\x16\n\x05index\x18\x06 \x01(\x04H\x00R\x05index\x12\x1b\n\x08bool_key\x18\x07 \x01(\x08H\x00R\x07boolKey\x12\x19\n\x07int_key\x18\x08 \x01(\x03H\x00R\x06intKey\x12\x1b\n\x08uint_key\x18\t \x01(\x04H\x00R\x07uintKey\x12\x1f\n\nstring_key\x18\n \x01(\tH\x00R\tstringKeyB\x0b\n\tsubscript*\xa1\x01\n\x06Ignore\x12\x16\n\x12IGNORE_UNSPECIFIED\x10\x00\x12\x18\n\x14IGNORE_IF_ZERO_VALUE\x10\x01\x12\x11\n\rIGNORE_ALWAYS\x10\x03"\x04\x08\x02\x10\x02*\x0cIGNORE_EMPTY*\x0eIGNORE_DEFAULT*\x17IGNORE_IF_DEFAULT_VALUE*\x15IGNORE_IF_UNPOPULATED*n\n\nKnownRegex\x12\x1b\n\x17KNOWN_REGEX_UNSPECIFIED\x10\x00\x12 \n\x1cKNOWN_REGEX_HTTP_HEADER_NAME\x10\x01\x12!\n\x1dKNOWN_REGEX_HTTP_HEADER_VALUE\x10\x02:V\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b2\x1a.buf.validate.MessageRulesR\x07message:N\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b2\x18.buf.validate.OneofRulesR\x05oneof:N\n\x05field\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b2\x18.buf.validate.FieldRulesR\x05field:]\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b2\x1d.buf.validate.PredefinedRulesR\npredefinedBn\n\x12build.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.validate_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x12build.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate' + _globals['_FLOATRULES'].fields_by_name['const']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['const']._serialized_options = b"\xc2Hq\no\n\x0bfloat.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_FLOATRULES'].fields_by_name['lt']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['lt']._serialized_options = b"\xc2H\x8c\x01\n\x89\x01\n\x08float.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_FLOATRULES'].fields_by_name['lte']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x9b\x01\n\x98\x01\n\tfloat.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_FLOATRULES'].fields_by_name['gt']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['gt']._serialized_options = b"\xc2H\xdc\x07\n\x8d\x01\n\x08float.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''\n\xc3\x01\n\x0bfloat.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xcd\x01\n\x15float.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xd3\x01\n\x0cfloat.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xdd\x01\n\x16float.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_FLOATRULES'].fields_by_name['gte']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xa6\x08\n\x9b\x01\n\tfloat.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xd2\x01\n\x0cfloat.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xdc\x01\n\x16float.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xe2\x01\n\rfloat.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xec\x01\n\x17float.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_FLOATRULES'].fields_by_name['in']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['in']._serialized_options = b"\xc2Hp\nn\n\x08float.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_FLOATRULES'].fields_by_name['not_in']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hc\na\n\x0cfloat.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_FLOATRULES'].fields_by_name['finite']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['finite']._serialized_options = b"\xc2Hb\n`\n\x0cfloat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''" + _globals['_FLOATRULES'].fields_by_name['example']._loaded_options = None + _globals['_FLOATRULES'].fields_by_name['example']._serialized_options = b'\xc2H\x17\n\x15\n\rfloat.example\x1a\x04true' + _globals['_DOUBLERULES'].fields_by_name['const']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['const']._serialized_options = b"\xc2Hr\np\n\x0cdouble.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_DOUBLERULES'].fields_by_name['lt']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['lt']._serialized_options = b"\xc2H\x8d\x01\n\x8a\x01\n\tdouble.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_DOUBLERULES'].fields_by_name['lte']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x9c\x01\n\x99\x01\n\ndouble.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_DOUBLERULES'].fields_by_name['gt']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['gt']._serialized_options = b"\xc2H\xe1\x07\n\x8e\x01\n\tdouble.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''\n\xc4\x01\n\x0cdouble.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xce\x01\n\x16double.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xd4\x01\n\rdouble.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xde\x01\n\x17double.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_DOUBLERULES'].fields_by_name['gte']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xab\x08\n\x9c\x01\n\ndouble.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xd3\x01\n\rdouble.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xdd\x01\n\x17double.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xe3\x01\n\x0edouble.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xed\x01\n\x18double.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_DOUBLERULES'].fields_by_name['in']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['in']._serialized_options = b"\xc2Hq\no\n\tdouble.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_DOUBLERULES'].fields_by_name['not_in']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hd\nb\n\rdouble.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_DOUBLERULES'].fields_by_name['finite']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['finite']._serialized_options = b"\xc2Hc\na\n\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''" + _globals['_DOUBLERULES'].fields_by_name['example']._loaded_options = None + _globals['_DOUBLERULES'].fields_by_name['example']._serialized_options = b'\xc2H\x18\n\x16\n\x0edouble.example\x1a\x04true' + _globals['_INT32RULES'].fields_by_name['const']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['const']._serialized_options = b"\xc2Hq\no\n\x0bint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_INT32RULES'].fields_by_name['lt']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['lt']._serialized_options = b"\xc2Hy\nw\n\x08int32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_INT32RULES'].fields_by_name['lte']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x88\x01\n\x85\x01\n\tint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_INT32RULES'].fields_by_name['gt']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x84\x07\nz\n\x08int32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb3\x01\n\x0bint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbb\x01\n\x15int32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc3\x01\n\x0cint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcb\x01\n\x16int32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_INT32RULES'].fields_by_name['gte']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xcf\x07\n\x88\x01\n\tint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc2\x01\n\x0cint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xca\x01\n\x16int32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd2\x01\n\rint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xda\x01\n\x17int32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_INT32RULES'].fields_by_name['in']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['in']._serialized_options = b"\xc2Hp\nn\n\x08int32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_INT32RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hc\na\n\x0cint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_INT32RULES'].fields_by_name['example']._loaded_options = None + _globals['_INT32RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x17\n\x15\n\rint32.example\x1a\x04true' + _globals['_INT64RULES'].fields_by_name['const']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['const']._serialized_options = b"\xc2Hq\no\n\x0bint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_INT64RULES'].fields_by_name['lt']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['lt']._serialized_options = b"\xc2Hy\nw\n\x08int64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_INT64RULES'].fields_by_name['lte']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x88\x01\n\x85\x01\n\tint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_INT64RULES'].fields_by_name['gt']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x84\x07\nz\n\x08int64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb3\x01\n\x0bint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbb\x01\n\x15int64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc3\x01\n\x0cint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcb\x01\n\x16int64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_INT64RULES'].fields_by_name['gte']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xcf\x07\n\x88\x01\n\tint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc2\x01\n\x0cint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xca\x01\n\x16int64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd2\x01\n\rint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xda\x01\n\x17int64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_INT64RULES'].fields_by_name['in']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['in']._serialized_options = b"\xc2Hp\nn\n\x08int64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_INT64RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hc\na\n\x0cint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_INT64RULES'].fields_by_name['example']._loaded_options = None + _globals['_INT64RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x17\n\x15\n\rint64.example\x1a\x04true' + _globals['_UINT32RULES'].fields_by_name['const']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['const']._serialized_options = b"\xc2Hr\np\n\x0cuint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_UINT32RULES'].fields_by_name['lt']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['lt']._serialized_options = b"\xc2Hz\nx\n\tuint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_UINT32RULES'].fields_by_name['lte']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x89\x01\n\x86\x01\n\nuint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_UINT32RULES'].fields_by_name['gt']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x89\x07\n{\n\tuint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb4\x01\n\x0cuint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbc\x01\n\x16uint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc4\x01\n\ruint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcc\x01\n\x17uint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_UINT32RULES'].fields_by_name['gte']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xd4\x07\n\x89\x01\n\nuint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc3\x01\n\ruint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcb\x01\n\x17uint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd3\x01\n\x0euint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdb\x01\n\x18uint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_UINT32RULES'].fields_by_name['in']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['in']._serialized_options = b"\xc2Hq\no\n\tuint32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_UINT32RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hd\nb\n\ruint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_UINT32RULES'].fields_by_name['example']._loaded_options = None + _globals['_UINT32RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x18\n\x16\n\x0euint32.example\x1a\x04true' + _globals['_UINT64RULES'].fields_by_name['const']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['const']._serialized_options = b"\xc2Hr\np\n\x0cuint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_UINT64RULES'].fields_by_name['lt']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['lt']._serialized_options = b"\xc2Hz\nx\n\tuint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_UINT64RULES'].fields_by_name['lte']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x89\x01\n\x86\x01\n\nuint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_UINT64RULES'].fields_by_name['gt']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x89\x07\n{\n\tuint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb4\x01\n\x0cuint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbc\x01\n\x16uint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc4\x01\n\ruint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcc\x01\n\x17uint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_UINT64RULES'].fields_by_name['gte']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xd4\x07\n\x89\x01\n\nuint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc3\x01\n\ruint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcb\x01\n\x17uint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd3\x01\n\x0euint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdb\x01\n\x18uint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_UINT64RULES'].fields_by_name['in']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['in']._serialized_options = b"\xc2Hq\no\n\tuint64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_UINT64RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hd\nb\n\ruint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_UINT64RULES'].fields_by_name['example']._loaded_options = None + _globals['_UINT64RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x18\n\x16\n\x0euint64.example\x1a\x04true' + _globals['_SINT32RULES'].fields_by_name['const']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['const']._serialized_options = b"\xc2Hr\np\n\x0csint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_SINT32RULES'].fields_by_name['lt']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['lt']._serialized_options = b"\xc2Hz\nx\n\tsint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_SINT32RULES'].fields_by_name['lte']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x89\x01\n\x86\x01\n\nsint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_SINT32RULES'].fields_by_name['gt']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x89\x07\n{\n\tsint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb4\x01\n\x0csint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbc\x01\n\x16sint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc4\x01\n\rsint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcc\x01\n\x17sint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_SINT32RULES'].fields_by_name['gte']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xd4\x07\n\x89\x01\n\nsint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc3\x01\n\rsint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcb\x01\n\x17sint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd3\x01\n\x0esint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdb\x01\n\x18sint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_SINT32RULES'].fields_by_name['in']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['in']._serialized_options = b"\xc2Hq\no\n\tsint32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_SINT32RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hd\nb\n\rsint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_SINT32RULES'].fields_by_name['example']._loaded_options = None + _globals['_SINT32RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x18\n\x16\n\x0esint32.example\x1a\x04true' + _globals['_SINT64RULES'].fields_by_name['const']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['const']._serialized_options = b"\xc2Hr\np\n\x0csint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_SINT64RULES'].fields_by_name['lt']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['lt']._serialized_options = b"\xc2Hz\nx\n\tsint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_SINT64RULES'].fields_by_name['lte']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x89\x01\n\x86\x01\n\nsint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_SINT64RULES'].fields_by_name['gt']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x89\x07\n{\n\tsint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb4\x01\n\x0csint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbc\x01\n\x16sint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc4\x01\n\rsint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcc\x01\n\x17sint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_SINT64RULES'].fields_by_name['gte']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xd4\x07\n\x89\x01\n\nsint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc3\x01\n\rsint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcb\x01\n\x17sint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd3\x01\n\x0esint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdb\x01\n\x18sint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_SINT64RULES'].fields_by_name['in']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['in']._serialized_options = b"\xc2Hq\no\n\tsint64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_SINT64RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hd\nb\n\rsint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_SINT64RULES'].fields_by_name['example']._loaded_options = None + _globals['_SINT64RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x18\n\x16\n\x0esint64.example\x1a\x04true' + _globals['_FIXED32RULES'].fields_by_name['const']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['const']._serialized_options = b"\xc2Hs\nq\n\rfixed32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_FIXED32RULES'].fields_by_name['lt']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['lt']._serialized_options = b"\xc2H{\ny\n\nfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_FIXED32RULES'].fields_by_name['lte']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x8a\x01\n\x87\x01\n\x0bfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_FIXED32RULES'].fields_by_name['gt']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x8e\x07\n|\n\nfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb5\x01\n\rfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbd\x01\n\x17fixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc5\x01\n\x0efixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcd\x01\n\x18fixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_FIXED32RULES'].fields_by_name['gte']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xd9\x07\n\x8a\x01\n\x0bfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc4\x01\n\x0efixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcc\x01\n\x18fixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd4\x01\n\x0ffixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdc\x01\n\x19fixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_FIXED32RULES'].fields_by_name['in']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['in']._serialized_options = b"\xc2Hr\np\n\nfixed32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_FIXED32RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['not_in']._serialized_options = b"\xc2He\nc\n\x0efixed32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_FIXED32RULES'].fields_by_name['example']._loaded_options = None + _globals['_FIXED32RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x19\n\x17\n\x0ffixed32.example\x1a\x04true' + _globals['_FIXED64RULES'].fields_by_name['const']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['const']._serialized_options = b"\xc2Hs\nq\n\rfixed64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_FIXED64RULES'].fields_by_name['lt']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['lt']._serialized_options = b"\xc2H{\ny\n\nfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_FIXED64RULES'].fields_by_name['lte']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x8a\x01\n\x87\x01\n\x0bfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_FIXED64RULES'].fields_by_name['gt']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x8e\x07\n|\n\nfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb5\x01\n\rfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbd\x01\n\x17fixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc5\x01\n\x0efixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcd\x01\n\x18fixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_FIXED64RULES'].fields_by_name['gte']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xd9\x07\n\x8a\x01\n\x0bfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc4\x01\n\x0efixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcc\x01\n\x18fixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd4\x01\n\x0ffixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdc\x01\n\x19fixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_FIXED64RULES'].fields_by_name['in']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['in']._serialized_options = b"\xc2Hr\np\n\nfixed64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_FIXED64RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['not_in']._serialized_options = b"\xc2He\nc\n\x0efixed64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_FIXED64RULES'].fields_by_name['example']._loaded_options = None + _globals['_FIXED64RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x19\n\x17\n\x0ffixed64.example\x1a\x04true' + _globals['_SFIXED32RULES'].fields_by_name['const']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['const']._serialized_options = b"\xc2Ht\nr\n\x0esfixed32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_SFIXED32RULES'].fields_by_name['lt']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['lt']._serialized_options = b"\xc2H|\nz\n\x0bsfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_SFIXED32RULES'].fields_by_name['lte']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x8b\x01\n\x88\x01\n\x0csfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_SFIXED32RULES'].fields_by_name['gt']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x93\x07\n}\n\x0bsfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb6\x01\n\x0esfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbe\x01\n\x18sfixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc6\x01\n\x0fsfixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xce\x01\n\x19sfixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_SFIXED32RULES'].fields_by_name['gte']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xde\x07\n\x8b\x01\n\x0csfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc5\x01\n\x0fsfixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcd\x01\n\x19sfixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd5\x01\n\x10sfixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdd\x01\n\x1asfixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_SFIXED32RULES'].fields_by_name['in']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['in']._serialized_options = b"\xc2Hs\nq\n\x0bsfixed32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_SFIXED32RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hf\nd\n\x0fsfixed32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_SFIXED32RULES'].fields_by_name['example']._loaded_options = None + _globals['_SFIXED32RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x1a\n\x18\n\x10sfixed32.example\x1a\x04true' + _globals['_SFIXED64RULES'].fields_by_name['const']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['const']._serialized_options = b"\xc2Ht\nr\n\x0esfixed64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_SFIXED64RULES'].fields_by_name['lt']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['lt']._serialized_options = b"\xc2H|\nz\n\x0bsfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_SFIXED64RULES'].fields_by_name['lte']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x8b\x01\n\x88\x01\n\x0csfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_SFIXED64RULES'].fields_by_name['gt']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x93\x07\n}\n\x0bsfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb6\x01\n\x0esfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbe\x01\n\x18sfixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc6\x01\n\x0fsfixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xce\x01\n\x19sfixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_SFIXED64RULES'].fields_by_name['gte']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xde\x07\n\x8b\x01\n\x0csfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc5\x01\n\x0fsfixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcd\x01\n\x19sfixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd5\x01\n\x10sfixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdd\x01\n\x1asfixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_SFIXED64RULES'].fields_by_name['in']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['in']._serialized_options = b"\xc2Hs\nq\n\x0bsfixed64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_SFIXED64RULES'].fields_by_name['not_in']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hf\nd\n\x0fsfixed64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_SFIXED64RULES'].fields_by_name['example']._loaded_options = None + _globals['_SFIXED64RULES'].fields_by_name['example']._serialized_options = b'\xc2H\x1a\n\x18\n\x10sfixed64.example\x1a\x04true' + _globals['_BOOLRULES'].fields_by_name['const']._loaded_options = None + _globals['_BOOLRULES'].fields_by_name['const']._serialized_options = b"\xc2Hp\nn\n\nbool.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_BOOLRULES'].fields_by_name['example']._loaded_options = None + _globals['_BOOLRULES'].fields_by_name['example']._serialized_options = b'\xc2H\x16\n\x14\n\x0cbool.example\x1a\x04true' + _globals['_STRINGRULES'].fields_by_name['const']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['const']._serialized_options = b"\xc2Ht\nr\n\x0cstring.const\x1abthis != getField(rules, 'const') ? 'value must equal `%s`'.format([getField(rules, 'const')]) : ''" + _globals['_STRINGRULES'].fields_by_name['len']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['len']._serialized_options = b"\xc2Hn\nl\n\nstring.len\x1a^uint(this.size()) != rules.len ? 'value length must be %s characters'.format([rules.len]) : ''" + _globals['_STRINGRULES'].fields_by_name['min_len']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['min_len']._serialized_options = b"\xc2H\x83\x01\n\x80\x01\n\x0estring.min_len\x1anuint(this.size()) < rules.min_len ? 'value length must be at least %s characters'.format([rules.min_len]) : ''" + _globals['_STRINGRULES'].fields_by_name['max_len']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['max_len']._serialized_options = b"\xc2H\x81\x01\n\x7f\n\x0estring.max_len\x1amuint(this.size()) > rules.max_len ? 'value length must be at most %s characters'.format([rules.max_len]) : ''" + _globals['_STRINGRULES'].fields_by_name['len_bytes']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['len_bytes']._serialized_options = b"\xc2H\x83\x01\n\x80\x01\n\x10string.len_bytes\x1aluint(bytes(this).size()) != rules.len_bytes ? 'value length must be %s bytes'.format([rules.len_bytes]) : ''" + _globals['_STRINGRULES'].fields_by_name['min_bytes']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['min_bytes']._serialized_options = b"\xc2H\x8b\x01\n\x88\x01\n\x10string.min_bytes\x1atuint(bytes(this).size()) < rules.min_bytes ? 'value length must be at least %s bytes'.format([rules.min_bytes]) : ''" + _globals['_STRINGRULES'].fields_by_name['max_bytes']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['max_bytes']._serialized_options = b"\xc2H\x8a\x01\n\x87\x01\n\x10string.max_bytes\x1asuint(bytes(this).size()) > rules.max_bytes ? 'value length must be at most %s bytes'.format([rules.max_bytes]) : ''" + _globals['_STRINGRULES'].fields_by_name['pattern']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['pattern']._serialized_options = b"\xc2Hy\nw\n\x0estring.pattern\x1ae!this.matches(rules.pattern) ? 'value does not match regex pattern `%s`'.format([rules.pattern]) : ''" + _globals['_STRINGRULES'].fields_by_name['prefix']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['prefix']._serialized_options = b"\xc2Hq\no\n\rstring.prefix\x1a^!this.startsWith(rules.prefix) ? 'value does not have prefix `%s`'.format([rules.prefix]) : ''" + _globals['_STRINGRULES'].fields_by_name['suffix']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['suffix']._serialized_options = b"\xc2Ho\nm\n\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? 'value does not have suffix `%s`'.format([rules.suffix]) : ''" + _globals['_STRINGRULES'].fields_by_name['contains']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['contains']._serialized_options = b"\xc2H{\ny\n\x0fstring.contains\x1af!this.contains(rules.contains) ? 'value does not contain substring `%s`'.format([rules.contains]) : ''" + _globals['_STRINGRULES'].fields_by_name['not_contains']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['not_contains']._serialized_options = b"\xc2H~\n|\n\x13string.not_contains\x1aethis.contains(rules.not_contains) ? 'value contains substring `%s`'.format([rules.not_contains]) : ''" + _globals['_STRINGRULES'].fields_by_name['in']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['in']._serialized_options = b"\xc2Hq\no\n\tstring.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_STRINGRULES'].fields_by_name['not_in']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hd\nb\n\rstring.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_STRINGRULES'].fields_by_name['email']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['email']._serialized_options = b"\xc2H\xc9\x01\na\n\x0cstring.email\x12#value must be a valid email address\x1a,!rules.email || this == '' || this.isEmail()\nd\n\x12string.email_empty\x122value is empty, which is not a valid email address\x1a\x1a!rules.email || this != ''" + _globals['_STRINGRULES'].fields_by_name['hostname']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['hostname']._serialized_options = b"\xc2H\xce\x01\ne\n\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a2!rules.hostname || this == '' || this.isHostname()\ne\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != ''" + _globals['_STRINGRULES'].fields_by_name['ip']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['ip']._serialized_options = b"\xc2H\xb4\x01\nU\n\tstring.ip\x12 value must be a valid IP address\x1a&!rules.ip || this == '' || this.isIp()\n[\n\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x17!rules.ip || this != ''" + _globals['_STRINGRULES'].fields_by_name['ipv4']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['ipv4']._serialized_options = b'\xc2H\xc1\x01\n\\\n\x0bstring.ipv4\x12"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\x11string.ipv4_empty\x121value is empty, which is not a valid IPv4 address\x1a\x19!rules.ipv4 || this != \'\'' + _globals['_STRINGRULES'].fields_by_name['ipv6']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['ipv6']._serialized_options = b'\xc2H\xc1\x01\n\\\n\x0bstring.ipv6\x12"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\x11string.ipv6_empty\x121value is empty, which is not a valid IPv6 address\x1a\x19!rules.ipv6 || this != \'\'' + _globals['_STRINGRULES'].fields_by_name['uri']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['uri']._serialized_options = b"\xc2H\xab\x01\nQ\n\nstring.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == '' || this.isUri()\nV\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != ''" + _globals['_STRINGRULES'].fields_by_name['uri_ref']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['uri_ref']._serialized_options = b'\xc2HZ\nX\n\x0estring.uri_ref\x12#value must be a valid URI Reference\x1a!!rules.uri_ref || this.isUriRef()' + _globals['_STRINGRULES'].fields_by_name['address']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['address']._serialized_options = b"\xc2H\xf8\x01\n\x81\x01\n\x0estring.address\x12-value must be a valid hostname, or ip address\x1a@!rules.address || this == '' || this.isHostname() || this.isIp()\nr\n\x14string.address_empty\x12!rules.ipv4_with_prefixlen || this == '' || this.isIpPrefix(4)\n\x92\x01\n string.ipv4_with_prefixlen_empty\x12Dvalue is empty, which is not a valid IPv4 address with prefix length\x1a(!rules.ipv4_with_prefixlen || this != ''" + _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._serialized_options = b"\xc2H\xab\x02\n\x93\x01\n\x1astring.ipv6_with_prefixlen\x125value must be a valid IPv6 address with prefix length\x1a>!rules.ipv6_with_prefixlen || this == '' || this.isIpPrefix(6)\n\x92\x01\n string.ipv6_with_prefixlen_empty\x12Dvalue is empty, which is not a valid IPv6 address with prefix length\x1a(!rules.ipv6_with_prefixlen || this != ''" + _globals['_STRINGRULES'].fields_by_name['ip_prefix']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['ip_prefix']._serialized_options = b"\xc2H\xd8\x01\nl\n\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a7!rules.ip_prefix || this == '' || this.isIpPrefix(true)\nh\n\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != ''" + _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._serialized_options = b"\xc2H\xe7\x01\nu\n\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\x1astring.host_and_port_empty\x127value is empty, which is not a valid host and port pair\x1a"!rules.host_and_port || this != \'\'' + _globals['_STRINGRULES'].fields_by_name['well_known_regex']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['well_known_regex']._serialized_options = b"\xc2H\xed\x04\n\xf0\x01\n#string.well_known_regex.header_name\x12&value must be a valid HTTP header name\x1a\xa0\x01rules.well_known_regex != 1 || this == '' || this.matches(!has(rules.strict) || rules.strict ?'^:?[0-9a-zA-Z!#$%&\\'*+-.^_|~\\x60]+$' :'^[^\\u0000\\u000A\\u000D]+$')\n\x8d\x01\n)string.well_known_regex.header_name_empty\x125value is empty, which is not a valid HTTP header name\x1a)rules.well_known_regex != 1 || this != ''\n\xe7\x01\n$string.well_known_regex.header_value\x12'value must be a valid HTTP header value\x1a\x95\x01rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$' :'^[^\\u0000\\u000A\\u000D]*$')" + _globals['_STRINGRULES'].fields_by_name['example']._loaded_options = None + _globals['_STRINGRULES'].fields_by_name['example']._serialized_options = b'\xc2H\x18\n\x16\n\x0estring.example\x1a\x04true' + _globals['_BYTESRULES'].fields_by_name['const']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['const']._serialized_options = b"\xc2Hn\nl\n\x0bbytes.const\x1a]this != getField(rules, 'const') ? 'value must be %x'.format([getField(rules, 'const')]) : ''" + _globals['_BYTESRULES'].fields_by_name['len']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['len']._serialized_options = b"\xc2Hh\nf\n\tbytes.len\x1aYuint(this.size()) != rules.len ? 'value length must be %s bytes'.format([rules.len]) : ''" + _globals['_BYTESRULES'].fields_by_name['min_len']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['min_len']._serialized_options = b"\xc2H|\nz\n\rbytes.min_len\x1aiuint(this.size()) < rules.min_len ? 'value length must be at least %s bytes'.format([rules.min_len]) : ''" + _globals['_BYTESRULES'].fields_by_name['max_len']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['max_len']._serialized_options = b"\xc2Ht\nr\n\rbytes.max_len\x1aauint(this.size()) > rules.max_len ? 'value must be at most %s bytes'.format([rules.max_len]) : ''" + _globals['_BYTESRULES'].fields_by_name['pattern']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['pattern']._serialized_options = b"\xc2H|\nz\n\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? 'value must match regex pattern `%s`'.format([rules.pattern]) : ''" + _globals['_BYTESRULES'].fields_by_name['prefix']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['prefix']._serialized_options = b"\xc2Hn\nl\n\x0cbytes.prefix\x1a\\!this.startsWith(rules.prefix) ? 'value does not have prefix %x'.format([rules.prefix]) : ''" + _globals['_BYTESRULES'].fields_by_name['suffix']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['suffix']._serialized_options = b"\xc2Hl\nj\n\x0cbytes.suffix\x1aZ!this.endsWith(rules.suffix) ? 'value does not have suffix %x'.format([rules.suffix]) : ''" + _globals['_BYTESRULES'].fields_by_name['contains']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['contains']._serialized_options = b"\xc2Hn\nl\n\x0ebytes.contains\x1aZ!this.contains(rules.contains) ? 'value does not contain %x'.format([rules.contains]) : ''" + _globals['_BYTESRULES'].fields_by_name['in']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['in']._serialized_options = b"\xc2H\x96\x01\n\x93\x01\n\x08bytes.in\x1a\x86\x01getField(rules, 'in').size() > 0 && !(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_BYTESRULES'].fields_by_name['not_in']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hc\na\n\x0cbytes.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_BYTESRULES'].fields_by_name['ip']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['ip']._serialized_options = b'\xc2H\xd8\x01\nt\n\x08bytes.ip\x12 value must be a valid IP address\x1aF!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\x0ebytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x1d!rules.ip || this.size() != 0' + _globals['_BYTESRULES'].fields_by_name['ipv4']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['ipv4']._serialized_options = b'\xc2H\xcf\x01\ne\n\nbytes.ipv4\x12"value must be a valid IPv4 address\x1a3!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\x10bytes.ipv4_empty\x121value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0' + _globals['_BYTESRULES'].fields_by_name['ipv6']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['ipv6']._serialized_options = b'\xc2H\xd0\x01\nf\n\nbytes.ipv6\x12"value must be a valid IPv6 address\x1a4!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\x10bytes.ipv6_empty\x121value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0' + _globals['_BYTESRULES'].fields_by_name['example']._loaded_options = None + _globals['_BYTESRULES'].fields_by_name['example']._serialized_options = b'\xc2H\x17\n\x15\n\rbytes.example\x1a\x04true' + _globals['_ENUMRULES'].fields_by_name['const']._loaded_options = None + _globals['_ENUMRULES'].fields_by_name['const']._serialized_options = b"\xc2Hp\nn\n\nenum.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_ENUMRULES'].fields_by_name['in']._loaded_options = None + _globals['_ENUMRULES'].fields_by_name['in']._serialized_options = b"\xc2Ho\nm\n\x07enum.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_ENUMRULES'].fields_by_name['not_in']._loaded_options = None + _globals['_ENUMRULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hb\n`\n\x0benum.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_ENUMRULES'].fields_by_name['example']._loaded_options = None + _globals['_ENUMRULES'].fields_by_name['example']._serialized_options = b'\xc2H\x16\n\x14\n\x0cenum.example\x1a\x04true' + _globals['_REPEATEDRULES'].fields_by_name['min_items']._loaded_options = None + _globals['_REPEATEDRULES'].fields_by_name['min_items']._serialized_options = b"\xc2H\x86\x01\n\x83\x01\n\x12repeated.min_items\x1amuint(this.size()) < rules.min_items ? 'value must contain at least %d item(s)'.format([rules.min_items]) : ''" + _globals['_REPEATEDRULES'].fields_by_name['max_items']._loaded_options = None + _globals['_REPEATEDRULES'].fields_by_name['max_items']._serialized_options = b"\xc2H\x8a\x01\n\x87\x01\n\x12repeated.max_items\x1aquint(this.size()) > rules.max_items ? 'value must contain no more than %s item(s)'.format([rules.max_items]) : ''" + _globals['_REPEATEDRULES'].fields_by_name['unique']._loaded_options = None + _globals['_REPEATEDRULES'].fields_by_name['unique']._serialized_options = b'\xc2H]\n[\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()' + _globals['_MAPRULES'].fields_by_name['min_pairs']._loaded_options = None + _globals['_MAPRULES'].fields_by_name['min_pairs']._serialized_options = b"\xc2Hy\nw\n\rmap.min_pairs\x1afuint(this.size()) < rules.min_pairs ? 'map must be at least %d entries'.format([rules.min_pairs]) : ''" + _globals['_MAPRULES'].fields_by_name['max_pairs']._loaded_options = None + _globals['_MAPRULES'].fields_by_name['max_pairs']._serialized_options = b"\xc2Hx\nv\n\rmap.max_pairs\x1aeuint(this.size()) > rules.max_pairs ? 'map must be at most %d entries'.format([rules.max_pairs]) : ''" + _globals['_DURATIONRULES'].fields_by_name['const']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['const']._serialized_options = b"\xc2Ht\nr\n\x0eduration.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_DURATIONRULES'].fields_by_name['lt']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['lt']._serialized_options = b"\xc2H|\nz\n\x0bduration.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_DURATIONRULES'].fields_by_name['lte']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x8b\x01\n\x88\x01\n\x0cduration.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_DURATIONRULES'].fields_by_name['gt']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x93\x07\n}\n\x0bduration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb6\x01\n\x0eduration.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbe\x01\n\x18duration.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc6\x01\n\x0fduration.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xce\x01\n\x19duration.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_DURATIONRULES'].fields_by_name['gte']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xde\x07\n\x8b\x01\n\x0cduration.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc5\x01\n\x0fduration.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xcd\x01\n\x19duration.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd5\x01\n\x10duration.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xdd\x01\n\x1aduration.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_DURATIONRULES'].fields_by_name['in']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['in']._serialized_options = b"\xc2Hs\nq\n\x0bduration.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''" + _globals['_DURATIONRULES'].fields_by_name['not_in']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['not_in']._serialized_options = b"\xc2Hf\nd\n\x0fduration.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''" + _globals['_DURATIONRULES'].fields_by_name['example']._loaded_options = None + _globals['_DURATIONRULES'].fields_by_name['example']._serialized_options = b'\xc2H\x1a\n\x18\n\x10duration.example\x1a\x04true' + _globals['_TIMESTAMPRULES'].fields_by_name['const']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['const']._serialized_options = b"\xc2Hu\ns\n\x0ftimestamp.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''" + _globals['_TIMESTAMPRULES'].fields_by_name['lt']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['lt']._serialized_options = b"\xc2H}\n{\n\x0ctimestamp.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''" + _globals['_TIMESTAMPRULES'].fields_by_name['lte']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['lte']._serialized_options = b"\xc2H\x8c\x01\n\x89\x01\n\rtimestamp.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''" + _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._serialized_options = b"\xc2HW\nU\n\x10timestamp.lt_now\x1aA(rules.lt_now && this > now) ? 'value must be less than now' : ''" + _globals['_TIMESTAMPRULES'].fields_by_name['gt']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['gt']._serialized_options = b"\xc2H\x98\x07\n~\n\x0ctimestamp.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n\xb7\x01\n\x0ftimestamp.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n\xbf\x01\n\x19timestamp.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n\xc7\x01\n\x10timestamp.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n\xcf\x01\n\x1atimestamp.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''" + _globals['_TIMESTAMPRULES'].fields_by_name['gte']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['gte']._serialized_options = b"\xc2H\xe3\x07\n\x8c\x01\n\rtimestamp.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n\xc6\x01\n\x10timestamp.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n\xce\x01\n\x1atimestamp.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n\xd6\x01\n\x11timestamp.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n\xde\x01\n\x1btimestamp.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''" + _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._serialized_options = b"\xc2HZ\nX\n\x10timestamp.gt_now\x1aD(rules.gt_now && this < now) ? 'value must be greater than now' : ''" + _globals['_TIMESTAMPRULES'].fields_by_name['within']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['within']._serialized_options = b"\xc2H\x88\x01\n\x85\x01\n\x10timestamp.within\x1aqthis < now-rules.within || this > now+rules.within ? 'value must be within %s of now'.format([rules.within]) : ''" + _globals['_TIMESTAMPRULES'].fields_by_name['example']._loaded_options = None + _globals['_TIMESTAMPRULES'].fields_by_name['example']._serialized_options = b'\xc2H\x1b\n\x19\n\x11timestamp.example\x1a\x04true' + _globals['_IGNORE']._serialized_start = 54134 + _globals['_IGNORE']._serialized_end = 54295 + _globals['_KNOWNREGEX']._serialized_start = 54297 + _globals['_KNOWNREGEX']._serialized_end = 54407 + _globals['_RULE']._serialized_start = 144 + _globals['_RULE']._serialized_end = 224 + _globals['_MESSAGERULES']._serialized_start = 226 + _globals['_MESSAGERULES']._serialized_end = 348 + _globals['_MESSAGEONEOFRULE']._serialized_start = 350 + _globals['_MESSAGEONEOFRULE']._serialized_end = 420 + _globals['_ONEOFRULES']._serialized_start = 422 + _globals['_ONEOFRULES']._serialized_end = 462 + _globals['_FIELDRULES']._serialized_start = 465 + _globals['_FIELDRULES']._serialized_end = 1742 + _globals['_PREDEFINEDRULES']._serialized_start = 1744 + _globals['_PREDEFINEDRULES']._serialized_end = 1834 + _globals['_FLOATRULES']._serialized_start = 1837 + _globals['_FLOATRULES']._serialized_end = 4925 + _globals['_DOUBLERULES']._serialized_start = 4928 + _globals['_DOUBLERULES']._serialized_end = 8034 + _globals['_INT32RULES']._serialized_start = 8037 + _globals['_INT32RULES']._serialized_end = 10783 + _globals['_INT64RULES']._serialized_start = 10786 + _globals['_INT64RULES']._serialized_end = 13532 + _globals['_UINT32RULES']._serialized_start = 13535 + _globals['_UINT32RULES']._serialized_end = 16298 + _globals['_UINT64RULES']._serialized_start = 16301 + _globals['_UINT64RULES']._serialized_end = 19064 + _globals['_SINT32RULES']._serialized_start = 19067 + _globals['_SINT32RULES']._serialized_end = 21830 + _globals['_SINT64RULES']._serialized_start = 21833 + _globals['_SINT64RULES']._serialized_end = 24596 + _globals['_FIXED32RULES']._serialized_start = 24599 + _globals['_FIXED32RULES']._serialized_end = 27379 + _globals['_FIXED64RULES']._serialized_start = 27382 + _globals['_FIXED64RULES']._serialized_end = 30162 + _globals['_SFIXED32RULES']._serialized_start = 30165 + _globals['_SFIXED32RULES']._serialized_end = 32963 + _globals['_SFIXED64RULES']._serialized_start = 32966 + _globals['_SFIXED64RULES']._serialized_end = 35764 + _globals['_BOOLRULES']._serialized_start = 35767 + _globals['_BOOLRULES']._serialized_end = 35982 + _globals['_STRINGRULES']._serialized_start = 35985 + _globals['_STRINGRULES']._serialized_end = 43362 + _globals['_BYTESRULES']._serialized_start = 43365 + _globals['_BYTESRULES']._serialized_end = 45619 + _globals['_ENUMRULES']._serialized_start = 45622 + _globals['_ENUMRULES']._serialized_end = 46131 + _globals['_REPEATEDRULES']._serialized_start = 46134 + _globals['_REPEATEDRULES']._serialized_end = 46676 + _globals['_MAPRULES']._serialized_start = 46679 + _globals['_MAPRULES']._serialized_end = 47107 + _globals['_ANYRULES']._serialized_start = 47109 + _globals['_ANYRULES']._serialized_end = 47158 + _globals['_DURATIONRULES']._serialized_start = 47161 + _globals['_DURATIONRULES']._serialized_end = 50175 + _globals['_TIMESTAMPRULES']._serialized_start = 50178 + _globals['_TIMESTAMPRULES']._serialized_end = 53324 + _globals['_VIOLATIONS']._serialized_start = 53326 + _globals['_VIOLATIONS']._serialized_end = 53395 + _globals['_VIOLATION']._serialized_start = 53398 + _globals['_VIOLATION']._serialized_end = 53595 + _globals['_FIELDPATH']._serialized_start = 53597 + _globals['_FIELDPATH']._serialized_end = 53668 + _globals['_FIELDPATHELEMENT']._serialized_start = 53671 + _globals['_FIELDPATHELEMENT']._serialized_end = 54131 \ No newline at end of file diff --git a/src/textql_sdk/_connect/buf/validate/validate_pb2.pyi b/src/textql_sdk/_connect/buf/validate/validate_pb2.pyi new file mode 100644 index 0000000..cc31fb2 --- /dev/null +++ b/src/textql_sdk/_connect/buf/validate/validate_pb2.pyi @@ -0,0 +1,687 @@ +import datetime +from google.protobuf import descriptor_pb2 as _descriptor_pb2 +from google.protobuf import duration_pb2 as _duration_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf.internal import python_message as _python_message +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class Ignore(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + IGNORE_UNSPECIFIED: _ClassVar[Ignore] + IGNORE_IF_ZERO_VALUE: _ClassVar[Ignore] + IGNORE_ALWAYS: _ClassVar[Ignore] + +class KnownRegex(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + KNOWN_REGEX_UNSPECIFIED: _ClassVar[KnownRegex] + KNOWN_REGEX_HTTP_HEADER_NAME: _ClassVar[KnownRegex] + KNOWN_REGEX_HTTP_HEADER_VALUE: _ClassVar[KnownRegex] +IGNORE_UNSPECIFIED: Ignore +IGNORE_IF_ZERO_VALUE: Ignore +IGNORE_ALWAYS: Ignore +KNOWN_REGEX_UNSPECIFIED: KnownRegex +KNOWN_REGEX_HTTP_HEADER_NAME: KnownRegex +KNOWN_REGEX_HTTP_HEADER_VALUE: KnownRegex +MESSAGE_FIELD_NUMBER: _ClassVar[int] +message: _descriptor.FieldDescriptor +ONEOF_FIELD_NUMBER: _ClassVar[int] +oneof: _descriptor.FieldDescriptor +FIELD_FIELD_NUMBER: _ClassVar[int] +field: _descriptor.FieldDescriptor +PREDEFINED_FIELD_NUMBER: _ClassVar[int] +predefined: _descriptor.FieldDescriptor + +class Rule(_message.Message): + __slots__ = ('id', 'message', 'expression') + ID_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + EXPRESSION_FIELD_NUMBER: _ClassVar[int] + id: str + message: str + expression: str + + def __init__(self, id: _Optional[str]=..., message: _Optional[str]=..., expression: _Optional[str]=...) -> None: + ... + +class MessageRules(_message.Message): + __slots__ = ('cel', 'oneof') + CEL_FIELD_NUMBER: _ClassVar[int] + ONEOF_FIELD_NUMBER: _ClassVar[int] + cel: _containers.RepeatedCompositeFieldContainer[Rule] + oneof: _containers.RepeatedCompositeFieldContainer[MessageOneofRule] + + def __init__(self, cel: _Optional[_Iterable[_Union[Rule, _Mapping]]]=..., oneof: _Optional[_Iterable[_Union[MessageOneofRule, _Mapping]]]=...) -> None: + ... + +class MessageOneofRule(_message.Message): + __slots__ = ('fields', 'required') + FIELDS_FIELD_NUMBER: _ClassVar[int] + REQUIRED_FIELD_NUMBER: _ClassVar[int] + fields: _containers.RepeatedScalarFieldContainer[str] + required: bool + + def __init__(self, fields: _Optional[_Iterable[str]]=..., required: bool=...) -> None: + ... + +class OneofRules(_message.Message): + __slots__ = ('required',) + REQUIRED_FIELD_NUMBER: _ClassVar[int] + required: bool + + def __init__(self, required: bool=...) -> None: + ... + +class FieldRules(_message.Message): + __slots__ = ('cel', 'required', 'ignore', 'float', 'double', 'int32', 'int64', 'uint32', 'uint64', 'sint32', 'sint64', 'fixed32', 'fixed64', 'sfixed32', 'sfixed64', 'bool', 'string', 'bytes', 'enum', 'repeated', 'map', 'any', 'duration', 'timestamp') + CEL_FIELD_NUMBER: _ClassVar[int] + REQUIRED_FIELD_NUMBER: _ClassVar[int] + IGNORE_FIELD_NUMBER: _ClassVar[int] + FLOAT_FIELD_NUMBER: _ClassVar[int] + DOUBLE_FIELD_NUMBER: _ClassVar[int] + INT32_FIELD_NUMBER: _ClassVar[int] + INT64_FIELD_NUMBER: _ClassVar[int] + UINT32_FIELD_NUMBER: _ClassVar[int] + UINT64_FIELD_NUMBER: _ClassVar[int] + SINT32_FIELD_NUMBER: _ClassVar[int] + SINT64_FIELD_NUMBER: _ClassVar[int] + FIXED32_FIELD_NUMBER: _ClassVar[int] + FIXED64_FIELD_NUMBER: _ClassVar[int] + SFIXED32_FIELD_NUMBER: _ClassVar[int] + SFIXED64_FIELD_NUMBER: _ClassVar[int] + BOOL_FIELD_NUMBER: _ClassVar[int] + STRING_FIELD_NUMBER: _ClassVar[int] + BYTES_FIELD_NUMBER: _ClassVar[int] + ENUM_FIELD_NUMBER: _ClassVar[int] + REPEATED_FIELD_NUMBER: _ClassVar[int] + MAP_FIELD_NUMBER: _ClassVar[int] + ANY_FIELD_NUMBER: _ClassVar[int] + DURATION_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + cel: _containers.RepeatedCompositeFieldContainer[Rule] + required: bool + ignore: Ignore + float: FloatRules + double: DoubleRules + int32: Int32Rules + int64: Int64Rules + uint32: UInt32Rules + uint64: UInt64Rules + sint32: SInt32Rules + sint64: SInt64Rules + fixed32: Fixed32Rules + fixed64: Fixed64Rules + sfixed32: SFixed32Rules + sfixed64: SFixed64Rules + bool: BoolRules + string: StringRules + bytes: BytesRules + enum: EnumRules + repeated: RepeatedRules + map: MapRules + any: AnyRules + duration: DurationRules + timestamp: TimestampRules + + def __init__(self, cel: _Optional[_Iterable[_Union[Rule, _Mapping]]]=..., required: bool=..., ignore: _Optional[_Union[Ignore, str]]=..., float: _Optional[_Union[FloatRules, _Mapping]]=..., double: _Optional[_Union[DoubleRules, _Mapping]]=..., int32: _Optional[_Union[Int32Rules, _Mapping]]=..., int64: _Optional[_Union[Int64Rules, _Mapping]]=..., uint32: _Optional[_Union[UInt32Rules, _Mapping]]=..., uint64: _Optional[_Union[UInt64Rules, _Mapping]]=..., sint32: _Optional[_Union[SInt32Rules, _Mapping]]=..., sint64: _Optional[_Union[SInt64Rules, _Mapping]]=..., fixed32: _Optional[_Union[Fixed32Rules, _Mapping]]=..., fixed64: _Optional[_Union[Fixed64Rules, _Mapping]]=..., sfixed32: _Optional[_Union[SFixed32Rules, _Mapping]]=..., sfixed64: _Optional[_Union[SFixed64Rules, _Mapping]]=..., bool: _Optional[_Union[BoolRules, _Mapping]]=..., string: _Optional[_Union[StringRules, _Mapping]]=..., bytes: _Optional[_Union[BytesRules, _Mapping]]=..., enum: _Optional[_Union[EnumRules, _Mapping]]=..., repeated: _Optional[_Union[RepeatedRules, _Mapping]]=..., map: _Optional[_Union[MapRules, _Mapping]]=..., any: _Optional[_Union[AnyRules, _Mapping]]=..., duration: _Optional[_Union[DurationRules, _Mapping]]=..., timestamp: _Optional[_Union[TimestampRules, _Mapping]]=...) -> None: + ... + +class PredefinedRules(_message.Message): + __slots__ = ('cel',) + CEL_FIELD_NUMBER: _ClassVar[int] + cel: _containers.RepeatedCompositeFieldContainer[Rule] + + def __init__(self, cel: _Optional[_Iterable[_Union[Rule, _Mapping]]]=...) -> None: + ... + +class FloatRules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'finite', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + FINITE_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: float + lt: float + lte: float + gt: float + gte: float + not_in: _containers.RepeatedScalarFieldContainer[float] + finite: bool + example: _containers.RepeatedScalarFieldContainer[float] + + def __init__(self, const: _Optional[float]=..., lt: _Optional[float]=..., lte: _Optional[float]=..., gt: _Optional[float]=..., gte: _Optional[float]=..., not_in: _Optional[_Iterable[float]]=..., finite: bool=..., example: _Optional[_Iterable[float]]=..., **kwargs) -> None: + ... + +class DoubleRules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'finite', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + FINITE_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: float + lt: float + lte: float + gt: float + gte: float + not_in: _containers.RepeatedScalarFieldContainer[float] + finite: bool + example: _containers.RepeatedScalarFieldContainer[float] + + def __init__(self, const: _Optional[float]=..., lt: _Optional[float]=..., lte: _Optional[float]=..., gt: _Optional[float]=..., gte: _Optional[float]=..., not_in: _Optional[_Iterable[float]]=..., finite: bool=..., example: _Optional[_Iterable[float]]=..., **kwargs) -> None: + ... + +class Int32Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class Int64Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class UInt32Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class UInt64Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class SInt32Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class SInt64Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class Fixed32Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class Fixed64Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class SFixed32Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class SFixed64Rules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + lt: int + lte: int + gt: int + gte: int + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., lt: _Optional[int]=..., lte: _Optional[int]=..., gt: _Optional[int]=..., gte: _Optional[int]=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class BoolRules(_message.Message): + __slots__ = ('const', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: bool + example: _containers.RepeatedScalarFieldContainer[bool] + + def __init__(self, const: bool=..., example: _Optional[_Iterable[bool]]=...) -> None: + ... + +class StringRules(_message.Message): + __slots__ = ('const', 'len', 'min_len', 'max_len', 'len_bytes', 'min_bytes', 'max_bytes', 'pattern', 'prefix', 'suffix', 'contains', 'not_contains', 'not_in', 'email', 'hostname', 'ip', 'ipv4', 'ipv6', 'uri', 'uri_ref', 'address', 'uuid', 'tuuid', 'ip_with_prefixlen', 'ipv4_with_prefixlen', 'ipv6_with_prefixlen', 'ip_prefix', 'ipv4_prefix', 'ipv6_prefix', 'host_and_port', 'well_known_regex', 'strict', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LEN_FIELD_NUMBER: _ClassVar[int] + MIN_LEN_FIELD_NUMBER: _ClassVar[int] + MAX_LEN_FIELD_NUMBER: _ClassVar[int] + LEN_BYTES_FIELD_NUMBER: _ClassVar[int] + MIN_BYTES_FIELD_NUMBER: _ClassVar[int] + MAX_BYTES_FIELD_NUMBER: _ClassVar[int] + PATTERN_FIELD_NUMBER: _ClassVar[int] + PREFIX_FIELD_NUMBER: _ClassVar[int] + SUFFIX_FIELD_NUMBER: _ClassVar[int] + CONTAINS_FIELD_NUMBER: _ClassVar[int] + NOT_CONTAINS_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + HOSTNAME_FIELD_NUMBER: _ClassVar[int] + IP_FIELD_NUMBER: _ClassVar[int] + IPV4_FIELD_NUMBER: _ClassVar[int] + IPV6_FIELD_NUMBER: _ClassVar[int] + URI_FIELD_NUMBER: _ClassVar[int] + URI_REF_FIELD_NUMBER: _ClassVar[int] + ADDRESS_FIELD_NUMBER: _ClassVar[int] + UUID_FIELD_NUMBER: _ClassVar[int] + TUUID_FIELD_NUMBER: _ClassVar[int] + IP_WITH_PREFIXLEN_FIELD_NUMBER: _ClassVar[int] + IPV4_WITH_PREFIXLEN_FIELD_NUMBER: _ClassVar[int] + IPV6_WITH_PREFIXLEN_FIELD_NUMBER: _ClassVar[int] + IP_PREFIX_FIELD_NUMBER: _ClassVar[int] + IPV4_PREFIX_FIELD_NUMBER: _ClassVar[int] + IPV6_PREFIX_FIELD_NUMBER: _ClassVar[int] + HOST_AND_PORT_FIELD_NUMBER: _ClassVar[int] + WELL_KNOWN_REGEX_FIELD_NUMBER: _ClassVar[int] + STRICT_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: str + len: int + min_len: int + max_len: int + len_bytes: int + min_bytes: int + max_bytes: int + pattern: str + prefix: str + suffix: str + contains: str + not_contains: str + not_in: _containers.RepeatedScalarFieldContainer[str] + email: bool + hostname: bool + ip: bool + ipv4: bool + ipv6: bool + uri: bool + uri_ref: bool + address: bool + uuid: bool + tuuid: bool + ip_with_prefixlen: bool + ipv4_with_prefixlen: bool + ipv6_with_prefixlen: bool + ip_prefix: bool + ipv4_prefix: bool + ipv6_prefix: bool + host_and_port: bool + well_known_regex: KnownRegex + strict: bool + example: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, const: _Optional[str]=..., len: _Optional[int]=..., min_len: _Optional[int]=..., max_len: _Optional[int]=..., len_bytes: _Optional[int]=..., min_bytes: _Optional[int]=..., max_bytes: _Optional[int]=..., pattern: _Optional[str]=..., prefix: _Optional[str]=..., suffix: _Optional[str]=..., contains: _Optional[str]=..., not_contains: _Optional[str]=..., not_in: _Optional[_Iterable[str]]=..., email: bool=..., hostname: bool=..., ip: bool=..., ipv4: bool=..., ipv6: bool=..., uri: bool=..., uri_ref: bool=..., address: bool=..., uuid: bool=..., tuuid: bool=..., ip_with_prefixlen: bool=..., ipv4_with_prefixlen: bool=..., ipv6_with_prefixlen: bool=..., ip_prefix: bool=..., ipv4_prefix: bool=..., ipv6_prefix: bool=..., host_and_port: bool=..., well_known_regex: _Optional[_Union[KnownRegex, str]]=..., strict: bool=..., example: _Optional[_Iterable[str]]=..., **kwargs) -> None: + ... + +class BytesRules(_message.Message): + __slots__ = ('const', 'len', 'min_len', 'max_len', 'pattern', 'prefix', 'suffix', 'contains', 'not_in', 'ip', 'ipv4', 'ipv6', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LEN_FIELD_NUMBER: _ClassVar[int] + MIN_LEN_FIELD_NUMBER: _ClassVar[int] + MAX_LEN_FIELD_NUMBER: _ClassVar[int] + PATTERN_FIELD_NUMBER: _ClassVar[int] + PREFIX_FIELD_NUMBER: _ClassVar[int] + SUFFIX_FIELD_NUMBER: _ClassVar[int] + CONTAINS_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + IP_FIELD_NUMBER: _ClassVar[int] + IPV4_FIELD_NUMBER: _ClassVar[int] + IPV6_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: bytes + len: int + min_len: int + max_len: int + pattern: str + prefix: bytes + suffix: bytes + contains: bytes + not_in: _containers.RepeatedScalarFieldContainer[bytes] + ip: bool + ipv4: bool + ipv6: bool + example: _containers.RepeatedScalarFieldContainer[bytes] + + def __init__(self, const: _Optional[bytes]=..., len: _Optional[int]=..., min_len: _Optional[int]=..., max_len: _Optional[int]=..., pattern: _Optional[str]=..., prefix: _Optional[bytes]=..., suffix: _Optional[bytes]=..., contains: _Optional[bytes]=..., not_in: _Optional[_Iterable[bytes]]=..., ip: bool=..., ipv4: bool=..., ipv6: bool=..., example: _Optional[_Iterable[bytes]]=..., **kwargs) -> None: + ... + +class EnumRules(_message.Message): + __slots__ = ('const', 'defined_only', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + DEFINED_ONLY_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: int + defined_only: bool + not_in: _containers.RepeatedScalarFieldContainer[int] + example: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, const: _Optional[int]=..., defined_only: bool=..., not_in: _Optional[_Iterable[int]]=..., example: _Optional[_Iterable[int]]=..., **kwargs) -> None: + ... + +class RepeatedRules(_message.Message): + __slots__ = ('min_items', 'max_items', 'unique', 'items') + Extensions: _python_message._ExtensionDict + MIN_ITEMS_FIELD_NUMBER: _ClassVar[int] + MAX_ITEMS_FIELD_NUMBER: _ClassVar[int] + UNIQUE_FIELD_NUMBER: _ClassVar[int] + ITEMS_FIELD_NUMBER: _ClassVar[int] + min_items: int + max_items: int + unique: bool + items: FieldRules + + def __init__(self, min_items: _Optional[int]=..., max_items: _Optional[int]=..., unique: bool=..., items: _Optional[_Union[FieldRules, _Mapping]]=...) -> None: + ... + +class MapRules(_message.Message): + __slots__ = ('min_pairs', 'max_pairs', 'keys', 'values') + Extensions: _python_message._ExtensionDict + MIN_PAIRS_FIELD_NUMBER: _ClassVar[int] + MAX_PAIRS_FIELD_NUMBER: _ClassVar[int] + KEYS_FIELD_NUMBER: _ClassVar[int] + VALUES_FIELD_NUMBER: _ClassVar[int] + min_pairs: int + max_pairs: int + keys: FieldRules + values: FieldRules + + def __init__(self, min_pairs: _Optional[int]=..., max_pairs: _Optional[int]=..., keys: _Optional[_Union[FieldRules, _Mapping]]=..., values: _Optional[_Union[FieldRules, _Mapping]]=...) -> None: + ... + +class AnyRules(_message.Message): + __slots__ = ('not_in',) + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + not_in: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, not_in: _Optional[_Iterable[str]]=..., **kwargs) -> None: + ... + +class DurationRules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'gt', 'gte', 'not_in', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + IN_FIELD_NUMBER: _ClassVar[int] + NOT_IN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: _duration_pb2.Duration + lt: _duration_pb2.Duration + lte: _duration_pb2.Duration + gt: _duration_pb2.Duration + gte: _duration_pb2.Duration + not_in: _containers.RepeatedCompositeFieldContainer[_duration_pb2.Duration] + example: _containers.RepeatedCompositeFieldContainer[_duration_pb2.Duration] + + def __init__(self, const: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., lt: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., lte: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., gt: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., gte: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., not_in: _Optional[_Iterable[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]]=..., example: _Optional[_Iterable[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]]=..., **kwargs) -> None: + ... + +class TimestampRules(_message.Message): + __slots__ = ('const', 'lt', 'lte', 'lt_now', 'gt', 'gte', 'gt_now', 'within', 'example') + Extensions: _python_message._ExtensionDict + CONST_FIELD_NUMBER: _ClassVar[int] + LT_FIELD_NUMBER: _ClassVar[int] + LTE_FIELD_NUMBER: _ClassVar[int] + LT_NOW_FIELD_NUMBER: _ClassVar[int] + GT_FIELD_NUMBER: _ClassVar[int] + GTE_FIELD_NUMBER: _ClassVar[int] + GT_NOW_FIELD_NUMBER: _ClassVar[int] + WITHIN_FIELD_NUMBER: _ClassVar[int] + EXAMPLE_FIELD_NUMBER: _ClassVar[int] + const: _timestamp_pb2.Timestamp + lt: _timestamp_pb2.Timestamp + lte: _timestamp_pb2.Timestamp + lt_now: bool + gt: _timestamp_pb2.Timestamp + gte: _timestamp_pb2.Timestamp + gt_now: bool + within: _duration_pb2.Duration + example: _containers.RepeatedCompositeFieldContainer[_timestamp_pb2.Timestamp] + + def __init__(self, const: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., lt: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., lte: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., lt_now: bool=..., gt: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., gte: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., gt_now: bool=..., within: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., example: _Optional[_Iterable[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]]=...) -> None: + ... + +class Violations(_message.Message): + __slots__ = ('violations',) + VIOLATIONS_FIELD_NUMBER: _ClassVar[int] + violations: _containers.RepeatedCompositeFieldContainer[Violation] + + def __init__(self, violations: _Optional[_Iterable[_Union[Violation, _Mapping]]]=...) -> None: + ... + +class Violation(_message.Message): + __slots__ = ('field', 'rule', 'rule_id', 'message', 'for_key') + FIELD_FIELD_NUMBER: _ClassVar[int] + RULE_FIELD_NUMBER: _ClassVar[int] + RULE_ID_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + FOR_KEY_FIELD_NUMBER: _ClassVar[int] + field: FieldPath + rule: FieldPath + rule_id: str + message: str + for_key: bool + + def __init__(self, field: _Optional[_Union[FieldPath, _Mapping]]=..., rule: _Optional[_Union[FieldPath, _Mapping]]=..., rule_id: _Optional[str]=..., message: _Optional[str]=..., for_key: bool=...) -> None: + ... + +class FieldPath(_message.Message): + __slots__ = ('elements',) + ELEMENTS_FIELD_NUMBER: _ClassVar[int] + elements: _containers.RepeatedCompositeFieldContainer[FieldPathElement] + + def __init__(self, elements: _Optional[_Iterable[_Union[FieldPathElement, _Mapping]]]=...) -> None: + ... + +class FieldPathElement(_message.Message): + __slots__ = ('field_number', 'field_name', 'field_type', 'key_type', 'value_type', 'index', 'bool_key', 'int_key', 'uint_key', 'string_key') + FIELD_NUMBER_FIELD_NUMBER: _ClassVar[int] + FIELD_NAME_FIELD_NUMBER: _ClassVar[int] + FIELD_TYPE_FIELD_NUMBER: _ClassVar[int] + KEY_TYPE_FIELD_NUMBER: _ClassVar[int] + VALUE_TYPE_FIELD_NUMBER: _ClassVar[int] + INDEX_FIELD_NUMBER: _ClassVar[int] + BOOL_KEY_FIELD_NUMBER: _ClassVar[int] + INT_KEY_FIELD_NUMBER: _ClassVar[int] + UINT_KEY_FIELD_NUMBER: _ClassVar[int] + STRING_KEY_FIELD_NUMBER: _ClassVar[int] + field_number: int + field_name: str + field_type: _descriptor_pb2.FieldDescriptorProto.Type + key_type: _descriptor_pb2.FieldDescriptorProto.Type + value_type: _descriptor_pb2.FieldDescriptorProto.Type + index: int + bool_key: bool + int_key: int + uint_key: int + string_key: str + + def __init__(self, field_number: _Optional[int]=..., field_name: _Optional[str]=..., field_type: _Optional[_Union[_descriptor_pb2.FieldDescriptorProto.Type, str]]=..., key_type: _Optional[_Union[_descriptor_pb2.FieldDescriptorProto.Type, str]]=..., value_type: _Optional[_Union[_descriptor_pb2.FieldDescriptorProto.Type, str]]=..., index: _Optional[int]=..., bool_key: bool=..., int_key: _Optional[int]=..., uint_key: _Optional[int]=..., string_key: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/compute_connect.py b/src/textql_sdk/_connect/compute_connect.py new file mode 100644 index 0000000..ec68c10 --- /dev/null +++ b/src/textql_sdk/_connect/compute_connect.py @@ -0,0 +1,112 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import compute_pb2 as compute__pb2 +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 + +class ComputeService(Protocol): + + async def exec(self, request: compute__pb2.ExecRequest, ctx: RequestContext) -> compute__pb2.ExecResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def load_data(self, request: compute__pb2.LoadDataRequest, ctx: RequestContext) -> compute__pb2.LoadDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def load_files(self, request: compute__pb2.LoadFileRequest, ctx: RequestContext) -> compute__pb2.LoadDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_sandbox_status(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> compute__pb2.SandboxStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def refresh_sandbox(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def query_s_q_l(self, request: compute__pb2.QuerySQLRequest, ctx: RequestContext) -> compute__pb2.QuerySQLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ComputeServiceASGIApplication(ConnectASGIApplication[ComputeService]): + + def __init__(self, service: ComputeService | AsyncGenerator[ComputeService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.compute.ComputeService/Exec': Endpoint.unary(method=MethodInfo(name='Exec', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.ExecRequest, output=compute__pb2.ExecResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exec), '/textql.rpc.compute.ComputeService/LoadData': Endpoint.unary(method=MethodInfo(name='LoadData', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.LoadDataRequest, output=compute__pb2.LoadDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.load_data), '/textql.rpc.compute.ComputeService/LoadFiles': Endpoint.unary(method=MethodInfo(name='LoadFiles', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.LoadFileRequest, output=compute__pb2.LoadDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.load_files), '/textql.rpc.compute.ComputeService/GetSandboxStatus': Endpoint.unary(method=MethodInfo(name='GetSandboxStatus', service_name='textql.rpc.compute.ComputeService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=compute__pb2.SandboxStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_sandbox_status), '/textql.rpc.compute.ComputeService/RefreshSandbox': Endpoint.unary(method=MethodInfo(name='RefreshSandbox', service_name='textql.rpc.compute.ComputeService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.refresh_sandbox), '/textql.rpc.compute.ComputeService/QuerySQL': Endpoint.unary(method=MethodInfo(name='QuerySQL', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.QuerySQLRequest, output=compute__pb2.QuerySQLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.query_s_q_l)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.compute.ComputeService' + +class ComputeServiceClient(ConnectClient): + + async def exec(self, request: compute__pb2.ExecRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.ExecResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='Exec', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.ExecRequest, output=compute__pb2.ExecResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def load_data(self, request: compute__pb2.LoadDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.LoadDataResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='LoadData', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.LoadDataRequest, output=compute__pb2.LoadDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def load_files(self, request: compute__pb2.LoadFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.LoadDataResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='LoadFiles', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.LoadFileRequest, output=compute__pb2.LoadDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_sandbox_status(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.SandboxStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetSandboxStatus', service_name='textql.rpc.compute.ComputeService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=compute__pb2.SandboxStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def refresh_sandbox(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='RefreshSandbox', service_name='textql.rpc.compute.ComputeService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def query_s_q_l(self, request: compute__pb2.QuerySQLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.QuerySQLResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='QuerySQL', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.QuerySQLRequest, output=compute__pb2.QuerySQLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class ComputeServiceSync(Protocol): + + def exec(self, request: compute__pb2.ExecRequest, ctx: RequestContext) -> compute__pb2.ExecResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def load_data(self, request: compute__pb2.LoadDataRequest, ctx: RequestContext) -> compute__pb2.LoadDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def load_files(self, request: compute__pb2.LoadFileRequest, ctx: RequestContext) -> compute__pb2.LoadDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_sandbox_status(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> compute__pb2.SandboxStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def refresh_sandbox(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def query_s_q_l(self, request: compute__pb2.QuerySQLRequest, ctx: RequestContext) -> compute__pb2.QuerySQLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ComputeServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ComputeServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.compute.ComputeService/Exec': EndpointSync.unary(method=MethodInfo(name='Exec', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.ExecRequest, output=compute__pb2.ExecResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exec), '/textql.rpc.compute.ComputeService/LoadData': EndpointSync.unary(method=MethodInfo(name='LoadData', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.LoadDataRequest, output=compute__pb2.LoadDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.load_data), '/textql.rpc.compute.ComputeService/LoadFiles': EndpointSync.unary(method=MethodInfo(name='LoadFiles', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.LoadFileRequest, output=compute__pb2.LoadDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.load_files), '/textql.rpc.compute.ComputeService/GetSandboxStatus': EndpointSync.unary(method=MethodInfo(name='GetSandboxStatus', service_name='textql.rpc.compute.ComputeService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=compute__pb2.SandboxStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_sandbox_status), '/textql.rpc.compute.ComputeService/RefreshSandbox': EndpointSync.unary(method=MethodInfo(name='RefreshSandbox', service_name='textql.rpc.compute.ComputeService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.refresh_sandbox), '/textql.rpc.compute.ComputeService/QuerySQL': EndpointSync.unary(method=MethodInfo(name='QuerySQL', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.QuerySQLRequest, output=compute__pb2.QuerySQLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.query_s_q_l)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.compute.ComputeService' + +class ComputeServiceClientSync(ConnectClientSync): + + def exec(self, request: compute__pb2.ExecRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.ExecResponse: + return self.execute_unary(request=request, method=MethodInfo(name='Exec', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.ExecRequest, output=compute__pb2.ExecResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def load_data(self, request: compute__pb2.LoadDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.LoadDataResponse: + return self.execute_unary(request=request, method=MethodInfo(name='LoadData', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.LoadDataRequest, output=compute__pb2.LoadDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def load_files(self, request: compute__pb2.LoadFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.LoadDataResponse: + return self.execute_unary(request=request, method=MethodInfo(name='LoadFiles', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.LoadFileRequest, output=compute__pb2.LoadDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_sandbox_status(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.SandboxStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetSandboxStatus', service_name='textql.rpc.compute.ComputeService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=compute__pb2.SandboxStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def refresh_sandbox(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='RefreshSandbox', service_name='textql.rpc.compute.ComputeService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def query_s_q_l(self, request: compute__pb2.QuerySQLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> compute__pb2.QuerySQLResponse: + return self.execute_unary(request=request, method=MethodInfo(name='QuerySQL', service_name='textql.rpc.compute.ComputeService', input=compute__pb2.QuerySQLRequest, output=compute__pb2.QuerySQLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/compute_pb2.py b/src/textql_sdk/_connect/compute_pb2.py new file mode 100644 index 0000000..2b87c54 --- /dev/null +++ b/src/textql_sdk/_connect/compute_pb2.py @@ -0,0 +1,35 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'compute.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rcompute.proto\x12\x12textql.rpc.compute\x1a\x1bgoogle/protobuf/empty.proto"!\n\x0bExecRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code"`\n\x0cExecResponse\x12\x16\n\x06output\x18\x01 \x03(\tR\x06output\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error\x12"\n\x0cdataFrameIds\x18\x03 \x03(\x05R\x0cdataFrameIds"/\n\x15SandboxStatusResponse\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status"\'\n\x0fQuerySQLRequest\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query"@\n\x10QuerySQLResponse\x12\x16\n\x06result\x18\x01 \x01(\tR\x06result\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"!\n\x07DataRow\x12\x16\n\x06values\x18\x01 \x03(\tR\x06values"\x86\x01\n\x0fLoadDataRequest\x12 \n\x0bcolumnNames\x18\x01 \x03(\tR\x0bcolumnNames\x12 \n\x0bcolumnTypes\x18\x02 \x03(\tR\x0bcolumnTypes\x12/\n\x04rows\x18\x03 \x03(\x0b2\x1b.textql.rpc.compute.DataRowR\x04rows"\x9b\x01\n\x0fLoadFileRequest\x12$\n\rfileLocations\x18\x01 \x03(\tR\rfileLocations\x12\x1c\n\tfileTypes\x18\x02 \x03(\tR\tfileTypes\x12\x1c\n\thasHeader\x18\x03 \x03(\x08R\thasHeader\x12&\n\x0edataFrameNames\x18\x04 \x03(\tR\x0edataFrameNames"\x9c\x01\n\x10LoadDataResponse\x12\x1c\n\tdataframe\x18\x01 \x01(\tR\tdataframe\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n\x07preview\x18\x03 \x01(\tR\x07preview\x12\x12\n\x04size\x18\x04 \x01(\x05R\x04size\x12\x14\n\x05error\x18\x05 \x01(\tR\x05error\x12\x12\n\x04head\x18\x06 \x01(\tR\x04head2\x86\x04\n\x0eComputeService\x12K\n\x04Exec\x12\x1f.textql.rpc.compute.ExecRequest\x1a .textql.rpc.compute.ExecResponse"\x00\x12W\n\x08LoadData\x12#.textql.rpc.compute.LoadDataRequest\x1a$.textql.rpc.compute.LoadDataResponse"\x00\x12X\n\tLoadFiles\x12#.textql.rpc.compute.LoadFileRequest\x1a$.textql.rpc.compute.LoadDataResponse"\x00\x12W\n\x10GetSandboxStatus\x12\x16.google.protobuf.Empty\x1a).textql.rpc.compute.SandboxStatusResponse"\x00\x12B\n\x0eRefreshSandbox\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty"\x00\x12W\n\x08QuerySQL\x12#.textql.rpc.compute.QuerySQLRequest\x1a$.textql.rpc.compute.QuerySQLResponse"\x00b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'compute_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_EXECREQUEST']._serialized_start = 66 + _globals['_EXECREQUEST']._serialized_end = 99 + _globals['_EXECRESPONSE']._serialized_start = 101 + _globals['_EXECRESPONSE']._serialized_end = 197 + _globals['_SANDBOXSTATUSRESPONSE']._serialized_start = 199 + _globals['_SANDBOXSTATUSRESPONSE']._serialized_end = 246 + _globals['_QUERYSQLREQUEST']._serialized_start = 248 + _globals['_QUERYSQLREQUEST']._serialized_end = 287 + _globals['_QUERYSQLRESPONSE']._serialized_start = 289 + _globals['_QUERYSQLRESPONSE']._serialized_end = 353 + _globals['_DATAROW']._serialized_start = 355 + _globals['_DATAROW']._serialized_end = 388 + _globals['_LOADDATAREQUEST']._serialized_start = 391 + _globals['_LOADDATAREQUEST']._serialized_end = 525 + _globals['_LOADFILEREQUEST']._serialized_start = 528 + _globals['_LOADFILEREQUEST']._serialized_end = 683 + _globals['_LOADDATARESPONSE']._serialized_start = 686 + _globals['_LOADDATARESPONSE']._serialized_end = 842 + _globals['_COMPUTESERVICE']._serialized_start = 845 + _globals['_COMPUTESERVICE']._serialized_end = 1363 \ No newline at end of file diff --git a/src/textql_sdk/_connect/compute_pb2.pyi b/src/textql_sdk/_connect/compute_pb2.pyi new file mode 100644 index 0000000..14a7a9c --- /dev/null +++ b/src/textql_sdk/_connect/compute_pb2.pyi @@ -0,0 +1,105 @@ +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ExecRequest(_message.Message): + __slots__ = ('code',) + CODE_FIELD_NUMBER: _ClassVar[int] + code: str + + def __init__(self, code: _Optional[str]=...) -> None: + ... + +class ExecResponse(_message.Message): + __slots__ = ('output', 'error', 'dataFrameIds') + OUTPUT_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + DATAFRAMEIDS_FIELD_NUMBER: _ClassVar[int] + output: _containers.RepeatedScalarFieldContainer[str] + error: str + dataFrameIds: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, output: _Optional[_Iterable[str]]=..., error: _Optional[str]=..., dataFrameIds: _Optional[_Iterable[int]]=...) -> None: + ... + +class SandboxStatusResponse(_message.Message): + __slots__ = ('status',) + STATUS_FIELD_NUMBER: _ClassVar[int] + status: str + + def __init__(self, status: _Optional[str]=...) -> None: + ... + +class QuerySQLRequest(_message.Message): + __slots__ = ('query',) + QUERY_FIELD_NUMBER: _ClassVar[int] + query: str + + def __init__(self, query: _Optional[str]=...) -> None: + ... + +class QuerySQLResponse(_message.Message): + __slots__ = ('result', 'error') + RESULT_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + result: str + error: str + + def __init__(self, result: _Optional[str]=..., error: _Optional[str]=...) -> None: + ... + +class DataRow(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, values: _Optional[_Iterable[str]]=...) -> None: + ... + +class LoadDataRequest(_message.Message): + __slots__ = ('columnNames', 'columnTypes', 'rows') + COLUMNNAMES_FIELD_NUMBER: _ClassVar[int] + COLUMNTYPES_FIELD_NUMBER: _ClassVar[int] + ROWS_FIELD_NUMBER: _ClassVar[int] + columnNames: _containers.RepeatedScalarFieldContainer[str] + columnTypes: _containers.RepeatedScalarFieldContainer[str] + rows: _containers.RepeatedCompositeFieldContainer[DataRow] + + def __init__(self, columnNames: _Optional[_Iterable[str]]=..., columnTypes: _Optional[_Iterable[str]]=..., rows: _Optional[_Iterable[_Union[DataRow, _Mapping]]]=...) -> None: + ... + +class LoadFileRequest(_message.Message): + __slots__ = ('fileLocations', 'fileTypes', 'hasHeader', 'dataFrameNames') + FILELOCATIONS_FIELD_NUMBER: _ClassVar[int] + FILETYPES_FIELD_NUMBER: _ClassVar[int] + HASHEADER_FIELD_NUMBER: _ClassVar[int] + DATAFRAMENAMES_FIELD_NUMBER: _ClassVar[int] + fileLocations: _containers.RepeatedScalarFieldContainer[str] + fileTypes: _containers.RepeatedScalarFieldContainer[str] + hasHeader: _containers.RepeatedScalarFieldContainer[bool] + dataFrameNames: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, fileLocations: _Optional[_Iterable[str]]=..., fileTypes: _Optional[_Iterable[str]]=..., hasHeader: _Optional[_Iterable[bool]]=..., dataFrameNames: _Optional[_Iterable[str]]=...) -> None: + ... + +class LoadDataResponse(_message.Message): + __slots__ = ('dataframe', 'name', 'preview', 'size', 'error', 'head') + DATAFRAME_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PREVIEW_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + HEAD_FIELD_NUMBER: _ClassVar[int] + dataframe: str + name: str + preview: str + size: int + error: str + head: str + + def __init__(self, dataframe: _Optional[str]=..., name: _Optional[str]=..., preview: _Optional[str]=..., size: _Optional[int]=..., error: _Optional[str]=..., head: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/google/__init__.py b/src/textql_sdk/_connect/google/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/textql_sdk/_connect/google/__init__.pyi b/src/textql_sdk/_connect/google/__init__.pyi new file mode 100644 index 0000000..4dc7607 --- /dev/null +++ b/src/textql_sdk/_connect/google/__init__.pyi @@ -0,0 +1 @@ +from . import api diff --git a/src/textql_sdk/_connect/google/api/__init__.py b/src/textql_sdk/_connect/google/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/textql_sdk/_connect/google/api/__init__.pyi b/src/textql_sdk/_connect/google/api/__init__.pyi new file mode 100644 index 0000000..d655b75 --- /dev/null +++ b/src/textql_sdk/_connect/google/api/__init__.pyi @@ -0,0 +1 @@ +from . import visibility_pb2 diff --git a/src/textql_sdk/_connect/google/api/visibility_pb2.py b/src/textql_sdk/_connect/google/api/visibility_pb2.py new file mode 100644 index 0000000..56cdb45 --- /dev/null +++ b/src/textql_sdk/_connect/google/api/visibility_pb2.py @@ -0,0 +1,20 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'google/api/visibility.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bgoogle/api/visibility.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto">\n\nVisibility\x120\n\x05rules\x18\x01 \x03(\x0b2\x1a.google.api.VisibilityRuleR\x05rules"N\n\x0eVisibilityRule\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12 \n\x0brestriction\x18\x02 \x01(\tR\x0brestriction:d\n\x0fenum_visibility\x12\x1c.google.protobuf.EnumOptions\x18\xaf\xca\xbc" \x01(\x0b2\x1a.google.api.VisibilityRuleR\x0eenumVisibility:k\n\x10value_visibility\x12!.google.protobuf.EnumValueOptions\x18\xaf\xca\xbc" \x01(\x0b2\x1a.google.api.VisibilityRuleR\x0fvalueVisibility:g\n\x10field_visibility\x12\x1d.google.protobuf.FieldOptions\x18\xaf\xca\xbc" \x01(\x0b2\x1a.google.api.VisibilityRuleR\x0ffieldVisibility:m\n\x12message_visibility\x12\x1f.google.protobuf.MessageOptions\x18\xaf\xca\xbc" \x01(\x0b2\x1a.google.api.VisibilityRuleR\x11messageVisibility:j\n\x11method_visibility\x12\x1e.google.protobuf.MethodOptions\x18\xaf\xca\xbc" \x01(\x0b2\x1a.google.api.VisibilityRuleR\x10methodVisibility:e\n\x0eapi_visibility\x12\x1f.google.protobuf.ServiceOptions\x18\xaf\xca\xbc" \x01(\x0b2\x1a.google.api.VisibilityRuleR\rapiVisibilityBk\n\x0ecom.google.apiB\x0fVisibilityProtoP\x01Z?google.golang.org/genproto/googleapis/api/visibility;visibility\xa2\x02\x04GAPIb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.visibility_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\x0ecom.google.apiB\x0fVisibilityProtoP\x01Z?google.golang.org/genproto/googleapis/api/visibility;visibility\xa2\x02\x04GAPI' + _globals['_VISIBILITY']._serialized_start = 77 + _globals['_VISIBILITY']._serialized_end = 139 + _globals['_VISIBILITYRULE']._serialized_start = 141 + _globals['_VISIBILITYRULE']._serialized_end = 219 \ No newline at end of file diff --git a/src/textql_sdk/_connect/google/api/visibility_pb2.pyi b/src/textql_sdk/_connect/google/api/visibility_pb2.pyi new file mode 100644 index 0000000..63aa4b9 --- /dev/null +++ b/src/textql_sdk/_connect/google/api/visibility_pb2.pyi @@ -0,0 +1,37 @@ +from google.protobuf import descriptor_pb2 as _descriptor_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor +ENUM_VISIBILITY_FIELD_NUMBER: _ClassVar[int] +enum_visibility: _descriptor.FieldDescriptor +VALUE_VISIBILITY_FIELD_NUMBER: _ClassVar[int] +value_visibility: _descriptor.FieldDescriptor +FIELD_VISIBILITY_FIELD_NUMBER: _ClassVar[int] +field_visibility: _descriptor.FieldDescriptor +MESSAGE_VISIBILITY_FIELD_NUMBER: _ClassVar[int] +message_visibility: _descriptor.FieldDescriptor +METHOD_VISIBILITY_FIELD_NUMBER: _ClassVar[int] +method_visibility: _descriptor.FieldDescriptor +API_VISIBILITY_FIELD_NUMBER: _ClassVar[int] +api_visibility: _descriptor.FieldDescriptor + +class Visibility(_message.Message): + __slots__ = ('rules',) + RULES_FIELD_NUMBER: _ClassVar[int] + rules: _containers.RepeatedCompositeFieldContainer[VisibilityRule] + + def __init__(self, rules: _Optional[_Iterable[_Union[VisibilityRule, _Mapping]]]=...) -> None: + ... + +class VisibilityRule(_message.Message): + __slots__ = ('selector', 'restriction') + SELECTOR_FIELD_NUMBER: _ClassVar[int] + RESTRICTION_FIELD_NUMBER: _ClassVar[int] + selector: str + restriction: str + + def __init__(self, selector: _Optional[str]=..., restriction: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/paradigm_params_pb2.py b/src/textql_sdk/_connect/paradigm_params_pb2.py new file mode 100644 index 0000000..e1404e7 --- /dev/null +++ b/src/textql_sdk/_connect/paradigm_params_pb2.py @@ -0,0 +1,44 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'paradigm_params.proto') +_sym_db = _symbol_database.Default() +from .google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from . import powerbi_selection_pb2 as powerbi__selection__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15paradigm_params.proto\x12\x1atextql.rpc.paradigm_params\x1a\x1bgoogle/api/visibility.proto\x1a\x17powerbi_selection.proto"\xaa\x0c\n\x0eParadigmParams\x12,\n\x12web_search_enabled\x18\x01 \x01(\x08R\x10webSearchEnabled\x12\x1f\n\x0bsql_enabled\x18\x02 \x01(\x08R\nsqlEnabled\x12)\n\x10ontology_enabled\x18\x03 \x01(\x08R\x0fontologyEnabled\x128\n\x18ontology_editing_enabled\x18\x04 \x01(\x08R\x16ontologyEditingEnabled\x12%\n\x0epython_enabled\x18\x06 \x01(\x08R\rpythonEnabled\x12\'\n\x0fpowerbi_enabled\x18\x07 \x01(\x08R\x0epowerbiEnabled\x120\n\x14google_drive_enabled\x18\x08 \x01(\x08R\x12googleDriveEnabled\x120\n\x14auto_approve_enabled\x18\t \x01(\x08R\x12autoApproveEnabled\x126\n\x17context_editing_enabled\x18\n \x01(\x08R\x15contextEditingEnabled\x12.\n\x13form_editor_enabled\x18\x0b \x01(\x08R\x11formEditorEnabled\x12\'\n\x0ftableau_enabled\x18\x0c \x01(\x08R\x0etableauEnabled\x12.\n\x13file_upload_enabled\x18\r \x01(\x08R\x11fileUploadEnabled\x126\n\x17multiple_connector_mode\x18\x0e \x01(\x08R\x15multipleConnectorMode\x124\n\x16playbook_tools_enabled\x18\x0f \x01(\x08R\x14playbookToolsEnabled\x122\n\x15microsoft_365_enabled\x18\x10 \x01(\x08R\x13microsoft365Enabled\x12!\n\x0cbash_enabled\x18\x11 \x01(\x08R\x0bbashEnabled\x12-\n\x12javascript_enabled\x18\x12 \x01(\x08R\x11javascriptEnabled\x126\n\x17model_switching_enabled\x18\x13 \x01(\x08R\x15modelSwitchingEnabled\x122\n\x15feed_explorer_enabled\x18\x14 \x01(\x08R\x13feedExplorerEnabled\x12*\n\x11feed_post_enabled\x18\x15 \x01(\x08R\x0ffeedPostEnabled\x120\n\x14feed_comment_enabled\x18\x16 \x01(\x08R\x12feedCommentEnabled\x12.\n\x13feed_engage_enabled\x18\x17 \x01(\x08R\x11feedEngageEnabled\x12/\n\x13compaction_disabled\x18\x18 \x01(\x08R\x12compactionDisabled\x12#\n\rgmail_enabled\x18\x19 \x01(\x08R\x0cgmailEnabled\x12=\n\x1bchat_history_search_enabled\x18\x1a \x01(\x08R\x18chatHistorySearchEnabled\x126\n\x17google_calendar_enabled\x18\x1b \x01(\x08R\x15googleCalendarEnabled\x124\n\x16parallel_tools_enabled\x18\x1c \x01(\x08R\x14parallelToolsEnabled\x120\n\x14email_output_enabled\x18\x1e \x01(\x08R\x12emailOutputEnabled\x124\n\x16questions_tool_enabled\x18\x1f \x01(\x08R\x14questionsToolEnabled\x12]\n\x12powerbi_selections\x18 \x03(\x0b2..textql.rpc.powerbi_selection.PowerBISelectionR\x11powerbiSelections\x12"\n\ndataset_id\x18! \x01(\tH\x00R\tdatasetId\x88\x01\x01B\r\n\x0b_dataset_idJ\x04\x08\x1d\x10\x1e*\xf2\x03\n\x0cParadigmType\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x1e\n\x08TYPE_SQL\x10\x01\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12#\n\rTYPE_RESEARCH\x10\x02\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12#\n\rTYPE_ONTOLOGY\x10\x03\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12 \n\nTYPE_BASIC\x10\x04\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12"\n\x0cTYPE_TABLEAU\x10\x05\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\'\n\x11TYPE_EXPERIMENTAL\x10\x07\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x12\n\x0eTYPE_UNIVERSAL\x10\x08\x12&\n\x10TYPE_PUBLIC_DEMO\x10\t\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12"\n\x0cTYPE_SUMMARY\x10\n\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12(\n\x12TYPE_OBSERVABILITY\x10\x0b\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12#\n\rTYPE_TEMPLATE\x10\x0c\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12%\n\x0fTYPE_MINIMALIST\x10\r\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12!\n\x0bTYPE_TOPICS\x10\x0e\x1a\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'paradigm_params_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_SQL']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_SQL']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_RESEARCH']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_RESEARCH']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_ONTOLOGY']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_ONTOLOGY']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_BASIC']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_BASIC']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_TABLEAU']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_TABLEAU']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_EXPERIMENTAL']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_EXPERIMENTAL']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_PUBLIC_DEMO']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_PUBLIC_DEMO']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_SUMMARY']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_SUMMARY']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_OBSERVABILITY']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_OBSERVABILITY']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_TEMPLATE']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_TEMPLATE']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_MINIMALIST']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_MINIMALIST']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE'].values_by_name['TYPE_TOPICS']._loaded_options = None + _globals['_PARADIGMTYPE'].values_by_name['TYPE_TOPICS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMTYPE']._serialized_start = 1689 + _globals['_PARADIGMTYPE']._serialized_end = 2187 + _globals['_PARADIGMPARAMS']._serialized_start = 108 + _globals['_PARADIGMPARAMS']._serialized_end = 1686 \ No newline at end of file diff --git a/src/textql_sdk/_connect/paradigm_params_pb2.pyi b/src/textql_sdk/_connect/paradigm_params_pb2.pyi new file mode 100644 index 0000000..76a5159 --- /dev/null +++ b/src/textql_sdk/_connect/paradigm_params_pb2.pyi @@ -0,0 +1,108 @@ +from google.api import visibility_pb2 as _visibility_pb2 +import powerbi_selection_pb2 as _powerbi_selection_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ParadigmType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + TYPE_UNKNOWN: _ClassVar[ParadigmType] + TYPE_SQL: _ClassVar[ParadigmType] + TYPE_RESEARCH: _ClassVar[ParadigmType] + TYPE_ONTOLOGY: _ClassVar[ParadigmType] + TYPE_BASIC: _ClassVar[ParadigmType] + TYPE_TABLEAU: _ClassVar[ParadigmType] + TYPE_EXPERIMENTAL: _ClassVar[ParadigmType] + TYPE_UNIVERSAL: _ClassVar[ParadigmType] + TYPE_PUBLIC_DEMO: _ClassVar[ParadigmType] + TYPE_SUMMARY: _ClassVar[ParadigmType] + TYPE_OBSERVABILITY: _ClassVar[ParadigmType] + TYPE_TEMPLATE: _ClassVar[ParadigmType] + TYPE_MINIMALIST: _ClassVar[ParadigmType] + TYPE_TOPICS: _ClassVar[ParadigmType] +TYPE_UNKNOWN: ParadigmType +TYPE_SQL: ParadigmType +TYPE_RESEARCH: ParadigmType +TYPE_ONTOLOGY: ParadigmType +TYPE_BASIC: ParadigmType +TYPE_TABLEAU: ParadigmType +TYPE_EXPERIMENTAL: ParadigmType +TYPE_UNIVERSAL: ParadigmType +TYPE_PUBLIC_DEMO: ParadigmType +TYPE_SUMMARY: ParadigmType +TYPE_OBSERVABILITY: ParadigmType +TYPE_TEMPLATE: ParadigmType +TYPE_MINIMALIST: ParadigmType +TYPE_TOPICS: ParadigmType + +class ParadigmParams(_message.Message): + __slots__ = ('web_search_enabled', 'sql_enabled', 'ontology_enabled', 'ontology_editing_enabled', 'python_enabled', 'powerbi_enabled', 'google_drive_enabled', 'auto_approve_enabled', 'context_editing_enabled', 'form_editor_enabled', 'tableau_enabled', 'file_upload_enabled', 'multiple_connector_mode', 'playbook_tools_enabled', 'microsoft_365_enabled', 'bash_enabled', 'javascript_enabled', 'model_switching_enabled', 'feed_explorer_enabled', 'feed_post_enabled', 'feed_comment_enabled', 'feed_engage_enabled', 'compaction_disabled', 'gmail_enabled', 'chat_history_search_enabled', 'google_calendar_enabled', 'parallel_tools_enabled', 'email_output_enabled', 'questions_tool_enabled', 'powerbi_selections', 'dataset_id') + WEB_SEARCH_ENABLED_FIELD_NUMBER: _ClassVar[int] + SQL_ENABLED_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_ENABLED_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_EDITING_ENABLED_FIELD_NUMBER: _ClassVar[int] + PYTHON_ENABLED_FIELD_NUMBER: _ClassVar[int] + POWERBI_ENABLED_FIELD_NUMBER: _ClassVar[int] + GOOGLE_DRIVE_ENABLED_FIELD_NUMBER: _ClassVar[int] + AUTO_APPROVE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONTEXT_EDITING_ENABLED_FIELD_NUMBER: _ClassVar[int] + FORM_EDITOR_ENABLED_FIELD_NUMBER: _ClassVar[int] + TABLEAU_ENABLED_FIELD_NUMBER: _ClassVar[int] + FILE_UPLOAD_ENABLED_FIELD_NUMBER: _ClassVar[int] + MULTIPLE_CONNECTOR_MODE_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_TOOLS_ENABLED_FIELD_NUMBER: _ClassVar[int] + MICROSOFT_365_ENABLED_FIELD_NUMBER: _ClassVar[int] + BASH_ENABLED_FIELD_NUMBER: _ClassVar[int] + JAVASCRIPT_ENABLED_FIELD_NUMBER: _ClassVar[int] + MODEL_SWITCHING_ENABLED_FIELD_NUMBER: _ClassVar[int] + FEED_EXPLORER_ENABLED_FIELD_NUMBER: _ClassVar[int] + FEED_POST_ENABLED_FIELD_NUMBER: _ClassVar[int] + FEED_COMMENT_ENABLED_FIELD_NUMBER: _ClassVar[int] + FEED_ENGAGE_ENABLED_FIELD_NUMBER: _ClassVar[int] + COMPACTION_DISABLED_FIELD_NUMBER: _ClassVar[int] + GMAIL_ENABLED_FIELD_NUMBER: _ClassVar[int] + CHAT_HISTORY_SEARCH_ENABLED_FIELD_NUMBER: _ClassVar[int] + GOOGLE_CALENDAR_ENABLED_FIELD_NUMBER: _ClassVar[int] + PARALLEL_TOOLS_ENABLED_FIELD_NUMBER: _ClassVar[int] + EMAIL_OUTPUT_ENABLED_FIELD_NUMBER: _ClassVar[int] + QUESTIONS_TOOL_ENABLED_FIELD_NUMBER: _ClassVar[int] + POWERBI_SELECTIONS_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + web_search_enabled: bool + sql_enabled: bool + ontology_enabled: bool + ontology_editing_enabled: bool + python_enabled: bool + powerbi_enabled: bool + google_drive_enabled: bool + auto_approve_enabled: bool + context_editing_enabled: bool + form_editor_enabled: bool + tableau_enabled: bool + file_upload_enabled: bool + multiple_connector_mode: bool + playbook_tools_enabled: bool + microsoft_365_enabled: bool + bash_enabled: bool + javascript_enabled: bool + model_switching_enabled: bool + feed_explorer_enabled: bool + feed_post_enabled: bool + feed_comment_enabled: bool + feed_engage_enabled: bool + compaction_disabled: bool + gmail_enabled: bool + chat_history_search_enabled: bool + google_calendar_enabled: bool + parallel_tools_enabled: bool + email_output_enabled: bool + questions_tool_enabled: bool + powerbi_selections: _containers.RepeatedCompositeFieldContainer[_powerbi_selection_pb2.PowerBISelection] + dataset_id: str + + def __init__(self, web_search_enabled: bool=..., sql_enabled: bool=..., ontology_enabled: bool=..., ontology_editing_enabled: bool=..., python_enabled: bool=..., powerbi_enabled: bool=..., google_drive_enabled: bool=..., auto_approve_enabled: bool=..., context_editing_enabled: bool=..., form_editor_enabled: bool=..., tableau_enabled: bool=..., file_upload_enabled: bool=..., multiple_connector_mode: bool=..., playbook_tools_enabled: bool=..., microsoft_365_enabled: bool=..., bash_enabled: bool=..., javascript_enabled: bool=..., model_switching_enabled: bool=..., feed_explorer_enabled: bool=..., feed_post_enabled: bool=..., feed_comment_enabled: bool=..., feed_engage_enabled: bool=..., compaction_disabled: bool=..., gmail_enabled: bool=..., chat_history_search_enabled: bool=..., google_calendar_enabled: bool=..., parallel_tools_enabled: bool=..., email_output_enabled: bool=..., questions_tool_enabled: bool=..., powerbi_selections: _Optional[_Iterable[_Union[_powerbi_selection_pb2.PowerBISelection, _Mapping]]]=..., dataset_id: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/powerbi_selection_pb2.py b/src/textql_sdk/_connect/powerbi_selection_pb2.py new file mode 100644 index 0000000..591e5dd --- /dev/null +++ b/src/textql_sdk/_connect/powerbi_selection_pb2.py @@ -0,0 +1,16 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'powerbi_selection.proto') +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17powerbi_selection.proto\x12\x1ctextql.rpc.powerbi_selection"\xbf\x01\n\x10PowerBISelection\x12!\n\x0cworkspace_id\x18\x01 \x01(\tR\x0bworkspaceId\x12\x1d\n\nreport_ids\x18\x02 \x03(\tR\treportIds\x12\x1f\n\x0bdataset_ids\x18\x03 \x03(\tR\ndatasetIds\x12%\n\x0eworkspace_name\x18\x04 \x01(\tR\rworkspaceName\x12!\n\x0cconnector_id\x18\x05 \x01(\x05R\x0bconnectorIdb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'powerbi_selection_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_POWERBISELECTION']._serialized_start = 58 + _globals['_POWERBISELECTION']._serialized_end = 249 \ No newline at end of file diff --git a/src/textql_sdk/_connect/powerbi_selection_pb2.pyi b/src/textql_sdk/_connect/powerbi_selection_pb2.pyi new file mode 100644 index 0000000..75c4229 --- /dev/null +++ b/src/textql_sdk/_connect/powerbi_selection_pb2.pyi @@ -0,0 +1,22 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable +from typing import ClassVar as _ClassVar, Optional as _Optional +DESCRIPTOR: _descriptor.FileDescriptor + +class PowerBISelection(_message.Message): + __slots__ = ('workspace_id', 'report_ids', 'dataset_ids', 'workspace_name', 'connector_id') + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_NAME_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + workspace_id: str + report_ids: _containers.RepeatedScalarFieldContainer[str] + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + workspace_name: str + connector_id: int + + def __init__(self, workspace_id: _Optional[str]=..., report_ids: _Optional[_Iterable[str]]=..., dataset_ids: _Optional[_Iterable[str]]=..., workspace_name: _Optional[str]=..., connector_id: _Optional[int]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/__init__.py b/src/textql_sdk/_connect/public/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/textql_sdk/_connect/public/__init__.pyi b/src/textql_sdk/_connect/public/__init__.pyi new file mode 100644 index 0000000..8de627e --- /dev/null +++ b/src/textql_sdk/_connect/public/__init__.pyi @@ -0,0 +1,55 @@ +from . import agent_pb2 +from . import api_oauth_pb2 +from . import apps_pb2 +from . import audit_log_pb2 +from . import auth_pb2 +from . import cells_pb2 +from . import chat_pb2 +from . import checks_pb2 +from . import common_pb2 +from . import communications_pb2 +from . import config_source_pb2 +from . import connector_member_auth_pb2 +from . import connector_pb2 +from . import context_prompts_pb2 +from . import dashboard_pb2 +from . import databricks_oauth_pb2 +from . import dataframe_pb2 +from . import dataset_pb2 +from . import engagement_pb2 +from . import feed_pb2 +from . import form_pb2 +from . import google_drive_oauth_pb2 +from . import google_oauth_pb2 +from . import identity_pb2 +from . import issues_pb2 +from . import llm_model_pb2 +from . import mcp_pb2 +from . import metrics_export_pb2 +from . import microsoft365_oauth_pb2 +from . import notifications_pb2 +from . import observe_pb2 +from . import ontology_pb2 +from . import options_pb2 +from . import packages_pb2 +from . import paradigm_pb2 +from . import patches_pb2 +from . import playbook_pb2 +from . import powerbi_pb2 +from . import promotion_pb2 +from . import rbac_pb2 +from . import report_pb2 +from . import sandbox_admin_pb2 +from . import sandbox_capability_pb2 +from . import sandbox_query_pb2 +from . import scim_pb2 +from . import secret_pb2 +from . import settings_pb2 +from . import sharing_pb2 +from . import slack_pb2 +from . import sms_pb2 +from . import snowflake_oauth_pb2 +from . import tableau_pb2 +from . import teams_pb2 +from . import template_pb2 +from . import warnings_pb2 diff --git a/src/textql_sdk/_connect/public/agent_connect.py b/src/textql_sdk/_connect/public/agent_connect.py new file mode 100644 index 0000000..f146cc3 --- /dev/null +++ b/src/textql_sdk/_connect/public/agent_connect.py @@ -0,0 +1,220 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import agent_pb2 as public_dot_agent__pb2 + +class AgentService(Protocol): + + async def create_agent(self, request: public_dot_agent__pb2.CreateAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.CreateAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_agent(self, request: public_dot_agent__pb2.UpdateAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.UpdateAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_agents(self, request: public_dot_agent__pb2.ListAgentsRequest, ctx: RequestContext) -> public_dot_agent__pb2.ListAgentsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_agent(self, request: public_dot_agent__pb2.GetAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.GetAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_agent(self, request: public_dot_agent__pb2.DeleteAgentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def trigger_agent(self, request: public_dot_agent__pb2.TriggerAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.TriggerAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def trigger_agent_comment(self, request: public_dot_agent__pb2.TriggerAgentCommentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def duplicate_agent(self, request: public_dot_agent__pb2.DuplicateAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.DuplicateAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def seed_organization(self, request: public_dot_agent__pb2.SeedOrganizationRequest, ctx: RequestContext) -> public_dot_agent__pb2.SeedOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_agent_status(self, request: public_dot_agent__pb2.StreamAgentStatusRequest, ctx: RequestContext) -> AsyncIterator[public_dot_agent__pb2.AgentStatusUpdate]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_agent_runs(self, request: public_dot_agent__pb2.ListAgentRunsRequest, ctx: RequestContext) -> public_dot_agent__pb2.ListAgentRunsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_agent_run(self, request: public_dot_agent__pb2.GetAgentRunRequest, ctx: RequestContext) -> public_dot_agent__pb2.GetAgentRunResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_agent_runs_for_thing(self, request: public_dot_agent__pb2.ListAgentRunsForThingRequest, ctx: RequestContext) -> public_dot_agent__pb2.ListAgentRunsForThingResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upload_agent_avatar(self, request: public_dot_agent__pb2.UploadAgentAvatarRequest, ctx: RequestContext) -> public_dot_agent__pb2.UploadAgentAvatarResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def reset_agent_avatar(self, request: public_dot_agent__pb2.ResetAgentAvatarRequest, ctx: RequestContext) -> public_dot_agent__pb2.ResetAgentAvatarResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class AgentServiceASGIApplication(ConnectASGIApplication[AgentService]): + + def __init__(self, service: AgentService | AsyncGenerator[AgentService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.agent.AgentService/CreateAgent': Endpoint.unary(method=MethodInfo(name='CreateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.CreateAgentRequest, output=public_dot_agent__pb2.CreateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_agent), '/textql.rpc.public.agent.AgentService/UpdateAgent': Endpoint.unary(method=MethodInfo(name='UpdateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.UpdateAgentRequest, output=public_dot_agent__pb2.UpdateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_agent), '/textql.rpc.public.agent.AgentService/ListAgents': Endpoint.unary(method=MethodInfo(name='ListAgents', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentsRequest, output=public_dot_agent__pb2.ListAgentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_agents), '/textql.rpc.public.agent.AgentService/GetAgent': Endpoint.unary(method=MethodInfo(name='GetAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.GetAgentRequest, output=public_dot_agent__pb2.GetAgentResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_agent), '/textql.rpc.public.agent.AgentService/DeleteAgent': Endpoint.unary(method=MethodInfo(name='DeleteAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.DeleteAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_agent), '/textql.rpc.public.agent.AgentService/TriggerAgent': Endpoint.unary(method=MethodInfo(name='TriggerAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.TriggerAgentRequest, output=public_dot_agent__pb2.TriggerAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.trigger_agent), '/textql.rpc.public.agent.AgentService/TriggerAgentComment': Endpoint.unary(method=MethodInfo(name='TriggerAgentComment', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.TriggerAgentCommentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.trigger_agent_comment), '/textql.rpc.public.agent.AgentService/DuplicateAgent': Endpoint.unary(method=MethodInfo(name='DuplicateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.DuplicateAgentRequest, output=public_dot_agent__pb2.DuplicateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.duplicate_agent), '/textql.rpc.public.agent.AgentService/SeedOrganization': Endpoint.unary(method=MethodInfo(name='SeedOrganization', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.SeedOrganizationRequest, output=public_dot_agent__pb2.SeedOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.seed_organization), '/textql.rpc.public.agent.AgentService/StreamAgentStatus': Endpoint.server_stream(method=MethodInfo(name='StreamAgentStatus', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.StreamAgentStatusRequest, output=public_dot_agent__pb2.AgentStatusUpdate, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.stream_agent_status), '/textql.rpc.public.agent.AgentService/ListAgentRuns': Endpoint.unary(method=MethodInfo(name='ListAgentRuns', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentRunsRequest, output=public_dot_agent__pb2.ListAgentRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_agent_runs), '/textql.rpc.public.agent.AgentService/GetAgentRun': Endpoint.unary(method=MethodInfo(name='GetAgentRun', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.GetAgentRunRequest, output=public_dot_agent__pb2.GetAgentRunResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_agent_run), '/textql.rpc.public.agent.AgentService/ListAgentRunsForThing': Endpoint.unary(method=MethodInfo(name='ListAgentRunsForThing', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentRunsForThingRequest, output=public_dot_agent__pb2.ListAgentRunsForThingResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_agent_runs_for_thing), '/textql.rpc.public.agent.AgentService/UploadAgentAvatar': Endpoint.unary(method=MethodInfo(name='UploadAgentAvatar', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.UploadAgentAvatarRequest, output=public_dot_agent__pb2.UploadAgentAvatarResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upload_agent_avatar), '/textql.rpc.public.agent.AgentService/ResetAgentAvatar': Endpoint.unary(method=MethodInfo(name='ResetAgentAvatar', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ResetAgentAvatarRequest, output=public_dot_agent__pb2.ResetAgentAvatarResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.reset_agent_avatar)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.agent.AgentService' + +class AgentServiceClient(ConnectClient): + + async def create_agent(self, request: public_dot_agent__pb2.CreateAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.CreateAgentResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.CreateAgentRequest, output=public_dot_agent__pb2.CreateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_agent(self, request: public_dot_agent__pb2.UpdateAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.UpdateAgentResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.UpdateAgentRequest, output=public_dot_agent__pb2.UpdateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_agents(self, request: public_dot_agent__pb2.ListAgentsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.ListAgentsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAgents', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentsRequest, output=public_dot_agent__pb2.ListAgentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_agent(self, request: public_dot_agent__pb2.GetAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.GetAgentResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.GetAgentRequest, output=public_dot_agent__pb2.GetAgentResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def delete_agent(self, request: public_dot_agent__pb2.DeleteAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.DeleteAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def trigger_agent(self, request: public_dot_agent__pb2.TriggerAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.TriggerAgentResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TriggerAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.TriggerAgentRequest, output=public_dot_agent__pb2.TriggerAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def trigger_agent_comment(self, request: public_dot_agent__pb2.TriggerAgentCommentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='TriggerAgentComment', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.TriggerAgentCommentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def duplicate_agent(self, request: public_dot_agent__pb2.DuplicateAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.DuplicateAgentResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DuplicateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.DuplicateAgentRequest, output=public_dot_agent__pb2.DuplicateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def seed_organization(self, request: public_dot_agent__pb2.SeedOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.SeedOrganizationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SeedOrganization', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.SeedOrganizationRequest, output=public_dot_agent__pb2.SeedOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def stream_agent_status(self, request: public_dot_agent__pb2.StreamAgentStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> AsyncIterator[public_dot_agent__pb2.AgentStatusUpdate]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamAgentStatus', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.StreamAgentStatusRequest, output=public_dot_agent__pb2.AgentStatusUpdate, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_agent_runs(self, request: public_dot_agent__pb2.ListAgentRunsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.ListAgentRunsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAgentRuns', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentRunsRequest, output=public_dot_agent__pb2.ListAgentRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_agent_run(self, request: public_dot_agent__pb2.GetAgentRunRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.GetAgentRunResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetAgentRun', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.GetAgentRunRequest, output=public_dot_agent__pb2.GetAgentRunResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_agent_runs_for_thing(self, request: public_dot_agent__pb2.ListAgentRunsForThingRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.ListAgentRunsForThingResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAgentRunsForThing', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentRunsForThingRequest, output=public_dot_agent__pb2.ListAgentRunsForThingResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def upload_agent_avatar(self, request: public_dot_agent__pb2.UploadAgentAvatarRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.UploadAgentAvatarResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UploadAgentAvatar', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.UploadAgentAvatarRequest, output=public_dot_agent__pb2.UploadAgentAvatarResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def reset_agent_avatar(self, request: public_dot_agent__pb2.ResetAgentAvatarRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.ResetAgentAvatarResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ResetAgentAvatar', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ResetAgentAvatarRequest, output=public_dot_agent__pb2.ResetAgentAvatarResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class AgentServiceSync(Protocol): + + def create_agent(self, request: public_dot_agent__pb2.CreateAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.CreateAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_agent(self, request: public_dot_agent__pb2.UpdateAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.UpdateAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_agents(self, request: public_dot_agent__pb2.ListAgentsRequest, ctx: RequestContext) -> public_dot_agent__pb2.ListAgentsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_agent(self, request: public_dot_agent__pb2.GetAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.GetAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_agent(self, request: public_dot_agent__pb2.DeleteAgentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def trigger_agent(self, request: public_dot_agent__pb2.TriggerAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.TriggerAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def trigger_agent_comment(self, request: public_dot_agent__pb2.TriggerAgentCommentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def duplicate_agent(self, request: public_dot_agent__pb2.DuplicateAgentRequest, ctx: RequestContext) -> public_dot_agent__pb2.DuplicateAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def seed_organization(self, request: public_dot_agent__pb2.SeedOrganizationRequest, ctx: RequestContext) -> public_dot_agent__pb2.SeedOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_agent_status(self, request: public_dot_agent__pb2.StreamAgentStatusRequest, ctx: RequestContext) -> Iterator[public_dot_agent__pb2.AgentStatusUpdate]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_agent_runs(self, request: public_dot_agent__pb2.ListAgentRunsRequest, ctx: RequestContext) -> public_dot_agent__pb2.ListAgentRunsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_agent_run(self, request: public_dot_agent__pb2.GetAgentRunRequest, ctx: RequestContext) -> public_dot_agent__pb2.GetAgentRunResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_agent_runs_for_thing(self, request: public_dot_agent__pb2.ListAgentRunsForThingRequest, ctx: RequestContext) -> public_dot_agent__pb2.ListAgentRunsForThingResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upload_agent_avatar(self, request: public_dot_agent__pb2.UploadAgentAvatarRequest, ctx: RequestContext) -> public_dot_agent__pb2.UploadAgentAvatarResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def reset_agent_avatar(self, request: public_dot_agent__pb2.ResetAgentAvatarRequest, ctx: RequestContext) -> public_dot_agent__pb2.ResetAgentAvatarResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class AgentServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: AgentServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.agent.AgentService/CreateAgent': EndpointSync.unary(method=MethodInfo(name='CreateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.CreateAgentRequest, output=public_dot_agent__pb2.CreateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_agent), '/textql.rpc.public.agent.AgentService/UpdateAgent': EndpointSync.unary(method=MethodInfo(name='UpdateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.UpdateAgentRequest, output=public_dot_agent__pb2.UpdateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_agent), '/textql.rpc.public.agent.AgentService/ListAgents': EndpointSync.unary(method=MethodInfo(name='ListAgents', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentsRequest, output=public_dot_agent__pb2.ListAgentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_agents), '/textql.rpc.public.agent.AgentService/GetAgent': EndpointSync.unary(method=MethodInfo(name='GetAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.GetAgentRequest, output=public_dot_agent__pb2.GetAgentResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_agent), '/textql.rpc.public.agent.AgentService/DeleteAgent': EndpointSync.unary(method=MethodInfo(name='DeleteAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.DeleteAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_agent), '/textql.rpc.public.agent.AgentService/TriggerAgent': EndpointSync.unary(method=MethodInfo(name='TriggerAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.TriggerAgentRequest, output=public_dot_agent__pb2.TriggerAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.trigger_agent), '/textql.rpc.public.agent.AgentService/TriggerAgentComment': EndpointSync.unary(method=MethodInfo(name='TriggerAgentComment', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.TriggerAgentCommentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.trigger_agent_comment), '/textql.rpc.public.agent.AgentService/DuplicateAgent': EndpointSync.unary(method=MethodInfo(name='DuplicateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.DuplicateAgentRequest, output=public_dot_agent__pb2.DuplicateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.duplicate_agent), '/textql.rpc.public.agent.AgentService/SeedOrganization': EndpointSync.unary(method=MethodInfo(name='SeedOrganization', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.SeedOrganizationRequest, output=public_dot_agent__pb2.SeedOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.seed_organization), '/textql.rpc.public.agent.AgentService/StreamAgentStatus': EndpointSync.server_stream(method=MethodInfo(name='StreamAgentStatus', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.StreamAgentStatusRequest, output=public_dot_agent__pb2.AgentStatusUpdate, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.stream_agent_status), '/textql.rpc.public.agent.AgentService/ListAgentRuns': EndpointSync.unary(method=MethodInfo(name='ListAgentRuns', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentRunsRequest, output=public_dot_agent__pb2.ListAgentRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_agent_runs), '/textql.rpc.public.agent.AgentService/GetAgentRun': EndpointSync.unary(method=MethodInfo(name='GetAgentRun', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.GetAgentRunRequest, output=public_dot_agent__pb2.GetAgentRunResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_agent_run), '/textql.rpc.public.agent.AgentService/ListAgentRunsForThing': EndpointSync.unary(method=MethodInfo(name='ListAgentRunsForThing', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentRunsForThingRequest, output=public_dot_agent__pb2.ListAgentRunsForThingResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_agent_runs_for_thing), '/textql.rpc.public.agent.AgentService/UploadAgentAvatar': EndpointSync.unary(method=MethodInfo(name='UploadAgentAvatar', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.UploadAgentAvatarRequest, output=public_dot_agent__pb2.UploadAgentAvatarResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upload_agent_avatar), '/textql.rpc.public.agent.AgentService/ResetAgentAvatar': EndpointSync.unary(method=MethodInfo(name='ResetAgentAvatar', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ResetAgentAvatarRequest, output=public_dot_agent__pb2.ResetAgentAvatarResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.reset_agent_avatar)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.agent.AgentService' + +class AgentServiceClientSync(ConnectClientSync): + + def create_agent(self, request: public_dot_agent__pb2.CreateAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.CreateAgentResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.CreateAgentRequest, output=public_dot_agent__pb2.CreateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_agent(self, request: public_dot_agent__pb2.UpdateAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.UpdateAgentResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.UpdateAgentRequest, output=public_dot_agent__pb2.UpdateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_agents(self, request: public_dot_agent__pb2.ListAgentsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.ListAgentsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAgents', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentsRequest, output=public_dot_agent__pb2.ListAgentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_agent(self, request: public_dot_agent__pb2.GetAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.GetAgentResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.GetAgentRequest, output=public_dot_agent__pb2.GetAgentResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def delete_agent(self, request: public_dot_agent__pb2.DeleteAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.DeleteAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def trigger_agent(self, request: public_dot_agent__pb2.TriggerAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.TriggerAgentResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TriggerAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.TriggerAgentRequest, output=public_dot_agent__pb2.TriggerAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def trigger_agent_comment(self, request: public_dot_agent__pb2.TriggerAgentCommentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='TriggerAgentComment', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.TriggerAgentCommentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def duplicate_agent(self, request: public_dot_agent__pb2.DuplicateAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.DuplicateAgentResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DuplicateAgent', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.DuplicateAgentRequest, output=public_dot_agent__pb2.DuplicateAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def seed_organization(self, request: public_dot_agent__pb2.SeedOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.SeedOrganizationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SeedOrganization', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.SeedOrganizationRequest, output=public_dot_agent__pb2.SeedOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def stream_agent_status(self, request: public_dot_agent__pb2.StreamAgentStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> Iterator[public_dot_agent__pb2.AgentStatusUpdate]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamAgentStatus', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.StreamAgentStatusRequest, output=public_dot_agent__pb2.AgentStatusUpdate, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_agent_runs(self, request: public_dot_agent__pb2.ListAgentRunsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.ListAgentRunsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAgentRuns', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentRunsRequest, output=public_dot_agent__pb2.ListAgentRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_agent_run(self, request: public_dot_agent__pb2.GetAgentRunRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.GetAgentRunResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetAgentRun', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.GetAgentRunRequest, output=public_dot_agent__pb2.GetAgentRunResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_agent_runs_for_thing(self, request: public_dot_agent__pb2.ListAgentRunsForThingRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_agent__pb2.ListAgentRunsForThingResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAgentRunsForThing', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ListAgentRunsForThingRequest, output=public_dot_agent__pb2.ListAgentRunsForThingResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def upload_agent_avatar(self, request: public_dot_agent__pb2.UploadAgentAvatarRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.UploadAgentAvatarResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UploadAgentAvatar', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.UploadAgentAvatarRequest, output=public_dot_agent__pb2.UploadAgentAvatarResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def reset_agent_avatar(self, request: public_dot_agent__pb2.ResetAgentAvatarRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_agent__pb2.ResetAgentAvatarResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ResetAgentAvatar', service_name='textql.rpc.public.agent.AgentService', input=public_dot_agent__pb2.ResetAgentAvatarRequest, output=public_dot_agent__pb2.ResetAgentAvatarResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/agent_pb2.py b/src/textql_sdk/_connect/public/agent_pb2.py new file mode 100644 index 0000000..1790bcb --- /dev/null +++ b/src/textql_sdk/_connect/public/agent_pb2.py @@ -0,0 +1,116 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/agent.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import chat_pb2 as public_dot_chat__pb2 +from ..public import llm_model_pb2 as public_dot_llm__model__pb2 +from ..public import paradigm_pb2 as public_dot_paradigm__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12public/agent.proto\x12\x17textql.rpc.public.agent\x1a\x1bgoogle/api/visibility.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x11public/chat.proto\x1a\x16public/llm_model.proto\x1a\x15public/paradigm.proto"\xa9\x01\n\x11SlackAgentTrigger\x12\x1d\n\ntrigger_id\x18\x01 \x01(\tR\ttriggerId\x12\x1b\n\tis_active\x18\x02 \x01(\x08R\x08isActive\x12\x1c\n\x07team_id\x18\x03 \x01(\tH\x00R\x06teamId\x88\x01\x01\x12.\n\x13allowed_channel_ids\x18\x04 \x03(\tR\x11allowedChannelIdsB\n\n\x08_team_id"\xdf\x0b\n\x05Agent\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06prompt\x18\x04 \x01(\tR\x06prompt\x12\x1b\n\tis_active\x18\x07 \x01(\x08R\x08isActive\x12<\n\x0clast_post_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\nlastPostAt\x12[\n\x10paradigm_options\x18\n \x01(\x0b2+.textql.rpc.public.paradigm.ParadigmOptionsH\x00R\x0fparadigmOptions\x88\x01\x01\x12\x1d\n\npost_count\x18\x0b \x01(\x05R\tpostCount\x12#\n\rcomment_count\x18\x0c \x01(\x05R\x0ccommentCount\x12\x1d\n\nvote_count\x18\r \x01(\x05R\tvoteCount\x12\x1b\n\tmember_id\x18\x0e \x01(\tR\x08memberId\x12\x1f\n\x0bmember_name\x18\x0f \x01(\tR\nmemberName\x12 \n\x0clast_chat_id\x18\x10 \x01(\tR\nlastChatId\x125\n\x14has_write_permission\x18\x11 \x01(\x08H\x01R\x12hasWritePermission\x88\x01\x01\x12-\n\x10slack_channel_id\x18\x12 \x01(\tH\x02R\x0eslackChannelId\x88\x01\x01\x12)\n\x11slack_dm_user_ids\x18\x13 \x03(\tR\x0eslackDmUserIds\x127\n\x18skip_org_default_channel\x18\x14 \x01(\x08R\x15skipOrgDefaultChannel\x12B\n\tllm_model\x18\x16 \x01(\x0e2 .textql.rpc.public.chat.LlmModelH\x03R\x08llmModel\x88\x01\x01\x12 \n\tfast_mode\x18\x17 \x01(\x08H\x04R\x08fastMode\x88\x01\x01\x12$\n\x0bis_stateful\x18\x18 \x01(\x08H\x05R\nisStateful\x88\x01\x01\x126\n\x17posting_frequency_crons\x18\x19 \x03(\tR\x15postingFrequencyCrons\x120\n\x14email_output_enabled\x18\x1a \x01(\x08R\x12emailOutputEnabled\x12;\n\x1aemail_recipient_member_ids\x18\x1b \x03(\tR\x17emailRecipientMemberIds\x12,\n\x12webhook_trigger_id\x18\x1c \x01(\tR\x10webhookTriggerId\x12\x1f\n\x0bchannel_ids\x18\x1d \x03(\tR\nchannelIds\x12-\n\x10teams_channel_id\x18\x1e \x01(\tH\x06R\x0eteamsChannelId\x88\x01\x01\x120\n\x15teams_dm_user_aad_ids\x18\x1f \x03(\tR\x11teamsDmUserAadIds\x12T\n\rslack_trigger\x18 \x01(\x0b2*.textql.rpc.public.agent.SlackAgentTriggerH\x07R\x0cslackTrigger\x88\x01\x01\x12*\n\x11profile_image_url\x18! \x01(\tR\x0fprofileImageUrl\x12<\n\x1aposting_frequency_cadences\x18" \x03(\tR\x18postingFrequencyCadencesB\x13\n\x11_paradigm_optionsB\x17\n\x15_has_write_permissionB\x13\n\x11_slack_channel_idB\x0c\n\n_llm_modelB\x0c\n\n_fast_modeB\x0e\n\x0c_is_statefulB\x13\n\x11_teams_channel_idB\x10\n\x0e_slack_triggerJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\x15\x10\x16"q\n\x18UploadAgentAvatarRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId\x12\x1d\n\nimage_data\x18\x02 \x01(\x0cR\timageData\x12\x1b\n\tfile_name\x18\x03 \x01(\tR\x08fileName"G\n\x19UploadAgentAvatarResponse\x12*\n\x11profile_image_url\x18\x01 \x01(\tR\x0fprofileImageUrl"4\n\x17ResetAgentAvatarRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId"F\n\x18ResetAgentAvatarResponse\x12*\n\x11profile_image_url\x18\x01 \x01(\tR\x0fprofileImageUrl"\x94\x08\n\x12CreateAgentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06prompt\x18\x03 \x01(\tR\x06prompt\x12[\n\x10paradigm_options\x18\x07 \x01(\x0b2+.textql.rpc.public.paradigm.ParadigmOptionsH\x00R\x0fparadigmOptions\x88\x01\x01\x120\n\x14source_suggestion_id\x18\x08 \x01(\tR\x12sourceSuggestionId\x12-\n\x10slack_channel_id\x18\t \x01(\tH\x01R\x0eslackChannelId\x88\x01\x01\x12)\n\x11slack_dm_user_ids\x18\n \x03(\tR\x0eslackDmUserIds\x127\n\x18skip_org_default_channel\x18\x0b \x01(\x08R\x15skipOrgDefaultChannel\x12B\n\tllm_model\x18\r \x01(\x0e2 .textql.rpc.public.chat.LlmModelH\x02R\x08llmModel\x88\x01\x01\x12 \n\tfast_mode\x18\x0e \x01(\x08H\x03R\x08fastMode\x88\x01\x01\x12$\n\x0bis_stateful\x18\x0f \x01(\x08H\x04R\nisStateful\x88\x01\x01\x126\n\x17posting_frequency_crons\x18\x10 \x03(\tR\x15postingFrequencyCrons\x12;\n\x1aemail_recipient_member_ids\x18\x11 \x03(\tR\x17emailRecipientMemberIds\x12\x1f\n\x0bchannel_ids\x18\x12 \x03(\tR\nchannelIds\x12-\n\x10teams_channel_id\x18\x13 \x01(\tH\x05R\x0eteamsChannelId\x88\x01\x01\x120\n\x15teams_dm_user_aad_ids\x18\x14 \x03(\tR\x11teamsDmUserAadIds\x12T\n\rslack_trigger\x18\x15 \x01(\x0b2*.textql.rpc.public.agent.SlackAgentTriggerH\x06R\x0cslackTrigger\x88\x01\x01\x12<\n\x1aposting_frequency_cadences\x18\x16 \x03(\tR\x18postingFrequencyCadencesB\x13\n\x11_paradigm_optionsB\x13\n\x11_slack_channel_idB\x0c\n\n_llm_modelB\x0c\n\n_fast_modeB\x0e\n\x0c_is_statefulB\x13\n\x11_teams_channel_idB\x10\n\x0e_slack_triggerJ\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x0c\x10\r"d\n\x13CreateAgentResponse\x124\n\x05agent\x18\x01 \x01(\x0b2\x1e.textql.rpc.public.agent.AgentR\x05agent\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId"\xbd\t\n\x12UpdateAgentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06prompt\x18\x04 \x01(\tR\x06prompt\x12\x1b\n\tis_active\x18\x07 \x01(\x08R\x08isActive\x12[\n\x10paradigm_options\x18\t \x01(\x0b2+.textql.rpc.public.paradigm.ParadigmOptionsH\x00R\x0fparadigmOptions\x88\x01\x01\x12-\n\x10slack_channel_id\x18\n \x01(\tH\x01R\x0eslackChannelId\x88\x01\x01\x12)\n\x11slack_dm_user_ids\x18\x0b \x03(\tR\x0eslackDmUserIds\x127\n\x18skip_org_default_channel\x18\x0c \x01(\x08R\x15skipOrgDefaultChannel\x12B\n\tllm_model\x18\x0e \x01(\x0e2 .textql.rpc.public.chat.LlmModelH\x02R\x08llmModel\x88\x01\x01\x12 \n\tfast_mode\x18\x0f \x01(\x08H\x03R\x08fastMode\x88\x01\x01\x12$\n\x0bis_stateful\x18\x10 \x01(\x08H\x04R\nisStateful\x88\x01\x01\x126\n\x17posting_frequency_crons\x18\x11 \x03(\tR\x15postingFrequencyCrons\x12;\n\x1aemail_recipient_member_ids\x18\x12 \x03(\tR\x17emailRecipientMemberIds\x12;\n\x17update_email_recipients\x18\x13 \x01(\x08H\x05R\x15updateEmailRecipients\x88\x01\x01\x12\x1f\n\x0bchannel_ids\x18\x14 \x03(\tR\nchannelIds\x121\n\x12update_channel_ids\x18\x15 \x01(\x08H\x06R\x10updateChannelIds\x88\x01\x01\x12-\n\x10teams_channel_id\x18\x16 \x01(\tH\x07R\x0eteamsChannelId\x88\x01\x01\x120\n\x15teams_dm_user_aad_ids\x18\x17 \x03(\tR\x11teamsDmUserAadIds\x12T\n\rslack_trigger\x18\x18 \x01(\x0b2*.textql.rpc.public.agent.SlackAgentTriggerH\x08R\x0cslackTrigger\x88\x01\x01\x12<\n\x1aposting_frequency_cadences\x18\x19 \x03(\tR\x18postingFrequencyCadencesB\x13\n\x11_paradigm_optionsB\x13\n\x11_slack_channel_idB\x0c\n\n_llm_modelB\x0c\n\n_fast_modeB\x0e\n\x0c_is_statefulB\x1a\n\x18_update_email_recipientsB\x15\n\x13_update_channel_idsB\x13\n\x11_teams_channel_idB\x10\n\x0e_slack_triggerJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\r\x10\x0e"d\n\x13UpdateAgentResponse\x124\n\x05agent\x18\x01 \x01(\x0b2\x1e.textql.rpc.public.agent.AgentR\x05agent\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId"z\n\x11ListAgentsRequest\x12)\n\x10include_inactive\x18\x01 \x01(\x08R\x0fincludeInactive\x12&\n\x0finclude_all_org\x18\x02 \x01(\x08R\rincludeAllOrg\x12\x12\n\x04days\x18\x03 \x01(\x05R\x04days"L\n\x12ListAgentsResponse\x126\n\x06agents\x18\x01 \x03(\x0b2\x1e.textql.rpc.public.agent.AgentR\x06agents",\n\x0fGetAgentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId"H\n\x10GetAgentResponse\x124\n\x05agent\x18\x01 \x01(\x0b2\x1e.textql.rpc.public.agent.AgentR\x05agent"/\n\x12DeleteAgentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId"0\n\x13TriggerAgentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId"/\n\x14TriggerAgentResponse\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"z\n\x1aTriggerAgentCommentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId\x12\x17\n\x07post_id\x18\x02 \x01(\tR\x06postId\x12(\n\x10mention_thing_id\x18\x03 \x01(\tR\x0ementionThingId"2\n\x15DuplicateAgentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId"N\n\x16DuplicateAgentResponse\x124\n\x05agent\x18\x01 \x01(\x0b2\x1e.textql.rpc.public.agent.AgentR\x05agent"\x19\n\x17SeedOrganizationRequest"N\n\x18SeedOrganizationResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"\x1a\n\x18StreamAgentStatusRequest"\xe5\x01\n\x11AgentStatusUpdate\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId\x12?\n\x06status\x18\x02 \x01(\x0e2\'.textql.rpc.public.agent.AgentRunStatusR\x06status\x12\x18\n\x07summary\x18\x03 \x01(\tR\x07summary\x12\x17\n\x07post_id\x18\x04 \x01(\tR\x06postId\x12(\n\x10mention_thing_id\x18\x05 \x01(\tR\x0ementionThingId\x12\x17\n\x07chat_id\x18\x06 \x01(\tR\x06chatId"\xc6\x01\n\x14ListAgentRunsRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId\x12*\n\x0etrigger_source\x18\x02 \x01(\tH\x00R\rtriggerSource\x88\x01\x01\x12\x1b\n\x06status\x18\x03 \x01(\tH\x01R\x06status\x88\x01\x01\x12\x14\n\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x05 \x01(\x05R\x06offsetB\x11\n\x0f_trigger_sourceB\t\n\x07_status"\x8d\x02\n\x17AgentRunTriggerMetadata\x12\x1f\n\x0bauth_method\x18\x01 \x01(\tR\nauthMethod\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId\x12\x1c\n\napi_key_id\x18\x03 \x01(\tR\x08apiKeyId\x12\x1b\n\tclient_id\x18\x04 \x01(\tR\x08clientId\x12\x1d\n\nuser_agent\x18\x05 \x01(\tR\tuserAgent\x12\x0e\n\x02ip\x18\x06 \x01(\tR\x02ip\x12B\n\x03geo\x18\x07 \x01(\x0b2+.textql.rpc.public.agent.AgentRunTriggerGeoH\x00R\x03geo\x88\x01\x01B\x06\n\x04_geo"}\n\x12AgentRunTriggerGeo\x12\x12\n\x04city\x18\x01 \x01(\tR\x04city\x12\x16\n\x06region\x18\x02 \x01(\tR\x06region\x12\x18\n\x07country\x18\x03 \x01(\tR\x07country\x12!\n\x0ccountry_code\x18\x04 \x01(\tR\x0bcountryCode"\xd5\x01\n\x10AgentRunToolCall\x12\x12\n\x04tool\x18\x01 \x01(\tR\x04tool\x12\x18\n\x07summary\x18\x02 \x01(\tR\x07summary\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error\x12\x1f\n\x0bresult_json\x18\x04 \x01(\tR\nresultJson\x12\x17\n\x07cell_id\x18\x05 \x01(\tR\x06cellId\x12\x1f\n\x0bduration_ms\x18\x06 \x01(\x03R\ndurationMs\x12"\n\rstarted_at_ms\x18\x07 \x01(\x03R\x0bstartedAtMs"\x9b\x02\n\x14AgentRunToolsSummary\x12\x1f\n\x0btotal_calls\x18\x01 \x01(\x05R\ntotalCalls\x12^\n\x0btool_counts\x18\x02 \x03(\x0b2=.textql.rpc.public.agent.AgentRunToolsSummary.ToolCountsEntryR\ntoolCounts\x12C\n\x07details\x18\x03 \x03(\x0b2).textql.rpc.public.agent.AgentRunToolCallR\x07details\x1a=\n\x0fToolCountsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01"S\n\x17AgentRunDeliveryChannel\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id\x12\x14\n\x05label\x18\x03 \x01(\tR\x05label"\xac\x03\n\x10AgentRunDelivery\x12-\n\x10slack_channel_id\x18\x01 \x01(\tH\x00R\x0eslackChannelId\x88\x01\x01\x12-\n\x10teams_channel_id\x18\x02 \x01(\tH\x01R\x0eteamsChannelId\x88\x01\x01\x12)\n\x11slack_dm_user_ids\x18\x03 \x03(\tR\x0eslackDmUserIds\x120\n\x15teams_dm_user_aad_ids\x18\x04 \x03(\tR\x11teamsDmUserAadIds\x12;\n\x1aemail_recipient_member_ids\x18\x05 \x03(\tR\x17emailRecipientMemberIds\x12(\n\x10feed_channel_ids\x18\x06 \x03(\tR\x0efeedChannelIds\x12L\n\x08channels\x18\x07 \x03(\x0b20.textql.rpc.public.agent.AgentRunDeliveryChannelR\x08channelsB\x13\n\x11_slack_channel_idB\x13\n\x11_teams_channel_id"\xf1\x08\n\x08AgentRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x19\n\x08agent_id\x18\x02 \x01(\tR\x07agentId\x12%\n\x0etrigger_source\x18\x03 \x01(\tR\rtriggerSource\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12\x17\n\x07chat_id\x18\x05 \x01(\tR\x06chatId\x12,\n\x12webhook_trigger_id\x18\x06 \x01(\tR\x10webhookTriggerId\x123\n\x16triggered_by_member_id\x18\x07 \x01(\tR\x13triggeredByMemberId\x121\n\x15triggered_by_agent_id\x18\x08 \x01(\tR\x12triggeredByAgentId\x12\x1d\n\nerror_kind\x18\t \x01(\tR\terrorKind\x12#\n\rerror_message\x18\n \x01(\tR\x0cerrorMessage\x12\x18\n\x07attempt\x18\x0b \x01(\x05R\x07attempt\x12(\n\x10tool_calls_count\x18\x0c \x01(\x05R\x0etoolCallsCount\x12!\n\x0clast_summary\x18\r \x01(\tR\x0blastSummary\x129\n\ncreated_at\x18\x0e \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nstarted_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartedAt\x12;\n\x0bfinished_at\x18\x10 \x01(\x0b2\x1a.google.protobuf.TimestampR\nfinishedAt\x12`\n\x10trigger_metadata\x18\x11 \x01(\x0b20.textql.rpc.public.agent.AgentRunTriggerMetadataH\x00R\x0ftriggerMetadata\x88\x01\x01\x12W\n\rtools_summary\x18\x12 \x01(\x0b2-.textql.rpc.public.agent.AgentRunToolsSummaryH\x01R\x0ctoolsSummary\x88\x01\x01\x12J\n\x08delivery\x18\x13 \x01(\x0b2).textql.rpc.public.agent.AgentRunDeliveryH\x02R\x08delivery\x88\x01\x01\x12Q\n\x0eegress_summary\x18\x14 \x01(\x0b2%.textql.rpc.public.chat.EgressSummaryH\x03R\regressSummary\x88\x01\x01\x12#\n\rconnector_ids\x18\x15 \x03(\x05R\x0cconnectorIds\x12(\n\x10sandbox_mount_ms\x18\x16 \x01(\x03R\x0esandboxMountMsB\x13\n\x11_trigger_metadataB\x10\n\x0e_tools_summaryB\x0b\n\t_deliveryB\x11\n\x0f_egress_summary"N\n\x15ListAgentRunsResponse\x125\n\x04runs\x18\x01 \x03(\x0b2!.textql.rpc.public.agent.AgentRunR\x04runs"+\n\x12GetAgentRunRequest\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId"J\n\x13GetAgentRunResponse\x123\n\x03run\x18\x01 \x01(\x0b2!.textql.rpc.public.agent.AgentRunR\x03run"\x91\x01\n\x1cListAgentRunsForThingRequest\x12\x19\n\x08thing_id\x18\x01 \x01(\tR\x07thingId\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12\x1c\n\x07chat_id\x18\x04 \x01(\tH\x00R\x06chatId\x88\x01\x01B\n\n\x08_chat_id"V\n\x1dListAgentRunsForThingResponse\x125\n\x04runs\x18\x01 \x03(\x0b2!.textql.rpc.public.agent.AgentRunR\x04runs*\xa8\x01\n\x0eAgentRunStatus\x12 \n\x1cAGENT_RUN_STATUS_UNSPECIFIED\x10\x00\x12\x1c\n\x18AGENT_RUN_STATUS_RUNNING\x10\x01\x12\x19\n\x15AGENT_RUN_STATUS_DONE\x10\x02\x12\x1b\n\x17AGENT_RUN_STATUS_FAILED\x10\x03\x12\x1e\n\x1aAGENT_RUN_STATUS_CANCELLED\x10\x042\xd7\r\n\x0cAgentService\x12h\n\x0bCreateAgent\x12+.textql.rpc.public.agent.CreateAgentRequest\x1a,.textql.rpc.public.agent.CreateAgentResponse\x12h\n\x0bUpdateAgent\x12+.textql.rpc.public.agent.UpdateAgentRequest\x1a,.textql.rpc.public.agent.UpdateAgentResponse\x12j\n\nListAgents\x12*.textql.rpc.public.agent.ListAgentsRequest\x1a+.textql.rpc.public.agent.ListAgentsResponse"\x03\x90\x02\x01\x12d\n\x08GetAgent\x12(.textql.rpc.public.agent.GetAgentRequest\x1a).textql.rpc.public.agent.GetAgentResponse"\x03\x90\x02\x01\x12R\n\x0bDeleteAgent\x12+.textql.rpc.public.agent.DeleteAgentRequest\x1a\x16.google.protobuf.Empty\x12k\n\x0cTriggerAgent\x12,.textql.rpc.public.agent.TriggerAgentRequest\x1a-.textql.rpc.public.agent.TriggerAgentResponse\x12t\n\x13TriggerAgentComment\x123.textql.rpc.public.agent.TriggerAgentCommentRequest\x1a\x16.google.protobuf.Empty"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12q\n\x0eDuplicateAgent\x12..textql.rpc.public.agent.DuplicateAgentRequest\x1a/.textql.rpc.public.agent.DuplicateAgentResponse\x12\x89\x01\n\x10SeedOrganization\x120.textql.rpc.public.agent.SeedOrganizationRequest\x1a1.textql.rpc.public.agent.SeedOrganizationResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12t\n\x11StreamAgentStatus\x121.textql.rpc.public.agent.StreamAgentStatusRequest\x1a*.textql.rpc.public.agent.AgentStatusUpdate0\x01\x12s\n\rListAgentRuns\x12-.textql.rpc.public.agent.ListAgentRunsRequest\x1a..textql.rpc.public.agent.ListAgentRunsResponse"\x03\x90\x02\x01\x12m\n\x0bGetAgentRun\x12+.textql.rpc.public.agent.GetAgentRunRequest\x1a,.textql.rpc.public.agent.GetAgentRunResponse"\x03\x90\x02\x01\x12\x9b\x01\n\x15ListAgentRunsForThing\x125.textql.rpc.public.agent.ListAgentRunsForThingRequest\x1a6.textql.rpc.public.agent.ListAgentRunsForThingResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12z\n\x11UploadAgentAvatar\x121.textql.rpc.public.agent.UploadAgentAvatarRequest\x1a2.textql.rpc.public.agent.UploadAgentAvatarResponse\x12w\n\x10ResetAgentAvatar\x120.textql.rpc.public.agent.ResetAgentAvatarRequest\x1a1.textql.rpc.public.agent.ResetAgentAvatarResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.agent_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_AGENTRUNTOOLSSUMMARY_TOOLCOUNTSENTRY']._loaded_options = None + _globals['_AGENTRUNTOOLSSUMMARY_TOOLCOUNTSENTRY']._serialized_options = b'8\x01' + _globals['_AGENTSERVICE'].methods_by_name['ListAgents']._loaded_options = None + _globals['_AGENTSERVICE'].methods_by_name['ListAgents']._serialized_options = b'\x90\x02\x01' + _globals['_AGENTSERVICE'].methods_by_name['GetAgent']._loaded_options = None + _globals['_AGENTSERVICE'].methods_by_name['GetAgent']._serialized_options = b'\x90\x02\x01' + _globals['_AGENTSERVICE'].methods_by_name['TriggerAgentComment']._loaded_options = None + _globals['_AGENTSERVICE'].methods_by_name['TriggerAgentComment']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_AGENTSERVICE'].methods_by_name['SeedOrganization']._loaded_options = None + _globals['_AGENTSERVICE'].methods_by_name['SeedOrganization']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_AGENTSERVICE'].methods_by_name['ListAgentRuns']._loaded_options = None + _globals['_AGENTSERVICE'].methods_by_name['ListAgentRuns']._serialized_options = b'\x90\x02\x01' + _globals['_AGENTSERVICE'].methods_by_name['GetAgentRun']._loaded_options = None + _globals['_AGENTSERVICE'].methods_by_name['GetAgentRun']._serialized_options = b'\x90\x02\x01' + _globals['_AGENTSERVICE'].methods_by_name['ListAgentRunsForThing']._loaded_options = None + _globals['_AGENTSERVICE'].methods_by_name['ListAgentRunsForThing']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_AGENTRUNSTATUS']._serialized_start = 8952 + _globals['_AGENTRUNSTATUS']._serialized_end = 9120 + _globals['_SLACKAGENTTRIGGER']._serialized_start = 205 + _globals['_SLACKAGENTTRIGGER']._serialized_end = 374 + _globals['_AGENT']._serialized_start = 377 + _globals['_AGENT']._serialized_end = 1880 + _globals['_UPLOADAGENTAVATARREQUEST']._serialized_start = 1882 + _globals['_UPLOADAGENTAVATARREQUEST']._serialized_end = 1995 + _globals['_UPLOADAGENTAVATARRESPONSE']._serialized_start = 1997 + _globals['_UPLOADAGENTAVATARRESPONSE']._serialized_end = 2068 + _globals['_RESETAGENTAVATARREQUEST']._serialized_start = 2070 + _globals['_RESETAGENTAVATARREQUEST']._serialized_end = 2122 + _globals['_RESETAGENTAVATARRESPONSE']._serialized_start = 2124 + _globals['_RESETAGENTAVATARRESPONSE']._serialized_end = 2194 + _globals['_CREATEAGENTREQUEST']._serialized_start = 2197 + _globals['_CREATEAGENTREQUEST']._serialized_end = 3241 + _globals['_CREATEAGENTRESPONSE']._serialized_start = 3243 + _globals['_CREATEAGENTRESPONSE']._serialized_end = 3343 + _globals['_UPDATEAGENTREQUEST']._serialized_start = 3346 + _globals['_UPDATEAGENTREQUEST']._serialized_end = 4559 + _globals['_UPDATEAGENTRESPONSE']._serialized_start = 4561 + _globals['_UPDATEAGENTRESPONSE']._serialized_end = 4661 + _globals['_LISTAGENTSREQUEST']._serialized_start = 4663 + _globals['_LISTAGENTSREQUEST']._serialized_end = 4785 + _globals['_LISTAGENTSRESPONSE']._serialized_start = 4787 + _globals['_LISTAGENTSRESPONSE']._serialized_end = 4863 + _globals['_GETAGENTREQUEST']._serialized_start = 4865 + _globals['_GETAGENTREQUEST']._serialized_end = 4909 + _globals['_GETAGENTRESPONSE']._serialized_start = 4911 + _globals['_GETAGENTRESPONSE']._serialized_end = 4983 + _globals['_DELETEAGENTREQUEST']._serialized_start = 4985 + _globals['_DELETEAGENTREQUEST']._serialized_end = 5032 + _globals['_TRIGGERAGENTREQUEST']._serialized_start = 5034 + _globals['_TRIGGERAGENTREQUEST']._serialized_end = 5082 + _globals['_TRIGGERAGENTRESPONSE']._serialized_start = 5084 + _globals['_TRIGGERAGENTRESPONSE']._serialized_end = 5131 + _globals['_TRIGGERAGENTCOMMENTREQUEST']._serialized_start = 5133 + _globals['_TRIGGERAGENTCOMMENTREQUEST']._serialized_end = 5255 + _globals['_DUPLICATEAGENTREQUEST']._serialized_start = 5257 + _globals['_DUPLICATEAGENTREQUEST']._serialized_end = 5307 + _globals['_DUPLICATEAGENTRESPONSE']._serialized_start = 5309 + _globals['_DUPLICATEAGENTRESPONSE']._serialized_end = 5387 + _globals['_SEEDORGANIZATIONREQUEST']._serialized_start = 5389 + _globals['_SEEDORGANIZATIONREQUEST']._serialized_end = 5414 + _globals['_SEEDORGANIZATIONRESPONSE']._serialized_start = 5416 + _globals['_SEEDORGANIZATIONRESPONSE']._serialized_end = 5494 + _globals['_STREAMAGENTSTATUSREQUEST']._serialized_start = 5496 + _globals['_STREAMAGENTSTATUSREQUEST']._serialized_end = 5522 + _globals['_AGENTSTATUSUPDATE']._serialized_start = 5525 + _globals['_AGENTSTATUSUPDATE']._serialized_end = 5754 + _globals['_LISTAGENTRUNSREQUEST']._serialized_start = 5757 + _globals['_LISTAGENTRUNSREQUEST']._serialized_end = 5955 + _globals['_AGENTRUNTRIGGERMETADATA']._serialized_start = 5958 + _globals['_AGENTRUNTRIGGERMETADATA']._serialized_end = 6227 + _globals['_AGENTRUNTRIGGERGEO']._serialized_start = 6229 + _globals['_AGENTRUNTRIGGERGEO']._serialized_end = 6354 + _globals['_AGENTRUNTOOLCALL']._serialized_start = 6357 + _globals['_AGENTRUNTOOLCALL']._serialized_end = 6570 + _globals['_AGENTRUNTOOLSSUMMARY']._serialized_start = 6573 + _globals['_AGENTRUNTOOLSSUMMARY']._serialized_end = 6856 + _globals['_AGENTRUNTOOLSSUMMARY_TOOLCOUNTSENTRY']._serialized_start = 6795 + _globals['_AGENTRUNTOOLSSUMMARY_TOOLCOUNTSENTRY']._serialized_end = 6856 + _globals['_AGENTRUNDELIVERYCHANNEL']._serialized_start = 6858 + _globals['_AGENTRUNDELIVERYCHANNEL']._serialized_end = 6941 + _globals['_AGENTRUNDELIVERY']._serialized_start = 6944 + _globals['_AGENTRUNDELIVERY']._serialized_end = 7372 + _globals['_AGENTRUN']._serialized_start = 7375 + _globals['_AGENTRUN']._serialized_end = 8512 + _globals['_LISTAGENTRUNSRESPONSE']._serialized_start = 8514 + _globals['_LISTAGENTRUNSRESPONSE']._serialized_end = 8592 + _globals['_GETAGENTRUNREQUEST']._serialized_start = 8594 + _globals['_GETAGENTRUNREQUEST']._serialized_end = 8637 + _globals['_GETAGENTRUNRESPONSE']._serialized_start = 8639 + _globals['_GETAGENTRUNRESPONSE']._serialized_end = 8713 + _globals['_LISTAGENTRUNSFORTHINGREQUEST']._serialized_start = 8716 + _globals['_LISTAGENTRUNSFORTHINGREQUEST']._serialized_end = 8861 + _globals['_LISTAGENTRUNSFORTHINGRESPONSE']._serialized_start = 8863 + _globals['_LISTAGENTRUNSFORTHINGRESPONSE']._serialized_end = 8949 + _globals['_AGENTSERVICE']._serialized_start = 9123 + _globals['_AGENTSERVICE']._serialized_end = 10874 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/agent_pb2.pyi b/src/textql_sdk/_connect/public/agent_pb2.pyi new file mode 100644 index 0000000..159943f --- /dev/null +++ b/src/textql_sdk/_connect/public/agent_pb2.pyi @@ -0,0 +1,595 @@ +import datetime +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import chat_pb2 as _chat_pb2 +from public import llm_model_pb2 as _llm_model_pb2 +from public import paradigm_pb2 as _paradigm_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class AgentRunStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + AGENT_RUN_STATUS_UNSPECIFIED: _ClassVar[AgentRunStatus] + AGENT_RUN_STATUS_RUNNING: _ClassVar[AgentRunStatus] + AGENT_RUN_STATUS_DONE: _ClassVar[AgentRunStatus] + AGENT_RUN_STATUS_FAILED: _ClassVar[AgentRunStatus] + AGENT_RUN_STATUS_CANCELLED: _ClassVar[AgentRunStatus] +AGENT_RUN_STATUS_UNSPECIFIED: AgentRunStatus +AGENT_RUN_STATUS_RUNNING: AgentRunStatus +AGENT_RUN_STATUS_DONE: AgentRunStatus +AGENT_RUN_STATUS_FAILED: AgentRunStatus +AGENT_RUN_STATUS_CANCELLED: AgentRunStatus + +class SlackAgentTrigger(_message.Message): + __slots__ = ('trigger_id', 'is_active', 'team_id', 'allowed_channel_ids') + TRIGGER_ID_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + TEAM_ID_FIELD_NUMBER: _ClassVar[int] + ALLOWED_CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + trigger_id: str + is_active: bool + team_id: str + allowed_channel_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, trigger_id: _Optional[str]=..., is_active: bool=..., team_id: _Optional[str]=..., allowed_channel_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class Agent(_message.Message): + __slots__ = ('id', 'name', 'prompt', 'is_active', 'last_post_at', 'paradigm_options', 'post_count', 'comment_count', 'vote_count', 'member_id', 'member_name', 'last_chat_id', 'has_write_permission', 'slack_channel_id', 'slack_dm_user_ids', 'skip_org_default_channel', 'llm_model', 'fast_mode', 'is_stateful', 'posting_frequency_crons', 'email_output_enabled', 'email_recipient_member_ids', 'webhook_trigger_id', 'channel_ids', 'teams_channel_id', 'teams_dm_user_aad_ids', 'slack_trigger', 'profile_image_url', 'posting_frequency_cadences') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + LAST_POST_AT_FIELD_NUMBER: _ClassVar[int] + PARADIGM_OPTIONS_FIELD_NUMBER: _ClassVar[int] + POST_COUNT_FIELD_NUMBER: _ClassVar[int] + COMMENT_COUNT_FIELD_NUMBER: _ClassVar[int] + VOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_NAME_FIELD_NUMBER: _ClassVar[int] + LAST_CHAT_ID_FIELD_NUMBER: _ClassVar[int] + HAS_WRITE_PERMISSION_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_DM_USER_IDS_FIELD_NUMBER: _ClassVar[int] + SKIP_ORG_DEFAULT_CHANNEL_FIELD_NUMBER: _ClassVar[int] + LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_FIELD_NUMBER: _ClassVar[int] + IS_STATEFUL_FIELD_NUMBER: _ClassVar[int] + POSTING_FREQUENCY_CRONS_FIELD_NUMBER: _ClassVar[int] + EMAIL_OUTPUT_ENABLED_FIELD_NUMBER: _ClassVar[int] + EMAIL_RECIPIENT_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + WEBHOOK_TRIGGER_ID_FIELD_NUMBER: _ClassVar[int] + CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TEAMS_DM_USER_AAD_IDS_FIELD_NUMBER: _ClassVar[int] + SLACK_TRIGGER_FIELD_NUMBER: _ClassVar[int] + PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + POSTING_FREQUENCY_CADENCES_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + prompt: str + is_active: bool + last_post_at: _timestamp_pb2.Timestamp + paradigm_options: _paradigm_pb2.ParadigmOptions + post_count: int + comment_count: int + vote_count: int + member_id: str + member_name: str + last_chat_id: str + has_write_permission: bool + slack_channel_id: str + slack_dm_user_ids: _containers.RepeatedScalarFieldContainer[str] + skip_org_default_channel: bool + llm_model: _llm_model_pb2.LlmModel + fast_mode: bool + is_stateful: bool + posting_frequency_crons: _containers.RepeatedScalarFieldContainer[str] + email_output_enabled: bool + email_recipient_member_ids: _containers.RepeatedScalarFieldContainer[str] + webhook_trigger_id: str + channel_ids: _containers.RepeatedScalarFieldContainer[str] + teams_channel_id: str + teams_dm_user_aad_ids: _containers.RepeatedScalarFieldContainer[str] + slack_trigger: SlackAgentTrigger + profile_image_url: str + posting_frequency_cadences: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., prompt: _Optional[str]=..., is_active: bool=..., last_post_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., paradigm_options: _Optional[_Union[_paradigm_pb2.ParadigmOptions, _Mapping]]=..., post_count: _Optional[int]=..., comment_count: _Optional[int]=..., vote_count: _Optional[int]=..., member_id: _Optional[str]=..., member_name: _Optional[str]=..., last_chat_id: _Optional[str]=..., has_write_permission: bool=..., slack_channel_id: _Optional[str]=..., slack_dm_user_ids: _Optional[_Iterable[str]]=..., skip_org_default_channel: bool=..., llm_model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., fast_mode: bool=..., is_stateful: bool=..., posting_frequency_crons: _Optional[_Iterable[str]]=..., email_output_enabled: bool=..., email_recipient_member_ids: _Optional[_Iterable[str]]=..., webhook_trigger_id: _Optional[str]=..., channel_ids: _Optional[_Iterable[str]]=..., teams_channel_id: _Optional[str]=..., teams_dm_user_aad_ids: _Optional[_Iterable[str]]=..., slack_trigger: _Optional[_Union[SlackAgentTrigger, _Mapping]]=..., profile_image_url: _Optional[str]=..., posting_frequency_cadences: _Optional[_Iterable[str]]=...) -> None: + ... + +class UploadAgentAvatarRequest(_message.Message): + __slots__ = ('agent_id', 'image_data', 'file_name') + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + IMAGE_DATA_FIELD_NUMBER: _ClassVar[int] + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + agent_id: str + image_data: bytes + file_name: str + + def __init__(self, agent_id: _Optional[str]=..., image_data: _Optional[bytes]=..., file_name: _Optional[str]=...) -> None: + ... + +class UploadAgentAvatarResponse(_message.Message): + __slots__ = ('profile_image_url',) + PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + profile_image_url: str + + def __init__(self, profile_image_url: _Optional[str]=...) -> None: + ... + +class ResetAgentAvatarRequest(_message.Message): + __slots__ = ('agent_id',) + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + + def __init__(self, agent_id: _Optional[str]=...) -> None: + ... + +class ResetAgentAvatarResponse(_message.Message): + __slots__ = ('profile_image_url',) + PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + profile_image_url: str + + def __init__(self, profile_image_url: _Optional[str]=...) -> None: + ... + +class CreateAgentRequest(_message.Message): + __slots__ = ('name', 'prompt', 'paradigm_options', 'source_suggestion_id', 'slack_channel_id', 'slack_dm_user_ids', 'skip_org_default_channel', 'llm_model', 'fast_mode', 'is_stateful', 'posting_frequency_crons', 'email_recipient_member_ids', 'channel_ids', 'teams_channel_id', 'teams_dm_user_aad_ids', 'slack_trigger', 'posting_frequency_cadences') + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + PARADIGM_OPTIONS_FIELD_NUMBER: _ClassVar[int] + SOURCE_SUGGESTION_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_DM_USER_IDS_FIELD_NUMBER: _ClassVar[int] + SKIP_ORG_DEFAULT_CHANNEL_FIELD_NUMBER: _ClassVar[int] + LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_FIELD_NUMBER: _ClassVar[int] + IS_STATEFUL_FIELD_NUMBER: _ClassVar[int] + POSTING_FREQUENCY_CRONS_FIELD_NUMBER: _ClassVar[int] + EMAIL_RECIPIENT_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TEAMS_DM_USER_AAD_IDS_FIELD_NUMBER: _ClassVar[int] + SLACK_TRIGGER_FIELD_NUMBER: _ClassVar[int] + POSTING_FREQUENCY_CADENCES_FIELD_NUMBER: _ClassVar[int] + name: str + prompt: str + paradigm_options: _paradigm_pb2.ParadigmOptions + source_suggestion_id: str + slack_channel_id: str + slack_dm_user_ids: _containers.RepeatedScalarFieldContainer[str] + skip_org_default_channel: bool + llm_model: _llm_model_pb2.LlmModel + fast_mode: bool + is_stateful: bool + posting_frequency_crons: _containers.RepeatedScalarFieldContainer[str] + email_recipient_member_ids: _containers.RepeatedScalarFieldContainer[str] + channel_ids: _containers.RepeatedScalarFieldContainer[str] + teams_channel_id: str + teams_dm_user_aad_ids: _containers.RepeatedScalarFieldContainer[str] + slack_trigger: SlackAgentTrigger + posting_frequency_cadences: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, name: _Optional[str]=..., prompt: _Optional[str]=..., paradigm_options: _Optional[_Union[_paradigm_pb2.ParadigmOptions, _Mapping]]=..., source_suggestion_id: _Optional[str]=..., slack_channel_id: _Optional[str]=..., slack_dm_user_ids: _Optional[_Iterable[str]]=..., skip_org_default_channel: bool=..., llm_model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., fast_mode: bool=..., is_stateful: bool=..., posting_frequency_crons: _Optional[_Iterable[str]]=..., email_recipient_member_ids: _Optional[_Iterable[str]]=..., channel_ids: _Optional[_Iterable[str]]=..., teams_channel_id: _Optional[str]=..., teams_dm_user_aad_ids: _Optional[_Iterable[str]]=..., slack_trigger: _Optional[_Union[SlackAgentTrigger, _Mapping]]=..., posting_frequency_cadences: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreateAgentResponse(_message.Message): + __slots__ = ('agent', 'chat_id') + AGENT_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + agent: Agent + chat_id: str + + def __init__(self, agent: _Optional[_Union[Agent, _Mapping]]=..., chat_id: _Optional[str]=...) -> None: + ... + +class UpdateAgentRequest(_message.Message): + __slots__ = ('agent_id', 'name', 'prompt', 'is_active', 'paradigm_options', 'slack_channel_id', 'slack_dm_user_ids', 'skip_org_default_channel', 'llm_model', 'fast_mode', 'is_stateful', 'posting_frequency_crons', 'email_recipient_member_ids', 'update_email_recipients', 'channel_ids', 'update_channel_ids', 'teams_channel_id', 'teams_dm_user_aad_ids', 'slack_trigger', 'posting_frequency_cadences') + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + PARADIGM_OPTIONS_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_DM_USER_IDS_FIELD_NUMBER: _ClassVar[int] + SKIP_ORG_DEFAULT_CHANNEL_FIELD_NUMBER: _ClassVar[int] + LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_FIELD_NUMBER: _ClassVar[int] + IS_STATEFUL_FIELD_NUMBER: _ClassVar[int] + POSTING_FREQUENCY_CRONS_FIELD_NUMBER: _ClassVar[int] + EMAIL_RECIPIENT_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + UPDATE_EMAIL_RECIPIENTS_FIELD_NUMBER: _ClassVar[int] + CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + UPDATE_CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TEAMS_DM_USER_AAD_IDS_FIELD_NUMBER: _ClassVar[int] + SLACK_TRIGGER_FIELD_NUMBER: _ClassVar[int] + POSTING_FREQUENCY_CADENCES_FIELD_NUMBER: _ClassVar[int] + agent_id: str + name: str + prompt: str + is_active: bool + paradigm_options: _paradigm_pb2.ParadigmOptions + slack_channel_id: str + slack_dm_user_ids: _containers.RepeatedScalarFieldContainer[str] + skip_org_default_channel: bool + llm_model: _llm_model_pb2.LlmModel + fast_mode: bool + is_stateful: bool + posting_frequency_crons: _containers.RepeatedScalarFieldContainer[str] + email_recipient_member_ids: _containers.RepeatedScalarFieldContainer[str] + update_email_recipients: bool + channel_ids: _containers.RepeatedScalarFieldContainer[str] + update_channel_ids: bool + teams_channel_id: str + teams_dm_user_aad_ids: _containers.RepeatedScalarFieldContainer[str] + slack_trigger: SlackAgentTrigger + posting_frequency_cadences: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, agent_id: _Optional[str]=..., name: _Optional[str]=..., prompt: _Optional[str]=..., is_active: bool=..., paradigm_options: _Optional[_Union[_paradigm_pb2.ParadigmOptions, _Mapping]]=..., slack_channel_id: _Optional[str]=..., slack_dm_user_ids: _Optional[_Iterable[str]]=..., skip_org_default_channel: bool=..., llm_model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., fast_mode: bool=..., is_stateful: bool=..., posting_frequency_crons: _Optional[_Iterable[str]]=..., email_recipient_member_ids: _Optional[_Iterable[str]]=..., update_email_recipients: bool=..., channel_ids: _Optional[_Iterable[str]]=..., update_channel_ids: bool=..., teams_channel_id: _Optional[str]=..., teams_dm_user_aad_ids: _Optional[_Iterable[str]]=..., slack_trigger: _Optional[_Union[SlackAgentTrigger, _Mapping]]=..., posting_frequency_cadences: _Optional[_Iterable[str]]=...) -> None: + ... + +class UpdateAgentResponse(_message.Message): + __slots__ = ('agent', 'chat_id') + AGENT_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + agent: Agent + chat_id: str + + def __init__(self, agent: _Optional[_Union[Agent, _Mapping]]=..., chat_id: _Optional[str]=...) -> None: + ... + +class ListAgentsRequest(_message.Message): + __slots__ = ('include_inactive', 'include_all_org', 'days') + INCLUDE_INACTIVE_FIELD_NUMBER: _ClassVar[int] + INCLUDE_ALL_ORG_FIELD_NUMBER: _ClassVar[int] + DAYS_FIELD_NUMBER: _ClassVar[int] + include_inactive: bool + include_all_org: bool + days: int + + def __init__(self, include_inactive: bool=..., include_all_org: bool=..., days: _Optional[int]=...) -> None: + ... + +class ListAgentsResponse(_message.Message): + __slots__ = ('agents',) + AGENTS_FIELD_NUMBER: _ClassVar[int] + agents: _containers.RepeatedCompositeFieldContainer[Agent] + + def __init__(self, agents: _Optional[_Iterable[_Union[Agent, _Mapping]]]=...) -> None: + ... + +class GetAgentRequest(_message.Message): + __slots__ = ('agent_id',) + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + + def __init__(self, agent_id: _Optional[str]=...) -> None: + ... + +class GetAgentResponse(_message.Message): + __slots__ = ('agent',) + AGENT_FIELD_NUMBER: _ClassVar[int] + agent: Agent + + def __init__(self, agent: _Optional[_Union[Agent, _Mapping]]=...) -> None: + ... + +class DeleteAgentRequest(_message.Message): + __slots__ = ('agent_id',) + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + + def __init__(self, agent_id: _Optional[str]=...) -> None: + ... + +class TriggerAgentRequest(_message.Message): + __slots__ = ('agent_id',) + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + + def __init__(self, agent_id: _Optional[str]=...) -> None: + ... + +class TriggerAgentResponse(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class TriggerAgentCommentRequest(_message.Message): + __slots__ = ('agent_id', 'post_id', 'mention_thing_id') + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + POST_ID_FIELD_NUMBER: _ClassVar[int] + MENTION_THING_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + post_id: str + mention_thing_id: str + + def __init__(self, agent_id: _Optional[str]=..., post_id: _Optional[str]=..., mention_thing_id: _Optional[str]=...) -> None: + ... + +class DuplicateAgentRequest(_message.Message): + __slots__ = ('agent_id',) + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + + def __init__(self, agent_id: _Optional[str]=...) -> None: + ... + +class DuplicateAgentResponse(_message.Message): + __slots__ = ('agent',) + AGENT_FIELD_NUMBER: _ClassVar[int] + agent: Agent + + def __init__(self, agent: _Optional[_Union[Agent, _Mapping]]=...) -> None: + ... + +class SeedOrganizationRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class SeedOrganizationResponse(_message.Message): + __slots__ = ('success', 'message') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + success: bool + message: str + + def __init__(self, success: bool=..., message: _Optional[str]=...) -> None: + ... + +class StreamAgentStatusRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class AgentStatusUpdate(_message.Message): + __slots__ = ('agent_id', 'status', 'summary', 'post_id', 'mention_thing_id', 'chat_id') + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + POST_ID_FIELD_NUMBER: _ClassVar[int] + MENTION_THING_ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + status: AgentRunStatus + summary: str + post_id: str + mention_thing_id: str + chat_id: str + + def __init__(self, agent_id: _Optional[str]=..., status: _Optional[_Union[AgentRunStatus, str]]=..., summary: _Optional[str]=..., post_id: _Optional[str]=..., mention_thing_id: _Optional[str]=..., chat_id: _Optional[str]=...) -> None: + ... + +class ListAgentRunsRequest(_message.Message): + __slots__ = ('agent_id', 'trigger_source', 'status', 'limit', 'offset') + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + TRIGGER_SOURCE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + agent_id: str + trigger_source: str + status: str + limit: int + offset: int + + def __init__(self, agent_id: _Optional[str]=..., trigger_source: _Optional[str]=..., status: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class AgentRunTriggerMetadata(_message.Message): + __slots__ = ('auth_method', 'member_id', 'api_key_id', 'client_id', 'user_agent', 'ip', 'geo') + AUTH_METHOD_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + API_KEY_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + USER_AGENT_FIELD_NUMBER: _ClassVar[int] + IP_FIELD_NUMBER: _ClassVar[int] + GEO_FIELD_NUMBER: _ClassVar[int] + auth_method: str + member_id: str + api_key_id: str + client_id: str + user_agent: str + ip: str + geo: AgentRunTriggerGeo + + def __init__(self, auth_method: _Optional[str]=..., member_id: _Optional[str]=..., api_key_id: _Optional[str]=..., client_id: _Optional[str]=..., user_agent: _Optional[str]=..., ip: _Optional[str]=..., geo: _Optional[_Union[AgentRunTriggerGeo, _Mapping]]=...) -> None: + ... + +class AgentRunTriggerGeo(_message.Message): + __slots__ = ('city', 'region', 'country', 'country_code') + CITY_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + COUNTRY_FIELD_NUMBER: _ClassVar[int] + COUNTRY_CODE_FIELD_NUMBER: _ClassVar[int] + city: str + region: str + country: str + country_code: str + + def __init__(self, city: _Optional[str]=..., region: _Optional[str]=..., country: _Optional[str]=..., country_code: _Optional[str]=...) -> None: + ... + +class AgentRunToolCall(_message.Message): + __slots__ = ('tool', 'summary', 'error', 'result_json', 'cell_id', 'duration_ms', 'started_at_ms') + TOOL_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + RESULT_JSON_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + DURATION_MS_FIELD_NUMBER: _ClassVar[int] + STARTED_AT_MS_FIELD_NUMBER: _ClassVar[int] + tool: str + summary: str + error: str + result_json: str + cell_id: str + duration_ms: int + started_at_ms: int + + def __init__(self, tool: _Optional[str]=..., summary: _Optional[str]=..., error: _Optional[str]=..., result_json: _Optional[str]=..., cell_id: _Optional[str]=..., duration_ms: _Optional[int]=..., started_at_ms: _Optional[int]=...) -> None: + ... + +class AgentRunToolsSummary(_message.Message): + __slots__ = ('total_calls', 'tool_counts', 'details') + + class ToolCountsEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: int + + def __init__(self, key: _Optional[str]=..., value: _Optional[int]=...) -> None: + ... + TOTAL_CALLS_FIELD_NUMBER: _ClassVar[int] + TOOL_COUNTS_FIELD_NUMBER: _ClassVar[int] + DETAILS_FIELD_NUMBER: _ClassVar[int] + total_calls: int + tool_counts: _containers.ScalarMap[str, int] + details: _containers.RepeatedCompositeFieldContainer[AgentRunToolCall] + + def __init__(self, total_calls: _Optional[int]=..., tool_counts: _Optional[_Mapping[str, int]]=..., details: _Optional[_Iterable[_Union[AgentRunToolCall, _Mapping]]]=...) -> None: + ... + +class AgentRunDeliveryChannel(_message.Message): + __slots__ = ('type', 'id', 'label') + TYPE_FIELD_NUMBER: _ClassVar[int] + ID_FIELD_NUMBER: _ClassVar[int] + LABEL_FIELD_NUMBER: _ClassVar[int] + type: str + id: str + label: str + + def __init__(self, type: _Optional[str]=..., id: _Optional[str]=..., label: _Optional[str]=...) -> None: + ... + +class AgentRunDelivery(_message.Message): + __slots__ = ('slack_channel_id', 'teams_channel_id', 'slack_dm_user_ids', 'teams_dm_user_aad_ids', 'email_recipient_member_ids', 'feed_channel_ids', 'channels') + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_DM_USER_IDS_FIELD_NUMBER: _ClassVar[int] + TEAMS_DM_USER_AAD_IDS_FIELD_NUMBER: _ClassVar[int] + EMAIL_RECIPIENT_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + FEED_CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + CHANNELS_FIELD_NUMBER: _ClassVar[int] + slack_channel_id: str + teams_channel_id: str + slack_dm_user_ids: _containers.RepeatedScalarFieldContainer[str] + teams_dm_user_aad_ids: _containers.RepeatedScalarFieldContainer[str] + email_recipient_member_ids: _containers.RepeatedScalarFieldContainer[str] + feed_channel_ids: _containers.RepeatedScalarFieldContainer[str] + channels: _containers.RepeatedCompositeFieldContainer[AgentRunDeliveryChannel] + + def __init__(self, slack_channel_id: _Optional[str]=..., teams_channel_id: _Optional[str]=..., slack_dm_user_ids: _Optional[_Iterable[str]]=..., teams_dm_user_aad_ids: _Optional[_Iterable[str]]=..., email_recipient_member_ids: _Optional[_Iterable[str]]=..., feed_channel_ids: _Optional[_Iterable[str]]=..., channels: _Optional[_Iterable[_Union[AgentRunDeliveryChannel, _Mapping]]]=...) -> None: + ... + +class AgentRun(_message.Message): + __slots__ = ('id', 'agent_id', 'trigger_source', 'status', 'chat_id', 'webhook_trigger_id', 'triggered_by_member_id', 'triggered_by_agent_id', 'error_kind', 'error_message', 'attempt', 'tool_calls_count', 'last_summary', 'created_at', 'started_at', 'finished_at', 'trigger_metadata', 'tools_summary', 'delivery', 'egress_summary', 'connector_ids', 'sandbox_mount_ms') + ID_FIELD_NUMBER: _ClassVar[int] + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + TRIGGER_SOURCE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + WEBHOOK_TRIGGER_ID_FIELD_NUMBER: _ClassVar[int] + TRIGGERED_BY_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + TRIGGERED_BY_AGENT_ID_FIELD_NUMBER: _ClassVar[int] + ERROR_KIND_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + ATTEMPT_FIELD_NUMBER: _ClassVar[int] + TOOL_CALLS_COUNT_FIELD_NUMBER: _ClassVar[int] + LAST_SUMMARY_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + STARTED_AT_FIELD_NUMBER: _ClassVar[int] + FINISHED_AT_FIELD_NUMBER: _ClassVar[int] + TRIGGER_METADATA_FIELD_NUMBER: _ClassVar[int] + TOOLS_SUMMARY_FIELD_NUMBER: _ClassVar[int] + DELIVERY_FIELD_NUMBER: _ClassVar[int] + EGRESS_SUMMARY_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + SANDBOX_MOUNT_MS_FIELD_NUMBER: _ClassVar[int] + id: str + agent_id: str + trigger_source: str + status: str + chat_id: str + webhook_trigger_id: str + triggered_by_member_id: str + triggered_by_agent_id: str + error_kind: str + error_message: str + attempt: int + tool_calls_count: int + last_summary: str + created_at: _timestamp_pb2.Timestamp + started_at: _timestamp_pb2.Timestamp + finished_at: _timestamp_pb2.Timestamp + trigger_metadata: AgentRunTriggerMetadata + tools_summary: AgentRunToolsSummary + delivery: AgentRunDelivery + egress_summary: _chat_pb2.EgressSummary + connector_ids: _containers.RepeatedScalarFieldContainer[int] + sandbox_mount_ms: int + + def __init__(self, id: _Optional[str]=..., agent_id: _Optional[str]=..., trigger_source: _Optional[str]=..., status: _Optional[str]=..., chat_id: _Optional[str]=..., webhook_trigger_id: _Optional[str]=..., triggered_by_member_id: _Optional[str]=..., triggered_by_agent_id: _Optional[str]=..., error_kind: _Optional[str]=..., error_message: _Optional[str]=..., attempt: _Optional[int]=..., tool_calls_count: _Optional[int]=..., last_summary: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., finished_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., trigger_metadata: _Optional[_Union[AgentRunTriggerMetadata, _Mapping]]=..., tools_summary: _Optional[_Union[AgentRunToolsSummary, _Mapping]]=..., delivery: _Optional[_Union[AgentRunDelivery, _Mapping]]=..., egress_summary: _Optional[_Union[_chat_pb2.EgressSummary, _Mapping]]=..., connector_ids: _Optional[_Iterable[int]]=..., sandbox_mount_ms: _Optional[int]=...) -> None: + ... + +class ListAgentRunsResponse(_message.Message): + __slots__ = ('runs',) + RUNS_FIELD_NUMBER: _ClassVar[int] + runs: _containers.RepeatedCompositeFieldContainer[AgentRun] + + def __init__(self, runs: _Optional[_Iterable[_Union[AgentRun, _Mapping]]]=...) -> None: + ... + +class GetAgentRunRequest(_message.Message): + __slots__ = ('run_id',) + RUN_ID_FIELD_NUMBER: _ClassVar[int] + run_id: str + + def __init__(self, run_id: _Optional[str]=...) -> None: + ... + +class GetAgentRunResponse(_message.Message): + __slots__ = ('run',) + RUN_FIELD_NUMBER: _ClassVar[int] + run: AgentRun + + def __init__(self, run: _Optional[_Union[AgentRun, _Mapping]]=...) -> None: + ... + +class ListAgentRunsForThingRequest(_message.Message): + __slots__ = ('thing_id', 'limit', 'offset', 'chat_id') + THING_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + thing_id: str + limit: int + offset: int + chat_id: str + + def __init__(self, thing_id: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=..., chat_id: _Optional[str]=...) -> None: + ... + +class ListAgentRunsForThingResponse(_message.Message): + __slots__ = ('runs',) + RUNS_FIELD_NUMBER: _ClassVar[int] + runs: _containers.RepeatedCompositeFieldContainer[AgentRun] + + def __init__(self, runs: _Optional[_Iterable[_Union[AgentRun, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/api_oauth_connect.py b/src/textql_sdk/_connect/public/api_oauth_connect.py new file mode 100644 index 0000000..d22cad6 --- /dev/null +++ b/src/textql_sdk/_connect/public/api_oauth_connect.py @@ -0,0 +1,159 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import api_oauth_pb2 as public_dot_api__oauth__pb2 + +class ApiOAuthService(Protocol): + + async def get_api_o_auth_u_r_l(self, request: public_dot_api__oauth__pb2.GetApiOAuthURLRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.GetApiOAuthURLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_api_o_auth_code(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthCodeRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_api_o_auth_client_credentials(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthClientCredentialsRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_api_o_auth_jwt_bearer(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthJwtBearerRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def initiate_device_authorization(self, request: public_dot_api__oauth__pb2.InitiateDeviceAuthorizationRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.InitiateDeviceAuthorizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def poll_device_code_token(self, request: public_dot_api__oauth__pb2.PollDeviceCodeTokenRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.PollDeviceCodeTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_api_o_auth_status(self, request: public_dot_api__oauth__pb2.GetApiOAuthStatusRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.GetApiOAuthStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revoke_api_o_auth_token(self, request: public_dot_api__oauth__pb2.RevokeApiOAuthTokenRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.RevokeApiOAuthTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upsert_api_o_auth_config(self, request: public_dot_api__oauth__pb2.UpsertApiOAuthConfigRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.UpsertApiOAuthConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_api_o_auth_config(self, request: public_dot_api__oauth__pb2.GetApiOAuthConfigRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.GetApiOAuthConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ApiOAuthServiceASGIApplication(ConnectASGIApplication[ApiOAuthService]): + + def __init__(self, service: ApiOAuthService | AsyncGenerator[ApiOAuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.api_oauth.ApiOAuthService/GetApiOAuthURL': Endpoint.unary(method=MethodInfo(name='GetApiOAuthURL', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthURLRequest, output=public_dot_api__oauth__pb2.GetApiOAuthURLResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_api_o_auth_u_r_l), '/textql.rpc.public.api_oauth.ApiOAuthService/ExchangeApiOAuthCode': Endpoint.unary(method=MethodInfo(name='ExchangeApiOAuthCode', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_api_o_auth_code), '/textql.rpc.public.api_oauth.ApiOAuthService/ExchangeApiOAuthClientCredentials': Endpoint.unary(method=MethodInfo(name='ExchangeApiOAuthClientCredentials', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthClientCredentialsRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_api_o_auth_client_credentials), '/textql.rpc.public.api_oauth.ApiOAuthService/ExchangeApiOAuthJwtBearer': Endpoint.unary(method=MethodInfo(name='ExchangeApiOAuthJwtBearer', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthJwtBearerRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_api_o_auth_jwt_bearer), '/textql.rpc.public.api_oauth.ApiOAuthService/InitiateDeviceAuthorization': Endpoint.unary(method=MethodInfo(name='InitiateDeviceAuthorization', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.InitiateDeviceAuthorizationRequest, output=public_dot_api__oauth__pb2.InitiateDeviceAuthorizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.initiate_device_authorization), '/textql.rpc.public.api_oauth.ApiOAuthService/PollDeviceCodeToken': Endpoint.unary(method=MethodInfo(name='PollDeviceCodeToken', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.PollDeviceCodeTokenRequest, output=public_dot_api__oauth__pb2.PollDeviceCodeTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.poll_device_code_token), '/textql.rpc.public.api_oauth.ApiOAuthService/GetApiOAuthStatus': Endpoint.unary(method=MethodInfo(name='GetApiOAuthStatus', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthStatusRequest, output=public_dot_api__oauth__pb2.GetApiOAuthStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_api_o_auth_status), '/textql.rpc.public.api_oauth.ApiOAuthService/RevokeApiOAuthToken': Endpoint.unary(method=MethodInfo(name='RevokeApiOAuthToken', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.RevokeApiOAuthTokenRequest, output=public_dot_api__oauth__pb2.RevokeApiOAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revoke_api_o_auth_token), '/textql.rpc.public.api_oauth.ApiOAuthService/UpsertApiOAuthConfig': Endpoint.unary(method=MethodInfo(name='UpsertApiOAuthConfig', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.UpsertApiOAuthConfigRequest, output=public_dot_api__oauth__pb2.UpsertApiOAuthConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upsert_api_o_auth_config), '/textql.rpc.public.api_oauth.ApiOAuthService/GetApiOAuthConfig': Endpoint.unary(method=MethodInfo(name='GetApiOAuthConfig', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthConfigRequest, output=public_dot_api__oauth__pb2.GetApiOAuthConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_api_o_auth_config)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.api_oauth.ApiOAuthService' + +class ApiOAuthServiceClient(ConnectClient): + + async def get_api_o_auth_u_r_l(self, request: public_dot_api__oauth__pb2.GetApiOAuthURLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_api__oauth__pb2.GetApiOAuthURLResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetApiOAuthURL', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthURLRequest, output=public_dot_api__oauth__pb2.GetApiOAuthURLResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def exchange_api_o_auth_code(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeApiOAuthCode', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_api_o_auth_client_credentials(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthClientCredentialsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeApiOAuthClientCredentials', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthClientCredentialsRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_api_o_auth_jwt_bearer(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthJwtBearerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeApiOAuthJwtBearer', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthJwtBearerRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def initiate_device_authorization(self, request: public_dot_api__oauth__pb2.InitiateDeviceAuthorizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.InitiateDeviceAuthorizationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='InitiateDeviceAuthorization', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.InitiateDeviceAuthorizationRequest, output=public_dot_api__oauth__pb2.InitiateDeviceAuthorizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def poll_device_code_token(self, request: public_dot_api__oauth__pb2.PollDeviceCodeTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.PollDeviceCodeTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PollDeviceCodeToken', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.PollDeviceCodeTokenRequest, output=public_dot_api__oauth__pb2.PollDeviceCodeTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_api_o_auth_status(self, request: public_dot_api__oauth__pb2.GetApiOAuthStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_api__oauth__pb2.GetApiOAuthStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetApiOAuthStatus', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthStatusRequest, output=public_dot_api__oauth__pb2.GetApiOAuthStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def revoke_api_o_auth_token(self, request: public_dot_api__oauth__pb2.RevokeApiOAuthTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.RevokeApiOAuthTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevokeApiOAuthToken', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.RevokeApiOAuthTokenRequest, output=public_dot_api__oauth__pb2.RevokeApiOAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def upsert_api_o_auth_config(self, request: public_dot_api__oauth__pb2.UpsertApiOAuthConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.UpsertApiOAuthConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpsertApiOAuthConfig', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.UpsertApiOAuthConfigRequest, output=public_dot_api__oauth__pb2.UpsertApiOAuthConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_api_o_auth_config(self, request: public_dot_api__oauth__pb2.GetApiOAuthConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_api__oauth__pb2.GetApiOAuthConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetApiOAuthConfig', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthConfigRequest, output=public_dot_api__oauth__pb2.GetApiOAuthConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class ApiOAuthServiceSync(Protocol): + + def get_api_o_auth_u_r_l(self, request: public_dot_api__oauth__pb2.GetApiOAuthURLRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.GetApiOAuthURLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_api_o_auth_code(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthCodeRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_api_o_auth_client_credentials(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthClientCredentialsRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_api_o_auth_jwt_bearer(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthJwtBearerRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def initiate_device_authorization(self, request: public_dot_api__oauth__pb2.InitiateDeviceAuthorizationRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.InitiateDeviceAuthorizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def poll_device_code_token(self, request: public_dot_api__oauth__pb2.PollDeviceCodeTokenRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.PollDeviceCodeTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_api_o_auth_status(self, request: public_dot_api__oauth__pb2.GetApiOAuthStatusRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.GetApiOAuthStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revoke_api_o_auth_token(self, request: public_dot_api__oauth__pb2.RevokeApiOAuthTokenRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.RevokeApiOAuthTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upsert_api_o_auth_config(self, request: public_dot_api__oauth__pb2.UpsertApiOAuthConfigRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.UpsertApiOAuthConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_api_o_auth_config(self, request: public_dot_api__oauth__pb2.GetApiOAuthConfigRequest, ctx: RequestContext) -> public_dot_api__oauth__pb2.GetApiOAuthConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ApiOAuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ApiOAuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.api_oauth.ApiOAuthService/GetApiOAuthURL': EndpointSync.unary(method=MethodInfo(name='GetApiOAuthURL', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthURLRequest, output=public_dot_api__oauth__pb2.GetApiOAuthURLResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_api_o_auth_u_r_l), '/textql.rpc.public.api_oauth.ApiOAuthService/ExchangeApiOAuthCode': EndpointSync.unary(method=MethodInfo(name='ExchangeApiOAuthCode', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_api_o_auth_code), '/textql.rpc.public.api_oauth.ApiOAuthService/ExchangeApiOAuthClientCredentials': EndpointSync.unary(method=MethodInfo(name='ExchangeApiOAuthClientCredentials', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthClientCredentialsRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_api_o_auth_client_credentials), '/textql.rpc.public.api_oauth.ApiOAuthService/ExchangeApiOAuthJwtBearer': EndpointSync.unary(method=MethodInfo(name='ExchangeApiOAuthJwtBearer', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthJwtBearerRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_api_o_auth_jwt_bearer), '/textql.rpc.public.api_oauth.ApiOAuthService/InitiateDeviceAuthorization': EndpointSync.unary(method=MethodInfo(name='InitiateDeviceAuthorization', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.InitiateDeviceAuthorizationRequest, output=public_dot_api__oauth__pb2.InitiateDeviceAuthorizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.initiate_device_authorization), '/textql.rpc.public.api_oauth.ApiOAuthService/PollDeviceCodeToken': EndpointSync.unary(method=MethodInfo(name='PollDeviceCodeToken', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.PollDeviceCodeTokenRequest, output=public_dot_api__oauth__pb2.PollDeviceCodeTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.poll_device_code_token), '/textql.rpc.public.api_oauth.ApiOAuthService/GetApiOAuthStatus': EndpointSync.unary(method=MethodInfo(name='GetApiOAuthStatus', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthStatusRequest, output=public_dot_api__oauth__pb2.GetApiOAuthStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_api_o_auth_status), '/textql.rpc.public.api_oauth.ApiOAuthService/RevokeApiOAuthToken': EndpointSync.unary(method=MethodInfo(name='RevokeApiOAuthToken', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.RevokeApiOAuthTokenRequest, output=public_dot_api__oauth__pb2.RevokeApiOAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revoke_api_o_auth_token), '/textql.rpc.public.api_oauth.ApiOAuthService/UpsertApiOAuthConfig': EndpointSync.unary(method=MethodInfo(name='UpsertApiOAuthConfig', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.UpsertApiOAuthConfigRequest, output=public_dot_api__oauth__pb2.UpsertApiOAuthConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upsert_api_o_auth_config), '/textql.rpc.public.api_oauth.ApiOAuthService/GetApiOAuthConfig': EndpointSync.unary(method=MethodInfo(name='GetApiOAuthConfig', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthConfigRequest, output=public_dot_api__oauth__pb2.GetApiOAuthConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_api_o_auth_config)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.api_oauth.ApiOAuthService' + +class ApiOAuthServiceClientSync(ConnectClientSync): + + def get_api_o_auth_u_r_l(self, request: public_dot_api__oauth__pb2.GetApiOAuthURLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_api__oauth__pb2.GetApiOAuthURLResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetApiOAuthURL', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthURLRequest, output=public_dot_api__oauth__pb2.GetApiOAuthURLResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def exchange_api_o_auth_code(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeApiOAuthCode', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_api_o_auth_client_credentials(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthClientCredentialsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeApiOAuthClientCredentials', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthClientCredentialsRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_api_o_auth_jwt_bearer(self, request: public_dot_api__oauth__pb2.ExchangeApiOAuthJwtBearerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeApiOAuthJwtBearer', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.ExchangeApiOAuthJwtBearerRequest, output=public_dot_api__oauth__pb2.ExchangeApiOAuthCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def initiate_device_authorization(self, request: public_dot_api__oauth__pb2.InitiateDeviceAuthorizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.InitiateDeviceAuthorizationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='InitiateDeviceAuthorization', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.InitiateDeviceAuthorizationRequest, output=public_dot_api__oauth__pb2.InitiateDeviceAuthorizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def poll_device_code_token(self, request: public_dot_api__oauth__pb2.PollDeviceCodeTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.PollDeviceCodeTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PollDeviceCodeToken', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.PollDeviceCodeTokenRequest, output=public_dot_api__oauth__pb2.PollDeviceCodeTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_api_o_auth_status(self, request: public_dot_api__oauth__pb2.GetApiOAuthStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_api__oauth__pb2.GetApiOAuthStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetApiOAuthStatus', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthStatusRequest, output=public_dot_api__oauth__pb2.GetApiOAuthStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def revoke_api_o_auth_token(self, request: public_dot_api__oauth__pb2.RevokeApiOAuthTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.RevokeApiOAuthTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevokeApiOAuthToken', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.RevokeApiOAuthTokenRequest, output=public_dot_api__oauth__pb2.RevokeApiOAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def upsert_api_o_auth_config(self, request: public_dot_api__oauth__pb2.UpsertApiOAuthConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_api__oauth__pb2.UpsertApiOAuthConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpsertApiOAuthConfig', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.UpsertApiOAuthConfigRequest, output=public_dot_api__oauth__pb2.UpsertApiOAuthConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_api_o_auth_config(self, request: public_dot_api__oauth__pb2.GetApiOAuthConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_api__oauth__pb2.GetApiOAuthConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetApiOAuthConfig', service_name='textql.rpc.public.api_oauth.ApiOAuthService', input=public_dot_api__oauth__pb2.GetApiOAuthConfigRequest, output=public_dot_api__oauth__pb2.GetApiOAuthConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/api_oauth_pb2.py b/src/textql_sdk/_connect/public/api_oauth_pb2.py new file mode 100644 index 0000000..82c2e1b --- /dev/null +++ b/src/textql_sdk/_connect/public/api_oauth_pb2.py @@ -0,0 +1,84 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/api_oauth.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +from ..public import secret_pb2 as public_dot_secret__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16public/api_oauth.proto\x12\x1btextql.rpc.public.api_oauth\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto\x1a\x13public/secret.proto"g\n\x15GetApiOAuthURLRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state"`\n\x16GetApiOAuthURLResponse\x12\x1b\n\toauth_url\x18\x01 \x01(\tR\x08oauthUrl\x12)\n\rcode_verifier\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0ccodeVerifier"\xb2\x01\n\x1bExchangeApiOAuthCodeRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref\x12\x18\n\x04code\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x04code\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state\x12)\n\rcode_verifier\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x0ccodeVerifier"\x86\x01\n\x1cExchangeApiOAuthCodeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12)\n\x11api_access_key_id\x18\x02 \x01(\tR\x0eapiAccessKeyId\x12!\n\x0cdisplay_name\x18\x03 \x01(\tR\x0bdisplayName"d\n(ExchangeApiOAuthClientCredentialsRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref"\\\n ExchangeApiOAuthJwtBearerRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref"^\n"InitiateDeviceAuthorizationRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref"\x8b\x02\n#InitiateDeviceAuthorizationResponse\x12%\n\x0bdevice_code\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\ndeviceCode\x12\x1b\n\tuser_code\x18\x02 \x01(\tR\x08userCode\x12)\n\x10verification_uri\x18\x03 \x01(\tR\x0fverificationUri\x12:\n\x19verification_uri_complete\x18\x04 \x01(\tR\x17verificationUriComplete\x12\x1d\n\nexpires_in\x18\x05 \x01(\x05R\texpiresIn\x12\x1a\n\x08interval\x18\x06 \x01(\x05R\x08interval"}\n\x1aPollDeviceCodeTokenRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref\x12%\n\x0bdevice_code\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\ndeviceCode"\x85\x01\n\x1bPollDeviceCodeTokenResponse\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12+\n\x11error_description\x18\x03 \x01(\tR\x10errorDescription"E\n\x18GetApiOAuthStatusRequest\x12)\n\x11api_access_key_id\x18\x01 \x01(\tR\x0eapiAccessKeyId"\x89\x01\n\x19GetApiOAuthStatusResponse\x12$\n\rauthenticated\x18\x01 \x01(\x08R\rauthenticated\x12#\n\rtoken_expired\x18\x02 \x01(\x08R\x0ctokenExpired\x12!\n\x0cdisplay_name\x18\x03 \x01(\tR\x0bdisplayName"V\n\x1aRevokeApiOAuthTokenRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref"\x1d\n\x1bRevokeApiOAuthTokenResponse"\x87\x05\n\x0eApiOAuthConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\tclient_id\x18\x03 \x01(\tR\x08clientId\x12\x19\n\x08auth_url\x18\x04 \x01(\tR\x07authUrl\x12\x1b\n\ttoken_url\x18\x05 \x01(\tR\x08tokenUrl\x12\x16\n\x06scopes\x18\x06 \x01(\tR\x06scopes\x12\x19\n\x08use_pkce\x18\x07 \x01(\x08R\x07usePkce\x12*\n\x11token_auth_method\x18\x08 \x01(\tR\x0ftokenAuthMethod\x12_\n\x0cextra_config\x18\t \x03(\x0b2<.textql.rpc.public.api_oauth.ApiOAuthConfig.ExtraConfigEntryR\x0bextraConfig\x129\n\ncreated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12)\n\x11api_access_key_id\x18\x0c \x01(\tR\x0eapiAccessKeyId\x12\x1f\n\x0bauth_header\x18\r \x01(\tR\nauthHeader\x12\x1f\n\x0bauth_prefix\x18\x0e \x01(\tR\nauthPrefix\x12\x1d\n\ngrant_type\x18\x0f \x01(\tR\tgrantType\x1a>\n\x10ExtraConfigEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01J\x04\x08\x02\x10\x03R\x08provider"\xd5\x04\n\x1bUpsertApiOAuthConfigRequest\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret\x12\x19\n\x08auth_url\x18\x04 \x01(\tR\x07authUrl\x12\x1b\n\ttoken_url\x18\x05 \x01(\tR\x08tokenUrl\x12\x16\n\x06scopes\x18\x06 \x01(\tR\x06scopes\x12\x19\n\x08use_pkce\x18\x07 \x01(\x08R\x07usePkce\x12*\n\x11token_auth_method\x18\x08 \x01(\tR\x0ftokenAuthMethod\x12l\n\x0cextra_config\x18\t \x03(\x0b2I.textql.rpc.public.api_oauth.UpsertApiOAuthConfigRequest.ExtraConfigEntryR\x0bextraConfig\x128\n\x03ref\x18\n \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref\x12\x1f\n\x0bauth_header\x18\x0b \x01(\tR\nauthHeader\x12\x1f\n\x0bauth_prefix\x18\x0c \x01(\tR\nauthPrefix\x12\x1d\n\ngrant_type\x18\r \x01(\tR\tgrantType\x1a>\n\x10ExtraConfigEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01J\x04\x08\x01\x10\x02R\x08provider"c\n\x1cUpsertApiOAuthConfigResponse\x12C\n\x06config\x18\x01 \x01(\x0b2+.textql.rpc.public.api_oauth.ApiOAuthConfigR\x06config"E\n\x18GetApiOAuthConfigRequest\x12)\n\x11api_access_key_id\x18\x01 \x01(\tR\x0eapiAccessKeyId"`\n\x19GetApiOAuthConfigResponse\x12C\n\x06config\x18\x01 \x01(\x0b2+.textql.rpc.public.api_oauth.ApiOAuthConfigR\x06config2\xba\x0b\n\x0fApiOAuthService\x12~\n\x0eGetApiOAuthURL\x122.textql.rpc.public.api_oauth.GetApiOAuthURLRequest\x1a3.textql.rpc.public.api_oauth.GetApiOAuthURLResponse"\x03\x90\x02\x01\x12\x8b\x01\n\x14ExchangeApiOAuthCode\x128.textql.rpc.public.api_oauth.ExchangeApiOAuthCodeRequest\x1a9.textql.rpc.public.api_oauth.ExchangeApiOAuthCodeResponse\x12\xa5\x01\n!ExchangeApiOAuthClientCredentials\x12E.textql.rpc.public.api_oauth.ExchangeApiOAuthClientCredentialsRequest\x1a9.textql.rpc.public.api_oauth.ExchangeApiOAuthCodeResponse\x12\x95\x01\n\x19ExchangeApiOAuthJwtBearer\x12=.textql.rpc.public.api_oauth.ExchangeApiOAuthJwtBearerRequest\x1a9.textql.rpc.public.api_oauth.ExchangeApiOAuthCodeResponse\x12\xa0\x01\n\x1bInitiateDeviceAuthorization\x12?.textql.rpc.public.api_oauth.InitiateDeviceAuthorizationRequest\x1a@.textql.rpc.public.api_oauth.InitiateDeviceAuthorizationResponse\x12\x88\x01\n\x13PollDeviceCodeToken\x127.textql.rpc.public.api_oauth.PollDeviceCodeTokenRequest\x1a8.textql.rpc.public.api_oauth.PollDeviceCodeTokenResponse\x12\x87\x01\n\x11GetApiOAuthStatus\x125.textql.rpc.public.api_oauth.GetApiOAuthStatusRequest\x1a6.textql.rpc.public.api_oauth.GetApiOAuthStatusResponse"\x03\x90\x02\x01\x12\x88\x01\n\x13RevokeApiOAuthToken\x127.textql.rpc.public.api_oauth.RevokeApiOAuthTokenRequest\x1a8.textql.rpc.public.api_oauth.RevokeApiOAuthTokenResponse\x12\x8b\x01\n\x14UpsertApiOAuthConfig\x128.textql.rpc.public.api_oauth.UpsertApiOAuthConfigRequest\x1a9.textql.rpc.public.api_oauth.UpsertApiOAuthConfigResponse\x12\x87\x01\n\x11GetApiOAuthConfig\x125.textql.rpc.public.api_oauth.GetApiOAuthConfigRequest\x1a6.textql.rpc.public.api_oauth.GetApiOAuthConfigResponse"\x03\x90\x02\x01BGZ9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.api_oauth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNAL' + _globals['_GETAPIOAUTHURLRESPONSE'].fields_by_name['code_verifier']._loaded_options = None + _globals['_GETAPIOAUTHURLRESPONSE'].fields_by_name['code_verifier']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEAPIOAUTHCODEREQUEST'].fields_by_name['code']._loaded_options = None + _globals['_EXCHANGEAPIOAUTHCODEREQUEST'].fields_by_name['code']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEAPIOAUTHCODEREQUEST'].fields_by_name['code_verifier']._loaded_options = None + _globals['_EXCHANGEAPIOAUTHCODEREQUEST'].fields_by_name['code_verifier']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_INITIATEDEVICEAUTHORIZATIONRESPONSE'].fields_by_name['device_code']._loaded_options = None + _globals['_INITIATEDEVICEAUTHORIZATIONRESPONSE'].fields_by_name['device_code']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_POLLDEVICECODETOKENREQUEST'].fields_by_name['device_code']._loaded_options = None + _globals['_POLLDEVICECODETOKENREQUEST'].fields_by_name['device_code']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_APIOAUTHCONFIG_EXTRACONFIGENTRY']._loaded_options = None + _globals['_APIOAUTHCONFIG_EXTRACONFIGENTRY']._serialized_options = b'8\x01' + _globals['_UPSERTAPIOAUTHCONFIGREQUEST_EXTRACONFIGENTRY']._loaded_options = None + _globals['_UPSERTAPIOAUTHCONFIGREQUEST_EXTRACONFIGENTRY']._serialized_options = b'8\x01' + _globals['_UPSERTAPIOAUTHCONFIGREQUEST'].fields_by_name['client_secret']._loaded_options = None + _globals['_UPSERTAPIOAUTHCONFIGREQUEST'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_APIOAUTHSERVICE'].methods_by_name['GetApiOAuthURL']._loaded_options = None + _globals['_APIOAUTHSERVICE'].methods_by_name['GetApiOAuthURL']._serialized_options = b'\x90\x02\x01' + _globals['_APIOAUTHSERVICE'].methods_by_name['GetApiOAuthStatus']._loaded_options = None + _globals['_APIOAUTHSERVICE'].methods_by_name['GetApiOAuthStatus']._serialized_options = b'\x90\x02\x01' + _globals['_APIOAUTHSERVICE'].methods_by_name['GetApiOAuthConfig']._loaded_options = None + _globals['_APIOAUTHSERVICE'].methods_by_name['GetApiOAuthConfig']._serialized_options = b'\x90\x02\x01' + _globals['_GETAPIOAUTHURLREQUEST']._serialized_start = 131 + _globals['_GETAPIOAUTHURLREQUEST']._serialized_end = 234 + _globals['_GETAPIOAUTHURLRESPONSE']._serialized_start = 236 + _globals['_GETAPIOAUTHURLRESPONSE']._serialized_end = 332 + _globals['_EXCHANGEAPIOAUTHCODEREQUEST']._serialized_start = 335 + _globals['_EXCHANGEAPIOAUTHCODEREQUEST']._serialized_end = 513 + _globals['_EXCHANGEAPIOAUTHCODERESPONSE']._serialized_start = 516 + _globals['_EXCHANGEAPIOAUTHCODERESPONSE']._serialized_end = 650 + _globals['_EXCHANGEAPIOAUTHCLIENTCREDENTIALSREQUEST']._serialized_start = 652 + _globals['_EXCHANGEAPIOAUTHCLIENTCREDENTIALSREQUEST']._serialized_end = 752 + _globals['_EXCHANGEAPIOAUTHJWTBEARERREQUEST']._serialized_start = 754 + _globals['_EXCHANGEAPIOAUTHJWTBEARERREQUEST']._serialized_end = 846 + _globals['_INITIATEDEVICEAUTHORIZATIONREQUEST']._serialized_start = 848 + _globals['_INITIATEDEVICEAUTHORIZATIONREQUEST']._serialized_end = 942 + _globals['_INITIATEDEVICEAUTHORIZATIONRESPONSE']._serialized_start = 945 + _globals['_INITIATEDEVICEAUTHORIZATIONRESPONSE']._serialized_end = 1212 + _globals['_POLLDEVICECODETOKENREQUEST']._serialized_start = 1214 + _globals['_POLLDEVICECODETOKENREQUEST']._serialized_end = 1339 + _globals['_POLLDEVICECODETOKENRESPONSE']._serialized_start = 1342 + _globals['_POLLDEVICECODETOKENRESPONSE']._serialized_end = 1475 + _globals['_GETAPIOAUTHSTATUSREQUEST']._serialized_start = 1477 + _globals['_GETAPIOAUTHSTATUSREQUEST']._serialized_end = 1546 + _globals['_GETAPIOAUTHSTATUSRESPONSE']._serialized_start = 1549 + _globals['_GETAPIOAUTHSTATUSRESPONSE']._serialized_end = 1686 + _globals['_REVOKEAPIOAUTHTOKENREQUEST']._serialized_start = 1688 + _globals['_REVOKEAPIOAUTHTOKENREQUEST']._serialized_end = 1774 + _globals['_REVOKEAPIOAUTHTOKENRESPONSE']._serialized_start = 1776 + _globals['_REVOKEAPIOAUTHTOKENRESPONSE']._serialized_end = 1805 + _globals['_APIOAUTHCONFIG']._serialized_start = 1808 + _globals['_APIOAUTHCONFIG']._serialized_end = 2455 + _globals['_APIOAUTHCONFIG_EXTRACONFIGENTRY']._serialized_start = 2377 + _globals['_APIOAUTHCONFIG_EXTRACONFIGENTRY']._serialized_end = 2439 + _globals['_UPSERTAPIOAUTHCONFIGREQUEST']._serialized_start = 2458 + _globals['_UPSERTAPIOAUTHCONFIGREQUEST']._serialized_end = 3055 + _globals['_UPSERTAPIOAUTHCONFIGREQUEST_EXTRACONFIGENTRY']._serialized_start = 2377 + _globals['_UPSERTAPIOAUTHCONFIGREQUEST_EXTRACONFIGENTRY']._serialized_end = 2439 + _globals['_UPSERTAPIOAUTHCONFIGRESPONSE']._serialized_start = 3057 + _globals['_UPSERTAPIOAUTHCONFIGRESPONSE']._serialized_end = 3156 + _globals['_GETAPIOAUTHCONFIGREQUEST']._serialized_start = 3158 + _globals['_GETAPIOAUTHCONFIGREQUEST']._serialized_end = 3227 + _globals['_GETAPIOAUTHCONFIGRESPONSE']._serialized_start = 3229 + _globals['_GETAPIOAUTHCONFIGRESPONSE']._serialized_end = 3325 + _globals['_APIOAUTHSERVICE']._serialized_start = 3328 + _globals['_APIOAUTHSERVICE']._serialized_end = 4794 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/api_oauth_pb2.pyi b/src/textql_sdk/_connect/public/api_oauth_pb2.pyi new file mode 100644 index 0000000..d51a84e --- /dev/null +++ b/src/textql_sdk/_connect/public/api_oauth_pb2.pyi @@ -0,0 +1,262 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from public import secret_pb2 as _secret_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class GetApiOAuthURLRequest(_message.Message): + __slots__ = ('ref', 'state') + REF_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + ref: _secret_pb2.ApiAccessRef + state: str + + def __init__(self, ref: _Optional[_Union[_secret_pb2.ApiAccessRef, _Mapping]]=..., state: _Optional[str]=...) -> None: + ... + +class GetApiOAuthURLResponse(_message.Message): + __slots__ = ('oauth_url', 'code_verifier') + OAUTH_URL_FIELD_NUMBER: _ClassVar[int] + CODE_VERIFIER_FIELD_NUMBER: _ClassVar[int] + oauth_url: str + code_verifier: str + + def __init__(self, oauth_url: _Optional[str]=..., code_verifier: _Optional[str]=...) -> None: + ... + +class ExchangeApiOAuthCodeRequest(_message.Message): + __slots__ = ('ref', 'code', 'state', 'code_verifier') + REF_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + CODE_VERIFIER_FIELD_NUMBER: _ClassVar[int] + ref: _secret_pb2.ApiAccessRef + code: str + state: str + code_verifier: str + + def __init__(self, ref: _Optional[_Union[_secret_pb2.ApiAccessRef, _Mapping]]=..., code: _Optional[str]=..., state: _Optional[str]=..., code_verifier: _Optional[str]=...) -> None: + ... + +class ExchangeApiOAuthCodeResponse(_message.Message): + __slots__ = ('success', 'api_access_key_id', 'display_name') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + success: bool + api_access_key_id: str + display_name: str + + def __init__(self, success: bool=..., api_access_key_id: _Optional[str]=..., display_name: _Optional[str]=...) -> None: + ... + +class ExchangeApiOAuthClientCredentialsRequest(_message.Message): + __slots__ = ('ref',) + REF_FIELD_NUMBER: _ClassVar[int] + ref: _secret_pb2.ApiAccessRef + + def __init__(self, ref: _Optional[_Union[_secret_pb2.ApiAccessRef, _Mapping]]=...) -> None: + ... + +class ExchangeApiOAuthJwtBearerRequest(_message.Message): + __slots__ = ('ref',) + REF_FIELD_NUMBER: _ClassVar[int] + ref: _secret_pb2.ApiAccessRef + + def __init__(self, ref: _Optional[_Union[_secret_pb2.ApiAccessRef, _Mapping]]=...) -> None: + ... + +class InitiateDeviceAuthorizationRequest(_message.Message): + __slots__ = ('ref',) + REF_FIELD_NUMBER: _ClassVar[int] + ref: _secret_pb2.ApiAccessRef + + def __init__(self, ref: _Optional[_Union[_secret_pb2.ApiAccessRef, _Mapping]]=...) -> None: + ... + +class InitiateDeviceAuthorizationResponse(_message.Message): + __slots__ = ('device_code', 'user_code', 'verification_uri', 'verification_uri_complete', 'expires_in', 'interval') + DEVICE_CODE_FIELD_NUMBER: _ClassVar[int] + USER_CODE_FIELD_NUMBER: _ClassVar[int] + VERIFICATION_URI_FIELD_NUMBER: _ClassVar[int] + VERIFICATION_URI_COMPLETE_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + INTERVAL_FIELD_NUMBER: _ClassVar[int] + device_code: str + user_code: str + verification_uri: str + verification_uri_complete: str + expires_in: int + interval: int + + def __init__(self, device_code: _Optional[str]=..., user_code: _Optional[str]=..., verification_uri: _Optional[str]=..., verification_uri_complete: _Optional[str]=..., expires_in: _Optional[int]=..., interval: _Optional[int]=...) -> None: + ... + +class PollDeviceCodeTokenRequest(_message.Message): + __slots__ = ('ref', 'device_code') + REF_FIELD_NUMBER: _ClassVar[int] + DEVICE_CODE_FIELD_NUMBER: _ClassVar[int] + ref: _secret_pb2.ApiAccessRef + device_code: str + + def __init__(self, ref: _Optional[_Union[_secret_pb2.ApiAccessRef, _Mapping]]=..., device_code: _Optional[str]=...) -> None: + ... + +class PollDeviceCodeTokenResponse(_message.Message): + __slots__ = ('status', 'display_name', 'error_description') + STATUS_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ERROR_DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + status: str + display_name: str + error_description: str + + def __init__(self, status: _Optional[str]=..., display_name: _Optional[str]=..., error_description: _Optional[str]=...) -> None: + ... + +class GetApiOAuthStatusRequest(_message.Message): + __slots__ = ('api_access_key_id',) + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + api_access_key_id: str + + def __init__(self, api_access_key_id: _Optional[str]=...) -> None: + ... + +class GetApiOAuthStatusResponse(_message.Message): + __slots__ = ('authenticated', 'token_expired', 'display_name') + AUTHENTICATED_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXPIRED_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + authenticated: bool + token_expired: bool + display_name: str + + def __init__(self, authenticated: bool=..., token_expired: bool=..., display_name: _Optional[str]=...) -> None: + ... + +class RevokeApiOAuthTokenRequest(_message.Message): + __slots__ = ('ref',) + REF_FIELD_NUMBER: _ClassVar[int] + ref: _secret_pb2.ApiAccessRef + + def __init__(self, ref: _Optional[_Union[_secret_pb2.ApiAccessRef, _Mapping]]=...) -> None: + ... + +class RevokeApiOAuthTokenResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ApiOAuthConfig(_message.Message): + __slots__ = ('id', 'client_id', 'auth_url', 'token_url', 'scopes', 'use_pkce', 'token_auth_method', 'extra_config', 'created_at', 'updated_at', 'api_access_key_id', 'auth_header', 'auth_prefix', 'grant_type') + + class ExtraConfigEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + AUTH_URL_FIELD_NUMBER: _ClassVar[int] + TOKEN_URL_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + USE_PKCE_FIELD_NUMBER: _ClassVar[int] + TOKEN_AUTH_METHOD_FIELD_NUMBER: _ClassVar[int] + EXTRA_CONFIG_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + AUTH_HEADER_FIELD_NUMBER: _ClassVar[int] + AUTH_PREFIX_FIELD_NUMBER: _ClassVar[int] + GRANT_TYPE_FIELD_NUMBER: _ClassVar[int] + id: str + client_id: str + auth_url: str + token_url: str + scopes: str + use_pkce: bool + token_auth_method: str + extra_config: _containers.ScalarMap[str, str] + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + api_access_key_id: str + auth_header: str + auth_prefix: str + grant_type: str + + def __init__(self, id: _Optional[str]=..., client_id: _Optional[str]=..., auth_url: _Optional[str]=..., token_url: _Optional[str]=..., scopes: _Optional[str]=..., use_pkce: bool=..., token_auth_method: _Optional[str]=..., extra_config: _Optional[_Mapping[str, str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., api_access_key_id: _Optional[str]=..., auth_header: _Optional[str]=..., auth_prefix: _Optional[str]=..., grant_type: _Optional[str]=...) -> None: + ... + +class UpsertApiOAuthConfigRequest(_message.Message): + __slots__ = ('client_id', 'client_secret', 'auth_url', 'token_url', 'scopes', 'use_pkce', 'token_auth_method', 'extra_config', 'ref', 'auth_header', 'auth_prefix', 'grant_type') + + class ExtraConfigEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + AUTH_URL_FIELD_NUMBER: _ClassVar[int] + TOKEN_URL_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + USE_PKCE_FIELD_NUMBER: _ClassVar[int] + TOKEN_AUTH_METHOD_FIELD_NUMBER: _ClassVar[int] + EXTRA_CONFIG_FIELD_NUMBER: _ClassVar[int] + REF_FIELD_NUMBER: _ClassVar[int] + AUTH_HEADER_FIELD_NUMBER: _ClassVar[int] + AUTH_PREFIX_FIELD_NUMBER: _ClassVar[int] + GRANT_TYPE_FIELD_NUMBER: _ClassVar[int] + client_id: str + client_secret: str + auth_url: str + token_url: str + scopes: str + use_pkce: bool + token_auth_method: str + extra_config: _containers.ScalarMap[str, str] + ref: _secret_pb2.ApiAccessRef + auth_header: str + auth_prefix: str + grant_type: str + + def __init__(self, client_id: _Optional[str]=..., client_secret: _Optional[str]=..., auth_url: _Optional[str]=..., token_url: _Optional[str]=..., scopes: _Optional[str]=..., use_pkce: bool=..., token_auth_method: _Optional[str]=..., extra_config: _Optional[_Mapping[str, str]]=..., ref: _Optional[_Union[_secret_pb2.ApiAccessRef, _Mapping]]=..., auth_header: _Optional[str]=..., auth_prefix: _Optional[str]=..., grant_type: _Optional[str]=...) -> None: + ... + +class UpsertApiOAuthConfigResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: ApiOAuthConfig + + def __init__(self, config: _Optional[_Union[ApiOAuthConfig, _Mapping]]=...) -> None: + ... + +class GetApiOAuthConfigRequest(_message.Message): + __slots__ = ('api_access_key_id',) + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + api_access_key_id: str + + def __init__(self, api_access_key_id: _Optional[str]=...) -> None: + ... + +class GetApiOAuthConfigResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: ApiOAuthConfig + + def __init__(self, config: _Optional[_Union[ApiOAuthConfig, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/apps_connect.py b/src/textql_sdk/_connect/public/apps_connect.py new file mode 100644 index 0000000..0a9b101 --- /dev/null +++ b/src/textql_sdk/_connect/public/apps_connect.py @@ -0,0 +1,328 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import apps_pb2 as public_dot_apps__pb2 + +class AppService(Protocol): + + async def create_app(self, request: public_dot_apps__pb2.CreateAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.CreateAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def duplicate_app(self, request: public_dot_apps__pb2.DuplicateAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.DuplicateAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_app(self, request: public_dot_apps__pb2.GetAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_apps(self, request: public_dot_apps__pb2.ListAppsRequest, ctx: RequestContext) -> public_dot_apps__pb2.ListAppsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_members_with_apps(self, request: public_dot_apps__pb2.GetMembersWithAppsRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetMembersWithAppsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_app(self, request: public_dot_apps__pb2.UpdateAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.UpdateAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_app(self, request: public_dot_apps__pb2.DeleteAppRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def move_app_to_folder(self, request: public_dot_apps__pb2.MoveAppToFolderRequest, ctx: RequestContext) -> public_dot_apps__pb2.MoveAppToFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def refresh_app(self, request: public_dot_apps__pb2.RefreshAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.RefreshAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_app_versions(self, request: public_dot_apps__pb2.ListAppVersionsRequest, ctx: RequestContext) -> public_dot_apps__pb2.ListAppVersionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_app_version(self, request: public_dot_apps__pb2.GetAppVersionRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetAppVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def restore_app_version(self, request: public_dot_apps__pb2.RestoreAppVersionRequest, ctx: RequestContext) -> public_dot_apps__pb2.RestoreAppVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def invoke_app_compute_function(self, request: public_dot_apps__pb2.InvokeAppComputeFunctionRequest, ctx: RequestContext) -> public_dot_apps__pb2.InvokeAppComputeFunctionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def app_heartbeat(self, request: public_dot_apps__pb2.AppHeartbeatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_favorite(self, request: public_dot_apps__pb2.SetFavoriteRequest, ctx: RequestContext) -> public_dot_apps__pb2.SetFavoriteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_app_view_stats(self, request: public_dot_apps__pb2.GetAppViewStatsRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetAppViewStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_component_gallery_url(self, request: public_dot_apps__pb2.GetComponentGalleryUrlRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetComponentGalleryUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_app_member_state(self, request: public_dot_apps__pb2.GetAppMemberStateRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetAppMemberStateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_app_member_state(self, request: public_dot_apps__pb2.SetAppMemberStateRequest, ctx: RequestContext) -> public_dot_apps__pb2.SetAppMemberStateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def record_app_member_activity(self, request: public_dot_apps__pb2.RecordAppMemberActivityRequest, ctx: RequestContext) -> public_dot_apps__pb2.RecordAppMemberActivityResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_my_app_member_activity(self, request: public_dot_apps__pb2.ListMyAppMemberActivityRequest, ctx: RequestContext) -> public_dot_apps__pb2.ListMyAppMemberActivityResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_app_activity_since(self, request: public_dot_apps__pb2.ListAppActivitySinceRequest, ctx: RequestContext) -> public_dot_apps__pb2.ListAppActivitySinceResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_app_activity(self, request: public_dot_apps__pb2.StreamAppActivityRequest, ctx: RequestContext) -> AsyncIterator[public_dot_apps__pb2.AppActivityStreamEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def presence_heartbeat(self, request: public_dot_apps__pb2.PresenceHeartbeatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class AppServiceASGIApplication(ConnectASGIApplication[AppService]): + + def __init__(self, service: AppService | AsyncGenerator[AppService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.app.AppService/CreateApp': Endpoint.unary(method=MethodInfo(name='CreateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.CreateAppRequest, output=public_dot_apps__pb2.CreateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_app), '/textql.rpc.public.app.AppService/DuplicateApp': Endpoint.unary(method=MethodInfo(name='DuplicateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.DuplicateAppRequest, output=public_dot_apps__pb2.DuplicateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.duplicate_app), '/textql.rpc.public.app.AppService/GetApp': Endpoint.unary(method=MethodInfo(name='GetApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppRequest, output=public_dot_apps__pb2.GetAppResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_app), '/textql.rpc.public.app.AppService/ListApps': Endpoint.unary(method=MethodInfo(name='ListApps', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppsRequest, output=public_dot_apps__pb2.ListAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_apps), '/textql.rpc.public.app.AppService/GetMembersWithApps': Endpoint.unary(method=MethodInfo(name='GetMembersWithApps', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetMembersWithAppsRequest, output=public_dot_apps__pb2.GetMembersWithAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_members_with_apps), '/textql.rpc.public.app.AppService/UpdateApp': Endpoint.unary(method=MethodInfo(name='UpdateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.UpdateAppRequest, output=public_dot_apps__pb2.UpdateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_app), '/textql.rpc.public.app.AppService/DeleteApp': Endpoint.unary(method=MethodInfo(name='DeleteApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.DeleteAppRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_app), '/textql.rpc.public.app.AppService/MoveAppToFolder': Endpoint.unary(method=MethodInfo(name='MoveAppToFolder', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.MoveAppToFolderRequest, output=public_dot_apps__pb2.MoveAppToFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.move_app_to_folder), '/textql.rpc.public.app.AppService/RefreshApp': Endpoint.unary(method=MethodInfo(name='RefreshApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RefreshAppRequest, output=public_dot_apps__pb2.RefreshAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.refresh_app), '/textql.rpc.public.app.AppService/ListAppVersions': Endpoint.unary(method=MethodInfo(name='ListAppVersions', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppVersionsRequest, output=public_dot_apps__pb2.ListAppVersionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_app_versions), '/textql.rpc.public.app.AppService/GetAppVersion': Endpoint.unary(method=MethodInfo(name='GetAppVersion', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppVersionRequest, output=public_dot_apps__pb2.GetAppVersionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_app_version), '/textql.rpc.public.app.AppService/RestoreAppVersion': Endpoint.unary(method=MethodInfo(name='RestoreAppVersion', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RestoreAppVersionRequest, output=public_dot_apps__pb2.RestoreAppVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.restore_app_version), '/textql.rpc.public.app.AppService/InvokeAppComputeFunction': Endpoint.unary(method=MethodInfo(name='InvokeAppComputeFunction', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.InvokeAppComputeFunctionRequest, output=public_dot_apps__pb2.InvokeAppComputeFunctionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.invoke_app_compute_function), '/textql.rpc.public.app.AppService/AppHeartbeat': Endpoint.unary(method=MethodInfo(name='AppHeartbeat', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.AppHeartbeatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.app_heartbeat), '/textql.rpc.public.app.AppService/SetFavorite': Endpoint.unary(method=MethodInfo(name='SetFavorite', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.SetFavoriteRequest, output=public_dot_apps__pb2.SetFavoriteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_favorite), '/textql.rpc.public.app.AppService/GetAppViewStats': Endpoint.unary(method=MethodInfo(name='GetAppViewStats', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppViewStatsRequest, output=public_dot_apps__pb2.GetAppViewStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_app_view_stats), '/textql.rpc.public.app.AppService/GetComponentGalleryUrl': Endpoint.unary(method=MethodInfo(name='GetComponentGalleryUrl', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetComponentGalleryUrlRequest, output=public_dot_apps__pb2.GetComponentGalleryUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_component_gallery_url), '/textql.rpc.public.app.AppService/GetAppMemberState': Endpoint.unary(method=MethodInfo(name='GetAppMemberState', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppMemberStateRequest, output=public_dot_apps__pb2.GetAppMemberStateResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_app_member_state), '/textql.rpc.public.app.AppService/SetAppMemberState': Endpoint.unary(method=MethodInfo(name='SetAppMemberState', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.SetAppMemberStateRequest, output=public_dot_apps__pb2.SetAppMemberStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_app_member_state), '/textql.rpc.public.app.AppService/RecordAppMemberActivity': Endpoint.unary(method=MethodInfo(name='RecordAppMemberActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RecordAppMemberActivityRequest, output=public_dot_apps__pb2.RecordAppMemberActivityResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.record_app_member_activity), '/textql.rpc.public.app.AppService/ListMyAppMemberActivity': Endpoint.unary(method=MethodInfo(name='ListMyAppMemberActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListMyAppMemberActivityRequest, output=public_dot_apps__pb2.ListMyAppMemberActivityResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_my_app_member_activity), '/textql.rpc.public.app.AppService/ListAppActivitySince': Endpoint.unary(method=MethodInfo(name='ListAppActivitySince', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppActivitySinceRequest, output=public_dot_apps__pb2.ListAppActivitySinceResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_app_activity_since), '/textql.rpc.public.app.AppService/StreamAppActivity': Endpoint.server_stream(method=MethodInfo(name='StreamAppActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.StreamAppActivityRequest, output=public_dot_apps__pb2.AppActivityStreamEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.stream_app_activity), '/textql.rpc.public.app.AppService/PresenceHeartbeat': Endpoint.unary(method=MethodInfo(name='PresenceHeartbeat', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.PresenceHeartbeatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.presence_heartbeat)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.app.AppService' + +class AppServiceClient(ConnectClient): + + async def create_app(self, request: public_dot_apps__pb2.CreateAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.CreateAppResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.CreateAppRequest, output=public_dot_apps__pb2.CreateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def duplicate_app(self, request: public_dot_apps__pb2.DuplicateAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.DuplicateAppResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DuplicateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.DuplicateAppRequest, output=public_dot_apps__pb2.DuplicateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_app(self, request: public_dot_apps__pb2.GetAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetAppResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppRequest, output=public_dot_apps__pb2.GetAppResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_apps(self, request: public_dot_apps__pb2.ListAppsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.ListAppsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListApps', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppsRequest, output=public_dot_apps__pb2.ListAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_members_with_apps(self, request: public_dot_apps__pb2.GetMembersWithAppsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetMembersWithAppsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithApps', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetMembersWithAppsRequest, output=public_dot_apps__pb2.GetMembersWithAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_app(self, request: public_dot_apps__pb2.UpdateAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.UpdateAppResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.UpdateAppRequest, output=public_dot_apps__pb2.UpdateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_app(self, request: public_dot_apps__pb2.DeleteAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.DeleteAppRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def move_app_to_folder(self, request: public_dot_apps__pb2.MoveAppToFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.MoveAppToFolderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MoveAppToFolder', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.MoveAppToFolderRequest, output=public_dot_apps__pb2.MoveAppToFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def refresh_app(self, request: public_dot_apps__pb2.RefreshAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.RefreshAppResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RefreshApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RefreshAppRequest, output=public_dot_apps__pb2.RefreshAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_app_versions(self, request: public_dot_apps__pb2.ListAppVersionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.ListAppVersionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAppVersions', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppVersionsRequest, output=public_dot_apps__pb2.ListAppVersionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_app_version(self, request: public_dot_apps__pb2.GetAppVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetAppVersionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetAppVersion', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppVersionRequest, output=public_dot_apps__pb2.GetAppVersionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def restore_app_version(self, request: public_dot_apps__pb2.RestoreAppVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.RestoreAppVersionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RestoreAppVersion', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RestoreAppVersionRequest, output=public_dot_apps__pb2.RestoreAppVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def invoke_app_compute_function(self, request: public_dot_apps__pb2.InvokeAppComputeFunctionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.InvokeAppComputeFunctionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='InvokeAppComputeFunction', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.InvokeAppComputeFunctionRequest, output=public_dot_apps__pb2.InvokeAppComputeFunctionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def app_heartbeat(self, request: public_dot_apps__pb2.AppHeartbeatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='AppHeartbeat', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.AppHeartbeatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def set_favorite(self, request: public_dot_apps__pb2.SetFavoriteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.SetFavoriteResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetFavorite', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.SetFavoriteRequest, output=public_dot_apps__pb2.SetFavoriteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_app_view_stats(self, request: public_dot_apps__pb2.GetAppViewStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetAppViewStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetAppViewStats', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppViewStatsRequest, output=public_dot_apps__pb2.GetAppViewStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_component_gallery_url(self, request: public_dot_apps__pb2.GetComponentGalleryUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.GetComponentGalleryUrlResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetComponentGalleryUrl', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetComponentGalleryUrlRequest, output=public_dot_apps__pb2.GetComponentGalleryUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_app_member_state(self, request: public_dot_apps__pb2.GetAppMemberStateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetAppMemberStateResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetAppMemberState', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppMemberStateRequest, output=public_dot_apps__pb2.GetAppMemberStateResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def set_app_member_state(self, request: public_dot_apps__pb2.SetAppMemberStateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.SetAppMemberStateResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetAppMemberState', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.SetAppMemberStateRequest, output=public_dot_apps__pb2.SetAppMemberStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def record_app_member_activity(self, request: public_dot_apps__pb2.RecordAppMemberActivityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.RecordAppMemberActivityResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RecordAppMemberActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RecordAppMemberActivityRequest, output=public_dot_apps__pb2.RecordAppMemberActivityResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_my_app_member_activity(self, request: public_dot_apps__pb2.ListMyAppMemberActivityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.ListMyAppMemberActivityResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListMyAppMemberActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListMyAppMemberActivityRequest, output=public_dot_apps__pb2.ListMyAppMemberActivityResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_app_activity_since(self, request: public_dot_apps__pb2.ListAppActivitySinceRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.ListAppActivitySinceResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAppActivitySince', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppActivitySinceRequest, output=public_dot_apps__pb2.ListAppActivitySinceResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def stream_app_activity(self, request: public_dot_apps__pb2.StreamAppActivityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> AsyncIterator[public_dot_apps__pb2.AppActivityStreamEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamAppActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.StreamAppActivityRequest, output=public_dot_apps__pb2.AppActivityStreamEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def presence_heartbeat(self, request: public_dot_apps__pb2.PresenceHeartbeatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='PresenceHeartbeat', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.PresenceHeartbeatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class AppServiceSync(Protocol): + + def create_app(self, request: public_dot_apps__pb2.CreateAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.CreateAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def duplicate_app(self, request: public_dot_apps__pb2.DuplicateAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.DuplicateAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_app(self, request: public_dot_apps__pb2.GetAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_apps(self, request: public_dot_apps__pb2.ListAppsRequest, ctx: RequestContext) -> public_dot_apps__pb2.ListAppsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_members_with_apps(self, request: public_dot_apps__pb2.GetMembersWithAppsRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetMembersWithAppsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_app(self, request: public_dot_apps__pb2.UpdateAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.UpdateAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_app(self, request: public_dot_apps__pb2.DeleteAppRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def move_app_to_folder(self, request: public_dot_apps__pb2.MoveAppToFolderRequest, ctx: RequestContext) -> public_dot_apps__pb2.MoveAppToFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def refresh_app(self, request: public_dot_apps__pb2.RefreshAppRequest, ctx: RequestContext) -> public_dot_apps__pb2.RefreshAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_app_versions(self, request: public_dot_apps__pb2.ListAppVersionsRequest, ctx: RequestContext) -> public_dot_apps__pb2.ListAppVersionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_app_version(self, request: public_dot_apps__pb2.GetAppVersionRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetAppVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def restore_app_version(self, request: public_dot_apps__pb2.RestoreAppVersionRequest, ctx: RequestContext) -> public_dot_apps__pb2.RestoreAppVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def invoke_app_compute_function(self, request: public_dot_apps__pb2.InvokeAppComputeFunctionRequest, ctx: RequestContext) -> public_dot_apps__pb2.InvokeAppComputeFunctionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def app_heartbeat(self, request: public_dot_apps__pb2.AppHeartbeatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_favorite(self, request: public_dot_apps__pb2.SetFavoriteRequest, ctx: RequestContext) -> public_dot_apps__pb2.SetFavoriteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_app_view_stats(self, request: public_dot_apps__pb2.GetAppViewStatsRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetAppViewStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_component_gallery_url(self, request: public_dot_apps__pb2.GetComponentGalleryUrlRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetComponentGalleryUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_app_member_state(self, request: public_dot_apps__pb2.GetAppMemberStateRequest, ctx: RequestContext) -> public_dot_apps__pb2.GetAppMemberStateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_app_member_state(self, request: public_dot_apps__pb2.SetAppMemberStateRequest, ctx: RequestContext) -> public_dot_apps__pb2.SetAppMemberStateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def record_app_member_activity(self, request: public_dot_apps__pb2.RecordAppMemberActivityRequest, ctx: RequestContext) -> public_dot_apps__pb2.RecordAppMemberActivityResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_my_app_member_activity(self, request: public_dot_apps__pb2.ListMyAppMemberActivityRequest, ctx: RequestContext) -> public_dot_apps__pb2.ListMyAppMemberActivityResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_app_activity_since(self, request: public_dot_apps__pb2.ListAppActivitySinceRequest, ctx: RequestContext) -> public_dot_apps__pb2.ListAppActivitySinceResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_app_activity(self, request: public_dot_apps__pb2.StreamAppActivityRequest, ctx: RequestContext) -> Iterator[public_dot_apps__pb2.AppActivityStreamEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def presence_heartbeat(self, request: public_dot_apps__pb2.PresenceHeartbeatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class AppServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: AppServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.app.AppService/CreateApp': EndpointSync.unary(method=MethodInfo(name='CreateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.CreateAppRequest, output=public_dot_apps__pb2.CreateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_app), '/textql.rpc.public.app.AppService/DuplicateApp': EndpointSync.unary(method=MethodInfo(name='DuplicateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.DuplicateAppRequest, output=public_dot_apps__pb2.DuplicateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.duplicate_app), '/textql.rpc.public.app.AppService/GetApp': EndpointSync.unary(method=MethodInfo(name='GetApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppRequest, output=public_dot_apps__pb2.GetAppResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_app), '/textql.rpc.public.app.AppService/ListApps': EndpointSync.unary(method=MethodInfo(name='ListApps', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppsRequest, output=public_dot_apps__pb2.ListAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_apps), '/textql.rpc.public.app.AppService/GetMembersWithApps': EndpointSync.unary(method=MethodInfo(name='GetMembersWithApps', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetMembersWithAppsRequest, output=public_dot_apps__pb2.GetMembersWithAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_members_with_apps), '/textql.rpc.public.app.AppService/UpdateApp': EndpointSync.unary(method=MethodInfo(name='UpdateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.UpdateAppRequest, output=public_dot_apps__pb2.UpdateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_app), '/textql.rpc.public.app.AppService/DeleteApp': EndpointSync.unary(method=MethodInfo(name='DeleteApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.DeleteAppRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_app), '/textql.rpc.public.app.AppService/MoveAppToFolder': EndpointSync.unary(method=MethodInfo(name='MoveAppToFolder', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.MoveAppToFolderRequest, output=public_dot_apps__pb2.MoveAppToFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.move_app_to_folder), '/textql.rpc.public.app.AppService/RefreshApp': EndpointSync.unary(method=MethodInfo(name='RefreshApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RefreshAppRequest, output=public_dot_apps__pb2.RefreshAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.refresh_app), '/textql.rpc.public.app.AppService/ListAppVersions': EndpointSync.unary(method=MethodInfo(name='ListAppVersions', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppVersionsRequest, output=public_dot_apps__pb2.ListAppVersionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_app_versions), '/textql.rpc.public.app.AppService/GetAppVersion': EndpointSync.unary(method=MethodInfo(name='GetAppVersion', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppVersionRequest, output=public_dot_apps__pb2.GetAppVersionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_app_version), '/textql.rpc.public.app.AppService/RestoreAppVersion': EndpointSync.unary(method=MethodInfo(name='RestoreAppVersion', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RestoreAppVersionRequest, output=public_dot_apps__pb2.RestoreAppVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.restore_app_version), '/textql.rpc.public.app.AppService/InvokeAppComputeFunction': EndpointSync.unary(method=MethodInfo(name='InvokeAppComputeFunction', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.InvokeAppComputeFunctionRequest, output=public_dot_apps__pb2.InvokeAppComputeFunctionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.invoke_app_compute_function), '/textql.rpc.public.app.AppService/AppHeartbeat': EndpointSync.unary(method=MethodInfo(name='AppHeartbeat', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.AppHeartbeatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.app_heartbeat), '/textql.rpc.public.app.AppService/SetFavorite': EndpointSync.unary(method=MethodInfo(name='SetFavorite', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.SetFavoriteRequest, output=public_dot_apps__pb2.SetFavoriteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_favorite), '/textql.rpc.public.app.AppService/GetAppViewStats': EndpointSync.unary(method=MethodInfo(name='GetAppViewStats', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppViewStatsRequest, output=public_dot_apps__pb2.GetAppViewStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_app_view_stats), '/textql.rpc.public.app.AppService/GetComponentGalleryUrl': EndpointSync.unary(method=MethodInfo(name='GetComponentGalleryUrl', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetComponentGalleryUrlRequest, output=public_dot_apps__pb2.GetComponentGalleryUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_component_gallery_url), '/textql.rpc.public.app.AppService/GetAppMemberState': EndpointSync.unary(method=MethodInfo(name='GetAppMemberState', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppMemberStateRequest, output=public_dot_apps__pb2.GetAppMemberStateResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_app_member_state), '/textql.rpc.public.app.AppService/SetAppMemberState': EndpointSync.unary(method=MethodInfo(name='SetAppMemberState', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.SetAppMemberStateRequest, output=public_dot_apps__pb2.SetAppMemberStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_app_member_state), '/textql.rpc.public.app.AppService/RecordAppMemberActivity': EndpointSync.unary(method=MethodInfo(name='RecordAppMemberActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RecordAppMemberActivityRequest, output=public_dot_apps__pb2.RecordAppMemberActivityResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.record_app_member_activity), '/textql.rpc.public.app.AppService/ListMyAppMemberActivity': EndpointSync.unary(method=MethodInfo(name='ListMyAppMemberActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListMyAppMemberActivityRequest, output=public_dot_apps__pb2.ListMyAppMemberActivityResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_my_app_member_activity), '/textql.rpc.public.app.AppService/ListAppActivitySince': EndpointSync.unary(method=MethodInfo(name='ListAppActivitySince', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppActivitySinceRequest, output=public_dot_apps__pb2.ListAppActivitySinceResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_app_activity_since), '/textql.rpc.public.app.AppService/StreamAppActivity': EndpointSync.server_stream(method=MethodInfo(name='StreamAppActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.StreamAppActivityRequest, output=public_dot_apps__pb2.AppActivityStreamEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.stream_app_activity), '/textql.rpc.public.app.AppService/PresenceHeartbeat': EndpointSync.unary(method=MethodInfo(name='PresenceHeartbeat', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.PresenceHeartbeatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.presence_heartbeat)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.app.AppService' + +class AppServiceClientSync(ConnectClientSync): + + def create_app(self, request: public_dot_apps__pb2.CreateAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.CreateAppResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.CreateAppRequest, output=public_dot_apps__pb2.CreateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def duplicate_app(self, request: public_dot_apps__pb2.DuplicateAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.DuplicateAppResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DuplicateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.DuplicateAppRequest, output=public_dot_apps__pb2.DuplicateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_app(self, request: public_dot_apps__pb2.GetAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetAppResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppRequest, output=public_dot_apps__pb2.GetAppResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_apps(self, request: public_dot_apps__pb2.ListAppsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.ListAppsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListApps', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppsRequest, output=public_dot_apps__pb2.ListAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_members_with_apps(self, request: public_dot_apps__pb2.GetMembersWithAppsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetMembersWithAppsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithApps', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetMembersWithAppsRequest, output=public_dot_apps__pb2.GetMembersWithAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_app(self, request: public_dot_apps__pb2.UpdateAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.UpdateAppResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.UpdateAppRequest, output=public_dot_apps__pb2.UpdateAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_app(self, request: public_dot_apps__pb2.DeleteAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.DeleteAppRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def move_app_to_folder(self, request: public_dot_apps__pb2.MoveAppToFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.MoveAppToFolderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MoveAppToFolder', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.MoveAppToFolderRequest, output=public_dot_apps__pb2.MoveAppToFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def refresh_app(self, request: public_dot_apps__pb2.RefreshAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.RefreshAppResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RefreshApp', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RefreshAppRequest, output=public_dot_apps__pb2.RefreshAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_app_versions(self, request: public_dot_apps__pb2.ListAppVersionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.ListAppVersionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAppVersions', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppVersionsRequest, output=public_dot_apps__pb2.ListAppVersionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_app_version(self, request: public_dot_apps__pb2.GetAppVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetAppVersionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetAppVersion', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppVersionRequest, output=public_dot_apps__pb2.GetAppVersionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def restore_app_version(self, request: public_dot_apps__pb2.RestoreAppVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.RestoreAppVersionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RestoreAppVersion', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RestoreAppVersionRequest, output=public_dot_apps__pb2.RestoreAppVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def invoke_app_compute_function(self, request: public_dot_apps__pb2.InvokeAppComputeFunctionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.InvokeAppComputeFunctionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='InvokeAppComputeFunction', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.InvokeAppComputeFunctionRequest, output=public_dot_apps__pb2.InvokeAppComputeFunctionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def app_heartbeat(self, request: public_dot_apps__pb2.AppHeartbeatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='AppHeartbeat', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.AppHeartbeatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def set_favorite(self, request: public_dot_apps__pb2.SetFavoriteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.SetFavoriteResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetFavorite', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.SetFavoriteRequest, output=public_dot_apps__pb2.SetFavoriteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_app_view_stats(self, request: public_dot_apps__pb2.GetAppViewStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetAppViewStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetAppViewStats', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppViewStatsRequest, output=public_dot_apps__pb2.GetAppViewStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_component_gallery_url(self, request: public_dot_apps__pb2.GetComponentGalleryUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.GetComponentGalleryUrlResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetComponentGalleryUrl', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetComponentGalleryUrlRequest, output=public_dot_apps__pb2.GetComponentGalleryUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_app_member_state(self, request: public_dot_apps__pb2.GetAppMemberStateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.GetAppMemberStateResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetAppMemberState', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.GetAppMemberStateRequest, output=public_dot_apps__pb2.GetAppMemberStateResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def set_app_member_state(self, request: public_dot_apps__pb2.SetAppMemberStateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.SetAppMemberStateResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetAppMemberState', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.SetAppMemberStateRequest, output=public_dot_apps__pb2.SetAppMemberStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def record_app_member_activity(self, request: public_dot_apps__pb2.RecordAppMemberActivityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_apps__pb2.RecordAppMemberActivityResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RecordAppMemberActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.RecordAppMemberActivityRequest, output=public_dot_apps__pb2.RecordAppMemberActivityResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_my_app_member_activity(self, request: public_dot_apps__pb2.ListMyAppMemberActivityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.ListMyAppMemberActivityResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListMyAppMemberActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListMyAppMemberActivityRequest, output=public_dot_apps__pb2.ListMyAppMemberActivityResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_app_activity_since(self, request: public_dot_apps__pb2.ListAppActivitySinceRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_apps__pb2.ListAppActivitySinceResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAppActivitySince', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.ListAppActivitySinceRequest, output=public_dot_apps__pb2.ListAppActivitySinceResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def stream_app_activity(self, request: public_dot_apps__pb2.StreamAppActivityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> Iterator[public_dot_apps__pb2.AppActivityStreamEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamAppActivity', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.StreamAppActivityRequest, output=public_dot_apps__pb2.AppActivityStreamEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def presence_heartbeat(self, request: public_dot_apps__pb2.PresenceHeartbeatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='PresenceHeartbeat', service_name='textql.rpc.public.app.AppService', input=public_dot_apps__pb2.PresenceHeartbeatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/apps_pb2.py b/src/textql_sdk/_connect/public/apps_pb2.py new file mode 100644 index 0000000..aaf2295 --- /dev/null +++ b/src/textql_sdk/_connect/public/apps_pb2.py @@ -0,0 +1,177 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/apps.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import dashboard_pb2 as public_dot_dashboard__pb2 +from ..public import identity_pb2 as public_dot_identity__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11public/apps.proto\x12\x15textql.rpc.public.app\x1a\x1bgoogle/api/visibility.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16public/dashboard.proto\x1a\x15public/identity.proto"\x92\x02\n\x11AppActivityRecord\x12\x10\n\x03seq\x18\x01 \x01(\x03R\x03seq\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId\x12!\n\x0cdisplay_name\x18\x03 \x01(\tR\x0bdisplayName\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x12\x19\n\x05scope\x18\x05 \x01(\tH\x00R\x05scope\x88\x01\x01\x12&\n\x0cpayload_json\x18\x06 \x01(\tH\x01R\x0bpayloadJson\x88\x01\x01\x129\n\ncreated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAtB\x08\n\x06_scopeB\x0f\n\r_payload_json"\x8c\x01\n\x1bListAppActivitySinceRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x19\n\x05scope\x18\x02 \x01(\tH\x00R\x05scope\x88\x01\x01\x12\x1b\n\tafter_seq\x18\x03 \x01(\x03R\x08afterSeq\x12\x14\n\x05limit\x18\x04 \x01(\x05R\x05limitB\x08\n\x06_scope"b\n\x1cListAppActivitySinceResponse\x12B\n\x07records\x18\x01 \x03(\x0b2(.textql.rpc.public.app.AppActivityRecordR\x07records"g\n\x11AppPresenceMember\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12\x12\n\x04zone\x18\x03 \x01(\tR\x04zone"Y\n\x13AppPresenceSnapshot\x12B\n\x07members\x18\x01 \x03(\x0b2(.textql.rpc.public.app.AppPresenceMemberR\x07members"V\n\x10AppActivityBatch\x12B\n\x07records\x18\x01 \x03(\x0b2(.textql.rpc.public.app.AppActivityRecordR\x07records"\x16\n\x14AppActivityHeartbeat"\x81\x02\n\x16AppActivityStreamEvent\x12E\n\x08activity\x18\x01 \x01(\x0b2\'.textql.rpc.public.app.AppActivityBatchH\x00R\x08activity\x12H\n\x08presence\x18\x02 \x01(\x0b2*.textql.rpc.public.app.AppPresenceSnapshotH\x00R\x08presence\x12K\n\theartbeat\x18\x03 \x01(\x0b2+.textql.rpc.public.app.AppActivityHeartbeatH\x00R\theartbeatB\t\n\x07payload"s\n\x18StreamAppActivityRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x19\n\x05scope\x18\x02 \x01(\tH\x00R\x05scope\x88\x01\x01\x12\x1b\n\tafter_seq\x18\x03 \x01(\x03R\x08afterSeqB\x08\n\x06_scope"E\n\x18PresenceHeartbeatRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x12\n\x04zone\x18\x02 \x01(\tR\x04zone"1\n\x18GetAppMemberStateRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId":\n\x19GetAppMemberStateResponse\x12\x1d\n\nvalue_json\x18\x01 \x01(\tR\tvalueJson"P\n\x18SetAppMemberStateRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x1d\n\nvalue_json\x18\x02 \x01(\tR\tvalueJson"\x1b\n\x19SetAppMemberStateResponse"\xd6\x01\n\x1eRecordAppMemberActivityRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x19\n\x05scope\x18\x03 \x01(\tH\x00R\x05scope\x88\x01\x01\x12&\n\x0cpayload_json\x18\x04 \x01(\tH\x01R\x0bpayloadJson\x88\x01\x01\x12\x1e\n\x08idem_key\x18\x05 \x01(\tH\x02R\x07idemKey\x88\x01\x01B\x08\n\x06_scopeB\x0f\n\r_payload_jsonB\x0b\n\t_idem_key"n\n\x1fRecordAppMemberActivityResponse\x12\x10\n\x03seq\x18\x01 \x01(\x03R\x03seq\x129\n\ncreated_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"o\n\x1eListMyAppMemberActivityRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x17\n\x04type\x18\x02 \x01(\tH\x00R\x04type\x88\x01\x01\x12\x14\n\x05limit\x18\x03 \x01(\x05R\x05limitB\x07\n\x05_type"\xd5\x01\n\x14AppMemberActivityRow\x12\x10\n\x03seq\x18\x01 \x01(\x03R\x03seq\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x19\n\x05scope\x18\x03 \x01(\tH\x00R\x05scope\x88\x01\x01\x12&\n\x0cpayload_json\x18\x04 \x01(\tH\x01R\x0bpayloadJson\x88\x01\x01\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAtB\x08\n\x06_scopeB\x0f\n\r_payload_json"b\n\x1fListMyAppMemberActivityResponse\x12?\n\x04rows\x18\x01 \x03(\x0b2+.textql.rpc.public.app.AppMemberActivityRowR\x04rows"y\n\x1dGetComponentGalleryUrlRequest\x12\'\n\x0fruntime_version\x18\x01 \x01(\tR\x0eruntimeVersion\x12\x1d\n\naccent_hex\x18\x02 \x01(\tR\taccentHex:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"D\n\x1eGetComponentGalleryUrlResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"|\n\x12SetFavoriteRequest\x12%\n\x0eprimitive_type\x18\x01 \x01(\tR\rprimitiveType\x12!\n\x0cprimitive_id\x18\x02 \x01(\tR\x0bprimitiveId\x12\x1c\n\tfavorited\x18\x03 \x01(\x08R\tfavorited"3\n\x13SetFavoriteResponse\x12\x1c\n\tfavorited\x18\x01 \x01(\x08R\tfavorited",\n\x13AppHeartbeatRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId"\xa9\x0b\n\x03App\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x1d\n\ncreator_id\x18\x03 \x01(\tR\tcreatorId\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x05 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12\x12\n\x04code\x18\x06 \x01(\tR\x04code\x12J\n\x0cdata_sources\x18\x07 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x12\x1e\n\x08html_url\x18\x08 \x01(\tH\x01R\x07htmlUrl\x88\x01\x01\x12*\n\x0escreenshot_url\x18\t \x01(\tH\x02R\rscreenshotUrl\x88\x01\x01\x12%\n\x0econsole_errors\x18\x17 \x03(\tR\rconsoleErrors\x12\x1c\n\x07chat_id\x18\x0e \x01(\tH\x03R\x06chatId\x88\x01\x01\x121\n\x12published_html_url\x18\x0f \x01(\tH\x04R\x10publishedHtmlUrl\x88\x01\x01\x126\n\x17has_unpublished_changes\x18\x10 \x01(\x08R\x15hasUnpublishedChanges\x12S\n\x11compute_functions\x18\x12 \x03(\x0b2&.textql.rpc.public.app.ComputeFunctionR\x10computeFunctions\x124\n\x05files\x18\x13 \x03(\x0b2\x1e.textql.rpc.public.app.AppFileR\x05files\x12)\n\x10schedule_enabled\x18\x14 \x01(\x08R\x0fscheduleEnabled\x12$\n\x0bcron_string\x18\x15 \x01(\tH\x05R\ncronString\x88\x01\x01\x12 \n\tfolder_id\x18\x16 \x01(\tH\x06R\x08folderId\x88\x01\x01\x12!\n\x0cis_favorited\x18\x18 \x01(\x08R\x0bisFavorited\x12E\n\x0ccapabilities\x18\x19 \x03(\x0b2!.textql.rpc.public.app.CapabilityR\x0ccapabilities\x12 \n\x0capp_db_setup\x18\x1a \x03(\tR\nappDbSetup\x126\n\x17member_features_enabled\x18\x1b \x01(\x08R\x15memberFeaturesEnabled\x124\n\x14uses_member_features\x18\x1c \x01(\x08B\x02\x18\x01R\x12usesMemberFeatures\x12#\n\rviewer_grants\x18\x1d \x03(\tR\x0cviewerGrants\x129\n\ncreated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12B\n\x0crefreshed_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampH\x07R\x0brefreshedAt\x88\x01\x01\x12B\n\x0cpublished_at\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampH\x08R\x0bpublishedAt\x88\x01\x01B\x0e\n\x0c_descriptionB\x0b\n\t_html_urlB\x11\n\x0f_screenshot_urlB\n\n\x08_chat_idB\x15\n\x13_published_html_urlB\x0e\n\x0c_cron_stringB\x0c\n\n_folder_idB\x0f\n\r_refreshed_atB\x0f\n\r_published_atJ\x04\x08\x11\x10\x12R\x11staleness_seconds"\xb1\x03\n\x10CreateAppRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x02 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12\x12\n\x04code\x18\x03 \x01(\tR\x04code\x12J\n\x0cdata_sources\x18\x04 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x12S\n\x11compute_functions\x18\x05 \x03(\x0b2&.textql.rpc.public.app.ComputeFunctionR\x10computeFunctions\x124\n\x05files\x18\x06 \x03(\x0b2\x1e.textql.rpc.public.app.AppFileR\x05files\x12E\n\x0ccapabilities\x18\x07 \x03(\x0b2!.textql.rpc.public.app.CapabilityR\x0ccapabilities\x12 \n\x0capp_db_setup\x18\x08 \x03(\tR\nappDbSetupB\x0e\n\x0c_description"A\n\x11CreateAppResponse\x12,\n\x03app\x18\x01 \x01(\x0b2\x1a.textql.rpc.public.app.AppR\x03app",\n\x13DuplicateAppRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId"D\n\x14DuplicateAppResponse\x12,\n\x03app\x18\x01 \x01(\x0b2\x1a.textql.rpc.public.app.AppR\x03app"&\n\rGetAppRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId"p\n\x0eGetAppResponse\x12,\n\x03app\x18\x01 \x01(\x0b2\x1a.textql.rpc.public.app.AppR\x03app\x120\n\x14has_write_permission\x18\x02 \x01(\x08R\x12hasWritePermission"\xae\x02\n\x0fListAppsRequest\x12$\n\x0bsearch_term\x18\x01 \x01(\tH\x00R\nsearchTerm\x88\x01\x01\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12 \n\tfolder_id\x18\x04 \x01(\tH\x01R\x08folderId\x88\x01\x01\x122\n\x12uncategorized_only\x18\x05 \x01(\x08H\x02R\x11uncategorizedOnly\x88\x01\x01\x12)\n\x0eshared_with_me\x18\x06 \x01(\x08H\x03R\x0csharedWithMe\x88\x01\x01B\x0e\n\x0c_search_termB\x0c\n\n_folder_idB\x15\n\x13_uncategorized_onlyB\x11\n\x0f_shared_with_me"c\n\x10ListAppsResponse\x12.\n\x04apps\x18\x01 \x03(\x0b2\x1a.textql.rpc.public.app.AppR\x04apps\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount"\x1b\n\x19GetMembersWithAppsRequest"Z\n\x1aGetMembersWithAppsResponse\x12<\n\x07members\x18\x01 \x03(\x0b2".textql.rpc.identity.MemberPreviewR\x07members"\xae\x08\n\x10UpdateAppRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12%\n\x0bdescription\x18\x03 \x01(\tH\x01R\x0bdescription\x88\x01\x01\x12\x17\n\x04code\x18\x04 \x01(\tH\x02R\x04code\x88\x01\x01\x12J\n\x0cdata_sources\x18\x05 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x125\n\x14replace_data_sources\x18\x06 \x01(\x08H\x03R\x12replaceDataSources\x88\x01\x01\x12\x1d\n\x07publish\x18\x07 \x01(\x08H\x04R\x07publish\x88\x01\x01\x12S\n\x11compute_functions\x18\t \x03(\x0b2&.textql.rpc.public.app.ComputeFunctionR\x10computeFunctions\x12?\n\x19replace_compute_functions\x18\n \x01(\x08H\x05R\x17replaceComputeFunctions\x88\x01\x01\x124\n\x05files\x18\x0b \x03(\x0b2\x1e.textql.rpc.public.app.AppFileR\x05files\x12(\n\rreplace_files\x18\x0c \x01(\x08H\x06R\x0creplaceFiles\x88\x01\x01\x12.\n\x10schedule_enabled\x18\r \x01(\x08H\x07R\x0fscheduleEnabled\x88\x01\x01\x12$\n\x0bcron_string\x18\x0e \x01(\tH\x08R\ncronString\x88\x01\x01\x12E\n\x0ccapabilities\x18\x0f \x03(\x0b2!.textql.rpc.public.app.CapabilityR\x0ccapabilities\x126\n\x14replace_capabilities\x18\x10 \x01(\x08H\tR\x13replaceCapabilities\x88\x01\x01\x12 \n\x0capp_db_setup\x18\x11 \x03(\tR\nappDbSetup\x124\n\x14replace_app_db_setup\x18\x12 \x01(\x08H\nR\x11replaceAppDbSetup\x88\x01\x01B\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x07\n\x05_codeB\x17\n\x15_replace_data_sourcesB\n\n\x08_publishB\x1c\n\x1a_replace_compute_functionsB\x10\n\x0e_replace_filesB\x13\n\x11_schedule_enabledB\x0e\n\x0c_cron_stringB\x17\n\x15_replace_capabilitiesB\x17\n\x15_replace_app_db_setupJ\x04\x08\x08\x10\tR\x11staleness_seconds"A\n\x11UpdateAppResponse\x12,\n\x03app\x18\x01 \x01(\x0b2\x1a.textql.rpc.public.app.AppR\x03app")\n\x10DeleteAppRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId"_\n\x16MoveAppToFolderRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12 \n\tfolder_id\x18\x02 \x01(\tH\x00R\x08folderId\x88\x01\x01B\x0c\n\n_folder_id"G\n\x17MoveAppToFolderResponse\x12,\n\x03app\x18\x01 \x01(\x0b2\x1a.textql.rpc.public.app.AppR\x03app"*\n\x11RefreshAppRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId"B\n\x12RefreshAppResponse\x12,\n\x03app\x18\x01 \x01(\x0b2\x1a.textql.rpc.public.app.AppR\x03app"u\n\x14ComputeFunctionParam\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12%\n\x0bdescription\x18\x03 \x01(\tH\x00R\x0bdescription\x88\x01\x01B\x0e\n\x0c_description"~\n\x0fCapabilityParam\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x17\n\x04type\x18\x02 \x01(\tH\x00R\x04type\x88\x01\x01\x12%\n\x0bdescription\x18\x03 \x01(\tH\x01R\x0bdescription\x88\x01\x01B\x07\n\x05_typeB\x0e\n\x0c_description"\xe6\x02\n\nCapability\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12&\n\x0cconnector_id\x18\x03 \x01(\x05H\x01R\x0bconnectorId\x88\x01\x01\x12!\n\tstatement\x18\x04 \x01(\tH\x02R\tstatement\x88\x01\x01\x12\x19\n\x05scope\x18\x05 \x01(\tH\x03R\x05scope\x88\x01\x01\x12\x1d\n\x07subject\x18\x06 \x01(\tH\x04R\x07subject\x88\x01\x01\x12\x17\n\x04body\x18\x07 \x01(\tH\x05R\x04body\x88\x01\x01\x12F\n\nparameters\x18\x08 \x03(\x0b2&.textql.rpc.public.app.CapabilityParamR\nparametersB\x07\n\x05_nameB\x0f\n\r_connector_idB\x0c\n\n_statementB\x08\n\x06_scopeB\n\n\x08_subjectB\x07\n\x05_body"\xcd\x03\n\x0fComputeFunction\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12C\n\x06params\x18\x03 \x03(\x0b2+.textql.rpc.public.app.ComputeFunctionParamR\x06params\x12\x1d\n\x07returns\x18\x04 \x01(\tH\x00R\x07returns\x88\x01\x01\x12\x12\n\x04code\x18\x05 \x01(\tR\x04code\x12\x1e\n\x08tql_path\x18\x06 \x01(\tH\x01R\x07tqlPath\x88\x01\x01\x12\x15\n\x03tql\x18\x07 \x01(\tH\x02R\x03tql\x88\x01\x01\x128\n\x05grant\x18\x08 \x01(\x0b2".textql.rpc.public.dashboard.GrantR\x05grant\x128\n\x0cconnector_id\x18\t \x01(\x05B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x03R\x0bconnectorId\x88\x01\x01\x12\'\n\x03sql\x18\n \x01(\tB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x04R\x03sql\x88\x01\x01B\n\n\x08_returnsB\x0b\n\t_tql_pathB\x06\n\x04_tqlB\x0f\n\r_connector_idB\x06\n\x04_sql"~\n\x1fInvokeAppComputeFunctionRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12#\n\rfunction_name\x18\x02 \x01(\tR\x0cfunctionName\x12\x1f\n\x0bparams_json\x18\x03 \x01(\tR\nparamsJson"\xa4\x01\n InvokeAppComputeFunctionResponse\x12\x1f\n\x0bresult_json\x18\x01 \x01(\tR\nresultJson\x121\n\x0binvoke_mode\x18\x02 \x01(\tB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\ninvokeMode\x12,\n\x08rewarmed\x18\x03 \x01(\x08B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\x08rewarmed"7\n\x07AppFile\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content"\xcf\x05\n\nAppVersion\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06app_id\x18\x02 \x01(\tR\x05appId\x12%\n\x0eversion_number\x18\x03 \x01(\x05R\rversionNumber\x12\x12\n\x04code\x18\x04 \x01(\tR\x04code\x12J\n\x0cdata_sources\x18\x05 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x12S\n\x11compute_functions\x18\x06 \x03(\x0b2&.textql.rpc.public.app.ComputeFunctionR\x10computeFunctions\x124\n\x05files\x18\x07 \x03(\x0b2\x1e.textql.rpc.public.app.AppFileR\x05files\x12\x12\n\x04name\x18\x08 \x01(\tR\x04name\x12%\n\x0bdescription\x18\t \x01(\tH\x00R\x0bdescription\x88\x01\x01\x121\n\x12published_html_url\x18\n \x01(\tH\x01R\x10publishedHtmlUrl\x88\x01\x01\x12!\n\x0cpublished_by\x18\x0c \x01(\tR\x0bpublishedBy\x12\x19\n\x05label\x18\r \x01(\tH\x02R\x05label\x88\x01\x01\x12=\n\x0cpublished_at\x18\x0e \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bpublishedAt\x12E\n\tpublisher\x18\x0f \x01(\x0b2".textql.rpc.identity.MemberPreviewH\x03R\tpublisher\x88\x01\x01B\x0e\n\x0c_descriptionB\x15\n\x13_published_html_urlB\x08\n\x06_labelB\x0c\n\n_publisherJ\x04\x08\x0b\x10\x0cR\x11staleness_seconds"]\n\x16ListAppVersionsRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset"y\n\x17ListAppVersionsResponse\x12=\n\x08versions\x18\x01 \x03(\x0b2!.textql.rpc.public.app.AppVersionR\x08versions\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount"T\n\x14GetAppVersionRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12%\n\x0eversion_number\x18\x02 \x01(\x05R\rversionNumber"T\n\x15GetAppVersionResponse\x12;\n\x07version\x18\x01 \x01(\x0b2!.textql.rpc.public.app.AppVersionR\x07version"X\n\x18RestoreAppVersionRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12%\n\x0eversion_number\x18\x02 \x01(\x05R\rversionNumber"I\n\x19RestoreAppVersionResponse\x12,\n\x03app\x18\x01 \x01(\x0b2\x1a.textql.rpc.public.app.AppR\x03app"/\n\x16GetAppViewStatsRequest\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId"\x89\x02\n\rAppViewerInfo\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12;\n\x0blast_viewed\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nlastViewed\x12\x1d\n\nview_count\x18\x03 \x01(\x05R\tviewCount\x12&\n\x0cdisplay_name\x18\x04 \x01(\tH\x00R\x0bdisplayName\x88\x01\x01\x12F\n\x11recent_view_times\x18\x05 \x03(\x0b2\x1a.google.protobuf.TimestampR\x0frecentViewTimesB\x0f\n\r_display_name"\xae\x01\n\x17GetAppViewStatsResponse\x12\x1f\n\x0btotal_views\x18\x01 \x01(\x05R\ntotalViews\x12%\n\x0eunique_viewers\x18\x02 \x01(\x05R\runiqueViewers\x12K\n\x0erecent_viewers\x18\x03 \x03(\x0b2$.textql.rpc.public.app.AppViewerInfoR\rrecentViewers2\xc5\x15\n\nAppService\x12^\n\tCreateApp\x12\'.textql.rpc.public.app.CreateAppRequest\x1a(.textql.rpc.public.app.CreateAppResponse\x12g\n\x0cDuplicateApp\x12*.textql.rpc.public.app.DuplicateAppRequest\x1a+.textql.rpc.public.app.DuplicateAppResponse\x12Z\n\x06GetApp\x12$.textql.rpc.public.app.GetAppRequest\x1a%.textql.rpc.public.app.GetAppResponse"\x03\x90\x02\x01\x12`\n\x08ListApps\x12&.textql.rpc.public.app.ListAppsRequest\x1a\'.textql.rpc.public.app.ListAppsResponse"\x03\x90\x02\x01\x12~\n\x12GetMembersWithApps\x120.textql.rpc.public.app.GetMembersWithAppsRequest\x1a1.textql.rpc.public.app.GetMembersWithAppsResponse"\x03\x90\x02\x01\x12^\n\tUpdateApp\x12\'.textql.rpc.public.app.UpdateAppRequest\x1a(.textql.rpc.public.app.UpdateAppResponse\x12L\n\tDeleteApp\x12\'.textql.rpc.public.app.DeleteAppRequest\x1a\x16.google.protobuf.Empty\x12p\n\x0fMoveAppToFolder\x12-.textql.rpc.public.app.MoveAppToFolderRequest\x1a..textql.rpc.public.app.MoveAppToFolderResponse\x12a\n\nRefreshApp\x12(.textql.rpc.public.app.RefreshAppRequest\x1a).textql.rpc.public.app.RefreshAppResponse\x12u\n\x0fListAppVersions\x12-.textql.rpc.public.app.ListAppVersionsRequest\x1a..textql.rpc.public.app.ListAppVersionsResponse"\x03\x90\x02\x01\x12o\n\rGetAppVersion\x12+.textql.rpc.public.app.GetAppVersionRequest\x1a,.textql.rpc.public.app.GetAppVersionResponse"\x03\x90\x02\x01\x12v\n\x11RestoreAppVersion\x12/.textql.rpc.public.app.RestoreAppVersionRequest\x1a0.textql.rpc.public.app.RestoreAppVersionResponse\x12\x8b\x01\n\x18InvokeAppComputeFunction\x126.textql.rpc.public.app.InvokeAppComputeFunctionRequest\x1a7.textql.rpc.public.app.InvokeAppComputeFunctionResponse\x12W\n\x0cAppHeartbeat\x12*.textql.rpc.public.app.AppHeartbeatRequest\x1a\x16.google.protobuf.Empty"\x03\x90\x02\x01\x12d\n\x0bSetFavorite\x12).textql.rpc.public.app.SetFavoriteRequest\x1a*.textql.rpc.public.app.SetFavoriteResponse\x12u\n\x0fGetAppViewStats\x12-.textql.rpc.public.app.GetAppViewStatsRequest\x1a..textql.rpc.public.app.GetAppViewStatsResponse"\x03\x90\x02\x01\x12\x97\x01\n\x16GetComponentGalleryUrl\x124.textql.rpc.public.app.GetComponentGalleryUrlRequest\x1a5.textql.rpc.public.app.GetComponentGalleryUrlResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12{\n\x11GetAppMemberState\x12/.textql.rpc.public.app.GetAppMemberStateRequest\x1a0.textql.rpc.public.app.GetAppMemberStateResponse"\x03\x90\x02\x01\x12v\n\x11SetAppMemberState\x12/.textql.rpc.public.app.SetAppMemberStateRequest\x1a0.textql.rpc.public.app.SetAppMemberStateResponse\x12\x88\x01\n\x17RecordAppMemberActivity\x125.textql.rpc.public.app.RecordAppMemberActivityRequest\x1a6.textql.rpc.public.app.RecordAppMemberActivityResponse\x12\x8d\x01\n\x17ListMyAppMemberActivity\x125.textql.rpc.public.app.ListMyAppMemberActivityRequest\x1a6.textql.rpc.public.app.ListMyAppMemberActivityResponse"\x03\x90\x02\x01\x12\x84\x01\n\x14ListAppActivitySince\x122.textql.rpc.public.app.ListAppActivitySinceRequest\x1a3.textql.rpc.public.app.ListAppActivitySinceResponse"\x03\x90\x02\x01\x12u\n\x11StreamAppActivity\x12/.textql.rpc.public.app.StreamAppActivityRequest\x1a-.textql.rpc.public.app.AppActivityStreamEvent0\x01\x12a\n\x11PresenceHeartbeat\x12/.textql.rpc.public.app.PresenceHeartbeatRequest\x1a\x16.google.protobuf.Empty"\x03\x90\x02\x01b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.apps_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GETCOMPONENTGALLERYURLREQUEST']._loaded_options = None + _globals['_GETCOMPONENTGALLERYURLREQUEST']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_GETCOMPONENTGALLERYURLRESPONSE']._loaded_options = None + _globals['_GETCOMPONENTGALLERYURLRESPONSE']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_APP'].fields_by_name['uses_member_features']._loaded_options = None + _globals['_APP'].fields_by_name['uses_member_features']._serialized_options = b'\x18\x01' + _globals['_COMPUTEFUNCTION'].fields_by_name['connector_id']._loaded_options = None + _globals['_COMPUTEFUNCTION'].fields_by_name['connector_id']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_COMPUTEFUNCTION'].fields_by_name['sql']._loaded_options = None + _globals['_COMPUTEFUNCTION'].fields_by_name['sql']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_INVOKEAPPCOMPUTEFUNCTIONRESPONSE'].fields_by_name['invoke_mode']._loaded_options = None + _globals['_INVOKEAPPCOMPUTEFUNCTIONRESPONSE'].fields_by_name['invoke_mode']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_INVOKEAPPCOMPUTEFUNCTIONRESPONSE'].fields_by_name['rewarmed']._loaded_options = None + _globals['_INVOKEAPPCOMPUTEFUNCTIONRESPONSE'].fields_by_name['rewarmed']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_APPSERVICE'].methods_by_name['GetApp']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['GetApp']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['ListApps']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['ListApps']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['GetMembersWithApps']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['GetMembersWithApps']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['ListAppVersions']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['ListAppVersions']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['GetAppVersion']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['GetAppVersion']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['AppHeartbeat']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['AppHeartbeat']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['GetAppViewStats']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['GetAppViewStats']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['GetComponentGalleryUrl']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['GetComponentGalleryUrl']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_APPSERVICE'].methods_by_name['GetAppMemberState']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['GetAppMemberState']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['ListMyAppMemberActivity']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['ListMyAppMemberActivity']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['ListAppActivitySince']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['ListAppActivitySince']._serialized_options = b'\x90\x02\x01' + _globals['_APPSERVICE'].methods_by_name['PresenceHeartbeat']._loaded_options = None + _globals['_APPSERVICE'].methods_by_name['PresenceHeartbeat']._serialized_options = b'\x90\x02\x01' + _globals['_APPACTIVITYRECORD']._serialized_start = 183 + _globals['_APPACTIVITYRECORD']._serialized_end = 457 + _globals['_LISTAPPACTIVITYSINCEREQUEST']._serialized_start = 460 + _globals['_LISTAPPACTIVITYSINCEREQUEST']._serialized_end = 600 + _globals['_LISTAPPACTIVITYSINCERESPONSE']._serialized_start = 602 + _globals['_LISTAPPACTIVITYSINCERESPONSE']._serialized_end = 700 + _globals['_APPPRESENCEMEMBER']._serialized_start = 702 + _globals['_APPPRESENCEMEMBER']._serialized_end = 805 + _globals['_APPPRESENCESNAPSHOT']._serialized_start = 807 + _globals['_APPPRESENCESNAPSHOT']._serialized_end = 896 + _globals['_APPACTIVITYBATCH']._serialized_start = 898 + _globals['_APPACTIVITYBATCH']._serialized_end = 984 + _globals['_APPACTIVITYHEARTBEAT']._serialized_start = 986 + _globals['_APPACTIVITYHEARTBEAT']._serialized_end = 1008 + _globals['_APPACTIVITYSTREAMEVENT']._serialized_start = 1011 + _globals['_APPACTIVITYSTREAMEVENT']._serialized_end = 1268 + _globals['_STREAMAPPACTIVITYREQUEST']._serialized_start = 1270 + _globals['_STREAMAPPACTIVITYREQUEST']._serialized_end = 1385 + _globals['_PRESENCEHEARTBEATREQUEST']._serialized_start = 1387 + _globals['_PRESENCEHEARTBEATREQUEST']._serialized_end = 1456 + _globals['_GETAPPMEMBERSTATEREQUEST']._serialized_start = 1458 + _globals['_GETAPPMEMBERSTATEREQUEST']._serialized_end = 1507 + _globals['_GETAPPMEMBERSTATERESPONSE']._serialized_start = 1509 + _globals['_GETAPPMEMBERSTATERESPONSE']._serialized_end = 1567 + _globals['_SETAPPMEMBERSTATEREQUEST']._serialized_start = 1569 + _globals['_SETAPPMEMBERSTATEREQUEST']._serialized_end = 1649 + _globals['_SETAPPMEMBERSTATERESPONSE']._serialized_start = 1651 + _globals['_SETAPPMEMBERSTATERESPONSE']._serialized_end = 1678 + _globals['_RECORDAPPMEMBERACTIVITYREQUEST']._serialized_start = 1681 + _globals['_RECORDAPPMEMBERACTIVITYREQUEST']._serialized_end = 1895 + _globals['_RECORDAPPMEMBERACTIVITYRESPONSE']._serialized_start = 1897 + _globals['_RECORDAPPMEMBERACTIVITYRESPONSE']._serialized_end = 2007 + _globals['_LISTMYAPPMEMBERACTIVITYREQUEST']._serialized_start = 2009 + _globals['_LISTMYAPPMEMBERACTIVITYREQUEST']._serialized_end = 2120 + _globals['_APPMEMBERACTIVITYROW']._serialized_start = 2123 + _globals['_APPMEMBERACTIVITYROW']._serialized_end = 2336 + _globals['_LISTMYAPPMEMBERACTIVITYRESPONSE']._serialized_start = 2338 + _globals['_LISTMYAPPMEMBERACTIVITYRESPONSE']._serialized_end = 2436 + _globals['_GETCOMPONENTGALLERYURLREQUEST']._serialized_start = 2438 + _globals['_GETCOMPONENTGALLERYURLREQUEST']._serialized_end = 2559 + _globals['_GETCOMPONENTGALLERYURLRESPONSE']._serialized_start = 2561 + _globals['_GETCOMPONENTGALLERYURLRESPONSE']._serialized_end = 2629 + _globals['_SETFAVORITEREQUEST']._serialized_start = 2631 + _globals['_SETFAVORITEREQUEST']._serialized_end = 2755 + _globals['_SETFAVORITERESPONSE']._serialized_start = 2757 + _globals['_SETFAVORITERESPONSE']._serialized_end = 2808 + _globals['_APPHEARTBEATREQUEST']._serialized_start = 2810 + _globals['_APPHEARTBEATREQUEST']._serialized_end = 2854 + _globals['_APP']._serialized_start = 2857 + _globals['_APP']._serialized_end = 4306 + _globals['_CREATEAPPREQUEST']._serialized_start = 4309 + _globals['_CREATEAPPREQUEST']._serialized_end = 4742 + _globals['_CREATEAPPRESPONSE']._serialized_start = 4744 + _globals['_CREATEAPPRESPONSE']._serialized_end = 4809 + _globals['_DUPLICATEAPPREQUEST']._serialized_start = 4811 + _globals['_DUPLICATEAPPREQUEST']._serialized_end = 4855 + _globals['_DUPLICATEAPPRESPONSE']._serialized_start = 4857 + _globals['_DUPLICATEAPPRESPONSE']._serialized_end = 4925 + _globals['_GETAPPREQUEST']._serialized_start = 4927 + _globals['_GETAPPREQUEST']._serialized_end = 4965 + _globals['_GETAPPRESPONSE']._serialized_start = 4967 + _globals['_GETAPPRESPONSE']._serialized_end = 5079 + _globals['_LISTAPPSREQUEST']._serialized_start = 5082 + _globals['_LISTAPPSREQUEST']._serialized_end = 5384 + _globals['_LISTAPPSRESPONSE']._serialized_start = 5386 + _globals['_LISTAPPSRESPONSE']._serialized_end = 5485 + _globals['_GETMEMBERSWITHAPPSREQUEST']._serialized_start = 5487 + _globals['_GETMEMBERSWITHAPPSREQUEST']._serialized_end = 5514 + _globals['_GETMEMBERSWITHAPPSRESPONSE']._serialized_start = 5516 + _globals['_GETMEMBERSWITHAPPSRESPONSE']._serialized_end = 5606 + _globals['_UPDATEAPPREQUEST']._serialized_start = 5609 + _globals['_UPDATEAPPREQUEST']._serialized_end = 6679 + _globals['_UPDATEAPPRESPONSE']._serialized_start = 6681 + _globals['_UPDATEAPPRESPONSE']._serialized_end = 6746 + _globals['_DELETEAPPREQUEST']._serialized_start = 6748 + _globals['_DELETEAPPREQUEST']._serialized_end = 6789 + _globals['_MOVEAPPTOFOLDERREQUEST']._serialized_start = 6791 + _globals['_MOVEAPPTOFOLDERREQUEST']._serialized_end = 6886 + _globals['_MOVEAPPTOFOLDERRESPONSE']._serialized_start = 6888 + _globals['_MOVEAPPTOFOLDERRESPONSE']._serialized_end = 6959 + _globals['_REFRESHAPPREQUEST']._serialized_start = 6961 + _globals['_REFRESHAPPREQUEST']._serialized_end = 7003 + _globals['_REFRESHAPPRESPONSE']._serialized_start = 7005 + _globals['_REFRESHAPPRESPONSE']._serialized_end = 7071 + _globals['_COMPUTEFUNCTIONPARAM']._serialized_start = 7073 + _globals['_COMPUTEFUNCTIONPARAM']._serialized_end = 7190 + _globals['_CAPABILITYPARAM']._serialized_start = 7192 + _globals['_CAPABILITYPARAM']._serialized_end = 7318 + _globals['_CAPABILITY']._serialized_start = 7321 + _globals['_CAPABILITY']._serialized_end = 7679 + _globals['_COMPUTEFUNCTION']._serialized_start = 7682 + _globals['_COMPUTEFUNCTION']._serialized_end = 8143 + _globals['_INVOKEAPPCOMPUTEFUNCTIONREQUEST']._serialized_start = 8145 + _globals['_INVOKEAPPCOMPUTEFUNCTIONREQUEST']._serialized_end = 8271 + _globals['_INVOKEAPPCOMPUTEFUNCTIONRESPONSE']._serialized_start = 8274 + _globals['_INVOKEAPPCOMPUTEFUNCTIONRESPONSE']._serialized_end = 8438 + _globals['_APPFILE']._serialized_start = 8440 + _globals['_APPFILE']._serialized_end = 8495 + _globals['_APPVERSION']._serialized_start = 8498 + _globals['_APPVERSION']._serialized_end = 9217 + _globals['_LISTAPPVERSIONSREQUEST']._serialized_start = 9219 + _globals['_LISTAPPVERSIONSREQUEST']._serialized_end = 9312 + _globals['_LISTAPPVERSIONSRESPONSE']._serialized_start = 9314 + _globals['_LISTAPPVERSIONSRESPONSE']._serialized_end = 9435 + _globals['_GETAPPVERSIONREQUEST']._serialized_start = 9437 + _globals['_GETAPPVERSIONREQUEST']._serialized_end = 9521 + _globals['_GETAPPVERSIONRESPONSE']._serialized_start = 9523 + _globals['_GETAPPVERSIONRESPONSE']._serialized_end = 9607 + _globals['_RESTOREAPPVERSIONREQUEST']._serialized_start = 9609 + _globals['_RESTOREAPPVERSIONREQUEST']._serialized_end = 9697 + _globals['_RESTOREAPPVERSIONRESPONSE']._serialized_start = 9699 + _globals['_RESTOREAPPVERSIONRESPONSE']._serialized_end = 9772 + _globals['_GETAPPVIEWSTATSREQUEST']._serialized_start = 9774 + _globals['_GETAPPVIEWSTATSREQUEST']._serialized_end = 9821 + _globals['_APPVIEWERINFO']._serialized_start = 9824 + _globals['_APPVIEWERINFO']._serialized_end = 10089 + _globals['_GETAPPVIEWSTATSRESPONSE']._serialized_start = 10092 + _globals['_GETAPPVIEWSTATSRESPONSE']._serialized_end = 10266 + _globals['_APPSERVICE']._serialized_start = 10269 + _globals['_APPSERVICE']._serialized_end = 13026 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/apps_pb2.pyi b/src/textql_sdk/_connect/public/apps_pb2.pyi new file mode 100644 index 0000000..00c3aaf --- /dev/null +++ b/src/textql_sdk/_connect/public/apps_pb2.pyi @@ -0,0 +1,754 @@ +import datetime +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import dashboard_pb2 as _dashboard_pb2 +from public import identity_pb2 as _identity_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class AppActivityRecord(_message.Message): + __slots__ = ('seq', 'member_id', 'display_name', 'type', 'scope', 'payload_json', 'created_at') + SEQ_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_JSON_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + seq: int + member_id: str + display_name: str + type: str + scope: str + payload_json: str + created_at: _timestamp_pb2.Timestamp + + def __init__(self, seq: _Optional[int]=..., member_id: _Optional[str]=..., display_name: _Optional[str]=..., type: _Optional[str]=..., scope: _Optional[str]=..., payload_json: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListAppActivitySinceRequest(_message.Message): + __slots__ = ('app_id', 'scope', 'after_seq', 'limit') + APP_ID_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + AFTER_SEQ_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + app_id: str + scope: str + after_seq: int + limit: int + + def __init__(self, app_id: _Optional[str]=..., scope: _Optional[str]=..., after_seq: _Optional[int]=..., limit: _Optional[int]=...) -> None: + ... + +class ListAppActivitySinceResponse(_message.Message): + __slots__ = ('records',) + RECORDS_FIELD_NUMBER: _ClassVar[int] + records: _containers.RepeatedCompositeFieldContainer[AppActivityRecord] + + def __init__(self, records: _Optional[_Iterable[_Union[AppActivityRecord, _Mapping]]]=...) -> None: + ... + +class AppPresenceMember(_message.Message): + __slots__ = ('member_id', 'display_name', 'zone') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ZONE_FIELD_NUMBER: _ClassVar[int] + member_id: str + display_name: str + zone: str + + def __init__(self, member_id: _Optional[str]=..., display_name: _Optional[str]=..., zone: _Optional[str]=...) -> None: + ... + +class AppPresenceSnapshot(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[AppPresenceMember] + + def __init__(self, members: _Optional[_Iterable[_Union[AppPresenceMember, _Mapping]]]=...) -> None: + ... + +class AppActivityBatch(_message.Message): + __slots__ = ('records',) + RECORDS_FIELD_NUMBER: _ClassVar[int] + records: _containers.RepeatedCompositeFieldContainer[AppActivityRecord] + + def __init__(self, records: _Optional[_Iterable[_Union[AppActivityRecord, _Mapping]]]=...) -> None: + ... + +class AppActivityHeartbeat(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class AppActivityStreamEvent(_message.Message): + __slots__ = ('activity', 'presence', 'heartbeat') + ACTIVITY_FIELD_NUMBER: _ClassVar[int] + PRESENCE_FIELD_NUMBER: _ClassVar[int] + HEARTBEAT_FIELD_NUMBER: _ClassVar[int] + activity: AppActivityBatch + presence: AppPresenceSnapshot + heartbeat: AppActivityHeartbeat + + def __init__(self, activity: _Optional[_Union[AppActivityBatch, _Mapping]]=..., presence: _Optional[_Union[AppPresenceSnapshot, _Mapping]]=..., heartbeat: _Optional[_Union[AppActivityHeartbeat, _Mapping]]=...) -> None: + ... + +class StreamAppActivityRequest(_message.Message): + __slots__ = ('app_id', 'scope', 'after_seq') + APP_ID_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + AFTER_SEQ_FIELD_NUMBER: _ClassVar[int] + app_id: str + scope: str + after_seq: int + + def __init__(self, app_id: _Optional[str]=..., scope: _Optional[str]=..., after_seq: _Optional[int]=...) -> None: + ... + +class PresenceHeartbeatRequest(_message.Message): + __slots__ = ('app_id', 'zone') + APP_ID_FIELD_NUMBER: _ClassVar[int] + ZONE_FIELD_NUMBER: _ClassVar[int] + app_id: str + zone: str + + def __init__(self, app_id: _Optional[str]=..., zone: _Optional[str]=...) -> None: + ... + +class GetAppMemberStateRequest(_message.Message): + __slots__ = ('app_id',) + APP_ID_FIELD_NUMBER: _ClassVar[int] + app_id: str + + def __init__(self, app_id: _Optional[str]=...) -> None: + ... + +class GetAppMemberStateResponse(_message.Message): + __slots__ = ('value_json',) + VALUE_JSON_FIELD_NUMBER: _ClassVar[int] + value_json: str + + def __init__(self, value_json: _Optional[str]=...) -> None: + ... + +class SetAppMemberStateRequest(_message.Message): + __slots__ = ('app_id', 'value_json') + APP_ID_FIELD_NUMBER: _ClassVar[int] + VALUE_JSON_FIELD_NUMBER: _ClassVar[int] + app_id: str + value_json: str + + def __init__(self, app_id: _Optional[str]=..., value_json: _Optional[str]=...) -> None: + ... + +class SetAppMemberStateResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class RecordAppMemberActivityRequest(_message.Message): + __slots__ = ('app_id', 'type', 'scope', 'payload_json', 'idem_key') + APP_ID_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_JSON_FIELD_NUMBER: _ClassVar[int] + IDEM_KEY_FIELD_NUMBER: _ClassVar[int] + app_id: str + type: str + scope: str + payload_json: str + idem_key: str + + def __init__(self, app_id: _Optional[str]=..., type: _Optional[str]=..., scope: _Optional[str]=..., payload_json: _Optional[str]=..., idem_key: _Optional[str]=...) -> None: + ... + +class RecordAppMemberActivityResponse(_message.Message): + __slots__ = ('seq', 'created_at') + SEQ_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + seq: int + created_at: _timestamp_pb2.Timestamp + + def __init__(self, seq: _Optional[int]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListMyAppMemberActivityRequest(_message.Message): + __slots__ = ('app_id', 'type', 'limit') + APP_ID_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + app_id: str + type: str + limit: int + + def __init__(self, app_id: _Optional[str]=..., type: _Optional[str]=..., limit: _Optional[int]=...) -> None: + ... + +class AppMemberActivityRow(_message.Message): + __slots__ = ('seq', 'type', 'scope', 'payload_json', 'created_at') + SEQ_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + PAYLOAD_JSON_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + seq: int + type: str + scope: str + payload_json: str + created_at: _timestamp_pb2.Timestamp + + def __init__(self, seq: _Optional[int]=..., type: _Optional[str]=..., scope: _Optional[str]=..., payload_json: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListMyAppMemberActivityResponse(_message.Message): + __slots__ = ('rows',) + ROWS_FIELD_NUMBER: _ClassVar[int] + rows: _containers.RepeatedCompositeFieldContainer[AppMemberActivityRow] + + def __init__(self, rows: _Optional[_Iterable[_Union[AppMemberActivityRow, _Mapping]]]=...) -> None: + ... + +class GetComponentGalleryUrlRequest(_message.Message): + __slots__ = ('runtime_version', 'accent_hex') + RUNTIME_VERSION_FIELD_NUMBER: _ClassVar[int] + ACCENT_HEX_FIELD_NUMBER: _ClassVar[int] + runtime_version: str + accent_hex: str + + def __init__(self, runtime_version: _Optional[str]=..., accent_hex: _Optional[str]=...) -> None: + ... + +class GetComponentGalleryUrlResponse(_message.Message): + __slots__ = ('url',) + URL_FIELD_NUMBER: _ClassVar[int] + url: str + + def __init__(self, url: _Optional[str]=...) -> None: + ... + +class SetFavoriteRequest(_message.Message): + __slots__ = ('primitive_type', 'primitive_id', 'favorited') + PRIMITIVE_TYPE_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_ID_FIELD_NUMBER: _ClassVar[int] + FAVORITED_FIELD_NUMBER: _ClassVar[int] + primitive_type: str + primitive_id: str + favorited: bool + + def __init__(self, primitive_type: _Optional[str]=..., primitive_id: _Optional[str]=..., favorited: bool=...) -> None: + ... + +class SetFavoriteResponse(_message.Message): + __slots__ = ('favorited',) + FAVORITED_FIELD_NUMBER: _ClassVar[int] + favorited: bool + + def __init__(self, favorited: bool=...) -> None: + ... + +class AppHeartbeatRequest(_message.Message): + __slots__ = ('app_id',) + APP_ID_FIELD_NUMBER: _ClassVar[int] + app_id: str + + def __init__(self, app_id: _Optional[str]=...) -> None: + ... + +class App(_message.Message): + __slots__ = ('id', 'org_id', 'creator_id', 'name', 'description', 'code', 'data_sources', 'html_url', 'screenshot_url', 'console_errors', 'chat_id', 'published_html_url', 'has_unpublished_changes', 'compute_functions', 'files', 'schedule_enabled', 'cron_string', 'folder_id', 'is_favorited', 'capabilities', 'app_db_setup', 'member_features_enabled', 'uses_member_features', 'viewer_grants', 'created_at', 'updated_at', 'refreshed_at', 'published_at') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + CREATOR_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + HTML_URL_FIELD_NUMBER: _ClassVar[int] + SCREENSHOT_URL_FIELD_NUMBER: _ClassVar[int] + CONSOLE_ERRORS_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_HTML_URL_FIELD_NUMBER: _ClassVar[int] + HAS_UNPUBLISHED_CHANGES_FIELD_NUMBER: _ClassVar[int] + COMPUTE_FUNCTIONS_FIELD_NUMBER: _ClassVar[int] + FILES_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + IS_FAVORITED_FIELD_NUMBER: _ClassVar[int] + CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + APP_DB_SETUP_FIELD_NUMBER: _ClassVar[int] + MEMBER_FEATURES_ENABLED_FIELD_NUMBER: _ClassVar[int] + USES_MEMBER_FEATURES_FIELD_NUMBER: _ClassVar[int] + VIEWER_GRANTS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + REFRESHED_AT_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + creator_id: str + name: str + description: str + code: str + data_sources: _containers.RepeatedCompositeFieldContainer[_dashboard_pb2.DataSource] + html_url: str + screenshot_url: str + console_errors: _containers.RepeatedScalarFieldContainer[str] + chat_id: str + published_html_url: str + has_unpublished_changes: bool + compute_functions: _containers.RepeatedCompositeFieldContainer[ComputeFunction] + files: _containers.RepeatedCompositeFieldContainer[AppFile] + schedule_enabled: bool + cron_string: str + folder_id: str + is_favorited: bool + capabilities: _containers.RepeatedCompositeFieldContainer[Capability] + app_db_setup: _containers.RepeatedScalarFieldContainer[str] + member_features_enabled: bool + uses_member_features: bool + viewer_grants: _containers.RepeatedScalarFieldContainer[str] + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + refreshed_at: _timestamp_pb2.Timestamp + published_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., creator_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., code: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[_dashboard_pb2.DataSource, _Mapping]]]=..., html_url: _Optional[str]=..., screenshot_url: _Optional[str]=..., console_errors: _Optional[_Iterable[str]]=..., chat_id: _Optional[str]=..., published_html_url: _Optional[str]=..., has_unpublished_changes: bool=..., compute_functions: _Optional[_Iterable[_Union[ComputeFunction, _Mapping]]]=..., files: _Optional[_Iterable[_Union[AppFile, _Mapping]]]=..., schedule_enabled: bool=..., cron_string: _Optional[str]=..., folder_id: _Optional[str]=..., is_favorited: bool=..., capabilities: _Optional[_Iterable[_Union[Capability, _Mapping]]]=..., app_db_setup: _Optional[_Iterable[str]]=..., member_features_enabled: bool=..., uses_member_features: bool=..., viewer_grants: _Optional[_Iterable[str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., refreshed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., published_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class CreateAppRequest(_message.Message): + __slots__ = ('name', 'description', 'code', 'data_sources', 'compute_functions', 'files', 'capabilities', 'app_db_setup') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + COMPUTE_FUNCTIONS_FIELD_NUMBER: _ClassVar[int] + FILES_FIELD_NUMBER: _ClassVar[int] + CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + APP_DB_SETUP_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + code: str + data_sources: _containers.RepeatedCompositeFieldContainer[_dashboard_pb2.DataSource] + compute_functions: _containers.RepeatedCompositeFieldContainer[ComputeFunction] + files: _containers.RepeatedCompositeFieldContainer[AppFile] + capabilities: _containers.RepeatedCompositeFieldContainer[Capability] + app_db_setup: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., code: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[_dashboard_pb2.DataSource, _Mapping]]]=..., compute_functions: _Optional[_Iterable[_Union[ComputeFunction, _Mapping]]]=..., files: _Optional[_Iterable[_Union[AppFile, _Mapping]]]=..., capabilities: _Optional[_Iterable[_Union[Capability, _Mapping]]]=..., app_db_setup: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreateAppResponse(_message.Message): + __slots__ = ('app',) + APP_FIELD_NUMBER: _ClassVar[int] + app: App + + def __init__(self, app: _Optional[_Union[App, _Mapping]]=...) -> None: + ... + +class DuplicateAppRequest(_message.Message): + __slots__ = ('app_id',) + APP_ID_FIELD_NUMBER: _ClassVar[int] + app_id: str + + def __init__(self, app_id: _Optional[str]=...) -> None: + ... + +class DuplicateAppResponse(_message.Message): + __slots__ = ('app',) + APP_FIELD_NUMBER: _ClassVar[int] + app: App + + def __init__(self, app: _Optional[_Union[App, _Mapping]]=...) -> None: + ... + +class GetAppRequest(_message.Message): + __slots__ = ('app_id',) + APP_ID_FIELD_NUMBER: _ClassVar[int] + app_id: str + + def __init__(self, app_id: _Optional[str]=...) -> None: + ... + +class GetAppResponse(_message.Message): + __slots__ = ('app', 'has_write_permission') + APP_FIELD_NUMBER: _ClassVar[int] + HAS_WRITE_PERMISSION_FIELD_NUMBER: _ClassVar[int] + app: App + has_write_permission: bool + + def __init__(self, app: _Optional[_Union[App, _Mapping]]=..., has_write_permission: bool=...) -> None: + ... + +class ListAppsRequest(_message.Message): + __slots__ = ('search_term', 'limit', 'offset', 'folder_id', 'uncategorized_only', 'shared_with_me') + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + UNCATEGORIZED_ONLY_FIELD_NUMBER: _ClassVar[int] + SHARED_WITH_ME_FIELD_NUMBER: _ClassVar[int] + search_term: str + limit: int + offset: int + folder_id: str + uncategorized_only: bool + shared_with_me: bool + + def __init__(self, search_term: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=..., folder_id: _Optional[str]=..., uncategorized_only: bool=..., shared_with_me: bool=...) -> None: + ... + +class ListAppsResponse(_message.Message): + __slots__ = ('apps', 'total_count') + APPS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + apps: _containers.RepeatedCompositeFieldContainer[App] + total_count: int + + def __init__(self, apps: _Optional[_Iterable[_Union[App, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class GetMembersWithAppsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMembersWithAppsResponse(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[_identity_pb2.MemberPreview] + + def __init__(self, members: _Optional[_Iterable[_Union[_identity_pb2.MemberPreview, _Mapping]]]=...) -> None: + ... + +class UpdateAppRequest(_message.Message): + __slots__ = ('app_id', 'name', 'description', 'code', 'data_sources', 'replace_data_sources', 'publish', 'compute_functions', 'replace_compute_functions', 'files', 'replace_files', 'schedule_enabled', 'cron_string', 'capabilities', 'replace_capabilities', 'app_db_setup', 'replace_app_db_setup') + APP_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + REPLACE_DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + PUBLISH_FIELD_NUMBER: _ClassVar[int] + COMPUTE_FUNCTIONS_FIELD_NUMBER: _ClassVar[int] + REPLACE_COMPUTE_FUNCTIONS_FIELD_NUMBER: _ClassVar[int] + FILES_FIELD_NUMBER: _ClassVar[int] + REPLACE_FILES_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + REPLACE_CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + APP_DB_SETUP_FIELD_NUMBER: _ClassVar[int] + REPLACE_APP_DB_SETUP_FIELD_NUMBER: _ClassVar[int] + app_id: str + name: str + description: str + code: str + data_sources: _containers.RepeatedCompositeFieldContainer[_dashboard_pb2.DataSource] + replace_data_sources: bool + publish: bool + compute_functions: _containers.RepeatedCompositeFieldContainer[ComputeFunction] + replace_compute_functions: bool + files: _containers.RepeatedCompositeFieldContainer[AppFile] + replace_files: bool + schedule_enabled: bool + cron_string: str + capabilities: _containers.RepeatedCompositeFieldContainer[Capability] + replace_capabilities: bool + app_db_setup: _containers.RepeatedScalarFieldContainer[str] + replace_app_db_setup: bool + + def __init__(self, app_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., code: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[_dashboard_pb2.DataSource, _Mapping]]]=..., replace_data_sources: bool=..., publish: bool=..., compute_functions: _Optional[_Iterable[_Union[ComputeFunction, _Mapping]]]=..., replace_compute_functions: bool=..., files: _Optional[_Iterable[_Union[AppFile, _Mapping]]]=..., replace_files: bool=..., schedule_enabled: bool=..., cron_string: _Optional[str]=..., capabilities: _Optional[_Iterable[_Union[Capability, _Mapping]]]=..., replace_capabilities: bool=..., app_db_setup: _Optional[_Iterable[str]]=..., replace_app_db_setup: bool=...) -> None: + ... + +class UpdateAppResponse(_message.Message): + __slots__ = ('app',) + APP_FIELD_NUMBER: _ClassVar[int] + app: App + + def __init__(self, app: _Optional[_Union[App, _Mapping]]=...) -> None: + ... + +class DeleteAppRequest(_message.Message): + __slots__ = ('app_id',) + APP_ID_FIELD_NUMBER: _ClassVar[int] + app_id: str + + def __init__(self, app_id: _Optional[str]=...) -> None: + ... + +class MoveAppToFolderRequest(_message.Message): + __slots__ = ('app_id', 'folder_id') + APP_ID_FIELD_NUMBER: _ClassVar[int] + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + app_id: str + folder_id: str + + def __init__(self, app_id: _Optional[str]=..., folder_id: _Optional[str]=...) -> None: + ... + +class MoveAppToFolderResponse(_message.Message): + __slots__ = ('app',) + APP_FIELD_NUMBER: _ClassVar[int] + app: App + + def __init__(self, app: _Optional[_Union[App, _Mapping]]=...) -> None: + ... + +class RefreshAppRequest(_message.Message): + __slots__ = ('app_id',) + APP_ID_FIELD_NUMBER: _ClassVar[int] + app_id: str + + def __init__(self, app_id: _Optional[str]=...) -> None: + ... + +class RefreshAppResponse(_message.Message): + __slots__ = ('app',) + APP_FIELD_NUMBER: _ClassVar[int] + app: App + + def __init__(self, app: _Optional[_Union[App, _Mapping]]=...) -> None: + ... + +class ComputeFunctionParam(_message.Message): + __slots__ = ('name', 'type', 'description') + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + name: str + type: str + description: str + + def __init__(self, name: _Optional[str]=..., type: _Optional[str]=..., description: _Optional[str]=...) -> None: + ... + +class CapabilityParam(_message.Message): + __slots__ = ('name', 'type', 'description') + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + name: str + type: str + description: str + + def __init__(self, name: _Optional[str]=..., type: _Optional[str]=..., description: _Optional[str]=...) -> None: + ... + +class Capability(_message.Message): + __slots__ = ('type', 'name', 'connector_id', 'statement', 'scope', 'subject', 'body', 'parameters') + TYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + STATEMENT_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + PARAMETERS_FIELD_NUMBER: _ClassVar[int] + type: str + name: str + connector_id: int + statement: str + scope: str + subject: str + body: str + parameters: _containers.RepeatedCompositeFieldContainer[CapabilityParam] + + def __init__(self, type: _Optional[str]=..., name: _Optional[str]=..., connector_id: _Optional[int]=..., statement: _Optional[str]=..., scope: _Optional[str]=..., subject: _Optional[str]=..., body: _Optional[str]=..., parameters: _Optional[_Iterable[_Union[CapabilityParam, _Mapping]]]=...) -> None: + ... + +class ComputeFunction(_message.Message): + __slots__ = ('name', 'description', 'params', 'returns', 'code', 'tql_path', 'tql', 'grant', 'connector_id', 'sql') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + PARAMS_FIELD_NUMBER: _ClassVar[int] + RETURNS_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + TQL_PATH_FIELD_NUMBER: _ClassVar[int] + TQL_FIELD_NUMBER: _ClassVar[int] + GRANT_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + SQL_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + params: _containers.RepeatedCompositeFieldContainer[ComputeFunctionParam] + returns: str + code: str + tql_path: str + tql: str + grant: _dashboard_pb2.Grant + connector_id: int + sql: str + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., params: _Optional[_Iterable[_Union[ComputeFunctionParam, _Mapping]]]=..., returns: _Optional[str]=..., code: _Optional[str]=..., tql_path: _Optional[str]=..., tql: _Optional[str]=..., grant: _Optional[_Union[_dashboard_pb2.Grant, _Mapping]]=..., connector_id: _Optional[int]=..., sql: _Optional[str]=...) -> None: + ... + +class InvokeAppComputeFunctionRequest(_message.Message): + __slots__ = ('app_id', 'function_name', 'params_json') + APP_ID_FIELD_NUMBER: _ClassVar[int] + FUNCTION_NAME_FIELD_NUMBER: _ClassVar[int] + PARAMS_JSON_FIELD_NUMBER: _ClassVar[int] + app_id: str + function_name: str + params_json: str + + def __init__(self, app_id: _Optional[str]=..., function_name: _Optional[str]=..., params_json: _Optional[str]=...) -> None: + ... + +class InvokeAppComputeFunctionResponse(_message.Message): + __slots__ = ('result_json', 'invoke_mode', 'rewarmed') + RESULT_JSON_FIELD_NUMBER: _ClassVar[int] + INVOKE_MODE_FIELD_NUMBER: _ClassVar[int] + REWARMED_FIELD_NUMBER: _ClassVar[int] + result_json: str + invoke_mode: str + rewarmed: bool + + def __init__(self, result_json: _Optional[str]=..., invoke_mode: _Optional[str]=..., rewarmed: bool=...) -> None: + ... + +class AppFile(_message.Message): + __slots__ = ('path', 'content') + PATH_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + path: str + content: str + + def __init__(self, path: _Optional[str]=..., content: _Optional[str]=...) -> None: + ... + +class AppVersion(_message.Message): + __slots__ = ('id', 'app_id', 'version_number', 'code', 'data_sources', 'compute_functions', 'files', 'name', 'description', 'published_html_url', 'published_by', 'label', 'published_at', 'publisher') + ID_FIELD_NUMBER: _ClassVar[int] + APP_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_NUMBER_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + COMPUTE_FUNCTIONS_FIELD_NUMBER: _ClassVar[int] + FILES_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_HTML_URL_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_BY_FIELD_NUMBER: _ClassVar[int] + LABEL_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_AT_FIELD_NUMBER: _ClassVar[int] + PUBLISHER_FIELD_NUMBER: _ClassVar[int] + id: str + app_id: str + version_number: int + code: str + data_sources: _containers.RepeatedCompositeFieldContainer[_dashboard_pb2.DataSource] + compute_functions: _containers.RepeatedCompositeFieldContainer[ComputeFunction] + files: _containers.RepeatedCompositeFieldContainer[AppFile] + name: str + description: str + published_html_url: str + published_by: str + label: str + published_at: _timestamp_pb2.Timestamp + publisher: _identity_pb2.MemberPreview + + def __init__(self, id: _Optional[str]=..., app_id: _Optional[str]=..., version_number: _Optional[int]=..., code: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[_dashboard_pb2.DataSource, _Mapping]]]=..., compute_functions: _Optional[_Iterable[_Union[ComputeFunction, _Mapping]]]=..., files: _Optional[_Iterable[_Union[AppFile, _Mapping]]]=..., name: _Optional[str]=..., description: _Optional[str]=..., published_html_url: _Optional[str]=..., published_by: _Optional[str]=..., label: _Optional[str]=..., published_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., publisher: _Optional[_Union[_identity_pb2.MemberPreview, _Mapping]]=...) -> None: + ... + +class ListAppVersionsRequest(_message.Message): + __slots__ = ('app_id', 'limit', 'offset') + APP_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + app_id: str + limit: int + offset: int + + def __init__(self, app_id: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class ListAppVersionsResponse(_message.Message): + __slots__ = ('versions', 'total_count') + VERSIONS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + versions: _containers.RepeatedCompositeFieldContainer[AppVersion] + total_count: int + + def __init__(self, versions: _Optional[_Iterable[_Union[AppVersion, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class GetAppVersionRequest(_message.Message): + __slots__ = ('app_id', 'version_number') + APP_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_NUMBER_FIELD_NUMBER: _ClassVar[int] + app_id: str + version_number: int + + def __init__(self, app_id: _Optional[str]=..., version_number: _Optional[int]=...) -> None: + ... + +class GetAppVersionResponse(_message.Message): + __slots__ = ('version',) + VERSION_FIELD_NUMBER: _ClassVar[int] + version: AppVersion + + def __init__(self, version: _Optional[_Union[AppVersion, _Mapping]]=...) -> None: + ... + +class RestoreAppVersionRequest(_message.Message): + __slots__ = ('app_id', 'version_number') + APP_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_NUMBER_FIELD_NUMBER: _ClassVar[int] + app_id: str + version_number: int + + def __init__(self, app_id: _Optional[str]=..., version_number: _Optional[int]=...) -> None: + ... + +class RestoreAppVersionResponse(_message.Message): + __slots__ = ('app',) + APP_FIELD_NUMBER: _ClassVar[int] + app: App + + def __init__(self, app: _Optional[_Union[App, _Mapping]]=...) -> None: + ... + +class GetAppViewStatsRequest(_message.Message): + __slots__ = ('app_id',) + APP_ID_FIELD_NUMBER: _ClassVar[int] + app_id: str + + def __init__(self, app_id: _Optional[str]=...) -> None: + ... + +class AppViewerInfo(_message.Message): + __slots__ = ('member_id', 'last_viewed', 'view_count', 'display_name', 'recent_view_times') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + LAST_VIEWED_FIELD_NUMBER: _ClassVar[int] + VIEW_COUNT_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + RECENT_VIEW_TIMES_FIELD_NUMBER: _ClassVar[int] + member_id: str + last_viewed: _timestamp_pb2.Timestamp + view_count: int + display_name: str + recent_view_times: _containers.RepeatedCompositeFieldContainer[_timestamp_pb2.Timestamp] + + def __init__(self, member_id: _Optional[str]=..., last_viewed: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., view_count: _Optional[int]=..., display_name: _Optional[str]=..., recent_view_times: _Optional[_Iterable[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]]=...) -> None: + ... + +class GetAppViewStatsResponse(_message.Message): + __slots__ = ('total_views', 'unique_viewers', 'recent_viewers') + TOTAL_VIEWS_FIELD_NUMBER: _ClassVar[int] + UNIQUE_VIEWERS_FIELD_NUMBER: _ClassVar[int] + RECENT_VIEWERS_FIELD_NUMBER: _ClassVar[int] + total_views: int + unique_viewers: int + recent_viewers: _containers.RepeatedCompositeFieldContainer[AppViewerInfo] + + def __init__(self, total_views: _Optional[int]=..., unique_viewers: _Optional[int]=..., recent_viewers: _Optional[_Iterable[_Union[AppViewerInfo, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/audit_log_connect.py b/src/textql_sdk/_connect/public/audit_log_connect.py new file mode 100644 index 0000000..320763a --- /dev/null +++ b/src/textql_sdk/_connect/public/audit_log_connect.py @@ -0,0 +1,171 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import audit_log_pb2 as public_dot_audit__log__pb2 + +class AuditLogService(Protocol): + + async def list_audit_logs(self, request: public_dot_audit__log__pb2.ListAuditLogsRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.ListAuditLogsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def configure_s3_export(self, request: public_dot_audit__log__pb2.ConfigureS3ExportRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.ConfigureS3ExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_s3_export_config(self, request: public_dot_audit__log__pb2.GetS3ExportConfigRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.GetS3ExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_s3_export_config(self, request: public_dot_audit__log__pb2.DeleteS3ExportConfigRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.DeleteS3ExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def test_s3_export_connection(self, request: public_dot_audit__log__pb2.TestS3ExportConnectionRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.TestS3ExportConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def trigger_s3_export(self, request: public_dot_audit__log__pb2.TriggerS3ExportRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.TriggerS3ExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def configure_otlp_export(self, request: public_dot_audit__log__pb2.ConfigureOtlpExportRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.ConfigureOtlpExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_otlp_export_config(self, request: public_dot_audit__log__pb2.GetOtlpExportConfigRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.GetOtlpExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_otlp_export_config(self, request: public_dot_audit__log__pb2.DeleteOtlpExportConfigRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.DeleteOtlpExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def test_otlp_export_connection(self, request: public_dot_audit__log__pb2.TestOtlpExportConnectionRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.TestOtlpExportConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def trigger_otlp_export(self, request: public_dot_audit__log__pb2.TriggerOtlpExportRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.TriggerOtlpExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class AuditLogServiceASGIApplication(ConnectASGIApplication[AuditLogService]): + + def __init__(self, service: AuditLogService | AsyncGenerator[AuditLogService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.audit_log.AuditLogService/ListAuditLogs': Endpoint.unary(method=MethodInfo(name='ListAuditLogs', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ListAuditLogsRequest, output=public_dot_audit__log__pb2.ListAuditLogsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_audit_logs), '/textql.rpc.public.audit_log.AuditLogService/ConfigureS3Export': Endpoint.unary(method=MethodInfo(name='ConfigureS3Export', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ConfigureS3ExportRequest, output=public_dot_audit__log__pb2.ConfigureS3ExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.configure_s3_export), '/textql.rpc.public.audit_log.AuditLogService/GetS3ExportConfig': Endpoint.unary(method=MethodInfo(name='GetS3ExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.GetS3ExportConfigRequest, output=public_dot_audit__log__pb2.GetS3ExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_s3_export_config), '/textql.rpc.public.audit_log.AuditLogService/DeleteS3ExportConfig': Endpoint.unary(method=MethodInfo(name='DeleteS3ExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.DeleteS3ExportConfigRequest, output=public_dot_audit__log__pb2.DeleteS3ExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_s3_export_config), '/textql.rpc.public.audit_log.AuditLogService/TestS3ExportConnection': Endpoint.unary(method=MethodInfo(name='TestS3ExportConnection', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TestS3ExportConnectionRequest, output=public_dot_audit__log__pb2.TestS3ExportConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.test_s3_export_connection), '/textql.rpc.public.audit_log.AuditLogService/TriggerS3Export': Endpoint.unary(method=MethodInfo(name='TriggerS3Export', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TriggerS3ExportRequest, output=public_dot_audit__log__pb2.TriggerS3ExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.trigger_s3_export), '/textql.rpc.public.audit_log.AuditLogService/ConfigureOtlpExport': Endpoint.unary(method=MethodInfo(name='ConfigureOtlpExport', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ConfigureOtlpExportRequest, output=public_dot_audit__log__pb2.ConfigureOtlpExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.configure_otlp_export), '/textql.rpc.public.audit_log.AuditLogService/GetOtlpExportConfig': Endpoint.unary(method=MethodInfo(name='GetOtlpExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.GetOtlpExportConfigRequest, output=public_dot_audit__log__pb2.GetOtlpExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_otlp_export_config), '/textql.rpc.public.audit_log.AuditLogService/DeleteOtlpExportConfig': Endpoint.unary(method=MethodInfo(name='DeleteOtlpExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.DeleteOtlpExportConfigRequest, output=public_dot_audit__log__pb2.DeleteOtlpExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_otlp_export_config), '/textql.rpc.public.audit_log.AuditLogService/TestOtlpExportConnection': Endpoint.unary(method=MethodInfo(name='TestOtlpExportConnection', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TestOtlpExportConnectionRequest, output=public_dot_audit__log__pb2.TestOtlpExportConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.test_otlp_export_connection), '/textql.rpc.public.audit_log.AuditLogService/TriggerOtlpExport': Endpoint.unary(method=MethodInfo(name='TriggerOtlpExport', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TriggerOtlpExportRequest, output=public_dot_audit__log__pb2.TriggerOtlpExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.trigger_otlp_export)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.audit_log.AuditLogService' + +class AuditLogServiceClient(ConnectClient): + + async def list_audit_logs(self, request: public_dot_audit__log__pb2.ListAuditLogsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_audit__log__pb2.ListAuditLogsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAuditLogs', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ListAuditLogsRequest, output=public_dot_audit__log__pb2.ListAuditLogsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def configure_s3_export(self, request: public_dot_audit__log__pb2.ConfigureS3ExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.ConfigureS3ExportResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ConfigureS3Export', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ConfigureS3ExportRequest, output=public_dot_audit__log__pb2.ConfigureS3ExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_s3_export_config(self, request: public_dot_audit__log__pb2.GetS3ExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_audit__log__pb2.GetS3ExportConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetS3ExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.GetS3ExportConfigRequest, output=public_dot_audit__log__pb2.GetS3ExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def delete_s3_export_config(self, request: public_dot_audit__log__pb2.DeleteS3ExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.DeleteS3ExportConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteS3ExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.DeleteS3ExportConfigRequest, output=public_dot_audit__log__pb2.DeleteS3ExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def test_s3_export_connection(self, request: public_dot_audit__log__pb2.TestS3ExportConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.TestS3ExportConnectionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestS3ExportConnection', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TestS3ExportConnectionRequest, output=public_dot_audit__log__pb2.TestS3ExportConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def trigger_s3_export(self, request: public_dot_audit__log__pb2.TriggerS3ExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.TriggerS3ExportResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TriggerS3Export', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TriggerS3ExportRequest, output=public_dot_audit__log__pb2.TriggerS3ExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def configure_otlp_export(self, request: public_dot_audit__log__pb2.ConfigureOtlpExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.ConfigureOtlpExportResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ConfigureOtlpExport', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ConfigureOtlpExportRequest, output=public_dot_audit__log__pb2.ConfigureOtlpExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_otlp_export_config(self, request: public_dot_audit__log__pb2.GetOtlpExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_audit__log__pb2.GetOtlpExportConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOtlpExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.GetOtlpExportConfigRequest, output=public_dot_audit__log__pb2.GetOtlpExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def delete_otlp_export_config(self, request: public_dot_audit__log__pb2.DeleteOtlpExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.DeleteOtlpExportConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOtlpExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.DeleteOtlpExportConfigRequest, output=public_dot_audit__log__pb2.DeleteOtlpExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def test_otlp_export_connection(self, request: public_dot_audit__log__pb2.TestOtlpExportConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.TestOtlpExportConnectionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestOtlpExportConnection', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TestOtlpExportConnectionRequest, output=public_dot_audit__log__pb2.TestOtlpExportConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def trigger_otlp_export(self, request: public_dot_audit__log__pb2.TriggerOtlpExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.TriggerOtlpExportResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TriggerOtlpExport', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TriggerOtlpExportRequest, output=public_dot_audit__log__pb2.TriggerOtlpExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class AuditLogServiceSync(Protocol): + + def list_audit_logs(self, request: public_dot_audit__log__pb2.ListAuditLogsRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.ListAuditLogsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def configure_s3_export(self, request: public_dot_audit__log__pb2.ConfigureS3ExportRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.ConfigureS3ExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_s3_export_config(self, request: public_dot_audit__log__pb2.GetS3ExportConfigRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.GetS3ExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_s3_export_config(self, request: public_dot_audit__log__pb2.DeleteS3ExportConfigRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.DeleteS3ExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def test_s3_export_connection(self, request: public_dot_audit__log__pb2.TestS3ExportConnectionRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.TestS3ExportConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def trigger_s3_export(self, request: public_dot_audit__log__pb2.TriggerS3ExportRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.TriggerS3ExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def configure_otlp_export(self, request: public_dot_audit__log__pb2.ConfigureOtlpExportRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.ConfigureOtlpExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_otlp_export_config(self, request: public_dot_audit__log__pb2.GetOtlpExportConfigRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.GetOtlpExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_otlp_export_config(self, request: public_dot_audit__log__pb2.DeleteOtlpExportConfigRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.DeleteOtlpExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def test_otlp_export_connection(self, request: public_dot_audit__log__pb2.TestOtlpExportConnectionRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.TestOtlpExportConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def trigger_otlp_export(self, request: public_dot_audit__log__pb2.TriggerOtlpExportRequest, ctx: RequestContext) -> public_dot_audit__log__pb2.TriggerOtlpExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class AuditLogServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: AuditLogServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.audit_log.AuditLogService/ListAuditLogs': EndpointSync.unary(method=MethodInfo(name='ListAuditLogs', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ListAuditLogsRequest, output=public_dot_audit__log__pb2.ListAuditLogsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_audit_logs), '/textql.rpc.public.audit_log.AuditLogService/ConfigureS3Export': EndpointSync.unary(method=MethodInfo(name='ConfigureS3Export', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ConfigureS3ExportRequest, output=public_dot_audit__log__pb2.ConfigureS3ExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.configure_s3_export), '/textql.rpc.public.audit_log.AuditLogService/GetS3ExportConfig': EndpointSync.unary(method=MethodInfo(name='GetS3ExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.GetS3ExportConfigRequest, output=public_dot_audit__log__pb2.GetS3ExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_s3_export_config), '/textql.rpc.public.audit_log.AuditLogService/DeleteS3ExportConfig': EndpointSync.unary(method=MethodInfo(name='DeleteS3ExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.DeleteS3ExportConfigRequest, output=public_dot_audit__log__pb2.DeleteS3ExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_s3_export_config), '/textql.rpc.public.audit_log.AuditLogService/TestS3ExportConnection': EndpointSync.unary(method=MethodInfo(name='TestS3ExportConnection', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TestS3ExportConnectionRequest, output=public_dot_audit__log__pb2.TestS3ExportConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.test_s3_export_connection), '/textql.rpc.public.audit_log.AuditLogService/TriggerS3Export': EndpointSync.unary(method=MethodInfo(name='TriggerS3Export', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TriggerS3ExportRequest, output=public_dot_audit__log__pb2.TriggerS3ExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.trigger_s3_export), '/textql.rpc.public.audit_log.AuditLogService/ConfigureOtlpExport': EndpointSync.unary(method=MethodInfo(name='ConfigureOtlpExport', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ConfigureOtlpExportRequest, output=public_dot_audit__log__pb2.ConfigureOtlpExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.configure_otlp_export), '/textql.rpc.public.audit_log.AuditLogService/GetOtlpExportConfig': EndpointSync.unary(method=MethodInfo(name='GetOtlpExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.GetOtlpExportConfigRequest, output=public_dot_audit__log__pb2.GetOtlpExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_otlp_export_config), '/textql.rpc.public.audit_log.AuditLogService/DeleteOtlpExportConfig': EndpointSync.unary(method=MethodInfo(name='DeleteOtlpExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.DeleteOtlpExportConfigRequest, output=public_dot_audit__log__pb2.DeleteOtlpExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_otlp_export_config), '/textql.rpc.public.audit_log.AuditLogService/TestOtlpExportConnection': EndpointSync.unary(method=MethodInfo(name='TestOtlpExportConnection', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TestOtlpExportConnectionRequest, output=public_dot_audit__log__pb2.TestOtlpExportConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.test_otlp_export_connection), '/textql.rpc.public.audit_log.AuditLogService/TriggerOtlpExport': EndpointSync.unary(method=MethodInfo(name='TriggerOtlpExport', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TriggerOtlpExportRequest, output=public_dot_audit__log__pb2.TriggerOtlpExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.trigger_otlp_export)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.audit_log.AuditLogService' + +class AuditLogServiceClientSync(ConnectClientSync): + + def list_audit_logs(self, request: public_dot_audit__log__pb2.ListAuditLogsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_audit__log__pb2.ListAuditLogsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAuditLogs', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ListAuditLogsRequest, output=public_dot_audit__log__pb2.ListAuditLogsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def configure_s3_export(self, request: public_dot_audit__log__pb2.ConfigureS3ExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.ConfigureS3ExportResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ConfigureS3Export', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ConfigureS3ExportRequest, output=public_dot_audit__log__pb2.ConfigureS3ExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_s3_export_config(self, request: public_dot_audit__log__pb2.GetS3ExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_audit__log__pb2.GetS3ExportConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetS3ExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.GetS3ExportConfigRequest, output=public_dot_audit__log__pb2.GetS3ExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def delete_s3_export_config(self, request: public_dot_audit__log__pb2.DeleteS3ExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.DeleteS3ExportConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteS3ExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.DeleteS3ExportConfigRequest, output=public_dot_audit__log__pb2.DeleteS3ExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def test_s3_export_connection(self, request: public_dot_audit__log__pb2.TestS3ExportConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.TestS3ExportConnectionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestS3ExportConnection', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TestS3ExportConnectionRequest, output=public_dot_audit__log__pb2.TestS3ExportConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def trigger_s3_export(self, request: public_dot_audit__log__pb2.TriggerS3ExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.TriggerS3ExportResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TriggerS3Export', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TriggerS3ExportRequest, output=public_dot_audit__log__pb2.TriggerS3ExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def configure_otlp_export(self, request: public_dot_audit__log__pb2.ConfigureOtlpExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.ConfigureOtlpExportResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ConfigureOtlpExport', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.ConfigureOtlpExportRequest, output=public_dot_audit__log__pb2.ConfigureOtlpExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_otlp_export_config(self, request: public_dot_audit__log__pb2.GetOtlpExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_audit__log__pb2.GetOtlpExportConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOtlpExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.GetOtlpExportConfigRequest, output=public_dot_audit__log__pb2.GetOtlpExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def delete_otlp_export_config(self, request: public_dot_audit__log__pb2.DeleteOtlpExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.DeleteOtlpExportConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOtlpExportConfig', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.DeleteOtlpExportConfigRequest, output=public_dot_audit__log__pb2.DeleteOtlpExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def test_otlp_export_connection(self, request: public_dot_audit__log__pb2.TestOtlpExportConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.TestOtlpExportConnectionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestOtlpExportConnection', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TestOtlpExportConnectionRequest, output=public_dot_audit__log__pb2.TestOtlpExportConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def trigger_otlp_export(self, request: public_dot_audit__log__pb2.TriggerOtlpExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_audit__log__pb2.TriggerOtlpExportResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TriggerOtlpExport', service_name='textql.rpc.public.audit_log.AuditLogService', input=public_dot_audit__log__pb2.TriggerOtlpExportRequest, output=public_dot_audit__log__pb2.TriggerOtlpExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/audit_log_pb2.py b/src/textql_sdk/_connect/public/audit_log_pb2.py new file mode 100644 index 0000000..91cde8c --- /dev/null +++ b/src/textql_sdk/_connect/public/audit_log_pb2.py @@ -0,0 +1,101 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/audit_log.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16public/audit_log.proto\x12\x1btextql.rpc.public.audit_log\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\x9a\x03\n\rAuditLogEntry\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x19\n\x08actor_id\x18\x03 \x01(\tR\x07actorId\x12\x1f\n\x0bactor_email\x18\x04 \x01(\tR\nactorEmail\x12\x16\n\x06action\x18\x05 \x01(\tR\x06action\x12\x1a\n\x08category\x18\x06 \x01(\tR\x08category\x12#\n\rresource_type\x18\x07 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x08 \x01(\tR\nresourceId\x121\n\x07details\x18\t \x01(\x0b2\x17.google.protobuf.StructR\x07details\x12\x1d\n\nip_address\x18\n \x01(\tR\tipAddress\x12\x1f\n\x0bauth_method\x18\x0b \x01(\tR\nauthMethod\x129\n\ncreated_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"\xa4\x03\n\x14ListAuditLogsRequest\x12\x1f\n\x08category\x18\x01 \x01(\tH\x00R\x08category\x88\x01\x01\x12\x1e\n\x08actor_id\x18\x02 \x01(\tH\x01R\x07actorId\x88\x01\x01\x12\x1b\n\x06action\x18\x03 \x01(\tH\x02R\x06action\x88\x01\x01\x12(\n\rresource_type\x18\x04 \x01(\tH\x03R\x0cresourceType\x88\x01\x01\x12\x1b\n\x06cursor\x18\x05 \x01(\tH\x04R\x06cursor\x88\x01\x01\x12 \n\tpage_size\x18\x06 \x01(\rH\x05R\x08pageSize\x88\x01\x01\x12$\n\x0bsearch_term\x18\x07 \x01(\tH\x06R\nsearchTerm\x88\x01\x01\x125\n\x05after\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x07R\x05after\x88\x01\x01B\x0b\n\t_categoryB\x0b\n\t_actor_idB\t\n\x07_actionB\x10\n\x0e_resource_typeB\t\n\x07_cursorB\x0c\n\n_page_sizeB\x0e\n\x0c_search_termB\x08\n\x06_after"\x93\x01\n\x15ListAuditLogsResponse\x12D\n\x07entries\x18\x01 \x03(\x0b2*.textql.rpc.public.audit_log.AuditLogEntryR\x07entries\x12$\n\x0bnext_cursor\x18\x02 \x01(\tH\x00R\nnextCursor\x88\x01\x01B\x0e\n\x0c_next_cursor"\xf2\x04\n\x0eS3ExportConfig\x12\x16\n\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n\x06region\x18\x02 \x01(\tR\x06region\x12\x16\n\x06prefix\x18\x03 \x01(\tR\x06prefix\x12/\n\x11aws_access_key_id\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x0eawsAccessKeyId\x127\n\x15aws_secret_access_key\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x12awsSecretAccessKey\x12\x18\n\x07enabled\x18\x06 \x01(\x08R\x07enabled\x12I\n\x10last_exported_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x0elastExportedAt\x88\x01\x01\x129\n\ncreated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12D\n\tauth_mode\x18\n \x01(\x0e2\'.textql.rpc.public.audit_log.S3AuthModeR\x08authMode\x12\x19\n\x08role_arn\x18\x0b \x01(\tR\x07roleArn\x12%\n\x0bexternal_id\x18\x0c \x01(\tB\x04\x88\xb5\x18\x01R\nexternalId\x126\n\x17export_interval_seconds\x18\r \x01(\x05R\x15exportIntervalSecondsB\x13\n\x11_last_exported_at"\xa6\x03\n\x18ConfigureS3ExportRequest\x12\x16\n\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n\x06region\x18\x02 \x01(\tR\x06region\x12\x16\n\x06prefix\x18\x03 \x01(\tR\x06prefix\x12/\n\x11aws_access_key_id\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x0eawsAccessKeyId\x127\n\x15aws_secret_access_key\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x12awsSecretAccessKey\x12\x18\n\x07enabled\x18\x06 \x01(\x08R\x07enabled\x12D\n\tauth_mode\x18\x07 \x01(\x0e2\'.textql.rpc.public.audit_log.S3AuthModeR\x08authMode\x12\x19\n\x08role_arn\x18\x08 \x01(\tR\x07roleArn\x12%\n\x0bexternal_id\x18\t \x01(\tB\x04\x88\xb5\x18\x01R\nexternalId\x126\n\x17export_interval_seconds\x18\n \x01(\x05R\x15exportIntervalSeconds"`\n\x19ConfigureS3ExportResponse\x12C\n\x06config\x18\x01 \x01(\x0b2+.textql.rpc.public.audit_log.S3ExportConfigR\x06config"\x1a\n\x18GetS3ExportConfigRequest"p\n\x19GetS3ExportConfigResponse\x12H\n\x06config\x18\x01 \x01(\x0b2+.textql.rpc.public.audit_log.S3ExportConfigH\x00R\x06config\x88\x01\x01B\t\n\x07_config"\x1d\n\x1bDeleteS3ExportConfigRequest"\x1e\n\x1cDeleteS3ExportConfigResponse"\xc1\x02\n\x1dTestS3ExportConnectionRequest\x12\x16\n\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n\x06region\x18\x02 \x01(\tR\x06region\x12/\n\x11aws_access_key_id\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0eawsAccessKeyId\x127\n\x15aws_secret_access_key\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x12awsSecretAccessKey\x12D\n\tauth_mode\x18\x05 \x01(\x0e2\'.textql.rpc.public.audit_log.S3AuthModeR\x08authMode\x12\x19\n\x08role_arn\x18\x06 \x01(\tR\x07roleArn\x12%\n\x0bexternal_id\x18\x07 \x01(\tB\x04\x88\xb5\x18\x01R\nexternalId"_\n\x1eTestS3ExportConnectionResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12#\n\rerror_message\x18\x02 \x01(\tR\x0cerrorMessage"\x18\n\x16TriggerS3ExportRequest"7\n\x17TriggerS3ExportResponse\x12\x1c\n\ttriggered\x18\x01 \x01(\x08R\ttriggered"\xa3\x03\n\x10OtlpExportConfig\x12\x18\n\x07enabled\x18\x01 \x01(\x08R\x07enabled\x12#\n\rotlp_endpoint\x18\x02 \x01(\tR\x0cotlpEndpoint\x12\'\n\x0cotlp_headers\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0botlpHeaders\x12#\n\rotlp_protocol\x18\x04 \x01(\tR\x0cotlpProtocol\x122\n\x15push_interval_seconds\x18\x05 \x01(\x05R\x13pushIntervalSeconds\x12E\n\x0elast_pushed_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x0clastPushedAt\x88\x01\x01\x129\n\ncreated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\x11\n\x0f_last_pushed_at"\xdd\x01\n\x1aConfigureOtlpExportRequest\x12\x18\n\x07enabled\x18\x01 \x01(\x08R\x07enabled\x12#\n\rotlp_endpoint\x18\x02 \x01(\tR\x0cotlpEndpoint\x12\'\n\x0cotlp_headers\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0botlpHeaders\x12#\n\rotlp_protocol\x18\x04 \x01(\tR\x0cotlpProtocol\x122\n\x15push_interval_seconds\x18\x05 \x01(\x05R\x13pushIntervalSeconds"d\n\x1bConfigureOtlpExportResponse\x12E\n\x06config\x18\x01 \x01(\x0b2-.textql.rpc.public.audit_log.OtlpExportConfigR\x06config"\x1c\n\x1aGetOtlpExportConfigRequest"t\n\x1bGetOtlpExportConfigResponse\x12J\n\x06config\x18\x01 \x01(\x0b2-.textql.rpc.public.audit_log.OtlpExportConfigH\x00R\x06config\x88\x01\x01B\t\n\x07_config"\x1f\n\x1dDeleteOtlpExportConfigRequest" \n\x1eDeleteOtlpExportConfigResponse"\x94\x01\n\x1fTestOtlpExportConnectionRequest\x12#\n\rotlp_endpoint\x18\x01 \x01(\tR\x0cotlpEndpoint\x12\'\n\x0cotlp_headers\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0botlpHeaders\x12#\n\rotlp_protocol\x18\x03 \x01(\tR\x0cotlpProtocol"a\n TestOtlpExportConnectionResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12#\n\rerror_message\x18\x02 \x01(\tR\x0cerrorMessage"\x1a\n\x18TriggerOtlpExportRequest"9\n\x19TriggerOtlpExportResponse\x12\x1c\n\ttriggered\x18\x01 \x01(\x08R\ttriggered*e\n\nS3AuthMode\x12\x1c\n\x18S3_AUTH_MODE_UNSPECIFIED\x10\x00\x12\x1b\n\x17S3_AUTH_MODE_ACCESS_KEY\x10\x01\x12\x1c\n\x18S3_AUTH_MODE_ASSUME_ROLE\x10\x022\x8b\x0c\n\x0fAuditLogService\x12{\n\rListAuditLogs\x121.textql.rpc.public.audit_log.ListAuditLogsRequest\x1a2.textql.rpc.public.audit_log.ListAuditLogsResponse"\x03\x90\x02\x01\x12\x82\x01\n\x11ConfigureS3Export\x125.textql.rpc.public.audit_log.ConfigureS3ExportRequest\x1a6.textql.rpc.public.audit_log.ConfigureS3ExportResponse\x12\x87\x01\n\x11GetS3ExportConfig\x125.textql.rpc.public.audit_log.GetS3ExportConfigRequest\x1a6.textql.rpc.public.audit_log.GetS3ExportConfigResponse"\x03\x90\x02\x01\x12\x8b\x01\n\x14DeleteS3ExportConfig\x128.textql.rpc.public.audit_log.DeleteS3ExportConfigRequest\x1a9.textql.rpc.public.audit_log.DeleteS3ExportConfigResponse\x12\x91\x01\n\x16TestS3ExportConnection\x12:.textql.rpc.public.audit_log.TestS3ExportConnectionRequest\x1a;.textql.rpc.public.audit_log.TestS3ExportConnectionResponse\x12|\n\x0fTriggerS3Export\x123.textql.rpc.public.audit_log.TriggerS3ExportRequest\x1a4.textql.rpc.public.audit_log.TriggerS3ExportResponse\x12\x88\x01\n\x13ConfigureOtlpExport\x127.textql.rpc.public.audit_log.ConfigureOtlpExportRequest\x1a8.textql.rpc.public.audit_log.ConfigureOtlpExportResponse\x12\x8d\x01\n\x13GetOtlpExportConfig\x127.textql.rpc.public.audit_log.GetOtlpExportConfigRequest\x1a8.textql.rpc.public.audit_log.GetOtlpExportConfigResponse"\x03\x90\x02\x01\x12\x91\x01\n\x16DeleteOtlpExportConfig\x12:.textql.rpc.public.audit_log.DeleteOtlpExportConfigRequest\x1a;.textql.rpc.public.audit_log.DeleteOtlpExportConfigResponse\x12\x97\x01\n\x18TestOtlpExportConnection\x12<.textql.rpc.public.audit_log.TestOtlpExportConnectionRequest\x1a=.textql.rpc.public.audit_log.TestOtlpExportConnectionResponse\x12\x82\x01\n\x11TriggerOtlpExport\x125.textql.rpc.public.audit_log.TriggerOtlpExportRequest\x1a6.textql.rpc.public.audit_log.TriggerOtlpExportResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.audit_log_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_S3EXPORTCONFIG'].fields_by_name['aws_access_key_id']._loaded_options = None + _globals['_S3EXPORTCONFIG'].fields_by_name['aws_access_key_id']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_S3EXPORTCONFIG'].fields_by_name['aws_secret_access_key']._loaded_options = None + _globals['_S3EXPORTCONFIG'].fields_by_name['aws_secret_access_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_S3EXPORTCONFIG'].fields_by_name['external_id']._loaded_options = None + _globals['_S3EXPORTCONFIG'].fields_by_name['external_id']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_CONFIGURES3EXPORTREQUEST'].fields_by_name['aws_access_key_id']._loaded_options = None + _globals['_CONFIGURES3EXPORTREQUEST'].fields_by_name['aws_access_key_id']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_CONFIGURES3EXPORTREQUEST'].fields_by_name['aws_secret_access_key']._loaded_options = None + _globals['_CONFIGURES3EXPORTREQUEST'].fields_by_name['aws_secret_access_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_CONFIGURES3EXPORTREQUEST'].fields_by_name['external_id']._loaded_options = None + _globals['_CONFIGURES3EXPORTREQUEST'].fields_by_name['external_id']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TESTS3EXPORTCONNECTIONREQUEST'].fields_by_name['aws_access_key_id']._loaded_options = None + _globals['_TESTS3EXPORTCONNECTIONREQUEST'].fields_by_name['aws_access_key_id']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TESTS3EXPORTCONNECTIONREQUEST'].fields_by_name['aws_secret_access_key']._loaded_options = None + _globals['_TESTS3EXPORTCONNECTIONREQUEST'].fields_by_name['aws_secret_access_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TESTS3EXPORTCONNECTIONREQUEST'].fields_by_name['external_id']._loaded_options = None + _globals['_TESTS3EXPORTCONNECTIONREQUEST'].fields_by_name['external_id']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_OTLPEXPORTCONFIG'].fields_by_name['otlp_headers']._loaded_options = None + _globals['_OTLPEXPORTCONFIG'].fields_by_name['otlp_headers']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_CONFIGUREOTLPEXPORTREQUEST'].fields_by_name['otlp_headers']._loaded_options = None + _globals['_CONFIGUREOTLPEXPORTREQUEST'].fields_by_name['otlp_headers']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TESTOTLPEXPORTCONNECTIONREQUEST'].fields_by_name['otlp_headers']._loaded_options = None + _globals['_TESTOTLPEXPORTCONNECTIONREQUEST'].fields_by_name['otlp_headers']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_AUDITLOGSERVICE'].methods_by_name['ListAuditLogs']._loaded_options = None + _globals['_AUDITLOGSERVICE'].methods_by_name['ListAuditLogs']._serialized_options = b'\x90\x02\x01' + _globals['_AUDITLOGSERVICE'].methods_by_name['GetS3ExportConfig']._loaded_options = None + _globals['_AUDITLOGSERVICE'].methods_by_name['GetS3ExportConfig']._serialized_options = b'\x90\x02\x01' + _globals['_AUDITLOGSERVICE'].methods_by_name['GetOtlpExportConfig']._loaded_options = None + _globals['_AUDITLOGSERVICE'].methods_by_name['GetOtlpExportConfig']._serialized_options = b'\x90\x02\x01' + _globals['_S3AUTHMODE']._serialized_start = 4287 + _globals['_S3AUTHMODE']._serialized_end = 4388 + _globals['_AUDITLOGENTRY']._serialized_start = 141 + _globals['_AUDITLOGENTRY']._serialized_end = 551 + _globals['_LISTAUDITLOGSREQUEST']._serialized_start = 554 + _globals['_LISTAUDITLOGSREQUEST']._serialized_end = 974 + _globals['_LISTAUDITLOGSRESPONSE']._serialized_start = 977 + _globals['_LISTAUDITLOGSRESPONSE']._serialized_end = 1124 + _globals['_S3EXPORTCONFIG']._serialized_start = 1127 + _globals['_S3EXPORTCONFIG']._serialized_end = 1753 + _globals['_CONFIGURES3EXPORTREQUEST']._serialized_start = 1756 + _globals['_CONFIGURES3EXPORTREQUEST']._serialized_end = 2178 + _globals['_CONFIGURES3EXPORTRESPONSE']._serialized_start = 2180 + _globals['_CONFIGURES3EXPORTRESPONSE']._serialized_end = 2276 + _globals['_GETS3EXPORTCONFIGREQUEST']._serialized_start = 2278 + _globals['_GETS3EXPORTCONFIGREQUEST']._serialized_end = 2304 + _globals['_GETS3EXPORTCONFIGRESPONSE']._serialized_start = 2306 + _globals['_GETS3EXPORTCONFIGRESPONSE']._serialized_end = 2418 + _globals['_DELETES3EXPORTCONFIGREQUEST']._serialized_start = 2420 + _globals['_DELETES3EXPORTCONFIGREQUEST']._serialized_end = 2449 + _globals['_DELETES3EXPORTCONFIGRESPONSE']._serialized_start = 2451 + _globals['_DELETES3EXPORTCONFIGRESPONSE']._serialized_end = 2481 + _globals['_TESTS3EXPORTCONNECTIONREQUEST']._serialized_start = 2484 + _globals['_TESTS3EXPORTCONNECTIONREQUEST']._serialized_end = 2805 + _globals['_TESTS3EXPORTCONNECTIONRESPONSE']._serialized_start = 2807 + _globals['_TESTS3EXPORTCONNECTIONRESPONSE']._serialized_end = 2902 + _globals['_TRIGGERS3EXPORTREQUEST']._serialized_start = 2904 + _globals['_TRIGGERS3EXPORTREQUEST']._serialized_end = 2928 + _globals['_TRIGGERS3EXPORTRESPONSE']._serialized_start = 2930 + _globals['_TRIGGERS3EXPORTRESPONSE']._serialized_end = 2985 + _globals['_OTLPEXPORTCONFIG']._serialized_start = 2988 + _globals['_OTLPEXPORTCONFIG']._serialized_end = 3407 + _globals['_CONFIGUREOTLPEXPORTREQUEST']._serialized_start = 3410 + _globals['_CONFIGUREOTLPEXPORTREQUEST']._serialized_end = 3631 + _globals['_CONFIGUREOTLPEXPORTRESPONSE']._serialized_start = 3633 + _globals['_CONFIGUREOTLPEXPORTRESPONSE']._serialized_end = 3733 + _globals['_GETOTLPEXPORTCONFIGREQUEST']._serialized_start = 3735 + _globals['_GETOTLPEXPORTCONFIGREQUEST']._serialized_end = 3763 + _globals['_GETOTLPEXPORTCONFIGRESPONSE']._serialized_start = 3765 + _globals['_GETOTLPEXPORTCONFIGRESPONSE']._serialized_end = 3881 + _globals['_DELETEOTLPEXPORTCONFIGREQUEST']._serialized_start = 3883 + _globals['_DELETEOTLPEXPORTCONFIGREQUEST']._serialized_end = 3914 + _globals['_DELETEOTLPEXPORTCONFIGRESPONSE']._serialized_start = 3916 + _globals['_DELETEOTLPEXPORTCONFIGRESPONSE']._serialized_end = 3948 + _globals['_TESTOTLPEXPORTCONNECTIONREQUEST']._serialized_start = 3951 + _globals['_TESTOTLPEXPORTCONNECTIONREQUEST']._serialized_end = 4099 + _globals['_TESTOTLPEXPORTCONNECTIONRESPONSE']._serialized_start = 4101 + _globals['_TESTOTLPEXPORTCONNECTIONRESPONSE']._serialized_end = 4198 + _globals['_TRIGGEROTLPEXPORTREQUEST']._serialized_start = 4200 + _globals['_TRIGGEROTLPEXPORTREQUEST']._serialized_end = 4226 + _globals['_TRIGGEROTLPEXPORTRESPONSE']._serialized_start = 4228 + _globals['_TRIGGEROTLPEXPORTRESPONSE']._serialized_end = 4285 + _globals['_AUDITLOGSERVICE']._serialized_start = 4391 + _globals['_AUDITLOGSERVICE']._serialized_end = 5938 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/audit_log_pb2.pyi b/src/textql_sdk/_connect/public/audit_log_pb2.pyi new file mode 100644 index 0000000..655e30d --- /dev/null +++ b/src/textql_sdk/_connect/public/audit_log_pb2.pyi @@ -0,0 +1,326 @@ +import datetime +from google.protobuf import struct_pb2 as _struct_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class S3AuthMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + S3_AUTH_MODE_UNSPECIFIED: _ClassVar[S3AuthMode] + S3_AUTH_MODE_ACCESS_KEY: _ClassVar[S3AuthMode] + S3_AUTH_MODE_ASSUME_ROLE: _ClassVar[S3AuthMode] +S3_AUTH_MODE_UNSPECIFIED: S3AuthMode +S3_AUTH_MODE_ACCESS_KEY: S3AuthMode +S3_AUTH_MODE_ASSUME_ROLE: S3AuthMode + +class AuditLogEntry(_message.Message): + __slots__ = ('id', 'org_id', 'actor_id', 'actor_email', 'action', 'category', 'resource_type', 'resource_id', 'details', 'ip_address', 'auth_method', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + ACTOR_ID_FIELD_NUMBER: _ClassVar[int] + ACTOR_EMAIL_FIELD_NUMBER: _ClassVar[int] + ACTION_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + DETAILS_FIELD_NUMBER: _ClassVar[int] + IP_ADDRESS_FIELD_NUMBER: _ClassVar[int] + AUTH_METHOD_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + actor_id: str + actor_email: str + action: str + category: str + resource_type: str + resource_id: str + details: _struct_pb2.Struct + ip_address: str + auth_method: str + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., actor_id: _Optional[str]=..., actor_email: _Optional[str]=..., action: _Optional[str]=..., category: _Optional[str]=..., resource_type: _Optional[str]=..., resource_id: _Optional[str]=..., details: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., ip_address: _Optional[str]=..., auth_method: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListAuditLogsRequest(_message.Message): + __slots__ = ('category', 'actor_id', 'action', 'resource_type', 'cursor', 'page_size', 'search_term', 'after') + CATEGORY_FIELD_NUMBER: _ClassVar[int] + ACTOR_ID_FIELD_NUMBER: _ClassVar[int] + ACTION_FIELD_NUMBER: _ClassVar[int] + RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + CURSOR_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + AFTER_FIELD_NUMBER: _ClassVar[int] + category: str + actor_id: str + action: str + resource_type: str + cursor: str + page_size: int + search_term: str + after: _timestamp_pb2.Timestamp + + def __init__(self, category: _Optional[str]=..., actor_id: _Optional[str]=..., action: _Optional[str]=..., resource_type: _Optional[str]=..., cursor: _Optional[str]=..., page_size: _Optional[int]=..., search_term: _Optional[str]=..., after: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListAuditLogsResponse(_message.Message): + __slots__ = ('entries', 'next_cursor') + ENTRIES_FIELD_NUMBER: _ClassVar[int] + NEXT_CURSOR_FIELD_NUMBER: _ClassVar[int] + entries: _containers.RepeatedCompositeFieldContainer[AuditLogEntry] + next_cursor: str + + def __init__(self, entries: _Optional[_Iterable[_Union[AuditLogEntry, _Mapping]]]=..., next_cursor: _Optional[str]=...) -> None: + ... + +class S3ExportConfig(_message.Message): + __slots__ = ('bucket', 'region', 'prefix', 'aws_access_key_id', 'aws_secret_access_key', 'enabled', 'last_exported_at', 'created_at', 'updated_at', 'auth_mode', 'role_arn', 'external_id', 'export_interval_seconds') + BUCKET_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + PREFIX_FIELD_NUMBER: _ClassVar[int] + AWS_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + AWS_SECRET_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + LAST_EXPORTED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + AUTH_MODE_FIELD_NUMBER: _ClassVar[int] + ROLE_ARN_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int] + EXPORT_INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int] + bucket: str + region: str + prefix: str + aws_access_key_id: str + aws_secret_access_key: str + enabled: bool + last_exported_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + auth_mode: S3AuthMode + role_arn: str + external_id: str + export_interval_seconds: int + + def __init__(self, bucket: _Optional[str]=..., region: _Optional[str]=..., prefix: _Optional[str]=..., aws_access_key_id: _Optional[str]=..., aws_secret_access_key: _Optional[str]=..., enabled: bool=..., last_exported_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., auth_mode: _Optional[_Union[S3AuthMode, str]]=..., role_arn: _Optional[str]=..., external_id: _Optional[str]=..., export_interval_seconds: _Optional[int]=...) -> None: + ... + +class ConfigureS3ExportRequest(_message.Message): + __slots__ = ('bucket', 'region', 'prefix', 'aws_access_key_id', 'aws_secret_access_key', 'enabled', 'auth_mode', 'role_arn', 'external_id', 'export_interval_seconds') + BUCKET_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + PREFIX_FIELD_NUMBER: _ClassVar[int] + AWS_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + AWS_SECRET_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + AUTH_MODE_FIELD_NUMBER: _ClassVar[int] + ROLE_ARN_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int] + EXPORT_INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int] + bucket: str + region: str + prefix: str + aws_access_key_id: str + aws_secret_access_key: str + enabled: bool + auth_mode: S3AuthMode + role_arn: str + external_id: str + export_interval_seconds: int + + def __init__(self, bucket: _Optional[str]=..., region: _Optional[str]=..., prefix: _Optional[str]=..., aws_access_key_id: _Optional[str]=..., aws_secret_access_key: _Optional[str]=..., enabled: bool=..., auth_mode: _Optional[_Union[S3AuthMode, str]]=..., role_arn: _Optional[str]=..., external_id: _Optional[str]=..., export_interval_seconds: _Optional[int]=...) -> None: + ... + +class ConfigureS3ExportResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: S3ExportConfig + + def __init__(self, config: _Optional[_Union[S3ExportConfig, _Mapping]]=...) -> None: + ... + +class GetS3ExportConfigRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetS3ExportConfigResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: S3ExportConfig + + def __init__(self, config: _Optional[_Union[S3ExportConfig, _Mapping]]=...) -> None: + ... + +class DeleteS3ExportConfigRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class DeleteS3ExportConfigResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class TestS3ExportConnectionRequest(_message.Message): + __slots__ = ('bucket', 'region', 'aws_access_key_id', 'aws_secret_access_key', 'auth_mode', 'role_arn', 'external_id') + BUCKET_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + AWS_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + AWS_SECRET_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + AUTH_MODE_FIELD_NUMBER: _ClassVar[int] + ROLE_ARN_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int] + bucket: str + region: str + aws_access_key_id: str + aws_secret_access_key: str + auth_mode: S3AuthMode + role_arn: str + external_id: str + + def __init__(self, bucket: _Optional[str]=..., region: _Optional[str]=..., aws_access_key_id: _Optional[str]=..., aws_secret_access_key: _Optional[str]=..., auth_mode: _Optional[_Union[S3AuthMode, str]]=..., role_arn: _Optional[str]=..., external_id: _Optional[str]=...) -> None: + ... + +class TestS3ExportConnectionResponse(_message.Message): + __slots__ = ('success', 'error_message') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + success: bool + error_message: str + + def __init__(self, success: bool=..., error_message: _Optional[str]=...) -> None: + ... + +class TriggerS3ExportRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class TriggerS3ExportResponse(_message.Message): + __slots__ = ('triggered',) + TRIGGERED_FIELD_NUMBER: _ClassVar[int] + triggered: bool + + def __init__(self, triggered: bool=...) -> None: + ... + +class OtlpExportConfig(_message.Message): + __slots__ = ('enabled', 'otlp_endpoint', 'otlp_headers', 'otlp_protocol', 'push_interval_seconds', 'last_pushed_at', 'created_at', 'updated_at') + ENABLED_FIELD_NUMBER: _ClassVar[int] + OTLP_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + OTLP_HEADERS_FIELD_NUMBER: _ClassVar[int] + OTLP_PROTOCOL_FIELD_NUMBER: _ClassVar[int] + PUSH_INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int] + LAST_PUSHED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + enabled: bool + otlp_endpoint: str + otlp_headers: str + otlp_protocol: str + push_interval_seconds: int + last_pushed_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, enabled: bool=..., otlp_endpoint: _Optional[str]=..., otlp_headers: _Optional[str]=..., otlp_protocol: _Optional[str]=..., push_interval_seconds: _Optional[int]=..., last_pushed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ConfigureOtlpExportRequest(_message.Message): + __slots__ = ('enabled', 'otlp_endpoint', 'otlp_headers', 'otlp_protocol', 'push_interval_seconds') + ENABLED_FIELD_NUMBER: _ClassVar[int] + OTLP_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + OTLP_HEADERS_FIELD_NUMBER: _ClassVar[int] + OTLP_PROTOCOL_FIELD_NUMBER: _ClassVar[int] + PUSH_INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int] + enabled: bool + otlp_endpoint: str + otlp_headers: str + otlp_protocol: str + push_interval_seconds: int + + def __init__(self, enabled: bool=..., otlp_endpoint: _Optional[str]=..., otlp_headers: _Optional[str]=..., otlp_protocol: _Optional[str]=..., push_interval_seconds: _Optional[int]=...) -> None: + ... + +class ConfigureOtlpExportResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: OtlpExportConfig + + def __init__(self, config: _Optional[_Union[OtlpExportConfig, _Mapping]]=...) -> None: + ... + +class GetOtlpExportConfigRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetOtlpExportConfigResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: OtlpExportConfig + + def __init__(self, config: _Optional[_Union[OtlpExportConfig, _Mapping]]=...) -> None: + ... + +class DeleteOtlpExportConfigRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class DeleteOtlpExportConfigResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class TestOtlpExportConnectionRequest(_message.Message): + __slots__ = ('otlp_endpoint', 'otlp_headers', 'otlp_protocol') + OTLP_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + OTLP_HEADERS_FIELD_NUMBER: _ClassVar[int] + OTLP_PROTOCOL_FIELD_NUMBER: _ClassVar[int] + otlp_endpoint: str + otlp_headers: str + otlp_protocol: str + + def __init__(self, otlp_endpoint: _Optional[str]=..., otlp_headers: _Optional[str]=..., otlp_protocol: _Optional[str]=...) -> None: + ... + +class TestOtlpExportConnectionResponse(_message.Message): + __slots__ = ('success', 'error_message') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + success: bool + error_message: str + + def __init__(self, success: bool=..., error_message: _Optional[str]=...) -> None: + ... + +class TriggerOtlpExportRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class TriggerOtlpExportResponse(_message.Message): + __slots__ = ('triggered',) + TRIGGERED_FIELD_NUMBER: _ClassVar[int] + triggered: bool + + def __init__(self, triggered: bool=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/auth_connect.py b/src/textql_sdk/_connect/public/auth_connect.py new file mode 100644 index 0000000..0885cea --- /dev/null +++ b/src/textql_sdk/_connect/public/auth_connect.py @@ -0,0 +1,592 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from .. import auth_pb2 as auth__pb2 +from . import auth_pb2 as public_dot_auth__pb2 + +class PublicAuthService(Protocol): + + async def login_email_start(self, request: public_dot_auth__pb2.LoginEmailStartRequest, ctx: RequestContext) -> public_dot_auth__pb2.LoginEmailStartResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def validate_intermediary_token(self, request: public_dot_auth__pb2.ValidateIntermediaryTokenRequest, ctx: RequestContext) -> public_dot_auth__pb2.ValidateIntermediaryTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def validate_long_term_token(self, request: public_dot_auth__pb2.ValidateLongTermTokenRequest, ctx: RequestContext) -> public_dot_auth__pb2.ValidateLongTermTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_intermediary_token(self, request: public_dot_auth__pb2.ExchangeIntermediaryTokenRequest, ctx: RequestContext) -> auth__pb2.LongTermAccessTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def logout(self, request: public_dot_auth__pb2.LogoutRequest, ctx: RequestContext) -> public_dot_auth__pb2.LogoutResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_o_i_d_c_auth_url(self, request: public_dot_auth__pb2.GetOIDCAuthUrlRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetOIDCAuthUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def handle_o_i_d_c_callback(self, request: public_dot_auth__pb2.HandleOIDCCallbackRequest, ctx: RequestContext) -> public_dot_auth__pb2.HandleOIDCCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_s_s_o_organization(self, request: public_dot_auth__pb2.CreateSSOOrganizationRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateSSOOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_organizations(self, request: public_dot_auth__pb2.ListOrganizationsRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListOrganizationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_member(self, request: public_dot_auth__pb2.GetMemberRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_organization(self, request: public_dot_auth__pb2.GetOrganizationRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_member_in_org_by_id(self, request: public_dot_auth__pb2.GetMemberInOrgByIdRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetMemberInOrgByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_session(self, request: public_dot_auth__pb2.ExchangeSessionRequest, ctx: RequestContext) -> public_dot_auth__pb2.ExchangeSessionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_default_connector(self, request: public_dot_auth__pb2.UpdateDefaultConnectorRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateDefaultConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_o_i_d_c_config(self, request: public_dot_auth__pb2.GetOIDCConfigRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetOIDCConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def save_o_i_d_c_config(self, request: public_dot_auth__pb2.SaveOIDCConfigRequest, ctx: RequestContext) -> public_dot_auth__pb2.SaveOIDCConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def check_domain_for_o_i_d_c(self, request: public_dot_auth__pb2.CheckDomainForOIDCRequest, ctx: RequestContext) -> public_dot_auth__pb2.CheckDomainForOIDCResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_o_i_d_c_providers(self, request: public_dot_auth__pb2.ListOIDCProvidersRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListOIDCProvidersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_o_i_d_c_provider(self, request: public_dot_auth__pb2.CreateOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_o_i_d_c_provider(self, request: public_dot_auth__pb2.UpdateOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_o_i_d_c_provider(self, request: public_dot_auth__pb2.DeleteOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.DeleteOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def add_org_o_i_d_c_provider(self, request: public_dot_auth__pb2.AddOrgOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.AddOrgOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_org_o_i_d_c_provider(self, request: public_dot_auth__pb2.RemoveOrgOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.RemoveOrgOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_org_o_i_d_c_providers(self, request: public_dot_auth__pb2.UpdateOrgOIDCProvidersRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOrgOIDCProvidersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_org_o_i_d_c_providers(self, request: public_dot_auth__pb2.GetOrgOIDCProvidersRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetOrgOIDCProvidersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_google_o_auth_url(self, request: public_dot_auth__pb2.GetGoogleOAuthUrlRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetGoogleOAuthUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def handle_google_o_auth_callback(self, request: public_dot_auth__pb2.HandleGoogleOAuthCallbackRequest, ctx: RequestContext) -> public_dot_auth__pb2.HandleGoogleOAuthCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_org_theme(self, request: public_dot_auth__pb2.UpdateOrgThemeRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOrgThemeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_org_tool_restrictions(self, request: public_dot_auth__pb2.UpdateOrgToolRestrictionsRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOrgToolRestrictionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_logo_upload_presign_url(self, request: public_dot_auth__pb2.CreateLogoUploadPresignUrlRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateLogoUploadPresignUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def process_logo_upload_presign_url(self, request: public_dot_auth__pb2.ProcessLogoUploadPresignUrlRequest, ctx: RequestContext) -> public_dot_auth__pb2.ProcessLogoUploadPresignUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upload_member_image(self, request: public_dot_auth__pb2.UploadMemberImageRequest, ctx: RequestContext) -> public_dot_auth__pb2.UploadMemberImageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def generate_magic_link_for_user(self, request: public_dot_auth__pb2.GenerateMagicLinkForUserRequest, ctx: RequestContext) -> public_dot_auth__pb2.GenerateMagicLinkForUserResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_console_auth_token(self, request: public_dot_auth__pb2.GetConsoleAuthTokenRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetConsoleAuthTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_organization(self, request: public_dot_auth__pb2.CreateOrganizationRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_sibling_organization(self, request: public_dot_auth__pb2.CreateSiblingOrganizationRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateSiblingOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def verify_api_key(self, request: public_dot_auth__pb2.VerifyApiKeyRequest, ctx: RequestContext) -> public_dot_auth__pb2.VerifyApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_org_o_auth_clients(self, request: public_dot_auth__pb2.ListOrgOAuthClientsRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListOrgOAuthClientsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_org_o_auth_client(self, request: public_dot_auth__pb2.CreateOrgOAuthClientRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateOrgOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_org_o_auth_client(self, request: public_dot_auth__pb2.UpdateOrgOAuthClientRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOrgOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def rotate_org_o_auth_client_secret(self, request: public_dot_auth__pb2.RotateOrgOAuthClientSecretRequest, ctx: RequestContext) -> public_dot_auth__pb2.RotateOrgOAuthClientSecretResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revoke_org_o_auth_client(self, request: public_dot_auth__pb2.RevokeOrgOAuthClientRequest, ctx: RequestContext) -> public_dot_auth__pb2.RevokeOrgOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_org_o_auth_client(self, request: public_dot_auth__pb2.DeleteOrgOAuthClientRequest, ctx: RequestContext) -> public_dot_auth__pb2.DeleteOrgOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_my_authorized_apps(self, request: public_dot_auth__pb2.ListMyAuthorizedAppsRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListMyAuthorizedAppsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revoke_my_authorized_app(self, request: public_dot_auth__pb2.RevokeMyAuthorizedAppRequest, ctx: RequestContext) -> public_dot_auth__pb2.RevokeMyAuthorizedAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_o_auth_scopes(self, request: public_dot_auth__pb2.ListOAuthScopesRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListOAuthScopesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class PublicAuthServiceASGIApplication(ConnectASGIApplication[PublicAuthService]): + + def __init__(self, service: PublicAuthService | AsyncGenerator[PublicAuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.auth.PublicAuthService/LoginEmailStart': Endpoint.unary(method=MethodInfo(name='LoginEmailStart', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.LoginEmailStartRequest, output=public_dot_auth__pb2.LoginEmailStartResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.login_email_start), '/textql.rpc.public.auth.PublicAuthService/ValidateIntermediaryToken': Endpoint.unary(method=MethodInfo(name='ValidateIntermediaryToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ValidateIntermediaryTokenRequest, output=public_dot_auth__pb2.ValidateIntermediaryTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.validate_intermediary_token), '/textql.rpc.public.auth.PublicAuthService/ValidateLongTermToken': Endpoint.unary(method=MethodInfo(name='ValidateLongTermToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ValidateLongTermTokenRequest, output=public_dot_auth__pb2.ValidateLongTermTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.validate_long_term_token), '/textql.rpc.public.auth.PublicAuthService/ExchangeIntermediaryToken': Endpoint.unary(method=MethodInfo(name='ExchangeIntermediaryToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ExchangeIntermediaryTokenRequest, output=auth__pb2.LongTermAccessTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_intermediary_token), '/textql.rpc.public.auth.PublicAuthService/Logout': Endpoint.unary(method=MethodInfo(name='Logout', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.LogoutRequest, output=public_dot_auth__pb2.LogoutResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.logout), '/textql.rpc.public.auth.PublicAuthService/GetOIDCAuthUrl': Endpoint.unary(method=MethodInfo(name='GetOIDCAuthUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOIDCAuthUrlRequest, output=public_dot_auth__pb2.GetOIDCAuthUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_o_i_d_c_auth_url), '/textql.rpc.public.auth.PublicAuthService/HandleOIDCCallback': Endpoint.unary(method=MethodInfo(name='HandleOIDCCallback', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.HandleOIDCCallbackRequest, output=public_dot_auth__pb2.HandleOIDCCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.handle_o_i_d_c_callback), '/textql.rpc.public.auth.PublicAuthService/CreateSSOOrganization': Endpoint.unary(method=MethodInfo(name='CreateSSOOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateSSOOrganizationRequest, output=public_dot_auth__pb2.CreateSSOOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_s_s_o_organization), '/textql.rpc.public.auth.PublicAuthService/ListOrganizations': Endpoint.unary(method=MethodInfo(name='ListOrganizations', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOrganizationsRequest, output=public_dot_auth__pb2.ListOrganizationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_organizations), '/textql.rpc.public.auth.PublicAuthService/GetMember': Endpoint.unary(method=MethodInfo(name='GetMember', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetMemberRequest, output=public_dot_auth__pb2.GetMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_member), '/textql.rpc.public.auth.PublicAuthService/GetOrganization': Endpoint.unary(method=MethodInfo(name='GetOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOrganizationRequest, output=public_dot_auth__pb2.GetOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_organization), '/textql.rpc.public.auth.PublicAuthService/GetMemberInOrgById': Endpoint.unary(method=MethodInfo(name='GetMemberInOrgById', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetMemberInOrgByIdRequest, output=public_dot_auth__pb2.GetMemberInOrgByIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_member_in_org_by_id), '/textql.rpc.public.auth.PublicAuthService/ExchangeSession': Endpoint.unary(method=MethodInfo(name='ExchangeSession', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ExchangeSessionRequest, output=public_dot_auth__pb2.ExchangeSessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_session), '/textql.rpc.public.auth.PublicAuthService/UpdateDefaultConnector': Endpoint.unary(method=MethodInfo(name='UpdateDefaultConnector', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateDefaultConnectorRequest, output=public_dot_auth__pb2.UpdateDefaultConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_default_connector), '/textql.rpc.public.auth.PublicAuthService/GetOIDCConfig': Endpoint.unary(method=MethodInfo(name='GetOIDCConfig', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOIDCConfigRequest, output=public_dot_auth__pb2.GetOIDCConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_o_i_d_c_config), '/textql.rpc.public.auth.PublicAuthService/SaveOIDCConfig': Endpoint.unary(method=MethodInfo(name='SaveOIDCConfig', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.SaveOIDCConfigRequest, output=public_dot_auth__pb2.SaveOIDCConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.save_o_i_d_c_config), '/textql.rpc.public.auth.PublicAuthService/CheckDomainForOIDC': Endpoint.unary(method=MethodInfo(name='CheckDomainForOIDC', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CheckDomainForOIDCRequest, output=public_dot_auth__pb2.CheckDomainForOIDCResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.check_domain_for_o_i_d_c), '/textql.rpc.public.auth.PublicAuthService/ListOIDCProviders': Endpoint.unary(method=MethodInfo(name='ListOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOIDCProvidersRequest, output=public_dot_auth__pb2.ListOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_o_i_d_c_providers), '/textql.rpc.public.auth.PublicAuthService/CreateOIDCProvider': Endpoint.unary(method=MethodInfo(name='CreateOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOIDCProviderRequest, output=public_dot_auth__pb2.CreateOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/UpdateOIDCProvider': Endpoint.unary(method=MethodInfo(name='UpdateOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOIDCProviderRequest, output=public_dot_auth__pb2.UpdateOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/DeleteOIDCProvider': Endpoint.unary(method=MethodInfo(name='DeleteOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.DeleteOIDCProviderRequest, output=public_dot_auth__pb2.DeleteOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/AddOrgOIDCProvider': Endpoint.unary(method=MethodInfo(name='AddOrgOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.AddOrgOIDCProviderRequest, output=public_dot_auth__pb2.AddOrgOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.add_org_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/RemoveOrgOIDCProvider': Endpoint.unary(method=MethodInfo(name='RemoveOrgOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RemoveOrgOIDCProviderRequest, output=public_dot_auth__pb2.RemoveOrgOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_org_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/UpdateOrgOIDCProviders': Endpoint.unary(method=MethodInfo(name='UpdateOrgOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgOIDCProvidersRequest, output=public_dot_auth__pb2.UpdateOrgOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_org_o_i_d_c_providers), '/textql.rpc.public.auth.PublicAuthService/GetOrgOIDCProviders': Endpoint.unary(method=MethodInfo(name='GetOrgOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOrgOIDCProvidersRequest, output=public_dot_auth__pb2.GetOrgOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_org_o_i_d_c_providers), '/textql.rpc.public.auth.PublicAuthService/GetGoogleOAuthUrl': Endpoint.unary(method=MethodInfo(name='GetGoogleOAuthUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetGoogleOAuthUrlRequest, output=public_dot_auth__pb2.GetGoogleOAuthUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_google_o_auth_url), '/textql.rpc.public.auth.PublicAuthService/HandleGoogleOAuthCallback': Endpoint.unary(method=MethodInfo(name='HandleGoogleOAuthCallback', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.HandleGoogleOAuthCallbackRequest, output=public_dot_auth__pb2.HandleGoogleOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.handle_google_o_auth_callback), '/textql.rpc.public.auth.PublicAuthService/UpdateOrgTheme': Endpoint.unary(method=MethodInfo(name='UpdateOrgTheme', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgThemeRequest, output=public_dot_auth__pb2.UpdateOrgThemeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_org_theme), '/textql.rpc.public.auth.PublicAuthService/UpdateOrgToolRestrictions': Endpoint.unary(method=MethodInfo(name='UpdateOrgToolRestrictions', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgToolRestrictionsRequest, output=public_dot_auth__pb2.UpdateOrgToolRestrictionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_org_tool_restrictions), '/textql.rpc.public.auth.PublicAuthService/CreateLogoUploadPresignUrl': Endpoint.unary(method=MethodInfo(name='CreateLogoUploadPresignUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateLogoUploadPresignUrlRequest, output=public_dot_auth__pb2.CreateLogoUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_logo_upload_presign_url), '/textql.rpc.public.auth.PublicAuthService/ProcessLogoUploadPresignUrl': Endpoint.unary(method=MethodInfo(name='ProcessLogoUploadPresignUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ProcessLogoUploadPresignUrlRequest, output=public_dot_auth__pb2.ProcessLogoUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.process_logo_upload_presign_url), '/textql.rpc.public.auth.PublicAuthService/UploadMemberImage': Endpoint.unary(method=MethodInfo(name='UploadMemberImage', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UploadMemberImageRequest, output=public_dot_auth__pb2.UploadMemberImageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upload_member_image), '/textql.rpc.public.auth.PublicAuthService/GenerateMagicLinkForUser': Endpoint.unary(method=MethodInfo(name='GenerateMagicLinkForUser', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GenerateMagicLinkForUserRequest, output=public_dot_auth__pb2.GenerateMagicLinkForUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.generate_magic_link_for_user), '/textql.rpc.public.auth.PublicAuthService/GetConsoleAuthToken': Endpoint.unary(method=MethodInfo(name='GetConsoleAuthToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetConsoleAuthTokenRequest, output=public_dot_auth__pb2.GetConsoleAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_console_auth_token), '/textql.rpc.public.auth.PublicAuthService/CreateOrganization': Endpoint.unary(method=MethodInfo(name='CreateOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOrganizationRequest, output=public_dot_auth__pb2.CreateOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_organization), '/textql.rpc.public.auth.PublicAuthService/CreateSiblingOrganization': Endpoint.unary(method=MethodInfo(name='CreateSiblingOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateSiblingOrganizationRequest, output=public_dot_auth__pb2.CreateSiblingOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_sibling_organization), '/textql.rpc.public.auth.PublicAuthService/VerifyApiKey': Endpoint.unary(method=MethodInfo(name='VerifyApiKey', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.VerifyApiKeyRequest, output=public_dot_auth__pb2.VerifyApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.verify_api_key), '/textql.rpc.public.auth.PublicAuthService/ListOrgOAuthClients': Endpoint.unary(method=MethodInfo(name='ListOrgOAuthClients', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOrgOAuthClientsRequest, output=public_dot_auth__pb2.ListOrgOAuthClientsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_org_o_auth_clients), '/textql.rpc.public.auth.PublicAuthService/CreateOrgOAuthClient': Endpoint.unary(method=MethodInfo(name='CreateOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOrgOAuthClientRequest, output=public_dot_auth__pb2.CreateOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_org_o_auth_client), '/textql.rpc.public.auth.PublicAuthService/UpdateOrgOAuthClient': Endpoint.unary(method=MethodInfo(name='UpdateOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgOAuthClientRequest, output=public_dot_auth__pb2.UpdateOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_org_o_auth_client), '/textql.rpc.public.auth.PublicAuthService/RotateOrgOAuthClientSecret': Endpoint.unary(method=MethodInfo(name='RotateOrgOAuthClientSecret', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RotateOrgOAuthClientSecretRequest, output=public_dot_auth__pb2.RotateOrgOAuthClientSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.rotate_org_o_auth_client_secret), '/textql.rpc.public.auth.PublicAuthService/RevokeOrgOAuthClient': Endpoint.unary(method=MethodInfo(name='RevokeOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RevokeOrgOAuthClientRequest, output=public_dot_auth__pb2.RevokeOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revoke_org_o_auth_client), '/textql.rpc.public.auth.PublicAuthService/DeleteOrgOAuthClient': Endpoint.unary(method=MethodInfo(name='DeleteOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.DeleteOrgOAuthClientRequest, output=public_dot_auth__pb2.DeleteOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_org_o_auth_client), '/textql.rpc.public.auth.PublicAuthService/ListMyAuthorizedApps': Endpoint.unary(method=MethodInfo(name='ListMyAuthorizedApps', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListMyAuthorizedAppsRequest, output=public_dot_auth__pb2.ListMyAuthorizedAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_my_authorized_apps), '/textql.rpc.public.auth.PublicAuthService/RevokeMyAuthorizedApp': Endpoint.unary(method=MethodInfo(name='RevokeMyAuthorizedApp', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RevokeMyAuthorizedAppRequest, output=public_dot_auth__pb2.RevokeMyAuthorizedAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revoke_my_authorized_app), '/textql.rpc.public.auth.PublicAuthService/ListOAuthScopes': Endpoint.unary(method=MethodInfo(name='ListOAuthScopes', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOAuthScopesRequest, output=public_dot_auth__pb2.ListOAuthScopesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_o_auth_scopes)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.auth.PublicAuthService' + +class PublicAuthServiceClient(ConnectClient): + + async def login_email_start(self, request: public_dot_auth__pb2.LoginEmailStartRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.LoginEmailStartResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='LoginEmailStart', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.LoginEmailStartRequest, output=public_dot_auth__pb2.LoginEmailStartResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def validate_intermediary_token(self, request: public_dot_auth__pb2.ValidateIntermediaryTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ValidateIntermediaryTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ValidateIntermediaryToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ValidateIntermediaryTokenRequest, output=public_dot_auth__pb2.ValidateIntermediaryTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def validate_long_term_token(self, request: public_dot_auth__pb2.ValidateLongTermTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ValidateLongTermTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ValidateLongTermToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ValidateLongTermTokenRequest, output=public_dot_auth__pb2.ValidateLongTermTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_intermediary_token(self, request: public_dot_auth__pb2.ExchangeIntermediaryTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.LongTermAccessTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeIntermediaryToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ExchangeIntermediaryTokenRequest, output=auth__pb2.LongTermAccessTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def logout(self, request: public_dot_auth__pb2.LogoutRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.LogoutResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='Logout', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.LogoutRequest, output=public_dot_auth__pb2.LogoutResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_o_i_d_c_auth_url(self, request: public_dot_auth__pb2.GetOIDCAuthUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetOIDCAuthUrlResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOIDCAuthUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOIDCAuthUrlRequest, output=public_dot_auth__pb2.GetOIDCAuthUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def handle_o_i_d_c_callback(self, request: public_dot_auth__pb2.HandleOIDCCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.HandleOIDCCallbackResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='HandleOIDCCallback', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.HandleOIDCCallbackRequest, output=public_dot_auth__pb2.HandleOIDCCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_s_s_o_organization(self, request: public_dot_auth__pb2.CreateSSOOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateSSOOrganizationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateSSOOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateSSOOrganizationRequest, output=public_dot_auth__pb2.CreateSSOOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_organizations(self, request: public_dot_auth__pb2.ListOrganizationsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ListOrganizationsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOrganizations', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOrganizationsRequest, output=public_dot_auth__pb2.ListOrganizationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_member(self, request: public_dot_auth__pb2.GetMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMember', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetMemberRequest, output=public_dot_auth__pb2.GetMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_organization(self, request: public_dot_auth__pb2.GetOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetOrganizationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOrganizationRequest, output=public_dot_auth__pb2.GetOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_member_in_org_by_id(self, request: public_dot_auth__pb2.GetMemberInOrgByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetMemberInOrgByIdResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMemberInOrgById', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetMemberInOrgByIdRequest, output=public_dot_auth__pb2.GetMemberInOrgByIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_session(self, request: public_dot_auth__pb2.ExchangeSessionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ExchangeSessionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeSession', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ExchangeSessionRequest, output=public_dot_auth__pb2.ExchangeSessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_default_connector(self, request: public_dot_auth__pb2.UpdateDefaultConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateDefaultConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateDefaultConnector', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateDefaultConnectorRequest, output=public_dot_auth__pb2.UpdateDefaultConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_o_i_d_c_config(self, request: public_dot_auth__pb2.GetOIDCConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetOIDCConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOIDCConfig', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOIDCConfigRequest, output=public_dot_auth__pb2.GetOIDCConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def save_o_i_d_c_config(self, request: public_dot_auth__pb2.SaveOIDCConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.SaveOIDCConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SaveOIDCConfig', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.SaveOIDCConfigRequest, output=public_dot_auth__pb2.SaveOIDCConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def check_domain_for_o_i_d_c(self, request: public_dot_auth__pb2.CheckDomainForOIDCRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CheckDomainForOIDCResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CheckDomainForOIDC', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CheckDomainForOIDCRequest, output=public_dot_auth__pb2.CheckDomainForOIDCResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_o_i_d_c_providers(self, request: public_dot_auth__pb2.ListOIDCProvidersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ListOIDCProvidersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOIDCProvidersRequest, output=public_dot_auth__pb2.ListOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_o_i_d_c_provider(self, request: public_dot_auth__pb2.CreateOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateOIDCProviderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOIDCProviderRequest, output=public_dot_auth__pb2.CreateOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_o_i_d_c_provider(self, request: public_dot_auth__pb2.UpdateOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOIDCProviderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOIDCProviderRequest, output=public_dot_auth__pb2.UpdateOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_o_i_d_c_provider(self, request: public_dot_auth__pb2.DeleteOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.DeleteOIDCProviderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.DeleteOIDCProviderRequest, output=public_dot_auth__pb2.DeleteOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def add_org_o_i_d_c_provider(self, request: public_dot_auth__pb2.AddOrgOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.AddOrgOIDCProviderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AddOrgOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.AddOrgOIDCProviderRequest, output=public_dot_auth__pb2.AddOrgOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_org_o_i_d_c_provider(self, request: public_dot_auth__pb2.RemoveOrgOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.RemoveOrgOIDCProviderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveOrgOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RemoveOrgOIDCProviderRequest, output=public_dot_auth__pb2.RemoveOrgOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_org_o_i_d_c_providers(self, request: public_dot_auth__pb2.UpdateOrgOIDCProvidersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOrgOIDCProvidersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgOIDCProvidersRequest, output=public_dot_auth__pb2.UpdateOrgOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_org_o_i_d_c_providers(self, request: public_dot_auth__pb2.GetOrgOIDCProvidersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetOrgOIDCProvidersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOrgOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOrgOIDCProvidersRequest, output=public_dot_auth__pb2.GetOrgOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_google_o_auth_url(self, request: public_dot_auth__pb2.GetGoogleOAuthUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetGoogleOAuthUrlResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetGoogleOAuthUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetGoogleOAuthUrlRequest, output=public_dot_auth__pb2.GetGoogleOAuthUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def handle_google_o_auth_callback(self, request: public_dot_auth__pb2.HandleGoogleOAuthCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.HandleGoogleOAuthCallbackResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='HandleGoogleOAuthCallback', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.HandleGoogleOAuthCallbackRequest, output=public_dot_auth__pb2.HandleGoogleOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_org_theme(self, request: public_dot_auth__pb2.UpdateOrgThemeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOrgThemeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgTheme', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgThemeRequest, output=public_dot_auth__pb2.UpdateOrgThemeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_org_tool_restrictions(self, request: public_dot_auth__pb2.UpdateOrgToolRestrictionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOrgToolRestrictionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgToolRestrictions', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgToolRestrictionsRequest, output=public_dot_auth__pb2.UpdateOrgToolRestrictionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_logo_upload_presign_url(self, request: public_dot_auth__pb2.CreateLogoUploadPresignUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateLogoUploadPresignUrlResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateLogoUploadPresignUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateLogoUploadPresignUrlRequest, output=public_dot_auth__pb2.CreateLogoUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def process_logo_upload_presign_url(self, request: public_dot_auth__pb2.ProcessLogoUploadPresignUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ProcessLogoUploadPresignUrlResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ProcessLogoUploadPresignUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ProcessLogoUploadPresignUrlRequest, output=public_dot_auth__pb2.ProcessLogoUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def upload_member_image(self, request: public_dot_auth__pb2.UploadMemberImageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UploadMemberImageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UploadMemberImage', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UploadMemberImageRequest, output=public_dot_auth__pb2.UploadMemberImageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def generate_magic_link_for_user(self, request: public_dot_auth__pb2.GenerateMagicLinkForUserRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GenerateMagicLinkForUserResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GenerateMagicLinkForUser', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GenerateMagicLinkForUserRequest, output=public_dot_auth__pb2.GenerateMagicLinkForUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_console_auth_token(self, request: public_dot_auth__pb2.GetConsoleAuthTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetConsoleAuthTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConsoleAuthToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetConsoleAuthTokenRequest, output=public_dot_auth__pb2.GetConsoleAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_organization(self, request: public_dot_auth__pb2.CreateOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateOrganizationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOrganizationRequest, output=public_dot_auth__pb2.CreateOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_sibling_organization(self, request: public_dot_auth__pb2.CreateSiblingOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateSiblingOrganizationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateSiblingOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateSiblingOrganizationRequest, output=public_dot_auth__pb2.CreateSiblingOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def verify_api_key(self, request: public_dot_auth__pb2.VerifyApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.VerifyApiKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='VerifyApiKey', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.VerifyApiKeyRequest, output=public_dot_auth__pb2.VerifyApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_org_o_auth_clients(self, request: public_dot_auth__pb2.ListOrgOAuthClientsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_auth__pb2.ListOrgOAuthClientsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOrgOAuthClients', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOrgOAuthClientsRequest, output=public_dot_auth__pb2.ListOrgOAuthClientsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_org_o_auth_client(self, request: public_dot_auth__pb2.CreateOrgOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateOrgOAuthClientResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOrgOAuthClientRequest, output=public_dot_auth__pb2.CreateOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_org_o_auth_client(self, request: public_dot_auth__pb2.UpdateOrgOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOrgOAuthClientResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgOAuthClientRequest, output=public_dot_auth__pb2.UpdateOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def rotate_org_o_auth_client_secret(self, request: public_dot_auth__pb2.RotateOrgOAuthClientSecretRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.RotateOrgOAuthClientSecretResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RotateOrgOAuthClientSecret', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RotateOrgOAuthClientSecretRequest, output=public_dot_auth__pb2.RotateOrgOAuthClientSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def revoke_org_o_auth_client(self, request: public_dot_auth__pb2.RevokeOrgOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.RevokeOrgOAuthClientResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevokeOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RevokeOrgOAuthClientRequest, output=public_dot_auth__pb2.RevokeOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_org_o_auth_client(self, request: public_dot_auth__pb2.DeleteOrgOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.DeleteOrgOAuthClientResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.DeleteOrgOAuthClientRequest, output=public_dot_auth__pb2.DeleteOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_my_authorized_apps(self, request: public_dot_auth__pb2.ListMyAuthorizedAppsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_auth__pb2.ListMyAuthorizedAppsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListMyAuthorizedApps', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListMyAuthorizedAppsRequest, output=public_dot_auth__pb2.ListMyAuthorizedAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def revoke_my_authorized_app(self, request: public_dot_auth__pb2.RevokeMyAuthorizedAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.RevokeMyAuthorizedAppResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevokeMyAuthorizedApp', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RevokeMyAuthorizedAppRequest, output=public_dot_auth__pb2.RevokeMyAuthorizedAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_o_auth_scopes(self, request: public_dot_auth__pb2.ListOAuthScopesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_auth__pb2.ListOAuthScopesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOAuthScopes', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOAuthScopesRequest, output=public_dot_auth__pb2.ListOAuthScopesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class PublicAuthServiceSync(Protocol): + + def login_email_start(self, request: public_dot_auth__pb2.LoginEmailStartRequest, ctx: RequestContext) -> public_dot_auth__pb2.LoginEmailStartResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def validate_intermediary_token(self, request: public_dot_auth__pb2.ValidateIntermediaryTokenRequest, ctx: RequestContext) -> public_dot_auth__pb2.ValidateIntermediaryTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def validate_long_term_token(self, request: public_dot_auth__pb2.ValidateLongTermTokenRequest, ctx: RequestContext) -> public_dot_auth__pb2.ValidateLongTermTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_intermediary_token(self, request: public_dot_auth__pb2.ExchangeIntermediaryTokenRequest, ctx: RequestContext) -> auth__pb2.LongTermAccessTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def logout(self, request: public_dot_auth__pb2.LogoutRequest, ctx: RequestContext) -> public_dot_auth__pb2.LogoutResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_o_i_d_c_auth_url(self, request: public_dot_auth__pb2.GetOIDCAuthUrlRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetOIDCAuthUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def handle_o_i_d_c_callback(self, request: public_dot_auth__pb2.HandleOIDCCallbackRequest, ctx: RequestContext) -> public_dot_auth__pb2.HandleOIDCCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_s_s_o_organization(self, request: public_dot_auth__pb2.CreateSSOOrganizationRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateSSOOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_organizations(self, request: public_dot_auth__pb2.ListOrganizationsRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListOrganizationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_member(self, request: public_dot_auth__pb2.GetMemberRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_organization(self, request: public_dot_auth__pb2.GetOrganizationRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_member_in_org_by_id(self, request: public_dot_auth__pb2.GetMemberInOrgByIdRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetMemberInOrgByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_session(self, request: public_dot_auth__pb2.ExchangeSessionRequest, ctx: RequestContext) -> public_dot_auth__pb2.ExchangeSessionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_default_connector(self, request: public_dot_auth__pb2.UpdateDefaultConnectorRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateDefaultConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_o_i_d_c_config(self, request: public_dot_auth__pb2.GetOIDCConfigRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetOIDCConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def save_o_i_d_c_config(self, request: public_dot_auth__pb2.SaveOIDCConfigRequest, ctx: RequestContext) -> public_dot_auth__pb2.SaveOIDCConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def check_domain_for_o_i_d_c(self, request: public_dot_auth__pb2.CheckDomainForOIDCRequest, ctx: RequestContext) -> public_dot_auth__pb2.CheckDomainForOIDCResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_o_i_d_c_providers(self, request: public_dot_auth__pb2.ListOIDCProvidersRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListOIDCProvidersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_o_i_d_c_provider(self, request: public_dot_auth__pb2.CreateOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_o_i_d_c_provider(self, request: public_dot_auth__pb2.UpdateOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_o_i_d_c_provider(self, request: public_dot_auth__pb2.DeleteOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.DeleteOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def add_org_o_i_d_c_provider(self, request: public_dot_auth__pb2.AddOrgOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.AddOrgOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_org_o_i_d_c_provider(self, request: public_dot_auth__pb2.RemoveOrgOIDCProviderRequest, ctx: RequestContext) -> public_dot_auth__pb2.RemoveOrgOIDCProviderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_org_o_i_d_c_providers(self, request: public_dot_auth__pb2.UpdateOrgOIDCProvidersRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOrgOIDCProvidersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_org_o_i_d_c_providers(self, request: public_dot_auth__pb2.GetOrgOIDCProvidersRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetOrgOIDCProvidersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_google_o_auth_url(self, request: public_dot_auth__pb2.GetGoogleOAuthUrlRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetGoogleOAuthUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def handle_google_o_auth_callback(self, request: public_dot_auth__pb2.HandleGoogleOAuthCallbackRequest, ctx: RequestContext) -> public_dot_auth__pb2.HandleGoogleOAuthCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_org_theme(self, request: public_dot_auth__pb2.UpdateOrgThemeRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOrgThemeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_org_tool_restrictions(self, request: public_dot_auth__pb2.UpdateOrgToolRestrictionsRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOrgToolRestrictionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_logo_upload_presign_url(self, request: public_dot_auth__pb2.CreateLogoUploadPresignUrlRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateLogoUploadPresignUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def process_logo_upload_presign_url(self, request: public_dot_auth__pb2.ProcessLogoUploadPresignUrlRequest, ctx: RequestContext) -> public_dot_auth__pb2.ProcessLogoUploadPresignUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upload_member_image(self, request: public_dot_auth__pb2.UploadMemberImageRequest, ctx: RequestContext) -> public_dot_auth__pb2.UploadMemberImageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def generate_magic_link_for_user(self, request: public_dot_auth__pb2.GenerateMagicLinkForUserRequest, ctx: RequestContext) -> public_dot_auth__pb2.GenerateMagicLinkForUserResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_console_auth_token(self, request: public_dot_auth__pb2.GetConsoleAuthTokenRequest, ctx: RequestContext) -> public_dot_auth__pb2.GetConsoleAuthTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_organization(self, request: public_dot_auth__pb2.CreateOrganizationRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_sibling_organization(self, request: public_dot_auth__pb2.CreateSiblingOrganizationRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateSiblingOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def verify_api_key(self, request: public_dot_auth__pb2.VerifyApiKeyRequest, ctx: RequestContext) -> public_dot_auth__pb2.VerifyApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_org_o_auth_clients(self, request: public_dot_auth__pb2.ListOrgOAuthClientsRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListOrgOAuthClientsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_org_o_auth_client(self, request: public_dot_auth__pb2.CreateOrgOAuthClientRequest, ctx: RequestContext) -> public_dot_auth__pb2.CreateOrgOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_org_o_auth_client(self, request: public_dot_auth__pb2.UpdateOrgOAuthClientRequest, ctx: RequestContext) -> public_dot_auth__pb2.UpdateOrgOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def rotate_org_o_auth_client_secret(self, request: public_dot_auth__pb2.RotateOrgOAuthClientSecretRequest, ctx: RequestContext) -> public_dot_auth__pb2.RotateOrgOAuthClientSecretResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revoke_org_o_auth_client(self, request: public_dot_auth__pb2.RevokeOrgOAuthClientRequest, ctx: RequestContext) -> public_dot_auth__pb2.RevokeOrgOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_org_o_auth_client(self, request: public_dot_auth__pb2.DeleteOrgOAuthClientRequest, ctx: RequestContext) -> public_dot_auth__pb2.DeleteOrgOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_my_authorized_apps(self, request: public_dot_auth__pb2.ListMyAuthorizedAppsRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListMyAuthorizedAppsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revoke_my_authorized_app(self, request: public_dot_auth__pb2.RevokeMyAuthorizedAppRequest, ctx: RequestContext) -> public_dot_auth__pb2.RevokeMyAuthorizedAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_o_auth_scopes(self, request: public_dot_auth__pb2.ListOAuthScopesRequest, ctx: RequestContext) -> public_dot_auth__pb2.ListOAuthScopesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class PublicAuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: PublicAuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.auth.PublicAuthService/LoginEmailStart': EndpointSync.unary(method=MethodInfo(name='LoginEmailStart', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.LoginEmailStartRequest, output=public_dot_auth__pb2.LoginEmailStartResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.login_email_start), '/textql.rpc.public.auth.PublicAuthService/ValidateIntermediaryToken': EndpointSync.unary(method=MethodInfo(name='ValidateIntermediaryToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ValidateIntermediaryTokenRequest, output=public_dot_auth__pb2.ValidateIntermediaryTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.validate_intermediary_token), '/textql.rpc.public.auth.PublicAuthService/ValidateLongTermToken': EndpointSync.unary(method=MethodInfo(name='ValidateLongTermToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ValidateLongTermTokenRequest, output=public_dot_auth__pb2.ValidateLongTermTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.validate_long_term_token), '/textql.rpc.public.auth.PublicAuthService/ExchangeIntermediaryToken': EndpointSync.unary(method=MethodInfo(name='ExchangeIntermediaryToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ExchangeIntermediaryTokenRequest, output=auth__pb2.LongTermAccessTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_intermediary_token), '/textql.rpc.public.auth.PublicAuthService/Logout': EndpointSync.unary(method=MethodInfo(name='Logout', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.LogoutRequest, output=public_dot_auth__pb2.LogoutResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.logout), '/textql.rpc.public.auth.PublicAuthService/GetOIDCAuthUrl': EndpointSync.unary(method=MethodInfo(name='GetOIDCAuthUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOIDCAuthUrlRequest, output=public_dot_auth__pb2.GetOIDCAuthUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_o_i_d_c_auth_url), '/textql.rpc.public.auth.PublicAuthService/HandleOIDCCallback': EndpointSync.unary(method=MethodInfo(name='HandleOIDCCallback', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.HandleOIDCCallbackRequest, output=public_dot_auth__pb2.HandleOIDCCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.handle_o_i_d_c_callback), '/textql.rpc.public.auth.PublicAuthService/CreateSSOOrganization': EndpointSync.unary(method=MethodInfo(name='CreateSSOOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateSSOOrganizationRequest, output=public_dot_auth__pb2.CreateSSOOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_s_s_o_organization), '/textql.rpc.public.auth.PublicAuthService/ListOrganizations': EndpointSync.unary(method=MethodInfo(name='ListOrganizations', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOrganizationsRequest, output=public_dot_auth__pb2.ListOrganizationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_organizations), '/textql.rpc.public.auth.PublicAuthService/GetMember': EndpointSync.unary(method=MethodInfo(name='GetMember', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetMemberRequest, output=public_dot_auth__pb2.GetMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_member), '/textql.rpc.public.auth.PublicAuthService/GetOrganization': EndpointSync.unary(method=MethodInfo(name='GetOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOrganizationRequest, output=public_dot_auth__pb2.GetOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_organization), '/textql.rpc.public.auth.PublicAuthService/GetMemberInOrgById': EndpointSync.unary(method=MethodInfo(name='GetMemberInOrgById', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetMemberInOrgByIdRequest, output=public_dot_auth__pb2.GetMemberInOrgByIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_member_in_org_by_id), '/textql.rpc.public.auth.PublicAuthService/ExchangeSession': EndpointSync.unary(method=MethodInfo(name='ExchangeSession', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ExchangeSessionRequest, output=public_dot_auth__pb2.ExchangeSessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_session), '/textql.rpc.public.auth.PublicAuthService/UpdateDefaultConnector': EndpointSync.unary(method=MethodInfo(name='UpdateDefaultConnector', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateDefaultConnectorRequest, output=public_dot_auth__pb2.UpdateDefaultConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_default_connector), '/textql.rpc.public.auth.PublicAuthService/GetOIDCConfig': EndpointSync.unary(method=MethodInfo(name='GetOIDCConfig', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOIDCConfigRequest, output=public_dot_auth__pb2.GetOIDCConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_o_i_d_c_config), '/textql.rpc.public.auth.PublicAuthService/SaveOIDCConfig': EndpointSync.unary(method=MethodInfo(name='SaveOIDCConfig', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.SaveOIDCConfigRequest, output=public_dot_auth__pb2.SaveOIDCConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.save_o_i_d_c_config), '/textql.rpc.public.auth.PublicAuthService/CheckDomainForOIDC': EndpointSync.unary(method=MethodInfo(name='CheckDomainForOIDC', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CheckDomainForOIDCRequest, output=public_dot_auth__pb2.CheckDomainForOIDCResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.check_domain_for_o_i_d_c), '/textql.rpc.public.auth.PublicAuthService/ListOIDCProviders': EndpointSync.unary(method=MethodInfo(name='ListOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOIDCProvidersRequest, output=public_dot_auth__pb2.ListOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_o_i_d_c_providers), '/textql.rpc.public.auth.PublicAuthService/CreateOIDCProvider': EndpointSync.unary(method=MethodInfo(name='CreateOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOIDCProviderRequest, output=public_dot_auth__pb2.CreateOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/UpdateOIDCProvider': EndpointSync.unary(method=MethodInfo(name='UpdateOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOIDCProviderRequest, output=public_dot_auth__pb2.UpdateOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/DeleteOIDCProvider': EndpointSync.unary(method=MethodInfo(name='DeleteOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.DeleteOIDCProviderRequest, output=public_dot_auth__pb2.DeleteOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/AddOrgOIDCProvider': EndpointSync.unary(method=MethodInfo(name='AddOrgOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.AddOrgOIDCProviderRequest, output=public_dot_auth__pb2.AddOrgOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.add_org_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/RemoveOrgOIDCProvider': EndpointSync.unary(method=MethodInfo(name='RemoveOrgOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RemoveOrgOIDCProviderRequest, output=public_dot_auth__pb2.RemoveOrgOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_org_o_i_d_c_provider), '/textql.rpc.public.auth.PublicAuthService/UpdateOrgOIDCProviders': EndpointSync.unary(method=MethodInfo(name='UpdateOrgOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgOIDCProvidersRequest, output=public_dot_auth__pb2.UpdateOrgOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_org_o_i_d_c_providers), '/textql.rpc.public.auth.PublicAuthService/GetOrgOIDCProviders': EndpointSync.unary(method=MethodInfo(name='GetOrgOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOrgOIDCProvidersRequest, output=public_dot_auth__pb2.GetOrgOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_org_o_i_d_c_providers), '/textql.rpc.public.auth.PublicAuthService/GetGoogleOAuthUrl': EndpointSync.unary(method=MethodInfo(name='GetGoogleOAuthUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetGoogleOAuthUrlRequest, output=public_dot_auth__pb2.GetGoogleOAuthUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_google_o_auth_url), '/textql.rpc.public.auth.PublicAuthService/HandleGoogleOAuthCallback': EndpointSync.unary(method=MethodInfo(name='HandleGoogleOAuthCallback', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.HandleGoogleOAuthCallbackRequest, output=public_dot_auth__pb2.HandleGoogleOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.handle_google_o_auth_callback), '/textql.rpc.public.auth.PublicAuthService/UpdateOrgTheme': EndpointSync.unary(method=MethodInfo(name='UpdateOrgTheme', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgThemeRequest, output=public_dot_auth__pb2.UpdateOrgThemeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_org_theme), '/textql.rpc.public.auth.PublicAuthService/UpdateOrgToolRestrictions': EndpointSync.unary(method=MethodInfo(name='UpdateOrgToolRestrictions', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgToolRestrictionsRequest, output=public_dot_auth__pb2.UpdateOrgToolRestrictionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_org_tool_restrictions), '/textql.rpc.public.auth.PublicAuthService/CreateLogoUploadPresignUrl': EndpointSync.unary(method=MethodInfo(name='CreateLogoUploadPresignUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateLogoUploadPresignUrlRequest, output=public_dot_auth__pb2.CreateLogoUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_logo_upload_presign_url), '/textql.rpc.public.auth.PublicAuthService/ProcessLogoUploadPresignUrl': EndpointSync.unary(method=MethodInfo(name='ProcessLogoUploadPresignUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ProcessLogoUploadPresignUrlRequest, output=public_dot_auth__pb2.ProcessLogoUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.process_logo_upload_presign_url), '/textql.rpc.public.auth.PublicAuthService/UploadMemberImage': EndpointSync.unary(method=MethodInfo(name='UploadMemberImage', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UploadMemberImageRequest, output=public_dot_auth__pb2.UploadMemberImageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upload_member_image), '/textql.rpc.public.auth.PublicAuthService/GenerateMagicLinkForUser': EndpointSync.unary(method=MethodInfo(name='GenerateMagicLinkForUser', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GenerateMagicLinkForUserRequest, output=public_dot_auth__pb2.GenerateMagicLinkForUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.generate_magic_link_for_user), '/textql.rpc.public.auth.PublicAuthService/GetConsoleAuthToken': EndpointSync.unary(method=MethodInfo(name='GetConsoleAuthToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetConsoleAuthTokenRequest, output=public_dot_auth__pb2.GetConsoleAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_console_auth_token), '/textql.rpc.public.auth.PublicAuthService/CreateOrganization': EndpointSync.unary(method=MethodInfo(name='CreateOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOrganizationRequest, output=public_dot_auth__pb2.CreateOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_organization), '/textql.rpc.public.auth.PublicAuthService/CreateSiblingOrganization': EndpointSync.unary(method=MethodInfo(name='CreateSiblingOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateSiblingOrganizationRequest, output=public_dot_auth__pb2.CreateSiblingOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_sibling_organization), '/textql.rpc.public.auth.PublicAuthService/VerifyApiKey': EndpointSync.unary(method=MethodInfo(name='VerifyApiKey', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.VerifyApiKeyRequest, output=public_dot_auth__pb2.VerifyApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.verify_api_key), '/textql.rpc.public.auth.PublicAuthService/ListOrgOAuthClients': EndpointSync.unary(method=MethodInfo(name='ListOrgOAuthClients', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOrgOAuthClientsRequest, output=public_dot_auth__pb2.ListOrgOAuthClientsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_org_o_auth_clients), '/textql.rpc.public.auth.PublicAuthService/CreateOrgOAuthClient': EndpointSync.unary(method=MethodInfo(name='CreateOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOrgOAuthClientRequest, output=public_dot_auth__pb2.CreateOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_org_o_auth_client), '/textql.rpc.public.auth.PublicAuthService/UpdateOrgOAuthClient': EndpointSync.unary(method=MethodInfo(name='UpdateOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgOAuthClientRequest, output=public_dot_auth__pb2.UpdateOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_org_o_auth_client), '/textql.rpc.public.auth.PublicAuthService/RotateOrgOAuthClientSecret': EndpointSync.unary(method=MethodInfo(name='RotateOrgOAuthClientSecret', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RotateOrgOAuthClientSecretRequest, output=public_dot_auth__pb2.RotateOrgOAuthClientSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.rotate_org_o_auth_client_secret), '/textql.rpc.public.auth.PublicAuthService/RevokeOrgOAuthClient': EndpointSync.unary(method=MethodInfo(name='RevokeOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RevokeOrgOAuthClientRequest, output=public_dot_auth__pb2.RevokeOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revoke_org_o_auth_client), '/textql.rpc.public.auth.PublicAuthService/DeleteOrgOAuthClient': EndpointSync.unary(method=MethodInfo(name='DeleteOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.DeleteOrgOAuthClientRequest, output=public_dot_auth__pb2.DeleteOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_org_o_auth_client), '/textql.rpc.public.auth.PublicAuthService/ListMyAuthorizedApps': EndpointSync.unary(method=MethodInfo(name='ListMyAuthorizedApps', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListMyAuthorizedAppsRequest, output=public_dot_auth__pb2.ListMyAuthorizedAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_my_authorized_apps), '/textql.rpc.public.auth.PublicAuthService/RevokeMyAuthorizedApp': EndpointSync.unary(method=MethodInfo(name='RevokeMyAuthorizedApp', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RevokeMyAuthorizedAppRequest, output=public_dot_auth__pb2.RevokeMyAuthorizedAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revoke_my_authorized_app), '/textql.rpc.public.auth.PublicAuthService/ListOAuthScopes': EndpointSync.unary(method=MethodInfo(name='ListOAuthScopes', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOAuthScopesRequest, output=public_dot_auth__pb2.ListOAuthScopesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_o_auth_scopes)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.auth.PublicAuthService' + +class PublicAuthServiceClientSync(ConnectClientSync): + + def login_email_start(self, request: public_dot_auth__pb2.LoginEmailStartRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.LoginEmailStartResponse: + return self.execute_unary(request=request, method=MethodInfo(name='LoginEmailStart', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.LoginEmailStartRequest, output=public_dot_auth__pb2.LoginEmailStartResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def validate_intermediary_token(self, request: public_dot_auth__pb2.ValidateIntermediaryTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ValidateIntermediaryTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ValidateIntermediaryToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ValidateIntermediaryTokenRequest, output=public_dot_auth__pb2.ValidateIntermediaryTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def validate_long_term_token(self, request: public_dot_auth__pb2.ValidateLongTermTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ValidateLongTermTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ValidateLongTermToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ValidateLongTermTokenRequest, output=public_dot_auth__pb2.ValidateLongTermTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_intermediary_token(self, request: public_dot_auth__pb2.ExchangeIntermediaryTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> auth__pb2.LongTermAccessTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeIntermediaryToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ExchangeIntermediaryTokenRequest, output=auth__pb2.LongTermAccessTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def logout(self, request: public_dot_auth__pb2.LogoutRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.LogoutResponse: + return self.execute_unary(request=request, method=MethodInfo(name='Logout', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.LogoutRequest, output=public_dot_auth__pb2.LogoutResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_o_i_d_c_auth_url(self, request: public_dot_auth__pb2.GetOIDCAuthUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetOIDCAuthUrlResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOIDCAuthUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOIDCAuthUrlRequest, output=public_dot_auth__pb2.GetOIDCAuthUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def handle_o_i_d_c_callback(self, request: public_dot_auth__pb2.HandleOIDCCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.HandleOIDCCallbackResponse: + return self.execute_unary(request=request, method=MethodInfo(name='HandleOIDCCallback', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.HandleOIDCCallbackRequest, output=public_dot_auth__pb2.HandleOIDCCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_s_s_o_organization(self, request: public_dot_auth__pb2.CreateSSOOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateSSOOrganizationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateSSOOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateSSOOrganizationRequest, output=public_dot_auth__pb2.CreateSSOOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_organizations(self, request: public_dot_auth__pb2.ListOrganizationsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ListOrganizationsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOrganizations', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOrganizationsRequest, output=public_dot_auth__pb2.ListOrganizationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_member(self, request: public_dot_auth__pb2.GetMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMember', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetMemberRequest, output=public_dot_auth__pb2.GetMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_organization(self, request: public_dot_auth__pb2.GetOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetOrganizationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOrganizationRequest, output=public_dot_auth__pb2.GetOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_member_in_org_by_id(self, request: public_dot_auth__pb2.GetMemberInOrgByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetMemberInOrgByIdResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMemberInOrgById', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetMemberInOrgByIdRequest, output=public_dot_auth__pb2.GetMemberInOrgByIdResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_session(self, request: public_dot_auth__pb2.ExchangeSessionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ExchangeSessionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeSession', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ExchangeSessionRequest, output=public_dot_auth__pb2.ExchangeSessionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_default_connector(self, request: public_dot_auth__pb2.UpdateDefaultConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateDefaultConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateDefaultConnector', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateDefaultConnectorRequest, output=public_dot_auth__pb2.UpdateDefaultConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_o_i_d_c_config(self, request: public_dot_auth__pb2.GetOIDCConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetOIDCConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOIDCConfig', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOIDCConfigRequest, output=public_dot_auth__pb2.GetOIDCConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def save_o_i_d_c_config(self, request: public_dot_auth__pb2.SaveOIDCConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.SaveOIDCConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SaveOIDCConfig', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.SaveOIDCConfigRequest, output=public_dot_auth__pb2.SaveOIDCConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def check_domain_for_o_i_d_c(self, request: public_dot_auth__pb2.CheckDomainForOIDCRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CheckDomainForOIDCResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CheckDomainForOIDC', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CheckDomainForOIDCRequest, output=public_dot_auth__pb2.CheckDomainForOIDCResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_o_i_d_c_providers(self, request: public_dot_auth__pb2.ListOIDCProvidersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ListOIDCProvidersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOIDCProvidersRequest, output=public_dot_auth__pb2.ListOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_o_i_d_c_provider(self, request: public_dot_auth__pb2.CreateOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateOIDCProviderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOIDCProviderRequest, output=public_dot_auth__pb2.CreateOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_o_i_d_c_provider(self, request: public_dot_auth__pb2.UpdateOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOIDCProviderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOIDCProviderRequest, output=public_dot_auth__pb2.UpdateOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_o_i_d_c_provider(self, request: public_dot_auth__pb2.DeleteOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.DeleteOIDCProviderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.DeleteOIDCProviderRequest, output=public_dot_auth__pb2.DeleteOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def add_org_o_i_d_c_provider(self, request: public_dot_auth__pb2.AddOrgOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.AddOrgOIDCProviderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AddOrgOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.AddOrgOIDCProviderRequest, output=public_dot_auth__pb2.AddOrgOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_org_o_i_d_c_provider(self, request: public_dot_auth__pb2.RemoveOrgOIDCProviderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.RemoveOrgOIDCProviderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveOrgOIDCProvider', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RemoveOrgOIDCProviderRequest, output=public_dot_auth__pb2.RemoveOrgOIDCProviderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_org_o_i_d_c_providers(self, request: public_dot_auth__pb2.UpdateOrgOIDCProvidersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOrgOIDCProvidersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgOIDCProvidersRequest, output=public_dot_auth__pb2.UpdateOrgOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_org_o_i_d_c_providers(self, request: public_dot_auth__pb2.GetOrgOIDCProvidersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetOrgOIDCProvidersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOrgOIDCProviders', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetOrgOIDCProvidersRequest, output=public_dot_auth__pb2.GetOrgOIDCProvidersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_google_o_auth_url(self, request: public_dot_auth__pb2.GetGoogleOAuthUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetGoogleOAuthUrlResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetGoogleOAuthUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetGoogleOAuthUrlRequest, output=public_dot_auth__pb2.GetGoogleOAuthUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def handle_google_o_auth_callback(self, request: public_dot_auth__pb2.HandleGoogleOAuthCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.HandleGoogleOAuthCallbackResponse: + return self.execute_unary(request=request, method=MethodInfo(name='HandleGoogleOAuthCallback', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.HandleGoogleOAuthCallbackRequest, output=public_dot_auth__pb2.HandleGoogleOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_org_theme(self, request: public_dot_auth__pb2.UpdateOrgThemeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOrgThemeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgTheme', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgThemeRequest, output=public_dot_auth__pb2.UpdateOrgThemeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_org_tool_restrictions(self, request: public_dot_auth__pb2.UpdateOrgToolRestrictionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOrgToolRestrictionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgToolRestrictions', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgToolRestrictionsRequest, output=public_dot_auth__pb2.UpdateOrgToolRestrictionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_logo_upload_presign_url(self, request: public_dot_auth__pb2.CreateLogoUploadPresignUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateLogoUploadPresignUrlResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateLogoUploadPresignUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateLogoUploadPresignUrlRequest, output=public_dot_auth__pb2.CreateLogoUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def process_logo_upload_presign_url(self, request: public_dot_auth__pb2.ProcessLogoUploadPresignUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.ProcessLogoUploadPresignUrlResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ProcessLogoUploadPresignUrl', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ProcessLogoUploadPresignUrlRequest, output=public_dot_auth__pb2.ProcessLogoUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def upload_member_image(self, request: public_dot_auth__pb2.UploadMemberImageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UploadMemberImageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UploadMemberImage', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UploadMemberImageRequest, output=public_dot_auth__pb2.UploadMemberImageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def generate_magic_link_for_user(self, request: public_dot_auth__pb2.GenerateMagicLinkForUserRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GenerateMagicLinkForUserResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GenerateMagicLinkForUser', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GenerateMagicLinkForUserRequest, output=public_dot_auth__pb2.GenerateMagicLinkForUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_console_auth_token(self, request: public_dot_auth__pb2.GetConsoleAuthTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.GetConsoleAuthTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConsoleAuthToken', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.GetConsoleAuthTokenRequest, output=public_dot_auth__pb2.GetConsoleAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_organization(self, request: public_dot_auth__pb2.CreateOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateOrganizationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOrganizationRequest, output=public_dot_auth__pb2.CreateOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_sibling_organization(self, request: public_dot_auth__pb2.CreateSiblingOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateSiblingOrganizationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateSiblingOrganization', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateSiblingOrganizationRequest, output=public_dot_auth__pb2.CreateSiblingOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def verify_api_key(self, request: public_dot_auth__pb2.VerifyApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.VerifyApiKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='VerifyApiKey', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.VerifyApiKeyRequest, output=public_dot_auth__pb2.VerifyApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_org_o_auth_clients(self, request: public_dot_auth__pb2.ListOrgOAuthClientsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_auth__pb2.ListOrgOAuthClientsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOrgOAuthClients', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOrgOAuthClientsRequest, output=public_dot_auth__pb2.ListOrgOAuthClientsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_org_o_auth_client(self, request: public_dot_auth__pb2.CreateOrgOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.CreateOrgOAuthClientResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.CreateOrgOAuthClientRequest, output=public_dot_auth__pb2.CreateOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_org_o_auth_client(self, request: public_dot_auth__pb2.UpdateOrgOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.UpdateOrgOAuthClientResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.UpdateOrgOAuthClientRequest, output=public_dot_auth__pb2.UpdateOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def rotate_org_o_auth_client_secret(self, request: public_dot_auth__pb2.RotateOrgOAuthClientSecretRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.RotateOrgOAuthClientSecretResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RotateOrgOAuthClientSecret', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RotateOrgOAuthClientSecretRequest, output=public_dot_auth__pb2.RotateOrgOAuthClientSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def revoke_org_o_auth_client(self, request: public_dot_auth__pb2.RevokeOrgOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.RevokeOrgOAuthClientResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevokeOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RevokeOrgOAuthClientRequest, output=public_dot_auth__pb2.RevokeOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_org_o_auth_client(self, request: public_dot_auth__pb2.DeleteOrgOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.DeleteOrgOAuthClientResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOrgOAuthClient', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.DeleteOrgOAuthClientRequest, output=public_dot_auth__pb2.DeleteOrgOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_my_authorized_apps(self, request: public_dot_auth__pb2.ListMyAuthorizedAppsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_auth__pb2.ListMyAuthorizedAppsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListMyAuthorizedApps', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListMyAuthorizedAppsRequest, output=public_dot_auth__pb2.ListMyAuthorizedAppsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def revoke_my_authorized_app(self, request: public_dot_auth__pb2.RevokeMyAuthorizedAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_auth__pb2.RevokeMyAuthorizedAppResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevokeMyAuthorizedApp', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.RevokeMyAuthorizedAppRequest, output=public_dot_auth__pb2.RevokeMyAuthorizedAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_o_auth_scopes(self, request: public_dot_auth__pb2.ListOAuthScopesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_auth__pb2.ListOAuthScopesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOAuthScopes', service_name='textql.rpc.public.auth.PublicAuthService', input=public_dot_auth__pb2.ListOAuthScopesRequest, output=public_dot_auth__pb2.ListOAuthScopesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/auth_pb2.py b/src/textql_sdk/_connect/public/auth_pb2.py new file mode 100644 index 0000000..fffc033 --- /dev/null +++ b/src/textql_sdk/_connect/public/auth_pb2.py @@ -0,0 +1,228 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/auth.proto') +_sym_db = _symbol_database.Default() +from .. import auth_pb2 as auth__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from .. import paradigm_params_pb2 as paradigm__params__pb2 +from ..public import chat_pb2 as public_dot_chat__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11public/auth.proto\x12\x16textql.rpc.public.auth\x1a\nauth.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15paradigm_params.proto\x1a\x11public/chat.proto\x1a\x14public/options.proto"\xe7\x03\n\x1dUpdateDefaultConnectorRequest\x12#\n\rconnector_ids\x18\x01 \x03(\x05R\x0cconnectorIds\x12X\n\x0fparadigm_params\x18\x02 \x01(\x0b2*.textql.rpc.paradigm_params.ParadigmParamsH\x00R\x0eparadigmParams\x88\x01\x01\x122\n\x15clear_paradigm_params\x18\x03 \x01(\x08R\x13clearParadigmParams\x12Y\n\x13default_methodology\x18\x04 \x01(\x0e2#.textql.rpc.public.chat.MethodologyH\x01R\x12defaultMethodology\x88\x01\x01\x12/\n\x11default_llm_model\x18\x05 \x01(\x05H\x02R\x0fdefaultLlmModel\x88\x01\x01\x12/\n\x11default_fast_mode\x18\x06 \x01(\x08H\x03R\x0fdefaultFastMode\x88\x01\x01B\x12\n\x10_paradigm_paramsB\x16\n\x14_default_methodologyB\x14\n\x12_default_llm_modelB\x14\n\x12_default_fast_mode" \n\x1eUpdateDefaultConnectorResponse"\xc0\x03\n\x16LoginEmailStartRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email\x123\n\x13custom_callback_url\x18\x02 \x01(\tH\x00R\x11customCallbackUrl\x88\x01\x01\x12*\n\x0ecustom_subject\x18\x03 \x01(\tH\x01R\rcustomSubject\x88\x01\x01\x12-\n\x10custom_body_html\x18\x04 \x01(\tH\x02R\x0ecustomBodyHtml\x88\x01\x01\x121\n\x12custom_sender_name\x18\x05 \x01(\tH\x03R\x10customSenderName\x88\x01\x01\x12*\n\x0eautojoin_token\x18\x06 \x01(\tH\x04R\rautojoinToken\x88\x01\x01\x12&\n\x0coauth_resume\x18\x07 \x01(\tH\x05R\x0boauthResume\x88\x01\x01B\x16\n\x14_custom_callback_urlB\x11\n\x0f_custom_subjectB\x13\n\x11_custom_body_htmlB\x15\n\x13_custom_sender_nameB\x11\n\x0f_autojoin_tokenB\x0f\n\r_oauth_resume"\x19\n\x17LoginEmailStartResponse"Q\n ValidateIntermediaryTokenRequest\x12-\n\x12intermediary_token\x18\x01 \x01(\tR\x11intermediaryToken"\x89\x01\n!ValidateIntermediaryTokenResponse\x12C\n\rorganizations\x18\x01 \x03(\x0b2\x1d.textql.rpc.auth.OrganizationR\rorganizations\x12\x1f\n\x0bprovider_id\x18\x02 \x01(\tR\nproviderId"S\n\x1cValidateLongTermTokenRequest\x123\n\x16long_term_access_token\x18\x01 \x01(\tR\x13longTermAccessToken"\x1f\n\x1dValidateLongTermTokenResponse"z\n ExchangeIntermediaryTokenRequest\x12-\n\x12intermediary_token\x18\x01 \x01(\tR\x11intermediaryToken\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"q\n\x15GetOIDCAuthUrlRequest\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId\x12&\n\x0coauth_resume\x18\x02 \x01(\tH\x00R\x0boauthResume\x88\x01\x01B\x0f\n\r_oauth_resume"3\n\x16GetOIDCAuthUrlResponse\x12\x19\n\x08auth_url\x18\x01 \x01(\tR\x07authUrl"E\n\x19HandleOIDCCallbackRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state"\xd5\x01\n\x1aHandleOIDCCallbackResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12-\n\x12intermediary_token\x18\x02 \x01(\tR\x11intermediaryToken\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error\x12\x1f\n\x0bprovider_id\x18\x04 \x01(\tR\nproviderId\x12&\n\x0coauth_resume\x18\x05 \x01(\tH\x00R\x0boauthResume\x88\x01\x01B\x0f\n\r_oauth_resume"\x0f\n\rLogoutRequest"*\n\x0eLogoutResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xbb\x01\n\x1cCreateSSOOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04icon\x18\x02 \x01(\tR\x04icon\x12\x1f\n\x0boidc_issuer\x18\x03 \x01(\tR\noidcIssuer\x12$\n\x0eoidc_client_id\x18\x04 \x01(\tR\x0coidcClientId\x12,\n\x12oidc_client_secret\x18\x05 \x01(\tR\x10oidcClientSecret"\x92\x01\n\x1dCreateSSOOrganizationResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12A\n\x0corganization\x18\x02 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error"\x1a\n\x18ListOrganizationsRequest"`\n\x19ListOrganizationsResponse\x12C\n\rorganizations\x18\x01 \x03(\x0b2\x1d.textql.rpc.auth.OrganizationR\rorganizations"\x12\n\x10GetMemberRequest"D\n\x11GetMemberResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member"A\n\x16ExchangeSessionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"f\n\x17ExchangeSessionResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member\x12\x1a\n\x08warnings\x18\x02 \x03(\tR\x08warnings"\x18\n\x16GetOrganizationRequest"\\\n\x17GetOrganizationResponse\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"O\n\x19GetMemberInOrgByIdRequest\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId"M\n\x1aGetMemberInOrgByIdResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member"?\n\x14GetOIDCConfigRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"L\n\x15GetOIDCConfigResponse\x123\n\x06config\x18\x01 \x01(\x0b2\x1b.textql.rpc.auth.OIDCConfigR\x06config"L\n\x15SaveOIDCConfigRequest\x123\n\x06config\x18\x01 \x01(\x0b2\x1b.textql.rpc.auth.OIDCConfigR\x06config"L\n\x16SaveOIDCConfigResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message">\n\x19CheckDomainForOIDCRequest\x12!\n\x0cemail_domain\x18\x01 \x01(\tR\x0bemailDomain"\x92\x01\n\x10OIDCProviderInfo\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12\x1d\n\nissuer_url\x18\x03 \x01(\tR\tissuerUrl\x12\x1b\n\torg_count\x18\x04 \x01(\x05R\x08orgCount"\x7f\n\x1aCheckDomainForOIDCResponse\x12\x19\n\x08use_oidc\x18\x01 \x01(\x08R\x07useOidc\x12F\n\tproviders\x18\x02 \x03(\x0b2(.textql.rpc.public.auth.OIDCProviderInfoR\tproviders"S\n\x18GetGoogleOAuthUrlRequest\x12&\n\x0coauth_resume\x18\x01 \x01(\tH\x00R\x0boauthResume\x88\x01\x01B\x0f\n\r_oauth_resume"6\n\x19GetGoogleOAuthUrlResponse\x12\x19\n\x08auth_url\x18\x01 \x01(\tR\x07authUrl"L\n HandleGoogleOAuthCallbackRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state"\xbb\x01\n!HandleGoogleOAuthCallbackResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12-\n\x12intermediary_token\x18\x02 \x01(\tR\x11intermediaryToken\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error\x12&\n\x0coauth_resume\x18\x04 \x01(\tH\x00R\x0boauthResume\x88\x01\x01B\x0f\n\r_oauth_resume"\\\n\x15UpdateOrgThemeRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12,\n\x05theme\x18\x02 \x01(\x0b2\x16.textql.rpc.auth.ThemeR\x05theme"[\n\x16UpdateOrgThemeResponse\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"\x92\x01\n UpdateOrgToolRestrictionsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12W\n\x11tool_restrictions\x18\x02 \x01(\x0b2*.textql.rpc.paradigm_params.ParadigmParamsR\x10toolRestrictions"f\n!UpdateOrgToolRestrictionsResponse\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"W\n!CreateLogoUploadPresignUrlRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tfile_name\x18\x02 \x01(\tR\x08fileName"b\n"CreateLogoUploadPresignUrlResponse\x12\x1b\n\tupload_id\x18\x01 \x01(\tR\x08uploadId\x12\x1f\n\x0bpresign_url\x18\x02 \x01(\tR\npresignUrl"\xa3\x01\n"ProcessLogoUploadPresignUrlRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tupload_id\x18\x02 \x01(\tR\x08uploadId\x12!\n\x0cupdate_theme\x18\x03 \x01(\x08R\x0bupdateTheme\x12&\n\x0fupdate_org_logo\x18\x04 \x01(\x08R\rupdateOrgLogo"\x83\x01\n#ProcessLogoUploadPresignUrlResponse\x12\x19\n\x08logo_url\x18\x01 \x01(\tR\x07logoUrl\x12A\n\x0corganization\x18\x02 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"s\n\x18UploadMemberImageRequest\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x1d\n\nimage_data\x18\x02 \x01(\x0cR\timageData\x12\x1b\n\tfile_name\x18\x03 \x01(\tR\x08fileName"8\n\x19UploadMemberImageResponse\x12\x1b\n\timage_url\x18\x01 \x01(\tR\x08imageUrl"7\n\x1fGenerateMagicLinkForUserRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"A\n GenerateMagicLinkForUserResponse\x12\x1d\n\nmagic_link\x18\x01 \x01(\tR\tmagicLink"=\n\x1aGetConsoleAuthTokenRequest\x12\x1f\n\x0bdebug_level\x18\x01 \x01(\x05R\ndebugLevel"m\n\x1bGetConsoleAuthTokenResponse\x12-\n\x12intermediary_token\x18\x01 \x01(\tR\x11intermediaryToken\x12\x1f\n\x0bconsole_url\x18\x02 \x01(\tR\nconsoleUrl"\xbe\x03\n\x0cOIDCProvider\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12\x1d\n\nissuer_url\x18\x03 \x01(\tR\tissuerUrl\x12\x1b\n\tclient_id\x18\x04 \x01(\tR\x08clientId\x12#\n\rclient_secret\x18\x05 \x01(\tR\x0cclientSecret\x12\x16\n\x06scopes\x18\x06 \x03(\tR\x06scopes\x12#\n\rprovider_type\x18\x07 \x01(\tR\x0cproviderType\x12/\n\x11attribute_mapping\x18\x08 \x01(\tB\x02\x18\x01R\x10attributeMapping\x129\n\ncreated_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12%\n\x0eenv_configured\x18\x0b \x01(\x08R\renvConfigured"u\n\x14OIDCProviderWithOrgs\x12@\n\x08provider\x18\x01 \x01(\x0b2$.textql.rpc.public.auth.OIDCProviderR\x08provider\x12\x1b\n\torg_count\x18\x02 \x01(\x05R\x08orgCount"\x1a\n\x18ListOIDCProvidersRequest"g\n\x19ListOIDCProvidersResponse\x12J\n\tproviders\x18\x01 \x03(\x0b2,.textql.rpc.public.auth.OIDCProviderWithOrgsR\tproviders"\xa8\x02\n\x19CreateOIDCProviderRequest\x12!\n\x0cdisplay_name\x18\x01 \x01(\tR\x0bdisplayName\x12\x1d\n\nissuer_url\x18\x02 \x01(\tR\tissuerUrl\x12\x1b\n\tclient_id\x18\x03 \x01(\tR\x08clientId\x12#\n\rclient_secret\x18\x04 \x01(\tR\x0cclientSecret\x12\x16\n\x06scopes\x18\x05 \x03(\tR\x06scopes\x12#\n\rprovider_type\x18\x06 \x01(\tR\x0cproviderType\x124\n\x11attribute_mapping\x18\x07 \x01(\tB\x02\x18\x01H\x00R\x10attributeMapping\x88\x01\x01B\x14\n\x12_attribute_mapping"\xe3\x01\n\x1aCreateOIDCProviderResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x1f\n\x0bprovider_id\x18\x02 \x01(\tR\nproviderId\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error\x12!\n\x0cis_duplicate\x18\x04 \x01(\x08R\x0bisDuplicate\x12Q\n\x11existing_provider\x18\x05 \x01(\x0b2$.textql.rpc.public.auth.OIDCProviderR\x10existingProvider"\xc9\x02\n\x19UpdateOIDCProviderRequest\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12\x1d\n\nissuer_url\x18\x03 \x01(\tR\tissuerUrl\x12\x1b\n\tclient_id\x18\x04 \x01(\tR\x08clientId\x12#\n\rclient_secret\x18\x05 \x01(\tR\x0cclientSecret\x12\x16\n\x06scopes\x18\x06 \x03(\tR\x06scopes\x12#\n\rprovider_type\x18\x07 \x01(\tR\x0cproviderType\x124\n\x11attribute_mapping\x18\x08 \x01(\tB\x02\x18\x01H\x00R\x10attributeMapping\x88\x01\x01B\x14\n\x12_attribute_mapping"L\n\x1aUpdateOIDCProviderResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"<\n\x19DeleteOIDCProviderRequest\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId"L\n\x1aDeleteOIDCProviderResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"S\n\x19AddOrgOIDCProviderRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0bprovider_id\x18\x02 \x01(\tR\nproviderId"L\n\x1aAddOrgOIDCProviderResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"V\n\x1cRemoveOrgOIDCProviderRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0bprovider_id\x18\x02 \x01(\tR\nproviderId"O\n\x1dRemoveOrgOIDCProviderResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"Y\n\x1dUpdateOrgOIDCProvidersRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12!\n\x0cprovider_ids\x18\x02 \x03(\tR\x0bproviderIds"P\n\x1eUpdateOrgOIDCProvidersResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"3\n\x1aGetOrgOIDCProvidersRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"a\n\x1bGetOrgOIDCProvidersResponse\x12B\n\tproviders\x18\x01 \x03(\x0b2$.textql.rpc.public.auth.OIDCProviderR\tproviders"w\n\x19CreateOrganizationRequest\x12-\n\x12intermediary_token\x18\x01 \x01(\tR\x11intermediaryToken\x12+\n\x11organization_name\x18\x02 \x01(\tR\x10organizationName"\x8f\x01\n\x1aCreateOrganizationResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error\x12A\n\x0corganization\x18\x03 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"h\n CreateSiblingOrganizationRequest\x12"\n\rsource_org_id\x18\x01 \x01(\tR\x0bsourceOrgId\x12 \n\x0cnew_org_name\x18\x02 \x01(\tR\nnewOrgName"\xbb\x01\n!CreateSiblingOrganizationResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error\x12\x1c\n\nnew_org_id\x18\x03 \x01(\tR\x08newOrgId\x12H\n\x10new_organization\x18\x04 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0fnewOrganization"\xc5\x01\n\x13VerifyApiKeyRequest\x12$\n\x0eapi_key_base64\x18\x01 \x01(\tR\x0capiKeyBase64\x120\n\x11required_resource\x18\x02 \x01(\tH\x00R\x10requiredResource\x88\x01\x01\x12,\n\x0frequired_action\x18\x03 \x01(\tH\x01R\x0erequiredAction\x88\x01\x01B\x14\n\x12_required_resourceB\x12\n\x10_required_action"\xa2\x01\n\x14VerifyApiKeyResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId\x12 \n\tclient_id\x18\x04 \x01(\tH\x00R\x08clientId\x88\x01\x01B\x0c\n\n_client_id"\x88\x03\n\x0eOrgOAuthClient\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12\x1f\n\x0bclient_name\x18\x02 \x01(\tR\nclientName\x129\n\ncreated_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12#\n\ractive_tokens\x18\x04 \x01(\x05R\x0cactiveTokens\x12)\n\x10distinct_members\x18\x05 \x01(\x05R\x0fdistinctMembers\x12#\n\rredirect_uris\x18\x06 \x03(\tR\x0credirectUris\x12\x14\n\x05scope\x18\x07 \x01(\tR\x05scope\x12#\n\radmin_managed\x18\x08 \x01(\x08R\x0cadminManaged\x124\n\x14created_by_member_id\x18\t \x01(\tH\x00R\x11createdByMemberId\x88\x01\x01B\x17\n\x15_created_by_member_id"\xf9\x01\n\rAuthorizedApp\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12\x1f\n\x0bclient_name\x18\x02 \x01(\tR\nclientName\x12\x14\n\x05scope\x18\x03 \x01(\tR\x05scope\x12J\n\x13first_authorized_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x11firstAuthorizedAt\x12H\n\x12last_authorized_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10lastAuthorizedAt"\x1c\n\x1aListOrgOAuthClientsRequest"_\n\x1bListOrgOAuthClientsResponse\x12@\n\x07clients\x18\x01 \x03(\x0b2&.textql.rpc.public.auth.OrgOAuthClientR\x07clients"{\n\x1bCreateOrgOAuthClientRequest\x12\x1f\n\x0bclient_name\x18\x01 \x01(\tR\nclientName\x12#\n\rredirect_uris\x18\x02 \x03(\tR\x0credirectUris\x12\x16\n\x06scopes\x18\x03 \x03(\tR\x06scopes"\xa0\x01\n\x1cCreateOrgOAuthClientResponse\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12#\n\rclient_secret\x18\x02 \x01(\tR\x0cclientSecret\x12>\n\x06client\x18\x03 \x01(\x0b2&.textql.rpc.public.auth.OrgOAuthClientR\x06client"\x98\x01\n\x1bUpdateOrgOAuthClientRequest\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12\x1f\n\x0bclient_name\x18\x02 \x01(\tR\nclientName\x12#\n\rredirect_uris\x18\x03 \x03(\tR\x0credirectUris\x12\x16\n\x06scopes\x18\x04 \x03(\tR\x06scopes"^\n\x1cUpdateOrgOAuthClientResponse\x12>\n\x06client\x18\x01 \x01(\x0b2&.textql.rpc.public.auth.OrgOAuthClientR\x06client"@\n!RotateOrgOAuthClientSecretRequest\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId"I\n"RotateOrgOAuthClientSecretResponse\x12#\n\rclient_secret\x18\x01 \x01(\tR\x0cclientSecret":\n\x1bRevokeOrgOAuthClientRequest\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId"\x1e\n\x1cRevokeOrgOAuthClientResponse":\n\x1bDeleteOrgOAuthClientRequest\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId"\x1e\n\x1cDeleteOrgOAuthClientResponse"\x1d\n\x1bListMyAuthorizedAppsRequest"Y\n\x1cListMyAuthorizedAppsResponse\x129\n\x04apps\x18\x01 \x03(\x0b2%.textql.rpc.public.auth.AuthorizedAppR\x04apps";\n\x1cRevokeMyAuthorizedAppRequest\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId"\x1f\n\x1dRevokeMyAuthorizedAppResponse"^\n\x0eOAuthScopeInfo\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x1a\n\x08category\x18\x03 \x01(\tR\x08category"\x18\n\x16ListOAuthScopesRequest"Y\n\x17ListOAuthScopesResponse\x12>\n\x06scopes\x18\x01 \x03(\x0b2&.textql.rpc.public.auth.OAuthScopeInfoR\x06scopes2\x95.\n\x11PublicAuthService\x12r\n\x0fLoginEmailStart\x12..textql.rpc.public.auth.LoginEmailStartRequest\x1a/.textql.rpc.public.auth.LoginEmailStartResponse\x12\x90\x01\n\x19ValidateIntermediaryToken\x128.textql.rpc.public.auth.ValidateIntermediaryTokenRequest\x1a9.textql.rpc.public.auth.ValidateIntermediaryTokenResponse\x12\x84\x01\n\x15ValidateLongTermToken\x124.textql.rpc.public.auth.ValidateLongTermTokenRequest\x1a5.textql.rpc.public.auth.ValidateLongTermTokenResponse\x12\x83\x01\n\x19ExchangeIntermediaryToken\x128.textql.rpc.public.auth.ExchangeIntermediaryTokenRequest\x1a,.textql.rpc.auth.LongTermAccessTokenResponse\x12W\n\x06Logout\x12%.textql.rpc.public.auth.LogoutRequest\x1a&.textql.rpc.public.auth.LogoutResponse\x12o\n\x0eGetOIDCAuthUrl\x12-.textql.rpc.public.auth.GetOIDCAuthUrlRequest\x1a..textql.rpc.public.auth.GetOIDCAuthUrlResponse\x12{\n\x12HandleOIDCCallback\x121.textql.rpc.public.auth.HandleOIDCCallbackRequest\x1a2.textql.rpc.public.auth.HandleOIDCCallbackResponse\x12\x84\x01\n\x15CreateSSOOrganization\x124.textql.rpc.public.auth.CreateSSOOrganizationRequest\x1a5.textql.rpc.public.auth.CreateSSOOrganizationResponse\x12x\n\x11ListOrganizations\x120.textql.rpc.public.auth.ListOrganizationsRequest\x1a1.textql.rpc.public.auth.ListOrganizationsResponse\x12`\n\tGetMember\x12(.textql.rpc.public.auth.GetMemberRequest\x1a).textql.rpc.public.auth.GetMemberResponse\x12r\n\x0fGetOrganization\x12..textql.rpc.public.auth.GetOrganizationRequest\x1a/.textql.rpc.public.auth.GetOrganizationResponse\x12{\n\x12GetMemberInOrgById\x121.textql.rpc.public.auth.GetMemberInOrgByIdRequest\x1a2.textql.rpc.public.auth.GetMemberInOrgByIdResponse\x12r\n\x0fExchangeSession\x12..textql.rpc.public.auth.ExchangeSessionRequest\x1a/.textql.rpc.public.auth.ExchangeSessionResponse\x12\x87\x01\n\x16UpdateDefaultConnector\x125.textql.rpc.public.auth.UpdateDefaultConnectorRequest\x1a6.textql.rpc.public.auth.UpdateDefaultConnectorResponse\x12l\n\rGetOIDCConfig\x12,.textql.rpc.public.auth.GetOIDCConfigRequest\x1a-.textql.rpc.public.auth.GetOIDCConfigResponse\x12o\n\x0eSaveOIDCConfig\x12-.textql.rpc.public.auth.SaveOIDCConfigRequest\x1a..textql.rpc.public.auth.SaveOIDCConfigResponse\x12{\n\x12CheckDomainForOIDC\x121.textql.rpc.public.auth.CheckDomainForOIDCRequest\x1a2.textql.rpc.public.auth.CheckDomainForOIDCResponse\x12x\n\x11ListOIDCProviders\x120.textql.rpc.public.auth.ListOIDCProvidersRequest\x1a1.textql.rpc.public.auth.ListOIDCProvidersResponse\x12{\n\x12CreateOIDCProvider\x121.textql.rpc.public.auth.CreateOIDCProviderRequest\x1a2.textql.rpc.public.auth.CreateOIDCProviderResponse\x12{\n\x12UpdateOIDCProvider\x121.textql.rpc.public.auth.UpdateOIDCProviderRequest\x1a2.textql.rpc.public.auth.UpdateOIDCProviderResponse\x12{\n\x12DeleteOIDCProvider\x121.textql.rpc.public.auth.DeleteOIDCProviderRequest\x1a2.textql.rpc.public.auth.DeleteOIDCProviderResponse\x12{\n\x12AddOrgOIDCProvider\x121.textql.rpc.public.auth.AddOrgOIDCProviderRequest\x1a2.textql.rpc.public.auth.AddOrgOIDCProviderResponse\x12\x84\x01\n\x15RemoveOrgOIDCProvider\x124.textql.rpc.public.auth.RemoveOrgOIDCProviderRequest\x1a5.textql.rpc.public.auth.RemoveOrgOIDCProviderResponse\x12\x87\x01\n\x16UpdateOrgOIDCProviders\x125.textql.rpc.public.auth.UpdateOrgOIDCProvidersRequest\x1a6.textql.rpc.public.auth.UpdateOrgOIDCProvidersResponse\x12~\n\x13GetOrgOIDCProviders\x122.textql.rpc.public.auth.GetOrgOIDCProvidersRequest\x1a3.textql.rpc.public.auth.GetOrgOIDCProvidersResponse\x12x\n\x11GetGoogleOAuthUrl\x120.textql.rpc.public.auth.GetGoogleOAuthUrlRequest\x1a1.textql.rpc.public.auth.GetGoogleOAuthUrlResponse\x12\x90\x01\n\x19HandleGoogleOAuthCallback\x128.textql.rpc.public.auth.HandleGoogleOAuthCallbackRequest\x1a9.textql.rpc.public.auth.HandleGoogleOAuthCallbackResponse\x12o\n\x0eUpdateOrgTheme\x12-.textql.rpc.public.auth.UpdateOrgThemeRequest\x1a..textql.rpc.public.auth.UpdateOrgThemeResponse\x12\x90\x01\n\x19UpdateOrgToolRestrictions\x128.textql.rpc.public.auth.UpdateOrgToolRestrictionsRequest\x1a9.textql.rpc.public.auth.UpdateOrgToolRestrictionsResponse\x12\x93\x01\n\x1aCreateLogoUploadPresignUrl\x129.textql.rpc.public.auth.CreateLogoUploadPresignUrlRequest\x1a:.textql.rpc.public.auth.CreateLogoUploadPresignUrlResponse\x12\x96\x01\n\x1bProcessLogoUploadPresignUrl\x12:.textql.rpc.public.auth.ProcessLogoUploadPresignUrlRequest\x1a;.textql.rpc.public.auth.ProcessLogoUploadPresignUrlResponse\x12x\n\x11UploadMemberImage\x120.textql.rpc.public.auth.UploadMemberImageRequest\x1a1.textql.rpc.public.auth.UploadMemberImageResponse\x12\x8d\x01\n\x18GenerateMagicLinkForUser\x127.textql.rpc.public.auth.GenerateMagicLinkForUserRequest\x1a8.textql.rpc.public.auth.GenerateMagicLinkForUserResponse\x12~\n\x13GetConsoleAuthToken\x122.textql.rpc.public.auth.GetConsoleAuthTokenRequest\x1a3.textql.rpc.public.auth.GetConsoleAuthTokenResponse\x12{\n\x12CreateOrganization\x121.textql.rpc.public.auth.CreateOrganizationRequest\x1a2.textql.rpc.public.auth.CreateOrganizationResponse\x12\x90\x01\n\x19CreateSiblingOrganization\x128.textql.rpc.public.auth.CreateSiblingOrganizationRequest\x1a9.textql.rpc.public.auth.CreateSiblingOrganizationResponse\x12i\n\x0cVerifyApiKey\x12+.textql.rpc.public.auth.VerifyApiKeyRequest\x1a,.textql.rpc.public.auth.VerifyApiKeyResponse\x12\x83\x01\n\x13ListOrgOAuthClients\x122.textql.rpc.public.auth.ListOrgOAuthClientsRequest\x1a3.textql.rpc.public.auth.ListOrgOAuthClientsResponse"\x03\x90\x02\x01\x12\x81\x01\n\x14CreateOrgOAuthClient\x123.textql.rpc.public.auth.CreateOrgOAuthClientRequest\x1a4.textql.rpc.public.auth.CreateOrgOAuthClientResponse\x12\x81\x01\n\x14UpdateOrgOAuthClient\x123.textql.rpc.public.auth.UpdateOrgOAuthClientRequest\x1a4.textql.rpc.public.auth.UpdateOrgOAuthClientResponse\x12\x93\x01\n\x1aRotateOrgOAuthClientSecret\x129.textql.rpc.public.auth.RotateOrgOAuthClientSecretRequest\x1a:.textql.rpc.public.auth.RotateOrgOAuthClientSecretResponse\x12\x81\x01\n\x14RevokeOrgOAuthClient\x123.textql.rpc.public.auth.RevokeOrgOAuthClientRequest\x1a4.textql.rpc.public.auth.RevokeOrgOAuthClientResponse\x12\x81\x01\n\x14DeleteOrgOAuthClient\x123.textql.rpc.public.auth.DeleteOrgOAuthClientRequest\x1a4.textql.rpc.public.auth.DeleteOrgOAuthClientResponse\x12\x86\x01\n\x14ListMyAuthorizedApps\x123.textql.rpc.public.auth.ListMyAuthorizedAppsRequest\x1a4.textql.rpc.public.auth.ListMyAuthorizedAppsResponse"\x03\x90\x02\x01\x12\x84\x01\n\x15RevokeMyAuthorizedApp\x124.textql.rpc.public.auth.RevokeMyAuthorizedAppRequest\x1a5.textql.rpc.public.auth.RevokeMyAuthorizedAppResponse\x12w\n\x0fListOAuthScopes\x12..textql.rpc.public.auth.ListOAuthScopesRequest\x1a/.textql.rpc.public.auth.ListOAuthScopesResponse"\x03\x90\x02\x01B\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.auth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_OIDCPROVIDER'].fields_by_name['attribute_mapping']._loaded_options = None + _globals['_OIDCPROVIDER'].fields_by_name['attribute_mapping']._serialized_options = b'\x18\x01' + _globals['_CREATEOIDCPROVIDERREQUEST'].fields_by_name['attribute_mapping']._loaded_options = None + _globals['_CREATEOIDCPROVIDERREQUEST'].fields_by_name['attribute_mapping']._serialized_options = b'\x18\x01' + _globals['_UPDATEOIDCPROVIDERREQUEST'].fields_by_name['attribute_mapping']._loaded_options = None + _globals['_UPDATEOIDCPROVIDERREQUEST'].fields_by_name['attribute_mapping']._serialized_options = b'\x18\x01' + _globals['_PUBLICAUTHSERVICE'].methods_by_name['ListOrgOAuthClients']._loaded_options = None + _globals['_PUBLICAUTHSERVICE'].methods_by_name['ListOrgOAuthClients']._serialized_options = b'\x90\x02\x01' + _globals['_PUBLICAUTHSERVICE'].methods_by_name['ListMyAuthorizedApps']._loaded_options = None + _globals['_PUBLICAUTHSERVICE'].methods_by_name['ListMyAuthorizedApps']._serialized_options = b'\x90\x02\x01' + _globals['_PUBLICAUTHSERVICE'].methods_by_name['ListOAuthScopes']._loaded_options = None + _globals['_PUBLICAUTHSERVICE'].methods_by_name['ListOAuthScopes']._serialized_options = b'\x90\x02\x01' + _globals['_UPDATEDEFAULTCONNECTORREQUEST']._serialized_start = 155 + _globals['_UPDATEDEFAULTCONNECTORREQUEST']._serialized_end = 642 + _globals['_UPDATEDEFAULTCONNECTORRESPONSE']._serialized_start = 644 + _globals['_UPDATEDEFAULTCONNECTORRESPONSE']._serialized_end = 676 + _globals['_LOGINEMAILSTARTREQUEST']._serialized_start = 679 + _globals['_LOGINEMAILSTARTREQUEST']._serialized_end = 1127 + _globals['_LOGINEMAILSTARTRESPONSE']._serialized_start = 1129 + _globals['_LOGINEMAILSTARTRESPONSE']._serialized_end = 1154 + _globals['_VALIDATEINTERMEDIARYTOKENREQUEST']._serialized_start = 1156 + _globals['_VALIDATEINTERMEDIARYTOKENREQUEST']._serialized_end = 1237 + _globals['_VALIDATEINTERMEDIARYTOKENRESPONSE']._serialized_start = 1240 + _globals['_VALIDATEINTERMEDIARYTOKENRESPONSE']._serialized_end = 1377 + _globals['_VALIDATELONGTERMTOKENREQUEST']._serialized_start = 1379 + _globals['_VALIDATELONGTERMTOKENREQUEST']._serialized_end = 1462 + _globals['_VALIDATELONGTERMTOKENRESPONSE']._serialized_start = 1464 + _globals['_VALIDATELONGTERMTOKENRESPONSE']._serialized_end = 1495 + _globals['_EXCHANGEINTERMEDIARYTOKENREQUEST']._serialized_start = 1497 + _globals['_EXCHANGEINTERMEDIARYTOKENREQUEST']._serialized_end = 1619 + _globals['_GETOIDCAUTHURLREQUEST']._serialized_start = 1621 + _globals['_GETOIDCAUTHURLREQUEST']._serialized_end = 1734 + _globals['_GETOIDCAUTHURLRESPONSE']._serialized_start = 1736 + _globals['_GETOIDCAUTHURLRESPONSE']._serialized_end = 1787 + _globals['_HANDLEOIDCCALLBACKREQUEST']._serialized_start = 1789 + _globals['_HANDLEOIDCCALLBACKREQUEST']._serialized_end = 1858 + _globals['_HANDLEOIDCCALLBACKRESPONSE']._serialized_start = 1861 + _globals['_HANDLEOIDCCALLBACKRESPONSE']._serialized_end = 2074 + _globals['_LOGOUTREQUEST']._serialized_start = 2076 + _globals['_LOGOUTREQUEST']._serialized_end = 2091 + _globals['_LOGOUTRESPONSE']._serialized_start = 2093 + _globals['_LOGOUTRESPONSE']._serialized_end = 2135 + _globals['_CREATESSOORGANIZATIONREQUEST']._serialized_start = 2138 + _globals['_CREATESSOORGANIZATIONREQUEST']._serialized_end = 2325 + _globals['_CREATESSOORGANIZATIONRESPONSE']._serialized_start = 2328 + _globals['_CREATESSOORGANIZATIONRESPONSE']._serialized_end = 2474 + _globals['_LISTORGANIZATIONSREQUEST']._serialized_start = 2476 + _globals['_LISTORGANIZATIONSREQUEST']._serialized_end = 2502 + _globals['_LISTORGANIZATIONSRESPONSE']._serialized_start = 2504 + _globals['_LISTORGANIZATIONSRESPONSE']._serialized_end = 2600 + _globals['_GETMEMBERREQUEST']._serialized_start = 2602 + _globals['_GETMEMBERREQUEST']._serialized_end = 2620 + _globals['_GETMEMBERRESPONSE']._serialized_start = 2622 + _globals['_GETMEMBERRESPONSE']._serialized_end = 2690 + _globals['_EXCHANGESESSIONREQUEST']._serialized_start = 2692 + _globals['_EXCHANGESESSIONREQUEST']._serialized_end = 2757 + _globals['_EXCHANGESESSIONRESPONSE']._serialized_start = 2759 + _globals['_EXCHANGESESSIONRESPONSE']._serialized_end = 2861 + _globals['_GETORGANIZATIONREQUEST']._serialized_start = 2863 + _globals['_GETORGANIZATIONREQUEST']._serialized_end = 2887 + _globals['_GETORGANIZATIONRESPONSE']._serialized_start = 2889 + _globals['_GETORGANIZATIONRESPONSE']._serialized_end = 2981 + _globals['_GETMEMBERINORGBYIDREQUEST']._serialized_start = 2983 + _globals['_GETMEMBERINORGBYIDREQUEST']._serialized_end = 3062 + _globals['_GETMEMBERINORGBYIDRESPONSE']._serialized_start = 3064 + _globals['_GETMEMBERINORGBYIDRESPONSE']._serialized_end = 3141 + _globals['_GETOIDCCONFIGREQUEST']._serialized_start = 3143 + _globals['_GETOIDCCONFIGREQUEST']._serialized_end = 3206 + _globals['_GETOIDCCONFIGRESPONSE']._serialized_start = 3208 + _globals['_GETOIDCCONFIGRESPONSE']._serialized_end = 3284 + _globals['_SAVEOIDCCONFIGREQUEST']._serialized_start = 3286 + _globals['_SAVEOIDCCONFIGREQUEST']._serialized_end = 3362 + _globals['_SAVEOIDCCONFIGRESPONSE']._serialized_start = 3364 + _globals['_SAVEOIDCCONFIGRESPONSE']._serialized_end = 3440 + _globals['_CHECKDOMAINFOROIDCREQUEST']._serialized_start = 3442 + _globals['_CHECKDOMAINFOROIDCREQUEST']._serialized_end = 3504 + _globals['_OIDCPROVIDERINFO']._serialized_start = 3507 + _globals['_OIDCPROVIDERINFO']._serialized_end = 3653 + _globals['_CHECKDOMAINFOROIDCRESPONSE']._serialized_start = 3655 + _globals['_CHECKDOMAINFOROIDCRESPONSE']._serialized_end = 3782 + _globals['_GETGOOGLEOAUTHURLREQUEST']._serialized_start = 3784 + _globals['_GETGOOGLEOAUTHURLREQUEST']._serialized_end = 3867 + _globals['_GETGOOGLEOAUTHURLRESPONSE']._serialized_start = 3869 + _globals['_GETGOOGLEOAUTHURLRESPONSE']._serialized_end = 3923 + _globals['_HANDLEGOOGLEOAUTHCALLBACKREQUEST']._serialized_start = 3925 + _globals['_HANDLEGOOGLEOAUTHCALLBACKREQUEST']._serialized_end = 4001 + _globals['_HANDLEGOOGLEOAUTHCALLBACKRESPONSE']._serialized_start = 4004 + _globals['_HANDLEGOOGLEOAUTHCALLBACKRESPONSE']._serialized_end = 4191 + _globals['_UPDATEORGTHEMEREQUEST']._serialized_start = 4193 + _globals['_UPDATEORGTHEMEREQUEST']._serialized_end = 4285 + _globals['_UPDATEORGTHEMERESPONSE']._serialized_start = 4287 + _globals['_UPDATEORGTHEMERESPONSE']._serialized_end = 4378 + _globals['_UPDATEORGTOOLRESTRICTIONSREQUEST']._serialized_start = 4381 + _globals['_UPDATEORGTOOLRESTRICTIONSREQUEST']._serialized_end = 4527 + _globals['_UPDATEORGTOOLRESTRICTIONSRESPONSE']._serialized_start = 4529 + _globals['_UPDATEORGTOOLRESTRICTIONSRESPONSE']._serialized_end = 4631 + _globals['_CREATELOGOUPLOADPRESIGNURLREQUEST']._serialized_start = 4633 + _globals['_CREATELOGOUPLOADPRESIGNURLREQUEST']._serialized_end = 4720 + _globals['_CREATELOGOUPLOADPRESIGNURLRESPONSE']._serialized_start = 4722 + _globals['_CREATELOGOUPLOADPRESIGNURLRESPONSE']._serialized_end = 4820 + _globals['_PROCESSLOGOUPLOADPRESIGNURLREQUEST']._serialized_start = 4823 + _globals['_PROCESSLOGOUPLOADPRESIGNURLREQUEST']._serialized_end = 4986 + _globals['_PROCESSLOGOUPLOADPRESIGNURLRESPONSE']._serialized_start = 4989 + _globals['_PROCESSLOGOUPLOADPRESIGNURLRESPONSE']._serialized_end = 5120 + _globals['_UPLOADMEMBERIMAGEREQUEST']._serialized_start = 5122 + _globals['_UPLOADMEMBERIMAGEREQUEST']._serialized_end = 5237 + _globals['_UPLOADMEMBERIMAGERESPONSE']._serialized_start = 5239 + _globals['_UPLOADMEMBERIMAGERESPONSE']._serialized_end = 5295 + _globals['_GENERATEMAGICLINKFORUSERREQUEST']._serialized_start = 5297 + _globals['_GENERATEMAGICLINKFORUSERREQUEST']._serialized_end = 5352 + _globals['_GENERATEMAGICLINKFORUSERRESPONSE']._serialized_start = 5354 + _globals['_GENERATEMAGICLINKFORUSERRESPONSE']._serialized_end = 5419 + _globals['_GETCONSOLEAUTHTOKENREQUEST']._serialized_start = 5421 + _globals['_GETCONSOLEAUTHTOKENREQUEST']._serialized_end = 5482 + _globals['_GETCONSOLEAUTHTOKENRESPONSE']._serialized_start = 5484 + _globals['_GETCONSOLEAUTHTOKENRESPONSE']._serialized_end = 5593 + _globals['_OIDCPROVIDER']._serialized_start = 5596 + _globals['_OIDCPROVIDER']._serialized_end = 6042 + _globals['_OIDCPROVIDERWITHORGS']._serialized_start = 6044 + _globals['_OIDCPROVIDERWITHORGS']._serialized_end = 6161 + _globals['_LISTOIDCPROVIDERSREQUEST']._serialized_start = 6163 + _globals['_LISTOIDCPROVIDERSREQUEST']._serialized_end = 6189 + _globals['_LISTOIDCPROVIDERSRESPONSE']._serialized_start = 6191 + _globals['_LISTOIDCPROVIDERSRESPONSE']._serialized_end = 6294 + _globals['_CREATEOIDCPROVIDERREQUEST']._serialized_start = 6297 + _globals['_CREATEOIDCPROVIDERREQUEST']._serialized_end = 6593 + _globals['_CREATEOIDCPROVIDERRESPONSE']._serialized_start = 6596 + _globals['_CREATEOIDCPROVIDERRESPONSE']._serialized_end = 6823 + _globals['_UPDATEOIDCPROVIDERREQUEST']._serialized_start = 6826 + _globals['_UPDATEOIDCPROVIDERREQUEST']._serialized_end = 7155 + _globals['_UPDATEOIDCPROVIDERRESPONSE']._serialized_start = 7157 + _globals['_UPDATEOIDCPROVIDERRESPONSE']._serialized_end = 7233 + _globals['_DELETEOIDCPROVIDERREQUEST']._serialized_start = 7235 + _globals['_DELETEOIDCPROVIDERREQUEST']._serialized_end = 7295 + _globals['_DELETEOIDCPROVIDERRESPONSE']._serialized_start = 7297 + _globals['_DELETEOIDCPROVIDERRESPONSE']._serialized_end = 7373 + _globals['_ADDORGOIDCPROVIDERREQUEST']._serialized_start = 7375 + _globals['_ADDORGOIDCPROVIDERREQUEST']._serialized_end = 7458 + _globals['_ADDORGOIDCPROVIDERRESPONSE']._serialized_start = 7460 + _globals['_ADDORGOIDCPROVIDERRESPONSE']._serialized_end = 7536 + _globals['_REMOVEORGOIDCPROVIDERREQUEST']._serialized_start = 7538 + _globals['_REMOVEORGOIDCPROVIDERREQUEST']._serialized_end = 7624 + _globals['_REMOVEORGOIDCPROVIDERRESPONSE']._serialized_start = 7626 + _globals['_REMOVEORGOIDCPROVIDERRESPONSE']._serialized_end = 7705 + _globals['_UPDATEORGOIDCPROVIDERSREQUEST']._serialized_start = 7707 + _globals['_UPDATEORGOIDCPROVIDERSREQUEST']._serialized_end = 7796 + _globals['_UPDATEORGOIDCPROVIDERSRESPONSE']._serialized_start = 7798 + _globals['_UPDATEORGOIDCPROVIDERSRESPONSE']._serialized_end = 7878 + _globals['_GETORGOIDCPROVIDERSREQUEST']._serialized_start = 7880 + _globals['_GETORGOIDCPROVIDERSREQUEST']._serialized_end = 7931 + _globals['_GETORGOIDCPROVIDERSRESPONSE']._serialized_start = 7933 + _globals['_GETORGOIDCPROVIDERSRESPONSE']._serialized_end = 8030 + _globals['_CREATEORGANIZATIONREQUEST']._serialized_start = 8032 + _globals['_CREATEORGANIZATIONREQUEST']._serialized_end = 8151 + _globals['_CREATEORGANIZATIONRESPONSE']._serialized_start = 8154 + _globals['_CREATEORGANIZATIONRESPONSE']._serialized_end = 8297 + _globals['_CREATESIBLINGORGANIZATIONREQUEST']._serialized_start = 8299 + _globals['_CREATESIBLINGORGANIZATIONREQUEST']._serialized_end = 8403 + _globals['_CREATESIBLINGORGANIZATIONRESPONSE']._serialized_start = 8406 + _globals['_CREATESIBLINGORGANIZATIONRESPONSE']._serialized_end = 8593 + _globals['_VERIFYAPIKEYREQUEST']._serialized_start = 8596 + _globals['_VERIFYAPIKEYREQUEST']._serialized_end = 8793 + _globals['_VERIFYAPIKEYRESPONSE']._serialized_start = 8796 + _globals['_VERIFYAPIKEYRESPONSE']._serialized_end = 8958 + _globals['_ORGOAUTHCLIENT']._serialized_start = 8961 + _globals['_ORGOAUTHCLIENT']._serialized_end = 9353 + _globals['_AUTHORIZEDAPP']._serialized_start = 9356 + _globals['_AUTHORIZEDAPP']._serialized_end = 9605 + _globals['_LISTORGOAUTHCLIENTSREQUEST']._serialized_start = 9607 + _globals['_LISTORGOAUTHCLIENTSREQUEST']._serialized_end = 9635 + _globals['_LISTORGOAUTHCLIENTSRESPONSE']._serialized_start = 9637 + _globals['_LISTORGOAUTHCLIENTSRESPONSE']._serialized_end = 9732 + _globals['_CREATEORGOAUTHCLIENTREQUEST']._serialized_start = 9734 + _globals['_CREATEORGOAUTHCLIENTREQUEST']._serialized_end = 9857 + _globals['_CREATEORGOAUTHCLIENTRESPONSE']._serialized_start = 9860 + _globals['_CREATEORGOAUTHCLIENTRESPONSE']._serialized_end = 10020 + _globals['_UPDATEORGOAUTHCLIENTREQUEST']._serialized_start = 10023 + _globals['_UPDATEORGOAUTHCLIENTREQUEST']._serialized_end = 10175 + _globals['_UPDATEORGOAUTHCLIENTRESPONSE']._serialized_start = 10177 + _globals['_UPDATEORGOAUTHCLIENTRESPONSE']._serialized_end = 10271 + _globals['_ROTATEORGOAUTHCLIENTSECRETREQUEST']._serialized_start = 10273 + _globals['_ROTATEORGOAUTHCLIENTSECRETREQUEST']._serialized_end = 10337 + _globals['_ROTATEORGOAUTHCLIENTSECRETRESPONSE']._serialized_start = 10339 + _globals['_ROTATEORGOAUTHCLIENTSECRETRESPONSE']._serialized_end = 10412 + _globals['_REVOKEORGOAUTHCLIENTREQUEST']._serialized_start = 10414 + _globals['_REVOKEORGOAUTHCLIENTREQUEST']._serialized_end = 10472 + _globals['_REVOKEORGOAUTHCLIENTRESPONSE']._serialized_start = 10474 + _globals['_REVOKEORGOAUTHCLIENTRESPONSE']._serialized_end = 10504 + _globals['_DELETEORGOAUTHCLIENTREQUEST']._serialized_start = 10506 + _globals['_DELETEORGOAUTHCLIENTREQUEST']._serialized_end = 10564 + _globals['_DELETEORGOAUTHCLIENTRESPONSE']._serialized_start = 10566 + _globals['_DELETEORGOAUTHCLIENTRESPONSE']._serialized_end = 10596 + _globals['_LISTMYAUTHORIZEDAPPSREQUEST']._serialized_start = 10598 + _globals['_LISTMYAUTHORIZEDAPPSREQUEST']._serialized_end = 10627 + _globals['_LISTMYAUTHORIZEDAPPSRESPONSE']._serialized_start = 10629 + _globals['_LISTMYAUTHORIZEDAPPSRESPONSE']._serialized_end = 10718 + _globals['_REVOKEMYAUTHORIZEDAPPREQUEST']._serialized_start = 10720 + _globals['_REVOKEMYAUTHORIZEDAPPREQUEST']._serialized_end = 10779 + _globals['_REVOKEMYAUTHORIZEDAPPRESPONSE']._serialized_start = 10781 + _globals['_REVOKEMYAUTHORIZEDAPPRESPONSE']._serialized_end = 10812 + _globals['_OAUTHSCOPEINFO']._serialized_start = 10814 + _globals['_OAUTHSCOPEINFO']._serialized_end = 10908 + _globals['_LISTOAUTHSCOPESREQUEST']._serialized_start = 10910 + _globals['_LISTOAUTHSCOPESREQUEST']._serialized_end = 10934 + _globals['_LISTOAUTHSCOPESRESPONSE']._serialized_start = 10936 + _globals['_LISTOAUTHSCOPESRESPONSE']._serialized_end = 11025 + _globals['_PUBLICAUTHSERVICE']._serialized_start = 11028 + _globals['_PUBLICAUTHSERVICE']._serialized_end = 16937 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/auth_pb2.pyi b/src/textql_sdk/_connect/public/auth_pb2.pyi new file mode 100644 index 0000000..c36e5f3 --- /dev/null +++ b/src/textql_sdk/_connect/public/auth_pb2.pyi @@ -0,0 +1,992 @@ +import datetime +import auth_pb2 as _auth_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +import paradigm_params_pb2 as _paradigm_params_pb2 +from public import chat_pb2 as _chat_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class UpdateDefaultConnectorRequest(_message.Message): + __slots__ = ('connector_ids', 'paradigm_params', 'clear_paradigm_params', 'default_methodology', 'default_llm_model', 'default_fast_mode') + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + PARADIGM_PARAMS_FIELD_NUMBER: _ClassVar[int] + CLEAR_PARADIGM_PARAMS_FIELD_NUMBER: _ClassVar[int] + DEFAULT_METHODOLOGY_FIELD_NUMBER: _ClassVar[int] + DEFAULT_LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + DEFAULT_FAST_MODE_FIELD_NUMBER: _ClassVar[int] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + paradigm_params: _paradigm_params_pb2.ParadigmParams + clear_paradigm_params: bool + default_methodology: _chat_pb2.Methodology + default_llm_model: int + default_fast_mode: bool + + def __init__(self, connector_ids: _Optional[_Iterable[int]]=..., paradigm_params: _Optional[_Union[_paradigm_params_pb2.ParadigmParams, _Mapping]]=..., clear_paradigm_params: bool=..., default_methodology: _Optional[_Union[_chat_pb2.Methodology, str]]=..., default_llm_model: _Optional[int]=..., default_fast_mode: bool=...) -> None: + ... + +class UpdateDefaultConnectorResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class LoginEmailStartRequest(_message.Message): + __slots__ = ('email', 'custom_callback_url', 'custom_subject', 'custom_body_html', 'custom_sender_name', 'autojoin_token', 'oauth_resume') + EMAIL_FIELD_NUMBER: _ClassVar[int] + CUSTOM_CALLBACK_URL_FIELD_NUMBER: _ClassVar[int] + CUSTOM_SUBJECT_FIELD_NUMBER: _ClassVar[int] + CUSTOM_BODY_HTML_FIELD_NUMBER: _ClassVar[int] + CUSTOM_SENDER_NAME_FIELD_NUMBER: _ClassVar[int] + AUTOJOIN_TOKEN_FIELD_NUMBER: _ClassVar[int] + OAUTH_RESUME_FIELD_NUMBER: _ClassVar[int] + email: str + custom_callback_url: str + custom_subject: str + custom_body_html: str + custom_sender_name: str + autojoin_token: str + oauth_resume: str + + def __init__(self, email: _Optional[str]=..., custom_callback_url: _Optional[str]=..., custom_subject: _Optional[str]=..., custom_body_html: _Optional[str]=..., custom_sender_name: _Optional[str]=..., autojoin_token: _Optional[str]=..., oauth_resume: _Optional[str]=...) -> None: + ... + +class LoginEmailStartResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ValidateIntermediaryTokenRequest(_message.Message): + __slots__ = ('intermediary_token',) + INTERMEDIARY_TOKEN_FIELD_NUMBER: _ClassVar[int] + intermediary_token: str + + def __init__(self, intermediary_token: _Optional[str]=...) -> None: + ... + +class ValidateIntermediaryTokenResponse(_message.Message): + __slots__ = ('organizations', 'provider_id') + ORGANIZATIONS_FIELD_NUMBER: _ClassVar[int] + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + organizations: _containers.RepeatedCompositeFieldContainer[_auth_pb2.Organization] + provider_id: str + + def __init__(self, organizations: _Optional[_Iterable[_Union[_auth_pb2.Organization, _Mapping]]]=..., provider_id: _Optional[str]=...) -> None: + ... + +class ValidateLongTermTokenRequest(_message.Message): + __slots__ = ('long_term_access_token',) + LONG_TERM_ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + long_term_access_token: str + + def __init__(self, long_term_access_token: _Optional[str]=...) -> None: + ... + +class ValidateLongTermTokenResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ExchangeIntermediaryTokenRequest(_message.Message): + __slots__ = ('intermediary_token', 'organization_id') + INTERMEDIARY_TOKEN_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_ID_FIELD_NUMBER: _ClassVar[int] + intermediary_token: str + organization_id: str + + def __init__(self, intermediary_token: _Optional[str]=..., organization_id: _Optional[str]=...) -> None: + ... + +class GetOIDCAuthUrlRequest(_message.Message): + __slots__ = ('provider_id', 'oauth_resume') + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + OAUTH_RESUME_FIELD_NUMBER: _ClassVar[int] + provider_id: str + oauth_resume: str + + def __init__(self, provider_id: _Optional[str]=..., oauth_resume: _Optional[str]=...) -> None: + ... + +class GetOIDCAuthUrlResponse(_message.Message): + __slots__ = ('auth_url',) + AUTH_URL_FIELD_NUMBER: _ClassVar[int] + auth_url: str + + def __init__(self, auth_url: _Optional[str]=...) -> None: + ... + +class HandleOIDCCallbackRequest(_message.Message): + __slots__ = ('code', 'state') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class HandleOIDCCallbackResponse(_message.Message): + __slots__ = ('success', 'intermediary_token', 'error', 'provider_id', 'oauth_resume') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + INTERMEDIARY_TOKEN_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + OAUTH_RESUME_FIELD_NUMBER: _ClassVar[int] + success: bool + intermediary_token: str + error: str + provider_id: str + oauth_resume: str + + def __init__(self, success: bool=..., intermediary_token: _Optional[str]=..., error: _Optional[str]=..., provider_id: _Optional[str]=..., oauth_resume: _Optional[str]=...) -> None: + ... + +class LogoutRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class LogoutResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class CreateSSOOrganizationRequest(_message.Message): + __slots__ = ('name', 'icon', 'oidc_issuer', 'oidc_client_id', 'oidc_client_secret') + NAME_FIELD_NUMBER: _ClassVar[int] + ICON_FIELD_NUMBER: _ClassVar[int] + OIDC_ISSUER_FIELD_NUMBER: _ClassVar[int] + OIDC_CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + OIDC_CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + name: str + icon: str + oidc_issuer: str + oidc_client_id: str + oidc_client_secret: str + + def __init__(self, name: _Optional[str]=..., icon: _Optional[str]=..., oidc_issuer: _Optional[str]=..., oidc_client_id: _Optional[str]=..., oidc_client_secret: _Optional[str]=...) -> None: + ... + +class CreateSSOOrganizationResponse(_message.Message): + __slots__ = ('success', 'organization', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + organization: _auth_pb2.Organization + error: str + + def __init__(self, success: bool=..., organization: _Optional[_Union[_auth_pb2.Organization, _Mapping]]=..., error: _Optional[str]=...) -> None: + ... + +class ListOrganizationsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListOrganizationsResponse(_message.Message): + __slots__ = ('organizations',) + ORGANIZATIONS_FIELD_NUMBER: _ClassVar[int] + organizations: _containers.RepeatedCompositeFieldContainer[_auth_pb2.Organization] + + def __init__(self, organizations: _Optional[_Iterable[_Union[_auth_pb2.Organization, _Mapping]]]=...) -> None: + ... + +class GetMemberRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMemberResponse(_message.Message): + __slots__ = ('member',) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _auth_pb2.Member + + def __init__(self, member: _Optional[_Union[_auth_pb2.Member, _Mapping]]=...) -> None: + ... + +class ExchangeSessionRequest(_message.Message): + __slots__ = ('organization_id',) + ORGANIZATION_ID_FIELD_NUMBER: _ClassVar[int] + organization_id: str + + def __init__(self, organization_id: _Optional[str]=...) -> None: + ... + +class ExchangeSessionResponse(_message.Message): + __slots__ = ('member', 'warnings') + MEMBER_FIELD_NUMBER: _ClassVar[int] + WARNINGS_FIELD_NUMBER: _ClassVar[int] + member: _auth_pb2.Member + warnings: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, member: _Optional[_Union[_auth_pb2.Member, _Mapping]]=..., warnings: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetOrganizationRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetOrganizationResponse(_message.Message): + __slots__ = ('organization',) + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + organization: _auth_pb2.Organization + + def __init__(self, organization: _Optional[_Union[_auth_pb2.Organization, _Mapping]]=...) -> None: + ... + +class GetMemberInOrgByIdRequest(_message.Message): + __slots__ = ('member_id', 'org_id') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + member_id: str + org_id: str + + def __init__(self, member_id: _Optional[str]=..., org_id: _Optional[str]=...) -> None: + ... + +class GetMemberInOrgByIdResponse(_message.Message): + __slots__ = ('member',) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _auth_pb2.Member + + def __init__(self, member: _Optional[_Union[_auth_pb2.Member, _Mapping]]=...) -> None: + ... + +class GetOIDCConfigRequest(_message.Message): + __slots__ = ('organization_id',) + ORGANIZATION_ID_FIELD_NUMBER: _ClassVar[int] + organization_id: str + + def __init__(self, organization_id: _Optional[str]=...) -> None: + ... + +class GetOIDCConfigResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: _auth_pb2.OIDCConfig + + def __init__(self, config: _Optional[_Union[_auth_pb2.OIDCConfig, _Mapping]]=...) -> None: + ... + +class SaveOIDCConfigRequest(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: _auth_pb2.OIDCConfig + + def __init__(self, config: _Optional[_Union[_auth_pb2.OIDCConfig, _Mapping]]=...) -> None: + ... + +class SaveOIDCConfigResponse(_message.Message): + __slots__ = ('success', 'message') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + success: bool + message: str + + def __init__(self, success: bool=..., message: _Optional[str]=...) -> None: + ... + +class CheckDomainForOIDCRequest(_message.Message): + __slots__ = ('email_domain',) + EMAIL_DOMAIN_FIELD_NUMBER: _ClassVar[int] + email_domain: str + + def __init__(self, email_domain: _Optional[str]=...) -> None: + ... + +class OIDCProviderInfo(_message.Message): + __slots__ = ('provider_id', 'display_name', 'issuer_url', 'org_count') + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ISSUER_URL_FIELD_NUMBER: _ClassVar[int] + ORG_COUNT_FIELD_NUMBER: _ClassVar[int] + provider_id: str + display_name: str + issuer_url: str + org_count: int + + def __init__(self, provider_id: _Optional[str]=..., display_name: _Optional[str]=..., issuer_url: _Optional[str]=..., org_count: _Optional[int]=...) -> None: + ... + +class CheckDomainForOIDCResponse(_message.Message): + __slots__ = ('use_oidc', 'providers') + USE_OIDC_FIELD_NUMBER: _ClassVar[int] + PROVIDERS_FIELD_NUMBER: _ClassVar[int] + use_oidc: bool + providers: _containers.RepeatedCompositeFieldContainer[OIDCProviderInfo] + + def __init__(self, use_oidc: bool=..., providers: _Optional[_Iterable[_Union[OIDCProviderInfo, _Mapping]]]=...) -> None: + ... + +class GetGoogleOAuthUrlRequest(_message.Message): + __slots__ = ('oauth_resume',) + OAUTH_RESUME_FIELD_NUMBER: _ClassVar[int] + oauth_resume: str + + def __init__(self, oauth_resume: _Optional[str]=...) -> None: + ... + +class GetGoogleOAuthUrlResponse(_message.Message): + __slots__ = ('auth_url',) + AUTH_URL_FIELD_NUMBER: _ClassVar[int] + auth_url: str + + def __init__(self, auth_url: _Optional[str]=...) -> None: + ... + +class HandleGoogleOAuthCallbackRequest(_message.Message): + __slots__ = ('code', 'state') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class HandleGoogleOAuthCallbackResponse(_message.Message): + __slots__ = ('success', 'intermediary_token', 'error', 'oauth_resume') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + INTERMEDIARY_TOKEN_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + OAUTH_RESUME_FIELD_NUMBER: _ClassVar[int] + success: bool + intermediary_token: str + error: str + oauth_resume: str + + def __init__(self, success: bool=..., intermediary_token: _Optional[str]=..., error: _Optional[str]=..., oauth_resume: _Optional[str]=...) -> None: + ... + +class UpdateOrgThemeRequest(_message.Message): + __slots__ = ('org_id', 'theme') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + THEME_FIELD_NUMBER: _ClassVar[int] + org_id: str + theme: _auth_pb2.Theme + + def __init__(self, org_id: _Optional[str]=..., theme: _Optional[_Union[_auth_pb2.Theme, _Mapping]]=...) -> None: + ... + +class UpdateOrgThemeResponse(_message.Message): + __slots__ = ('organization',) + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + organization: _auth_pb2.Organization + + def __init__(self, organization: _Optional[_Union[_auth_pb2.Organization, _Mapping]]=...) -> None: + ... + +class UpdateOrgToolRestrictionsRequest(_message.Message): + __slots__ = ('org_id', 'tool_restrictions') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + TOOL_RESTRICTIONS_FIELD_NUMBER: _ClassVar[int] + org_id: str + tool_restrictions: _paradigm_params_pb2.ParadigmParams + + def __init__(self, org_id: _Optional[str]=..., tool_restrictions: _Optional[_Union[_paradigm_params_pb2.ParadigmParams, _Mapping]]=...) -> None: + ... + +class UpdateOrgToolRestrictionsResponse(_message.Message): + __slots__ = ('organization',) + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + organization: _auth_pb2.Organization + + def __init__(self, organization: _Optional[_Union[_auth_pb2.Organization, _Mapping]]=...) -> None: + ... + +class CreateLogoUploadPresignUrlRequest(_message.Message): + __slots__ = ('org_id', 'file_name') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + org_id: str + file_name: str + + def __init__(self, org_id: _Optional[str]=..., file_name: _Optional[str]=...) -> None: + ... + +class CreateLogoUploadPresignUrlResponse(_message.Message): + __slots__ = ('upload_id', 'presign_url') + UPLOAD_ID_FIELD_NUMBER: _ClassVar[int] + PRESIGN_URL_FIELD_NUMBER: _ClassVar[int] + upload_id: str + presign_url: str + + def __init__(self, upload_id: _Optional[str]=..., presign_url: _Optional[str]=...) -> None: + ... + +class ProcessLogoUploadPresignUrlRequest(_message.Message): + __slots__ = ('org_id', 'upload_id', 'update_theme', 'update_org_logo') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + UPLOAD_ID_FIELD_NUMBER: _ClassVar[int] + UPDATE_THEME_FIELD_NUMBER: _ClassVar[int] + UPDATE_ORG_LOGO_FIELD_NUMBER: _ClassVar[int] + org_id: str + upload_id: str + update_theme: bool + update_org_logo: bool + + def __init__(self, org_id: _Optional[str]=..., upload_id: _Optional[str]=..., update_theme: bool=..., update_org_logo: bool=...) -> None: + ... + +class ProcessLogoUploadPresignUrlResponse(_message.Message): + __slots__ = ('logo_url', 'organization') + LOGO_URL_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + logo_url: str + organization: _auth_pb2.Organization + + def __init__(self, logo_url: _Optional[str]=..., organization: _Optional[_Union[_auth_pb2.Organization, _Mapping]]=...) -> None: + ... + +class UploadMemberImageRequest(_message.Message): + __slots__ = ('member_id', 'image_data', 'file_name') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + IMAGE_DATA_FIELD_NUMBER: _ClassVar[int] + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + member_id: str + image_data: bytes + file_name: str + + def __init__(self, member_id: _Optional[str]=..., image_data: _Optional[bytes]=..., file_name: _Optional[str]=...) -> None: + ... + +class UploadMemberImageResponse(_message.Message): + __slots__ = ('image_url',) + IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + image_url: str + + def __init__(self, image_url: _Optional[str]=...) -> None: + ... + +class GenerateMagicLinkForUserRequest(_message.Message): + __slots__ = ('email',) + EMAIL_FIELD_NUMBER: _ClassVar[int] + email: str + + def __init__(self, email: _Optional[str]=...) -> None: + ... + +class GenerateMagicLinkForUserResponse(_message.Message): + __slots__ = ('magic_link',) + MAGIC_LINK_FIELD_NUMBER: _ClassVar[int] + magic_link: str + + def __init__(self, magic_link: _Optional[str]=...) -> None: + ... + +class GetConsoleAuthTokenRequest(_message.Message): + __slots__ = ('debug_level',) + DEBUG_LEVEL_FIELD_NUMBER: _ClassVar[int] + debug_level: int + + def __init__(self, debug_level: _Optional[int]=...) -> None: + ... + +class GetConsoleAuthTokenResponse(_message.Message): + __slots__ = ('intermediary_token', 'console_url') + INTERMEDIARY_TOKEN_FIELD_NUMBER: _ClassVar[int] + CONSOLE_URL_FIELD_NUMBER: _ClassVar[int] + intermediary_token: str + console_url: str + + def __init__(self, intermediary_token: _Optional[str]=..., console_url: _Optional[str]=...) -> None: + ... + +class OIDCProvider(_message.Message): + __slots__ = ('provider_id', 'display_name', 'issuer_url', 'client_id', 'client_secret', 'scopes', 'provider_type', 'attribute_mapping', 'created_at', 'updated_at', 'env_configured') + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ISSUER_URL_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + PROVIDER_TYPE_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_MAPPING_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + ENV_CONFIGURED_FIELD_NUMBER: _ClassVar[int] + provider_id: str + display_name: str + issuer_url: str + client_id: str + client_secret: str + scopes: _containers.RepeatedScalarFieldContainer[str] + provider_type: str + attribute_mapping: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + env_configured: bool + + def __init__(self, provider_id: _Optional[str]=..., display_name: _Optional[str]=..., issuer_url: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., scopes: _Optional[_Iterable[str]]=..., provider_type: _Optional[str]=..., attribute_mapping: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., env_configured: bool=...) -> None: + ... + +class OIDCProviderWithOrgs(_message.Message): + __slots__ = ('provider', 'org_count') + PROVIDER_FIELD_NUMBER: _ClassVar[int] + ORG_COUNT_FIELD_NUMBER: _ClassVar[int] + provider: OIDCProvider + org_count: int + + def __init__(self, provider: _Optional[_Union[OIDCProvider, _Mapping]]=..., org_count: _Optional[int]=...) -> None: + ... + +class ListOIDCProvidersRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListOIDCProvidersResponse(_message.Message): + __slots__ = ('providers',) + PROVIDERS_FIELD_NUMBER: _ClassVar[int] + providers: _containers.RepeatedCompositeFieldContainer[OIDCProviderWithOrgs] + + def __init__(self, providers: _Optional[_Iterable[_Union[OIDCProviderWithOrgs, _Mapping]]]=...) -> None: + ... + +class CreateOIDCProviderRequest(_message.Message): + __slots__ = ('display_name', 'issuer_url', 'client_id', 'client_secret', 'scopes', 'provider_type', 'attribute_mapping') + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ISSUER_URL_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + PROVIDER_TYPE_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_MAPPING_FIELD_NUMBER: _ClassVar[int] + display_name: str + issuer_url: str + client_id: str + client_secret: str + scopes: _containers.RepeatedScalarFieldContainer[str] + provider_type: str + attribute_mapping: str + + def __init__(self, display_name: _Optional[str]=..., issuer_url: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., scopes: _Optional[_Iterable[str]]=..., provider_type: _Optional[str]=..., attribute_mapping: _Optional[str]=...) -> None: + ... + +class CreateOIDCProviderResponse(_message.Message): + __slots__ = ('success', 'provider_id', 'error', 'is_duplicate', 'existing_provider') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + IS_DUPLICATE_FIELD_NUMBER: _ClassVar[int] + EXISTING_PROVIDER_FIELD_NUMBER: _ClassVar[int] + success: bool + provider_id: str + error: str + is_duplicate: bool + existing_provider: OIDCProvider + + def __init__(self, success: bool=..., provider_id: _Optional[str]=..., error: _Optional[str]=..., is_duplicate: bool=..., existing_provider: _Optional[_Union[OIDCProvider, _Mapping]]=...) -> None: + ... + +class UpdateOIDCProviderRequest(_message.Message): + __slots__ = ('provider_id', 'display_name', 'issuer_url', 'client_id', 'client_secret', 'scopes', 'provider_type', 'attribute_mapping') + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ISSUER_URL_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + PROVIDER_TYPE_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_MAPPING_FIELD_NUMBER: _ClassVar[int] + provider_id: str + display_name: str + issuer_url: str + client_id: str + client_secret: str + scopes: _containers.RepeatedScalarFieldContainer[str] + provider_type: str + attribute_mapping: str + + def __init__(self, provider_id: _Optional[str]=..., display_name: _Optional[str]=..., issuer_url: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., scopes: _Optional[_Iterable[str]]=..., provider_type: _Optional[str]=..., attribute_mapping: _Optional[str]=...) -> None: + ... + +class UpdateOIDCProviderResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class DeleteOIDCProviderRequest(_message.Message): + __slots__ = ('provider_id',) + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + provider_id: str + + def __init__(self, provider_id: _Optional[str]=...) -> None: + ... + +class DeleteOIDCProviderResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class AddOrgOIDCProviderRequest(_message.Message): + __slots__ = ('org_id', 'provider_id') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + provider_id: str + + def __init__(self, org_id: _Optional[str]=..., provider_id: _Optional[str]=...) -> None: + ... + +class AddOrgOIDCProviderResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class RemoveOrgOIDCProviderRequest(_message.Message): + __slots__ = ('org_id', 'provider_id') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PROVIDER_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + provider_id: str + + def __init__(self, org_id: _Optional[str]=..., provider_id: _Optional[str]=...) -> None: + ... + +class RemoveOrgOIDCProviderResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class UpdateOrgOIDCProvidersRequest(_message.Message): + __slots__ = ('org_id', 'provider_ids') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PROVIDER_IDS_FIELD_NUMBER: _ClassVar[int] + org_id: str + provider_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, org_id: _Optional[str]=..., provider_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class UpdateOrgOIDCProvidersResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class GetOrgOIDCProvidersRequest(_message.Message): + __slots__ = ('org_id',) + ORG_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + + def __init__(self, org_id: _Optional[str]=...) -> None: + ... + +class GetOrgOIDCProvidersResponse(_message.Message): + __slots__ = ('providers',) + PROVIDERS_FIELD_NUMBER: _ClassVar[int] + providers: _containers.RepeatedCompositeFieldContainer[OIDCProvider] + + def __init__(self, providers: _Optional[_Iterable[_Union[OIDCProvider, _Mapping]]]=...) -> None: + ... + +class CreateOrganizationRequest(_message.Message): + __slots__ = ('intermediary_token', 'organization_name') + INTERMEDIARY_TOKEN_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_NAME_FIELD_NUMBER: _ClassVar[int] + intermediary_token: str + organization_name: str + + def __init__(self, intermediary_token: _Optional[str]=..., organization_name: _Optional[str]=...) -> None: + ... + +class CreateOrganizationResponse(_message.Message): + __slots__ = ('success', 'error', 'organization') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + organization: _auth_pb2.Organization + + def __init__(self, success: bool=..., error: _Optional[str]=..., organization: _Optional[_Union[_auth_pb2.Organization, _Mapping]]=...) -> None: + ... + +class CreateSiblingOrganizationRequest(_message.Message): + __slots__ = ('source_org_id', 'new_org_name') + SOURCE_ORG_ID_FIELD_NUMBER: _ClassVar[int] + NEW_ORG_NAME_FIELD_NUMBER: _ClassVar[int] + source_org_id: str + new_org_name: str + + def __init__(self, source_org_id: _Optional[str]=..., new_org_name: _Optional[str]=...) -> None: + ... + +class CreateSiblingOrganizationResponse(_message.Message): + __slots__ = ('success', 'error', 'new_org_id', 'new_organization') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + NEW_ORG_ID_FIELD_NUMBER: _ClassVar[int] + NEW_ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + new_org_id: str + new_organization: _auth_pb2.Organization + + def __init__(self, success: bool=..., error: _Optional[str]=..., new_org_id: _Optional[str]=..., new_organization: _Optional[_Union[_auth_pb2.Organization, _Mapping]]=...) -> None: + ... + +class VerifyApiKeyRequest(_message.Message): + __slots__ = ('api_key_base64', 'required_resource', 'required_action') + API_KEY_BASE64_FIELD_NUMBER: _ClassVar[int] + REQUIRED_RESOURCE_FIELD_NUMBER: _ClassVar[int] + REQUIRED_ACTION_FIELD_NUMBER: _ClassVar[int] + api_key_base64: str + required_resource: str + required_action: str + + def __init__(self, api_key_base64: _Optional[str]=..., required_resource: _Optional[str]=..., required_action: _Optional[str]=...) -> None: + ... + +class VerifyApiKeyResponse(_message.Message): + __slots__ = ('valid', 'member_id', 'organization_id', 'client_id') + VALID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + valid: bool + member_id: str + organization_id: str + client_id: str + + def __init__(self, valid: bool=..., member_id: _Optional[str]=..., organization_id: _Optional[str]=..., client_id: _Optional[str]=...) -> None: + ... + +class OrgOAuthClient(_message.Message): + __slots__ = ('client_id', 'client_name', 'created_at', 'active_tokens', 'distinct_members', 'redirect_uris', 'scope', 'admin_managed', 'created_by_member_id') + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_NAME_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + ACTIVE_TOKENS_FIELD_NUMBER: _ClassVar[int] + DISTINCT_MEMBERS_FIELD_NUMBER: _ClassVar[int] + REDIRECT_URIS_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + ADMIN_MANAGED_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + client_id: str + client_name: str + created_at: _timestamp_pb2.Timestamp + active_tokens: int + distinct_members: int + redirect_uris: _containers.RepeatedScalarFieldContainer[str] + scope: str + admin_managed: bool + created_by_member_id: str + + def __init__(self, client_id: _Optional[str]=..., client_name: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., active_tokens: _Optional[int]=..., distinct_members: _Optional[int]=..., redirect_uris: _Optional[_Iterable[str]]=..., scope: _Optional[str]=..., admin_managed: bool=..., created_by_member_id: _Optional[str]=...) -> None: + ... + +class AuthorizedApp(_message.Message): + __slots__ = ('client_id', 'client_name', 'scope', 'first_authorized_at', 'last_authorized_at') + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_NAME_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + FIRST_AUTHORIZED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_AUTHORIZED_AT_FIELD_NUMBER: _ClassVar[int] + client_id: str + client_name: str + scope: str + first_authorized_at: _timestamp_pb2.Timestamp + last_authorized_at: _timestamp_pb2.Timestamp + + def __init__(self, client_id: _Optional[str]=..., client_name: _Optional[str]=..., scope: _Optional[str]=..., first_authorized_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_authorized_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListOrgOAuthClientsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListOrgOAuthClientsResponse(_message.Message): + __slots__ = ('clients',) + CLIENTS_FIELD_NUMBER: _ClassVar[int] + clients: _containers.RepeatedCompositeFieldContainer[OrgOAuthClient] + + def __init__(self, clients: _Optional[_Iterable[_Union[OrgOAuthClient, _Mapping]]]=...) -> None: + ... + +class CreateOrgOAuthClientRequest(_message.Message): + __slots__ = ('client_name', 'redirect_uris', 'scopes') + CLIENT_NAME_FIELD_NUMBER: _ClassVar[int] + REDIRECT_URIS_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + client_name: str + redirect_uris: _containers.RepeatedScalarFieldContainer[str] + scopes: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, client_name: _Optional[str]=..., redirect_uris: _Optional[_Iterable[str]]=..., scopes: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreateOrgOAuthClientResponse(_message.Message): + __slots__ = ('client_id', 'client_secret', 'client') + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + CLIENT_FIELD_NUMBER: _ClassVar[int] + client_id: str + client_secret: str + client: OrgOAuthClient + + def __init__(self, client_id: _Optional[str]=..., client_secret: _Optional[str]=..., client: _Optional[_Union[OrgOAuthClient, _Mapping]]=...) -> None: + ... + +class UpdateOrgOAuthClientRequest(_message.Message): + __slots__ = ('client_id', 'client_name', 'redirect_uris', 'scopes') + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_NAME_FIELD_NUMBER: _ClassVar[int] + REDIRECT_URIS_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + client_id: str + client_name: str + redirect_uris: _containers.RepeatedScalarFieldContainer[str] + scopes: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, client_id: _Optional[str]=..., client_name: _Optional[str]=..., redirect_uris: _Optional[_Iterable[str]]=..., scopes: _Optional[_Iterable[str]]=...) -> None: + ... + +class UpdateOrgOAuthClientResponse(_message.Message): + __slots__ = ('client',) + CLIENT_FIELD_NUMBER: _ClassVar[int] + client: OrgOAuthClient + + def __init__(self, client: _Optional[_Union[OrgOAuthClient, _Mapping]]=...) -> None: + ... + +class RotateOrgOAuthClientSecretRequest(_message.Message): + __slots__ = ('client_id',) + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + client_id: str + + def __init__(self, client_id: _Optional[str]=...) -> None: + ... + +class RotateOrgOAuthClientSecretResponse(_message.Message): + __slots__ = ('client_secret',) + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + client_secret: str + + def __init__(self, client_secret: _Optional[str]=...) -> None: + ... + +class RevokeOrgOAuthClientRequest(_message.Message): + __slots__ = ('client_id',) + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + client_id: str + + def __init__(self, client_id: _Optional[str]=...) -> None: + ... + +class RevokeOrgOAuthClientResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class DeleteOrgOAuthClientRequest(_message.Message): + __slots__ = ('client_id',) + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + client_id: str + + def __init__(self, client_id: _Optional[str]=...) -> None: + ... + +class DeleteOrgOAuthClientResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListMyAuthorizedAppsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListMyAuthorizedAppsResponse(_message.Message): + __slots__ = ('apps',) + APPS_FIELD_NUMBER: _ClassVar[int] + apps: _containers.RepeatedCompositeFieldContainer[AuthorizedApp] + + def __init__(self, apps: _Optional[_Iterable[_Union[AuthorizedApp, _Mapping]]]=...) -> None: + ... + +class RevokeMyAuthorizedAppRequest(_message.Message): + __slots__ = ('client_id',) + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + client_id: str + + def __init__(self, client_id: _Optional[str]=...) -> None: + ... + +class RevokeMyAuthorizedAppResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class OAuthScopeInfo(_message.Message): + __slots__ = ('id', 'description', 'category') + ID_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + id: str + description: str + category: str + + def __init__(self, id: _Optional[str]=..., description: _Optional[str]=..., category: _Optional[str]=...) -> None: + ... + +class ListOAuthScopesRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListOAuthScopesResponse(_message.Message): + __slots__ = ('scopes',) + SCOPES_FIELD_NUMBER: _ClassVar[int] + scopes: _containers.RepeatedCompositeFieldContainer[OAuthScopeInfo] + + def __init__(self, scopes: _Optional[_Iterable[_Union[OAuthScopeInfo, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/cells_pb2.py b/src/textql_sdk/_connect/public/cells_pb2.py new file mode 100644 index 0000000..5f29690 --- /dev/null +++ b/src/textql_sdk/_connect/public/cells_pb2.py @@ -0,0 +1,256 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/cells.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from .. import paradigm_params_pb2 as paradigm__params__pb2 +from ..public import connector_pb2 as public_dot_connector__pb2 +from ..public import dashboard_pb2 as public_dot_dashboard__pb2 +from ..public import dataframe_pb2 as public_dot_dataframe__pb2 +from ..public import dataset_pb2 as public_dot_dataset__pb2 +from ..public import llm_model_pb2 as public_dot_llm__model__pb2 +from ..public import ontology_pb2 as public_dot_ontology__pb2 +from ..public import paradigm_pb2 as public_dot_paradigm__pb2 +from ..public import patches_pb2 as public_dot_patches__pb2 +from ..public import report_pb2 as public_dot_report__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12public/cells.proto\x12\x17textql.rpc.public.cells\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15paradigm_params.proto\x1a\x16public/connector.proto\x1a\x16public/dashboard.proto\x1a\x16public/dataframe.proto\x1a\x14public/dataset.proto\x1a\x16public/llm_model.proto\x1a\x15public/ontology.proto\x1a\x15public/paradigm.proto\x1a\x14public/patches.proto\x1a\x13public/report.proto"\x8e\x01\n\x0cMarkdownCell\x12\x18\n\x07content\x18\x01 \x01(\tR\x07content\x12#\n\rrendered_html\x18\x02 \x01(\tR\x0crenderedHtml\x12?\n\tcitations\x18\x03 \x03(\x0b2!.textql.rpc.public.cells.CitationR\tcitations"\xaf\x05\n\x07SQLCell\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12!\n\x0cconnector_id\x18\x02 \x01(\x05R\x0bconnectorId\x12L\n\tdataframe\x18\x03 \x01(\x0b2..textql.rpc.public.dataframe.DataFrameWithInfoR\tdataframe\x12+\n\x11dataframe_preview\x18\x04 \x01(\tR\x10dataframePreview\x12#\n\rauth_required\x18\x05 \x01(\x08R\x0cauthRequired\x12.\n\x13auth_connector_name\x18\x06 \x01(\tR\x11authConnectorName\x12!\n\x0cauth_locator\x18\x07 \x01(\tR\x0bauthLocator\x12$\n\x0eauth_client_id\x18\x08 \x01(\tR\x0cauthClientId\x12\x1b\n\tauth_role\x18\t \x01(\tR\x08authRole\x12%\n\x0eauth_completed\x18\n \x01(\x08R\rauthCompleted\x12Z\n\x13auth_connector_type\x18\x0b \x01(\x0e2*.textql.rpc.public.connector.ConnectorTypeR\x11authConnectorType\x121\n\x12auth_workspace_url\x18\x0c \x01(\tH\x00R\x10authWorkspaceUrl\x88\x01\x01\x12/\n\x11execution_time_ms\x18\r \x01(\x03H\x01R\x0fexecutionTimeMs\x88\x01\x01\x12!\n\x0cagent_memory\x18\x0e \x01(\x08R\x0bagentMemoryB\x15\n\x13_auth_workspace_urlB\x14\n\x12_execution_time_ms"\xc4\x06\n\nPythonCell\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x16\n\x06output\x18\x02 \x03(\tR\x06output\x12Q\n\x0edataframe_info\x18\x03 \x03(\x0b2*.textql.rpc.public.dataframe.DataFrameInfoR\rdataframeInfo\x12+\n\x11dataframe_preview\x18\x04 \x03(\tR\x10dataframePreview\x12?\n\x06images\x18\x05 \x03(\x0b2\'.textql.rpc.public.cells.ImageReferenceR\x06images\x12<\n\x05files\x18\x06 \x03(\x0b2&.textql.rpc.public.cells.FileReferenceR\x05files\x12R\n\x10html_screenshots\x18\x07 \x03(\x0b2\'.textql.rpc.public.cells.ImageReferenceR\x0fhtmlScreenshots\x12?\n\x06charts\x18\x08 \x03(\x0b2\'.textql.rpc.public.cells.ChartReferenceR\x06charts\x12#\n\rauth_required\x18\n \x01(\x08R\x0cauthRequired\x122\n\x16auth_api_access_key_id\x18\x0b \x01(\tR\x12authApiAccessKeyId\x12,\n\x12auth_provider_name\x18\x0c \x01(\tR\x10authProviderName\x12%\n\x0eauth_completed\x18\r \x01(\x08R\rauthCompleted\x12\x1f\n\x0bauth_member\x18\x0e \x01(\tR\nauthMember\x128\n\x18auth_permission_required\x18\x0f \x01(\x08R\x16authPermissionRequired\x12&\n\x0fauth_grant_type\x18\x10 \x01(\tR\rauthGrantType\x12/\n\x11execution_time_ms\x18\x11 \x01(\x03H\x00R\x0fexecutionTimeMs\x88\x01\x01B\x14\n\x12_execution_time_ms"\x84\x02\n\rStreamlitCell\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x15\n\x03url\x18\x02 \x01(\tH\x00R\x03url\x88\x01\x01\x12(\n\rerror_message\x18\x03 \x01(\tH\x01R\x0cerrorMessage\x88\x01\x01\x12*\n\x0escreenshot_url\x18\x04 \x01(\tH\x02R\rscreenshotUrl\x88\x01\x01\x12/\n\x11execution_time_ms\x18\x05 \x01(\x03H\x03R\x0fexecutionTimeMs\x88\x01\x01B\x06\n\x04_urlB\x10\n\x0e_error_messageB\x11\n\x0f_screenshot_urlB\x14\n\x12_execution_time_ms"\\\n\rSqlQueryInput\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05query\x18\x02 \x01(\tR\x05query\x12!\n\x0cconnector_id\x18\x03 \x01(\x05R\x0bconnectorId"\x89\x04\n\rDashboardCell\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12!\n\x0cdashboard_id\x18\x02 \x01(\tR\x0bdashboardId\x12\x12\n\x04code\x18\x03 \x01(\tR\x04code\x12J\n\x0cdata_sources\x18\x04 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x12(\n\rerror_message\x18\x05 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12*\n\x0escreenshot_url\x18\x06 \x01(\tH\x01R\rscreenshotUrl\x88\x01\x01\x12#\n\x0blast_run_at\x18\x07 \x01(\tH\x02R\tlastRunAt\x88\x01\x01\x12@\n\x06action\x18\x08 \x01(\x0e2(.textql.rpc.public.cells.DashboardActionR\x06action\x12\x17\n\x04type\x18\t \x01(\tH\x03R\x04type\x88\x01\x01\x12>\n\nupdated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampH\x04R\tupdatedAt\x88\x01\x01B\x10\n\x0e_error_messageB\x11\n\x0f_screenshot_urlB\x0e\n\x0c_last_run_atB\x07\n\x05_typeB\r\n\x0b_updated_at"\x9b\x01\n\x0eCompactionCell\x12\x18\n\x07content\x18\x01 \x01(\tR\x07content\x12\'\n\x0fexecuted_python\x18\x02 \x01(\x08R\x0eexecutedPython\x12F\n\x0cpython_cells\x18\x03 \x03(\x0b2#.textql.rpc.public.cells.PythonCellR\x0bpythonCells"D\n\x0cThinkingCell\x12\x18\n\x07content\x18\x01 \x01(\tR\x07content\x12\x1a\n\x08redacted\x18\x02 \x01(\x08R\x08redacted"\xbe\x02\n\x0bMetricsCell\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12\x18\n\x07dataset\x18\x02 \x01(\tR\x07dataset\x12\x1f\n\x0bontology_id\x18\x08 \x01(\x05R\nontologyId\x12L\n\tdataframe\x18\x03 \x01(\x0b2..textql.rpc.public.dataframe.DataFrameWithInfoR\tdataframe\x12+\n\x11dataframe_preview\x18\x04 \x01(\tR\x10dataframePreview\x12#\n\rgenerated_sql\x18\x05 \x01(\tR\x0cgeneratedSql\x12\x19\n\x08query_id\x18\x06 \x01(\tR\x07queryId\x12#\n\rerror_message\x18\x07 \x01(\tR\x0cerrorMessage"\xf5\x01\n\x19OntologyMetricSearchMatch\x12\x1b\n\tmetric_id\x18\x01 \x01(\tR\x08metricId\x12\x1f\n\x0bmetric_name\x18\x02 \x01(\tR\nmetricName\x12-\n\x12metric_description\x18\x03 \x01(\tR\x11metricDescription\x12-\n\x12metric_aggregation\x18\x04 \x01(\tR\x11metricAggregation\x12\x1b\n\tobject_id\x18\x05 \x01(\tR\x08objectId\x12\x1f\n\x0bobject_name\x18\x06 \x01(\tR\nobjectName"\x86\x02\n\x19OntologySearchMetricsCell\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12\x1f\n\x0bontology_id\x18\x02 \x01(\x05R\nontologyId\x12\x1f\n\x0bmatch_count\x18\x03 \x01(\x05R\nmatchCount\x12%\n\x0ereturned_count\x18\x04 \x01(\x05R\rreturnedCount\x12\x1c\n\ttruncated\x18\x05 \x01(\x08R\ttruncated\x12L\n\x07matches\x18\x06 \x03(\x0b22.textql.rpc.public.cells.OntologyMetricSearchMatchR\x07matches"\xc3\x01\n\x1bOntologyObjectDimensionLite\x12!\n\x0cdimension_id\x18\x01 \x01(\tR\x0bdimensionId\x12%\n\x0edimension_name\x18\x02 \x01(\tR\rdimensionName\x123\n\x15dimension_description\x18\x03 \x01(\tR\x14dimensionDescription\x12%\n\x0edimension_type\x18\x04 \x01(\tR\rdimensionType"\xb6\x01\n\x18OntologyObjectMetricLite\x12\x1b\n\tmetric_id\x18\x01 \x01(\tR\x08metricId\x12\x1f\n\x0bmetric_name\x18\x02 \x01(\tR\nmetricName\x12-\n\x12metric_description\x18\x03 \x01(\tR\x11metricDescription\x12-\n\x12metric_aggregation\x18\x04 \x01(\tR\x11metricAggregation"\xaa\x05\n\x16OntologyOpenObjectCell\x12)\n\x10requested_object\x18\x01 \x01(\tR\x0frequestedObject\x12\x1f\n\x0bontology_id\x18\x02 \x01(\x05R\nontologyId\x12\x1b\n\tobject_id\x18\x03 \x01(\tR\x08objectId\x12\x1f\n\x0bobject_name\x18\x04 \x01(\tR\nobjectName\x122\n\x12object_description\x18\x05 \x01(\tH\x00R\x11objectDescription\x88\x01\x01\x12\'\n\x0fdimension_count\x18\x06 \x01(\x05R\x0edimensionCount\x128\n\x18dimension_returned_count\x18\x07 \x01(\x05R\x16dimensionReturnedCount\x12!\n\x0cmetric_count\x18\x08 \x01(\x05R\x0bmetricCount\x122\n\x15metric_returned_count\x18\t \x01(\x05R\x13metricReturnedCount\x121\n\x14dimensions_truncated\x18\n \x01(\x08R\x13dimensionsTruncated\x12+\n\x11metrics_truncated\x18\x0b \x01(\x08R\x10metricsTruncated\x12T\n\ndimensions\x18\x0c \x03(\x0b24.textql.rpc.public.cells.OntologyObjectDimensionLiteR\ndimensions\x12K\n\x07metrics\x18\r \x03(\x0b21.textql.rpc.public.cells.OntologyObjectMetricLiteR\x07metricsB\x15\n\x13_object_description"6\n\x0eImageReference\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\x9b\x01\n\x0eChartReference\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x19\n\x08html_url\x18\x03 \x01(\tR\x07htmlUrl\x12\x17\n\x07png_url\x18\x04 \x01(\tR\x06pngUrl\x12\x14\n\x05title\x18\x05 \x01(\tR\x05title\x12\x19\n\x08spec_url\x18\x06 \x01(\tR\x07specUrl"R\n\rFileReference\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x1b\n\tfile_type\x18\x03 \x01(\tR\x08fileType"\'\n\x0cSQLReference\x12\x17\n\x07tool_id\x18\x01 \x01(\tR\x06toolId"\xa0\x01\n\nAnswerCell\x12\x18\n\x07content\x18\x01 \x01(\tR\x07content\x12?\n\x06images\x18\x02 \x03(\x0b2\'.textql.rpc.public.cells.ImageReferenceR\x06images\x127\n\x03sql\x18\x03 \x03(\x0b2%.textql.rpc.public.cells.SQLReferenceR\x03sql"\x99\x01\n\x0cDocumentCell\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x18\n\x07preview\x18\x03 \x01(\tR\x07preview\x12*\n\x11dataset_source_id\x18\x04 \x01(\tR\x0fdatasetSourceId\x12\x1d\n\npage_count\x18\x05 \x01(\x05R\tpageCount"\xba\x02\n\x0fTabularFileCell\x12\x1b\n\tfile_name\x18\x01 \x01(\tR\x08fileName\x12J\n\x08category\x18\x02 \x01(\x0e2..textql.rpc.public.dataset.TabularFileCategoryR\x08category\x12J\n\ndataframes\x18\x03 \x03(\x0b2*.textql.rpc.public.dataframe.DataFrameInfoR\ndataframes\x12*\n\x11dataset_source_id\x18\x04 \x01(\tR\x0fdatasetSourceId\x120\n\x11preview_available\x18\x05 \x01(\x08H\x00R\x10previewAvailable\x88\x01\x01B\x14\n\x12_preview_available"\xfc\x01\n\tImageCell\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12\x14\n\x05width\x18\x04 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x05 \x01(\x05R\x06height\x12\x1d\n\nsize_bytes\x18\x06 \x01(\x03R\tsizeBytes\x12*\n\x11dataset_source_id\x18\x07 \x01(\tR\x0fdatasetSourceId\x12\x19\n\x08alt_text\x18\x08 \x01(\tR\x07altText\x12\x18\n\x07caption\x18\t \x01(\tR\x07caption"\xc8\x01\n\x08TextCell\x12\x1b\n\tfile_name\x18\x01 \x01(\tR\x08fileName\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12\x1d\n\nsize_bytes\x18\x04 \x01(\x03R\tsizeBytes\x12*\n\x11dataset_source_id\x18\x05 \x01(\tR\x0fdatasetSourceId\x12\x1d\n\nline_count\x18\x06 \x01(\x05R\tlineCount"\xb7\x02\n\x0fExaSearchResult\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x12\n\x04text\x18\x03 \x01(\tR\x04text\x12\x16\n\x06author\x18\x04 \x01(\tR\x06author\x12%\n\x0epublished_date\x18\x05 \x01(\tR\rpublishedDate\x12\x18\n\x07favicon\x18\x06 \x01(\tR\x07favicon\x12\x14\n\x05image\x18\x07 \x01(\tR\x05image\x12\x14\n\x05score\x18\x08 \x01(\x01R\x05score\x12\x1e\n\nhighlights\x18\t \x03(\tR\nhighlights\x12)\n\x10highlight_scores\x18\n \x03(\x01R\x0fhighlightScores\x12\x18\n\x07summary\x18\x0b \x01(\tR\x07summary"\xa4\x03\n\rWebSearchCell\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12G\n\x0bsearch_type\x18\x02 \x01(\x0e2&.textql.rpc.public.cells.WebSearchTypeR\nsearchType\x12A\n\ndate_range\x18\x03 \x01(\x0e2".textql.rpc.public.cells.DateRangeR\tdateRange\x12\x1b\n\x06answer\x18\x04 \x01(\tH\x00R\x06answer\x88\x01\x01\x12I\n\x0bexa_results\x18\x05 \x03(\x0b2(.textql.rpc.public.cells.ExaSearchResultR\nexaResults\x12&\n\x0ccost_dollars\x18\x06 \x01(\x01H\x01R\x0bcostDollars\x88\x01\x01\x12/\n\x11execution_time_ms\x18\x07 \x01(\x03H\x02R\x0fexecutionTimeMs\x88\x01\x01B\t\n\x07_answerB\x0f\n\r_cost_dollarsB\x14\n\x12_execution_time_ms"\xf5\x01\n\x12LinkedinSearchCell\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12I\n\x0bexa_results\x18\x02 \x03(\x0b2(.textql.rpc.public.cells.ExaSearchResultR\nexaResults\x12&\n\x0ccost_dollars\x18\x03 \x01(\x01H\x00R\x0bcostDollars\x88\x01\x01\x12/\n\x11execution_time_ms\x18\x04 \x01(\x03H\x01R\x0fexecutionTimeMs\x88\x01\x01B\x0f\n\r_cost_dollarsB\x14\n\x12_execution_time_ms"\xd9\x01\n\nReportCell\x12\x18\n\x07subject\x18\x01 \x01(\tR\x07subject\x12\x18\n\x07summary\x18\x02 \x01(\tR\x07summary\x12>\n\x06blocks\x18\x03 \x03(\x0b2&.textql.rpc.public.reports.ReportBlockR\x06blocks\x12!\n\x0chtml_preview\x18\x04 \x01(\tR\x0bhtmlPreview\x12\x17\n\x07chat_id\x18\x05 \x01(\tR\x06chatId\x12\x1b\n\treport_id\x18\x06 \x01(\tR\x08reportId"\xf2\x01\n\x10FeedExplorerCell\x12\x1c\n\toperation\x18\x01 \x01(\tR\toperation\x12\x1c\n\x07post_id\x18\x02 \x01(\tH\x00R\x06postId\x88\x01\x01\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x01R\x06filter\x88\x01\x01\x12\x19\n\x05limit\x18\x04 \x01(\x05H\x02R\x05limit\x88\x01\x01\x12\x16\n\x06result\x18\x05 \x01(\tR\x06result\x12"\n\nchannel_id\x18\x06 \x01(\tH\x03R\tchannelId\x88\x01\x01B\n\n\x08_post_idB\t\n\x07_filterB\x08\n\x06_limitB\r\n\x0b_channel_id"\'\n\x0bSummaryCell\x12\x18\n\x07summary\x18\x01 \x01(\tR\x07summary"(\n\nStatusCell\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status:\x02\x18\x01"\x81\x01\n\x0bTableauCell\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12S\n\x0emessage_blocks\x18\x02 \x03(\x0b2,.textql.rpc.public.cells.TableauMessageBlockR\rmessageBlocks"q\n\x13TableauMessageBlock\x12\x18\n\x07content\x18\x01 \x01(\tR\x07content\x12!\n\x0cimage_base64\x18\x02 \x01(\tR\x0bimageBase64\x12\x1d\n\npdf_base64\x18\x03 \x01(\tR\tpdfBase64"\xd9\x01\n\x0eTableauSQLCell\x126\n\x17tableau_datasource_luid\x18\x01 \x01(\tR\x15tableauDatasourceLuid\x12\x14\n\x05query\x18\x02 \x01(\tR\x05query\x12L\n\tdataframe\x18\x03 \x01(\x0b2..textql.rpc.public.dataframe.DataFrameWithInfoR\tdataframe\x12+\n\x11dataframe_preview\x18\x04 \x01(\tR\x10dataframePreview"[\n\x17TableauSearchFieldsCell\x12\x1f\n\x0bsearch_term\x18\x01 \x01(\tR\nsearchTerm\x12\x1f\n\x0bresult_text\x18\x02 \x01(\tR\nresultText"R\n\x13PowerBIMessageBlock\x12\x18\n\x07content\x18\x01 \x01(\tR\x07content\x12!\n\x0cimage_base64\x18\x02 \x01(\tR\x0bimageBase64"\xd0\x01\n\x0bPowerBICell\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12\x1d\n\nreport_ids\x18\x02 \x03(\tR\treportIds\x12.\n\x13powerbi_dataset_ids\x18\x03 \x03(\tR\x11powerbiDatasetIds\x12S\n\x0emessage_blocks\x18\x04 \x03(\x0b2,.textql.rpc.public.cells.PowerBIMessageBlockR\rmessageBlocks"\xbb\x03\n\x0ePowerBIDAXCell\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12\x1b\n\tdax_query\x18\x02 \x01(\tR\x08daxQuery\x12L\n\tdataframe\x18\x03 \x01(\x0b2..textql.rpc.public.dataframe.DataFrameWithInfoR\tdataframe\x12+\n\x11dataframe_preview\x18\x04 \x01(\tR\x10dataframePreview\x12#\n\rauth_required\x18\x05 \x01(\x08R\x0cauthRequired\x12.\n\x13auth_connector_name\x18\x06 \x01(\tR\x11authConnectorName\x12*\n\x11auth_connector_id\x18\x07 \x01(\x05R\x0fauthConnectorId\x12$\n\x0eauth_tenant_id\x18\x08 \x01(\tR\x0cauthTenantId\x12$\n\x0eauth_client_id\x18\t \x01(\tR\x0cauthClientId\x12%\n\x0eauth_completed\x18\n \x01(\x08R\rauthCompleted"[\n\x1bContextPromptEditorEditPair\x12\x1d\n\nold_string\x18\x01 \x01(\tR\toldString\x12\x1d\n\nnew_string\x18\x02 \x01(\tR\tnewString"\xc9\x03\n\x17ContextPromptEditorCell\x12J\n\x06action\x18\x01 \x01(\x0e22.textql.rpc.public.cells.ContextPromptEditorActionR\x06action\x12,\n\x0fcurrent_context\x18\x03 \x01(\tH\x00R\x0ecurrentContext\x88\x01\x01\x12.\n\x10proposed_context\x18\x04 \x01(\tH\x01R\x0fproposedContext\x88\x01\x01\x12\x17\n\x04diff\x18\x05 \x01(\tH\x02R\x04diff\x88\x01\x01\x12J\n\x06status\x18\x06 \x01(\x0e22.textql.rpc.public.cells.ContextPromptChangeStatusR\x06status\x12(\n\rerror_message\x18\x07 \x01(\tH\x03R\x0cerrorMessage\x88\x01\x01\x12"\n\ncontext_id\x18\x08 \x01(\tH\x04R\tcontextId\x88\x01\x01B\x12\n\x10_current_contextB\x13\n\x11_proposed_contextB\x07\n\x05_diffB\x10\n\x0e_error_messageB\r\n\x0b_context_id"J\n\x18OntologyEditorListFilter\x12 \n\tobject_id\x18\x01 \x01(\tH\x00R\x08objectId\x88\x01\x01B\x0c\n\n_object_id"\xc7\x11\n\x12OntologyEditorCell\x12E\n\x06action\x18\x01 \x01(\x0e2-.textql.rpc.public.cells.OntologyEditorActionR\x06action\x12Q\n\tlist_type\x18\x02 \x01(\x0e2/.textql.rpc.public.cells.OntologyEditorListTypeH\x00R\x08listType\x88\x01\x01\x12S\n\toperation\x18\x03 \x01(\x0e20.textql.rpc.public.cells.OntologyEditorOperationH\x01R\toperation\x88\x01\x01\x12E\n\x06status\x18\x04 \x01(\x0e2-.textql.rpc.public.cells.OntologyEditorStatusR\x06status\x12W\n\x0blist_filter\x18\x05 \x01(\x0b21.textql.rpc.public.cells.OntologyEditorListFilterH\x02R\nlistFilter\x88\x01\x01\x12"\n\nlist_count\x18\x13 \x01(\x05H\x03R\tlistCount\x88\x01\x01\x12M\n\x0clist_objects\x18\x14 \x03(\x0b2*.textql.rpc.public.ontology.OntologyObjectR\x0blistObjects\x12V\n\x0flist_attributes\x18\x15 \x03(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\x0elistAttributes\x12S\n\x0elist_relations\x18\x16 \x03(\x0b2,.textql.rpc.public.ontology.OntologyRelationR\rlistRelations\x12M\n\x0clist_metrics\x18\x17 \x03(\x0b2*.textql.rpc.public.ontology.OntologyMetricR\x0blistMetrics\x12V\n\x0ecreated_object\x18\x06 \x01(\x0b2*.textql.rpc.public.ontology.OntologyObjectH\x04R\rcreatedObject\x88\x01\x01\x12\\\n\x12created_attributes\x18\x07 \x03(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\x11createdAttributes\x12V\n\x0eupdated_object\x18\x08 \x01(\x0b2*.textql.rpc.public.ontology.OntologyObjectH\x05R\rupdatedObject\x88\x01\x01\x12V\n\x0edeleted_object\x18\t \x01(\x0b2*.textql.rpc.public.ontology.OntologyObjectH\x06R\rdeletedObject\x88\x01\x01\x12_\n\x11created_attribute\x18\n \x01(\x0b2-.textql.rpc.public.ontology.OntologyAttributeH\x07R\x10createdAttribute\x88\x01\x01\x12_\n\x11updated_attribute\x18\x0b \x01(\x0b2-.textql.rpc.public.ontology.OntologyAttributeH\x08R\x10updatedAttribute\x88\x01\x01\x12_\n\x11deleted_attribute\x18\x0c \x01(\x0b2-.textql.rpc.public.ontology.OntologyAttributeH\tR\x10deletedAttribute\x88\x01\x01\x12T\n\x0ccreated_link\x18\r \x01(\x0b2,.textql.rpc.public.ontology.OntologyRelationH\nR\x0bcreatedLink\x88\x01\x01\x12T\n\x0cupdated_link\x18\x0e \x01(\x0b2,.textql.rpc.public.ontology.OntologyRelationH\x0bR\x0bupdatedLink\x88\x01\x01\x12T\n\x0cdeleted_link\x18\x0f \x01(\x0b2,.textql.rpc.public.ontology.OntologyRelationH\x0cR\x0bdeletedLink\x88\x01\x01\x12V\n\x0ecreated_metric\x18\x10 \x01(\x0b2*.textql.rpc.public.ontology.OntologyMetricH\rR\rcreatedMetric\x88\x01\x01\x12V\n\x0eupdated_metric\x18\x11 \x01(\x0b2*.textql.rpc.public.ontology.OntologyMetricH\x0eR\rupdatedMetric\x88\x01\x01\x12V\n\x0edeleted_metric\x18\x12 \x01(\x0b2*.textql.rpc.public.ontology.OntologyMetricH\x0fR\rdeletedMetric\x88\x01\x01B\x0c\n\n_list_typeB\x0c\n\n_operationB\x0e\n\x0c_list_filterB\r\n\x0b_list_countB\x11\n\x0f_created_objectB\x11\n\x0f_updated_objectB\x11\n\x0f_deleted_objectB\x14\n\x12_created_attributeB\x14\n\x12_updated_attributeB\x14\n\x12_deleted_attributeB\x0f\n\r_created_linkB\x0f\n\r_updated_linkB\x0f\n\r_deleted_linkB\x11\n\x0f_created_metricB\x11\n\x0f_updated_metricB\x11\n\x0f_deleted_metric"\xdb\x02\n\x0bMCPToolCell\x12\x1f\n\x0bserver_name\x18\x01 \x01(\tR\nserverName\x12\x1b\n\ttool_name\x18\x02 \x01(\tR\x08toolName\x12%\n\x0earguments_json\x18\x03 \x01(\tR\rargumentsJson\x12&\n\x0ccontent_json\x18\x04 \x01(\tH\x00R\x0bcontentJson\x88\x01\x01\x12\x1e\n\x08is_error\x18\x05 \x01(\x08H\x01R\x07isError\x88\x01\x01\x12(\n\rerror_message\x18\x06 \x01(\tH\x02R\x0cerrorMessage\x88\x01\x01\x12/\n\x11execution_time_ms\x18\x07 \x01(\x03H\x03R\x0fexecutionTimeMs\x88\x01\x01B\x0f\n\r_content_jsonB\x0b\n\t_is_errorB\x10\n\x0e_error_messageB\x14\n\x12_execution_time_ms"L\n\x0cUseSkillCell\x12\x18\n\x07trigger\x18\x01 \x01(\tR\x07trigger\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x0e\n\x02ok\x18\x03 \x01(\x08R\x02ok"\xcb\x01\n\x12OntologyQueryParam\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x1a\n\x08nullable\x18\x03 \x01(\x08R\x08nullable\x12%\n\x0bdescription\x18\x04 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12(\n\rdefault_value\x18\x05 \x01(\tH\x01R\x0cdefaultValue\x88\x01\x01B\x0e\n\x0c_descriptionB\x10\n\x0e_default_value"\xcb\x06\n\x11OntologyQueryCell\x12\x16\n\x06action\x18\x01 \x01(\tR\x06action\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1f\n\x0bparams_json\x18\x03 \x01(\tR\nparamsJson\x12&\n\x0cconnector_id\x18\x04 \x01(\x05H\x00R\x0bconnectorId\x88\x01\x01\x12T\n\x0fdeclared_params\x18\x05 \x03(\x0b2+.textql.rpc.public.cells.OntologyQueryParamR\x0edeclaredParams\x12\x10\n\x03sql\x18\x06 \x01(\tR\x03sql\x12/\n\x11used_connector_id\x18\x07 \x01(\x05H\x01R\x0fusedConnectorId\x88\x01\x01\x12L\n\tdataframe\x18\x08 \x01(\x0b2..textql.rpc.public.dataframe.DataFrameWithInfoR\tdataframe\x12+\n\x11dataframe_preview\x18\t \x01(\tR\x10dataframePreview\x12#\n\rauth_required\x18\n \x01(\x08R\x0cauthRequired\x12.\n\x13auth_connector_name\x18\x0b \x01(\tR\x11authConnectorName\x12!\n\x0cauth_locator\x18\x0c \x01(\tR\x0bauthLocator\x12$\n\x0eauth_client_id\x18\r \x01(\tR\x0cauthClientId\x12\x1b\n\tauth_role\x18\x0e \x01(\tR\x08authRole\x12%\n\x0eauth_completed\x18\x0f \x01(\x08R\rauthCompleted\x12Z\n\x13auth_connector_type\x18\x10 \x01(\x0e2*.textql.rpc.public.connector.ConnectorTypeR\x11authConnectorType\x121\n\x12auth_workspace_url\x18\x11 \x01(\tH\x02R\x10authWorkspaceUrl\x88\x01\x01B\x0f\n\r_connector_idB\x14\n\x12_used_connector_idB\x15\n\x13_auth_workspace_url"\xcb\x01\n\x0bPreviewCell\x12\x16\n\x06target\x18\x01 \x01(\tR\x06target\x12!\n\x0cpreview_type\x18\x02 \x01(\tR\x0bpreviewType\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x15\n\x03url\x18\x04 \x01(\tH\x00R\x03url\x88\x01\x01\x12\x1d\n\x07content\x18\x05 \x01(\tH\x01R\x07content\x88\x01\x01\x12\x19\n\x05error\x18\x06 \x01(\tH\x02R\x05error\x88\x01\x01B\x06\n\x04_urlB\n\n\x08_contentB\x08\n\x06_error"\xa9\x02\n\x0eFormEditorCell\x12A\n\x06action\x18\x01 \x01(\x0e2).textql.rpc.public.cells.FormEditorActionR\x06action\x12O\n\rform_snapshot\x18\x02 \x01(\x0b2%.textql.rpc.public.cells.EditableFormH\x00R\x0cformSnapshot\x88\x01\x01\x12>\n\x04form\x18\x03 \x01(\x0b2%.textql.rpc.public.cells.EditableFormH\x01R\x04form\x88\x01\x01\x12\x1c\n\x07form_id\x18\x04 \x01(\tH\x02R\x06formId\x88\x01\x01B\x10\n\x0e_form_snapshotB\x07\n\x05_formB\n\n\x08_form_id"\xfa\x02\n\x08FormCell\x12\x16\n\x06action\x18\x01 \x01(\tR\x06action\x12\x1c\n\x07form_id\x18\x02 \x01(\tH\x00R\x06formId\x88\x01\x01\x12 \n\tform_type\x18\x03 \x01(\tH\x01R\x08formType\x88\x01\x01\x12\x1b\n\x06status\x18\x04 \x01(\tH\x02R\x06status\x88\x01\x01\x12$\n\x0btest_status\x18\x05 \x01(\tH\x03R\ntestStatus\x88\x01\x01\x12\x17\n\x04name\x18\x06 \x01(\tH\x04R\x04name\x88\x01\x01\x12.\n\x10approval_outcome\x18\x07 \x01(\tH\x05R\x0fapprovalOutcome\x88\x01\x01\x12&\n\x0ctest_message\x18\x08 \x01(\tH\x06R\x0btestMessage\x88\x01\x01B\n\n\x08_form_idB\x0c\n\n_form_typeB\t\n\x07_statusB\x0e\n\x0c_test_statusB\x07\n\x05_nameB\x13\n\x11_approval_outcomeB\x0f\n\r_test_message"\xeb\x02\n\x0cEditableForm\x12\x1b\n\tform_name\x18\x01 \x01(\tR\x08formName\x12/\n\x06fields\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06fields\x12C\n\x06status\x18\x03 \x01(\x0e2+.textql.rpc.public.cells.EditableFormStatusR\x06status\x12\x0e\n\x02id\x18\x04 \x01(\tR\x02id\x12&\n\x0csubmit_error\x18\x05 \x01(\tH\x00R\x0bsubmitError\x88\x01\x01\x12(\n\rsubmit_result\x18\x06 \x01(\tH\x01R\x0csubmitResult\x88\x01\x01\x12.\n\x10validation_error\x18\x07 \x01(\tH\x02R\x0fvalidationError\x88\x01\x01B\x0f\n\r_submit_errorB\x10\n\x0e_submit_resultB\x13\n\x11_validation_error"F\n\x0cConnectorRef\x12\x0e\n\x02id\x18\x01 \x01(\x05R\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type"8\n\x0cOrgMemberRef\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"D\n\x0fSlackChannelRef\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name";\n\x0cSlackUserRef\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"D\n\x0fTeamsChannelRef\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"B\n\x0cTeamsUserRef\x12\x1e\n\x0buser_aad_id\x18\x01 \x01(\tR\tuserAadId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"f\n\x0bFieldChange\x12\x1d\n\nfield_name\x18\x01 \x01(\tR\tfieldName\x12\x1b\n\told_value\x18\x02 \x01(\tR\x08oldValue\x12\x1b\n\tnew_value\x18\x03 \x01(\tR\x08newValue"\xae\x08\n\x0cPlaybookInfo\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06prompt\x18\x03 \x01(\tR\x06prompt\x12\x19\n\x08owner_id\x18\x04 \x01(\tR\x07ownerId\x12\x1f\n\x0bowner_email\x18\x05 \x01(\tR\nownerEmail\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1f\n\x0bcron_string\x18\x08 \x01(\tR\ncronString\x12>\n\x08datasets\x18\t \x03(\x0b2".textql.rpc.public.dataset.DatasetR\x08datasets\x12\'\n\x0femail_addresses\x18\n \x03(\tR\x0eemailAddresses\x12-\n\x10slack_channel_id\x18\x0b \x01(\tH\x00R\x0eslackChannelId\x88\x01\x01\x121\n\x15tagged_slack_user_ids\x18\x0c \x03(\tR\x12taggedSlackUserIds\x12D\n\x06status\x18\r \x01(\x0e2,.textql.rpc.public.cells.PlaybookStatusLightR\x06status\x12*\n\x0cconnector_id\x18\x0e \x01(\x05B\x02\x18\x01H\x01R\x0bconnectorId\x88\x01\x01\x12R\n\rparadigm_type\x18\x0f \x01(\x0e2(.textql.rpc.paradigm_params.ParadigmTypeH\x02R\x0cparadigmType\x88\x01\x01\x12f\n\x13report_output_style\x18\x10 \x01(\x0e21.textql.rpc.public.cells.PlaybookReportStyleLightH\x03R\x11reportOutputStyle\x88\x01\x01\x12#\n\ris_subscribed\x18\x11 \x01(\x08R\x0cisSubscribed\x12#\n\rconnector_ids\x18\x12 \x03(\x05R\x0cconnectorIds\x12-\n\x10teams_channel_id\x18\x13 \x01(\tH\x04R\x0eteamsChannelId\x88\x01\x01\x128\n\x19tagged_teams_user_aad_ids\x18\x14 \x03(\tR\x15taggedTeamsUserAadIdsB\x13\n\x11_slack_channel_idB\x0f\n\r_connector_idB\x10\n\x0e_paradigm_typeB\x16\n\x14_report_output_styleB\x13\n\x11_teams_channel_id"\xc3\x06\n\x12PlaybookEditorCell\x12E\n\x06action\x18\x01 \x01(\x0e2-.textql.rpc.public.cells.PlaybookEditorActionR\x06action\x12C\n\tplaybooks\x18\x02 \x03(\x0b2%.textql.rpc.public.cells.PlaybookInfoR\tplaybooks\x12(\n\rerror_message\x18\x03 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12\x1f\n\x0btotal_count\x18\x04 \x01(\x05R\ntotalCount\x12O\n\x0eslack_channels\x18\x05 \x03(\x0b2(.textql.rpc.public.cells.SlackChannelRefR\rslackChannels\x12F\n\x0bslack_users\x18\x06 \x03(\x0b2%.textql.rpc.public.cells.SlackUserRefR\nslackUsers\x12E\n\nconnectors\x18\x07 \x03(\x0b2%.textql.rpc.public.cells.ConnectorRefR\nconnectors\x12F\n\x0borg_members\x18\x08 \x03(\x0b2%.textql.rpc.public.cells.OrgMemberRefR\norgMembers\x12\x1b\n\thas_slack\x18\t \x01(\x08R\x08hasSlack\x12I\n\rfield_changes\x18\n \x03(\x0b2$.textql.rpc.public.cells.FieldChangeR\x0cfieldChanges\x12O\n\x0eteams_channels\x18\x0b \x03(\x0b2(.textql.rpc.public.cells.TeamsChannelRefR\rteamsChannels\x12F\n\x0bteams_users\x18\x0c \x03(\x0b2%.textql.rpc.public.cells.TeamsUserRefR\nteamsUsers\x12\x1b\n\thas_teams\x18\r \x01(\x08R\x08hasTeamsB\x10\n\x0e_error_message"\xeb\x01\n\x0fGoogleDriveFile\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12\x17\n\x04size\x18\x04 \x01(\x03H\x00R\x04size\x88\x01\x01\x12(\n\rmodified_time\x18\x05 \x01(\tH\x01R\x0cmodifiedTime\x88\x01\x01\x12\'\n\rweb_view_link\x18\x06 \x01(\tH\x02R\x0bwebViewLink\x88\x01\x01B\x07\n\x05_sizeB\x10\n\x0e_modified_timeB\x10\n\x0e_web_view_link"\xfa\x01\n\x15GoogleDriveSearchCell\x12>\n\x05files\x18\x01 \x03(\x0b2(.textql.rpc.public.cells.GoogleDriveFileR\x05files\x120\n\x11dataframe_preview\x18\x02 \x01(\tH\x00R\x10dataframePreview\x88\x01\x01\x12(\n\rerror_message\x18\x03 \x01(\tH\x01R\x0cerrorMessage\x88\x01\x01\x12\x1d\n\nfile_count\x18\x04 \x01(\x05R\tfileCountB\x14\n\x12_dataframe_previewB\x10\n\x0e_error_message"\x92\x02\n\x16GoogleDriveContentCell\x12 \n\tfile_name\x18\x01 \x01(\tH\x00R\x08fileName\x88\x01\x01\x12&\n\x0ccontent_type\x18\x02 \x01(\tH\x01R\x0bcontentType\x88\x01\x01\x12\x1d\n\x07content\x18\x03 \x01(\tH\x02R\x07content\x88\x01\x01\x12\x1c\n\x07file_id\x18\x04 \x01(\tH\x03R\x06fileId\x88\x01\x01\x12(\n\rerror_message\x18\x05 \x01(\tH\x04R\x0cerrorMessage\x88\x01\x01B\x0c\n\n_file_nameB\x0f\n\r_content_typeB\n\n\x08_contentB\n\n\x08_file_idB\x10\n\x0e_error_message"\xcc\x01\n\x1bMicrosoft365EmailSearchCell\x12\x1f\n\x0bemail_count\x18\x01 \x01(\x05R\nemailCount\x12(\n\remail_summary\x18\x02 \x01(\tH\x00R\x0cemailSummary\x88\x01\x01\x126\n\x15synthetic_tool_use_id\x18\x03 \x01(\tH\x01R\x12syntheticToolUseId\x88\x01\x01B\x10\n\x0e_email_summaryB\x18\n\x16_synthetic_tool_use_id"\xf0\x01\n\x1cMicrosoft365EmailContentCell\x12\x1e\n\x08email_id\x18\x01 \x01(\tH\x00R\x07emailId\x88\x01\x01\x12\x1d\n\x07subject\x18\x02 \x01(\tH\x01R\x07subject\x88\x01\x01\x12\x1b\n\x06sender\x18\x03 \x01(\tH\x02R\x06sender\x88\x01\x01\x126\n\x15synthetic_tool_use_id\x18\x04 \x01(\tH\x03R\x12syntheticToolUseId\x88\x01\x01B\x0b\n\t_email_idB\n\n\x08_subjectB\t\n\x07_senderB\x18\n\x16_synthetic_tool_use_id"\xc9\x01\n\x18Microsoft365CalendarCell\x12\x1f\n\x0bevent_count\x18\x01 \x01(\x05R\neventCount\x12(\n\revent_summary\x18\x02 \x01(\tH\x00R\x0ceventSummary\x88\x01\x01\x126\n\x15synthetic_tool_use_id\x18\x03 \x01(\tH\x01R\x12syntheticToolUseId\x88\x01\x01B\x10\n\x0e_event_summaryB\x18\n\x16_synthetic_tool_use_id"\xc5\x01\n\x14GmailEmailSearchCell\x12\x1f\n\x0bemail_count\x18\x01 \x01(\x05R\nemailCount\x12(\n\remail_summary\x18\x02 \x01(\tH\x00R\x0cemailSummary\x88\x01\x01\x126\n\x15synthetic_tool_use_id\x18\x03 \x01(\tH\x01R\x12syntheticToolUseId\x88\x01\x01B\x10\n\x0e_email_summaryB\x18\n\x16_synthetic_tool_use_id"\xc9\x01\n\x18GoogleCalendarSearchCell\x12\x1f\n\x0bevent_count\x18\x01 \x01(\x05R\neventCount\x12(\n\revent_summary\x18\x02 \x01(\tH\x00R\x0ceventSummary\x88\x01\x01\x126\n\x15synthetic_tool_use_id\x18\x03 \x01(\tH\x01R\x12syntheticToolUseId\x88\x01\x01B\x10\n\x0e_event_summaryB\x18\n\x16_synthetic_tool_use_id"\xe9\x01\n\x15GmailEmailContentCell\x12\x1e\n\x08email_id\x18\x01 \x01(\tH\x00R\x07emailId\x88\x01\x01\x12\x1d\n\x07subject\x18\x02 \x01(\tH\x01R\x07subject\x88\x01\x01\x12\x1b\n\x06sender\x18\x03 \x01(\tH\x02R\x06sender\x88\x01\x01\x126\n\x15synthetic_tool_use_id\x18\x04 \x01(\tH\x03R\x12syntheticToolUseId\x88\x01\x01B\x0b\n\t_email_idB\n\n\x08_subjectB\t\n\x07_senderB\x18\n\x16_synthetic_tool_use_id"~\n\x0ePreviewCellRef\x12\x16\n\x06target\x18\x01 \x01(\tR\x06target\x12!\n\x0cpreview_type\x18\x02 \x01(\tR\x0bpreviewType\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x15\n\x03url\x18\x04 \x01(\tH\x00R\x03url\x88\x01\x01B\x06\n\x04_url"\xbb\x03\n\x11ReportHistoryInfo\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId\x12\x17\n\x07cell_id\x18\x03 \x01(\tR\x06cellId\x129\n\ncreated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x18\n\x07subject\x18\x05 \x01(\tR\x07subject\x12\x18\n\x07summary\x18\x06 \x01(\tR\x07summary\x12>\n\x06blocks\x18\x07 \x03(\x0b2&.textql.rpc.public.reports.ReportBlockR\x06blocks\x128\n\x07read_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x06readAt\x88\x01\x01\x12L\n\rpreview_cells\x18\t \x03(\x0b2\'.textql.rpc.public.cells.PreviewCellRefR\x0cpreviewCells\x12!\n\x0chtml_preview\x18\n \x01(\tR\x0bhtmlPreviewB\n\n\x08_read_at"\xb6\x01\n\x11ReportHistoryCell\x12D\n\x07reports\x18\x01 \x03(\x0b2*.textql.rpc.public.cells.ReportHistoryInfoR\x07reports\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount\x12(\n\rerror_message\x18\x03 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01B\x10\n\x0e_error_message"o\n\x08BashCell\x12\x16\n\x06script\x18\x01 \x01(\tR\x06script\x12\x16\n\x06stdout\x18\x02 \x01(\tR\x06stdout\x12\x16\n\x06stderr\x18\x03 \x01(\tR\x06stderr\x12\x1b\n\texit_code\x18\x04 \x01(\x05R\x08exitCode"\xd1\x01\n\x0eJavaScriptCell\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x14\n\x05title\x18\x02 \x01(\tR\x05title\x12<\n\x05files\x18\x03 \x03(\x0b2&.textql.rpc.public.cells.FileReferenceR\x05files\x12?\n\x06images\x18\x04 \x03(\x0b2\'.textql.rpc.public.cells.ImageReferenceR\x06images\x12\x16\n\x06stdout\x18\x05 \x01(\tR\x06stdout"\x86\x03\n\x0cFeedPostCell\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content\x12\x1d\n\nimage_urls\x18\x03 \x03(\tR\timageUrls\x12#\n\rdashboard_ids\x18\x04 \x03(\tR\x0cdashboardIds\x12\x1d\n\nreport_ids\x18\x05 \x03(\tR\treportIds\x12\x19\n\x08chat_ids\x18\x06 \x03(\tR\x07chatIds\x12\x17\n\x07post_id\x18\x07 \x01(\tR\x06postId\x12\x19\n\x08post_url\x18\x08 \x01(\tR\x07postUrl\x12\x1c\n\ttimestamp\x18\t \x01(\tR\ttimestamp\x12\x14\n\x05error\x18\n \x01(\tR\x05error\x120\n\x14mentioned_member_ids\x18\x0b \x03(\tR\x12mentionedMemberIds\x12.\n\x13mentioned_agent_ids\x18\x0c \x03(\tR\x11mentionedAgentIds"\xd4\x02\n\x0fFeedCommentCell\x12\x17\n\x07post_id\x18\x01 \x01(\tR\x06postId\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content\x12\x1d\n\ncomment_id\x18\x03 \x01(\tR\tcommentId\x12\x1f\n\x0bcomment_url\x18\x04 \x01(\tR\ncommentUrl\x12\x1c\n\ttimestamp\x18\x05 \x01(\tR\ttimestamp\x12\x14\n\x05error\x18\x06 \x01(\tR\x05error\x12\x1d\n\npost_title\x18\x07 \x01(\tR\tpostTitle\x12\x1f\n\x0bpost_author\x18\x08 \x01(\tR\npostAuthor\x12*\n\x11post_upvote_count\x18\t \x01(\x05R\x0fpostUpvoteCount\x12.\n\x13post_downvote_count\x18\n \x01(\x05R\x11postDownvoteCount"\xf9\x01\n\x0eFeedEngageCell\x12\x19\n\x08thing_id\x18\x01 \x01(\tR\x07thingId\x12\x1b\n\tvote_type\x18\x02 \x01(\tR\x08voteType\x12!\n\x0cupvote_count\x18\x03 \x01(\x05R\x0bupvoteCount\x12%\n\x0edownvote_count\x18\x04 \x01(\x05R\rdownvoteCount\x12\x1c\n\ttimestamp\x18\x05 \x01(\tR\ttimestamp\x12\x14\n\x05error\x18\x06 \x01(\tR\x05error\x12\x10\n\x03url\x18\x07 \x01(\tR\x03url\x12\x1f\n\x0bthing_title\x18\x08 \x01(\tR\nthingTitle"\xec\x02\n\rDashboardInfo\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x03 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12\x1d\n\ncreator_id\x18\x05 \x01(\tR\tcreatorId\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12B\n\x0crefreshed_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x0brefreshedAt\x88\x01\x01B\x0e\n\x0c_descriptionB\x0f\n\r_refreshed_at"\xaa\x02\n\x12ListDashboardsCell\x12\x1f\n\x0bsearch_term\x18\x01 \x01(\tR\nsearchTerm\x12!\n\x0cdashboard_id\x18\x02 \x01(\tR\x0bdashboardId\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x05R\ntotalCount\x12+\n\x11sandbox_available\x18\x04 \x01(\x08R\x10sandboxAvailable\x12(\n\rerror_message\x18\x05 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12F\n\ndashboards\x18\x06 \x03(\x0b2&.textql.rpc.public.cells.DashboardInfoR\ndashboardsB\x10\n\x0e_error_message"\x87\x01\n\tAgentInfo\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n\navatar_url\x18\x03 \x01(\tR\tavatarUrl\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x12\x19\n\x05email\x18\x05 \x01(\tH\x00R\x05email\x88\x01\x01B\x08\n\x06_email"\x93\x02\n\rListUsersCell\x12\x1f\n\x0bsearch_term\x18\x01 \x01(\tR\nsearchTerm\x12\x1b\n\tuser_type\x18\x02 \x01(\tR\x08userType\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x05R\ntotalCount\x12+\n\x11sandbox_available\x18\x04 \x01(\x08R\x10sandboxAvailable\x12(\n\rerror_message\x18\x05 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12:\n\x06agents\x18\x06 \x03(\x0b2".textql.rpc.public.cells.AgentInfoR\x06agentsB\x10\n\x0e_error_message"I\n\x0eConnectorsCell\x12\x16\n\x06action\x18\x01 \x01(\tR\x06action\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount"\x86\x04\n\rFeedAgentInfo\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06prompt\x18\x03 \x01(\tR\x06prompt\x12\x1b\n\tis_active\x18\x06 \x01(\x08R\x08isActive\x129\n\ncreated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12[\n\x10paradigm_options\x18\x08 \x01(\x0b2+.textql.rpc.public.paradigm.ParadigmOptionsH\x00R\x0fparadigmOptions\x88\x01\x01\x12#\n\rconnector_ids\x18\t \x03(\x05R\x0cconnectorIds\x12B\n\tllm_model\x18\x0b \x01(\x0e2 .textql.rpc.public.chat.LlmModelH\x01R\x08llmModel\x88\x01\x01\x12 \n\tfast_mode\x18\x0c \x01(\x08H\x02R\x08fastMode\x88\x01\x01\x126\n\x17posting_frequency_crons\x18\r \x03(\tR\x15postingFrequencyCronsB\x13\n\x11_paradigm_optionsB\x0c\n\n_llm_modelB\x0c\n\n_fast_modeJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\n\x10\x0b"\x94\x03\n\x0eFeedCreateCell\x12@\n\x06action\x18\x01 \x01(\x0e2(.textql.rpc.public.cells.FeedAgentActionR\x06action\x12A\n\x05agent\x18\x02 \x01(\x0b2&.textql.rpc.public.cells.FeedAgentInfoH\x00R\x05agent\x88\x01\x01\x12(\n\rerror_message\x18\x03 \x01(\tH\x01R\x0cerrorMessage\x88\x01\x01\x12%\n\x0eupdated_fields\x18\x04 \x03(\tR\rupdatedFields\x12I\n\rfield_changes\x18\x05 \x03(\x0b2$.textql.rpc.public.cells.FieldChangeR\x0cfieldChanges\x12E\n\nconnectors\x18\x06 \x03(\x0b2%.textql.rpc.public.cells.ConnectorRefR\nconnectorsB\x08\n\x06_agentB\x10\n\x0e_error_message"\xa9\x01\n\x0eEmailRecipient\x12\x18\n\x07address\x18\x01 \x01(\tR\x07address\x12\x14\n\x05class\x18\x02 \x01(\tR\x05class\x12 \n\tmember_id\x18\x03 \x01(\tH\x00R\x08memberId\x88\x01\x01\x12&\n\x0cdisplay_name\x18\x04 \x01(\tH\x01R\x0bdisplayName\x88\x01\x01B\x0c\n\n_member_idB\x0f\n\r_display_name"\xe2\x03\n\tEmailCell\x12\x0e\n\x02to\x18\x01 \x03(\tR\x02to\x12\x18\n\x07subject\x18\x02 \x01(\tR\x07subject\x12\x12\n\x04body\x18\x03 \x01(\tR\x04body\x12G\n\nrecipients\x18\x04 \x03(\x0b2\'.textql.rpc.public.cells.EmailRecipientR\nrecipients\x12\x16\n\x06status\x18\x05 \x01(\tR\x06status\x12\x1c\n\x07sent_at\x18\x06 \x01(\tH\x00R\x06sentAt\x88\x01\x01\x12"\n\nmessage_id\x18\x07 \x01(\tH\x01R\tmessageId\x88\x01\x01\x12(\n\rerror_message\x18\x08 \x01(\tH\x02R\x0cerrorMessage\x88\x01\x01\x12$\n\x0berror_class\x18\t \x01(\tH\x03R\nerrorClass\x88\x01\x01\x12\x1d\n\nsent_count\x18\n \x01(\x05R\tsentCount\x121\n\x12rendered_body_html\x18\x0b \x01(\tH\x04R\x10renderedBodyHtml\x88\x01\x01B\n\n\x08_sent_atB\r\n\x0b_message_idB\x10\n\x0e_error_messageB\x0e\n\x0c_error_classB\x15\n\x13_rendered_body_html"\xbb\x03\n\tPatchCell\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x16\n\x06number\x18\x03 \x01(\x05R\x06number\x12#\n\rhas_conflicts\x18\x04 \x01(\x08R\x0chasConflicts\x12#\n\rconflict_view\x18\x05 \x01(\tR\x0cconflictView\x12>\n\x06status\x18\x06 \x01(\x0e2&.textql.rpc.public.patches.PatchStatusR\x06status\x12:\n\x05diffs\x18\x07 \x03(\x0b2$.textql.rpc.public.patches.PatchDiffR\x05diffs\x12\x19\n\x08patch_id\x18\x08 \x01(\tR\x07patchId\x12\x17\n\x07git_ref\x18\t \x01(\tR\x06gitRef\x12#\n\rauto_approved\x18\n \x01(\x08R\x0cautoApproved\x12?\n\x1cauto_approved_rule_directory\x18\x0b \x01(\tR\x19autoApprovedRuleDirectory"\x92\x01\n\x0eQuestionOption\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x02 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12%\n\x0bexplanation\x18\x03 \x01(\tH\x01R\x0bexplanation\x88\x01\x01B\x0e\n\x0c_descriptionB\x0e\n\x0c_explanation"\xfb\x01\n\rQuestionInput\x12>\n\x04kind\x18\x01 \x01(\x0e2*.textql.rpc.public.cells.QuestionInputKindR\x04kind\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12%\n\x0bexplanation\x18\x03 \x01(\tH\x00R\x0bexplanation\x88\x01\x01\x12\x1c\n\tsensitive\x18\x04 \x01(\x08R\tsensitive\x12+\n\x0fform_path_label\x18\x05 \x01(\tH\x01R\rformPathLabel\x88\x01\x01B\x0e\n\x0c_explanationB\x12\n\x10_form_path_label"\xc2\x02\n\x0cQuestionSpec\x12\x1a\n\x08question\x18\x01 \x01(\tR\x08question\x12%\n\x0bexplanation\x18\x02 \x01(\tH\x00R\x0bexplanation\x88\x01\x01\x129\n\x04kind\x18\x03 \x01(\x0e2%.textql.rpc.public.cells.QuestionKindR\x04kind\x12A\n\x07options\x18\x04 \x03(\x0b2\'.textql.rpc.public.cells.QuestionOptionR\x07options\x12!\n\x0callow_custom\x18\x05 \x01(\x08R\x0ballowCustom\x12>\n\x06inputs\x18\x06 \x03(\x0b2&.textql.rpc.public.cells.QuestionInputR\x06inputsB\x0e\n\x0c_explanation"\x88\x01\n\x0eQuestionAnswer\x12\x1a\n\x08selected\x18\x01 \x03(\tR\x08selected\x12\x1b\n\x06custom\x18\x02 \x01(\tH\x00R\x06custom\x88\x01\x01\x12\x16\n\x06inputs\x18\x03 \x03(\tR\x06inputs\x12\x1a\n\x08provided\x18\x04 \x03(\x08R\x08providedB\t\n\x07_custom"\x80\x02\n\rQuestionsCell\x12@\n\x06status\x18\x01 \x01(\x0e2(.textql.rpc.public.cells.QuestionsStatusR\x06status\x12C\n\tquestions\x18\x02 \x03(\x0b2%.textql.rpc.public.cells.QuestionSpecR\tquestions\x12A\n\x07answers\x18\x03 \x03(\x0b2\'.textql.rpc.public.cells.QuestionAnswerR\x07answers\x12%\n\x0eanswered_count\x18\x04 \x01(\x05R\ransweredCount"\xa7\x03\n\x08Citation\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05claim\x18\x02 \x01(\tR\x05claim\x12)\n\x0esource_cell_id\x18\x03 \x01(\tH\x00R\x0csourceCellId\x88\x01\x01\x12"\n\nsource_ref\x18\x04 \x01(\tH\x01R\tsourceRef\x88\x01\x01\x12*\n\x0esource_locator\x18\x05 \x01(\tH\x02R\rsourceLocator\x88\x01\x01\x12\x16\n\x06anchor\x18\x06 \x01(\tR\x06anchor\x12$\n\x0bquoted_text\x18\x07 \x01(\tH\x03R\nquotedText\x88\x01\x01\x12!\n\trationale\x18\x08 \x01(\tH\x04R\trationale\x88\x01\x01\x12F\n\x07lineage\x18\t \x03(\x0b2,.textql.rpc.public.cells.CitationLineageNodeR\x07lineageB\x11\n\x0f_source_cell_idB\r\n\x0b_source_refB\x11\n\x0f_source_locatorB\x0e\n\x0c_quoted_textB\x0c\n\n_rationale"\xf8\x01\n\x13CitationLineageNode\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12\x12\n\x04kind\x18\x02 \x01(\tR\x04kind\x12*\n\x0edataframe_name\x18\x03 \x01(\tH\x00R\rdataframeName\x88\x01\x01\x12&\n\x0cconnector_id\x18\x04 \x01(\x05H\x01R\x0bconnectorId\x88\x01\x01\x12\x16\n\x06tables\x18\x06 \x03(\tR\x06tables\x12$\n\x0einput_cell_ids\x18\x07 \x03(\tR\x0cinputCellIdsB\x11\n\x0f_dataframe_nameB\x0f\n\r_connector_id"\x84\x03\n\x07AppCell\x12\x16\n\x06action\x18\x01 \x01(\tR\x06action\x12\x15\n\x06app_id\x18\x02 \x01(\tR\x05appId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12(\n\rerror_message\x18\x04 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12*\n\x0escreenshot_url\x18\x05 \x01(\tH\x01R\rscreenshotUrl\x88\x01\x01\x12#\n\x0blast_run_at\x18\x06 \x01(\tH\x02R\tlastRunAt\x88\x01\x01\x12-\n\x10build_line_count\x18\x07 \x01(\x05H\x03R\x0ebuildLineCount\x88\x01\x01\x12-\n\x10build_file_count\x18\x08 \x01(\x05H\x04R\x0ebuildFileCount\x88\x01\x01B\x10\n\x0e_error_messageB\x11\n\x0f_screenshot_urlB\x0e\n\x0c_last_run_atB\x13\n\x11_build_line_countB\x13\n\x11_build_file_count"\xbb\x03\n\x07AppInfo\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x03 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12\x1d\n\ncreator_id\x18\x05 \x01(\tR\tcreatorId\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12B\n\x0crefreshed_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x0brefreshedAt\x88\x01\x01\x12B\n\x0cpublished_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x0bpublishedAt\x88\x01\x01B\x0e\n\x0c_descriptionB\x0f\n\r_refreshed_atB\x0f\n\r_published_at"\xd9\x01\n\x0cListAppsCell\x12\x1f\n\x0bsearch_term\x18\x01 \x01(\tR\nsearchTerm\x12\x15\n\x06app_id\x18\x02 \x01(\tR\x05appId\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x05R\ntotalCount\x12(\n\rerror_message\x18\x04 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x124\n\x04apps\x18\x05 \x03(\x0b2 .textql.rpc.public.cells.AppInfoR\x04appsB\x10\n\x0e_error_message*\x87\x01\n\x0fDashboardAction\x12\x1c\n\x18DASHBOARD_ACTION_UNKNOWN\x10\x00\x12\x1b\n\x17DASHBOARD_ACTION_CREATE\x10\x01\x12\x1b\n\x17DASHBOARD_ACTION_UPDATE\x10\x02\x12\x1c\n\x18DASHBOARD_ACTION_PUBLISH\x10\x03*Z\n\rWebSearchType\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x11\n\rTYPE_RESEARCH\x10\x01\x12\x11\n\rTYPE_QUESTION\x10\x02\x12\x11\n\rTYPE_CONTENTS\x10\x03*\x81\x01\n\tDateRange\x12\x11\n\rRANGE_UNKNOWN\x10\x00\x12\r\n\tRANGE_ALL\x10\x01\x12\x12\n\x0eRANGE_PAST_DAY\x10\x02\x12\x13\n\x0fRANGE_PAST_WEEK\x10\x03\x12\x14\n\x10RANGE_PAST_MONTH\x10\x04\x12\x13\n\x0fRANGE_PAST_YEAR\x10\x05*f\n\x19ContextPromptEditorAction\x12\x12\n\x0eACTION_UNKNOWN\x10\x00\x12\x0e\n\nACTION_GET\x10\x01\x12\x12\n\x0eACTION_PROPOSE\x10\x02\x12\x11\n\rACTION_CREATE\x10\x03*~\n\x19ContextPromptChangeStatus\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x00\x12\x10\n\x0cSTATUS_DRAFT\x10\x01\x12\x12\n\x0eSTATUS_PENDING\x10\x02\x12\x13\n\x0fSTATUS_REJECTED\x10\x03\x12\x12\n\x0eSTATUS_APPLIED\x10\x04*\xbe\x01\n\x14OntologyEditorAction\x12\x1b\n\x17ONTOLOGY_ACTION_UNKNOWN\x10\x00\x12\x18\n\x14ONTOLOGY_ACTION_LIST\x10\x01\x12\x1a\n\x16ONTOLOGY_ACTION_OBJECT\x10\x02\x12\x18\n\x14ONTOLOGY_ACTION_LINK\x10\x03\x12\x1d\n\x19ONTOLOGY_ACTION_ATTRIBUTE\x10\x04\x12\x1a\n\x16ONTOLOGY_ACTION_METRIC\x10\x05*\x8c\x01\n\x16OntologyEditorListType\x12\x15\n\x11LIST_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11LIST_TYPE_OBJECTS\x10\x01\x12\x13\n\x0fLIST_TYPE_LINKS\x10\x02\x12\x18\n\x14LIST_TYPE_ATTRIBUTES\x10\x03\x12\x15\n\x11LIST_TYPE_METRICS\x10\x04*r\n\x17OntologyEditorOperation\x12\x15\n\x11OPERATION_UNKNOWN\x10\x00\x12\x14\n\x10OPERATION_CREATE\x10\x01\x12\x14\n\x10OPERATION_UPDATE\x10\x02\x12\x14\n\x10OPERATION_DELETE\x10\x03*\xa4\x01\n\x14OntologyEditorStatus\x12\x1b\n\x17ONTOLOGY_STATUS_UNKNOWN\x10\x00\x12\x19\n\x15ONTOLOGY_STATUS_DRAFT\x10\x01\x12\x1b\n\x17ONTOLOGY_STATUS_APPLIED\x10\x02\x12\x1c\n\x18ONTOLOGY_STATUS_REJECTED\x10\x03\x12\x19\n\x15ONTOLOGY_STATUS_ERROR\x10\x04*\xb7\x01\n\x14PlaybookEditorAction\x12\x1b\n\x17PLAYBOOK_ACTION_UNKNOWN\x10\x00\x12\x18\n\x14PLAYBOOK_ACTION_LIST\x10\x01\x12\x17\n\x13PLAYBOOK_ACTION_GET\x10\x02\x12\x1a\n\x16PLAYBOOK_ACTION_CREATE\x10\x03\x12\x1a\n\x16PLAYBOOK_ACTION_UPDATE\x10\x04\x12\x17\n\x13PLAYBOOK_ACTION_RUN\x10\x05*\xaa\x01\n\x10FormEditorAction\x12\x1e\n\x1aFORM_EDITOR_ACTION_UNKNOWN\x10\x00\x12\x1b\n\x17FORM_EDITOR_ACTION_INFO\x10\x01\x12\x1b\n\x17FORM_EDITOR_ACTION_VIEW\x10\x02\x12\x1d\n\x19FORM_EDITOR_ACTION_CREATE\x10\x03\x12\x1d\n\x19FORM_EDITOR_ACTION_UPDATE\x10\x04*\xe5\x01\n\x12EditableFormStatus\x12 \n\x1cEDITABLE_FORM_STATUS_UNKNOWN\x10\x00\x12\x1e\n\x1aEDITABLE_FORM_STATUS_DRAFT\x10\x01\x12!\n\x1dEDITABLE_FORM_STATUS_MODIFIED\x10\x02\x12#\n\x1fEDITABLE_FORM_STATUS_SUBMITTING\x10\x03\x12"\n\x1eEDITABLE_FORM_STATUS_SUBMITTED\x10\x04\x12!\n\x1dEDITABLE_FORM_STATUS_REJECTED\x10\x05*l\n\x13PlaybookStatusLight\x12\x1b\n\x17PLAYBOOK_STATUS_UNKNOWN\x10\x00\x12\x1a\n\x16PLAYBOOK_STATUS_ACTIVE\x10\x01\x12\x1c\n\x18PLAYBOOK_STATUS_INACTIVE\x10\x02*\x9c\x01\n\x18PlaybookReportStyleLight\x12\x1e\n\x1aREPORT_STYLE_LIGHT_UNKNOWN\x10\x00\x12 \n\x1cREPORT_STYLE_LIGHT_EXECUTIVE\x10\x01\x12\x1e\n\x1aREPORT_STYLE_LIGHT_VERBOSE\x10\x02\x12\x1e\n\x1aREPORT_STYLE_LIGHT_CONCISE\x10\x03*l\n\x0fFeedAgentAction\x12\x1d\n\x19FEED_AGENT_ACTION_UNKNOWN\x10\x00\x12\x1c\n\x18FEED_AGENT_ACTION_CREATE\x10\x01\x12\x1c\n\x18FEED_AGENT_ACTION_UPDATE\x10\x02*\x8c\x01\n\x0fQuestionsStatus\x12\x1c\n\x18QUESTIONS_STATUS_UNKNOWN\x10\x00\x12\x1c\n\x18QUESTIONS_STATUS_PENDING\x10\x01\x12\x1d\n\x19QUESTIONS_STATUS_ANSWERED\x10\x02\x12\x1e\n\x1aQUESTIONS_STATUS_DISMISSED\x10\x03*|\n\x0cQuestionKind\x12\x19\n\x15QUESTION_KIND_UNKNOWN\x10\x00\x12\x18\n\x14QUESTION_KIND_CHOICE\x10\x01\x12\x1d\n\x19QUESTION_KIND_MULTICHOICE\x10\x02\x12\x18\n\x14QUESTION_KIND_INPUTS\x10\x03*\x98\x01\n\x11QuestionInputKind\x12\x1f\n\x1bQUESTION_INPUT_KIND_UNKNOWN\x10\x00\x12\x1c\n\x18QUESTION_INPUT_KIND_TEXT\x10\x01\x12!\n\x1dQUESTION_INPUT_KIND_FORMFIELD\x10\x02\x12!\n\x1dQUESTION_INPUT_KIND_MULTILINE\x10\x03b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.cells_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_STATUSCELL']._loaded_options = None + _globals['_STATUSCELL']._serialized_options = b'\x18\x01' + _globals['_PLAYBOOKINFO'].fields_by_name['connector_id']._loaded_options = None + _globals['_PLAYBOOKINFO'].fields_by_name['connector_id']._serialized_options = b'\x18\x01' + _globals['_DASHBOARDACTION']._serialized_start = 27503 + _globals['_DASHBOARDACTION']._serialized_end = 27638 + _globals['_WEBSEARCHTYPE']._serialized_start = 27640 + _globals['_WEBSEARCHTYPE']._serialized_end = 27730 + _globals['_DATERANGE']._serialized_start = 27733 + _globals['_DATERANGE']._serialized_end = 27862 + _globals['_CONTEXTPROMPTEDITORACTION']._serialized_start = 27864 + _globals['_CONTEXTPROMPTEDITORACTION']._serialized_end = 27966 + _globals['_CONTEXTPROMPTCHANGESTATUS']._serialized_start = 27968 + _globals['_CONTEXTPROMPTCHANGESTATUS']._serialized_end = 28094 + _globals['_ONTOLOGYEDITORACTION']._serialized_start = 28097 + _globals['_ONTOLOGYEDITORACTION']._serialized_end = 28287 + _globals['_ONTOLOGYEDITORLISTTYPE']._serialized_start = 28290 + _globals['_ONTOLOGYEDITORLISTTYPE']._serialized_end = 28430 + _globals['_ONTOLOGYEDITOROPERATION']._serialized_start = 28432 + _globals['_ONTOLOGYEDITOROPERATION']._serialized_end = 28546 + _globals['_ONTOLOGYEDITORSTATUS']._serialized_start = 28549 + _globals['_ONTOLOGYEDITORSTATUS']._serialized_end = 28713 + _globals['_PLAYBOOKEDITORACTION']._serialized_start = 28716 + _globals['_PLAYBOOKEDITORACTION']._serialized_end = 28899 + _globals['_FORMEDITORACTION']._serialized_start = 28902 + _globals['_FORMEDITORACTION']._serialized_end = 29072 + _globals['_EDITABLEFORMSTATUS']._serialized_start = 29075 + _globals['_EDITABLEFORMSTATUS']._serialized_end = 29304 + _globals['_PLAYBOOKSTATUSLIGHT']._serialized_start = 29306 + _globals['_PLAYBOOKSTATUSLIGHT']._serialized_end = 29414 + _globals['_PLAYBOOKREPORTSTYLELIGHT']._serialized_start = 29417 + _globals['_PLAYBOOKREPORTSTYLELIGHT']._serialized_end = 29573 + _globals['_FEEDAGENTACTION']._serialized_start = 29575 + _globals['_FEEDAGENTACTION']._serialized_end = 29683 + _globals['_QUESTIONSSTATUS']._serialized_start = 29686 + _globals['_QUESTIONSSTATUS']._serialized_end = 29826 + _globals['_QUESTIONKIND']._serialized_start = 29828 + _globals['_QUESTIONKIND']._serialized_end = 29952 + _globals['_QUESTIONINPUTKIND']._serialized_start = 29955 + _globals['_QUESTIONINPUTKIND']._serialized_end = 30107 + _globals['_MARKDOWNCELL']._serialized_start = 341 + _globals['_MARKDOWNCELL']._serialized_end = 483 + _globals['_SQLCELL']._serialized_start = 486 + _globals['_SQLCELL']._serialized_end = 1173 + _globals['_PYTHONCELL']._serialized_start = 1176 + _globals['_PYTHONCELL']._serialized_end = 2012 + _globals['_STREAMLITCELL']._serialized_start = 2015 + _globals['_STREAMLITCELL']._serialized_end = 2275 + _globals['_SQLQUERYINPUT']._serialized_start = 2277 + _globals['_SQLQUERYINPUT']._serialized_end = 2369 + _globals['_DASHBOARDCELL']._serialized_start = 2372 + _globals['_DASHBOARDCELL']._serialized_end = 2893 + _globals['_COMPACTIONCELL']._serialized_start = 2896 + _globals['_COMPACTIONCELL']._serialized_end = 3051 + _globals['_THINKINGCELL']._serialized_start = 3053 + _globals['_THINKINGCELL']._serialized_end = 3121 + _globals['_METRICSCELL']._serialized_start = 3124 + _globals['_METRICSCELL']._serialized_end = 3442 + _globals['_ONTOLOGYMETRICSEARCHMATCH']._serialized_start = 3445 + _globals['_ONTOLOGYMETRICSEARCHMATCH']._serialized_end = 3690 + _globals['_ONTOLOGYSEARCHMETRICSCELL']._serialized_start = 3693 + _globals['_ONTOLOGYSEARCHMETRICSCELL']._serialized_end = 3955 + _globals['_ONTOLOGYOBJECTDIMENSIONLITE']._serialized_start = 3958 + _globals['_ONTOLOGYOBJECTDIMENSIONLITE']._serialized_end = 4153 + _globals['_ONTOLOGYOBJECTMETRICLITE']._serialized_start = 4156 + _globals['_ONTOLOGYOBJECTMETRICLITE']._serialized_end = 4338 + _globals['_ONTOLOGYOPENOBJECTCELL']._serialized_start = 4341 + _globals['_ONTOLOGYOPENOBJECTCELL']._serialized_end = 5023 + _globals['_IMAGEREFERENCE']._serialized_start = 5025 + _globals['_IMAGEREFERENCE']._serialized_end = 5079 + _globals['_CHARTREFERENCE']._serialized_start = 5082 + _globals['_CHARTREFERENCE']._serialized_end = 5237 + _globals['_FILEREFERENCE']._serialized_start = 5239 + _globals['_FILEREFERENCE']._serialized_end = 5321 + _globals['_SQLREFERENCE']._serialized_start = 5323 + _globals['_SQLREFERENCE']._serialized_end = 5362 + _globals['_ANSWERCELL']._serialized_start = 5365 + _globals['_ANSWERCELL']._serialized_end = 5525 + _globals['_DOCUMENTCELL']._serialized_start = 5528 + _globals['_DOCUMENTCELL']._serialized_end = 5681 + _globals['_TABULARFILECELL']._serialized_start = 5684 + _globals['_TABULARFILECELL']._serialized_end = 5998 + _globals['_IMAGECELL']._serialized_start = 6001 + _globals['_IMAGECELL']._serialized_end = 6253 + _globals['_TEXTCELL']._serialized_start = 6256 + _globals['_TEXTCELL']._serialized_end = 6456 + _globals['_EXASEARCHRESULT']._serialized_start = 6459 + _globals['_EXASEARCHRESULT']._serialized_end = 6770 + _globals['_WEBSEARCHCELL']._serialized_start = 6773 + _globals['_WEBSEARCHCELL']._serialized_end = 7193 + _globals['_LINKEDINSEARCHCELL']._serialized_start = 7196 + _globals['_LINKEDINSEARCHCELL']._serialized_end = 7441 + _globals['_REPORTCELL']._serialized_start = 7444 + _globals['_REPORTCELL']._serialized_end = 7661 + _globals['_FEEDEXPLORERCELL']._serialized_start = 7664 + _globals['_FEEDEXPLORERCELL']._serialized_end = 7906 + _globals['_SUMMARYCELL']._serialized_start = 7908 + _globals['_SUMMARYCELL']._serialized_end = 7947 + _globals['_STATUSCELL']._serialized_start = 7949 + _globals['_STATUSCELL']._serialized_end = 7989 + _globals['_TABLEAUCELL']._serialized_start = 7992 + _globals['_TABLEAUCELL']._serialized_end = 8121 + _globals['_TABLEAUMESSAGEBLOCK']._serialized_start = 8123 + _globals['_TABLEAUMESSAGEBLOCK']._serialized_end = 8236 + _globals['_TABLEAUSQLCELL']._serialized_start = 8239 + _globals['_TABLEAUSQLCELL']._serialized_end = 8456 + _globals['_TABLEAUSEARCHFIELDSCELL']._serialized_start = 8458 + _globals['_TABLEAUSEARCHFIELDSCELL']._serialized_end = 8549 + _globals['_POWERBIMESSAGEBLOCK']._serialized_start = 8551 + _globals['_POWERBIMESSAGEBLOCK']._serialized_end = 8633 + _globals['_POWERBICELL']._serialized_start = 8636 + _globals['_POWERBICELL']._serialized_end = 8844 + _globals['_POWERBIDAXCELL']._serialized_start = 8847 + _globals['_POWERBIDAXCELL']._serialized_end = 9290 + _globals['_CONTEXTPROMPTEDITOREDITPAIR']._serialized_start = 9292 + _globals['_CONTEXTPROMPTEDITOREDITPAIR']._serialized_end = 9383 + _globals['_CONTEXTPROMPTEDITORCELL']._serialized_start = 9386 + _globals['_CONTEXTPROMPTEDITORCELL']._serialized_end = 9843 + _globals['_ONTOLOGYEDITORLISTFILTER']._serialized_start = 9845 + _globals['_ONTOLOGYEDITORLISTFILTER']._serialized_end = 9919 + _globals['_ONTOLOGYEDITORCELL']._serialized_start = 9922 + _globals['_ONTOLOGYEDITORCELL']._serialized_end = 12169 + _globals['_MCPTOOLCELL']._serialized_start = 12172 + _globals['_MCPTOOLCELL']._serialized_end = 12519 + _globals['_USESKILLCELL']._serialized_start = 12521 + _globals['_USESKILLCELL']._serialized_end = 12597 + _globals['_ONTOLOGYQUERYPARAM']._serialized_start = 12600 + _globals['_ONTOLOGYQUERYPARAM']._serialized_end = 12803 + _globals['_ONTOLOGYQUERYCELL']._serialized_start = 12806 + _globals['_ONTOLOGYQUERYCELL']._serialized_end = 13649 + _globals['_PREVIEWCELL']._serialized_start = 13652 + _globals['_PREVIEWCELL']._serialized_end = 13855 + _globals['_FORMEDITORCELL']._serialized_start = 13858 + _globals['_FORMEDITORCELL']._serialized_end = 14155 + _globals['_FORMCELL']._serialized_start = 14158 + _globals['_FORMCELL']._serialized_end = 14536 + _globals['_EDITABLEFORM']._serialized_start = 14539 + _globals['_EDITABLEFORM']._serialized_end = 14902 + _globals['_CONNECTORREF']._serialized_start = 14904 + _globals['_CONNECTORREF']._serialized_end = 14974 + _globals['_ORGMEMBERREF']._serialized_start = 14976 + _globals['_ORGMEMBERREF']._serialized_end = 15032 + _globals['_SLACKCHANNELREF']._serialized_start = 15034 + _globals['_SLACKCHANNELREF']._serialized_end = 15102 + _globals['_SLACKUSERREF']._serialized_start = 15104 + _globals['_SLACKUSERREF']._serialized_end = 15163 + _globals['_TEAMSCHANNELREF']._serialized_start = 15165 + _globals['_TEAMSCHANNELREF']._serialized_end = 15233 + _globals['_TEAMSUSERREF']._serialized_start = 15235 + _globals['_TEAMSUSERREF']._serialized_end = 15301 + _globals['_FIELDCHANGE']._serialized_start = 15303 + _globals['_FIELDCHANGE']._serialized_end = 15405 + _globals['_PLAYBOOKINFO']._serialized_start = 15408 + _globals['_PLAYBOOKINFO']._serialized_end = 16478 + _globals['_PLAYBOOKEDITORCELL']._serialized_start = 16481 + _globals['_PLAYBOOKEDITORCELL']._serialized_end = 17316 + _globals['_GOOGLEDRIVEFILE']._serialized_start = 17319 + _globals['_GOOGLEDRIVEFILE']._serialized_end = 17554 + _globals['_GOOGLEDRIVESEARCHCELL']._serialized_start = 17557 + _globals['_GOOGLEDRIVESEARCHCELL']._serialized_end = 17807 + _globals['_GOOGLEDRIVECONTENTCELL']._serialized_start = 17810 + _globals['_GOOGLEDRIVECONTENTCELL']._serialized_end = 18084 + _globals['_MICROSOFT365EMAILSEARCHCELL']._serialized_start = 18087 + _globals['_MICROSOFT365EMAILSEARCHCELL']._serialized_end = 18291 + _globals['_MICROSOFT365EMAILCONTENTCELL']._serialized_start = 18294 + _globals['_MICROSOFT365EMAILCONTENTCELL']._serialized_end = 18534 + _globals['_MICROSOFT365CALENDARCELL']._serialized_start = 18537 + _globals['_MICROSOFT365CALENDARCELL']._serialized_end = 18738 + _globals['_GMAILEMAILSEARCHCELL']._serialized_start = 18741 + _globals['_GMAILEMAILSEARCHCELL']._serialized_end = 18938 + _globals['_GOOGLECALENDARSEARCHCELL']._serialized_start = 18941 + _globals['_GOOGLECALENDARSEARCHCELL']._serialized_end = 19142 + _globals['_GMAILEMAILCONTENTCELL']._serialized_start = 19145 + _globals['_GMAILEMAILCONTENTCELL']._serialized_end = 19378 + _globals['_PREVIEWCELLREF']._serialized_start = 19380 + _globals['_PREVIEWCELLREF']._serialized_end = 19506 + _globals['_REPORTHISTORYINFO']._serialized_start = 19509 + _globals['_REPORTHISTORYINFO']._serialized_end = 19952 + _globals['_REPORTHISTORYCELL']._serialized_start = 19955 + _globals['_REPORTHISTORYCELL']._serialized_end = 20137 + _globals['_BASHCELL']._serialized_start = 20139 + _globals['_BASHCELL']._serialized_end = 20250 + _globals['_JAVASCRIPTCELL']._serialized_start = 20253 + _globals['_JAVASCRIPTCELL']._serialized_end = 20462 + _globals['_FEEDPOSTCELL']._serialized_start = 20465 + _globals['_FEEDPOSTCELL']._serialized_end = 20855 + _globals['_FEEDCOMMENTCELL']._serialized_start = 20858 + _globals['_FEEDCOMMENTCELL']._serialized_end = 21198 + _globals['_FEEDENGAGECELL']._serialized_start = 21201 + _globals['_FEEDENGAGECELL']._serialized_end = 21450 + _globals['_DASHBOARDINFO']._serialized_start = 21453 + _globals['_DASHBOARDINFO']._serialized_end = 21817 + _globals['_LISTDASHBOARDSCELL']._serialized_start = 21820 + _globals['_LISTDASHBOARDSCELL']._serialized_end = 22118 + _globals['_AGENTINFO']._serialized_start = 22121 + _globals['_AGENTINFO']._serialized_end = 22256 + _globals['_LISTUSERSCELL']._serialized_start = 22259 + _globals['_LISTUSERSCELL']._serialized_end = 22534 + _globals['_CONNECTORSCELL']._serialized_start = 22536 + _globals['_CONNECTORSCELL']._serialized_end = 22609 + _globals['_FEEDAGENTINFO']._serialized_start = 22612 + _globals['_FEEDAGENTINFO']._serialized_end = 23130 + _globals['_FEEDCREATECELL']._serialized_start = 23133 + _globals['_FEEDCREATECELL']._serialized_end = 23537 + _globals['_EMAILRECIPIENT']._serialized_start = 23540 + _globals['_EMAILRECIPIENT']._serialized_end = 23709 + _globals['_EMAILCELL']._serialized_start = 23712 + _globals['_EMAILCELL']._serialized_end = 24194 + _globals['_PATCHCELL']._serialized_start = 24197 + _globals['_PATCHCELL']._serialized_end = 24640 + _globals['_QUESTIONOPTION']._serialized_start = 24643 + _globals['_QUESTIONOPTION']._serialized_end = 24789 + _globals['_QUESTIONINPUT']._serialized_start = 24792 + _globals['_QUESTIONINPUT']._serialized_end = 25043 + _globals['_QUESTIONSPEC']._serialized_start = 25046 + _globals['_QUESTIONSPEC']._serialized_end = 25368 + _globals['_QUESTIONANSWER']._serialized_start = 25371 + _globals['_QUESTIONANSWER']._serialized_end = 25507 + _globals['_QUESTIONSCELL']._serialized_start = 25510 + _globals['_QUESTIONSCELL']._serialized_end = 25766 + _globals['_CITATION']._serialized_start = 25769 + _globals['_CITATION']._serialized_end = 26192 + _globals['_CITATIONLINEAGENODE']._serialized_start = 26195 + _globals['_CITATIONLINEAGENODE']._serialized_end = 26443 + _globals['_APPCELL']._serialized_start = 26446 + _globals['_APPCELL']._serialized_end = 26834 + _globals['_APPINFO']._serialized_start = 26837 + _globals['_APPINFO']._serialized_end = 27280 + _globals['_LISTAPPSCELL']._serialized_start = 27283 + _globals['_LISTAPPSCELL']._serialized_end = 27500 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/cells_pb2.pyi b/src/textql_sdk/_connect/public/cells_pb2.pyi new file mode 100644 index 0000000..3150e1b --- /dev/null +++ b/src/textql_sdk/_connect/public/cells_pb2.pyi @@ -0,0 +1,1923 @@ +import datetime +from google.protobuf import struct_pb2 as _struct_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +import paradigm_params_pb2 as _paradigm_params_pb2 +from public import connector_pb2 as _connector_pb2 +from public import dashboard_pb2 as _dashboard_pb2 +from public import dataframe_pb2 as _dataframe_pb2 +from public import dataset_pb2 as _dataset_pb2 +from public import llm_model_pb2 as _llm_model_pb2 +from public import ontology_pb2 as _ontology_pb2 +from public import paradigm_pb2 as _paradigm_pb2 +from public import patches_pb2 as _patches_pb2 +from public import report_pb2 as _report_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class DashboardAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DASHBOARD_ACTION_UNKNOWN: _ClassVar[DashboardAction] + DASHBOARD_ACTION_CREATE: _ClassVar[DashboardAction] + DASHBOARD_ACTION_UPDATE: _ClassVar[DashboardAction] + DASHBOARD_ACTION_PUBLISH: _ClassVar[DashboardAction] + +class WebSearchType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + TYPE_UNKNOWN: _ClassVar[WebSearchType] + TYPE_RESEARCH: _ClassVar[WebSearchType] + TYPE_QUESTION: _ClassVar[WebSearchType] + TYPE_CONTENTS: _ClassVar[WebSearchType] + +class DateRange(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + RANGE_UNKNOWN: _ClassVar[DateRange] + RANGE_ALL: _ClassVar[DateRange] + RANGE_PAST_DAY: _ClassVar[DateRange] + RANGE_PAST_WEEK: _ClassVar[DateRange] + RANGE_PAST_MONTH: _ClassVar[DateRange] + RANGE_PAST_YEAR: _ClassVar[DateRange] + +class ContextPromptEditorAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ACTION_UNKNOWN: _ClassVar[ContextPromptEditorAction] + ACTION_GET: _ClassVar[ContextPromptEditorAction] + ACTION_PROPOSE: _ClassVar[ContextPromptEditorAction] + ACTION_CREATE: _ClassVar[ContextPromptEditorAction] + +class ContextPromptChangeStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + STATUS_UNKNOWN: _ClassVar[ContextPromptChangeStatus] + STATUS_DRAFT: _ClassVar[ContextPromptChangeStatus] + STATUS_PENDING: _ClassVar[ContextPromptChangeStatus] + STATUS_REJECTED: _ClassVar[ContextPromptChangeStatus] + STATUS_APPLIED: _ClassVar[ContextPromptChangeStatus] + +class OntologyEditorAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ONTOLOGY_ACTION_UNKNOWN: _ClassVar[OntologyEditorAction] + ONTOLOGY_ACTION_LIST: _ClassVar[OntologyEditorAction] + ONTOLOGY_ACTION_OBJECT: _ClassVar[OntologyEditorAction] + ONTOLOGY_ACTION_LINK: _ClassVar[OntologyEditorAction] + ONTOLOGY_ACTION_ATTRIBUTE: _ClassVar[OntologyEditorAction] + ONTOLOGY_ACTION_METRIC: _ClassVar[OntologyEditorAction] + +class OntologyEditorListType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + LIST_TYPE_UNKNOWN: _ClassVar[OntologyEditorListType] + LIST_TYPE_OBJECTS: _ClassVar[OntologyEditorListType] + LIST_TYPE_LINKS: _ClassVar[OntologyEditorListType] + LIST_TYPE_ATTRIBUTES: _ClassVar[OntologyEditorListType] + LIST_TYPE_METRICS: _ClassVar[OntologyEditorListType] + +class OntologyEditorOperation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + OPERATION_UNKNOWN: _ClassVar[OntologyEditorOperation] + OPERATION_CREATE: _ClassVar[OntologyEditorOperation] + OPERATION_UPDATE: _ClassVar[OntologyEditorOperation] + OPERATION_DELETE: _ClassVar[OntologyEditorOperation] + +class OntologyEditorStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ONTOLOGY_STATUS_UNKNOWN: _ClassVar[OntologyEditorStatus] + ONTOLOGY_STATUS_DRAFT: _ClassVar[OntologyEditorStatus] + ONTOLOGY_STATUS_APPLIED: _ClassVar[OntologyEditorStatus] + ONTOLOGY_STATUS_REJECTED: _ClassVar[OntologyEditorStatus] + ONTOLOGY_STATUS_ERROR: _ClassVar[OntologyEditorStatus] + +class PlaybookEditorAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PLAYBOOK_ACTION_UNKNOWN: _ClassVar[PlaybookEditorAction] + PLAYBOOK_ACTION_LIST: _ClassVar[PlaybookEditorAction] + PLAYBOOK_ACTION_GET: _ClassVar[PlaybookEditorAction] + PLAYBOOK_ACTION_CREATE: _ClassVar[PlaybookEditorAction] + PLAYBOOK_ACTION_UPDATE: _ClassVar[PlaybookEditorAction] + PLAYBOOK_ACTION_RUN: _ClassVar[PlaybookEditorAction] + +class FormEditorAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + FORM_EDITOR_ACTION_UNKNOWN: _ClassVar[FormEditorAction] + FORM_EDITOR_ACTION_INFO: _ClassVar[FormEditorAction] + FORM_EDITOR_ACTION_VIEW: _ClassVar[FormEditorAction] + FORM_EDITOR_ACTION_CREATE: _ClassVar[FormEditorAction] + FORM_EDITOR_ACTION_UPDATE: _ClassVar[FormEditorAction] + +class EditableFormStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + EDITABLE_FORM_STATUS_UNKNOWN: _ClassVar[EditableFormStatus] + EDITABLE_FORM_STATUS_DRAFT: _ClassVar[EditableFormStatus] + EDITABLE_FORM_STATUS_MODIFIED: _ClassVar[EditableFormStatus] + EDITABLE_FORM_STATUS_SUBMITTING: _ClassVar[EditableFormStatus] + EDITABLE_FORM_STATUS_SUBMITTED: _ClassVar[EditableFormStatus] + EDITABLE_FORM_STATUS_REJECTED: _ClassVar[EditableFormStatus] + +class PlaybookStatusLight(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PLAYBOOK_STATUS_UNKNOWN: _ClassVar[PlaybookStatusLight] + PLAYBOOK_STATUS_ACTIVE: _ClassVar[PlaybookStatusLight] + PLAYBOOK_STATUS_INACTIVE: _ClassVar[PlaybookStatusLight] + +class PlaybookReportStyleLight(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + REPORT_STYLE_LIGHT_UNKNOWN: _ClassVar[PlaybookReportStyleLight] + REPORT_STYLE_LIGHT_EXECUTIVE: _ClassVar[PlaybookReportStyleLight] + REPORT_STYLE_LIGHT_VERBOSE: _ClassVar[PlaybookReportStyleLight] + REPORT_STYLE_LIGHT_CONCISE: _ClassVar[PlaybookReportStyleLight] + +class FeedAgentAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + FEED_AGENT_ACTION_UNKNOWN: _ClassVar[FeedAgentAction] + FEED_AGENT_ACTION_CREATE: _ClassVar[FeedAgentAction] + FEED_AGENT_ACTION_UPDATE: _ClassVar[FeedAgentAction] + +class QuestionsStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + QUESTIONS_STATUS_UNKNOWN: _ClassVar[QuestionsStatus] + QUESTIONS_STATUS_PENDING: _ClassVar[QuestionsStatus] + QUESTIONS_STATUS_ANSWERED: _ClassVar[QuestionsStatus] + QUESTIONS_STATUS_DISMISSED: _ClassVar[QuestionsStatus] + +class QuestionKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + QUESTION_KIND_UNKNOWN: _ClassVar[QuestionKind] + QUESTION_KIND_CHOICE: _ClassVar[QuestionKind] + QUESTION_KIND_MULTICHOICE: _ClassVar[QuestionKind] + QUESTION_KIND_INPUTS: _ClassVar[QuestionKind] + +class QuestionInputKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + QUESTION_INPUT_KIND_UNKNOWN: _ClassVar[QuestionInputKind] + QUESTION_INPUT_KIND_TEXT: _ClassVar[QuestionInputKind] + QUESTION_INPUT_KIND_FORMFIELD: _ClassVar[QuestionInputKind] + QUESTION_INPUT_KIND_MULTILINE: _ClassVar[QuestionInputKind] +DASHBOARD_ACTION_UNKNOWN: DashboardAction +DASHBOARD_ACTION_CREATE: DashboardAction +DASHBOARD_ACTION_UPDATE: DashboardAction +DASHBOARD_ACTION_PUBLISH: DashboardAction +TYPE_UNKNOWN: WebSearchType +TYPE_RESEARCH: WebSearchType +TYPE_QUESTION: WebSearchType +TYPE_CONTENTS: WebSearchType +RANGE_UNKNOWN: DateRange +RANGE_ALL: DateRange +RANGE_PAST_DAY: DateRange +RANGE_PAST_WEEK: DateRange +RANGE_PAST_MONTH: DateRange +RANGE_PAST_YEAR: DateRange +ACTION_UNKNOWN: ContextPromptEditorAction +ACTION_GET: ContextPromptEditorAction +ACTION_PROPOSE: ContextPromptEditorAction +ACTION_CREATE: ContextPromptEditorAction +STATUS_UNKNOWN: ContextPromptChangeStatus +STATUS_DRAFT: ContextPromptChangeStatus +STATUS_PENDING: ContextPromptChangeStatus +STATUS_REJECTED: ContextPromptChangeStatus +STATUS_APPLIED: ContextPromptChangeStatus +ONTOLOGY_ACTION_UNKNOWN: OntologyEditorAction +ONTOLOGY_ACTION_LIST: OntologyEditorAction +ONTOLOGY_ACTION_OBJECT: OntologyEditorAction +ONTOLOGY_ACTION_LINK: OntologyEditorAction +ONTOLOGY_ACTION_ATTRIBUTE: OntologyEditorAction +ONTOLOGY_ACTION_METRIC: OntologyEditorAction +LIST_TYPE_UNKNOWN: OntologyEditorListType +LIST_TYPE_OBJECTS: OntologyEditorListType +LIST_TYPE_LINKS: OntologyEditorListType +LIST_TYPE_ATTRIBUTES: OntologyEditorListType +LIST_TYPE_METRICS: OntologyEditorListType +OPERATION_UNKNOWN: OntologyEditorOperation +OPERATION_CREATE: OntologyEditorOperation +OPERATION_UPDATE: OntologyEditorOperation +OPERATION_DELETE: OntologyEditorOperation +ONTOLOGY_STATUS_UNKNOWN: OntologyEditorStatus +ONTOLOGY_STATUS_DRAFT: OntologyEditorStatus +ONTOLOGY_STATUS_APPLIED: OntologyEditorStatus +ONTOLOGY_STATUS_REJECTED: OntologyEditorStatus +ONTOLOGY_STATUS_ERROR: OntologyEditorStatus +PLAYBOOK_ACTION_UNKNOWN: PlaybookEditorAction +PLAYBOOK_ACTION_LIST: PlaybookEditorAction +PLAYBOOK_ACTION_GET: PlaybookEditorAction +PLAYBOOK_ACTION_CREATE: PlaybookEditorAction +PLAYBOOK_ACTION_UPDATE: PlaybookEditorAction +PLAYBOOK_ACTION_RUN: PlaybookEditorAction +FORM_EDITOR_ACTION_UNKNOWN: FormEditorAction +FORM_EDITOR_ACTION_INFO: FormEditorAction +FORM_EDITOR_ACTION_VIEW: FormEditorAction +FORM_EDITOR_ACTION_CREATE: FormEditorAction +FORM_EDITOR_ACTION_UPDATE: FormEditorAction +EDITABLE_FORM_STATUS_UNKNOWN: EditableFormStatus +EDITABLE_FORM_STATUS_DRAFT: EditableFormStatus +EDITABLE_FORM_STATUS_MODIFIED: EditableFormStatus +EDITABLE_FORM_STATUS_SUBMITTING: EditableFormStatus +EDITABLE_FORM_STATUS_SUBMITTED: EditableFormStatus +EDITABLE_FORM_STATUS_REJECTED: EditableFormStatus +PLAYBOOK_STATUS_UNKNOWN: PlaybookStatusLight +PLAYBOOK_STATUS_ACTIVE: PlaybookStatusLight +PLAYBOOK_STATUS_INACTIVE: PlaybookStatusLight +REPORT_STYLE_LIGHT_UNKNOWN: PlaybookReportStyleLight +REPORT_STYLE_LIGHT_EXECUTIVE: PlaybookReportStyleLight +REPORT_STYLE_LIGHT_VERBOSE: PlaybookReportStyleLight +REPORT_STYLE_LIGHT_CONCISE: PlaybookReportStyleLight +FEED_AGENT_ACTION_UNKNOWN: FeedAgentAction +FEED_AGENT_ACTION_CREATE: FeedAgentAction +FEED_AGENT_ACTION_UPDATE: FeedAgentAction +QUESTIONS_STATUS_UNKNOWN: QuestionsStatus +QUESTIONS_STATUS_PENDING: QuestionsStatus +QUESTIONS_STATUS_ANSWERED: QuestionsStatus +QUESTIONS_STATUS_DISMISSED: QuestionsStatus +QUESTION_KIND_UNKNOWN: QuestionKind +QUESTION_KIND_CHOICE: QuestionKind +QUESTION_KIND_MULTICHOICE: QuestionKind +QUESTION_KIND_INPUTS: QuestionKind +QUESTION_INPUT_KIND_UNKNOWN: QuestionInputKind +QUESTION_INPUT_KIND_TEXT: QuestionInputKind +QUESTION_INPUT_KIND_FORMFIELD: QuestionInputKind +QUESTION_INPUT_KIND_MULTILINE: QuestionInputKind + +class MarkdownCell(_message.Message): + __slots__ = ('content', 'rendered_html', 'citations') + CONTENT_FIELD_NUMBER: _ClassVar[int] + RENDERED_HTML_FIELD_NUMBER: _ClassVar[int] + CITATIONS_FIELD_NUMBER: _ClassVar[int] + content: str + rendered_html: str + citations: _containers.RepeatedCompositeFieldContainer[Citation] + + def __init__(self, content: _Optional[str]=..., rendered_html: _Optional[str]=..., citations: _Optional[_Iterable[_Union[Citation, _Mapping]]]=...) -> None: + ... + +class SQLCell(_message.Message): + __slots__ = ('query', 'connector_id', 'dataframe', 'dataframe_preview', 'auth_required', 'auth_connector_name', 'auth_locator', 'auth_client_id', 'auth_role', 'auth_completed', 'auth_connector_type', 'auth_workspace_url', 'execution_time_ms', 'agent_memory') + QUERY_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_PREVIEW_FIELD_NUMBER: _ClassVar[int] + AUTH_REQUIRED_FIELD_NUMBER: _ClassVar[int] + AUTH_CONNECTOR_NAME_FIELD_NUMBER: _ClassVar[int] + AUTH_LOCATOR_FIELD_NUMBER: _ClassVar[int] + AUTH_CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + AUTH_ROLE_FIELD_NUMBER: _ClassVar[int] + AUTH_COMPLETED_FIELD_NUMBER: _ClassVar[int] + AUTH_CONNECTOR_TYPE_FIELD_NUMBER: _ClassVar[int] + AUTH_WORKSPACE_URL_FIELD_NUMBER: _ClassVar[int] + EXECUTION_TIME_MS_FIELD_NUMBER: _ClassVar[int] + AGENT_MEMORY_FIELD_NUMBER: _ClassVar[int] + query: str + connector_id: int + dataframe: _dataframe_pb2.DataFrameWithInfo + dataframe_preview: str + auth_required: bool + auth_connector_name: str + auth_locator: str + auth_client_id: str + auth_role: str + auth_completed: bool + auth_connector_type: _connector_pb2.ConnectorType + auth_workspace_url: str + execution_time_ms: int + agent_memory: bool + + def __init__(self, query: _Optional[str]=..., connector_id: _Optional[int]=..., dataframe: _Optional[_Union[_dataframe_pb2.DataFrameWithInfo, _Mapping]]=..., dataframe_preview: _Optional[str]=..., auth_required: bool=..., auth_connector_name: _Optional[str]=..., auth_locator: _Optional[str]=..., auth_client_id: _Optional[str]=..., auth_role: _Optional[str]=..., auth_completed: bool=..., auth_connector_type: _Optional[_Union[_connector_pb2.ConnectorType, str]]=..., auth_workspace_url: _Optional[str]=..., execution_time_ms: _Optional[int]=..., agent_memory: bool=...) -> None: + ... + +class PythonCell(_message.Message): + __slots__ = ('code', 'output', 'dataframe_info', 'dataframe_preview', 'images', 'files', 'html_screenshots', 'charts', 'auth_required', 'auth_api_access_key_id', 'auth_provider_name', 'auth_completed', 'auth_member', 'auth_permission_required', 'auth_grant_type', 'execution_time_ms') + CODE_FIELD_NUMBER: _ClassVar[int] + OUTPUT_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_INFO_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_PREVIEW_FIELD_NUMBER: _ClassVar[int] + IMAGES_FIELD_NUMBER: _ClassVar[int] + FILES_FIELD_NUMBER: _ClassVar[int] + HTML_SCREENSHOTS_FIELD_NUMBER: _ClassVar[int] + CHARTS_FIELD_NUMBER: _ClassVar[int] + AUTH_REQUIRED_FIELD_NUMBER: _ClassVar[int] + AUTH_API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + AUTH_PROVIDER_NAME_FIELD_NUMBER: _ClassVar[int] + AUTH_COMPLETED_FIELD_NUMBER: _ClassVar[int] + AUTH_MEMBER_FIELD_NUMBER: _ClassVar[int] + AUTH_PERMISSION_REQUIRED_FIELD_NUMBER: _ClassVar[int] + AUTH_GRANT_TYPE_FIELD_NUMBER: _ClassVar[int] + EXECUTION_TIME_MS_FIELD_NUMBER: _ClassVar[int] + code: str + output: _containers.RepeatedScalarFieldContainer[str] + dataframe_info: _containers.RepeatedCompositeFieldContainer[_dataframe_pb2.DataFrameInfo] + dataframe_preview: _containers.RepeatedScalarFieldContainer[str] + images: _containers.RepeatedCompositeFieldContainer[ImageReference] + files: _containers.RepeatedCompositeFieldContainer[FileReference] + html_screenshots: _containers.RepeatedCompositeFieldContainer[ImageReference] + charts: _containers.RepeatedCompositeFieldContainer[ChartReference] + auth_required: bool + auth_api_access_key_id: str + auth_provider_name: str + auth_completed: bool + auth_member: str + auth_permission_required: bool + auth_grant_type: str + execution_time_ms: int + + def __init__(self, code: _Optional[str]=..., output: _Optional[_Iterable[str]]=..., dataframe_info: _Optional[_Iterable[_Union[_dataframe_pb2.DataFrameInfo, _Mapping]]]=..., dataframe_preview: _Optional[_Iterable[str]]=..., images: _Optional[_Iterable[_Union[ImageReference, _Mapping]]]=..., files: _Optional[_Iterable[_Union[FileReference, _Mapping]]]=..., html_screenshots: _Optional[_Iterable[_Union[ImageReference, _Mapping]]]=..., charts: _Optional[_Iterable[_Union[ChartReference, _Mapping]]]=..., auth_required: bool=..., auth_api_access_key_id: _Optional[str]=..., auth_provider_name: _Optional[str]=..., auth_completed: bool=..., auth_member: _Optional[str]=..., auth_permission_required: bool=..., auth_grant_type: _Optional[str]=..., execution_time_ms: _Optional[int]=...) -> None: + ... + +class StreamlitCell(_message.Message): + __slots__ = ('code', 'url', 'error_message', 'screenshot_url', 'execution_time_ms') + CODE_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + SCREENSHOT_URL_FIELD_NUMBER: _ClassVar[int] + EXECUTION_TIME_MS_FIELD_NUMBER: _ClassVar[int] + code: str + url: str + error_message: str + screenshot_url: str + execution_time_ms: int + + def __init__(self, code: _Optional[str]=..., url: _Optional[str]=..., error_message: _Optional[str]=..., screenshot_url: _Optional[str]=..., execution_time_ms: _Optional[int]=...) -> None: + ... + +class SqlQueryInput(_message.Message): + __slots__ = ('name', 'query', 'connector_id') + NAME_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + name: str + query: str + connector_id: int + + def __init__(self, name: _Optional[str]=..., query: _Optional[str]=..., connector_id: _Optional[int]=...) -> None: + ... + +class DashboardCell(_message.Message): + __slots__ = ('name', 'dashboard_id', 'code', 'data_sources', 'error_message', 'screenshot_url', 'last_run_at', 'action', 'type', 'updated_at') + NAME_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + SCREENSHOT_URL_FIELD_NUMBER: _ClassVar[int] + LAST_RUN_AT_FIELD_NUMBER: _ClassVar[int] + ACTION_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + name: str + dashboard_id: str + code: str + data_sources: _containers.RepeatedCompositeFieldContainer[_dashboard_pb2.DataSource] + error_message: str + screenshot_url: str + last_run_at: str + action: DashboardAction + type: str + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, name: _Optional[str]=..., dashboard_id: _Optional[str]=..., code: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[_dashboard_pb2.DataSource, _Mapping]]]=..., error_message: _Optional[str]=..., screenshot_url: _Optional[str]=..., last_run_at: _Optional[str]=..., action: _Optional[_Union[DashboardAction, str]]=..., type: _Optional[str]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class CompactionCell(_message.Message): + __slots__ = ('content', 'executed_python', 'python_cells') + CONTENT_FIELD_NUMBER: _ClassVar[int] + EXECUTED_PYTHON_FIELD_NUMBER: _ClassVar[int] + PYTHON_CELLS_FIELD_NUMBER: _ClassVar[int] + content: str + executed_python: bool + python_cells: _containers.RepeatedCompositeFieldContainer[PythonCell] + + def __init__(self, content: _Optional[str]=..., executed_python: bool=..., python_cells: _Optional[_Iterable[_Union[PythonCell, _Mapping]]]=...) -> None: + ... + +class ThinkingCell(_message.Message): + __slots__ = ('content', 'redacted') + CONTENT_FIELD_NUMBER: _ClassVar[int] + REDACTED_FIELD_NUMBER: _ClassVar[int] + content: str + redacted: bool + + def __init__(self, content: _Optional[str]=..., redacted: bool=...) -> None: + ... + +class MetricsCell(_message.Message): + __slots__ = ('query', 'dataset', 'ontology_id', 'dataframe', 'dataframe_preview', 'generated_sql', 'query_id', 'error_message') + QUERY_FIELD_NUMBER: _ClassVar[int] + DATASET_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_PREVIEW_FIELD_NUMBER: _ClassVar[int] + GENERATED_SQL_FIELD_NUMBER: _ClassVar[int] + QUERY_ID_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + query: str + dataset: str + ontology_id: int + dataframe: _dataframe_pb2.DataFrameWithInfo + dataframe_preview: str + generated_sql: str + query_id: str + error_message: str + + def __init__(self, query: _Optional[str]=..., dataset: _Optional[str]=..., ontology_id: _Optional[int]=..., dataframe: _Optional[_Union[_dataframe_pb2.DataFrameWithInfo, _Mapping]]=..., dataframe_preview: _Optional[str]=..., generated_sql: _Optional[str]=..., query_id: _Optional[str]=..., error_message: _Optional[str]=...) -> None: + ... + +class OntologyMetricSearchMatch(_message.Message): + __slots__ = ('metric_id', 'metric_name', 'metric_description', 'metric_aggregation', 'object_id', 'object_name') + METRIC_ID_FIELD_NUMBER: _ClassVar[int] + METRIC_NAME_FIELD_NUMBER: _ClassVar[int] + METRIC_DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + METRIC_AGGREGATION_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_NAME_FIELD_NUMBER: _ClassVar[int] + metric_id: str + metric_name: str + metric_description: str + metric_aggregation: str + object_id: str + object_name: str + + def __init__(self, metric_id: _Optional[str]=..., metric_name: _Optional[str]=..., metric_description: _Optional[str]=..., metric_aggregation: _Optional[str]=..., object_id: _Optional[str]=..., object_name: _Optional[str]=...) -> None: + ... + +class OntologySearchMetricsCell(_message.Message): + __slots__ = ('query', 'ontology_id', 'match_count', 'returned_count', 'truncated', 'matches') + QUERY_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + MATCH_COUNT_FIELD_NUMBER: _ClassVar[int] + RETURNED_COUNT_FIELD_NUMBER: _ClassVar[int] + TRUNCATED_FIELD_NUMBER: _ClassVar[int] + MATCHES_FIELD_NUMBER: _ClassVar[int] + query: str + ontology_id: int + match_count: int + returned_count: int + truncated: bool + matches: _containers.RepeatedCompositeFieldContainer[OntologyMetricSearchMatch] + + def __init__(self, query: _Optional[str]=..., ontology_id: _Optional[int]=..., match_count: _Optional[int]=..., returned_count: _Optional[int]=..., truncated: bool=..., matches: _Optional[_Iterable[_Union[OntologyMetricSearchMatch, _Mapping]]]=...) -> None: + ... + +class OntologyObjectDimensionLite(_message.Message): + __slots__ = ('dimension_id', 'dimension_name', 'dimension_description', 'dimension_type') + DIMENSION_ID_FIELD_NUMBER: _ClassVar[int] + DIMENSION_NAME_FIELD_NUMBER: _ClassVar[int] + DIMENSION_DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + DIMENSION_TYPE_FIELD_NUMBER: _ClassVar[int] + dimension_id: str + dimension_name: str + dimension_description: str + dimension_type: str + + def __init__(self, dimension_id: _Optional[str]=..., dimension_name: _Optional[str]=..., dimension_description: _Optional[str]=..., dimension_type: _Optional[str]=...) -> None: + ... + +class OntologyObjectMetricLite(_message.Message): + __slots__ = ('metric_id', 'metric_name', 'metric_description', 'metric_aggregation') + METRIC_ID_FIELD_NUMBER: _ClassVar[int] + METRIC_NAME_FIELD_NUMBER: _ClassVar[int] + METRIC_DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + METRIC_AGGREGATION_FIELD_NUMBER: _ClassVar[int] + metric_id: str + metric_name: str + metric_description: str + metric_aggregation: str + + def __init__(self, metric_id: _Optional[str]=..., metric_name: _Optional[str]=..., metric_description: _Optional[str]=..., metric_aggregation: _Optional[str]=...) -> None: + ... + +class OntologyOpenObjectCell(_message.Message): + __slots__ = ('requested_object', 'ontology_id', 'object_id', 'object_name', 'object_description', 'dimension_count', 'dimension_returned_count', 'metric_count', 'metric_returned_count', 'dimensions_truncated', 'metrics_truncated', 'dimensions', 'metrics') + REQUESTED_OBJECT_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_NAME_FIELD_NUMBER: _ClassVar[int] + OBJECT_DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + DIMENSION_COUNT_FIELD_NUMBER: _ClassVar[int] + DIMENSION_RETURNED_COUNT_FIELD_NUMBER: _ClassVar[int] + METRIC_COUNT_FIELD_NUMBER: _ClassVar[int] + METRIC_RETURNED_COUNT_FIELD_NUMBER: _ClassVar[int] + DIMENSIONS_TRUNCATED_FIELD_NUMBER: _ClassVar[int] + METRICS_TRUNCATED_FIELD_NUMBER: _ClassVar[int] + DIMENSIONS_FIELD_NUMBER: _ClassVar[int] + METRICS_FIELD_NUMBER: _ClassVar[int] + requested_object: str + ontology_id: int + object_id: str + object_name: str + object_description: str + dimension_count: int + dimension_returned_count: int + metric_count: int + metric_returned_count: int + dimensions_truncated: bool + metrics_truncated: bool + dimensions: _containers.RepeatedCompositeFieldContainer[OntologyObjectDimensionLite] + metrics: _containers.RepeatedCompositeFieldContainer[OntologyObjectMetricLite] + + def __init__(self, requested_object: _Optional[str]=..., ontology_id: _Optional[int]=..., object_id: _Optional[str]=..., object_name: _Optional[str]=..., object_description: _Optional[str]=..., dimension_count: _Optional[int]=..., dimension_returned_count: _Optional[int]=..., metric_count: _Optional[int]=..., metric_returned_count: _Optional[int]=..., dimensions_truncated: bool=..., metrics_truncated: bool=..., dimensions: _Optional[_Iterable[_Union[OntologyObjectDimensionLite, _Mapping]]]=..., metrics: _Optional[_Iterable[_Union[OntologyObjectMetricLite, _Mapping]]]=...) -> None: + ... + +class ImageReference(_message.Message): + __slots__ = ('name', 'url') + NAME_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + name: str + url: str + + def __init__(self, name: _Optional[str]=..., url: _Optional[str]=...) -> None: + ... + +class ChartReference(_message.Message): + __slots__ = ('name', 'url', 'html_url', 'png_url', 'title', 'spec_url') + NAME_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + HTML_URL_FIELD_NUMBER: _ClassVar[int] + PNG_URL_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + SPEC_URL_FIELD_NUMBER: _ClassVar[int] + name: str + url: str + html_url: str + png_url: str + title: str + spec_url: str + + def __init__(self, name: _Optional[str]=..., url: _Optional[str]=..., html_url: _Optional[str]=..., png_url: _Optional[str]=..., title: _Optional[str]=..., spec_url: _Optional[str]=...) -> None: + ... + +class FileReference(_message.Message): + __slots__ = ('name', 'url', 'file_type') + NAME_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + FILE_TYPE_FIELD_NUMBER: _ClassVar[int] + name: str + url: str + file_type: str + + def __init__(self, name: _Optional[str]=..., url: _Optional[str]=..., file_type: _Optional[str]=...) -> None: + ... + +class SQLReference(_message.Message): + __slots__ = ('tool_id',) + TOOL_ID_FIELD_NUMBER: _ClassVar[int] + tool_id: str + + def __init__(self, tool_id: _Optional[str]=...) -> None: + ... + +class AnswerCell(_message.Message): + __slots__ = ('content', 'images', 'sql') + CONTENT_FIELD_NUMBER: _ClassVar[int] + IMAGES_FIELD_NUMBER: _ClassVar[int] + SQL_FIELD_NUMBER: _ClassVar[int] + content: str + images: _containers.RepeatedCompositeFieldContainer[ImageReference] + sql: _containers.RepeatedCompositeFieldContainer[SQLReference] + + def __init__(self, content: _Optional[str]=..., images: _Optional[_Iterable[_Union[ImageReference, _Mapping]]]=..., sql: _Optional[_Iterable[_Union[SQLReference, _Mapping]]]=...) -> None: + ... + +class DocumentCell(_message.Message): + __slots__ = ('name', 'url', 'preview', 'dataset_source_id', 'page_count') + NAME_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + PREVIEW_FIELD_NUMBER: _ClassVar[int] + DATASET_SOURCE_ID_FIELD_NUMBER: _ClassVar[int] + PAGE_COUNT_FIELD_NUMBER: _ClassVar[int] + name: str + url: str + preview: str + dataset_source_id: str + page_count: int + + def __init__(self, name: _Optional[str]=..., url: _Optional[str]=..., preview: _Optional[str]=..., dataset_source_id: _Optional[str]=..., page_count: _Optional[int]=...) -> None: + ... + +class TabularFileCell(_message.Message): + __slots__ = ('file_name', 'category', 'dataframes', 'dataset_source_id', 'preview_available') + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + DATAFRAMES_FIELD_NUMBER: _ClassVar[int] + DATASET_SOURCE_ID_FIELD_NUMBER: _ClassVar[int] + PREVIEW_AVAILABLE_FIELD_NUMBER: _ClassVar[int] + file_name: str + category: _dataset_pb2.TabularFileCategory + dataframes: _containers.RepeatedCompositeFieldContainer[_dataframe_pb2.DataFrameInfo] + dataset_source_id: str + preview_available: bool + + def __init__(self, file_name: _Optional[str]=..., category: _Optional[_Union[_dataset_pb2.TabularFileCategory, str]]=..., dataframes: _Optional[_Iterable[_Union[_dataframe_pb2.DataFrameInfo, _Mapping]]]=..., dataset_source_id: _Optional[str]=..., preview_available: bool=...) -> None: + ... + +class ImageCell(_message.Message): + __slots__ = ('name', 'url', 'mime_type', 'width', 'height', 'size_bytes', 'dataset_source_id', 'alt_text', 'caption') + NAME_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + MIME_TYPE_FIELD_NUMBER: _ClassVar[int] + WIDTH_FIELD_NUMBER: _ClassVar[int] + HEIGHT_FIELD_NUMBER: _ClassVar[int] + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + DATASET_SOURCE_ID_FIELD_NUMBER: _ClassVar[int] + ALT_TEXT_FIELD_NUMBER: _ClassVar[int] + CAPTION_FIELD_NUMBER: _ClassVar[int] + name: str + url: str + mime_type: str + width: int + height: int + size_bytes: int + dataset_source_id: str + alt_text: str + caption: str + + def __init__(self, name: _Optional[str]=..., url: _Optional[str]=..., mime_type: _Optional[str]=..., width: _Optional[int]=..., height: _Optional[int]=..., size_bytes: _Optional[int]=..., dataset_source_id: _Optional[str]=..., alt_text: _Optional[str]=..., caption: _Optional[str]=...) -> None: + ... + +class TextCell(_message.Message): + __slots__ = ('file_name', 'content', 'mime_type', 'size_bytes', 'dataset_source_id', 'line_count') + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + MIME_TYPE_FIELD_NUMBER: _ClassVar[int] + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + DATASET_SOURCE_ID_FIELD_NUMBER: _ClassVar[int] + LINE_COUNT_FIELD_NUMBER: _ClassVar[int] + file_name: str + content: str + mime_type: str + size_bytes: int + dataset_source_id: str + line_count: int + + def __init__(self, file_name: _Optional[str]=..., content: _Optional[str]=..., mime_type: _Optional[str]=..., size_bytes: _Optional[int]=..., dataset_source_id: _Optional[str]=..., line_count: _Optional[int]=...) -> None: + ... + +class ExaSearchResult(_message.Message): + __slots__ = ('title', 'url', 'text', 'author', 'published_date', 'favicon', 'image', 'score', 'highlights', 'highlight_scores', 'summary') + TITLE_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + TEXT_FIELD_NUMBER: _ClassVar[int] + AUTHOR_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_DATE_FIELD_NUMBER: _ClassVar[int] + FAVICON_FIELD_NUMBER: _ClassVar[int] + IMAGE_FIELD_NUMBER: _ClassVar[int] + SCORE_FIELD_NUMBER: _ClassVar[int] + HIGHLIGHTS_FIELD_NUMBER: _ClassVar[int] + HIGHLIGHT_SCORES_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + title: str + url: str + text: str + author: str + published_date: str + favicon: str + image: str + score: float + highlights: _containers.RepeatedScalarFieldContainer[str] + highlight_scores: _containers.RepeatedScalarFieldContainer[float] + summary: str + + def __init__(self, title: _Optional[str]=..., url: _Optional[str]=..., text: _Optional[str]=..., author: _Optional[str]=..., published_date: _Optional[str]=..., favicon: _Optional[str]=..., image: _Optional[str]=..., score: _Optional[float]=..., highlights: _Optional[_Iterable[str]]=..., highlight_scores: _Optional[_Iterable[float]]=..., summary: _Optional[str]=...) -> None: + ... + +class WebSearchCell(_message.Message): + __slots__ = ('query', 'search_type', 'date_range', 'answer', 'exa_results', 'cost_dollars', 'execution_time_ms') + QUERY_FIELD_NUMBER: _ClassVar[int] + SEARCH_TYPE_FIELD_NUMBER: _ClassVar[int] + DATE_RANGE_FIELD_NUMBER: _ClassVar[int] + ANSWER_FIELD_NUMBER: _ClassVar[int] + EXA_RESULTS_FIELD_NUMBER: _ClassVar[int] + COST_DOLLARS_FIELD_NUMBER: _ClassVar[int] + EXECUTION_TIME_MS_FIELD_NUMBER: _ClassVar[int] + query: str + search_type: WebSearchType + date_range: DateRange + answer: str + exa_results: _containers.RepeatedCompositeFieldContainer[ExaSearchResult] + cost_dollars: float + execution_time_ms: int + + def __init__(self, query: _Optional[str]=..., search_type: _Optional[_Union[WebSearchType, str]]=..., date_range: _Optional[_Union[DateRange, str]]=..., answer: _Optional[str]=..., exa_results: _Optional[_Iterable[_Union[ExaSearchResult, _Mapping]]]=..., cost_dollars: _Optional[float]=..., execution_time_ms: _Optional[int]=...) -> None: + ... + +class LinkedinSearchCell(_message.Message): + __slots__ = ('query', 'exa_results', 'cost_dollars', 'execution_time_ms') + QUERY_FIELD_NUMBER: _ClassVar[int] + EXA_RESULTS_FIELD_NUMBER: _ClassVar[int] + COST_DOLLARS_FIELD_NUMBER: _ClassVar[int] + EXECUTION_TIME_MS_FIELD_NUMBER: _ClassVar[int] + query: str + exa_results: _containers.RepeatedCompositeFieldContainer[ExaSearchResult] + cost_dollars: float + execution_time_ms: int + + def __init__(self, query: _Optional[str]=..., exa_results: _Optional[_Iterable[_Union[ExaSearchResult, _Mapping]]]=..., cost_dollars: _Optional[float]=..., execution_time_ms: _Optional[int]=...) -> None: + ... + +class ReportCell(_message.Message): + __slots__ = ('subject', 'summary', 'blocks', 'html_preview', 'chat_id', 'report_id') + SUBJECT_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + BLOCKS_FIELD_NUMBER: _ClassVar[int] + HTML_PREVIEW_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + REPORT_ID_FIELD_NUMBER: _ClassVar[int] + subject: str + summary: str + blocks: _containers.RepeatedCompositeFieldContainer[_report_pb2.ReportBlock] + html_preview: str + chat_id: str + report_id: str + + def __init__(self, subject: _Optional[str]=..., summary: _Optional[str]=..., blocks: _Optional[_Iterable[_Union[_report_pb2.ReportBlock, _Mapping]]]=..., html_preview: _Optional[str]=..., chat_id: _Optional[str]=..., report_id: _Optional[str]=...) -> None: + ... + +class FeedExplorerCell(_message.Message): + __slots__ = ('operation', 'post_id', 'filter', 'limit', 'result', 'channel_id') + OPERATION_FIELD_NUMBER: _ClassVar[int] + POST_ID_FIELD_NUMBER: _ClassVar[int] + FILTER_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + RESULT_FIELD_NUMBER: _ClassVar[int] + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + operation: str + post_id: str + filter: str + limit: int + result: str + channel_id: str + + def __init__(self, operation: _Optional[str]=..., post_id: _Optional[str]=..., filter: _Optional[str]=..., limit: _Optional[int]=..., result: _Optional[str]=..., channel_id: _Optional[str]=...) -> None: + ... + +class SummaryCell(_message.Message): + __slots__ = ('summary',) + SUMMARY_FIELD_NUMBER: _ClassVar[int] + summary: str + + def __init__(self, summary: _Optional[str]=...) -> None: + ... + +class StatusCell(_message.Message): + __slots__ = ('status',) + STATUS_FIELD_NUMBER: _ClassVar[int] + status: str + + def __init__(self, status: _Optional[str]=...) -> None: + ... + +class TableauCell(_message.Message): + __slots__ = ('dataset_id', 'message_blocks') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + MESSAGE_BLOCKS_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + message_blocks: _containers.RepeatedCompositeFieldContainer[TableauMessageBlock] + + def __init__(self, dataset_id: _Optional[str]=..., message_blocks: _Optional[_Iterable[_Union[TableauMessageBlock, _Mapping]]]=...) -> None: + ... + +class TableauMessageBlock(_message.Message): + __slots__ = ('content', 'image_base64', 'pdf_base64') + CONTENT_FIELD_NUMBER: _ClassVar[int] + IMAGE_BASE64_FIELD_NUMBER: _ClassVar[int] + PDF_BASE64_FIELD_NUMBER: _ClassVar[int] + content: str + image_base64: str + pdf_base64: str + + def __init__(self, content: _Optional[str]=..., image_base64: _Optional[str]=..., pdf_base64: _Optional[str]=...) -> None: + ... + +class TableauSQLCell(_message.Message): + __slots__ = ('tableau_datasource_luid', 'query', 'dataframe', 'dataframe_preview') + TABLEAU_DATASOURCE_LUID_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_PREVIEW_FIELD_NUMBER: _ClassVar[int] + tableau_datasource_luid: str + query: str + dataframe: _dataframe_pb2.DataFrameWithInfo + dataframe_preview: str + + def __init__(self, tableau_datasource_luid: _Optional[str]=..., query: _Optional[str]=..., dataframe: _Optional[_Union[_dataframe_pb2.DataFrameWithInfo, _Mapping]]=..., dataframe_preview: _Optional[str]=...) -> None: + ... + +class TableauSearchFieldsCell(_message.Message): + __slots__ = ('search_term', 'result_text') + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + RESULT_TEXT_FIELD_NUMBER: _ClassVar[int] + search_term: str + result_text: str + + def __init__(self, search_term: _Optional[str]=..., result_text: _Optional[str]=...) -> None: + ... + +class PowerBIMessageBlock(_message.Message): + __slots__ = ('content', 'image_base64') + CONTENT_FIELD_NUMBER: _ClassVar[int] + IMAGE_BASE64_FIELD_NUMBER: _ClassVar[int] + content: str + image_base64: str + + def __init__(self, content: _Optional[str]=..., image_base64: _Optional[str]=...) -> None: + ... + +class PowerBICell(_message.Message): + __slots__ = ('dataset_id', 'report_ids', 'powerbi_dataset_ids', 'message_blocks') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + POWERBI_DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_BLOCKS_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + report_ids: _containers.RepeatedScalarFieldContainer[str] + powerbi_dataset_ids: _containers.RepeatedScalarFieldContainer[str] + message_blocks: _containers.RepeatedCompositeFieldContainer[PowerBIMessageBlock] + + def __init__(self, dataset_id: _Optional[str]=..., report_ids: _Optional[_Iterable[str]]=..., powerbi_dataset_ids: _Optional[_Iterable[str]]=..., message_blocks: _Optional[_Iterable[_Union[PowerBIMessageBlock, _Mapping]]]=...) -> None: + ... + +class PowerBIDAXCell(_message.Message): + __slots__ = ('dataset_id', 'dax_query', 'dataframe', 'dataframe_preview', 'auth_required', 'auth_connector_name', 'auth_connector_id', 'auth_tenant_id', 'auth_client_id', 'auth_completed') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + DAX_QUERY_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_PREVIEW_FIELD_NUMBER: _ClassVar[int] + AUTH_REQUIRED_FIELD_NUMBER: _ClassVar[int] + AUTH_CONNECTOR_NAME_FIELD_NUMBER: _ClassVar[int] + AUTH_CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + AUTH_TENANT_ID_FIELD_NUMBER: _ClassVar[int] + AUTH_CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + AUTH_COMPLETED_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + dax_query: str + dataframe: _dataframe_pb2.DataFrameWithInfo + dataframe_preview: str + auth_required: bool + auth_connector_name: str + auth_connector_id: int + auth_tenant_id: str + auth_client_id: str + auth_completed: bool + + def __init__(self, dataset_id: _Optional[str]=..., dax_query: _Optional[str]=..., dataframe: _Optional[_Union[_dataframe_pb2.DataFrameWithInfo, _Mapping]]=..., dataframe_preview: _Optional[str]=..., auth_required: bool=..., auth_connector_name: _Optional[str]=..., auth_connector_id: _Optional[int]=..., auth_tenant_id: _Optional[str]=..., auth_client_id: _Optional[str]=..., auth_completed: bool=...) -> None: + ... + +class ContextPromptEditorEditPair(_message.Message): + __slots__ = ('old_string', 'new_string') + OLD_STRING_FIELD_NUMBER: _ClassVar[int] + NEW_STRING_FIELD_NUMBER: _ClassVar[int] + old_string: str + new_string: str + + def __init__(self, old_string: _Optional[str]=..., new_string: _Optional[str]=...) -> None: + ... + +class ContextPromptEditorCell(_message.Message): + __slots__ = ('action', 'current_context', 'proposed_context', 'diff', 'status', 'error_message', 'context_id') + ACTION_FIELD_NUMBER: _ClassVar[int] + CURRENT_CONTEXT_FIELD_NUMBER: _ClassVar[int] + PROPOSED_CONTEXT_FIELD_NUMBER: _ClassVar[int] + DIFF_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + CONTEXT_ID_FIELD_NUMBER: _ClassVar[int] + action: ContextPromptEditorAction + current_context: str + proposed_context: str + diff: str + status: ContextPromptChangeStatus + error_message: str + context_id: str + + def __init__(self, action: _Optional[_Union[ContextPromptEditorAction, str]]=..., current_context: _Optional[str]=..., proposed_context: _Optional[str]=..., diff: _Optional[str]=..., status: _Optional[_Union[ContextPromptChangeStatus, str]]=..., error_message: _Optional[str]=..., context_id: _Optional[str]=...) -> None: + ... + +class OntologyEditorListFilter(_message.Message): + __slots__ = ('object_id',) + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + + def __init__(self, object_id: _Optional[str]=...) -> None: + ... + +class OntologyEditorCell(_message.Message): + __slots__ = ('action', 'list_type', 'operation', 'status', 'list_filter', 'list_count', 'list_objects', 'list_attributes', 'list_relations', 'list_metrics', 'created_object', 'created_attributes', 'updated_object', 'deleted_object', 'created_attribute', 'updated_attribute', 'deleted_attribute', 'created_link', 'updated_link', 'deleted_link', 'created_metric', 'updated_metric', 'deleted_metric') + ACTION_FIELD_NUMBER: _ClassVar[int] + LIST_TYPE_FIELD_NUMBER: _ClassVar[int] + OPERATION_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + LIST_FILTER_FIELD_NUMBER: _ClassVar[int] + LIST_COUNT_FIELD_NUMBER: _ClassVar[int] + LIST_OBJECTS_FIELD_NUMBER: _ClassVar[int] + LIST_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + LIST_RELATIONS_FIELD_NUMBER: _ClassVar[int] + LIST_METRICS_FIELD_NUMBER: _ClassVar[int] + CREATED_OBJECT_FIELD_NUMBER: _ClassVar[int] + CREATED_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + UPDATED_OBJECT_FIELD_NUMBER: _ClassVar[int] + DELETED_OBJECT_FIELD_NUMBER: _ClassVar[int] + CREATED_ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + UPDATED_ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + DELETED_ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + CREATED_LINK_FIELD_NUMBER: _ClassVar[int] + UPDATED_LINK_FIELD_NUMBER: _ClassVar[int] + DELETED_LINK_FIELD_NUMBER: _ClassVar[int] + CREATED_METRIC_FIELD_NUMBER: _ClassVar[int] + UPDATED_METRIC_FIELD_NUMBER: _ClassVar[int] + DELETED_METRIC_FIELD_NUMBER: _ClassVar[int] + action: OntologyEditorAction + list_type: OntologyEditorListType + operation: OntologyEditorOperation + status: OntologyEditorStatus + list_filter: OntologyEditorListFilter + list_count: int + list_objects: _containers.RepeatedCompositeFieldContainer[_ontology_pb2.OntologyObject] + list_attributes: _containers.RepeatedCompositeFieldContainer[_ontology_pb2.OntologyAttribute] + list_relations: _containers.RepeatedCompositeFieldContainer[_ontology_pb2.OntologyRelation] + list_metrics: _containers.RepeatedCompositeFieldContainer[_ontology_pb2.OntologyMetric] + created_object: _ontology_pb2.OntologyObject + created_attributes: _containers.RepeatedCompositeFieldContainer[_ontology_pb2.OntologyAttribute] + updated_object: _ontology_pb2.OntologyObject + deleted_object: _ontology_pb2.OntologyObject + created_attribute: _ontology_pb2.OntologyAttribute + updated_attribute: _ontology_pb2.OntologyAttribute + deleted_attribute: _ontology_pb2.OntologyAttribute + created_link: _ontology_pb2.OntologyRelation + updated_link: _ontology_pb2.OntologyRelation + deleted_link: _ontology_pb2.OntologyRelation + created_metric: _ontology_pb2.OntologyMetric + updated_metric: _ontology_pb2.OntologyMetric + deleted_metric: _ontology_pb2.OntologyMetric + + def __init__(self, action: _Optional[_Union[OntologyEditorAction, str]]=..., list_type: _Optional[_Union[OntologyEditorListType, str]]=..., operation: _Optional[_Union[OntologyEditorOperation, str]]=..., status: _Optional[_Union[OntologyEditorStatus, str]]=..., list_filter: _Optional[_Union[OntologyEditorListFilter, _Mapping]]=..., list_count: _Optional[int]=..., list_objects: _Optional[_Iterable[_Union[_ontology_pb2.OntologyObject, _Mapping]]]=..., list_attributes: _Optional[_Iterable[_Union[_ontology_pb2.OntologyAttribute, _Mapping]]]=..., list_relations: _Optional[_Iterable[_Union[_ontology_pb2.OntologyRelation, _Mapping]]]=..., list_metrics: _Optional[_Iterable[_Union[_ontology_pb2.OntologyMetric, _Mapping]]]=..., created_object: _Optional[_Union[_ontology_pb2.OntologyObject, _Mapping]]=..., created_attributes: _Optional[_Iterable[_Union[_ontology_pb2.OntologyAttribute, _Mapping]]]=..., updated_object: _Optional[_Union[_ontology_pb2.OntologyObject, _Mapping]]=..., deleted_object: _Optional[_Union[_ontology_pb2.OntologyObject, _Mapping]]=..., created_attribute: _Optional[_Union[_ontology_pb2.OntologyAttribute, _Mapping]]=..., updated_attribute: _Optional[_Union[_ontology_pb2.OntologyAttribute, _Mapping]]=..., deleted_attribute: _Optional[_Union[_ontology_pb2.OntologyAttribute, _Mapping]]=..., created_link: _Optional[_Union[_ontology_pb2.OntologyRelation, _Mapping]]=..., updated_link: _Optional[_Union[_ontology_pb2.OntologyRelation, _Mapping]]=..., deleted_link: _Optional[_Union[_ontology_pb2.OntologyRelation, _Mapping]]=..., created_metric: _Optional[_Union[_ontology_pb2.OntologyMetric, _Mapping]]=..., updated_metric: _Optional[_Union[_ontology_pb2.OntologyMetric, _Mapping]]=..., deleted_metric: _Optional[_Union[_ontology_pb2.OntologyMetric, _Mapping]]=...) -> None: + ... + +class MCPToolCell(_message.Message): + __slots__ = ('server_name', 'tool_name', 'arguments_json', 'content_json', 'is_error', 'error_message', 'execution_time_ms') + SERVER_NAME_FIELD_NUMBER: _ClassVar[int] + TOOL_NAME_FIELD_NUMBER: _ClassVar[int] + ARGUMENTS_JSON_FIELD_NUMBER: _ClassVar[int] + CONTENT_JSON_FIELD_NUMBER: _ClassVar[int] + IS_ERROR_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + EXECUTION_TIME_MS_FIELD_NUMBER: _ClassVar[int] + server_name: str + tool_name: str + arguments_json: str + content_json: str + is_error: bool + error_message: str + execution_time_ms: int + + def __init__(self, server_name: _Optional[str]=..., tool_name: _Optional[str]=..., arguments_json: _Optional[str]=..., content_json: _Optional[str]=..., is_error: bool=..., error_message: _Optional[str]=..., execution_time_ms: _Optional[int]=...) -> None: + ... + +class UseSkillCell(_message.Message): + __slots__ = ('trigger', 'name', 'ok') + TRIGGER_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + OK_FIELD_NUMBER: _ClassVar[int] + trigger: str + name: str + ok: bool + + def __init__(self, trigger: _Optional[str]=..., name: _Optional[str]=..., ok: bool=...) -> None: + ... + +class OntologyQueryParam(_message.Message): + __slots__ = ('name', 'type', 'nullable', 'description', 'default_value') + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + NULLABLE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + DEFAULT_VALUE_FIELD_NUMBER: _ClassVar[int] + name: str + type: str + nullable: bool + description: str + default_value: str + + def __init__(self, name: _Optional[str]=..., type: _Optional[str]=..., nullable: bool=..., description: _Optional[str]=..., default_value: _Optional[str]=...) -> None: + ... + +class OntologyQueryCell(_message.Message): + __slots__ = ('action', 'path', 'params_json', 'connector_id', 'declared_params', 'sql', 'used_connector_id', 'dataframe', 'dataframe_preview', 'auth_required', 'auth_connector_name', 'auth_locator', 'auth_client_id', 'auth_role', 'auth_completed', 'auth_connector_type', 'auth_workspace_url') + ACTION_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + PARAMS_JSON_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + DECLARED_PARAMS_FIELD_NUMBER: _ClassVar[int] + SQL_FIELD_NUMBER: _ClassVar[int] + USED_CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_PREVIEW_FIELD_NUMBER: _ClassVar[int] + AUTH_REQUIRED_FIELD_NUMBER: _ClassVar[int] + AUTH_CONNECTOR_NAME_FIELD_NUMBER: _ClassVar[int] + AUTH_LOCATOR_FIELD_NUMBER: _ClassVar[int] + AUTH_CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + AUTH_ROLE_FIELD_NUMBER: _ClassVar[int] + AUTH_COMPLETED_FIELD_NUMBER: _ClassVar[int] + AUTH_CONNECTOR_TYPE_FIELD_NUMBER: _ClassVar[int] + AUTH_WORKSPACE_URL_FIELD_NUMBER: _ClassVar[int] + action: str + path: str + params_json: str + connector_id: int + declared_params: _containers.RepeatedCompositeFieldContainer[OntologyQueryParam] + sql: str + used_connector_id: int + dataframe: _dataframe_pb2.DataFrameWithInfo + dataframe_preview: str + auth_required: bool + auth_connector_name: str + auth_locator: str + auth_client_id: str + auth_role: str + auth_completed: bool + auth_connector_type: _connector_pb2.ConnectorType + auth_workspace_url: str + + def __init__(self, action: _Optional[str]=..., path: _Optional[str]=..., params_json: _Optional[str]=..., connector_id: _Optional[int]=..., declared_params: _Optional[_Iterable[_Union[OntologyQueryParam, _Mapping]]]=..., sql: _Optional[str]=..., used_connector_id: _Optional[int]=..., dataframe: _Optional[_Union[_dataframe_pb2.DataFrameWithInfo, _Mapping]]=..., dataframe_preview: _Optional[str]=..., auth_required: bool=..., auth_connector_name: _Optional[str]=..., auth_locator: _Optional[str]=..., auth_client_id: _Optional[str]=..., auth_role: _Optional[str]=..., auth_completed: bool=..., auth_connector_type: _Optional[_Union[_connector_pb2.ConnectorType, str]]=..., auth_workspace_url: _Optional[str]=...) -> None: + ... + +class PreviewCell(_message.Message): + __slots__ = ('target', 'preview_type', 'name', 'url', 'content', 'error') + TARGET_FIELD_NUMBER: _ClassVar[int] + PREVIEW_TYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + target: str + preview_type: str + name: str + url: str + content: str + error: str + + def __init__(self, target: _Optional[str]=..., preview_type: _Optional[str]=..., name: _Optional[str]=..., url: _Optional[str]=..., content: _Optional[str]=..., error: _Optional[str]=...) -> None: + ... + +class FormEditorCell(_message.Message): + __slots__ = ('action', 'form_snapshot', 'form', 'form_id') + ACTION_FIELD_NUMBER: _ClassVar[int] + FORM_SNAPSHOT_FIELD_NUMBER: _ClassVar[int] + FORM_FIELD_NUMBER: _ClassVar[int] + FORM_ID_FIELD_NUMBER: _ClassVar[int] + action: FormEditorAction + form_snapshot: EditableForm + form: EditableForm + form_id: str + + def __init__(self, action: _Optional[_Union[FormEditorAction, str]]=..., form_snapshot: _Optional[_Union[EditableForm, _Mapping]]=..., form: _Optional[_Union[EditableForm, _Mapping]]=..., form_id: _Optional[str]=...) -> None: + ... + +class FormCell(_message.Message): + __slots__ = ('action', 'form_id', 'form_type', 'status', 'test_status', 'name', 'approval_outcome', 'test_message') + ACTION_FIELD_NUMBER: _ClassVar[int] + FORM_ID_FIELD_NUMBER: _ClassVar[int] + FORM_TYPE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + TEST_STATUS_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + APPROVAL_OUTCOME_FIELD_NUMBER: _ClassVar[int] + TEST_MESSAGE_FIELD_NUMBER: _ClassVar[int] + action: str + form_id: str + form_type: str + status: str + test_status: str + name: str + approval_outcome: str + test_message: str + + def __init__(self, action: _Optional[str]=..., form_id: _Optional[str]=..., form_type: _Optional[str]=..., status: _Optional[str]=..., test_status: _Optional[str]=..., name: _Optional[str]=..., approval_outcome: _Optional[str]=..., test_message: _Optional[str]=...) -> None: + ... + +class EditableForm(_message.Message): + __slots__ = ('form_name', 'fields', 'status', 'id', 'submit_error', 'submit_result', 'validation_error') + FORM_NAME_FIELD_NUMBER: _ClassVar[int] + FIELDS_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + ID_FIELD_NUMBER: _ClassVar[int] + SUBMIT_ERROR_FIELD_NUMBER: _ClassVar[int] + SUBMIT_RESULT_FIELD_NUMBER: _ClassVar[int] + VALIDATION_ERROR_FIELD_NUMBER: _ClassVar[int] + form_name: str + fields: _struct_pb2.Struct + status: EditableFormStatus + id: str + submit_error: str + submit_result: str + validation_error: str + + def __init__(self, form_name: _Optional[str]=..., fields: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., status: _Optional[_Union[EditableFormStatus, str]]=..., id: _Optional[str]=..., submit_error: _Optional[str]=..., submit_result: _Optional[str]=..., validation_error: _Optional[str]=...) -> None: + ... + +class ConnectorRef(_message.Message): + __slots__ = ('id', 'name', 'type') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + id: int + name: str + type: str + + def __init__(self, id: _Optional[int]=..., name: _Optional[str]=..., type: _Optional[str]=...) -> None: + ... + +class OrgMemberRef(_message.Message): + __slots__ = ('email', 'name') + EMAIL_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + email: str + name: str + + def __init__(self, email: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class SlackChannelRef(_message.Message): + __slots__ = ('channel_id', 'name') + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + channel_id: str + name: str + + def __init__(self, channel_id: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class SlackUserRef(_message.Message): + __slots__ = ('user_id', 'name') + USER_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + user_id: str + name: str + + def __init__(self, user_id: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class TeamsChannelRef(_message.Message): + __slots__ = ('channel_id', 'name') + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + channel_id: str + name: str + + def __init__(self, channel_id: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class TeamsUserRef(_message.Message): + __slots__ = ('user_aad_id', 'name') + USER_AAD_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + user_aad_id: str + name: str + + def __init__(self, user_aad_id: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class FieldChange(_message.Message): + __slots__ = ('field_name', 'old_value', 'new_value') + FIELD_NAME_FIELD_NUMBER: _ClassVar[int] + OLD_VALUE_FIELD_NUMBER: _ClassVar[int] + NEW_VALUE_FIELD_NUMBER: _ClassVar[int] + field_name: str + old_value: str + new_value: str + + def __init__(self, field_name: _Optional[str]=..., old_value: _Optional[str]=..., new_value: _Optional[str]=...) -> None: + ... + +class PlaybookInfo(_message.Message): + __slots__ = ('id', 'name', 'prompt', 'owner_id', 'owner_email', 'created_at', 'updated_at', 'cron_string', 'datasets', 'email_addresses', 'slack_channel_id', 'tagged_slack_user_ids', 'status', 'connector_id', 'paradigm_type', 'report_output_style', 'is_subscribed', 'connector_ids', 'teams_channel_id', 'tagged_teams_user_aad_ids') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + OWNER_ID_FIELD_NUMBER: _ClassVar[int] + OWNER_EMAIL_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + DATASETS_FIELD_NUMBER: _ClassVar[int] + EMAIL_ADDRESSES_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TAGGED_SLACK_USER_IDS_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + PARADIGM_TYPE_FIELD_NUMBER: _ClassVar[int] + REPORT_OUTPUT_STYLE_FIELD_NUMBER: _ClassVar[int] + IS_SUBSCRIBED_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TAGGED_TEAMS_USER_AAD_IDS_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + prompt: str + owner_id: str + owner_email: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + cron_string: str + datasets: _containers.RepeatedCompositeFieldContainer[_dataset_pb2.Dataset] + email_addresses: _containers.RepeatedScalarFieldContainer[str] + slack_channel_id: str + tagged_slack_user_ids: _containers.RepeatedScalarFieldContainer[str] + status: PlaybookStatusLight + connector_id: int + paradigm_type: _paradigm_params_pb2.ParadigmType + report_output_style: PlaybookReportStyleLight + is_subscribed: bool + connector_ids: _containers.RepeatedScalarFieldContainer[int] + teams_channel_id: str + tagged_teams_user_aad_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., prompt: _Optional[str]=..., owner_id: _Optional[str]=..., owner_email: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., cron_string: _Optional[str]=..., datasets: _Optional[_Iterable[_Union[_dataset_pb2.Dataset, _Mapping]]]=..., email_addresses: _Optional[_Iterable[str]]=..., slack_channel_id: _Optional[str]=..., tagged_slack_user_ids: _Optional[_Iterable[str]]=..., status: _Optional[_Union[PlaybookStatusLight, str]]=..., connector_id: _Optional[int]=..., paradigm_type: _Optional[_Union[_paradigm_params_pb2.ParadigmType, str]]=..., report_output_style: _Optional[_Union[PlaybookReportStyleLight, str]]=..., is_subscribed: bool=..., connector_ids: _Optional[_Iterable[int]]=..., teams_channel_id: _Optional[str]=..., tagged_teams_user_aad_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class PlaybookEditorCell(_message.Message): + __slots__ = ('action', 'playbooks', 'error_message', 'total_count', 'slack_channels', 'slack_users', 'connectors', 'org_members', 'has_slack', 'field_changes', 'teams_channels', 'teams_users', 'has_teams') + ACTION_FIELD_NUMBER: _ClassVar[int] + PLAYBOOKS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNELS_FIELD_NUMBER: _ClassVar[int] + SLACK_USERS_FIELD_NUMBER: _ClassVar[int] + CONNECTORS_FIELD_NUMBER: _ClassVar[int] + ORG_MEMBERS_FIELD_NUMBER: _ClassVar[int] + HAS_SLACK_FIELD_NUMBER: _ClassVar[int] + FIELD_CHANGES_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNELS_FIELD_NUMBER: _ClassVar[int] + TEAMS_USERS_FIELD_NUMBER: _ClassVar[int] + HAS_TEAMS_FIELD_NUMBER: _ClassVar[int] + action: PlaybookEditorAction + playbooks: _containers.RepeatedCompositeFieldContainer[PlaybookInfo] + error_message: str + total_count: int + slack_channels: _containers.RepeatedCompositeFieldContainer[SlackChannelRef] + slack_users: _containers.RepeatedCompositeFieldContainer[SlackUserRef] + connectors: _containers.RepeatedCompositeFieldContainer[ConnectorRef] + org_members: _containers.RepeatedCompositeFieldContainer[OrgMemberRef] + has_slack: bool + field_changes: _containers.RepeatedCompositeFieldContainer[FieldChange] + teams_channels: _containers.RepeatedCompositeFieldContainer[TeamsChannelRef] + teams_users: _containers.RepeatedCompositeFieldContainer[TeamsUserRef] + has_teams: bool + + def __init__(self, action: _Optional[_Union[PlaybookEditorAction, str]]=..., playbooks: _Optional[_Iterable[_Union[PlaybookInfo, _Mapping]]]=..., error_message: _Optional[str]=..., total_count: _Optional[int]=..., slack_channels: _Optional[_Iterable[_Union[SlackChannelRef, _Mapping]]]=..., slack_users: _Optional[_Iterable[_Union[SlackUserRef, _Mapping]]]=..., connectors: _Optional[_Iterable[_Union[ConnectorRef, _Mapping]]]=..., org_members: _Optional[_Iterable[_Union[OrgMemberRef, _Mapping]]]=..., has_slack: bool=..., field_changes: _Optional[_Iterable[_Union[FieldChange, _Mapping]]]=..., teams_channels: _Optional[_Iterable[_Union[TeamsChannelRef, _Mapping]]]=..., teams_users: _Optional[_Iterable[_Union[TeamsUserRef, _Mapping]]]=..., has_teams: bool=...) -> None: + ... + +class GoogleDriveFile(_message.Message): + __slots__ = ('id', 'name', 'mime_type', 'size', 'modified_time', 'web_view_link') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + MIME_TYPE_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + MODIFIED_TIME_FIELD_NUMBER: _ClassVar[int] + WEB_VIEW_LINK_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + mime_type: str + size: int + modified_time: str + web_view_link: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., mime_type: _Optional[str]=..., size: _Optional[int]=..., modified_time: _Optional[str]=..., web_view_link: _Optional[str]=...) -> None: + ... + +class GoogleDriveSearchCell(_message.Message): + __slots__ = ('files', 'dataframe_preview', 'error_message', 'file_count') + FILES_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_PREVIEW_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + FILE_COUNT_FIELD_NUMBER: _ClassVar[int] + files: _containers.RepeatedCompositeFieldContainer[GoogleDriveFile] + dataframe_preview: str + error_message: str + file_count: int + + def __init__(self, files: _Optional[_Iterable[_Union[GoogleDriveFile, _Mapping]]]=..., dataframe_preview: _Optional[str]=..., error_message: _Optional[str]=..., file_count: _Optional[int]=...) -> None: + ... + +class GoogleDriveContentCell(_message.Message): + __slots__ = ('file_name', 'content_type', 'content', 'file_id', 'error_message') + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + CONTENT_TYPE_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + FILE_ID_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + file_name: str + content_type: str + content: str + file_id: str + error_message: str + + def __init__(self, file_name: _Optional[str]=..., content_type: _Optional[str]=..., content: _Optional[str]=..., file_id: _Optional[str]=..., error_message: _Optional[str]=...) -> None: + ... + +class Microsoft365EmailSearchCell(_message.Message): + __slots__ = ('email_count', 'email_summary', 'synthetic_tool_use_id') + EMAIL_COUNT_FIELD_NUMBER: _ClassVar[int] + EMAIL_SUMMARY_FIELD_NUMBER: _ClassVar[int] + SYNTHETIC_TOOL_USE_ID_FIELD_NUMBER: _ClassVar[int] + email_count: int + email_summary: str + synthetic_tool_use_id: str + + def __init__(self, email_count: _Optional[int]=..., email_summary: _Optional[str]=..., synthetic_tool_use_id: _Optional[str]=...) -> None: + ... + +class Microsoft365EmailContentCell(_message.Message): + __slots__ = ('email_id', 'subject', 'sender', 'synthetic_tool_use_id') + EMAIL_ID_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + SENDER_FIELD_NUMBER: _ClassVar[int] + SYNTHETIC_TOOL_USE_ID_FIELD_NUMBER: _ClassVar[int] + email_id: str + subject: str + sender: str + synthetic_tool_use_id: str + + def __init__(self, email_id: _Optional[str]=..., subject: _Optional[str]=..., sender: _Optional[str]=..., synthetic_tool_use_id: _Optional[str]=...) -> None: + ... + +class Microsoft365CalendarCell(_message.Message): + __slots__ = ('event_count', 'event_summary', 'synthetic_tool_use_id') + EVENT_COUNT_FIELD_NUMBER: _ClassVar[int] + EVENT_SUMMARY_FIELD_NUMBER: _ClassVar[int] + SYNTHETIC_TOOL_USE_ID_FIELD_NUMBER: _ClassVar[int] + event_count: int + event_summary: str + synthetic_tool_use_id: str + + def __init__(self, event_count: _Optional[int]=..., event_summary: _Optional[str]=..., synthetic_tool_use_id: _Optional[str]=...) -> None: + ... + +class GmailEmailSearchCell(_message.Message): + __slots__ = ('email_count', 'email_summary', 'synthetic_tool_use_id') + EMAIL_COUNT_FIELD_NUMBER: _ClassVar[int] + EMAIL_SUMMARY_FIELD_NUMBER: _ClassVar[int] + SYNTHETIC_TOOL_USE_ID_FIELD_NUMBER: _ClassVar[int] + email_count: int + email_summary: str + synthetic_tool_use_id: str + + def __init__(self, email_count: _Optional[int]=..., email_summary: _Optional[str]=..., synthetic_tool_use_id: _Optional[str]=...) -> None: + ... + +class GoogleCalendarSearchCell(_message.Message): + __slots__ = ('event_count', 'event_summary', 'synthetic_tool_use_id') + EVENT_COUNT_FIELD_NUMBER: _ClassVar[int] + EVENT_SUMMARY_FIELD_NUMBER: _ClassVar[int] + SYNTHETIC_TOOL_USE_ID_FIELD_NUMBER: _ClassVar[int] + event_count: int + event_summary: str + synthetic_tool_use_id: str + + def __init__(self, event_count: _Optional[int]=..., event_summary: _Optional[str]=..., synthetic_tool_use_id: _Optional[str]=...) -> None: + ... + +class GmailEmailContentCell(_message.Message): + __slots__ = ('email_id', 'subject', 'sender', 'synthetic_tool_use_id') + EMAIL_ID_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + SENDER_FIELD_NUMBER: _ClassVar[int] + SYNTHETIC_TOOL_USE_ID_FIELD_NUMBER: _ClassVar[int] + email_id: str + subject: str + sender: str + synthetic_tool_use_id: str + + def __init__(self, email_id: _Optional[str]=..., subject: _Optional[str]=..., sender: _Optional[str]=..., synthetic_tool_use_id: _Optional[str]=...) -> None: + ... + +class PreviewCellRef(_message.Message): + __slots__ = ('target', 'preview_type', 'name', 'url') + TARGET_FIELD_NUMBER: _ClassVar[int] + PREVIEW_TYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + target: str + preview_type: str + name: str + url: str + + def __init__(self, target: _Optional[str]=..., preview_type: _Optional[str]=..., name: _Optional[str]=..., url: _Optional[str]=...) -> None: + ... + +class ReportHistoryInfo(_message.Message): + __slots__ = ('id', 'chat_id', 'cell_id', 'created_at', 'subject', 'summary', 'blocks', 'read_at', 'preview_cells', 'html_preview') + ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + BLOCKS_FIELD_NUMBER: _ClassVar[int] + READ_AT_FIELD_NUMBER: _ClassVar[int] + PREVIEW_CELLS_FIELD_NUMBER: _ClassVar[int] + HTML_PREVIEW_FIELD_NUMBER: _ClassVar[int] + id: str + chat_id: str + cell_id: str + created_at: _timestamp_pb2.Timestamp + subject: str + summary: str + blocks: _containers.RepeatedCompositeFieldContainer[_report_pb2.ReportBlock] + read_at: _timestamp_pb2.Timestamp + preview_cells: _containers.RepeatedCompositeFieldContainer[PreviewCellRef] + html_preview: str + + def __init__(self, id: _Optional[str]=..., chat_id: _Optional[str]=..., cell_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., subject: _Optional[str]=..., summary: _Optional[str]=..., blocks: _Optional[_Iterable[_Union[_report_pb2.ReportBlock, _Mapping]]]=..., read_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., preview_cells: _Optional[_Iterable[_Union[PreviewCellRef, _Mapping]]]=..., html_preview: _Optional[str]=...) -> None: + ... + +class ReportHistoryCell(_message.Message): + __slots__ = ('reports', 'total_count', 'error_message') + REPORTS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + reports: _containers.RepeatedCompositeFieldContainer[ReportHistoryInfo] + total_count: int + error_message: str + + def __init__(self, reports: _Optional[_Iterable[_Union[ReportHistoryInfo, _Mapping]]]=..., total_count: _Optional[int]=..., error_message: _Optional[str]=...) -> None: + ... + +class BashCell(_message.Message): + __slots__ = ('script', 'stdout', 'stderr', 'exit_code') + SCRIPT_FIELD_NUMBER: _ClassVar[int] + STDOUT_FIELD_NUMBER: _ClassVar[int] + STDERR_FIELD_NUMBER: _ClassVar[int] + EXIT_CODE_FIELD_NUMBER: _ClassVar[int] + script: str + stdout: str + stderr: str + exit_code: int + + def __init__(self, script: _Optional[str]=..., stdout: _Optional[str]=..., stderr: _Optional[str]=..., exit_code: _Optional[int]=...) -> None: + ... + +class JavaScriptCell(_message.Message): + __slots__ = ('code', 'title', 'files', 'images', 'stdout') + CODE_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + FILES_FIELD_NUMBER: _ClassVar[int] + IMAGES_FIELD_NUMBER: _ClassVar[int] + STDOUT_FIELD_NUMBER: _ClassVar[int] + code: str + title: str + files: _containers.RepeatedCompositeFieldContainer[FileReference] + images: _containers.RepeatedCompositeFieldContainer[ImageReference] + stdout: str + + def __init__(self, code: _Optional[str]=..., title: _Optional[str]=..., files: _Optional[_Iterable[_Union[FileReference, _Mapping]]]=..., images: _Optional[_Iterable[_Union[ImageReference, _Mapping]]]=..., stdout: _Optional[str]=...) -> None: + ... + +class FeedPostCell(_message.Message): + __slots__ = ('title', 'content', 'image_urls', 'dashboard_ids', 'report_ids', 'chat_ids', 'post_id', 'post_url', 'timestamp', 'error', 'mentioned_member_ids', 'mentioned_agent_ids') + TITLE_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + IMAGE_URLS_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_IDS_FIELD_NUMBER: _ClassVar[int] + REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + CHAT_IDS_FIELD_NUMBER: _ClassVar[int] + POST_ID_FIELD_NUMBER: _ClassVar[int] + POST_URL_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + MENTIONED_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + MENTIONED_AGENT_IDS_FIELD_NUMBER: _ClassVar[int] + title: str + content: str + image_urls: _containers.RepeatedScalarFieldContainer[str] + dashboard_ids: _containers.RepeatedScalarFieldContainer[str] + report_ids: _containers.RepeatedScalarFieldContainer[str] + chat_ids: _containers.RepeatedScalarFieldContainer[str] + post_id: str + post_url: str + timestamp: str + error: str + mentioned_member_ids: _containers.RepeatedScalarFieldContainer[str] + mentioned_agent_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, title: _Optional[str]=..., content: _Optional[str]=..., image_urls: _Optional[_Iterable[str]]=..., dashboard_ids: _Optional[_Iterable[str]]=..., report_ids: _Optional[_Iterable[str]]=..., chat_ids: _Optional[_Iterable[str]]=..., post_id: _Optional[str]=..., post_url: _Optional[str]=..., timestamp: _Optional[str]=..., error: _Optional[str]=..., mentioned_member_ids: _Optional[_Iterable[str]]=..., mentioned_agent_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class FeedCommentCell(_message.Message): + __slots__ = ('post_id', 'content', 'comment_id', 'comment_url', 'timestamp', 'error', 'post_title', 'post_author', 'post_upvote_count', 'post_downvote_count') + POST_ID_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + COMMENT_ID_FIELD_NUMBER: _ClassVar[int] + COMMENT_URL_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + POST_TITLE_FIELD_NUMBER: _ClassVar[int] + POST_AUTHOR_FIELD_NUMBER: _ClassVar[int] + POST_UPVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + POST_DOWNVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + post_id: str + content: str + comment_id: str + comment_url: str + timestamp: str + error: str + post_title: str + post_author: str + post_upvote_count: int + post_downvote_count: int + + def __init__(self, post_id: _Optional[str]=..., content: _Optional[str]=..., comment_id: _Optional[str]=..., comment_url: _Optional[str]=..., timestamp: _Optional[str]=..., error: _Optional[str]=..., post_title: _Optional[str]=..., post_author: _Optional[str]=..., post_upvote_count: _Optional[int]=..., post_downvote_count: _Optional[int]=...) -> None: + ... + +class FeedEngageCell(_message.Message): + __slots__ = ('thing_id', 'vote_type', 'upvote_count', 'downvote_count', 'timestamp', 'error', 'url', 'thing_title') + THING_ID_FIELD_NUMBER: _ClassVar[int] + VOTE_TYPE_FIELD_NUMBER: _ClassVar[int] + UPVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + DOWNVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + THING_TITLE_FIELD_NUMBER: _ClassVar[int] + thing_id: str + vote_type: str + upvote_count: int + downvote_count: int + timestamp: str + error: str + url: str + thing_title: str + + def __init__(self, thing_id: _Optional[str]=..., vote_type: _Optional[str]=..., upvote_count: _Optional[int]=..., downvote_count: _Optional[int]=..., timestamp: _Optional[str]=..., error: _Optional[str]=..., url: _Optional[str]=..., thing_title: _Optional[str]=...) -> None: + ... + +class DashboardInfo(_message.Message): + __slots__ = ('id', 'name', 'description', 'status', 'creator_id', 'created_at', 'updated_at', 'refreshed_at') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + CREATOR_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + REFRESHED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + status: str + creator_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + refreshed_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., status: _Optional[str]=..., creator_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., refreshed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListDashboardsCell(_message.Message): + __slots__ = ('search_term', 'dashboard_id', 'total_count', 'sandbox_available', 'error_message', 'dashboards') + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + SANDBOX_AVAILABLE_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + DASHBOARDS_FIELD_NUMBER: _ClassVar[int] + search_term: str + dashboard_id: str + total_count: int + sandbox_available: bool + error_message: str + dashboards: _containers.RepeatedCompositeFieldContainer[DashboardInfo] + + def __init__(self, search_term: _Optional[str]=..., dashboard_id: _Optional[str]=..., total_count: _Optional[int]=..., sandbox_available: bool=..., error_message: _Optional[str]=..., dashboards: _Optional[_Iterable[_Union[DashboardInfo, _Mapping]]]=...) -> None: + ... + +class AgentInfo(_message.Message): + __slots__ = ('id', 'name', 'avatar_url', 'type', 'email') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + AVATAR_URL_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + avatar_url: str + type: str + email: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., avatar_url: _Optional[str]=..., type: _Optional[str]=..., email: _Optional[str]=...) -> None: + ... + +class ListUsersCell(_message.Message): + __slots__ = ('search_term', 'user_type', 'total_count', 'sandbox_available', 'error_message', 'agents') + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + USER_TYPE_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + SANDBOX_AVAILABLE_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + AGENTS_FIELD_NUMBER: _ClassVar[int] + search_term: str + user_type: str + total_count: int + sandbox_available: bool + error_message: str + agents: _containers.RepeatedCompositeFieldContainer[AgentInfo] + + def __init__(self, search_term: _Optional[str]=..., user_type: _Optional[str]=..., total_count: _Optional[int]=..., sandbox_available: bool=..., error_message: _Optional[str]=..., agents: _Optional[_Iterable[_Union[AgentInfo, _Mapping]]]=...) -> None: + ... + +class ConnectorsCell(_message.Message): + __slots__ = ('action', 'total_count') + ACTION_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + action: str + total_count: int + + def __init__(self, action: _Optional[str]=..., total_count: _Optional[int]=...) -> None: + ... + +class FeedAgentInfo(_message.Message): + __slots__ = ('id', 'name', 'prompt', 'is_active', 'created_at', 'paradigm_options', 'connector_ids', 'llm_model', 'fast_mode', 'posting_frequency_crons') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + PARADIGM_OPTIONS_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_FIELD_NUMBER: _ClassVar[int] + POSTING_FREQUENCY_CRONS_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + prompt: str + is_active: bool + created_at: _timestamp_pb2.Timestamp + paradigm_options: _paradigm_pb2.ParadigmOptions + connector_ids: _containers.RepeatedScalarFieldContainer[int] + llm_model: _llm_model_pb2.LlmModel + fast_mode: bool + posting_frequency_crons: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., prompt: _Optional[str]=..., is_active: bool=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., paradigm_options: _Optional[_Union[_paradigm_pb2.ParadigmOptions, _Mapping]]=..., connector_ids: _Optional[_Iterable[int]]=..., llm_model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., fast_mode: bool=..., posting_frequency_crons: _Optional[_Iterable[str]]=...) -> None: + ... + +class FeedCreateCell(_message.Message): + __slots__ = ('action', 'agent', 'error_message', 'updated_fields', 'field_changes', 'connectors') + ACTION_FIELD_NUMBER: _ClassVar[int] + AGENT_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + UPDATED_FIELDS_FIELD_NUMBER: _ClassVar[int] + FIELD_CHANGES_FIELD_NUMBER: _ClassVar[int] + CONNECTORS_FIELD_NUMBER: _ClassVar[int] + action: FeedAgentAction + agent: FeedAgentInfo + error_message: str + updated_fields: _containers.RepeatedScalarFieldContainer[str] + field_changes: _containers.RepeatedCompositeFieldContainer[FieldChange] + connectors: _containers.RepeatedCompositeFieldContainer[ConnectorRef] + + def __init__(self, action: _Optional[_Union[FeedAgentAction, str]]=..., agent: _Optional[_Union[FeedAgentInfo, _Mapping]]=..., error_message: _Optional[str]=..., updated_fields: _Optional[_Iterable[str]]=..., field_changes: _Optional[_Iterable[_Union[FieldChange, _Mapping]]]=..., connectors: _Optional[_Iterable[_Union[ConnectorRef, _Mapping]]]=...) -> None: + ... + +class EmailRecipient(_message.Message): + __slots__ = ('address', 'member_id', 'display_name') + ADDRESS_FIELD_NUMBER: _ClassVar[int] + CLASS_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + address: str + member_id: str + display_name: str + + def __init__(self, address: _Optional[str]=..., member_id: _Optional[str]=..., display_name: _Optional[str]=..., **kwargs) -> None: + ... + +class EmailCell(_message.Message): + __slots__ = ('to', 'subject', 'body', 'recipients', 'status', 'sent_at', 'message_id', 'error_message', 'error_class', 'sent_count', 'rendered_body_html') + TO_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + RECIPIENTS_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + SENT_AT_FIELD_NUMBER: _ClassVar[int] + MESSAGE_ID_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + ERROR_CLASS_FIELD_NUMBER: _ClassVar[int] + SENT_COUNT_FIELD_NUMBER: _ClassVar[int] + RENDERED_BODY_HTML_FIELD_NUMBER: _ClassVar[int] + to: _containers.RepeatedScalarFieldContainer[str] + subject: str + body: str + recipients: _containers.RepeatedCompositeFieldContainer[EmailRecipient] + status: str + sent_at: str + message_id: str + error_message: str + error_class: str + sent_count: int + rendered_body_html: str + + def __init__(self, to: _Optional[_Iterable[str]]=..., subject: _Optional[str]=..., body: _Optional[str]=..., recipients: _Optional[_Iterable[_Union[EmailRecipient, _Mapping]]]=..., status: _Optional[str]=..., sent_at: _Optional[str]=..., message_id: _Optional[str]=..., error_message: _Optional[str]=..., error_class: _Optional[str]=..., sent_count: _Optional[int]=..., rendered_body_html: _Optional[str]=...) -> None: + ... + +class PatchCell(_message.Message): + __slots__ = ('title', 'description', 'number', 'has_conflicts', 'conflict_view', 'status', 'diffs', 'patch_id', 'git_ref', 'auto_approved', 'auto_approved_rule_directory') + TITLE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + NUMBER_FIELD_NUMBER: _ClassVar[int] + HAS_CONFLICTS_FIELD_NUMBER: _ClassVar[int] + CONFLICT_VIEW_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + DIFFS_FIELD_NUMBER: _ClassVar[int] + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + GIT_REF_FIELD_NUMBER: _ClassVar[int] + AUTO_APPROVED_FIELD_NUMBER: _ClassVar[int] + AUTO_APPROVED_RULE_DIRECTORY_FIELD_NUMBER: _ClassVar[int] + title: str + description: str + number: int + has_conflicts: bool + conflict_view: str + status: _patches_pb2.PatchStatus + diffs: _containers.RepeatedCompositeFieldContainer[_patches_pb2.PatchDiff] + patch_id: str + git_ref: str + auto_approved: bool + auto_approved_rule_directory: str + + def __init__(self, title: _Optional[str]=..., description: _Optional[str]=..., number: _Optional[int]=..., has_conflicts: bool=..., conflict_view: _Optional[str]=..., status: _Optional[_Union[_patches_pb2.PatchStatus, str]]=..., diffs: _Optional[_Iterable[_Union[_patches_pb2.PatchDiff, _Mapping]]]=..., patch_id: _Optional[str]=..., git_ref: _Optional[str]=..., auto_approved: bool=..., auto_approved_rule_directory: _Optional[str]=...) -> None: + ... + +class QuestionOption(_message.Message): + __slots__ = ('name', 'description', 'explanation') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EXPLANATION_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + explanation: str + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., explanation: _Optional[str]=...) -> None: + ... + +class QuestionInput(_message.Message): + __slots__ = ('kind', 'label', 'explanation', 'sensitive', 'form_path_label') + KIND_FIELD_NUMBER: _ClassVar[int] + LABEL_FIELD_NUMBER: _ClassVar[int] + EXPLANATION_FIELD_NUMBER: _ClassVar[int] + SENSITIVE_FIELD_NUMBER: _ClassVar[int] + FORM_PATH_LABEL_FIELD_NUMBER: _ClassVar[int] + kind: QuestionInputKind + label: str + explanation: str + sensitive: bool + form_path_label: str + + def __init__(self, kind: _Optional[_Union[QuestionInputKind, str]]=..., label: _Optional[str]=..., explanation: _Optional[str]=..., sensitive: bool=..., form_path_label: _Optional[str]=...) -> None: + ... + +class QuestionSpec(_message.Message): + __slots__ = ('question', 'explanation', 'kind', 'options', 'allow_custom', 'inputs') + QUESTION_FIELD_NUMBER: _ClassVar[int] + EXPLANATION_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] + OPTIONS_FIELD_NUMBER: _ClassVar[int] + ALLOW_CUSTOM_FIELD_NUMBER: _ClassVar[int] + INPUTS_FIELD_NUMBER: _ClassVar[int] + question: str + explanation: str + kind: QuestionKind + options: _containers.RepeatedCompositeFieldContainer[QuestionOption] + allow_custom: bool + inputs: _containers.RepeatedCompositeFieldContainer[QuestionInput] + + def __init__(self, question: _Optional[str]=..., explanation: _Optional[str]=..., kind: _Optional[_Union[QuestionKind, str]]=..., options: _Optional[_Iterable[_Union[QuestionOption, _Mapping]]]=..., allow_custom: bool=..., inputs: _Optional[_Iterable[_Union[QuestionInput, _Mapping]]]=...) -> None: + ... + +class QuestionAnswer(_message.Message): + __slots__ = ('selected', 'custom', 'inputs', 'provided') + SELECTED_FIELD_NUMBER: _ClassVar[int] + CUSTOM_FIELD_NUMBER: _ClassVar[int] + INPUTS_FIELD_NUMBER: _ClassVar[int] + PROVIDED_FIELD_NUMBER: _ClassVar[int] + selected: _containers.RepeatedScalarFieldContainer[str] + custom: str + inputs: _containers.RepeatedScalarFieldContainer[str] + provided: _containers.RepeatedScalarFieldContainer[bool] + + def __init__(self, selected: _Optional[_Iterable[str]]=..., custom: _Optional[str]=..., inputs: _Optional[_Iterable[str]]=..., provided: _Optional[_Iterable[bool]]=...) -> None: + ... + +class QuestionsCell(_message.Message): + __slots__ = ('status', 'questions', 'answers', 'answered_count') + STATUS_FIELD_NUMBER: _ClassVar[int] + QUESTIONS_FIELD_NUMBER: _ClassVar[int] + ANSWERS_FIELD_NUMBER: _ClassVar[int] + ANSWERED_COUNT_FIELD_NUMBER: _ClassVar[int] + status: QuestionsStatus + questions: _containers.RepeatedCompositeFieldContainer[QuestionSpec] + answers: _containers.RepeatedCompositeFieldContainer[QuestionAnswer] + answered_count: int + + def __init__(self, status: _Optional[_Union[QuestionsStatus, str]]=..., questions: _Optional[_Iterable[_Union[QuestionSpec, _Mapping]]]=..., answers: _Optional[_Iterable[_Union[QuestionAnswer, _Mapping]]]=..., answered_count: _Optional[int]=...) -> None: + ... + +class Citation(_message.Message): + __slots__ = ('id', 'claim', 'source_cell_id', 'source_ref', 'source_locator', 'anchor', 'quoted_text', 'rationale', 'lineage') + ID_FIELD_NUMBER: _ClassVar[int] + CLAIM_FIELD_NUMBER: _ClassVar[int] + SOURCE_CELL_ID_FIELD_NUMBER: _ClassVar[int] + SOURCE_REF_FIELD_NUMBER: _ClassVar[int] + SOURCE_LOCATOR_FIELD_NUMBER: _ClassVar[int] + ANCHOR_FIELD_NUMBER: _ClassVar[int] + QUOTED_TEXT_FIELD_NUMBER: _ClassVar[int] + RATIONALE_FIELD_NUMBER: _ClassVar[int] + LINEAGE_FIELD_NUMBER: _ClassVar[int] + id: str + claim: str + source_cell_id: str + source_ref: str + source_locator: str + anchor: str + quoted_text: str + rationale: str + lineage: _containers.RepeatedCompositeFieldContainer[CitationLineageNode] + + def __init__(self, id: _Optional[str]=..., claim: _Optional[str]=..., source_cell_id: _Optional[str]=..., source_ref: _Optional[str]=..., source_locator: _Optional[str]=..., anchor: _Optional[str]=..., quoted_text: _Optional[str]=..., rationale: _Optional[str]=..., lineage: _Optional[_Iterable[_Union[CitationLineageNode, _Mapping]]]=...) -> None: + ... + +class CitationLineageNode(_message.Message): + __slots__ = ('cell_id', 'kind', 'dataframe_name', 'connector_id', 'tables', 'input_cell_ids') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_NAME_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + TABLES_FIELD_NUMBER: _ClassVar[int] + INPUT_CELL_IDS_FIELD_NUMBER: _ClassVar[int] + cell_id: str + kind: str + dataframe_name: str + connector_id: int + tables: _containers.RepeatedScalarFieldContainer[str] + input_cell_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, cell_id: _Optional[str]=..., kind: _Optional[str]=..., dataframe_name: _Optional[str]=..., connector_id: _Optional[int]=..., tables: _Optional[_Iterable[str]]=..., input_cell_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class AppCell(_message.Message): + __slots__ = ('action', 'app_id', 'name', 'error_message', 'screenshot_url', 'last_run_at', 'build_line_count', 'build_file_count') + ACTION_FIELD_NUMBER: _ClassVar[int] + APP_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + SCREENSHOT_URL_FIELD_NUMBER: _ClassVar[int] + LAST_RUN_AT_FIELD_NUMBER: _ClassVar[int] + BUILD_LINE_COUNT_FIELD_NUMBER: _ClassVar[int] + BUILD_FILE_COUNT_FIELD_NUMBER: _ClassVar[int] + action: str + app_id: str + name: str + error_message: str + screenshot_url: str + last_run_at: str + build_line_count: int + build_file_count: int + + def __init__(self, action: _Optional[str]=..., app_id: _Optional[str]=..., name: _Optional[str]=..., error_message: _Optional[str]=..., screenshot_url: _Optional[str]=..., last_run_at: _Optional[str]=..., build_line_count: _Optional[int]=..., build_file_count: _Optional[int]=...) -> None: + ... + +class AppInfo(_message.Message): + __slots__ = ('id', 'name', 'description', 'status', 'creator_id', 'created_at', 'updated_at', 'refreshed_at', 'published_at') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + CREATOR_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + REFRESHED_AT_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + status: str + creator_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + refreshed_at: _timestamp_pb2.Timestamp + published_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., status: _Optional[str]=..., creator_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., refreshed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., published_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListAppsCell(_message.Message): + __slots__ = ('search_term', 'app_id', 'total_count', 'error_message', 'apps') + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + APP_ID_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + APPS_FIELD_NUMBER: _ClassVar[int] + search_term: str + app_id: str + total_count: int + error_message: str + apps: _containers.RepeatedCompositeFieldContainer[AppInfo] + + def __init__(self, search_term: _Optional[str]=..., app_id: _Optional[str]=..., total_count: _Optional[int]=..., error_message: _Optional[str]=..., apps: _Optional[_Iterable[_Union[AppInfo, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/chat_connect.py b/src/textql_sdk/_connect/public/chat_connect.py new file mode 100644 index 0000000..95fc6ad --- /dev/null +++ b/src/textql_sdk/_connect/public/chat_connect.py @@ -0,0 +1,676 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import chat_pb2 as public_dot_chat__pb2 + +class ChatService(Protocol): + + async def create_chat(self, request: public_dot_chat__pb2.CreateRequest, ctx: RequestContext) -> public_dot_chat__pb2.CreateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_chat(self, request: public_dot_chat__pb2.UpdateChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.UpdateChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_chat(self, request: public_dot_chat__pb2.DeleteChatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def duplicate_chat(self, request: public_dot_chat__pb2.DuplicateChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.DuplicateChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def watch_chat(self, request: public_dot_chat__pb2.WatchChatRequest, ctx: RequestContext) -> AsyncIterator[public_dot_chat__pb2.WatchChatEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def poll_chat_events(self, request: public_dot_chat__pb2.PollChatEventsRequest, ctx: RequestContext) -> public_dot_chat__pb2.PollChatEventsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_chat(self, request: public_dot_chat__pb2.RunChatRequest, ctx: RequestContext) -> AsyncIterator[public_dot_chat__pb2.Cell]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def cancel_stream(self, request: public_dot_chat__pb2.CancelStreamRequest, ctx: RequestContext) -> public_dot_chat__pb2.CancelStreamResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def run_chat(self, request: public_dot_chat__pb2.RunChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.RunChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def send_message(self, request: public_dot_chat__pb2.SendRequest, ctx: RequestContext) -> public_dot_chat__pb2.SendResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def check_health(self, request: public_dot_chat__pb2.CheckHealthRequest, ctx: RequestContext) -> public_dot_chat__pb2.CheckHealthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def rate_chat_cell(self, request: public_dot_chat__pb2.RateChatCellRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def attach_dataset(self, request: public_dot_chat__pb2.AttachDatasetRequest, ctx: RequestContext) -> public_dot_chat__pb2.AttachDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def attach_dashboard(self, request: public_dot_chat__pb2.AttachDashboardRequest, ctx: RequestContext) -> public_dot_chat__pb2.AttachDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def attach_app(self, request: public_dot_chat__pb2.AttachAppRequest, ctx: RequestContext) -> public_dot_chat__pb2.AttachAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_chat_history(self, request: public_dot_chat__pb2.HistoryRequest, ctx: RequestContext) -> public_dot_chat__pb2.HistoryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_a_p_i_chat_answer(self, request: public_dot_chat__pb2.GetAPIChatAnswerRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetAPIChatAnswerResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_chats(self, request: public_dot_chat__pb2.GetChatsRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetChatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_chat(self, request: public_dot_chat__pb2.GetChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_chats(self, request: public_dot_chat__pb2.GetPlaybookChatsRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetPlaybookChatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_members_with_chats(self, request: public_dot_chat__pb2.GetMembersWithChatsRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetMembersWithChatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_completion_parameters(self, request: public_dot_chat__pb2.GetCompletionParametersRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetCompletionParametersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_completion_parameters_batch(self, request: public_dot_chat__pb2.GetCompletionParametersBatchRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetCompletionParametersBatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_chat_execution_timing(self, request: public_dot_chat__pb2.GetChatExecutionTimingRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetChatExecutionTimingResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def check_chat_permissions(self, request: public_dot_chat__pb2.CheckChatPermissionsRequest, ctx: RequestContext) -> public_dot_chat__pb2.CheckChatPermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_llm_usage(self, request: public_dot_chat__pb2.GetLlmUsageRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetLlmUsageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def approve_context_prompt_change(self, request: public_dot_chat__pb2.ApproveContextPromptChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.ApproveContextPromptChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def reject_context_prompt_change(self, request: public_dot_chat__pb2.RejectContextPromptChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.RejectContextPromptChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def submit_context_prompt_change(self, request: public_dot_chat__pb2.SubmitContextPromptChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.SubmitContextPromptChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def submit_questions(self, request: public_dot_chat__pb2.SubmitQuestionsRequest, ctx: RequestContext) -> public_dot_chat__pb2.SubmitQuestionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def dismiss_questions(self, request: public_dot_chat__pb2.DismissQuestionsRequest, ctx: RequestContext) -> public_dot_chat__pb2.DismissQuestionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def submit_form_approval(self, request: public_dot_chat__pb2.SubmitFormApprovalRequest, ctx: RequestContext) -> public_dot_chat__pb2.SubmitFormApprovalResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def reject_form_approval(self, request: public_dot_chat__pb2.RejectFormApprovalRequest, ctx: RequestContext) -> public_dot_chat__pb2.RejectFormApprovalResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def dismiss_form_approval(self, request: public_dot_chat__pb2.DismissFormApprovalRequest, ctx: RequestContext) -> public_dot_chat__pb2.DismissFormApprovalResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def resume_chat_after_auth(self, request: public_dot_chat__pb2.ResumeChatAfterAuthRequest, ctx: RequestContext) -> public_dot_chat__pb2.ResumeChatAfterAuthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def grant_sandbox_o_auth_permission(self, request: public_dot_chat__pb2.GrantSandboxOAuthPermissionRequest, ctx: RequestContext) -> public_dot_chat__pb2.GrantSandboxOAuthPermissionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_cell_auth_status(self, request: public_dot_chat__pb2.GetCellAuthStatusRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetCellAuthStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def approve_ontology_change(self, request: public_dot_chat__pb2.ApproveOntologyChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.ApproveOntologyChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def reject_ontology_change(self, request: public_dot_chat__pb2.RejectOntologyChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.RejectOntologyChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def query_one_shot(self, request: public_dot_chat__pb2.QueryOneShotRequest, ctx: RequestContext) -> public_dot_chat__pb2.QueryOneShotResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def check_streamlit_health(self, request: public_dot_chat__pb2.CheckStreamlitHealthRequest, ctx: RequestContext) -> public_dot_chat__pb2.CheckStreamlitHealthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_form_status(self, request: public_dot_chat__pb2.UpdateFormStatusRequest, ctx: RequestContext) -> public_dot_chat__pb2.UpdateFormStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_form_fields(self, request: public_dot_chat__pb2.UpdateFormFieldsRequest, ctx: RequestContext) -> public_dot_chat__pb2.UpdateFormFieldsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_form_validation_error(self, request: public_dot_chat__pb2.UpdateFormValidationErrorRequest, ctx: RequestContext) -> public_dot_chat__pb2.UpdateFormValidationErrorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_form_submit_result(self, request: public_dot_chat__pb2.SetFormSubmitResultRequest, ctx: RequestContext) -> public_dot_chat__pb2.SetFormSubmitResultResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_cell(self, request: public_dot_chat__pb2.GetCellRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetCellResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def bookmark_chat(self, request: public_dot_chat__pb2.BookmarkChatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unbookmark_chat(self, request: public_dot_chat__pb2.UnbookmarkChatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def mark_chat_read(self, request: public_dot_chat__pb2.MarkChatReadRequest, ctx: RequestContext) -> public_dot_chat__pb2.MarkChatReadResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def mark_chat_unread(self, request: public_dot_chat__pb2.MarkChatUnreadRequest, ctx: RequestContext) -> public_dot_chat__pb2.MarkChatUnreadResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_chat_artifacts_summary(self, request: public_dot_chat__pb2.GetChatArtifactsSummaryRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetChatArtifactsSummaryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_artifact(self, request: public_dot_chat__pb2.GetArtifactRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetArtifactResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def attach_agent_to_chat(self, request: public_dot_chat__pb2.AttachAgentToChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.AttachAgentToChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ChatServiceASGIApplication(ConnectASGIApplication[ChatService]): + + def __init__(self, service: ChatService | AsyncGenerator[ChatService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.chat.ChatService/CreateChat': Endpoint.unary(method=MethodInfo(name='CreateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CreateRequest, output=public_dot_chat__pb2.CreateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_chat), '/textql.rpc.public.chat.ChatService/UpdateChat': Endpoint.unary(method=MethodInfo(name='UpdateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateChatRequest, output=public_dot_chat__pb2.UpdateChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_chat), '/textql.rpc.public.chat.ChatService/DeleteChat': Endpoint.unary(method=MethodInfo(name='DeleteChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DeleteChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_chat), '/textql.rpc.public.chat.ChatService/DuplicateChat': Endpoint.unary(method=MethodInfo(name='DuplicateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DuplicateChatRequest, output=public_dot_chat__pb2.DuplicateChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.duplicate_chat), '/textql.rpc.public.chat.ChatService/WatchChat': Endpoint.server_stream(method=MethodInfo(name='WatchChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.WatchChatRequest, output=public_dot_chat__pb2.WatchChatEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.watch_chat), '/textql.rpc.public.chat.ChatService/PollChatEvents': Endpoint.unary(method=MethodInfo(name='PollChatEvents', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.PollChatEventsRequest, output=public_dot_chat__pb2.PollChatEventsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.poll_chat_events), '/textql.rpc.public.chat.ChatService/StreamChat': Endpoint.server_stream(method=MethodInfo(name='StreamChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RunChatRequest, output=public_dot_chat__pb2.Cell, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.stream_chat), '/textql.rpc.public.chat.ChatService/CancelStream': Endpoint.unary(method=MethodInfo(name='CancelStream', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CancelStreamRequest, output=public_dot_chat__pb2.CancelStreamResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.cancel_stream), '/textql.rpc.public.chat.ChatService/RunChat': Endpoint.unary(method=MethodInfo(name='RunChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RunChatRequest, output=public_dot_chat__pb2.RunChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.run_chat), '/textql.rpc.public.chat.ChatService/SendMessage': Endpoint.unary(method=MethodInfo(name='SendMessage', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SendRequest, output=public_dot_chat__pb2.SendResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.send_message), '/textql.rpc.public.chat.ChatService/CheckHealth': Endpoint.unary(method=MethodInfo(name='CheckHealth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckHealthRequest, output=public_dot_chat__pb2.CheckHealthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.check_health), '/textql.rpc.public.chat.ChatService/RateChatCell': Endpoint.unary(method=MethodInfo(name='RateChatCell', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RateChatCellRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.rate_chat_cell), '/textql.rpc.public.chat.ChatService/AttachDataset': Endpoint.unary(method=MethodInfo(name='AttachDataset', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachDatasetRequest, output=public_dot_chat__pb2.AttachDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.attach_dataset), '/textql.rpc.public.chat.ChatService/AttachDashboard': Endpoint.unary(method=MethodInfo(name='AttachDashboard', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachDashboardRequest, output=public_dot_chat__pb2.AttachDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.attach_dashboard), '/textql.rpc.public.chat.ChatService/AttachApp': Endpoint.unary(method=MethodInfo(name='AttachApp', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachAppRequest, output=public_dot_chat__pb2.AttachAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.attach_app), '/textql.rpc.public.chat.ChatService/GetChatHistory': Endpoint.unary(method=MethodInfo(name='GetChatHistory', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.HistoryRequest, output=public_dot_chat__pb2.HistoryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_chat_history), '/textql.rpc.public.chat.ChatService/GetAPIChatAnswer': Endpoint.unary(method=MethodInfo(name='GetAPIChatAnswer', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetAPIChatAnswerRequest, output=public_dot_chat__pb2.GetAPIChatAnswerResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_a_p_i_chat_answer), '/textql.rpc.public.chat.ChatService/GetChats': Endpoint.unary(method=MethodInfo(name='GetChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatsRequest, output=public_dot_chat__pb2.GetChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_chats), '/textql.rpc.public.chat.ChatService/GetChat': Endpoint.unary(method=MethodInfo(name='GetChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatRequest, output=public_dot_chat__pb2.GetChatResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_chat), '/textql.rpc.public.chat.ChatService/GetPlaybookChats': Endpoint.unary(method=MethodInfo(name='GetPlaybookChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetPlaybookChatsRequest, output=public_dot_chat__pb2.GetPlaybookChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_chats), '/textql.rpc.public.chat.ChatService/GetMembersWithChats': Endpoint.unary(method=MethodInfo(name='GetMembersWithChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetMembersWithChatsRequest, output=public_dot_chat__pb2.GetMembersWithChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_members_with_chats), '/textql.rpc.public.chat.ChatService/GetCompletionParameters': Endpoint.unary(method=MethodInfo(name='GetCompletionParameters', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCompletionParametersRequest, output=public_dot_chat__pb2.GetCompletionParametersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_completion_parameters), '/textql.rpc.public.chat.ChatService/GetCompletionParametersBatch': Endpoint.unary(method=MethodInfo(name='GetCompletionParametersBatch', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCompletionParametersBatchRequest, output=public_dot_chat__pb2.GetCompletionParametersBatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_completion_parameters_batch), '/textql.rpc.public.chat.ChatService/GetChatExecutionTiming': Endpoint.unary(method=MethodInfo(name='GetChatExecutionTiming', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatExecutionTimingRequest, output=public_dot_chat__pb2.GetChatExecutionTimingResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_chat_execution_timing), '/textql.rpc.public.chat.ChatService/CheckChatPermissions': Endpoint.unary(method=MethodInfo(name='CheckChatPermissions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckChatPermissionsRequest, output=public_dot_chat__pb2.CheckChatPermissionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.check_chat_permissions), '/textql.rpc.public.chat.ChatService/GetLlmUsage': Endpoint.unary(method=MethodInfo(name='GetLlmUsage', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetLlmUsageRequest, output=public_dot_chat__pb2.GetLlmUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_llm_usage), '/textql.rpc.public.chat.ChatService/ApproveContextPromptChange': Endpoint.unary(method=MethodInfo(name='ApproveContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ApproveContextPromptChangeRequest, output=public_dot_chat__pb2.ApproveContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.approve_context_prompt_change), '/textql.rpc.public.chat.ChatService/RejectContextPromptChange': Endpoint.unary(method=MethodInfo(name='RejectContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectContextPromptChangeRequest, output=public_dot_chat__pb2.RejectContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.reject_context_prompt_change), '/textql.rpc.public.chat.ChatService/SubmitContextPromptChange': Endpoint.unary(method=MethodInfo(name='SubmitContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitContextPromptChangeRequest, output=public_dot_chat__pb2.SubmitContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.submit_context_prompt_change), '/textql.rpc.public.chat.ChatService/SubmitQuestions': Endpoint.unary(method=MethodInfo(name='SubmitQuestions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitQuestionsRequest, output=public_dot_chat__pb2.SubmitQuestionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.submit_questions), '/textql.rpc.public.chat.ChatService/DismissQuestions': Endpoint.unary(method=MethodInfo(name='DismissQuestions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DismissQuestionsRequest, output=public_dot_chat__pb2.DismissQuestionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.dismiss_questions), '/textql.rpc.public.chat.ChatService/SubmitFormApproval': Endpoint.unary(method=MethodInfo(name='SubmitFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitFormApprovalRequest, output=public_dot_chat__pb2.SubmitFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.submit_form_approval), '/textql.rpc.public.chat.ChatService/RejectFormApproval': Endpoint.unary(method=MethodInfo(name='RejectFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectFormApprovalRequest, output=public_dot_chat__pb2.RejectFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.reject_form_approval), '/textql.rpc.public.chat.ChatService/DismissFormApproval': Endpoint.unary(method=MethodInfo(name='DismissFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DismissFormApprovalRequest, output=public_dot_chat__pb2.DismissFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.dismiss_form_approval), '/textql.rpc.public.chat.ChatService/ResumeChatAfterAuth': Endpoint.unary(method=MethodInfo(name='ResumeChatAfterAuth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ResumeChatAfterAuthRequest, output=public_dot_chat__pb2.ResumeChatAfterAuthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.resume_chat_after_auth), '/textql.rpc.public.chat.ChatService/GrantSandboxOAuthPermission': Endpoint.unary(method=MethodInfo(name='GrantSandboxOAuthPermission', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GrantSandboxOAuthPermissionRequest, output=public_dot_chat__pb2.GrantSandboxOAuthPermissionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.grant_sandbox_o_auth_permission), '/textql.rpc.public.chat.ChatService/GetCellAuthStatus': Endpoint.unary(method=MethodInfo(name='GetCellAuthStatus', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCellAuthStatusRequest, output=public_dot_chat__pb2.GetCellAuthStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_cell_auth_status), '/textql.rpc.public.chat.ChatService/ApproveOntologyChange': Endpoint.unary(method=MethodInfo(name='ApproveOntologyChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ApproveOntologyChangeRequest, output=public_dot_chat__pb2.ApproveOntologyChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.approve_ontology_change), '/textql.rpc.public.chat.ChatService/RejectOntologyChange': Endpoint.unary(method=MethodInfo(name='RejectOntologyChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectOntologyChangeRequest, output=public_dot_chat__pb2.RejectOntologyChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.reject_ontology_change), '/textql.rpc.public.chat.ChatService/QueryOneShot': Endpoint.unary(method=MethodInfo(name='QueryOneShot', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.QueryOneShotRequest, output=public_dot_chat__pb2.QueryOneShotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.query_one_shot), '/textql.rpc.public.chat.ChatService/CheckStreamlitHealth': Endpoint.unary(method=MethodInfo(name='CheckStreamlitHealth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckStreamlitHealthRequest, output=public_dot_chat__pb2.CheckStreamlitHealthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.check_streamlit_health), '/textql.rpc.public.chat.ChatService/UpdateFormStatus': Endpoint.unary(method=MethodInfo(name='UpdateFormStatus', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormStatusRequest, output=public_dot_chat__pb2.UpdateFormStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_form_status), '/textql.rpc.public.chat.ChatService/UpdateFormFields': Endpoint.unary(method=MethodInfo(name='UpdateFormFields', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormFieldsRequest, output=public_dot_chat__pb2.UpdateFormFieldsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_form_fields), '/textql.rpc.public.chat.ChatService/UpdateFormValidationError': Endpoint.unary(method=MethodInfo(name='UpdateFormValidationError', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormValidationErrorRequest, output=public_dot_chat__pb2.UpdateFormValidationErrorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_form_validation_error), '/textql.rpc.public.chat.ChatService/SetFormSubmitResult': Endpoint.unary(method=MethodInfo(name='SetFormSubmitResult', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SetFormSubmitResultRequest, output=public_dot_chat__pb2.SetFormSubmitResultResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_form_submit_result), '/textql.rpc.public.chat.ChatService/GetCell': Endpoint.unary(method=MethodInfo(name='GetCell', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCellRequest, output=public_dot_chat__pb2.GetCellResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_cell), '/textql.rpc.public.chat.ChatService/BookmarkChat': Endpoint.unary(method=MethodInfo(name='BookmarkChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.BookmarkChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.bookmark_chat), '/textql.rpc.public.chat.ChatService/UnbookmarkChat': Endpoint.unary(method=MethodInfo(name='UnbookmarkChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UnbookmarkChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.unbookmark_chat), '/textql.rpc.public.chat.ChatService/MarkChatRead': Endpoint.unary(method=MethodInfo(name='MarkChatRead', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.MarkChatReadRequest, output=public_dot_chat__pb2.MarkChatReadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.mark_chat_read), '/textql.rpc.public.chat.ChatService/MarkChatUnread': Endpoint.unary(method=MethodInfo(name='MarkChatUnread', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.MarkChatUnreadRequest, output=public_dot_chat__pb2.MarkChatUnreadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.mark_chat_unread), '/textql.rpc.public.chat.ChatService/GetChatArtifactsSummary': Endpoint.unary(method=MethodInfo(name='GetChatArtifactsSummary', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatArtifactsSummaryRequest, output=public_dot_chat__pb2.GetChatArtifactsSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_chat_artifacts_summary), '/textql.rpc.public.chat.ChatService/GetArtifact': Endpoint.unary(method=MethodInfo(name='GetArtifact', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetArtifactRequest, output=public_dot_chat__pb2.GetArtifactResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_artifact), '/textql.rpc.public.chat.ChatService/AttachAgentToChat': Endpoint.unary(method=MethodInfo(name='AttachAgentToChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachAgentToChatRequest, output=public_dot_chat__pb2.AttachAgentToChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.attach_agent_to_chat)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.chat.ChatService' + +class ChatServiceClient(ConnectClient): + + async def create_chat(self, request: public_dot_chat__pb2.CreateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.CreateResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CreateRequest, output=public_dot_chat__pb2.CreateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_chat(self, request: public_dot_chat__pb2.UpdateChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.UpdateChatResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateChatRequest, output=public_dot_chat__pb2.UpdateChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_chat(self, request: public_dot_chat__pb2.DeleteChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DeleteChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def duplicate_chat(self, request: public_dot_chat__pb2.DuplicateChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.DuplicateChatResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DuplicateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DuplicateChatRequest, output=public_dot_chat__pb2.DuplicateChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def watch_chat(self, request: public_dot_chat__pb2.WatchChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> AsyncIterator[public_dot_chat__pb2.WatchChatEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='WatchChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.WatchChatRequest, output=public_dot_chat__pb2.WatchChatEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def poll_chat_events(self, request: public_dot_chat__pb2.PollChatEventsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.PollChatEventsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PollChatEvents', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.PollChatEventsRequest, output=public_dot_chat__pb2.PollChatEventsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def stream_chat(self, request: public_dot_chat__pb2.RunChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> AsyncIterator[public_dot_chat__pb2.Cell]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RunChatRequest, output=public_dot_chat__pb2.Cell, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def cancel_stream(self, request: public_dot_chat__pb2.CancelStreamRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.CancelStreamResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CancelStream', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CancelStreamRequest, output=public_dot_chat__pb2.CancelStreamResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def run_chat(self, request: public_dot_chat__pb2.RunChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.RunChatResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RunChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RunChatRequest, output=public_dot_chat__pb2.RunChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def send_message(self, request: public_dot_chat__pb2.SendRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SendResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SendMessage', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SendRequest, output=public_dot_chat__pb2.SendResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def check_health(self, request: public_dot_chat__pb2.CheckHealthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.CheckHealthResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CheckHealth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckHealthRequest, output=public_dot_chat__pb2.CheckHealthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def rate_chat_cell(self, request: public_dot_chat__pb2.RateChatCellRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='RateChatCell', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RateChatCellRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def attach_dataset(self, request: public_dot_chat__pb2.AttachDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.AttachDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AttachDataset', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachDatasetRequest, output=public_dot_chat__pb2.AttachDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def attach_dashboard(self, request: public_dot_chat__pb2.AttachDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.AttachDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AttachDashboard', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachDashboardRequest, output=public_dot_chat__pb2.AttachDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def attach_app(self, request: public_dot_chat__pb2.AttachAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.AttachAppResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AttachApp', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachAppRequest, output=public_dot_chat__pb2.AttachAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_chat_history(self, request: public_dot_chat__pb2.HistoryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.HistoryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetChatHistory', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.HistoryRequest, output=public_dot_chat__pb2.HistoryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_a_p_i_chat_answer(self, request: public_dot_chat__pb2.GetAPIChatAnswerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetAPIChatAnswerResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetAPIChatAnswer', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetAPIChatAnswerRequest, output=public_dot_chat__pb2.GetAPIChatAnswerResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_chats(self, request: public_dot_chat__pb2.GetChatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetChatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatsRequest, output=public_dot_chat__pb2.GetChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_chat(self, request: public_dot_chat__pb2.GetChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetChatResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatRequest, output=public_dot_chat__pb2.GetChatResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_playbook_chats(self, request: public_dot_chat__pb2.GetPlaybookChatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetPlaybookChatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetPlaybookChatsRequest, output=public_dot_chat__pb2.GetPlaybookChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_members_with_chats(self, request: public_dot_chat__pb2.GetMembersWithChatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetMembersWithChatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetMembersWithChatsRequest, output=public_dot_chat__pb2.GetMembersWithChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_completion_parameters(self, request: public_dot_chat__pb2.GetCompletionParametersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetCompletionParametersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCompletionParameters', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCompletionParametersRequest, output=public_dot_chat__pb2.GetCompletionParametersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_completion_parameters_batch(self, request: public_dot_chat__pb2.GetCompletionParametersBatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetCompletionParametersBatchResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCompletionParametersBatch', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCompletionParametersBatchRequest, output=public_dot_chat__pb2.GetCompletionParametersBatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_chat_execution_timing(self, request: public_dot_chat__pb2.GetChatExecutionTimingRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetChatExecutionTimingResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetChatExecutionTiming', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatExecutionTimingRequest, output=public_dot_chat__pb2.GetChatExecutionTimingResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def check_chat_permissions(self, request: public_dot_chat__pb2.CheckChatPermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.CheckChatPermissionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CheckChatPermissions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckChatPermissionsRequest, output=public_dot_chat__pb2.CheckChatPermissionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_llm_usage(self, request: public_dot_chat__pb2.GetLlmUsageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetLlmUsageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetLlmUsage', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetLlmUsageRequest, output=public_dot_chat__pb2.GetLlmUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def approve_context_prompt_change(self, request: public_dot_chat__pb2.ApproveContextPromptChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.ApproveContextPromptChangeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ApproveContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ApproveContextPromptChangeRequest, output=public_dot_chat__pb2.ApproveContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def reject_context_prompt_change(self, request: public_dot_chat__pb2.RejectContextPromptChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.RejectContextPromptChangeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RejectContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectContextPromptChangeRequest, output=public_dot_chat__pb2.RejectContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def submit_context_prompt_change(self, request: public_dot_chat__pb2.SubmitContextPromptChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SubmitContextPromptChangeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SubmitContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitContextPromptChangeRequest, output=public_dot_chat__pb2.SubmitContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def submit_questions(self, request: public_dot_chat__pb2.SubmitQuestionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SubmitQuestionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SubmitQuestions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitQuestionsRequest, output=public_dot_chat__pb2.SubmitQuestionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def dismiss_questions(self, request: public_dot_chat__pb2.DismissQuestionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.DismissQuestionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DismissQuestions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DismissQuestionsRequest, output=public_dot_chat__pb2.DismissQuestionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def submit_form_approval(self, request: public_dot_chat__pb2.SubmitFormApprovalRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SubmitFormApprovalResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SubmitFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitFormApprovalRequest, output=public_dot_chat__pb2.SubmitFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def reject_form_approval(self, request: public_dot_chat__pb2.RejectFormApprovalRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.RejectFormApprovalResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RejectFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectFormApprovalRequest, output=public_dot_chat__pb2.RejectFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def dismiss_form_approval(self, request: public_dot_chat__pb2.DismissFormApprovalRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.DismissFormApprovalResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DismissFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DismissFormApprovalRequest, output=public_dot_chat__pb2.DismissFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def resume_chat_after_auth(self, request: public_dot_chat__pb2.ResumeChatAfterAuthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.ResumeChatAfterAuthResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ResumeChatAfterAuth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ResumeChatAfterAuthRequest, output=public_dot_chat__pb2.ResumeChatAfterAuthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def grant_sandbox_o_auth_permission(self, request: public_dot_chat__pb2.GrantSandboxOAuthPermissionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.GrantSandboxOAuthPermissionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GrantSandboxOAuthPermission', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GrantSandboxOAuthPermissionRequest, output=public_dot_chat__pb2.GrantSandboxOAuthPermissionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_cell_auth_status(self, request: public_dot_chat__pb2.GetCellAuthStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetCellAuthStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCellAuthStatus', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCellAuthStatusRequest, output=public_dot_chat__pb2.GetCellAuthStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def approve_ontology_change(self, request: public_dot_chat__pb2.ApproveOntologyChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.ApproveOntologyChangeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ApproveOntologyChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ApproveOntologyChangeRequest, output=public_dot_chat__pb2.ApproveOntologyChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def reject_ontology_change(self, request: public_dot_chat__pb2.RejectOntologyChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.RejectOntologyChangeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RejectOntologyChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectOntologyChangeRequest, output=public_dot_chat__pb2.RejectOntologyChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def query_one_shot(self, request: public_dot_chat__pb2.QueryOneShotRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.QueryOneShotResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='QueryOneShot', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.QueryOneShotRequest, output=public_dot_chat__pb2.QueryOneShotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def check_streamlit_health(self, request: public_dot_chat__pb2.CheckStreamlitHealthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.CheckStreamlitHealthResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CheckStreamlitHealth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckStreamlitHealthRequest, output=public_dot_chat__pb2.CheckStreamlitHealthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_form_status(self, request: public_dot_chat__pb2.UpdateFormStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.UpdateFormStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateFormStatus', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormStatusRequest, output=public_dot_chat__pb2.UpdateFormStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_form_fields(self, request: public_dot_chat__pb2.UpdateFormFieldsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.UpdateFormFieldsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateFormFields', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormFieldsRequest, output=public_dot_chat__pb2.UpdateFormFieldsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_form_validation_error(self, request: public_dot_chat__pb2.UpdateFormValidationErrorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.UpdateFormValidationErrorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateFormValidationError', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormValidationErrorRequest, output=public_dot_chat__pb2.UpdateFormValidationErrorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def set_form_submit_result(self, request: public_dot_chat__pb2.SetFormSubmitResultRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SetFormSubmitResultResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetFormSubmitResult', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SetFormSubmitResultRequest, output=public_dot_chat__pb2.SetFormSubmitResultResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_cell(self, request: public_dot_chat__pb2.GetCellRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetCellResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCell', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCellRequest, output=public_dot_chat__pb2.GetCellResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def bookmark_chat(self, request: public_dot_chat__pb2.BookmarkChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='BookmarkChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.BookmarkChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def unbookmark_chat(self, request: public_dot_chat__pb2.UnbookmarkChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='UnbookmarkChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UnbookmarkChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def mark_chat_read(self, request: public_dot_chat__pb2.MarkChatReadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.MarkChatReadResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MarkChatRead', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.MarkChatReadRequest, output=public_dot_chat__pb2.MarkChatReadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def mark_chat_unread(self, request: public_dot_chat__pb2.MarkChatUnreadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.MarkChatUnreadResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MarkChatUnread', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.MarkChatUnreadRequest, output=public_dot_chat__pb2.MarkChatUnreadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_chat_artifacts_summary(self, request: public_dot_chat__pb2.GetChatArtifactsSummaryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetChatArtifactsSummaryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetChatArtifactsSummary', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatArtifactsSummaryRequest, output=public_dot_chat__pb2.GetChatArtifactsSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_artifact(self, request: public_dot_chat__pb2.GetArtifactRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetArtifactResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetArtifact', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetArtifactRequest, output=public_dot_chat__pb2.GetArtifactResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def attach_agent_to_chat(self, request: public_dot_chat__pb2.AttachAgentToChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.AttachAgentToChatResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AttachAgentToChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachAgentToChatRequest, output=public_dot_chat__pb2.AttachAgentToChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class ChatServiceSync(Protocol): + + def create_chat(self, request: public_dot_chat__pb2.CreateRequest, ctx: RequestContext) -> public_dot_chat__pb2.CreateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_chat(self, request: public_dot_chat__pb2.UpdateChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.UpdateChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_chat(self, request: public_dot_chat__pb2.DeleteChatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def duplicate_chat(self, request: public_dot_chat__pb2.DuplicateChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.DuplicateChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def watch_chat(self, request: public_dot_chat__pb2.WatchChatRequest, ctx: RequestContext) -> Iterator[public_dot_chat__pb2.WatchChatEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def poll_chat_events(self, request: public_dot_chat__pb2.PollChatEventsRequest, ctx: RequestContext) -> public_dot_chat__pb2.PollChatEventsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_chat(self, request: public_dot_chat__pb2.RunChatRequest, ctx: RequestContext) -> Iterator[public_dot_chat__pb2.Cell]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def cancel_stream(self, request: public_dot_chat__pb2.CancelStreamRequest, ctx: RequestContext) -> public_dot_chat__pb2.CancelStreamResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def run_chat(self, request: public_dot_chat__pb2.RunChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.RunChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def send_message(self, request: public_dot_chat__pb2.SendRequest, ctx: RequestContext) -> public_dot_chat__pb2.SendResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def check_health(self, request: public_dot_chat__pb2.CheckHealthRequest, ctx: RequestContext) -> public_dot_chat__pb2.CheckHealthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def rate_chat_cell(self, request: public_dot_chat__pb2.RateChatCellRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def attach_dataset(self, request: public_dot_chat__pb2.AttachDatasetRequest, ctx: RequestContext) -> public_dot_chat__pb2.AttachDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def attach_dashboard(self, request: public_dot_chat__pb2.AttachDashboardRequest, ctx: RequestContext) -> public_dot_chat__pb2.AttachDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def attach_app(self, request: public_dot_chat__pb2.AttachAppRequest, ctx: RequestContext) -> public_dot_chat__pb2.AttachAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_chat_history(self, request: public_dot_chat__pb2.HistoryRequest, ctx: RequestContext) -> public_dot_chat__pb2.HistoryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_a_p_i_chat_answer(self, request: public_dot_chat__pb2.GetAPIChatAnswerRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetAPIChatAnswerResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_chats(self, request: public_dot_chat__pb2.GetChatsRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetChatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_chat(self, request: public_dot_chat__pb2.GetChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_chats(self, request: public_dot_chat__pb2.GetPlaybookChatsRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetPlaybookChatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_members_with_chats(self, request: public_dot_chat__pb2.GetMembersWithChatsRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetMembersWithChatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_completion_parameters(self, request: public_dot_chat__pb2.GetCompletionParametersRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetCompletionParametersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_completion_parameters_batch(self, request: public_dot_chat__pb2.GetCompletionParametersBatchRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetCompletionParametersBatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_chat_execution_timing(self, request: public_dot_chat__pb2.GetChatExecutionTimingRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetChatExecutionTimingResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def check_chat_permissions(self, request: public_dot_chat__pb2.CheckChatPermissionsRequest, ctx: RequestContext) -> public_dot_chat__pb2.CheckChatPermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_llm_usage(self, request: public_dot_chat__pb2.GetLlmUsageRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetLlmUsageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def approve_context_prompt_change(self, request: public_dot_chat__pb2.ApproveContextPromptChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.ApproveContextPromptChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def reject_context_prompt_change(self, request: public_dot_chat__pb2.RejectContextPromptChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.RejectContextPromptChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def submit_context_prompt_change(self, request: public_dot_chat__pb2.SubmitContextPromptChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.SubmitContextPromptChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def submit_questions(self, request: public_dot_chat__pb2.SubmitQuestionsRequest, ctx: RequestContext) -> public_dot_chat__pb2.SubmitQuestionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def dismiss_questions(self, request: public_dot_chat__pb2.DismissQuestionsRequest, ctx: RequestContext) -> public_dot_chat__pb2.DismissQuestionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def submit_form_approval(self, request: public_dot_chat__pb2.SubmitFormApprovalRequest, ctx: RequestContext) -> public_dot_chat__pb2.SubmitFormApprovalResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def reject_form_approval(self, request: public_dot_chat__pb2.RejectFormApprovalRequest, ctx: RequestContext) -> public_dot_chat__pb2.RejectFormApprovalResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def dismiss_form_approval(self, request: public_dot_chat__pb2.DismissFormApprovalRequest, ctx: RequestContext) -> public_dot_chat__pb2.DismissFormApprovalResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def resume_chat_after_auth(self, request: public_dot_chat__pb2.ResumeChatAfterAuthRequest, ctx: RequestContext) -> public_dot_chat__pb2.ResumeChatAfterAuthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def grant_sandbox_o_auth_permission(self, request: public_dot_chat__pb2.GrantSandboxOAuthPermissionRequest, ctx: RequestContext) -> public_dot_chat__pb2.GrantSandboxOAuthPermissionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_cell_auth_status(self, request: public_dot_chat__pb2.GetCellAuthStatusRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetCellAuthStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def approve_ontology_change(self, request: public_dot_chat__pb2.ApproveOntologyChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.ApproveOntologyChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def reject_ontology_change(self, request: public_dot_chat__pb2.RejectOntologyChangeRequest, ctx: RequestContext) -> public_dot_chat__pb2.RejectOntologyChangeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def query_one_shot(self, request: public_dot_chat__pb2.QueryOneShotRequest, ctx: RequestContext) -> public_dot_chat__pb2.QueryOneShotResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def check_streamlit_health(self, request: public_dot_chat__pb2.CheckStreamlitHealthRequest, ctx: RequestContext) -> public_dot_chat__pb2.CheckStreamlitHealthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_form_status(self, request: public_dot_chat__pb2.UpdateFormStatusRequest, ctx: RequestContext) -> public_dot_chat__pb2.UpdateFormStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_form_fields(self, request: public_dot_chat__pb2.UpdateFormFieldsRequest, ctx: RequestContext) -> public_dot_chat__pb2.UpdateFormFieldsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_form_validation_error(self, request: public_dot_chat__pb2.UpdateFormValidationErrorRequest, ctx: RequestContext) -> public_dot_chat__pb2.UpdateFormValidationErrorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_form_submit_result(self, request: public_dot_chat__pb2.SetFormSubmitResultRequest, ctx: RequestContext) -> public_dot_chat__pb2.SetFormSubmitResultResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_cell(self, request: public_dot_chat__pb2.GetCellRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetCellResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def bookmark_chat(self, request: public_dot_chat__pb2.BookmarkChatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unbookmark_chat(self, request: public_dot_chat__pb2.UnbookmarkChatRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def mark_chat_read(self, request: public_dot_chat__pb2.MarkChatReadRequest, ctx: RequestContext) -> public_dot_chat__pb2.MarkChatReadResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def mark_chat_unread(self, request: public_dot_chat__pb2.MarkChatUnreadRequest, ctx: RequestContext) -> public_dot_chat__pb2.MarkChatUnreadResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_chat_artifacts_summary(self, request: public_dot_chat__pb2.GetChatArtifactsSummaryRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetChatArtifactsSummaryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_artifact(self, request: public_dot_chat__pb2.GetArtifactRequest, ctx: RequestContext) -> public_dot_chat__pb2.GetArtifactResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def attach_agent_to_chat(self, request: public_dot_chat__pb2.AttachAgentToChatRequest, ctx: RequestContext) -> public_dot_chat__pb2.AttachAgentToChatResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ChatServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ChatServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.chat.ChatService/CreateChat': EndpointSync.unary(method=MethodInfo(name='CreateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CreateRequest, output=public_dot_chat__pb2.CreateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_chat), '/textql.rpc.public.chat.ChatService/UpdateChat': EndpointSync.unary(method=MethodInfo(name='UpdateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateChatRequest, output=public_dot_chat__pb2.UpdateChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_chat), '/textql.rpc.public.chat.ChatService/DeleteChat': EndpointSync.unary(method=MethodInfo(name='DeleteChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DeleteChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_chat), '/textql.rpc.public.chat.ChatService/DuplicateChat': EndpointSync.unary(method=MethodInfo(name='DuplicateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DuplicateChatRequest, output=public_dot_chat__pb2.DuplicateChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.duplicate_chat), '/textql.rpc.public.chat.ChatService/WatchChat': EndpointSync.server_stream(method=MethodInfo(name='WatchChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.WatchChatRequest, output=public_dot_chat__pb2.WatchChatEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.watch_chat), '/textql.rpc.public.chat.ChatService/PollChatEvents': EndpointSync.unary(method=MethodInfo(name='PollChatEvents', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.PollChatEventsRequest, output=public_dot_chat__pb2.PollChatEventsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.poll_chat_events), '/textql.rpc.public.chat.ChatService/StreamChat': EndpointSync.server_stream(method=MethodInfo(name='StreamChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RunChatRequest, output=public_dot_chat__pb2.Cell, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.stream_chat), '/textql.rpc.public.chat.ChatService/CancelStream': EndpointSync.unary(method=MethodInfo(name='CancelStream', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CancelStreamRequest, output=public_dot_chat__pb2.CancelStreamResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.cancel_stream), '/textql.rpc.public.chat.ChatService/RunChat': EndpointSync.unary(method=MethodInfo(name='RunChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RunChatRequest, output=public_dot_chat__pb2.RunChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.run_chat), '/textql.rpc.public.chat.ChatService/SendMessage': EndpointSync.unary(method=MethodInfo(name='SendMessage', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SendRequest, output=public_dot_chat__pb2.SendResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.send_message), '/textql.rpc.public.chat.ChatService/CheckHealth': EndpointSync.unary(method=MethodInfo(name='CheckHealth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckHealthRequest, output=public_dot_chat__pb2.CheckHealthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.check_health), '/textql.rpc.public.chat.ChatService/RateChatCell': EndpointSync.unary(method=MethodInfo(name='RateChatCell', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RateChatCellRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.rate_chat_cell), '/textql.rpc.public.chat.ChatService/AttachDataset': EndpointSync.unary(method=MethodInfo(name='AttachDataset', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachDatasetRequest, output=public_dot_chat__pb2.AttachDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.attach_dataset), '/textql.rpc.public.chat.ChatService/AttachDashboard': EndpointSync.unary(method=MethodInfo(name='AttachDashboard', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachDashboardRequest, output=public_dot_chat__pb2.AttachDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.attach_dashboard), '/textql.rpc.public.chat.ChatService/AttachApp': EndpointSync.unary(method=MethodInfo(name='AttachApp', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachAppRequest, output=public_dot_chat__pb2.AttachAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.attach_app), '/textql.rpc.public.chat.ChatService/GetChatHistory': EndpointSync.unary(method=MethodInfo(name='GetChatHistory', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.HistoryRequest, output=public_dot_chat__pb2.HistoryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_chat_history), '/textql.rpc.public.chat.ChatService/GetAPIChatAnswer': EndpointSync.unary(method=MethodInfo(name='GetAPIChatAnswer', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetAPIChatAnswerRequest, output=public_dot_chat__pb2.GetAPIChatAnswerResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_a_p_i_chat_answer), '/textql.rpc.public.chat.ChatService/GetChats': EndpointSync.unary(method=MethodInfo(name='GetChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatsRequest, output=public_dot_chat__pb2.GetChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_chats), '/textql.rpc.public.chat.ChatService/GetChat': EndpointSync.unary(method=MethodInfo(name='GetChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatRequest, output=public_dot_chat__pb2.GetChatResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_chat), '/textql.rpc.public.chat.ChatService/GetPlaybookChats': EndpointSync.unary(method=MethodInfo(name='GetPlaybookChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetPlaybookChatsRequest, output=public_dot_chat__pb2.GetPlaybookChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_chats), '/textql.rpc.public.chat.ChatService/GetMembersWithChats': EndpointSync.unary(method=MethodInfo(name='GetMembersWithChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetMembersWithChatsRequest, output=public_dot_chat__pb2.GetMembersWithChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_members_with_chats), '/textql.rpc.public.chat.ChatService/GetCompletionParameters': EndpointSync.unary(method=MethodInfo(name='GetCompletionParameters', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCompletionParametersRequest, output=public_dot_chat__pb2.GetCompletionParametersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_completion_parameters), '/textql.rpc.public.chat.ChatService/GetCompletionParametersBatch': EndpointSync.unary(method=MethodInfo(name='GetCompletionParametersBatch', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCompletionParametersBatchRequest, output=public_dot_chat__pb2.GetCompletionParametersBatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_completion_parameters_batch), '/textql.rpc.public.chat.ChatService/GetChatExecutionTiming': EndpointSync.unary(method=MethodInfo(name='GetChatExecutionTiming', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatExecutionTimingRequest, output=public_dot_chat__pb2.GetChatExecutionTimingResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_chat_execution_timing), '/textql.rpc.public.chat.ChatService/CheckChatPermissions': EndpointSync.unary(method=MethodInfo(name='CheckChatPermissions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckChatPermissionsRequest, output=public_dot_chat__pb2.CheckChatPermissionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.check_chat_permissions), '/textql.rpc.public.chat.ChatService/GetLlmUsage': EndpointSync.unary(method=MethodInfo(name='GetLlmUsage', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetLlmUsageRequest, output=public_dot_chat__pb2.GetLlmUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_llm_usage), '/textql.rpc.public.chat.ChatService/ApproveContextPromptChange': EndpointSync.unary(method=MethodInfo(name='ApproveContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ApproveContextPromptChangeRequest, output=public_dot_chat__pb2.ApproveContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.approve_context_prompt_change), '/textql.rpc.public.chat.ChatService/RejectContextPromptChange': EndpointSync.unary(method=MethodInfo(name='RejectContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectContextPromptChangeRequest, output=public_dot_chat__pb2.RejectContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.reject_context_prompt_change), '/textql.rpc.public.chat.ChatService/SubmitContextPromptChange': EndpointSync.unary(method=MethodInfo(name='SubmitContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitContextPromptChangeRequest, output=public_dot_chat__pb2.SubmitContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.submit_context_prompt_change), '/textql.rpc.public.chat.ChatService/SubmitQuestions': EndpointSync.unary(method=MethodInfo(name='SubmitQuestions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitQuestionsRequest, output=public_dot_chat__pb2.SubmitQuestionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.submit_questions), '/textql.rpc.public.chat.ChatService/DismissQuestions': EndpointSync.unary(method=MethodInfo(name='DismissQuestions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DismissQuestionsRequest, output=public_dot_chat__pb2.DismissQuestionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.dismiss_questions), '/textql.rpc.public.chat.ChatService/SubmitFormApproval': EndpointSync.unary(method=MethodInfo(name='SubmitFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitFormApprovalRequest, output=public_dot_chat__pb2.SubmitFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.submit_form_approval), '/textql.rpc.public.chat.ChatService/RejectFormApproval': EndpointSync.unary(method=MethodInfo(name='RejectFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectFormApprovalRequest, output=public_dot_chat__pb2.RejectFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.reject_form_approval), '/textql.rpc.public.chat.ChatService/DismissFormApproval': EndpointSync.unary(method=MethodInfo(name='DismissFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DismissFormApprovalRequest, output=public_dot_chat__pb2.DismissFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.dismiss_form_approval), '/textql.rpc.public.chat.ChatService/ResumeChatAfterAuth': EndpointSync.unary(method=MethodInfo(name='ResumeChatAfterAuth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ResumeChatAfterAuthRequest, output=public_dot_chat__pb2.ResumeChatAfterAuthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.resume_chat_after_auth), '/textql.rpc.public.chat.ChatService/GrantSandboxOAuthPermission': EndpointSync.unary(method=MethodInfo(name='GrantSandboxOAuthPermission', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GrantSandboxOAuthPermissionRequest, output=public_dot_chat__pb2.GrantSandboxOAuthPermissionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.grant_sandbox_o_auth_permission), '/textql.rpc.public.chat.ChatService/GetCellAuthStatus': EndpointSync.unary(method=MethodInfo(name='GetCellAuthStatus', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCellAuthStatusRequest, output=public_dot_chat__pb2.GetCellAuthStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_cell_auth_status), '/textql.rpc.public.chat.ChatService/ApproveOntologyChange': EndpointSync.unary(method=MethodInfo(name='ApproveOntologyChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ApproveOntologyChangeRequest, output=public_dot_chat__pb2.ApproveOntologyChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.approve_ontology_change), '/textql.rpc.public.chat.ChatService/RejectOntologyChange': EndpointSync.unary(method=MethodInfo(name='RejectOntologyChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectOntologyChangeRequest, output=public_dot_chat__pb2.RejectOntologyChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.reject_ontology_change), '/textql.rpc.public.chat.ChatService/QueryOneShot': EndpointSync.unary(method=MethodInfo(name='QueryOneShot', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.QueryOneShotRequest, output=public_dot_chat__pb2.QueryOneShotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.query_one_shot), '/textql.rpc.public.chat.ChatService/CheckStreamlitHealth': EndpointSync.unary(method=MethodInfo(name='CheckStreamlitHealth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckStreamlitHealthRequest, output=public_dot_chat__pb2.CheckStreamlitHealthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.check_streamlit_health), '/textql.rpc.public.chat.ChatService/UpdateFormStatus': EndpointSync.unary(method=MethodInfo(name='UpdateFormStatus', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormStatusRequest, output=public_dot_chat__pb2.UpdateFormStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_form_status), '/textql.rpc.public.chat.ChatService/UpdateFormFields': EndpointSync.unary(method=MethodInfo(name='UpdateFormFields', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormFieldsRequest, output=public_dot_chat__pb2.UpdateFormFieldsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_form_fields), '/textql.rpc.public.chat.ChatService/UpdateFormValidationError': EndpointSync.unary(method=MethodInfo(name='UpdateFormValidationError', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormValidationErrorRequest, output=public_dot_chat__pb2.UpdateFormValidationErrorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_form_validation_error), '/textql.rpc.public.chat.ChatService/SetFormSubmitResult': EndpointSync.unary(method=MethodInfo(name='SetFormSubmitResult', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SetFormSubmitResultRequest, output=public_dot_chat__pb2.SetFormSubmitResultResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_form_submit_result), '/textql.rpc.public.chat.ChatService/GetCell': EndpointSync.unary(method=MethodInfo(name='GetCell', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCellRequest, output=public_dot_chat__pb2.GetCellResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_cell), '/textql.rpc.public.chat.ChatService/BookmarkChat': EndpointSync.unary(method=MethodInfo(name='BookmarkChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.BookmarkChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.bookmark_chat), '/textql.rpc.public.chat.ChatService/UnbookmarkChat': EndpointSync.unary(method=MethodInfo(name='UnbookmarkChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UnbookmarkChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.unbookmark_chat), '/textql.rpc.public.chat.ChatService/MarkChatRead': EndpointSync.unary(method=MethodInfo(name='MarkChatRead', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.MarkChatReadRequest, output=public_dot_chat__pb2.MarkChatReadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.mark_chat_read), '/textql.rpc.public.chat.ChatService/MarkChatUnread': EndpointSync.unary(method=MethodInfo(name='MarkChatUnread', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.MarkChatUnreadRequest, output=public_dot_chat__pb2.MarkChatUnreadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.mark_chat_unread), '/textql.rpc.public.chat.ChatService/GetChatArtifactsSummary': EndpointSync.unary(method=MethodInfo(name='GetChatArtifactsSummary', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatArtifactsSummaryRequest, output=public_dot_chat__pb2.GetChatArtifactsSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_chat_artifacts_summary), '/textql.rpc.public.chat.ChatService/GetArtifact': EndpointSync.unary(method=MethodInfo(name='GetArtifact', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetArtifactRequest, output=public_dot_chat__pb2.GetArtifactResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_artifact), '/textql.rpc.public.chat.ChatService/AttachAgentToChat': EndpointSync.unary(method=MethodInfo(name='AttachAgentToChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachAgentToChatRequest, output=public_dot_chat__pb2.AttachAgentToChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.attach_agent_to_chat)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.chat.ChatService' + +class ChatServiceClientSync(ConnectClientSync): + + def create_chat(self, request: public_dot_chat__pb2.CreateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.CreateResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CreateRequest, output=public_dot_chat__pb2.CreateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_chat(self, request: public_dot_chat__pb2.UpdateChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.UpdateChatResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateChatRequest, output=public_dot_chat__pb2.UpdateChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_chat(self, request: public_dot_chat__pb2.DeleteChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DeleteChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def duplicate_chat(self, request: public_dot_chat__pb2.DuplicateChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.DuplicateChatResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DuplicateChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DuplicateChatRequest, output=public_dot_chat__pb2.DuplicateChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def watch_chat(self, request: public_dot_chat__pb2.WatchChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> Iterator[public_dot_chat__pb2.WatchChatEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='WatchChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.WatchChatRequest, output=public_dot_chat__pb2.WatchChatEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def poll_chat_events(self, request: public_dot_chat__pb2.PollChatEventsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.PollChatEventsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PollChatEvents', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.PollChatEventsRequest, output=public_dot_chat__pb2.PollChatEventsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def stream_chat(self, request: public_dot_chat__pb2.RunChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> Iterator[public_dot_chat__pb2.Cell]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RunChatRequest, output=public_dot_chat__pb2.Cell, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def cancel_stream(self, request: public_dot_chat__pb2.CancelStreamRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.CancelStreamResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CancelStream', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CancelStreamRequest, output=public_dot_chat__pb2.CancelStreamResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def run_chat(self, request: public_dot_chat__pb2.RunChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.RunChatResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RunChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RunChatRequest, output=public_dot_chat__pb2.RunChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def send_message(self, request: public_dot_chat__pb2.SendRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SendResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SendMessage', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SendRequest, output=public_dot_chat__pb2.SendResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def check_health(self, request: public_dot_chat__pb2.CheckHealthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.CheckHealthResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CheckHealth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckHealthRequest, output=public_dot_chat__pb2.CheckHealthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def rate_chat_cell(self, request: public_dot_chat__pb2.RateChatCellRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='RateChatCell', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RateChatCellRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def attach_dataset(self, request: public_dot_chat__pb2.AttachDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.AttachDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AttachDataset', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachDatasetRequest, output=public_dot_chat__pb2.AttachDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def attach_dashboard(self, request: public_dot_chat__pb2.AttachDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.AttachDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AttachDashboard', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachDashboardRequest, output=public_dot_chat__pb2.AttachDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def attach_app(self, request: public_dot_chat__pb2.AttachAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.AttachAppResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AttachApp', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachAppRequest, output=public_dot_chat__pb2.AttachAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_chat_history(self, request: public_dot_chat__pb2.HistoryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.HistoryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetChatHistory', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.HistoryRequest, output=public_dot_chat__pb2.HistoryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_a_p_i_chat_answer(self, request: public_dot_chat__pb2.GetAPIChatAnswerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetAPIChatAnswerResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetAPIChatAnswer', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetAPIChatAnswerRequest, output=public_dot_chat__pb2.GetAPIChatAnswerResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_chats(self, request: public_dot_chat__pb2.GetChatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetChatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatsRequest, output=public_dot_chat__pb2.GetChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_chat(self, request: public_dot_chat__pb2.GetChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetChatResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatRequest, output=public_dot_chat__pb2.GetChatResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_playbook_chats(self, request: public_dot_chat__pb2.GetPlaybookChatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetPlaybookChatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetPlaybookChatsRequest, output=public_dot_chat__pb2.GetPlaybookChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_members_with_chats(self, request: public_dot_chat__pb2.GetMembersWithChatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetMembersWithChatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithChats', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetMembersWithChatsRequest, output=public_dot_chat__pb2.GetMembersWithChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_completion_parameters(self, request: public_dot_chat__pb2.GetCompletionParametersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetCompletionParametersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCompletionParameters', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCompletionParametersRequest, output=public_dot_chat__pb2.GetCompletionParametersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_completion_parameters_batch(self, request: public_dot_chat__pb2.GetCompletionParametersBatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetCompletionParametersBatchResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCompletionParametersBatch', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCompletionParametersBatchRequest, output=public_dot_chat__pb2.GetCompletionParametersBatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_chat_execution_timing(self, request: public_dot_chat__pb2.GetChatExecutionTimingRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetChatExecutionTimingResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetChatExecutionTiming', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatExecutionTimingRequest, output=public_dot_chat__pb2.GetChatExecutionTimingResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def check_chat_permissions(self, request: public_dot_chat__pb2.CheckChatPermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.CheckChatPermissionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CheckChatPermissions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckChatPermissionsRequest, output=public_dot_chat__pb2.CheckChatPermissionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_llm_usage(self, request: public_dot_chat__pb2.GetLlmUsageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetLlmUsageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetLlmUsage', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetLlmUsageRequest, output=public_dot_chat__pb2.GetLlmUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def approve_context_prompt_change(self, request: public_dot_chat__pb2.ApproveContextPromptChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.ApproveContextPromptChangeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ApproveContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ApproveContextPromptChangeRequest, output=public_dot_chat__pb2.ApproveContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def reject_context_prompt_change(self, request: public_dot_chat__pb2.RejectContextPromptChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.RejectContextPromptChangeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RejectContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectContextPromptChangeRequest, output=public_dot_chat__pb2.RejectContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def submit_context_prompt_change(self, request: public_dot_chat__pb2.SubmitContextPromptChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SubmitContextPromptChangeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SubmitContextPromptChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitContextPromptChangeRequest, output=public_dot_chat__pb2.SubmitContextPromptChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def submit_questions(self, request: public_dot_chat__pb2.SubmitQuestionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SubmitQuestionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SubmitQuestions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitQuestionsRequest, output=public_dot_chat__pb2.SubmitQuestionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def dismiss_questions(self, request: public_dot_chat__pb2.DismissQuestionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.DismissQuestionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DismissQuestions', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DismissQuestionsRequest, output=public_dot_chat__pb2.DismissQuestionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def submit_form_approval(self, request: public_dot_chat__pb2.SubmitFormApprovalRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SubmitFormApprovalResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SubmitFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SubmitFormApprovalRequest, output=public_dot_chat__pb2.SubmitFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def reject_form_approval(self, request: public_dot_chat__pb2.RejectFormApprovalRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.RejectFormApprovalResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RejectFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectFormApprovalRequest, output=public_dot_chat__pb2.RejectFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def dismiss_form_approval(self, request: public_dot_chat__pb2.DismissFormApprovalRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.DismissFormApprovalResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DismissFormApproval', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.DismissFormApprovalRequest, output=public_dot_chat__pb2.DismissFormApprovalResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def resume_chat_after_auth(self, request: public_dot_chat__pb2.ResumeChatAfterAuthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.ResumeChatAfterAuthResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ResumeChatAfterAuth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ResumeChatAfterAuthRequest, output=public_dot_chat__pb2.ResumeChatAfterAuthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def grant_sandbox_o_auth_permission(self, request: public_dot_chat__pb2.GrantSandboxOAuthPermissionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.GrantSandboxOAuthPermissionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GrantSandboxOAuthPermission', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GrantSandboxOAuthPermissionRequest, output=public_dot_chat__pb2.GrantSandboxOAuthPermissionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_cell_auth_status(self, request: public_dot_chat__pb2.GetCellAuthStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetCellAuthStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCellAuthStatus', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCellAuthStatusRequest, output=public_dot_chat__pb2.GetCellAuthStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def approve_ontology_change(self, request: public_dot_chat__pb2.ApproveOntologyChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.ApproveOntologyChangeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ApproveOntologyChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.ApproveOntologyChangeRequest, output=public_dot_chat__pb2.ApproveOntologyChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def reject_ontology_change(self, request: public_dot_chat__pb2.RejectOntologyChangeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.RejectOntologyChangeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RejectOntologyChange', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.RejectOntologyChangeRequest, output=public_dot_chat__pb2.RejectOntologyChangeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def query_one_shot(self, request: public_dot_chat__pb2.QueryOneShotRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.QueryOneShotResponse: + return self.execute_unary(request=request, method=MethodInfo(name='QueryOneShot', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.QueryOneShotRequest, output=public_dot_chat__pb2.QueryOneShotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def check_streamlit_health(self, request: public_dot_chat__pb2.CheckStreamlitHealthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.CheckStreamlitHealthResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CheckStreamlitHealth', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.CheckStreamlitHealthRequest, output=public_dot_chat__pb2.CheckStreamlitHealthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_form_status(self, request: public_dot_chat__pb2.UpdateFormStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.UpdateFormStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateFormStatus', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormStatusRequest, output=public_dot_chat__pb2.UpdateFormStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_form_fields(self, request: public_dot_chat__pb2.UpdateFormFieldsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.UpdateFormFieldsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateFormFields', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormFieldsRequest, output=public_dot_chat__pb2.UpdateFormFieldsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_form_validation_error(self, request: public_dot_chat__pb2.UpdateFormValidationErrorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.UpdateFormValidationErrorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateFormValidationError', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UpdateFormValidationErrorRequest, output=public_dot_chat__pb2.UpdateFormValidationErrorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def set_form_submit_result(self, request: public_dot_chat__pb2.SetFormSubmitResultRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.SetFormSubmitResultResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetFormSubmitResult', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.SetFormSubmitResultRequest, output=public_dot_chat__pb2.SetFormSubmitResultResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_cell(self, request: public_dot_chat__pb2.GetCellRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetCellResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCell', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetCellRequest, output=public_dot_chat__pb2.GetCellResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def bookmark_chat(self, request: public_dot_chat__pb2.BookmarkChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='BookmarkChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.BookmarkChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def unbookmark_chat(self, request: public_dot_chat__pb2.UnbookmarkChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='UnbookmarkChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.UnbookmarkChatRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def mark_chat_read(self, request: public_dot_chat__pb2.MarkChatReadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.MarkChatReadResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MarkChatRead', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.MarkChatReadRequest, output=public_dot_chat__pb2.MarkChatReadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def mark_chat_unread(self, request: public_dot_chat__pb2.MarkChatUnreadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.MarkChatUnreadResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MarkChatUnread', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.MarkChatUnreadRequest, output=public_dot_chat__pb2.MarkChatUnreadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_chat_artifacts_summary(self, request: public_dot_chat__pb2.GetChatArtifactsSummaryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetChatArtifactsSummaryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetChatArtifactsSummary', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetChatArtifactsSummaryRequest, output=public_dot_chat__pb2.GetChatArtifactsSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_artifact(self, request: public_dot_chat__pb2.GetArtifactRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_chat__pb2.GetArtifactResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetArtifact', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.GetArtifactRequest, output=public_dot_chat__pb2.GetArtifactResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def attach_agent_to_chat(self, request: public_dot_chat__pb2.AttachAgentToChatRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_chat__pb2.AttachAgentToChatResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AttachAgentToChat', service_name='textql.rpc.public.chat.ChatService', input=public_dot_chat__pb2.AttachAgentToChatRequest, output=public_dot_chat__pb2.AttachAgentToChatResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/chat_pb2.py b/src/textql_sdk/_connect/public/chat_pb2.py new file mode 100644 index 0000000..ac9d9cb --- /dev/null +++ b/src/textql_sdk/_connect/public/chat_pb2.py @@ -0,0 +1,358 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/chat.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import apps_pb2 as public_dot_apps__pb2 +from ..public import cells_pb2 as public_dot_cells__pb2 +from ..public import dashboard_pb2 as public_dot_dashboard__pb2 +from ..public import dataset_pb2 as public_dot_dataset__pb2 +from ..public import identity_pb2 as public_dot_identity__pb2 +from ..public import llm_model_pb2 as public_dot_llm__model__pb2 +from ..public import paradigm_pb2 as public_dot_paradigm__pb2 +from ..public import warnings_pb2 as public_dot_warnings__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11public/chat.proto\x12\x16textql.rpc.public.chat\x1a\x1bgoogle/api/visibility.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x11public/apps.proto\x1a\x12public/cells.proto\x1a\x16public/dashboard.proto\x1a\x14public/dataset.proto\x1a\x15public/identity.proto\x1a\x16public/llm_model.proto\x1a\x15public/paradigm.proto\x1a\x15public/warnings.proto"N\n\x18AttachAgentToChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x19\n\x08agent_id\x18\x02 \x01(\tR\x07agentId"M\n\x19AttachAgentToChatResponse\x120\n\x04chat\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.ChatR\x04chat"\xa4\x0c\n\x04Chat\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12@\n\x08paradigm\x18\x02 \x01(\x0b2$.textql.rpc.public.paradigm.ParadigmR\x08paradigm\x126\n\x05model\x18\x03 \x01(\x0e2 .textql.rpc.public.chat.LlmModelR\x05model\x128\n\ttimestamp\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId\x12\x1b\n\tmember_id\x18\x06 \x01(\tR\x08memberId\x12\x1d\n\x07summary\x18\x07 \x01(\tH\x00R\x07summary\x88\x01\x01\x12$\n\x0bplaybook_id\x18\x08 \x01(\tH\x01R\nplaybookId\x88\x01\x01\x12\x1f\n\x08research\x18\t \x01(\x08H\x02R\x08research\x88\x01\x01\x12(\n\rcreator_email\x18\n \x01(\tH\x03R\x0ccreatorEmail\x88\x01\x01\x12.\n\x11api_key_client_id\x18\x0b \x01(\tH\x04R\x0eapiKeyClientId\x88\x01\x01\x129\n\nupdated_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12(\n\ris_bookmarked\x18\r \x01(\x08H\x05R\x0cisBookmarked\x88\x01\x01\x122\n\x12preferred_provider\x18\x0e \x01(\tH\x06R\x11preferredProvider\x88\x01\x01\x12-\n\x10template_data_id\x18\x0f \x01(\tH\x07R\x0etemplateDataId\x88\x01\x01\x12%\n\x0cbatch_run_id\x18\x10 \x01(\tH\x08R\nbatchRunId\x88\x01\x01\x12\x1d\n\x07preview\x18\x11 \x01(\tH\tR\x07preview\x88\x01\x01\x12*\n\x0edashboard_mode\x18\x12 \x01(\x08H\nR\rdashboardMode\x88\x01\x01\x12?\n\x06source\x18\x13 \x01(\x0e2".textql.rpc.public.chat.ChatSourceH\x0bR\x06source\x88\x01\x01\x12J\n\x0bmethodology\x18\x14 \x01(\x0e2#.textql.rpc.public.chat.MethodologyH\x0cR\x0bmethodology\x88\x01\x01\x12"\n\nis_running\x18\x18 \x01(\x08H\rR\tisRunning\x88\x01\x01\x12 \n\tis_unread\x18\x19 \x01(\x08H\x0eR\x08isUnread\x88\x01\x01\x12\'\n\rvllm_model_id\x18\x1a \x01(\tH\x0fR\x0bvllmModelId\x88\x01\x01\x12 \n\tfast_mode\x18\x1b \x01(\x08H\x10R\x08fastMode\x88\x01\x01\x12\x1e\n\x08agent_id\x18\x1c \x01(\tH\x11R\x07agentId\x88\x01\x01\x12"\n\nagent_name\x18\x1d \x01(\tH\x12R\tagentName\x88\x01\x01\x12:\n\x17agent_profile_image_url\x18\x1e \x01(\tH\x13R\x14agentProfileImageUrl\x88\x01\x01\x12&\n\x0cmax_thinking\x18\x1f \x01(\x08H\x14R\x0bmaxThinking\x88\x01\x01B\n\n\x08_summaryB\x0e\n\x0c_playbook_idB\x0b\n\t_researchB\x10\n\x0e_creator_emailB\x14\n\x12_api_key_client_idB\x10\n\x0e_is_bookmarkedB\x15\n\x13_preferred_providerB\x13\n\x11_template_data_idB\x0f\n\r_batch_run_idB\n\n\x08_previewB\x11\n\x0f_dashboard_modeB\t\n\x07_sourceB\x0e\n\x0c_methodologyB\r\n\x0b_is_runningB\x0c\n\n_is_unreadB\x10\n\x0e_vllm_model_idB\x0c\n\n_fast_modeB\x0b\n\t_agent_idB\r\n\x0b_agent_nameB\x1a\n\x18_agent_profile_image_urlB\x0f\n\r_max_thinkingJ\x04\x08\x15\x10\x18"\xfc*\n\x04Cell\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x128\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1a\n\x08complete\x18\x03 \x01(\x08R\x08complete\x12\x1c\n\tgenerated\x18\x04 \x01(\x08R\tgenerated\x12C\n\tlifecycle\x18\x05 \x01(\x0e2%.textql.rpc.public.chat.CellLifecycleR\tlifecycle\x12%\n\x0ctool_call_id\x18\x06 \x01(\tH\x01R\ntoolCallId\x88\x01\x01\x12"\n\nexec_error\x18\x07 \x01(\tH\x02R\texecError\x88\x01\x01\x12-\n\x10sender_member_id\x18\x17 \x01(\tH\x03R\x0esenderMemberId\x88\x01\x01\x12@\n\x07md_cell\x18\x08 \x01(\x0b2%.textql.rpc.public.cells.MarkdownCellH\x00R\x06mdCell\x12>\n\x07py_cell\x18\t \x01(\x0b2#.textql.rpc.public.cells.PythonCellH\x00R\x06pyCell\x12=\n\x08sql_cell\x18\n \x01(\x0b2 .textql.rpc.public.cells.SQLCellH\x00R\x07sqlCell\x12@\n\x08ans_cell\x18\x0b \x01(\x0b2#.textql.rpc.public.cells.AnswerCellH\x00R\x07ansCell\x12L\n\rdocument_cell\x18\x0c \x01(\x0b2%.textql.rpc.public.cells.DocumentCellH\x00R\x0cdocumentCell\x12A\n\x07ws_cell\x18\r \x01(\x0b2&.textql.rpc.public.cells.WebSearchCellH\x00R\x06wsCell\x12F\n\x0breport_cell\x18\x0e \x01(\x0b2#.textql.rpc.public.cells.ReportCellH\x00R\nreportCell\x12V\n\x11tabular_file_cell\x18\x0f \x01(\x0b2(.textql.rpc.public.cells.TabularFileCellH\x00R\x0ftabularFileCell\x12J\n\x0bstatus_cell\x18\x10 \x01(\x0b2#.textql.rpc.public.cells.StatusCellB\x02\x18\x01H\x00R\nstatusCell\x12I\n\x0cmetrics_cell\x18\x11 \x01(\x0b2$.textql.rpc.public.cells.MetricsCellH\x00R\x0bmetricsCell\x12I\n\x0csummary_cell\x18\x12 \x01(\x0b2$.textql.rpc.public.cells.SummaryCellH\x00R\x0bsummaryCell\x12I\n\x0ctableau_cell\x18\x13 \x01(\x0b2$.textql.rpc.public.cells.TableauCellH\x00R\x0btableauCell\x12S\n\x10tableau_sql_cell\x18\x14 \x01(\x0b2\'.textql.rpc.public.cells.TableauSQLCellH\x00R\x0etableauSqlCell\x12o\n\x1acontext_prompt_editor_cell\x18\x15 \x01(\x0b20.textql.rpc.public.cells.ContextPromptEditorCellH\x00R\x17contextPromptEditorCell\x12_\n\x14ontology_editor_cell\x18\x16 \x01(\x0b2+.textql.rpc.public.cells.OntologyEditorCellH\x00R\x12ontologyEditorCell\x12C\n\nimage_cell\x18\x18 \x01(\x0b2".textql.rpc.public.cells.ImageCellH\x00R\timageCell\x12@\n\ttext_cell\x18\x19 \x01(\x0b2!.textql.rpc.public.cells.TextCellH\x00R\x08textCell\x12J\n\rmcp_tool_cell\x18\x1a \x01(\x0b2$.textql.rpc.public.cells.MCPToolCellH\x00R\x0bmcpToolCell\x12I\n\x0cpreview_cell\x18\x1b \x01(\x0b2$.textql.rpc.public.cells.PreviewCellH\x00R\x0bpreviewCell\x12_\n\x14playbook_editor_cell\x18\x1c \x01(\x0b2+.textql.rpc.public.cells.PlaybookEditorCellH\x00R\x12playbookEditorCell\x12O\n\x0estreamlit_cell\x18\x1d \x01(\x0b2&.textql.rpc.public.cells.StreamlitCellH\x00R\rstreamlitCell\x12O\n\x0edashboard_cell\x18# \x01(\x0b2&.textql.rpc.public.cells.DashboardCellH\x00R\rdashboardCell\x12l\n\x19google_drive_content_cell\x18\x1e \x01(\x0b2/.textql.rpc.public.cells.GoogleDriveContentCellH\x00R\x16googleDriveContentCell\x12i\n\x18google_drive_search_cell\x18\x1f \x01(\x0b2..textql.rpc.public.cells.GoogleDriveSearchCellH\x00R\x15googleDriveSearchCell\x12I\n\x0cpowerbi_cell\x18 \x01(\x0b2$.textql.rpc.public.cells.PowerBICellH\x00R\x0bpowerbiCell\x12S\n\x10powerbi_dax_cell\x18! \x01(\x0b2\'.textql.rpc.public.cells.PowerBIDAXCellH\x00R\x0epowerbiDaxCell\x12S\n\x10form_editor_cell\x18" \x01(\x0b2\'.textql.rpc.public.cells.FormEditorCellH\x00R\x0eformEditorCell\x12o\n\x1atableau_search_fields_cell\x18$ \x01(\x0b20.textql.rpc.public.cells.TableauSearchFieldsCellH\x00R\x17tableauSearchFieldsCell\x12\\\n\x13report_history_cell\x18% \x01(\x0b2*.textql.rpc.public.cells.ReportHistoryCellH\x00R\x11reportHistoryCell\x12{\n\x1emicrosoft365_email_search_cell\x18& \x01(\x0b24.textql.rpc.public.cells.Microsoft365EmailSearchCellH\x00R\x1bmicrosoft365EmailSearchCell\x12~\n\x1fmicrosoft365_email_content_cell\x18\' \x01(\x0b25.textql.rpc.public.cells.Microsoft365EmailContentCellH\x00R\x1cmicrosoft365EmailContentCell\x12q\n\x1amicrosoft365_calendar_cell\x18( \x01(\x0b21.textql.rpc.public.cells.Microsoft365CalendarCellH\x00R\x18microsoft365CalendarCell\x12Y\n\x12feed_explorer_cell\x18) \x01(\x0b2).textql.rpc.public.cells.FeedExplorerCellH\x00R\x10feedExplorerCell\x12@\n\tbash_cell\x18* \x01(\x0b2!.textql.rpc.public.cells.BashCellH\x00R\x08bashCell\x12R\n\x0fjavascript_cell\x18+ \x01(\x0b2\'.textql.rpc.public.cells.JavaScriptCellH\x00R\x0ejavascriptCell\x12M\n\x0efeed_post_cell\x18, \x01(\x0b2%.textql.rpc.public.cells.FeedPostCellH\x00R\x0cfeedPostCell\x12V\n\x11feed_comment_cell\x18- \x01(\x0b2(.textql.rpc.public.cells.FeedCommentCellH\x00R\x0ffeedCommentCell\x12S\n\x10feed_engage_cell\x18. \x01(\x0b2\'.textql.rpc.public.cells.FeedEngageCellH\x00R\x0efeedEngageCell\x12u\n\x1contology_search_metrics_cell\x18/ \x01(\x0b22.textql.rpc.public.cells.OntologySearchMetricsCellH\x00R\x19ontologySearchMetricsCell\x12l\n\x19ontology_open_object_cell\x180 \x01(\x0b2/.textql.rpc.public.cells.OntologyOpenObjectCellH\x00R\x16ontologyOpenObjectCell\x12R\n\x0fcompaction_cell\x181 \x01(\x0b2\'.textql.rpc.public.cells.CompactionCellH\x00R\x0ecompactionCell\x12f\n\x17gmail_email_search_cell\x182 \x01(\x0b2-.textql.rpc.public.cells.GmailEmailSearchCellH\x00R\x14gmailEmailSearchCell\x12i\n\x18gmail_email_content_cell\x183 \x01(\x0b2..textql.rpc.public.cells.GmailEmailContentCellH\x00R\x15gmailEmailContentCell\x12_\n\x14list_dashboards_cell\x184 \x01(\x0b2+.textql.rpc.public.cells.ListDashboardsCellH\x00R\x12listDashboardsCell\x12P\n\x0flist_users_cell\x185 \x01(\x0b2&.textql.rpc.public.cells.ListUsersCellH\x00R\rlistUsersCell\x12r\n\x1bgoogle_calendar_search_cell\x186 \x01(\x0b21.textql.rpc.public.cells.GoogleCalendarSearchCellH\x00R\x18googleCalendarSearchCell\x12S\n\x10feed_create_cell\x188 \x01(\x0b2\'.textql.rpc.public.cells.FeedCreateCellH\x00R\x0efeedCreateCell\x12\\\n\x13ontology_query_cell\x189 \x01(\x0b2*.textql.rpc.public.cells.OntologyQueryCellH\x00R\x11ontologyQueryCell\x12C\n\nemail_cell\x18: \x01(\x0b2".textql.rpc.public.cells.EmailCellH\x00R\temailCell\x12C\n\npatch_cell\x18; \x01(\x0b2".textql.rpc.public.cells.PatchCellH\x00R\tpatchCell\x12_\n\x14linkedin_search_cell\x18< \x01(\x0b2+.textql.rpc.public.cells.LinkedinSearchCellH\x00R\x12linkedinSearchCell\x12M\n\x0euse_skill_cell\x18= \x01(\x0b2%.textql.rpc.public.cells.UseSkillCellH\x00R\x0cuseSkillCell\x12@\n\tform_cell\x18> \x01(\x0b2!.textql.rpc.public.cells.FormCellH\x00R\x08formCell\x12R\n\x0fconnectors_cell\x18? \x01(\x0b2\'.textql.rpc.public.cells.ConnectorsCellH\x00R\x0econnectorsCell\x12O\n\x0equestions_cell\x18@ \x01(\x0b2&.textql.rpc.public.cells.QuestionsCellH\x00R\rquestionsCell\x12=\n\x08app_cell\x18A \x01(\x0b2 .textql.rpc.public.cells.AppCellH\x00R\x07appCell\x12M\n\x0elist_apps_cell\x18C \x01(\x0b2%.textql.rpc.public.cells.ListAppsCellH\x00R\x0clistAppsCell\x12L\n\rthinking_cell\x18D \x01(\x0b2%.textql.rpc.public.cells.ThinkingCellH\x00R\x0cthinkingCell\x12&\n\x0ctool_summary\x187 \x01(\tH\x04R\x0btoolSummary\x88\x01\x01\x12$\n\x0bduration_ms\x18B \x01(\x03H\x05R\ndurationMs\x88\x01\x01B\x07\n\x05valueB\x0f\n\r_tool_call_idB\r\n\x0b_exec_errorB\x13\n\x11_sender_member_idB\x0f\n\r_tool_summaryB\x0e\n\x0c_duration_ms"\xbb\x05\n\x17LlmCompletionParameters\x129\n\nstarted_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n\x0ccompleted_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bcompletedAt\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12\x1b\n\tllm_model\x18\x04 \x01(\tR\x08llmModel\x12!\n\x0cllm_provider\x18\x05 \x01(\tR\x0bllmProvider\x12\'\n\x0fsystem_messages\x18\x06 \x03(\tR\x0esystemMessages\x12\x1a\n\x08messages\x18\x07 \x03(\tR\x08messages\x12\x14\n\x05tools\x18\x08 \x03(\tR\x05tools\x12$\n\x0btool_choice\x18\t \x01(\tH\x00R\ntoolChoice\x88\x01\x01\x12\x1f\n\x08thinking\x18\n \x01(\tH\x01R\x08thinking\x88\x01\x01\x12"\n\nmax_tokens\x18\x0b \x01(\x03H\x02R\tmaxTokens\x88\x01\x01\x12%\n\x0btemperature\x18\x0c \x01(\x01H\x03R\x0btemperature\x88\x01\x01\x12%\n\x0estop_sequences\x18\r \x03(\tR\rstopSequences\x12&\n\x0cservice_tier\x18\x0e \x01(\tH\x04R\x0bserviceTier\x88\x01\x01\x12,\n\x0fcustom_settings\x18\x0f \x01(\tH\x05R\x0ecustomSettings\x88\x01\x01B\x0e\n\x0c_tool_choiceB\x0b\n\t_thinkingB\r\n\x0b_max_tokensB\x0e\n\x0c_temperatureB\x0f\n\r_service_tierB\x12\n\x10_custom_settings"\xd7\x04\n\rCreateRequest\x12@\n\x08paradigm\x18\x01 \x01(\x0b2$.textql.rpc.public.paradigm.ParadigmR\x08paradigm\x126\n\x05model\x18\x02 \x01(\x0e2 .textql.rpc.public.chat.LlmModelR\x05model\x12\x1d\n\x07message\x18\x03 \x01(\tH\x00R\x07message\x88\x01\x01\x12$\n\x0bplaybook_id\x18\x04 \x01(\tH\x01R\nplaybookId\x88\x01\x01\x12\x1f\n\x08research\x18\x05 \x01(\x08H\x02R\x08research\x88\x01\x01\x12*\n\x0edashboard_mode\x18\x06 \x01(\x08H\x03R\rdashboardMode\x88\x01\x01\x12J\n\x0bmethodology\x18\x07 \x01(\x0e2#.textql.rpc.public.chat.MethodologyH\x04R\x0bmethodology\x88\x01\x01\x12\'\n\rvllm_model_id\x18\x08 \x01(\tH\x05R\x0bvllmModelId\x88\x01\x01\x12 \n\tfast_mode\x18\t \x01(\x08H\x06R\x08fastMode\x88\x01\x01\x12&\n\x0cmax_thinking\x18\n \x01(\x08H\x07R\x0bmaxThinking\x88\x01\x01B\n\n\x08_messageB\x0e\n\x0c_playbook_idB\x0b\n\t_researchB\x11\n\x0f_dashboard_modeB\x0e\n\x0c_methodologyB\x10\n\x0e_vllm_model_idB\x0c\n\n_fast_modeB\x0f\n\r_max_thinking"B\n\x0eCreateResponse\x120\n\x04chat\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.ChatR\x04chat"\x89\x03\n\x11UpdateChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x1f\n\x08research\x18\x02 \x01(\x08H\x00R\x08research\x88\x01\x01\x12\x1d\n\x07summary\x18\x03 \x01(\tH\x01R\x07summary\x88\x01\x01\x12*\n\x0edashboard_mode\x18\x04 \x01(\x08H\x02R\rdashboardMode\x88\x01\x01\x12J\n\x0bmethodology\x18\x05 \x01(\x0e2#.textql.rpc.public.chat.MethodologyH\x03R\x0bmethodology\x88\x01\x01\x12 \n\tfast_mode\x18\x06 \x01(\x08H\x04R\x08fastMode\x88\x01\x01\x12&\n\x0cmax_thinking\x18\x07 \x01(\x08H\x05R\x0bmaxThinking\x88\x01\x01B\x0b\n\t_researchB\n\n\x08_summaryB\x11\n\x0f_dashboard_modeB\x0e\n\x0c_methodologyB\x0c\n\n_fast_modeB\x0f\n\r_max_thinking"F\n\x12UpdateChatResponse\x120\n\x04chat\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.ChatR\x04chat",\n\x11DeleteChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"\xdf\x02\n\x0eRunChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12:\n\x17latest_complete_cell_id\x18\x02 \x01(\tH\x00R\x14latestCompleteCellId\x88\x01\x01\x12\x1f\n\x08research\x18\x03 \x01(\x08H\x01R\x08research\x88\x01\x01\x12;\n\x05model\x18\x04 \x01(\x0e2 .textql.rpc.public.chat.LlmModelH\x02R\x05model\x88\x01\x01\x12 \n\tfast_mode\x18\x05 \x01(\x08H\x03R\x08fastMode\x88\x01\x01\x12&\n\x0cmax_thinking\x18\x06 \x01(\x08H\x04R\x0bmaxThinking\x88\x01\x01B\x1a\n\x18_latest_complete_cell_idB\x0b\n\t_researchB\x08\n\x06_modelB\x0c\n\n_fast_modeB\x0f\n\r_max_thinking"E\n\x0fRunChatResponse\x122\n\x05cells\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.chat.CellR\x05cells".\n\x13CancelStreamRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId".\n\x14CancelStreamResponse\x12\x16\n\x06exists\x18\x01 \x01(\x08R\x06exists"\xab\x01\n\x13RateChatCellRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x17\n\x07cell_id\x18\x02 \x01(\tR\x06cellId\x12:\n\x06rating\x18\x03 \x01(\x0e2".textql.rpc.public.chat.CellRatingR\x06rating\x12\x1b\n\x06reason\x18\x04 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n\x07_reason"\xc0\x01\n\x0bSendRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1d\n\nimage_urls\x18\x03 \x03(\tR\timageUrls\x12"\n\nmessage_id\x18\x04 \x01(\tH\x00R\tmessageId\x88\x01\x01\x12\x1f\n\x08steering\x18\x05 \x01(\x08H\x01R\x08steering\x88\x01\x01B\r\n\x0b_message_idB\x0b\n\t_steering"\'\n\x0cSendResponse\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"\xbf\x01\n\x10WatchChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12:\n\x17latest_complete_cell_id\x18\x02 \x01(\tH\x00R\x14latestCompleteCellId\x88\x01\x01\x12(\n\rresume_cursor\x18\x03 \x01(\tH\x01R\x0cresumeCursor\x88\x01\x01B\x1a\n\x18_latest_complete_cell_idB\x10\n\x0e_resume_cursor"\xc5\x04\n\x0eWatchChatEvent\x12B\n\x06opened\x18\x01 \x01(\x0b2(.textql.rpc.public.chat.WatchOpenedEventH\x00R\x06opened\x122\n\x04cell\x18\x02 \x01(\x0b2\x1c.textql.rpc.public.chat.CellH\x00R\x04cell\x12R\n\x0crun_complete\x18\x03 \x01(\x0b2-.textql.rpc.public.chat.WatchRunCompleteEventH\x00R\x0brunComplete\x12I\n\trun_error\x18\x04 \x01(\x0b2*.textql.rpc.public.chat.WatchRunErrorEventH\x00R\x08runError\x12[\n\x0fhandoff_pending\x18\x05 \x01(\x0b20.textql.rpc.public.chat.WatchHandoffPendingEventH\x00R\x0ehandoffPending\x12O\n\x0brun_started\x18\x06 \x01(\x0b2,.textql.rpc.public.chat.WatchRunStartedEventH\x00R\nrunStarted\x12K\n\theartbeat\x18\x07 \x01(\x0b2+.textql.rpc.public.chat.WatchHeartbeatEventH\x00R\theartbeat\x12\x16\n\x06cursor\x18\x08 \x01(\tR\x06cursorB\t\n\x07payload"\x12\n\x10WatchOpenedEvent"\x15\n\x13WatchHeartbeatEvent"\x16\n\x14WatchRunStartedEvent";\n\x15WatchRunCompleteEvent\x12"\n\rfinal_cell_id\x18\x01 \x01(\tR\x0bfinalCellId">\n\x12WatchRunErrorEvent\x12\x14\n\x05error\x18\x01 \x01(\tR\x05error\x12\x12\n\x04code\x18\x02 \x01(\tR\x04code"\x93\x01\n\x15PollChatEventsRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12(\n\rresume_cursor\x18\x02 \x01(\tH\x00R\x0cresumeCursor\x88\x01\x01\x12%\n\x0emin_generation\x18\x03 \x01(\x03R\rminGenerationB\x10\n\x0e_resume_cursor"\xaa\x01\n\x16PollChatEventsResponse\x12>\n\x06events\x18\x01 \x03(\x0b2&.textql.rpc.public.chat.WatchChatEventR\x06events\x12\x16\n\x06cursor\x18\x02 \x01(\tR\x06cursor\x12\x18\n\x07running\x18\x03 \x01(\x08R\x07running\x12\x1e\n\ngeneration\x18\x04 \x01(\x03R\ngeneration"A\n\x18WatchHandoffPendingEvent\x12%\n\x0ehandoff_marker\x18\x01 \x01(\tR\rhandoffMarker"N\n\x14AttachDatasetRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"\x87\x01\n\x15AttachDatasetResponse\x120\n\x04cell\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.CellR\x04cell\x12<\n\x07dataset\x18\x02 \x01(\x0b2".textql.rpc.public.dataset.DatasetR\x07dataset"T\n\x16AttachDashboardRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12!\n\x0cdashboard_id\x18\x02 \x01(\tR\x0bdashboardId"\x91\x01\n\x17AttachDashboardResponse\x120\n\x04cell\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.CellR\x04cell\x12D\n\tdashboard\x18\x02 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"B\n\x10AttachAppRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x15\n\x06app_id\x18\x02 \x01(\tR\x05appId"s\n\x11AttachAppResponse\x120\n\x04cell\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.CellR\x04cell\x12,\n\x03app\x18\x02 \x01(\x0b2\x1a.textql.rpc.public.app.AppR\x03app"p\n\x0eHistoryRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x19\n\x05limit\x18\x02 \x01(\rH\x00R\x05limit\x88\x01\x01\x12\x17\n\x04skip\x18\x03 \x01(\rH\x01R\x04skip\x88\x01\x01B\x08\n\x06_limitB\x07\n\x05_skip"`\n\x0fHistoryResponse\x122\n\x05cells\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.chat.CellR\x05cells\x12\x19\n\x08has_more\x18\x02 \x01(\x08R\x07hasMore"2\n\x17GetAPIChatAnswerRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"d\n\x18GetAPIChatAnswerResponse\x12\x16\n\x06answer\x18\x01 \x01(\tR\x06answer\x12\x1a\n\x08complete\x18\x02 \x01(\x08R\x08complete\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error"\xc7\n\n\x0fGetChatsRequest\x12\x1f\n\x0bmember_only\x18\x01 \x01(\x08R\nmemberOnly\x12$\n\x0bsearch_term\x18\x02 \x01(\tH\x00R\nsearchTerm\x88\x01\x01\x12\x19\n\x05limit\x18\x03 \x01(\x05H\x01R\x05limit\x88\x01\x01\x12\x1b\n\x06offset\x18\x04 \x01(\x05H\x02R\x06offset\x88\x01\x01\x12/\n\x11creator_member_id\x18\x05 \x01(\tH\x03R\x0fcreatorMemberId\x88\x01\x01\x12>\n\x07sort_by\x18\x06 \x01(\x0e2%.textql.rpc.public.chat.ChatSortFieldR\x06sortBy\x12P\n\x0esort_direction\x18\x07 \x01(\x0e2).textql.rpc.public.chat.ChatSortDirectionR\rsortDirection\x12,\n\x0fbookmarked_only\x18\x08 \x01(\x08H\x04R\x0ebookmarkedOnly\x88\x01\x01\x12D\n\rcreated_after\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampH\x05R\x0ccreatedAfter\x88\x01\x01\x12F\n\x0ecreated_before\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampH\x06R\rcreatedBefore\x88\x01\x01\x121\n\x12exclude_batch_runs\x18\x0b \x01(\x08H\x07R\x10excludeBatchRuns\x88\x01\x01\x12=\n\x18exclude_unused_playbooks\x18\x0c \x01(\x08H\x08R\x16excludeUnusedPlaybooks\x88\x01\x01\x12?\n\x06source\x18\r \x01(\x0e2".textql.rpc.public.chat.ChatSourceH\tR\x06source\x88\x01\x01\x121\n\x12has_thread_warning\x18\x0f \x01(\x08H\nR\x10hasThreadWarning\x88\x01\x01\x12,\n\x12creator_member_ids\x18\x10 \x03(\tR\x10creatorMemberIds\x12)\n\x0eshared_with_me\x18\x11 \x01(\x08H\x0bR\x0csharedWithMe\x88\x01\x01\x12&\n\x0cexclude_feed\x18\x12 \x01(\x08H\x0cR\x0bexcludeFeed\x88\x01\x01\x12<\n\x07sources\x18\x13 \x03(\x0e2".textql.rpc.public.chat.ChatSourceR\x07sources\x12[\n\x14thread_warning_types\x18\x14 \x03(\x0e2).textql.rpc.public.chat.ThreadWarningTypeR\x12threadWarningTypes\x12\x1b\n\ttopic_ids\x18\x15 \x03(\tR\x08topicIds\x12#\n\rconnector_ids\x18\x16 \x03(\x05R\x0cconnectorIdsB\x0e\n\x0c_search_termB\x08\n\x06_limitB\t\n\x07_offsetB\x14\n\x12_creator_member_idB\x12\n\x10_bookmarked_onlyB\x10\n\x0e_created_afterB\x11\n\x0f_created_beforeB\x15\n\x13_exclude_batch_runsB\x1b\n\x19_exclude_unused_playbooksB\t\n\x07_sourceB\x15\n\x13_has_thread_warningB\x11\n\x0f_shared_with_meB\x0f\n\r_exclude_feedJ\x04\x08\x0e\x10\x0f"g\n\x10GetChatsResponse\x122\n\x05chats\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.chat.ChatR\x05chats\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount")\n\x0eGetChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"\x8a\x01\n\x0bChatMessage\x12\x12\n\x04role\x18\x01 \x01(\tR\x04role\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content\x12>\n\ncreated_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tcreatedAt\x88\x01\x01B\r\n\x0b_created_at"\xc2\x01\n\x0fGetChatResponse\x120\n\x04chat\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.ChatR\x04chat\x12?\n\x08messages\x18\x02 \x03(\x0b2#.textql.rpc.public.chat.ChatMessageR\x08messages\x12<\n\x06assets\x18\x03 \x03(\x0b2$.textql.rpc.public.cells.PreviewCellR\x06assets"\x87\x01\n\x14DuplicateChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12:\n\x17only_if_different_owner\x18\x02 \x01(\x08H\x00R\x14onlyIfDifferentOwner\x88\x01\x01B\x1a\n\x18_only_if_different_owner"I\n\x15DuplicateChatResponse\x120\n\x04chat\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.ChatR\x04chat"\x81\x01\n\x17GetPlaybookChatsRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x19\n\x05limit\x18\x02 \x01(\rH\x00R\x05limit\x88\x01\x01\x12\x17\n\x04skip\x18\x03 \x01(\rH\x01R\x04skip\x88\x01\x01B\x08\n\x06_limitB\x07\n\x05_skip"N\n\x18GetPlaybookChatsResponse\x122\n\x05chats\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.chat.ChatR\x05chats"R\n\x1eGetCompletionParametersRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x17\n\x07cell_id\x18\x02 \x01(\tR\x06cellId"6\n\x1bCheckChatPermissionsRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"\xbf\x02\n\x1cCheckChatPermissionsResponse\x120\n\x14has_write_permission\x18\x01 \x01(\x08R\x12hasWritePermission\x12.\n\x13has_read_permission\x18\x02 \x01(\x08R\x11hasReadPermission\x12*\n\x0cconnector_id\x18\x03 \x01(\x05B\x02\x18\x01H\x00R\x0bconnectorId\x88\x01\x01\x12(\n\x0bontology_id\x18\x04 \x01(\x05B\x02\x18\x01H\x01R\nontologyId\x88\x01\x01\x12#\n\rconnector_ids\x18\x05 \x03(\x05R\x0cconnectorIds\x12!\n\x0contology_ids\x18\x06 \x03(\x05R\x0bontologyIdsB\x0f\n\r_connector_idB\x0e\n\x0c_ontology_id"j\n\x1fGetCompletionParametersResponse\x12G\n\x06params\x18\x01 \x01(\x0b2/.textql.rpc.public.chat.LlmCompletionParametersR\x06params"Y\n#GetCompletionParametersBatchRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x19\n\x08cell_ids\x18\x02 \x03(\tR\x07cellIds"\x97\x02\n$GetCompletionParametersBatchResponse\x12{\n\x11params_by_cell_id\x18\x01 \x03(\x0b2P.textql.rpc.public.chat.GetCompletionParametersBatchResponse.ParamsByCellIdEntryR\x0eparamsByCellId\x1ar\n\x13ParamsByCellIdEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12E\n\x05value\x18\x02 \x01(\x0b2/.textql.rpc.public.chat.LlmCompletionParametersR\x05value:\x028\x01"\xcd\x01\n\x13ChatExecutionTiming\x12\x1b\n\tcell_type\x18\x01 \x01(\tR\x08cellType\x12\x1d\n\ncell_count\x18\x02 \x01(\x03R\tcellCount\x12\x19\n\x08total_ms\x18\x03 \x01(\x03R\x07totalMs\x12!\n\x0cwarehouse_ms\x18\x04 \x01(\x03R\x0bwarehouseMs\x12\x1b\n\tegress_ms\x18\x05 \x01(\x03R\x08egressMs\x12\x1f\n\x0boverhead_ms\x18\x06 \x01(\x03R\noverheadMs"8\n\x1dGetChatExecutionTimingRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"l\n\x13CellExecutionTiming\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12\x19\n\x08total_ms\x18\x02 \x01(\x03R\x07totalMs\x12!\n\x0cwarehouse_ms\x18\x03 \x01(\x03R\x0bwarehouseMs"\x86\x03\n\x1eGetChatExecutionTimingResponse\x12D\n\x07by_type\x18\x01 \x03(\x0b2+.textql.rpc.public.chat.ChatExecutionTimingR\x06byType\x12,\n\x12total_execution_ms\x18\x02 \x01(\x03R\x10totalExecutionMs\x12,\n\x12total_warehouse_ms\x18\x03 \x01(\x03R\x10totalWarehouseMs\x12&\n\x0ftotal_egress_ms\x18\x04 \x01(\x03R\rtotalEgressMs\x12*\n\x11total_overhead_ms\x18\x05 \x01(\x03R\x0ftotalOverheadMs\x12D\n\x07by_cell\x18\x06 \x03(\x0b2+.textql.rpc.public.chat.CellExecutionTimingR\x06byCell\x12(\n\x10sandbox_mount_ms\x18\x07 \x01(\x03R\x0esandboxMountMs"\x80\x01\n\x12CheckHealthRequest\x126\n\x05model\x18\x01 \x01(\x0e2 .textql.rpc.public.chat.LlmModelR\x05model\x12#\n\nfunctional\x18\x02 \x01(\x08H\x00R\nfunctional\x88\x01\x01B\r\n\x0b_functional"\x98\x06\n\x13CheckHealthResponse\x12C\n\nllm_status\x18\x01 \x01(\x0e2$.textql.rpc.public.chat.HealthStatusR\tllmStatus\x12C\n\nweb_status\x18\x02 \x01(\x0e2$.textql.rpc.public.chat.HealthStatusR\twebStatus\x12M\n\x0fontology_status\x18\x03 \x01(\x0e2$.textql.rpc.public.chat.HealthStatusR\x0eontologyStatus\x12I\n\rvalkey_status\x18\x04 \x01(\x0e2$.textql.rpc.public.chat.HealthStatusR\x0cvalkeyStatus\x12K\n\x0etableau_status\x18\x05 \x01(\x0e2$.textql.rpc.public.chat.HealthStatusR\rtableauStatus\x12K\n\x0esandbox_status\x18\x06 \x01(\x0e2$.textql.rpc.public.chat.HealthStatusR\rsandboxStatus\x12[\n\x14llm_execution_status\x18\x07 \x01(\x0e2$.textql.rpc.public.chat.HealthStatusH\x00R\x12llmExecutionStatus\x88\x01\x01\x12c\n\x18sandbox_execution_status\x18\x08 \x01(\x0e2$.textql.rpc.public.chat.HealthStatusH\x01R\x16sandboxExecutionStatus\x88\x01\x01\x12K\n\x0econsole_status\x18\t \x01(\x0e2$.textql.rpc.public.chat.HealthStatusR\rconsoleStatusB\x17\n\x15_llm_execution_statusB\x1b\n\x19_sandbox_execution_status"\xa1\x02\n\x08LlmUsage\x12!\n\x0cinput_tokens\x18\x01 \x01(\x03R\x0binputTokens\x12=\n\x1bcache_creation_input_tokens\x18\x02 \x01(\x03R\x18cacheCreationInputTokens\x125\n\x17cache_read_input_tokens\x18\x03 \x01(\x03R\x14cacheReadInputTokens\x12#\n\routput_tokens\x18\x04 \x01(\x03R\x0coutputTokens\x12\x1d\n\nmodel_name\x18\x05 \x01(\tR\tmodelName\x128\n\ttimestamp\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp"R\n\x12GetLlmUsageRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12#\n\rinclude_costs\x18\x02 \x01(\x08R\x0cincludeCosts"\xf7\x03\n\x13GetLlmUsageResponse\x126\n\x05usage\x18\x01 \x03(\x0b2 .textql.rpc.public.chat.LlmUsageR\x05usage\x12.\n\x13context_window_used\x18\x02 \x01(\x01R\x11contextWindowUsed\x12*\n\x0eestimated_cost\x18\x03 \x01(\x01H\x00R\restimatedCost\x88\x01\x01\x129\n\x16estimated_compute_cost\x18\x04 \x01(\x01H\x01R\x14estimatedComputeCost\x88\x01\x01\x12"\n\nsandbox_id\x18\x05 \x01(\tH\x02R\tsandboxId\x88\x01\x01\x129\n\x16estimated_compute_acus\x18\x06 \x01(\x01H\x03R\x14estimatedComputeAcus\x88\x01\x01\x12C\n\x12estimated_llm_acus\x18\x07 \x01(\x01B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x04R\x10estimatedLlmAcus\x88\x01\x01B\x11\n\x0f_estimated_costB\x19\n\x17_estimated_compute_costB\r\n\x0b_sandbox_idB\x19\n\x17_estimated_compute_acusB\x15\n\x13_estimated_llm_acus"c\n!ApproveContextPromptChangeRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12%\n\x0eedited_context\x18\x02 \x01(\tR\reditedContext"\xe1\x01\n"ApproveContextPromptChangeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12J\n\x06status\x18\x03 \x01(\x0e22.textql.rpc.public.cells.ContextPromptChangeStatusR\x06status\x12\x18\n\x07resumed\x18\x04 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x05 \x01(\tR\x0bresumeError";\n RejectContextPromptChangeRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"\xe0\x01\n!RejectContextPromptChangeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12J\n\x06status\x18\x03 \x01(\x0e22.textql.rpc.public.cells.ContextPromptChangeStatusR\x06status\x12\x18\n\x07resumed\x18\x04 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x05 \x01(\tR\x0bresumeError"b\n SubmitContextPromptChangeRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12%\n\x0eedited_context\x18\x02 \x01(\tR\reditedContext"\xe0\x01\n!SubmitContextPromptChangeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12J\n\x06status\x18\x03 \x01(\x0e22.textql.rpc.public.cells.ContextPromptChangeStatusR\x06status\x12\x18\n\x07resumed\x18\x04 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x05 \x01(\tR\x0bresumeError"t\n\x16SubmitQuestionsRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12A\n\x07answers\x18\x02 \x03(\x0b2\'.textql.rpc.public.cells.QuestionAnswerR\x07answers"\xb2\x01\n\x17SubmitQuestionsResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12@\n\x06status\x18\x02 \x01(\x0e2(.textql.rpc.public.cells.QuestionsStatusR\x06status\x12\x18\n\x07resumed\x18\x03 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x04 \x01(\tR\x0bresumeError"u\n\x17DismissQuestionsRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12A\n\x07answers\x18\x02 \x03(\x0b2\'.textql.rpc.public.cells.QuestionAnswerR\x07answers"v\n\x18DismissQuestionsResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12@\n\x06status\x18\x02 \x01(\x0e2(.textql.rpc.public.cells.QuestionsStatusR\x06status"4\n\x19SubmitFormApprovalRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"\xa3\x01\n\x1aSubmitFormApprovalResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07outcome\x18\x02 \x01(\tR\x07outcome\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error\x12\x18\n\x07resumed\x18\x04 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x05 \x01(\tR\x0bresumeError"4\n\x19RejectFormApprovalRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"s\n\x1aRejectFormApprovalResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07resumed\x18\x02 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x03 \x01(\tR\x0bresumeError"5\n\x1aDismissFormApprovalRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"7\n\x1bDismissFormApprovalResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"L\n\x18GetCellAuthStatusRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId"\x83\x01\n\x19GetCellAuthStatusResponse\x12C\n\tlifecycle\x18\x01 \x01(\x0e2%.textql.rpc.public.chat.CellLifecycleR\tlifecycle\x12!\n\x0ccan_continue\x18\x02 \x01(\x08R\x0bcanContinue"h\n"GrantSandboxOAuthPermissionRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12)\n\x11api_access_key_id\x18\x02 \x01(\tR\x0eapiAccessKeyId"%\n#GrantSandboxOAuthPermissionResponse"5\n\x1aResumeChatAfterAuthRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"\x8b\x03\n\x1bResumeChatAfterAuthResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12@\n\x08sql_cell\x18\x02 \x01(\x0b2 .textql.rpc.public.cells.SQLCellH\x00R\x07sqlCell\x88\x01\x01\x12I\n\x0bpython_cell\x18\x03 \x01(\x0b2#.textql.rpc.public.cells.PythonCellH\x01R\npythonCell\x88\x01\x01\x12V\n\x10powerbi_dax_cell\x18\x04 \x01(\x0b2\'.textql.rpc.public.cells.PowerBIDAXCellH\x02R\x0epowerbiDaxCell\x88\x01\x01\x12\x18\n\x07resumed\x18\x05 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x06 \x01(\tR\x0bresumeErrorB\x0b\n\t_sql_cellB\x0e\n\x0c_python_cellB\x13\n\x11_powerbi_dax_cell"7\n\x1cApproveOntologyChangeRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"\x90\x01\n\x1dApproveOntologyChangeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x18\n\x07resumed\x18\x03 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x04 \x01(\tR\x0bresumeError"6\n\x1bRejectOntologyChangeRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"\x8f\x01\n\x1cRejectOntologyChangeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x18\n\x07resumed\x18\x03 \x01(\x08R\x07resumed\x12!\n\x0cresume_error\x18\x04 \x01(\tR\x0bresumeError"\x1c\n\x1aGetMembersWithChatsRequest"[\n\x1bGetMembersWithChatsResponse\x12<\n\x07members\x18\x01 \x03(\x0b2".textql.rpc.identity.MemberPreviewR\x07members"O\n\x1bCheckStreamlitHealthRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x17\n\x07cell_id\x18\x02 \x01(\tR\x06cellId"\x83\x02\n\x1cCheckStreamlitHealthResponse\x12E\n\x06status\x18\x01 \x01(\x0e2-.textql.rpc.public.chat.StreamlitHealthStatusR\x06status\x120\n\x04cell\x18\x02 \x01(\x0b2\x1c.textql.rpc.public.chat.CellR\x04cell\x12 \n\tembed_url\x18\x03 \x01(\tH\x00R\x08embedUrl\x88\x01\x01\x12(\n\rstreamlit_url\x18\x04 \x01(\tH\x01R\x0cstreamlitUrl\x88\x01\x01B\x0c\n\n_embed_urlB\x10\n\x0e_streamlit_url"w\n\x17UpdateFormStatusRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId\x12C\n\x06status\x18\x02 \x01(\x0e2+.textql.rpc.public.cells.EditableFormStatusR\x06status"U\n\x18UpdateFormStatusResponse\x129\n\x04form\x18\x01 \x01(\x0b2%.textql.rpc.public.cells.EditableFormR\x04form"c\n\x17UpdateFormFieldsRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId\x12/\n\x06fields\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06fields"U\n\x18UpdateFormFieldsResponse\x129\n\x04form\x18\x01 \x01(\x0b2%.textql.rpc.public.cells.EditableFormR\x04form"\x80\x01\n UpdateFormValidationErrorRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId\x12.\n\x10validation_error\x18\x02 \x01(\tH\x00R\x0fvalidationError\x88\x01\x01B\x13\n\x11_validation_error"^\n!UpdateFormValidationErrorResponse\x129\n\x04form\x18\x01 \x01(\x0b2%.textql.rpc.public.cells.EditableFormR\x04form")\n\x0eGetCellRequest\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId"C\n\x0fGetCellResponse\x120\n\x04cell\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.chat.CellR\x04cell"\xef\x01\n\x1aSetFormSubmitResultRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId\x12&\n\x0csubmit_error\x18\x02 \x01(\tH\x00R\x0bsubmitError\x88\x01\x01\x12(\n\rsubmit_result\x18\x03 \x01(\tH\x01R\x0csubmitResult\x88\x01\x01\x12C\n\x06status\x18\x04 \x01(\x0e2+.textql.rpc.public.cells.EditableFormStatusR\x06statusB\x0f\n\r_submit_errorB\x10\n\x0e_submit_result"X\n\x1bSetFormSubmitResultResponse\x129\n\x04form\x18\x01 \x01(\x0b2%.textql.rpc.public.cells.EditableFormR\x04form"\xe4\x01\n\x13QueryOneShotRequest\x12\x1a\n\x08question\x18\x01 \x01(\tR\x08question\x12@\n\x08paradigm\x18\x02 \x01(\x0b2$.textql.rpc.public.paradigm.ParadigmR\x08paradigm\x12;\n\x05model\x18\x03 \x01(\x0e2 .textql.rpc.public.chat.LlmModelH\x00R\x05model\x88\x01\x01\x12\x1c\n\x07chat_id\x18\x04 \x01(\tH\x01R\x06chatId\x88\x01\x01B\x08\n\x06_modelB\n\n\x08_chat_id"{\n\x14QueryOneShotResponse\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x16\n\x06answer\x18\x02 \x01(\tR\x06answer\x122\n\x05cells\x18\x03 \x03(\x0b2\x1c.textql.rpc.public.chat.CellR\x05cells".\n\x13BookmarkChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"0\n\x15UnbookmarkChatRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"\xe6\x01\n\x0fArtifactSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x128\n\x04type\x18\x03 \x01(\x0e2$.textql.rpc.public.chat.ArtifactTypeR\x04type\x129\n\ncreated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12(\n\rthumbnail_url\x18\x05 \x01(\tH\x00R\x0cthumbnailUrl\x88\x01\x01B\x10\n\x0e_thumbnail_url"9\n\x1eGetChatArtifactsSummaryRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"h\n\x1fGetChatArtifactsSummaryResponse\x12E\n\tartifacts\x18\x01 \x03(\x0b2\'.textql.rpc.public.chat.ArtifactSummaryR\tartifacts"N\n\x12GetArtifactRequest\x12\x1f\n\x0bartifact_id\x18\x01 \x01(\tR\nartifactId\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId"\xe3\x02\n\x13GetArtifactResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12>\n\x04file\x18\x03 \x01(\x0b2(.textql.rpc.public.chat.FileArtifactDataH\x00R\x04file\x12M\n\tstreamlit\x18\x04 \x01(\x0b2-.textql.rpc.public.chat.StreamlitArtifactDataH\x00R\tstreamlit\x12M\n\tdashboard\x18\x05 \x01(\x0b2-.textql.rpc.public.chat.DashboardArtifactDataH\x00R\tdashboard\x12>\n\x04form\x18\x06 \x01(\x0b2(.textql.rpc.public.chat.FormArtifactDataH\x00R\x04formB\n\n\x08artifact"^\n\x10FileArtifactData\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x128\n\x04type\x18\x02 \x01(\x0e2$.textql.rpc.public.chat.ArtifactTypeR\x04type"4\n\x15StreamlitArtifactData\x12\x1b\n\tembed_url\x18\x01 \x01(\tR\x08embedUrl":\n\x15DashboardArtifactData\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"+\n\x10FormArtifactData\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId".\n\x13MarkChatReadRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"\x16\n\x14MarkChatReadResponse"0\n\x15MarkChatUnreadRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"\x18\n\x16MarkChatUnreadResponse"\xc5\x03\n\nEgressCall\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x12\x16\n\x06scheme\x18\x03 \x01(\tR\x06scheme\x12\x12\n\x04host\x18\x04 \x01(\tR\x04host\x12\x12\n\x04path\x18\x05 \x01(\tR\x04path\x12\x1f\n\x0bstatus_code\x18\x06 \x01(\x05R\nstatusCode\x12\x18\n\x07outcome\x18\x07 \x01(\tR\x07outcome\x12\x1f\n\x0bduration_ms\x18\x08 \x01(\x03R\ndurationMs\x12#\n\rrequest_bytes\x18\t \x01(\x03R\x0crequestBytes\x12%\n\x0eresponse_bytes\x18\n \x01(\x03R\rresponseBytes\x12)\n\x11api_access_key_id\x18\x0b \x01(\tR\x0eapiAccessKeyId\x12;\n\x0boccurred_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampR\noccurredAt\x12\x17\n\x07cell_id\x18\r \x01(\tR\x06cellId\x12&\n\x0einterpretation\x18\x0e \x01(\tR\x0einterpretation"\x8d\x02\n\rEgressSummary\x12\x1f\n\x0btotal_calls\x18\x01 \x01(\x05R\ntotalCalls\x12_\n\x0eoutcome_counts\x18\x02 \x03(\x0b28.textql.rpc.public.chat.EgressSummary.OutcomeCountsEntryR\routcomeCounts\x128\n\x05calls\x18\x03 \x03(\x0b2".textql.rpc.public.chat.EgressCallR\x05calls\x1a@\n\x12OutcomeCountsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01*\xbb\x01\n\rCellLifecycle\x12\x15\n\x11LIFECYCLE_UNKNOWN\x10\x00\x12\x16\n\x12LIFECYCLE_CREATING\x10\x01\x12\x15\n\x11LIFECYCLE_CREATED\x10\x02\x12\x17\n\x13LIFECYCLE_EXECUTING\x10\x03\x12\x16\n\x12LIFECYCLE_EXECUTED\x10\x04\x12\x14\n\x10LIFECYCLE_HALTED\x10\x05\x12\x1d\n\x19LIFECYCLE_HANDOFF_PENDING\x10\x06*\x96\x02\n\nChatSource\x12\x17\n\x13CHAT_SOURCE_UNKNOWN\x10\x00\x12\x16\n\x12CHAT_SOURCE_THREAD\x10\x01\x12\x18\n\x14CHAT_SOURCE_PLAYBOOK\x10\x02\x12\x1c\n\x14CHAT_SOURCE_TEMPLATE\x10\x03\x1a\x02\x08\x01\x12\x15\n\x11CHAT_SOURCE_SLACK\x10\x04\x12\x19\n\x11CHAT_SOURCE_AGENT\x10\x05\x1a\x02\x08\x01\x12\x14\n\x10CHAT_SOURCE_FEED\x10\x06\x12\x15\n\x11CHAT_SOURCE_TEAMS\x10\x07\x12\x13\n\x0fCHAT_SOURCE_SMS\x10\x08\x12\x13\n\x0fCHAT_SOURCE_MCP\x10\t\x12\x16\n\x12CHAT_SOURCE_SYSTEM\x10\n*\xb4\x01\n\x0bMethodology\x12\x17\n\x13METHODOLOGY_UNKNOWN\x10\x00\x12\x18\n\x14METHODOLOGY_ADAPTIVE\x10\x01\x12\x1c\n\x18METHODOLOGY_PRESCRIPTIVE\x10\x02\x12\x18\n\x14METHODOLOGY_THOROUGH\x10\x03\x12\x17\n\x13METHODOLOGY_CAREFUL\x10\x04\x12!\n\x1dMETHODOLOGY_ONTOLOGY_BUILDING\x10\x05*i\n\nCellRating\x12\x1b\n\x17CELL_RATING_UNSPECIFIED\x10\x00\x12\x14\n\x10CELL_RATING_NONE\x10\x01\x12\x12\n\x0eCELL_RATING_UP\x10\x02\x12\x14\n\x10CELL_RATING_DOWN\x10\x03*\x86\x01\n\rChatSortField\x12\x1b\n\x17CHAT_SORT_FIELD_UNKNOWN\x10\x00\x12\x18\n\x14CHAT_SORT_FIELD_NAME\x10\x01\x12\x1e\n\x1aCHAT_SORT_FIELD_CREATED_AT\x10\x02\x12\x1e\n\x1aCHAT_SORT_FIELD_UPDATED_AT\x10\x03*o\n\x11ChatSortDirection\x12\x1f\n\x1bCHAT_SORT_DIRECTION_UNKNOWN\x10\x00\x12\x1b\n\x17CHAT_SORT_DIRECTION_ASC\x10\x01\x12\x1c\n\x18CHAT_SORT_DIRECTION_DESC\x10\x02*o\n\x0cHealthStatus\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x00\x12\x12\n\x0eSTATUS_HEALTHY\x10\x01\x12\x10\n\x0cSTATUS_MINOR\x10\x02\x12\x10\n\x0cSTATUS_MAJOR\x10\x03\x12\x13\n\x0fSTATUS_CRITICAL\x10\x04*\xd5\x01\n\x15StreamlitHealthStatus\x12\'\n#STREAMLIT_HEALTH_STATUS_NOT_RUNNING\x10\x00\x12#\n\x1fSTREAMLIT_HEALTH_STATUS_HEALTHY\x10\x01\x12$\n STREAMLIT_HEALTH_STATUS_STARTING\x10\x02\x12"\n\x1eSTREAMLIT_HEALTH_STATUS_FAILED\x10\x03\x12$\n STREAMLIT_HEALTH_STATUS_UPDATING\x10\x04*\xda\x02\n\x0cArtifactType\x12\x19\n\x15ARTIFACT_TYPE_UNKNOWN\x10\x00\x12\x17\n\x13ARTIFACT_TYPE_IMAGE\x10\x01\x12\x15\n\x11ARTIFACT_TYPE_CSV\x10\x02\x12\x15\n\x11ARTIFACT_TYPE_PDF\x10\x03\x12\x16\n\x12ARTIFACT_TYPE_HTML\x10\x04\x12\x16\n\x12ARTIFACT_TYPE_TEXT\x10\x05\x12\x1b\n\x17ARTIFACT_TYPE_STREAMLIT\x10\x06\x12\x1b\n\x17ARTIFACT_TYPE_DASHBOARD\x10\x07\x12\x16\n\x12ARTIFACT_TYPE_FORM\x10\x08\x12\x18\n\x14ARTIFACT_TYPE_REPORT\x10\t\x12\x17\n\x13ARTIFACT_TYPE_AGENT\x10\n\x12\x1c\n\x18ARTIFACT_TYPE_HTML_CHART\x10\x0b\x12\x15\n\x11ARTIFACT_TYPE_APP\x10\x0c2\xc22\n\x0bChatService\x12[\n\nCreateChat\x12%.textql.rpc.public.chat.CreateRequest\x1a&.textql.rpc.public.chat.CreateResponse\x12c\n\nUpdateChat\x12).textql.rpc.public.chat.UpdateChatRequest\x1a*.textql.rpc.public.chat.UpdateChatResponse\x12O\n\nDeleteChat\x12).textql.rpc.public.chat.DeleteChatRequest\x1a\x16.google.protobuf.Empty\x12l\n\rDuplicateChat\x12,.textql.rpc.public.chat.DuplicateChatRequest\x1a-.textql.rpc.public.chat.DuplicateChatResponse\x12_\n\tWatchChat\x12(.textql.rpc.public.chat.WatchChatRequest\x1a&.textql.rpc.public.chat.WatchChatEvent0\x01\x12o\n\x0ePollChatEvents\x12-.textql.rpc.public.chat.PollChatEventsRequest\x1a..textql.rpc.public.chat.PollChatEventsResponse\x12T\n\nStreamChat\x12&.textql.rpc.public.chat.RunChatRequest\x1a\x1c.textql.rpc.public.chat.Cell0\x01\x12i\n\x0cCancelStream\x12+.textql.rpc.public.chat.CancelStreamRequest\x1a,.textql.rpc.public.chat.CancelStreamResponse\x12Z\n\x07RunChat\x12&.textql.rpc.public.chat.RunChatRequest\x1a\'.textql.rpc.public.chat.RunChatResponse\x12X\n\x0bSendMessage\x12#.textql.rpc.public.chat.SendRequest\x1a$.textql.rpc.public.chat.SendResponse\x12f\n\x0bCheckHealth\x12*.textql.rpc.public.chat.CheckHealthRequest\x1a+.textql.rpc.public.chat.CheckHealthResponse\x12S\n\x0cRateChatCell\x12+.textql.rpc.public.chat.RateChatCellRequest\x1a\x16.google.protobuf.Empty\x12l\n\rAttachDataset\x12,.textql.rpc.public.chat.AttachDatasetRequest\x1a-.textql.rpc.public.chat.AttachDatasetResponse\x12r\n\x0fAttachDashboard\x12..textql.rpc.public.chat.AttachDashboardRequest\x1a/.textql.rpc.public.chat.AttachDashboardResponse\x12`\n\tAttachApp\x12(.textql.rpc.public.chat.AttachAppRequest\x1a).textql.rpc.public.chat.AttachAppResponse\x12f\n\x0eGetChatHistory\x12&.textql.rpc.public.chat.HistoryRequest\x1a\'.textql.rpc.public.chat.HistoryResponse"\x03\x90\x02\x01\x12z\n\x10GetAPIChatAnswer\x12/.textql.rpc.public.chat.GetAPIChatAnswerRequest\x1a0.textql.rpc.public.chat.GetAPIChatAnswerResponse"\x03\x90\x02\x01\x12b\n\x08GetChats\x12\'.textql.rpc.public.chat.GetChatsRequest\x1a(.textql.rpc.public.chat.GetChatsResponse"\x03\x90\x02\x01\x12_\n\x07GetChat\x12&.textql.rpc.public.chat.GetChatRequest\x1a\'.textql.rpc.public.chat.GetChatResponse"\x03\x90\x02\x01\x12z\n\x10GetPlaybookChats\x12/.textql.rpc.public.chat.GetPlaybookChatsRequest\x1a0.textql.rpc.public.chat.GetPlaybookChatsResponse"\x03\x90\x02\x01\x12\x83\x01\n\x13GetMembersWithChats\x122.textql.rpc.public.chat.GetMembersWithChatsRequest\x1a3.textql.rpc.public.chat.GetMembersWithChatsResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x17GetCompletionParameters\x126.textql.rpc.public.chat.GetCompletionParametersRequest\x1a7.textql.rpc.public.chat.GetCompletionParametersResponse"\x03\x90\x02\x01\x12\x9e\x01\n\x1cGetCompletionParametersBatch\x12;.textql.rpc.public.chat.GetCompletionParametersBatchRequest\x1a<.textql.rpc.public.chat.GetCompletionParametersBatchResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x16GetChatExecutionTiming\x125.textql.rpc.public.chat.GetChatExecutionTimingRequest\x1a6.textql.rpc.public.chat.GetChatExecutionTimingResponse"\x03\x90\x02\x01\x12\x86\x01\n\x14CheckChatPermissions\x123.textql.rpc.public.chat.CheckChatPermissionsRequest\x1a4.textql.rpc.public.chat.CheckChatPermissionsResponse"\x03\x90\x02\x01\x12k\n\x0bGetLlmUsage\x12*.textql.rpc.public.chat.GetLlmUsageRequest\x1a+.textql.rpc.public.chat.GetLlmUsageResponse"\x03\x90\x02\x01\x12\x93\x01\n\x1aApproveContextPromptChange\x129.textql.rpc.public.chat.ApproveContextPromptChangeRequest\x1a:.textql.rpc.public.chat.ApproveContextPromptChangeResponse\x12\x90\x01\n\x19RejectContextPromptChange\x128.textql.rpc.public.chat.RejectContextPromptChangeRequest\x1a9.textql.rpc.public.chat.RejectContextPromptChangeResponse\x12\x90\x01\n\x19SubmitContextPromptChange\x128.textql.rpc.public.chat.SubmitContextPromptChangeRequest\x1a9.textql.rpc.public.chat.SubmitContextPromptChangeResponse\x12r\n\x0fSubmitQuestions\x12..textql.rpc.public.chat.SubmitQuestionsRequest\x1a/.textql.rpc.public.chat.SubmitQuestionsResponse\x12u\n\x10DismissQuestions\x12/.textql.rpc.public.chat.DismissQuestionsRequest\x1a0.textql.rpc.public.chat.DismissQuestionsResponse\x12\x8d\x01\n\x12SubmitFormApproval\x121.textql.rpc.public.chat.SubmitFormApprovalRequest\x1a2.textql.rpc.public.chat.SubmitFormApprovalResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x8d\x01\n\x12RejectFormApproval\x121.textql.rpc.public.chat.RejectFormApprovalRequest\x1a2.textql.rpc.public.chat.RejectFormApprovalResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x90\x01\n\x13DismissFormApproval\x122.textql.rpc.public.chat.DismissFormApprovalRequest\x1a3.textql.rpc.public.chat.DismissFormApprovalResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x90\x01\n\x13ResumeChatAfterAuth\x122.textql.rpc.public.chat.ResumeChatAfterAuthRequest\x1a3.textql.rpc.public.chat.ResumeChatAfterAuthResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\xa8\x01\n\x1bGrantSandboxOAuthPermission\x12:.textql.rpc.public.chat.GrantSandboxOAuthPermissionRequest\x1a;.textql.rpc.public.chat.GrantSandboxOAuthPermissionResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x8d\x01\n\x11GetCellAuthStatus\x120.textql.rpc.public.chat.GetCellAuthStatusRequest\x1a1.textql.rpc.public.chat.GetCellAuthStatusResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x84\x01\n\x15ApproveOntologyChange\x124.textql.rpc.public.chat.ApproveOntologyChangeRequest\x1a5.textql.rpc.public.chat.ApproveOntologyChangeResponse\x12\x81\x01\n\x14RejectOntologyChange\x123.textql.rpc.public.chat.RejectOntologyChangeRequest\x1a4.textql.rpc.public.chat.RejectOntologyChangeResponse\x12i\n\x0cQueryOneShot\x12+.textql.rpc.public.chat.QueryOneShotRequest\x1a,.textql.rpc.public.chat.QueryOneShotResponse\x12\x81\x01\n\x14CheckStreamlitHealth\x123.textql.rpc.public.chat.CheckStreamlitHealthRequest\x1a4.textql.rpc.public.chat.CheckStreamlitHealthResponse\x12\x87\x01\n\x10UpdateFormStatus\x12/.textql.rpc.public.chat.UpdateFormStatusRequest\x1a0.textql.rpc.public.chat.UpdateFormStatusResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x87\x01\n\x10UpdateFormFields\x12/.textql.rpc.public.chat.UpdateFormFieldsRequest\x1a0.textql.rpc.public.chat.UpdateFormFieldsResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\xa2\x01\n\x19UpdateFormValidationError\x128.textql.rpc.public.chat.UpdateFormValidationErrorRequest\x1a9.textql.rpc.public.chat.UpdateFormValidationErrorResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x90\x01\n\x13SetFormSubmitResult\x122.textql.rpc.public.chat.SetFormSubmitResultRequest\x1a3.textql.rpc.public.chat.SetFormSubmitResultResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12o\n\x07GetCell\x12&.textql.rpc.public.chat.GetCellRequest\x1a\'.textql.rpc.public.chat.GetCellResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12S\n\x0cBookmarkChat\x12+.textql.rpc.public.chat.BookmarkChatRequest\x1a\x16.google.protobuf.Empty\x12W\n\x0eUnbookmarkChat\x12-.textql.rpc.public.chat.UnbookmarkChatRequest\x1a\x16.google.protobuf.Empty\x12{\n\x0cMarkChatRead\x12+.textql.rpc.public.chat.MarkChatReadRequest\x1a,.textql.rpc.public.chat.MarkChatReadResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x81\x01\n\x0eMarkChatUnread\x12-.textql.rpc.public.chat.MarkChatUnreadRequest\x1a..textql.rpc.public.chat.MarkChatUnreadResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x8f\x01\n\x17GetChatArtifactsSummary\x126.textql.rpc.public.chat.GetChatArtifactsSummaryRequest\x1a7.textql.rpc.public.chat.GetChatArtifactsSummaryResponse"\x03\x90\x02\x01\x12k\n\x0bGetArtifact\x12*.textql.rpc.public.chat.GetArtifactRequest\x1a+.textql.rpc.public.chat.GetArtifactResponse"\x03\x90\x02\x01\x12x\n\x11AttachAgentToChat\x120.textql.rpc.public.chat.AttachAgentToChatRequest\x1a1.textql.rpc.public.chat.AttachAgentToChatResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.chat_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHATSOURCE'].values_by_name['CHAT_SOURCE_TEMPLATE']._loaded_options = None + _globals['_CHATSOURCE'].values_by_name['CHAT_SOURCE_TEMPLATE']._serialized_options = b'\x08\x01' + _globals['_CHATSOURCE'].values_by_name['CHAT_SOURCE_AGENT']._loaded_options = None + _globals['_CHATSOURCE'].values_by_name['CHAT_SOURCE_AGENT']._serialized_options = b'\x08\x01' + _globals['_CELL'].fields_by_name['status_cell']._loaded_options = None + _globals['_CELL'].fields_by_name['status_cell']._serialized_options = b'\x18\x01' + _globals['_CHECKCHATPERMISSIONSRESPONSE'].fields_by_name['connector_id']._loaded_options = None + _globals['_CHECKCHATPERMISSIONSRESPONSE'].fields_by_name['connector_id']._serialized_options = b'\x18\x01' + _globals['_CHECKCHATPERMISSIONSRESPONSE'].fields_by_name['ontology_id']._loaded_options = None + _globals['_CHECKCHATPERMISSIONSRESPONSE'].fields_by_name['ontology_id']._serialized_options = b'\x18\x01' + _globals['_GETCOMPLETIONPARAMETERSBATCHRESPONSE_PARAMSBYCELLIDENTRY']._loaded_options = None + _globals['_GETCOMPLETIONPARAMETERSBATCHRESPONSE_PARAMSBYCELLIDENTRY']._serialized_options = b'8\x01' + _globals['_GETLLMUSAGERESPONSE'].fields_by_name['estimated_llm_acus']._loaded_options = None + _globals['_GETLLMUSAGERESPONSE'].fields_by_name['estimated_llm_acus']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_EGRESSSUMMARY_OUTCOMECOUNTSENTRY']._loaded_options = None + _globals['_EGRESSSUMMARY_OUTCOMECOUNTSENTRY']._serialized_options = b'8\x01' + _globals['_CHATSERVICE'].methods_by_name['GetChatHistory']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetChatHistory']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetAPIChatAnswer']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetAPIChatAnswer']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetChats']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetChats']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetChat']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetChat']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetPlaybookChats']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetPlaybookChats']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetMembersWithChats']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetMembersWithChats']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetCompletionParameters']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetCompletionParameters']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetCompletionParametersBatch']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetCompletionParametersBatch']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetChatExecutionTiming']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetChatExecutionTiming']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['CheckChatPermissions']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['CheckChatPermissions']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetLlmUsage']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetLlmUsage']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['SubmitFormApproval']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['SubmitFormApproval']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['RejectFormApproval']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['RejectFormApproval']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['DismissFormApproval']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['DismissFormApproval']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['ResumeChatAfterAuth']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['ResumeChatAfterAuth']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['GrantSandboxOAuthPermission']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GrantSandboxOAuthPermission']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['GetCellAuthStatus']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetCellAuthStatus']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['UpdateFormStatus']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['UpdateFormStatus']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['UpdateFormFields']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['UpdateFormFields']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['UpdateFormValidationError']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['UpdateFormValidationError']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['SetFormSubmitResult']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['SetFormSubmitResult']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['GetCell']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetCell']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['MarkChatRead']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['MarkChatRead']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['MarkChatUnread']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['MarkChatUnread']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_CHATSERVICE'].methods_by_name['GetChatArtifactsSummary']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetChatArtifactsSummary']._serialized_options = b'\x90\x02\x01' + _globals['_CHATSERVICE'].methods_by_name['GetArtifact']._loaded_options = None + _globals['_CHATSERVICE'].methods_by_name['GetArtifact']._serialized_options = b'\x90\x02\x01' + _globals['_CELLLIFECYCLE']._serialized_start = 25702 + _globals['_CELLLIFECYCLE']._serialized_end = 25889 + _globals['_CHATSOURCE']._serialized_start = 25892 + _globals['_CHATSOURCE']._serialized_end = 26170 + _globals['_METHODOLOGY']._serialized_start = 26173 + _globals['_METHODOLOGY']._serialized_end = 26353 + _globals['_CELLRATING']._serialized_start = 26355 + _globals['_CELLRATING']._serialized_end = 26460 + _globals['_CHATSORTFIELD']._serialized_start = 26463 + _globals['_CHATSORTFIELD']._serialized_end = 26597 + _globals['_CHATSORTDIRECTION']._serialized_start = 26599 + _globals['_CHATSORTDIRECTION']._serialized_end = 26710 + _globals['_HEALTHSTATUS']._serialized_start = 26712 + _globals['_HEALTHSTATUS']._serialized_end = 26823 + _globals['_STREAMLITHEALTHSTATUS']._serialized_start = 26826 + _globals['_STREAMLITHEALTHSTATUS']._serialized_end = 27039 + _globals['_ARTIFACTTYPE']._serialized_start = 27042 + _globals['_ARTIFACTTYPE']._serialized_end = 27388 + _globals['_ATTACHAGENTTOCHATREQUEST']._serialized_start = 344 + _globals['_ATTACHAGENTTOCHATREQUEST']._serialized_end = 422 + _globals['_ATTACHAGENTTOCHATRESPONSE']._serialized_start = 424 + _globals['_ATTACHAGENTTOCHATRESPONSE']._serialized_end = 501 + _globals['_CHAT']._serialized_start = 504 + _globals['_CHAT']._serialized_end = 2076 + _globals['_CELL']._serialized_start = 2079 + _globals['_CELL']._serialized_end = 7579 + _globals['_LLMCOMPLETIONPARAMETERS']._serialized_start = 7582 + _globals['_LLMCOMPLETIONPARAMETERS']._serialized_end = 8281 + _globals['_CREATEREQUEST']._serialized_start = 8284 + _globals['_CREATEREQUEST']._serialized_end = 8883 + _globals['_CREATERESPONSE']._serialized_start = 8885 + _globals['_CREATERESPONSE']._serialized_end = 8951 + _globals['_UPDATECHATREQUEST']._serialized_start = 8954 + _globals['_UPDATECHATREQUEST']._serialized_end = 9347 + _globals['_UPDATECHATRESPONSE']._serialized_start = 9349 + _globals['_UPDATECHATRESPONSE']._serialized_end = 9419 + _globals['_DELETECHATREQUEST']._serialized_start = 9421 + _globals['_DELETECHATREQUEST']._serialized_end = 9465 + _globals['_RUNCHATREQUEST']._serialized_start = 9468 + _globals['_RUNCHATREQUEST']._serialized_end = 9819 + _globals['_RUNCHATRESPONSE']._serialized_start = 9821 + _globals['_RUNCHATRESPONSE']._serialized_end = 9890 + _globals['_CANCELSTREAMREQUEST']._serialized_start = 9892 + _globals['_CANCELSTREAMREQUEST']._serialized_end = 9938 + _globals['_CANCELSTREAMRESPONSE']._serialized_start = 9940 + _globals['_CANCELSTREAMRESPONSE']._serialized_end = 9986 + _globals['_RATECHATCELLREQUEST']._serialized_start = 9989 + _globals['_RATECHATCELLREQUEST']._serialized_end = 10160 + _globals['_SENDREQUEST']._serialized_start = 10163 + _globals['_SENDREQUEST']._serialized_end = 10355 + _globals['_SENDRESPONSE']._serialized_start = 10357 + _globals['_SENDRESPONSE']._serialized_end = 10396 + _globals['_WATCHCHATREQUEST']._serialized_start = 10399 + _globals['_WATCHCHATREQUEST']._serialized_end = 10590 + _globals['_WATCHCHATEVENT']._serialized_start = 10593 + _globals['_WATCHCHATEVENT']._serialized_end = 11174 + _globals['_WATCHOPENEDEVENT']._serialized_start = 11176 + _globals['_WATCHOPENEDEVENT']._serialized_end = 11194 + _globals['_WATCHHEARTBEATEVENT']._serialized_start = 11196 + _globals['_WATCHHEARTBEATEVENT']._serialized_end = 11217 + _globals['_WATCHRUNSTARTEDEVENT']._serialized_start = 11219 + _globals['_WATCHRUNSTARTEDEVENT']._serialized_end = 11241 + _globals['_WATCHRUNCOMPLETEEVENT']._serialized_start = 11243 + _globals['_WATCHRUNCOMPLETEEVENT']._serialized_end = 11302 + _globals['_WATCHRUNERROREVENT']._serialized_start = 11304 + _globals['_WATCHRUNERROREVENT']._serialized_end = 11366 + _globals['_POLLCHATEVENTSREQUEST']._serialized_start = 11369 + _globals['_POLLCHATEVENTSREQUEST']._serialized_end = 11516 + _globals['_POLLCHATEVENTSRESPONSE']._serialized_start = 11519 + _globals['_POLLCHATEVENTSRESPONSE']._serialized_end = 11689 + _globals['_WATCHHANDOFFPENDINGEVENT']._serialized_start = 11691 + _globals['_WATCHHANDOFFPENDINGEVENT']._serialized_end = 11756 + _globals['_ATTACHDATASETREQUEST']._serialized_start = 11758 + _globals['_ATTACHDATASETREQUEST']._serialized_end = 11836 + _globals['_ATTACHDATASETRESPONSE']._serialized_start = 11839 + _globals['_ATTACHDATASETRESPONSE']._serialized_end = 11974 + _globals['_ATTACHDASHBOARDREQUEST']._serialized_start = 11976 + _globals['_ATTACHDASHBOARDREQUEST']._serialized_end = 12060 + _globals['_ATTACHDASHBOARDRESPONSE']._serialized_start = 12063 + _globals['_ATTACHDASHBOARDRESPONSE']._serialized_end = 12208 + _globals['_ATTACHAPPREQUEST']._serialized_start = 12210 + _globals['_ATTACHAPPREQUEST']._serialized_end = 12276 + _globals['_ATTACHAPPRESPONSE']._serialized_start = 12278 + _globals['_ATTACHAPPRESPONSE']._serialized_end = 12393 + _globals['_HISTORYREQUEST']._serialized_start = 12395 + _globals['_HISTORYREQUEST']._serialized_end = 12507 + _globals['_HISTORYRESPONSE']._serialized_start = 12509 + _globals['_HISTORYRESPONSE']._serialized_end = 12605 + _globals['_GETAPICHATANSWERREQUEST']._serialized_start = 12607 + _globals['_GETAPICHATANSWERREQUEST']._serialized_end = 12657 + _globals['_GETAPICHATANSWERRESPONSE']._serialized_start = 12659 + _globals['_GETAPICHATANSWERRESPONSE']._serialized_end = 12759 + _globals['_GETCHATSREQUEST']._serialized_start = 12762 + _globals['_GETCHATSREQUEST']._serialized_end = 14113 + _globals['_GETCHATSRESPONSE']._serialized_start = 14115 + _globals['_GETCHATSRESPONSE']._serialized_end = 14218 + _globals['_GETCHATREQUEST']._serialized_start = 14220 + _globals['_GETCHATREQUEST']._serialized_end = 14261 + _globals['_CHATMESSAGE']._serialized_start = 14264 + _globals['_CHATMESSAGE']._serialized_end = 14402 + _globals['_GETCHATRESPONSE']._serialized_start = 14405 + _globals['_GETCHATRESPONSE']._serialized_end = 14599 + _globals['_DUPLICATECHATREQUEST']._serialized_start = 14602 + _globals['_DUPLICATECHATREQUEST']._serialized_end = 14737 + _globals['_DUPLICATECHATRESPONSE']._serialized_start = 14739 + _globals['_DUPLICATECHATRESPONSE']._serialized_end = 14812 + _globals['_GETPLAYBOOKCHATSREQUEST']._serialized_start = 14815 + _globals['_GETPLAYBOOKCHATSREQUEST']._serialized_end = 14944 + _globals['_GETPLAYBOOKCHATSRESPONSE']._serialized_start = 14946 + _globals['_GETPLAYBOOKCHATSRESPONSE']._serialized_end = 15024 + _globals['_GETCOMPLETIONPARAMETERSREQUEST']._serialized_start = 15026 + _globals['_GETCOMPLETIONPARAMETERSREQUEST']._serialized_end = 15108 + _globals['_CHECKCHATPERMISSIONSREQUEST']._serialized_start = 15110 + _globals['_CHECKCHATPERMISSIONSREQUEST']._serialized_end = 15164 + _globals['_CHECKCHATPERMISSIONSRESPONSE']._serialized_start = 15167 + _globals['_CHECKCHATPERMISSIONSRESPONSE']._serialized_end = 15486 + _globals['_GETCOMPLETIONPARAMETERSRESPONSE']._serialized_start = 15488 + _globals['_GETCOMPLETIONPARAMETERSRESPONSE']._serialized_end = 15594 + _globals['_GETCOMPLETIONPARAMETERSBATCHREQUEST']._serialized_start = 15596 + _globals['_GETCOMPLETIONPARAMETERSBATCHREQUEST']._serialized_end = 15685 + _globals['_GETCOMPLETIONPARAMETERSBATCHRESPONSE']._serialized_start = 15688 + _globals['_GETCOMPLETIONPARAMETERSBATCHRESPONSE']._serialized_end = 15967 + _globals['_GETCOMPLETIONPARAMETERSBATCHRESPONSE_PARAMSBYCELLIDENTRY']._serialized_start = 15853 + _globals['_GETCOMPLETIONPARAMETERSBATCHRESPONSE_PARAMSBYCELLIDENTRY']._serialized_end = 15967 + _globals['_CHATEXECUTIONTIMING']._serialized_start = 15970 + _globals['_CHATEXECUTIONTIMING']._serialized_end = 16175 + _globals['_GETCHATEXECUTIONTIMINGREQUEST']._serialized_start = 16177 + _globals['_GETCHATEXECUTIONTIMINGREQUEST']._serialized_end = 16233 + _globals['_CELLEXECUTIONTIMING']._serialized_start = 16235 + _globals['_CELLEXECUTIONTIMING']._serialized_end = 16343 + _globals['_GETCHATEXECUTIONTIMINGRESPONSE']._serialized_start = 16346 + _globals['_GETCHATEXECUTIONTIMINGRESPONSE']._serialized_end = 16736 + _globals['_CHECKHEALTHREQUEST']._serialized_start = 16739 + _globals['_CHECKHEALTHREQUEST']._serialized_end = 16867 + _globals['_CHECKHEALTHRESPONSE']._serialized_start = 16870 + _globals['_CHECKHEALTHRESPONSE']._serialized_end = 17662 + _globals['_LLMUSAGE']._serialized_start = 17665 + _globals['_LLMUSAGE']._serialized_end = 17954 + _globals['_GETLLMUSAGEREQUEST']._serialized_start = 17956 + _globals['_GETLLMUSAGEREQUEST']._serialized_end = 18038 + _globals['_GETLLMUSAGERESPONSE']._serialized_start = 18041 + _globals['_GETLLMUSAGERESPONSE']._serialized_end = 18544 + _globals['_APPROVECONTEXTPROMPTCHANGEREQUEST']._serialized_start = 18546 + _globals['_APPROVECONTEXTPROMPTCHANGEREQUEST']._serialized_end = 18645 + _globals['_APPROVECONTEXTPROMPTCHANGERESPONSE']._serialized_start = 18648 + _globals['_APPROVECONTEXTPROMPTCHANGERESPONSE']._serialized_end = 18873 + _globals['_REJECTCONTEXTPROMPTCHANGEREQUEST']._serialized_start = 18875 + _globals['_REJECTCONTEXTPROMPTCHANGEREQUEST']._serialized_end = 18934 + _globals['_REJECTCONTEXTPROMPTCHANGERESPONSE']._serialized_start = 18937 + _globals['_REJECTCONTEXTPROMPTCHANGERESPONSE']._serialized_end = 19161 + _globals['_SUBMITCONTEXTPROMPTCHANGEREQUEST']._serialized_start = 19163 + _globals['_SUBMITCONTEXTPROMPTCHANGEREQUEST']._serialized_end = 19261 + _globals['_SUBMITCONTEXTPROMPTCHANGERESPONSE']._serialized_start = 19264 + _globals['_SUBMITCONTEXTPROMPTCHANGERESPONSE']._serialized_end = 19488 + _globals['_SUBMITQUESTIONSREQUEST']._serialized_start = 19490 + _globals['_SUBMITQUESTIONSREQUEST']._serialized_end = 19606 + _globals['_SUBMITQUESTIONSRESPONSE']._serialized_start = 19609 + _globals['_SUBMITQUESTIONSRESPONSE']._serialized_end = 19787 + _globals['_DISMISSQUESTIONSREQUEST']._serialized_start = 19789 + _globals['_DISMISSQUESTIONSREQUEST']._serialized_end = 19906 + _globals['_DISMISSQUESTIONSRESPONSE']._serialized_start = 19908 + _globals['_DISMISSQUESTIONSRESPONSE']._serialized_end = 20026 + _globals['_SUBMITFORMAPPROVALREQUEST']._serialized_start = 20028 + _globals['_SUBMITFORMAPPROVALREQUEST']._serialized_end = 20080 + _globals['_SUBMITFORMAPPROVALRESPONSE']._serialized_start = 20083 + _globals['_SUBMITFORMAPPROVALRESPONSE']._serialized_end = 20246 + _globals['_REJECTFORMAPPROVALREQUEST']._serialized_start = 20248 + _globals['_REJECTFORMAPPROVALREQUEST']._serialized_end = 20300 + _globals['_REJECTFORMAPPROVALRESPONSE']._serialized_start = 20302 + _globals['_REJECTFORMAPPROVALRESPONSE']._serialized_end = 20417 + _globals['_DISMISSFORMAPPROVALREQUEST']._serialized_start = 20419 + _globals['_DISMISSFORMAPPROVALREQUEST']._serialized_end = 20472 + _globals['_DISMISSFORMAPPROVALRESPONSE']._serialized_start = 20474 + _globals['_DISMISSFORMAPPROVALRESPONSE']._serialized_end = 20529 + _globals['_GETCELLAUTHSTATUSREQUEST']._serialized_start = 20531 + _globals['_GETCELLAUTHSTATUSREQUEST']._serialized_end = 20607 + _globals['_GETCELLAUTHSTATUSRESPONSE']._serialized_start = 20610 + _globals['_GETCELLAUTHSTATUSRESPONSE']._serialized_end = 20741 + _globals['_GRANTSANDBOXOAUTHPERMISSIONREQUEST']._serialized_start = 20743 + _globals['_GRANTSANDBOXOAUTHPERMISSIONREQUEST']._serialized_end = 20847 + _globals['_GRANTSANDBOXOAUTHPERMISSIONRESPONSE']._serialized_start = 20849 + _globals['_GRANTSANDBOXOAUTHPERMISSIONRESPONSE']._serialized_end = 20886 + _globals['_RESUMECHATAFTERAUTHREQUEST']._serialized_start = 20888 + _globals['_RESUMECHATAFTERAUTHREQUEST']._serialized_end = 20941 + _globals['_RESUMECHATAFTERAUTHRESPONSE']._serialized_start = 20944 + _globals['_RESUMECHATAFTERAUTHRESPONSE']._serialized_end = 21339 + _globals['_APPROVEONTOLOGYCHANGEREQUEST']._serialized_start = 21341 + _globals['_APPROVEONTOLOGYCHANGEREQUEST']._serialized_end = 21396 + _globals['_APPROVEONTOLOGYCHANGERESPONSE']._serialized_start = 21399 + _globals['_APPROVEONTOLOGYCHANGERESPONSE']._serialized_end = 21543 + _globals['_REJECTONTOLOGYCHANGEREQUEST']._serialized_start = 21545 + _globals['_REJECTONTOLOGYCHANGEREQUEST']._serialized_end = 21599 + _globals['_REJECTONTOLOGYCHANGERESPONSE']._serialized_start = 21602 + _globals['_REJECTONTOLOGYCHANGERESPONSE']._serialized_end = 21745 + _globals['_GETMEMBERSWITHCHATSREQUEST']._serialized_start = 21747 + _globals['_GETMEMBERSWITHCHATSREQUEST']._serialized_end = 21775 + _globals['_GETMEMBERSWITHCHATSRESPONSE']._serialized_start = 21777 + _globals['_GETMEMBERSWITHCHATSRESPONSE']._serialized_end = 21868 + _globals['_CHECKSTREAMLITHEALTHREQUEST']._serialized_start = 21870 + _globals['_CHECKSTREAMLITHEALTHREQUEST']._serialized_end = 21949 + _globals['_CHECKSTREAMLITHEALTHRESPONSE']._serialized_start = 21952 + _globals['_CHECKSTREAMLITHEALTHRESPONSE']._serialized_end = 22211 + _globals['_UPDATEFORMSTATUSREQUEST']._serialized_start = 22213 + _globals['_UPDATEFORMSTATUSREQUEST']._serialized_end = 22332 + _globals['_UPDATEFORMSTATUSRESPONSE']._serialized_start = 22334 + _globals['_UPDATEFORMSTATUSRESPONSE']._serialized_end = 22419 + _globals['_UPDATEFORMFIELDSREQUEST']._serialized_start = 22421 + _globals['_UPDATEFORMFIELDSREQUEST']._serialized_end = 22520 + _globals['_UPDATEFORMFIELDSRESPONSE']._serialized_start = 22522 + _globals['_UPDATEFORMFIELDSRESPONSE']._serialized_end = 22607 + _globals['_UPDATEFORMVALIDATIONERRORREQUEST']._serialized_start = 22610 + _globals['_UPDATEFORMVALIDATIONERRORREQUEST']._serialized_end = 22738 + _globals['_UPDATEFORMVALIDATIONERRORRESPONSE']._serialized_start = 22740 + _globals['_UPDATEFORMVALIDATIONERRORRESPONSE']._serialized_end = 22834 + _globals['_GETCELLREQUEST']._serialized_start = 22836 + _globals['_GETCELLREQUEST']._serialized_end = 22877 + _globals['_GETCELLRESPONSE']._serialized_start = 22879 + _globals['_GETCELLRESPONSE']._serialized_end = 22946 + _globals['_SETFORMSUBMITRESULTREQUEST']._serialized_start = 22949 + _globals['_SETFORMSUBMITRESULTREQUEST']._serialized_end = 23188 + _globals['_SETFORMSUBMITRESULTRESPONSE']._serialized_start = 23190 + _globals['_SETFORMSUBMITRESULTRESPONSE']._serialized_end = 23278 + _globals['_QUERYONESHOTREQUEST']._serialized_start = 23281 + _globals['_QUERYONESHOTREQUEST']._serialized_end = 23509 + _globals['_QUERYONESHOTRESPONSE']._serialized_start = 23511 + _globals['_QUERYONESHOTRESPONSE']._serialized_end = 23634 + _globals['_BOOKMARKCHATREQUEST']._serialized_start = 23636 + _globals['_BOOKMARKCHATREQUEST']._serialized_end = 23682 + _globals['_UNBOOKMARKCHATREQUEST']._serialized_start = 23684 + _globals['_UNBOOKMARKCHATREQUEST']._serialized_end = 23732 + _globals['_ARTIFACTSUMMARY']._serialized_start = 23735 + _globals['_ARTIFACTSUMMARY']._serialized_end = 23965 + _globals['_GETCHATARTIFACTSSUMMARYREQUEST']._serialized_start = 23967 + _globals['_GETCHATARTIFACTSSUMMARYREQUEST']._serialized_end = 24024 + _globals['_GETCHATARTIFACTSSUMMARYRESPONSE']._serialized_start = 24026 + _globals['_GETCHATARTIFACTSSUMMARYRESPONSE']._serialized_end = 24130 + _globals['_GETARTIFACTREQUEST']._serialized_start = 24132 + _globals['_GETARTIFACTREQUEST']._serialized_end = 24210 + _globals['_GETARTIFACTRESPONSE']._serialized_start = 24213 + _globals['_GETARTIFACTRESPONSE']._serialized_end = 24568 + _globals['_FILEARTIFACTDATA']._serialized_start = 24570 + _globals['_FILEARTIFACTDATA']._serialized_end = 24664 + _globals['_STREAMLITARTIFACTDATA']._serialized_start = 24666 + _globals['_STREAMLITARTIFACTDATA']._serialized_end = 24718 + _globals['_DASHBOARDARTIFACTDATA']._serialized_start = 24720 + _globals['_DASHBOARDARTIFACTDATA']._serialized_end = 24778 + _globals['_FORMARTIFACTDATA']._serialized_start = 24780 + _globals['_FORMARTIFACTDATA']._serialized_end = 24823 + _globals['_MARKCHATREADREQUEST']._serialized_start = 24825 + _globals['_MARKCHATREADREQUEST']._serialized_end = 24871 + _globals['_MARKCHATREADRESPONSE']._serialized_start = 24873 + _globals['_MARKCHATREADRESPONSE']._serialized_end = 24895 + _globals['_MARKCHATUNREADREQUEST']._serialized_start = 24897 + _globals['_MARKCHATUNREADREQUEST']._serialized_end = 24945 + _globals['_MARKCHATUNREADRESPONSE']._serialized_start = 24947 + _globals['_MARKCHATUNREADRESPONSE']._serialized_end = 24971 + _globals['_EGRESSCALL']._serialized_start = 24974 + _globals['_EGRESSCALL']._serialized_end = 25427 + _globals['_EGRESSSUMMARY']._serialized_start = 25430 + _globals['_EGRESSSUMMARY']._serialized_end = 25699 + _globals['_EGRESSSUMMARY_OUTCOMECOUNTSENTRY']._serialized_start = 25635 + _globals['_EGRESSSUMMARY_OUTCOMECOUNTSENTRY']._serialized_end = 25699 + _globals['_CHATSERVICE']._serialized_start = 27391 + _globals['_CHATSERVICE']._serialized_end = 33857 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/chat_pb2.pyi b/src/textql_sdk/_connect/public/chat_pb2.pyi new file mode 100644 index 0000000..d208475 --- /dev/null +++ b/src/textql_sdk/_connect/public/chat_pb2.pyi @@ -0,0 +1,1753 @@ +import datetime +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import struct_pb2 as _struct_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import apps_pb2 as _apps_pb2 +from public import cells_pb2 as _cells_pb2 +from public import dashboard_pb2 as _dashboard_pb2 +from public import dataset_pb2 as _dataset_pb2 +from public import identity_pb2 as _identity_pb2 +from public import llm_model_pb2 as _llm_model_pb2 +from public import paradigm_pb2 as _paradigm_pb2 +from public import warnings_pb2 as _warnings_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class CellLifecycle(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + LIFECYCLE_UNKNOWN: _ClassVar[CellLifecycle] + LIFECYCLE_CREATING: _ClassVar[CellLifecycle] + LIFECYCLE_CREATED: _ClassVar[CellLifecycle] + LIFECYCLE_EXECUTING: _ClassVar[CellLifecycle] + LIFECYCLE_EXECUTED: _ClassVar[CellLifecycle] + LIFECYCLE_HALTED: _ClassVar[CellLifecycle] + LIFECYCLE_HANDOFF_PENDING: _ClassVar[CellLifecycle] + +class ChatSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CHAT_SOURCE_UNKNOWN: _ClassVar[ChatSource] + CHAT_SOURCE_THREAD: _ClassVar[ChatSource] + CHAT_SOURCE_PLAYBOOK: _ClassVar[ChatSource] + CHAT_SOURCE_TEMPLATE: _ClassVar[ChatSource] + CHAT_SOURCE_SLACK: _ClassVar[ChatSource] + CHAT_SOURCE_AGENT: _ClassVar[ChatSource] + CHAT_SOURCE_FEED: _ClassVar[ChatSource] + CHAT_SOURCE_TEAMS: _ClassVar[ChatSource] + CHAT_SOURCE_SMS: _ClassVar[ChatSource] + CHAT_SOURCE_MCP: _ClassVar[ChatSource] + CHAT_SOURCE_SYSTEM: _ClassVar[ChatSource] + +class Methodology(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + METHODOLOGY_UNKNOWN: _ClassVar[Methodology] + METHODOLOGY_ADAPTIVE: _ClassVar[Methodology] + METHODOLOGY_PRESCRIPTIVE: _ClassVar[Methodology] + METHODOLOGY_THOROUGH: _ClassVar[Methodology] + METHODOLOGY_CAREFUL: _ClassVar[Methodology] + METHODOLOGY_ONTOLOGY_BUILDING: _ClassVar[Methodology] + +class CellRating(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CELL_RATING_UNSPECIFIED: _ClassVar[CellRating] + CELL_RATING_NONE: _ClassVar[CellRating] + CELL_RATING_UP: _ClassVar[CellRating] + CELL_RATING_DOWN: _ClassVar[CellRating] + +class ChatSortField(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CHAT_SORT_FIELD_UNKNOWN: _ClassVar[ChatSortField] + CHAT_SORT_FIELD_NAME: _ClassVar[ChatSortField] + CHAT_SORT_FIELD_CREATED_AT: _ClassVar[ChatSortField] + CHAT_SORT_FIELD_UPDATED_AT: _ClassVar[ChatSortField] + +class ChatSortDirection(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CHAT_SORT_DIRECTION_UNKNOWN: _ClassVar[ChatSortDirection] + CHAT_SORT_DIRECTION_ASC: _ClassVar[ChatSortDirection] + CHAT_SORT_DIRECTION_DESC: _ClassVar[ChatSortDirection] + +class HealthStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + STATUS_UNKNOWN: _ClassVar[HealthStatus] + STATUS_HEALTHY: _ClassVar[HealthStatus] + STATUS_MINOR: _ClassVar[HealthStatus] + STATUS_MAJOR: _ClassVar[HealthStatus] + STATUS_CRITICAL: _ClassVar[HealthStatus] + +class StreamlitHealthStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + STREAMLIT_HEALTH_STATUS_NOT_RUNNING: _ClassVar[StreamlitHealthStatus] + STREAMLIT_HEALTH_STATUS_HEALTHY: _ClassVar[StreamlitHealthStatus] + STREAMLIT_HEALTH_STATUS_STARTING: _ClassVar[StreamlitHealthStatus] + STREAMLIT_HEALTH_STATUS_FAILED: _ClassVar[StreamlitHealthStatus] + STREAMLIT_HEALTH_STATUS_UPDATING: _ClassVar[StreamlitHealthStatus] + +class ArtifactType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ARTIFACT_TYPE_UNKNOWN: _ClassVar[ArtifactType] + ARTIFACT_TYPE_IMAGE: _ClassVar[ArtifactType] + ARTIFACT_TYPE_CSV: _ClassVar[ArtifactType] + ARTIFACT_TYPE_PDF: _ClassVar[ArtifactType] + ARTIFACT_TYPE_HTML: _ClassVar[ArtifactType] + ARTIFACT_TYPE_TEXT: _ClassVar[ArtifactType] + ARTIFACT_TYPE_STREAMLIT: _ClassVar[ArtifactType] + ARTIFACT_TYPE_DASHBOARD: _ClassVar[ArtifactType] + ARTIFACT_TYPE_FORM: _ClassVar[ArtifactType] + ARTIFACT_TYPE_REPORT: _ClassVar[ArtifactType] + ARTIFACT_TYPE_AGENT: _ClassVar[ArtifactType] + ARTIFACT_TYPE_HTML_CHART: _ClassVar[ArtifactType] + ARTIFACT_TYPE_APP: _ClassVar[ArtifactType] +LIFECYCLE_UNKNOWN: CellLifecycle +LIFECYCLE_CREATING: CellLifecycle +LIFECYCLE_CREATED: CellLifecycle +LIFECYCLE_EXECUTING: CellLifecycle +LIFECYCLE_EXECUTED: CellLifecycle +LIFECYCLE_HALTED: CellLifecycle +LIFECYCLE_HANDOFF_PENDING: CellLifecycle +CHAT_SOURCE_UNKNOWN: ChatSource +CHAT_SOURCE_THREAD: ChatSource +CHAT_SOURCE_PLAYBOOK: ChatSource +CHAT_SOURCE_TEMPLATE: ChatSource +CHAT_SOURCE_SLACK: ChatSource +CHAT_SOURCE_AGENT: ChatSource +CHAT_SOURCE_FEED: ChatSource +CHAT_SOURCE_TEAMS: ChatSource +CHAT_SOURCE_SMS: ChatSource +CHAT_SOURCE_MCP: ChatSource +CHAT_SOURCE_SYSTEM: ChatSource +METHODOLOGY_UNKNOWN: Methodology +METHODOLOGY_ADAPTIVE: Methodology +METHODOLOGY_PRESCRIPTIVE: Methodology +METHODOLOGY_THOROUGH: Methodology +METHODOLOGY_CAREFUL: Methodology +METHODOLOGY_ONTOLOGY_BUILDING: Methodology +CELL_RATING_UNSPECIFIED: CellRating +CELL_RATING_NONE: CellRating +CELL_RATING_UP: CellRating +CELL_RATING_DOWN: CellRating +CHAT_SORT_FIELD_UNKNOWN: ChatSortField +CHAT_SORT_FIELD_NAME: ChatSortField +CHAT_SORT_FIELD_CREATED_AT: ChatSortField +CHAT_SORT_FIELD_UPDATED_AT: ChatSortField +CHAT_SORT_DIRECTION_UNKNOWN: ChatSortDirection +CHAT_SORT_DIRECTION_ASC: ChatSortDirection +CHAT_SORT_DIRECTION_DESC: ChatSortDirection +STATUS_UNKNOWN: HealthStatus +STATUS_HEALTHY: HealthStatus +STATUS_MINOR: HealthStatus +STATUS_MAJOR: HealthStatus +STATUS_CRITICAL: HealthStatus +STREAMLIT_HEALTH_STATUS_NOT_RUNNING: StreamlitHealthStatus +STREAMLIT_HEALTH_STATUS_HEALTHY: StreamlitHealthStatus +STREAMLIT_HEALTH_STATUS_STARTING: StreamlitHealthStatus +STREAMLIT_HEALTH_STATUS_FAILED: StreamlitHealthStatus +STREAMLIT_HEALTH_STATUS_UPDATING: StreamlitHealthStatus +ARTIFACT_TYPE_UNKNOWN: ArtifactType +ARTIFACT_TYPE_IMAGE: ArtifactType +ARTIFACT_TYPE_CSV: ArtifactType +ARTIFACT_TYPE_PDF: ArtifactType +ARTIFACT_TYPE_HTML: ArtifactType +ARTIFACT_TYPE_TEXT: ArtifactType +ARTIFACT_TYPE_STREAMLIT: ArtifactType +ARTIFACT_TYPE_DASHBOARD: ArtifactType +ARTIFACT_TYPE_FORM: ArtifactType +ARTIFACT_TYPE_REPORT: ArtifactType +ARTIFACT_TYPE_AGENT: ArtifactType +ARTIFACT_TYPE_HTML_CHART: ArtifactType +ARTIFACT_TYPE_APP: ArtifactType + +class AttachAgentToChatRequest(_message.Message): + __slots__ = ('chat_id', 'agent_id') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + agent_id: str + + def __init__(self, chat_id: _Optional[str]=..., agent_id: _Optional[str]=...) -> None: + ... + +class AttachAgentToChatResponse(_message.Message): + __slots__ = ('chat',) + CHAT_FIELD_NUMBER: _ClassVar[int] + chat: Chat + + def __init__(self, chat: _Optional[_Union[Chat, _Mapping]]=...) -> None: + ... + +class Chat(_message.Message): + __slots__ = ('id', 'paradigm', 'model', 'timestamp', 'org_id', 'member_id', 'summary', 'playbook_id', 'research', 'creator_email', 'api_key_client_id', 'updated_at', 'is_bookmarked', 'preferred_provider', 'template_data_id', 'batch_run_id', 'preview', 'dashboard_mode', 'source', 'methodology', 'is_running', 'is_unread', 'vllm_model_id', 'fast_mode', 'agent_id', 'agent_name', 'agent_profile_image_url', 'max_thinking') + ID_FIELD_NUMBER: _ClassVar[int] + PARADIGM_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + RESEARCH_FIELD_NUMBER: _ClassVar[int] + CREATOR_EMAIL_FIELD_NUMBER: _ClassVar[int] + API_KEY_CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + IS_BOOKMARKED_FIELD_NUMBER: _ClassVar[int] + PREFERRED_PROVIDER_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_DATA_ID_FIELD_NUMBER: _ClassVar[int] + BATCH_RUN_ID_FIELD_NUMBER: _ClassVar[int] + PREVIEW_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_MODE_FIELD_NUMBER: _ClassVar[int] + SOURCE_FIELD_NUMBER: _ClassVar[int] + METHODOLOGY_FIELD_NUMBER: _ClassVar[int] + IS_RUNNING_FIELD_NUMBER: _ClassVar[int] + IS_UNREAD_FIELD_NUMBER: _ClassVar[int] + VLLM_MODEL_ID_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_FIELD_NUMBER: _ClassVar[int] + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + AGENT_NAME_FIELD_NUMBER: _ClassVar[int] + AGENT_PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + MAX_THINKING_FIELD_NUMBER: _ClassVar[int] + id: str + paradigm: _paradigm_pb2.Paradigm + model: _llm_model_pb2.LlmModel + timestamp: _timestamp_pb2.Timestamp + org_id: str + member_id: str + summary: str + playbook_id: str + research: bool + creator_email: str + api_key_client_id: str + updated_at: _timestamp_pb2.Timestamp + is_bookmarked: bool + preferred_provider: str + template_data_id: str + batch_run_id: str + preview: str + dashboard_mode: bool + source: ChatSource + methodology: Methodology + is_running: bool + is_unread: bool + vllm_model_id: str + fast_mode: bool + agent_id: str + agent_name: str + agent_profile_image_url: str + max_thinking: bool + + def __init__(self, id: _Optional[str]=..., paradigm: _Optional[_Union[_paradigm_pb2.Paradigm, _Mapping]]=..., model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., org_id: _Optional[str]=..., member_id: _Optional[str]=..., summary: _Optional[str]=..., playbook_id: _Optional[str]=..., research: bool=..., creator_email: _Optional[str]=..., api_key_client_id: _Optional[str]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., is_bookmarked: bool=..., preferred_provider: _Optional[str]=..., template_data_id: _Optional[str]=..., batch_run_id: _Optional[str]=..., preview: _Optional[str]=..., dashboard_mode: bool=..., source: _Optional[_Union[ChatSource, str]]=..., methodology: _Optional[_Union[Methodology, str]]=..., is_running: bool=..., is_unread: bool=..., vllm_model_id: _Optional[str]=..., fast_mode: bool=..., agent_id: _Optional[str]=..., agent_name: _Optional[str]=..., agent_profile_image_url: _Optional[str]=..., max_thinking: bool=...) -> None: + ... + +class Cell(_message.Message): + __slots__ = ('id', 'timestamp', 'complete', 'generated', 'lifecycle', 'tool_call_id', 'exec_error', 'sender_member_id', 'md_cell', 'py_cell', 'sql_cell', 'ans_cell', 'document_cell', 'ws_cell', 'report_cell', 'tabular_file_cell', 'status_cell', 'metrics_cell', 'summary_cell', 'tableau_cell', 'tableau_sql_cell', 'context_prompt_editor_cell', 'ontology_editor_cell', 'image_cell', 'text_cell', 'mcp_tool_cell', 'preview_cell', 'playbook_editor_cell', 'streamlit_cell', 'dashboard_cell', 'google_drive_content_cell', 'google_drive_search_cell', 'powerbi_cell', 'powerbi_dax_cell', 'form_editor_cell', 'tableau_search_fields_cell', 'report_history_cell', 'microsoft365_email_search_cell', 'microsoft365_email_content_cell', 'microsoft365_calendar_cell', 'feed_explorer_cell', 'bash_cell', 'javascript_cell', 'feed_post_cell', 'feed_comment_cell', 'feed_engage_cell', 'ontology_search_metrics_cell', 'ontology_open_object_cell', 'compaction_cell', 'gmail_email_search_cell', 'gmail_email_content_cell', 'list_dashboards_cell', 'list_users_cell', 'google_calendar_search_cell', 'feed_create_cell', 'ontology_query_cell', 'email_cell', 'patch_cell', 'linkedin_search_cell', 'use_skill_cell', 'form_cell', 'connectors_cell', 'questions_cell', 'app_cell', 'list_apps_cell', 'thinking_cell', 'tool_summary', 'duration_ms') + ID_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + COMPLETE_FIELD_NUMBER: _ClassVar[int] + GENERATED_FIELD_NUMBER: _ClassVar[int] + LIFECYCLE_FIELD_NUMBER: _ClassVar[int] + TOOL_CALL_ID_FIELD_NUMBER: _ClassVar[int] + EXEC_ERROR_FIELD_NUMBER: _ClassVar[int] + SENDER_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + MD_CELL_FIELD_NUMBER: _ClassVar[int] + PY_CELL_FIELD_NUMBER: _ClassVar[int] + SQL_CELL_FIELD_NUMBER: _ClassVar[int] + ANS_CELL_FIELD_NUMBER: _ClassVar[int] + DOCUMENT_CELL_FIELD_NUMBER: _ClassVar[int] + WS_CELL_FIELD_NUMBER: _ClassVar[int] + REPORT_CELL_FIELD_NUMBER: _ClassVar[int] + TABULAR_FILE_CELL_FIELD_NUMBER: _ClassVar[int] + STATUS_CELL_FIELD_NUMBER: _ClassVar[int] + METRICS_CELL_FIELD_NUMBER: _ClassVar[int] + SUMMARY_CELL_FIELD_NUMBER: _ClassVar[int] + TABLEAU_CELL_FIELD_NUMBER: _ClassVar[int] + TABLEAU_SQL_CELL_FIELD_NUMBER: _ClassVar[int] + CONTEXT_PROMPT_EDITOR_CELL_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_EDITOR_CELL_FIELD_NUMBER: _ClassVar[int] + IMAGE_CELL_FIELD_NUMBER: _ClassVar[int] + TEXT_CELL_FIELD_NUMBER: _ClassVar[int] + MCP_TOOL_CELL_FIELD_NUMBER: _ClassVar[int] + PREVIEW_CELL_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_EDITOR_CELL_FIELD_NUMBER: _ClassVar[int] + STREAMLIT_CELL_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_CELL_FIELD_NUMBER: _ClassVar[int] + GOOGLE_DRIVE_CONTENT_CELL_FIELD_NUMBER: _ClassVar[int] + GOOGLE_DRIVE_SEARCH_CELL_FIELD_NUMBER: _ClassVar[int] + POWERBI_CELL_FIELD_NUMBER: _ClassVar[int] + POWERBI_DAX_CELL_FIELD_NUMBER: _ClassVar[int] + FORM_EDITOR_CELL_FIELD_NUMBER: _ClassVar[int] + TABLEAU_SEARCH_FIELDS_CELL_FIELD_NUMBER: _ClassVar[int] + REPORT_HISTORY_CELL_FIELD_NUMBER: _ClassVar[int] + MICROSOFT365_EMAIL_SEARCH_CELL_FIELD_NUMBER: _ClassVar[int] + MICROSOFT365_EMAIL_CONTENT_CELL_FIELD_NUMBER: _ClassVar[int] + MICROSOFT365_CALENDAR_CELL_FIELD_NUMBER: _ClassVar[int] + FEED_EXPLORER_CELL_FIELD_NUMBER: _ClassVar[int] + BASH_CELL_FIELD_NUMBER: _ClassVar[int] + JAVASCRIPT_CELL_FIELD_NUMBER: _ClassVar[int] + FEED_POST_CELL_FIELD_NUMBER: _ClassVar[int] + FEED_COMMENT_CELL_FIELD_NUMBER: _ClassVar[int] + FEED_ENGAGE_CELL_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_SEARCH_METRICS_CELL_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_OPEN_OBJECT_CELL_FIELD_NUMBER: _ClassVar[int] + COMPACTION_CELL_FIELD_NUMBER: _ClassVar[int] + GMAIL_EMAIL_SEARCH_CELL_FIELD_NUMBER: _ClassVar[int] + GMAIL_EMAIL_CONTENT_CELL_FIELD_NUMBER: _ClassVar[int] + LIST_DASHBOARDS_CELL_FIELD_NUMBER: _ClassVar[int] + LIST_USERS_CELL_FIELD_NUMBER: _ClassVar[int] + GOOGLE_CALENDAR_SEARCH_CELL_FIELD_NUMBER: _ClassVar[int] + FEED_CREATE_CELL_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_QUERY_CELL_FIELD_NUMBER: _ClassVar[int] + EMAIL_CELL_FIELD_NUMBER: _ClassVar[int] + PATCH_CELL_FIELD_NUMBER: _ClassVar[int] + LINKEDIN_SEARCH_CELL_FIELD_NUMBER: _ClassVar[int] + USE_SKILL_CELL_FIELD_NUMBER: _ClassVar[int] + FORM_CELL_FIELD_NUMBER: _ClassVar[int] + CONNECTORS_CELL_FIELD_NUMBER: _ClassVar[int] + QUESTIONS_CELL_FIELD_NUMBER: _ClassVar[int] + APP_CELL_FIELD_NUMBER: _ClassVar[int] + LIST_APPS_CELL_FIELD_NUMBER: _ClassVar[int] + THINKING_CELL_FIELD_NUMBER: _ClassVar[int] + TOOL_SUMMARY_FIELD_NUMBER: _ClassVar[int] + DURATION_MS_FIELD_NUMBER: _ClassVar[int] + id: str + timestamp: _timestamp_pb2.Timestamp + complete: bool + generated: bool + lifecycle: CellLifecycle + tool_call_id: str + exec_error: str + sender_member_id: str + md_cell: _cells_pb2.MarkdownCell + py_cell: _cells_pb2.PythonCell + sql_cell: _cells_pb2.SQLCell + ans_cell: _cells_pb2.AnswerCell + document_cell: _cells_pb2.DocumentCell + ws_cell: _cells_pb2.WebSearchCell + report_cell: _cells_pb2.ReportCell + tabular_file_cell: _cells_pb2.TabularFileCell + status_cell: _cells_pb2.StatusCell + metrics_cell: _cells_pb2.MetricsCell + summary_cell: _cells_pb2.SummaryCell + tableau_cell: _cells_pb2.TableauCell + tableau_sql_cell: _cells_pb2.TableauSQLCell + context_prompt_editor_cell: _cells_pb2.ContextPromptEditorCell + ontology_editor_cell: _cells_pb2.OntologyEditorCell + image_cell: _cells_pb2.ImageCell + text_cell: _cells_pb2.TextCell + mcp_tool_cell: _cells_pb2.MCPToolCell + preview_cell: _cells_pb2.PreviewCell + playbook_editor_cell: _cells_pb2.PlaybookEditorCell + streamlit_cell: _cells_pb2.StreamlitCell + dashboard_cell: _cells_pb2.DashboardCell + google_drive_content_cell: _cells_pb2.GoogleDriveContentCell + google_drive_search_cell: _cells_pb2.GoogleDriveSearchCell + powerbi_cell: _cells_pb2.PowerBICell + powerbi_dax_cell: _cells_pb2.PowerBIDAXCell + form_editor_cell: _cells_pb2.FormEditorCell + tableau_search_fields_cell: _cells_pb2.TableauSearchFieldsCell + report_history_cell: _cells_pb2.ReportHistoryCell + microsoft365_email_search_cell: _cells_pb2.Microsoft365EmailSearchCell + microsoft365_email_content_cell: _cells_pb2.Microsoft365EmailContentCell + microsoft365_calendar_cell: _cells_pb2.Microsoft365CalendarCell + feed_explorer_cell: _cells_pb2.FeedExplorerCell + bash_cell: _cells_pb2.BashCell + javascript_cell: _cells_pb2.JavaScriptCell + feed_post_cell: _cells_pb2.FeedPostCell + feed_comment_cell: _cells_pb2.FeedCommentCell + feed_engage_cell: _cells_pb2.FeedEngageCell + ontology_search_metrics_cell: _cells_pb2.OntologySearchMetricsCell + ontology_open_object_cell: _cells_pb2.OntologyOpenObjectCell + compaction_cell: _cells_pb2.CompactionCell + gmail_email_search_cell: _cells_pb2.GmailEmailSearchCell + gmail_email_content_cell: _cells_pb2.GmailEmailContentCell + list_dashboards_cell: _cells_pb2.ListDashboardsCell + list_users_cell: _cells_pb2.ListUsersCell + google_calendar_search_cell: _cells_pb2.GoogleCalendarSearchCell + feed_create_cell: _cells_pb2.FeedCreateCell + ontology_query_cell: _cells_pb2.OntologyQueryCell + email_cell: _cells_pb2.EmailCell + patch_cell: _cells_pb2.PatchCell + linkedin_search_cell: _cells_pb2.LinkedinSearchCell + use_skill_cell: _cells_pb2.UseSkillCell + form_cell: _cells_pb2.FormCell + connectors_cell: _cells_pb2.ConnectorsCell + questions_cell: _cells_pb2.QuestionsCell + app_cell: _cells_pb2.AppCell + list_apps_cell: _cells_pb2.ListAppsCell + thinking_cell: _cells_pb2.ThinkingCell + tool_summary: str + duration_ms: int + + def __init__(self, id: _Optional[str]=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., complete: bool=..., generated: bool=..., lifecycle: _Optional[_Union[CellLifecycle, str]]=..., tool_call_id: _Optional[str]=..., exec_error: _Optional[str]=..., sender_member_id: _Optional[str]=..., md_cell: _Optional[_Union[_cells_pb2.MarkdownCell, _Mapping]]=..., py_cell: _Optional[_Union[_cells_pb2.PythonCell, _Mapping]]=..., sql_cell: _Optional[_Union[_cells_pb2.SQLCell, _Mapping]]=..., ans_cell: _Optional[_Union[_cells_pb2.AnswerCell, _Mapping]]=..., document_cell: _Optional[_Union[_cells_pb2.DocumentCell, _Mapping]]=..., ws_cell: _Optional[_Union[_cells_pb2.WebSearchCell, _Mapping]]=..., report_cell: _Optional[_Union[_cells_pb2.ReportCell, _Mapping]]=..., tabular_file_cell: _Optional[_Union[_cells_pb2.TabularFileCell, _Mapping]]=..., status_cell: _Optional[_Union[_cells_pb2.StatusCell, _Mapping]]=..., metrics_cell: _Optional[_Union[_cells_pb2.MetricsCell, _Mapping]]=..., summary_cell: _Optional[_Union[_cells_pb2.SummaryCell, _Mapping]]=..., tableau_cell: _Optional[_Union[_cells_pb2.TableauCell, _Mapping]]=..., tableau_sql_cell: _Optional[_Union[_cells_pb2.TableauSQLCell, _Mapping]]=..., context_prompt_editor_cell: _Optional[_Union[_cells_pb2.ContextPromptEditorCell, _Mapping]]=..., ontology_editor_cell: _Optional[_Union[_cells_pb2.OntologyEditorCell, _Mapping]]=..., image_cell: _Optional[_Union[_cells_pb2.ImageCell, _Mapping]]=..., text_cell: _Optional[_Union[_cells_pb2.TextCell, _Mapping]]=..., mcp_tool_cell: _Optional[_Union[_cells_pb2.MCPToolCell, _Mapping]]=..., preview_cell: _Optional[_Union[_cells_pb2.PreviewCell, _Mapping]]=..., playbook_editor_cell: _Optional[_Union[_cells_pb2.PlaybookEditorCell, _Mapping]]=..., streamlit_cell: _Optional[_Union[_cells_pb2.StreamlitCell, _Mapping]]=..., dashboard_cell: _Optional[_Union[_cells_pb2.DashboardCell, _Mapping]]=..., google_drive_content_cell: _Optional[_Union[_cells_pb2.GoogleDriveContentCell, _Mapping]]=..., google_drive_search_cell: _Optional[_Union[_cells_pb2.GoogleDriveSearchCell, _Mapping]]=..., powerbi_cell: _Optional[_Union[_cells_pb2.PowerBICell, _Mapping]]=..., powerbi_dax_cell: _Optional[_Union[_cells_pb2.PowerBIDAXCell, _Mapping]]=..., form_editor_cell: _Optional[_Union[_cells_pb2.FormEditorCell, _Mapping]]=..., tableau_search_fields_cell: _Optional[_Union[_cells_pb2.TableauSearchFieldsCell, _Mapping]]=..., report_history_cell: _Optional[_Union[_cells_pb2.ReportHistoryCell, _Mapping]]=..., microsoft365_email_search_cell: _Optional[_Union[_cells_pb2.Microsoft365EmailSearchCell, _Mapping]]=..., microsoft365_email_content_cell: _Optional[_Union[_cells_pb2.Microsoft365EmailContentCell, _Mapping]]=..., microsoft365_calendar_cell: _Optional[_Union[_cells_pb2.Microsoft365CalendarCell, _Mapping]]=..., feed_explorer_cell: _Optional[_Union[_cells_pb2.FeedExplorerCell, _Mapping]]=..., bash_cell: _Optional[_Union[_cells_pb2.BashCell, _Mapping]]=..., javascript_cell: _Optional[_Union[_cells_pb2.JavaScriptCell, _Mapping]]=..., feed_post_cell: _Optional[_Union[_cells_pb2.FeedPostCell, _Mapping]]=..., feed_comment_cell: _Optional[_Union[_cells_pb2.FeedCommentCell, _Mapping]]=..., feed_engage_cell: _Optional[_Union[_cells_pb2.FeedEngageCell, _Mapping]]=..., ontology_search_metrics_cell: _Optional[_Union[_cells_pb2.OntologySearchMetricsCell, _Mapping]]=..., ontology_open_object_cell: _Optional[_Union[_cells_pb2.OntologyOpenObjectCell, _Mapping]]=..., compaction_cell: _Optional[_Union[_cells_pb2.CompactionCell, _Mapping]]=..., gmail_email_search_cell: _Optional[_Union[_cells_pb2.GmailEmailSearchCell, _Mapping]]=..., gmail_email_content_cell: _Optional[_Union[_cells_pb2.GmailEmailContentCell, _Mapping]]=..., list_dashboards_cell: _Optional[_Union[_cells_pb2.ListDashboardsCell, _Mapping]]=..., list_users_cell: _Optional[_Union[_cells_pb2.ListUsersCell, _Mapping]]=..., google_calendar_search_cell: _Optional[_Union[_cells_pb2.GoogleCalendarSearchCell, _Mapping]]=..., feed_create_cell: _Optional[_Union[_cells_pb2.FeedCreateCell, _Mapping]]=..., ontology_query_cell: _Optional[_Union[_cells_pb2.OntologyQueryCell, _Mapping]]=..., email_cell: _Optional[_Union[_cells_pb2.EmailCell, _Mapping]]=..., patch_cell: _Optional[_Union[_cells_pb2.PatchCell, _Mapping]]=..., linkedin_search_cell: _Optional[_Union[_cells_pb2.LinkedinSearchCell, _Mapping]]=..., use_skill_cell: _Optional[_Union[_cells_pb2.UseSkillCell, _Mapping]]=..., form_cell: _Optional[_Union[_cells_pb2.FormCell, _Mapping]]=..., connectors_cell: _Optional[_Union[_cells_pb2.ConnectorsCell, _Mapping]]=..., questions_cell: _Optional[_Union[_cells_pb2.QuestionsCell, _Mapping]]=..., app_cell: _Optional[_Union[_cells_pb2.AppCell, _Mapping]]=..., list_apps_cell: _Optional[_Union[_cells_pb2.ListAppsCell, _Mapping]]=..., thinking_cell: _Optional[_Union[_cells_pb2.ThinkingCell, _Mapping]]=..., tool_summary: _Optional[str]=..., duration_ms: _Optional[int]=...) -> None: + ... + +class LlmCompletionParameters(_message.Message): + __slots__ = ('started_at', 'completed_at', 'member_id', 'llm_model', 'llm_provider', 'system_messages', 'messages', 'tools', 'tool_choice', 'thinking', 'max_tokens', 'temperature', 'stop_sequences', 'service_tier', 'custom_settings') + STARTED_AT_FIELD_NUMBER: _ClassVar[int] + COMPLETED_AT_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + LLM_PROVIDER_FIELD_NUMBER: _ClassVar[int] + SYSTEM_MESSAGES_FIELD_NUMBER: _ClassVar[int] + MESSAGES_FIELD_NUMBER: _ClassVar[int] + TOOLS_FIELD_NUMBER: _ClassVar[int] + TOOL_CHOICE_FIELD_NUMBER: _ClassVar[int] + THINKING_FIELD_NUMBER: _ClassVar[int] + MAX_TOKENS_FIELD_NUMBER: _ClassVar[int] + TEMPERATURE_FIELD_NUMBER: _ClassVar[int] + STOP_SEQUENCES_FIELD_NUMBER: _ClassVar[int] + SERVICE_TIER_FIELD_NUMBER: _ClassVar[int] + CUSTOM_SETTINGS_FIELD_NUMBER: _ClassVar[int] + started_at: _timestamp_pb2.Timestamp + completed_at: _timestamp_pb2.Timestamp + member_id: str + llm_model: str + llm_provider: str + system_messages: _containers.RepeatedScalarFieldContainer[str] + messages: _containers.RepeatedScalarFieldContainer[str] + tools: _containers.RepeatedScalarFieldContainer[str] + tool_choice: str + thinking: str + max_tokens: int + temperature: float + stop_sequences: _containers.RepeatedScalarFieldContainer[str] + service_tier: str + custom_settings: str + + def __init__(self, started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., completed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., member_id: _Optional[str]=..., llm_model: _Optional[str]=..., llm_provider: _Optional[str]=..., system_messages: _Optional[_Iterable[str]]=..., messages: _Optional[_Iterable[str]]=..., tools: _Optional[_Iterable[str]]=..., tool_choice: _Optional[str]=..., thinking: _Optional[str]=..., max_tokens: _Optional[int]=..., temperature: _Optional[float]=..., stop_sequences: _Optional[_Iterable[str]]=..., service_tier: _Optional[str]=..., custom_settings: _Optional[str]=...) -> None: + ... + +class CreateRequest(_message.Message): + __slots__ = ('paradigm', 'model', 'message', 'playbook_id', 'research', 'dashboard_mode', 'methodology', 'vllm_model_id', 'fast_mode', 'max_thinking') + PARADIGM_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + RESEARCH_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_MODE_FIELD_NUMBER: _ClassVar[int] + METHODOLOGY_FIELD_NUMBER: _ClassVar[int] + VLLM_MODEL_ID_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_FIELD_NUMBER: _ClassVar[int] + MAX_THINKING_FIELD_NUMBER: _ClassVar[int] + paradigm: _paradigm_pb2.Paradigm + model: _llm_model_pb2.LlmModel + message: str + playbook_id: str + research: bool + dashboard_mode: bool + methodology: Methodology + vllm_model_id: str + fast_mode: bool + max_thinking: bool + + def __init__(self, paradigm: _Optional[_Union[_paradigm_pb2.Paradigm, _Mapping]]=..., model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., message: _Optional[str]=..., playbook_id: _Optional[str]=..., research: bool=..., dashboard_mode: bool=..., methodology: _Optional[_Union[Methodology, str]]=..., vllm_model_id: _Optional[str]=..., fast_mode: bool=..., max_thinking: bool=...) -> None: + ... + +class CreateResponse(_message.Message): + __slots__ = ('chat',) + CHAT_FIELD_NUMBER: _ClassVar[int] + chat: Chat + + def __init__(self, chat: _Optional[_Union[Chat, _Mapping]]=...) -> None: + ... + +class UpdateChatRequest(_message.Message): + __slots__ = ('chat_id', 'research', 'summary', 'dashboard_mode', 'methodology', 'fast_mode', 'max_thinking') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + RESEARCH_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_MODE_FIELD_NUMBER: _ClassVar[int] + METHODOLOGY_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_FIELD_NUMBER: _ClassVar[int] + MAX_THINKING_FIELD_NUMBER: _ClassVar[int] + chat_id: str + research: bool + summary: str + dashboard_mode: bool + methodology: Methodology + fast_mode: bool + max_thinking: bool + + def __init__(self, chat_id: _Optional[str]=..., research: bool=..., summary: _Optional[str]=..., dashboard_mode: bool=..., methodology: _Optional[_Union[Methodology, str]]=..., fast_mode: bool=..., max_thinking: bool=...) -> None: + ... + +class UpdateChatResponse(_message.Message): + __slots__ = ('chat',) + CHAT_FIELD_NUMBER: _ClassVar[int] + chat: Chat + + def __init__(self, chat: _Optional[_Union[Chat, _Mapping]]=...) -> None: + ... + +class DeleteChatRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class RunChatRequest(_message.Message): + __slots__ = ('chat_id', 'latest_complete_cell_id', 'research', 'model', 'fast_mode', 'max_thinking') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + LATEST_COMPLETE_CELL_ID_FIELD_NUMBER: _ClassVar[int] + RESEARCH_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_FIELD_NUMBER: _ClassVar[int] + MAX_THINKING_FIELD_NUMBER: _ClassVar[int] + chat_id: str + latest_complete_cell_id: str + research: bool + model: _llm_model_pb2.LlmModel + fast_mode: bool + max_thinking: bool + + def __init__(self, chat_id: _Optional[str]=..., latest_complete_cell_id: _Optional[str]=..., research: bool=..., model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., fast_mode: bool=..., max_thinking: bool=...) -> None: + ... + +class RunChatResponse(_message.Message): + __slots__ = ('cells',) + CELLS_FIELD_NUMBER: _ClassVar[int] + cells: _containers.RepeatedCompositeFieldContainer[Cell] + + def __init__(self, cells: _Optional[_Iterable[_Union[Cell, _Mapping]]]=...) -> None: + ... + +class CancelStreamRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class CancelStreamResponse(_message.Message): + __slots__ = ('exists',) + EXISTS_FIELD_NUMBER: _ClassVar[int] + exists: bool + + def __init__(self, exists: bool=...) -> None: + ... + +class RateChatCellRequest(_message.Message): + __slots__ = ('chat_id', 'cell_id', 'rating', 'reason') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + RATING_FIELD_NUMBER: _ClassVar[int] + REASON_FIELD_NUMBER: _ClassVar[int] + chat_id: str + cell_id: str + rating: CellRating + reason: str + + def __init__(self, chat_id: _Optional[str]=..., cell_id: _Optional[str]=..., rating: _Optional[_Union[CellRating, str]]=..., reason: _Optional[str]=...) -> None: + ... + +class SendRequest(_message.Message): + __slots__ = ('chat_id', 'message', 'image_urls', 'message_id', 'steering') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + IMAGE_URLS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_ID_FIELD_NUMBER: _ClassVar[int] + STEERING_FIELD_NUMBER: _ClassVar[int] + chat_id: str + message: str + image_urls: _containers.RepeatedScalarFieldContainer[str] + message_id: str + steering: bool + + def __init__(self, chat_id: _Optional[str]=..., message: _Optional[str]=..., image_urls: _Optional[_Iterable[str]]=..., message_id: _Optional[str]=..., steering: bool=...) -> None: + ... + +class SendResponse(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class WatchChatRequest(_message.Message): + __slots__ = ('chat_id', 'latest_complete_cell_id', 'resume_cursor') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + LATEST_COMPLETE_CELL_ID_FIELD_NUMBER: _ClassVar[int] + RESUME_CURSOR_FIELD_NUMBER: _ClassVar[int] + chat_id: str + latest_complete_cell_id: str + resume_cursor: str + + def __init__(self, chat_id: _Optional[str]=..., latest_complete_cell_id: _Optional[str]=..., resume_cursor: _Optional[str]=...) -> None: + ... + +class WatchChatEvent(_message.Message): + __slots__ = ('opened', 'cell', 'run_complete', 'run_error', 'handoff_pending', 'run_started', 'heartbeat', 'cursor') + OPENED_FIELD_NUMBER: _ClassVar[int] + CELL_FIELD_NUMBER: _ClassVar[int] + RUN_COMPLETE_FIELD_NUMBER: _ClassVar[int] + RUN_ERROR_FIELD_NUMBER: _ClassVar[int] + HANDOFF_PENDING_FIELD_NUMBER: _ClassVar[int] + RUN_STARTED_FIELD_NUMBER: _ClassVar[int] + HEARTBEAT_FIELD_NUMBER: _ClassVar[int] + CURSOR_FIELD_NUMBER: _ClassVar[int] + opened: WatchOpenedEvent + cell: Cell + run_complete: WatchRunCompleteEvent + run_error: WatchRunErrorEvent + handoff_pending: WatchHandoffPendingEvent + run_started: WatchRunStartedEvent + heartbeat: WatchHeartbeatEvent + cursor: str + + def __init__(self, opened: _Optional[_Union[WatchOpenedEvent, _Mapping]]=..., cell: _Optional[_Union[Cell, _Mapping]]=..., run_complete: _Optional[_Union[WatchRunCompleteEvent, _Mapping]]=..., run_error: _Optional[_Union[WatchRunErrorEvent, _Mapping]]=..., handoff_pending: _Optional[_Union[WatchHandoffPendingEvent, _Mapping]]=..., run_started: _Optional[_Union[WatchRunStartedEvent, _Mapping]]=..., heartbeat: _Optional[_Union[WatchHeartbeatEvent, _Mapping]]=..., cursor: _Optional[str]=...) -> None: + ... + +class WatchOpenedEvent(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class WatchHeartbeatEvent(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class WatchRunStartedEvent(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class WatchRunCompleteEvent(_message.Message): + __slots__ = ('final_cell_id',) + FINAL_CELL_ID_FIELD_NUMBER: _ClassVar[int] + final_cell_id: str + + def __init__(self, final_cell_id: _Optional[str]=...) -> None: + ... + +class WatchRunErrorEvent(_message.Message): + __slots__ = ('error', 'code') + ERROR_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + error: str + code: str + + def __init__(self, error: _Optional[str]=..., code: _Optional[str]=...) -> None: + ... + +class PollChatEventsRequest(_message.Message): + __slots__ = ('chat_id', 'resume_cursor', 'min_generation') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + RESUME_CURSOR_FIELD_NUMBER: _ClassVar[int] + MIN_GENERATION_FIELD_NUMBER: _ClassVar[int] + chat_id: str + resume_cursor: str + min_generation: int + + def __init__(self, chat_id: _Optional[str]=..., resume_cursor: _Optional[str]=..., min_generation: _Optional[int]=...) -> None: + ... + +class PollChatEventsResponse(_message.Message): + __slots__ = ('events', 'cursor', 'running', 'generation') + EVENTS_FIELD_NUMBER: _ClassVar[int] + CURSOR_FIELD_NUMBER: _ClassVar[int] + RUNNING_FIELD_NUMBER: _ClassVar[int] + GENERATION_FIELD_NUMBER: _ClassVar[int] + events: _containers.RepeatedCompositeFieldContainer[WatchChatEvent] + cursor: str + running: bool + generation: int + + def __init__(self, events: _Optional[_Iterable[_Union[WatchChatEvent, _Mapping]]]=..., cursor: _Optional[str]=..., running: bool=..., generation: _Optional[int]=...) -> None: + ... + +class WatchHandoffPendingEvent(_message.Message): + __slots__ = ('handoff_marker',) + HANDOFF_MARKER_FIELD_NUMBER: _ClassVar[int] + handoff_marker: str + + def __init__(self, handoff_marker: _Optional[str]=...) -> None: + ... + +class AttachDatasetRequest(_message.Message): + __slots__ = ('chat_id', 'dataset_id') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + dataset_id: str + + def __init__(self, chat_id: _Optional[str]=..., dataset_id: _Optional[str]=...) -> None: + ... + +class AttachDatasetResponse(_message.Message): + __slots__ = ('cell', 'dataset') + CELL_FIELD_NUMBER: _ClassVar[int] + DATASET_FIELD_NUMBER: _ClassVar[int] + cell: Cell + dataset: _dataset_pb2.Dataset + + def __init__(self, cell: _Optional[_Union[Cell, _Mapping]]=..., dataset: _Optional[_Union[_dataset_pb2.Dataset, _Mapping]]=...) -> None: + ... + +class AttachDashboardRequest(_message.Message): + __slots__ = ('chat_id', 'dashboard_id') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + dashboard_id: str + + def __init__(self, chat_id: _Optional[str]=..., dashboard_id: _Optional[str]=...) -> None: + ... + +class AttachDashboardResponse(_message.Message): + __slots__ = ('cell', 'dashboard') + CELL_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + cell: Cell + dashboard: _dashboard_pb2.Dashboard + + def __init__(self, cell: _Optional[_Union[Cell, _Mapping]]=..., dashboard: _Optional[_Union[_dashboard_pb2.Dashboard, _Mapping]]=...) -> None: + ... + +class AttachAppRequest(_message.Message): + __slots__ = ('chat_id', 'app_id') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + APP_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + app_id: str + + def __init__(self, chat_id: _Optional[str]=..., app_id: _Optional[str]=...) -> None: + ... + +class AttachAppResponse(_message.Message): + __slots__ = ('cell', 'app') + CELL_FIELD_NUMBER: _ClassVar[int] + APP_FIELD_NUMBER: _ClassVar[int] + cell: Cell + app: _apps_pb2.App + + def __init__(self, cell: _Optional[_Union[Cell, _Mapping]]=..., app: _Optional[_Union[_apps_pb2.App, _Mapping]]=...) -> None: + ... + +class HistoryRequest(_message.Message): + __slots__ = ('chat_id', 'limit', 'skip') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + SKIP_FIELD_NUMBER: _ClassVar[int] + chat_id: str + limit: int + skip: int + + def __init__(self, chat_id: _Optional[str]=..., limit: _Optional[int]=..., skip: _Optional[int]=...) -> None: + ... + +class HistoryResponse(_message.Message): + __slots__ = ('cells', 'has_more') + CELLS_FIELD_NUMBER: _ClassVar[int] + HAS_MORE_FIELD_NUMBER: _ClassVar[int] + cells: _containers.RepeatedCompositeFieldContainer[Cell] + has_more: bool + + def __init__(self, cells: _Optional[_Iterable[_Union[Cell, _Mapping]]]=..., has_more: bool=...) -> None: + ... + +class GetAPIChatAnswerRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class GetAPIChatAnswerResponse(_message.Message): + __slots__ = ('answer', 'complete', 'error') + ANSWER_FIELD_NUMBER: _ClassVar[int] + COMPLETE_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + answer: str + complete: bool + error: str + + def __init__(self, answer: _Optional[str]=..., complete: bool=..., error: _Optional[str]=...) -> None: + ... + +class GetChatsRequest(_message.Message): + __slots__ = ('member_only', 'search_term', 'limit', 'offset', 'creator_member_id', 'sort_by', 'sort_direction', 'bookmarked_only', 'created_after', 'created_before', 'exclude_batch_runs', 'exclude_unused_playbooks', 'source', 'has_thread_warning', 'creator_member_ids', 'shared_with_me', 'exclude_feed', 'sources', 'thread_warning_types', 'topic_ids', 'connector_ids') + MEMBER_ONLY_FIELD_NUMBER: _ClassVar[int] + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + SORT_BY_FIELD_NUMBER: _ClassVar[int] + SORT_DIRECTION_FIELD_NUMBER: _ClassVar[int] + BOOKMARKED_ONLY_FIELD_NUMBER: _ClassVar[int] + CREATED_AFTER_FIELD_NUMBER: _ClassVar[int] + CREATED_BEFORE_FIELD_NUMBER: _ClassVar[int] + EXCLUDE_BATCH_RUNS_FIELD_NUMBER: _ClassVar[int] + EXCLUDE_UNUSED_PLAYBOOKS_FIELD_NUMBER: _ClassVar[int] + SOURCE_FIELD_NUMBER: _ClassVar[int] + HAS_THREAD_WARNING_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + SHARED_WITH_ME_FIELD_NUMBER: _ClassVar[int] + EXCLUDE_FEED_FIELD_NUMBER: _ClassVar[int] + SOURCES_FIELD_NUMBER: _ClassVar[int] + THREAD_WARNING_TYPES_FIELD_NUMBER: _ClassVar[int] + TOPIC_IDS_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + member_only: bool + search_term: str + limit: int + offset: int + creator_member_id: str + sort_by: ChatSortField + sort_direction: ChatSortDirection + bookmarked_only: bool + created_after: _timestamp_pb2.Timestamp + created_before: _timestamp_pb2.Timestamp + exclude_batch_runs: bool + exclude_unused_playbooks: bool + source: ChatSource + has_thread_warning: bool + creator_member_ids: _containers.RepeatedScalarFieldContainer[str] + shared_with_me: bool + exclude_feed: bool + sources: _containers.RepeatedScalarFieldContainer[ChatSource] + thread_warning_types: _containers.RepeatedScalarFieldContainer[_warnings_pb2.ThreadWarningType] + topic_ids: _containers.RepeatedScalarFieldContainer[str] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, member_only: bool=..., search_term: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=..., creator_member_id: _Optional[str]=..., sort_by: _Optional[_Union[ChatSortField, str]]=..., sort_direction: _Optional[_Union[ChatSortDirection, str]]=..., bookmarked_only: bool=..., created_after: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_before: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., exclude_batch_runs: bool=..., exclude_unused_playbooks: bool=..., source: _Optional[_Union[ChatSource, str]]=..., has_thread_warning: bool=..., creator_member_ids: _Optional[_Iterable[str]]=..., shared_with_me: bool=..., exclude_feed: bool=..., sources: _Optional[_Iterable[_Union[ChatSource, str]]]=..., thread_warning_types: _Optional[_Iterable[_Union[_warnings_pb2.ThreadWarningType, str]]]=..., topic_ids: _Optional[_Iterable[str]]=..., connector_ids: _Optional[_Iterable[int]]=...) -> None: + ... + +class GetChatsResponse(_message.Message): + __slots__ = ('chats', 'total_count') + CHATS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + chats: _containers.RepeatedCompositeFieldContainer[Chat] + total_count: int + + def __init__(self, chats: _Optional[_Iterable[_Union[Chat, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class GetChatRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class ChatMessage(_message.Message): + __slots__ = ('role', 'content', 'created_at') + ROLE_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + role: str + content: str + created_at: _timestamp_pb2.Timestamp + + def __init__(self, role: _Optional[str]=..., content: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetChatResponse(_message.Message): + __slots__ = ('chat', 'messages', 'assets') + CHAT_FIELD_NUMBER: _ClassVar[int] + MESSAGES_FIELD_NUMBER: _ClassVar[int] + ASSETS_FIELD_NUMBER: _ClassVar[int] + chat: Chat + messages: _containers.RepeatedCompositeFieldContainer[ChatMessage] + assets: _containers.RepeatedCompositeFieldContainer[_cells_pb2.PreviewCell] + + def __init__(self, chat: _Optional[_Union[Chat, _Mapping]]=..., messages: _Optional[_Iterable[_Union[ChatMessage, _Mapping]]]=..., assets: _Optional[_Iterable[_Union[_cells_pb2.PreviewCell, _Mapping]]]=...) -> None: + ... + +class DuplicateChatRequest(_message.Message): + __slots__ = ('chat_id', 'only_if_different_owner') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + ONLY_IF_DIFFERENT_OWNER_FIELD_NUMBER: _ClassVar[int] + chat_id: str + only_if_different_owner: bool + + def __init__(self, chat_id: _Optional[str]=..., only_if_different_owner: bool=...) -> None: + ... + +class DuplicateChatResponse(_message.Message): + __slots__ = ('chat',) + CHAT_FIELD_NUMBER: _ClassVar[int] + chat: Chat + + def __init__(self, chat: _Optional[_Union[Chat, _Mapping]]=...) -> None: + ... + +class GetPlaybookChatsRequest(_message.Message): + __slots__ = ('playbook_id', 'limit', 'skip') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + SKIP_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + limit: int + skip: int + + def __init__(self, playbook_id: _Optional[str]=..., limit: _Optional[int]=..., skip: _Optional[int]=...) -> None: + ... + +class GetPlaybookChatsResponse(_message.Message): + __slots__ = ('chats',) + CHATS_FIELD_NUMBER: _ClassVar[int] + chats: _containers.RepeatedCompositeFieldContainer[Chat] + + def __init__(self, chats: _Optional[_Iterable[_Union[Chat, _Mapping]]]=...) -> None: + ... + +class GetCompletionParametersRequest(_message.Message): + __slots__ = ('chat_id', 'cell_id') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + cell_id: str + + def __init__(self, chat_id: _Optional[str]=..., cell_id: _Optional[str]=...) -> None: + ... + +class CheckChatPermissionsRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class CheckChatPermissionsResponse(_message.Message): + __slots__ = ('has_write_permission', 'has_read_permission', 'connector_id', 'ontology_id', 'connector_ids', 'ontology_ids') + HAS_WRITE_PERMISSION_FIELD_NUMBER: _ClassVar[int] + HAS_READ_PERMISSION_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_IDS_FIELD_NUMBER: _ClassVar[int] + has_write_permission: bool + has_read_permission: bool + connector_id: int + ontology_id: int + connector_ids: _containers.RepeatedScalarFieldContainer[int] + ontology_ids: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, has_write_permission: bool=..., has_read_permission: bool=..., connector_id: _Optional[int]=..., ontology_id: _Optional[int]=..., connector_ids: _Optional[_Iterable[int]]=..., ontology_ids: _Optional[_Iterable[int]]=...) -> None: + ... + +class GetCompletionParametersResponse(_message.Message): + __slots__ = ('params',) + PARAMS_FIELD_NUMBER: _ClassVar[int] + params: LlmCompletionParameters + + def __init__(self, params: _Optional[_Union[LlmCompletionParameters, _Mapping]]=...) -> None: + ... + +class GetCompletionParametersBatchRequest(_message.Message): + __slots__ = ('chat_id', 'cell_ids') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + CELL_IDS_FIELD_NUMBER: _ClassVar[int] + chat_id: str + cell_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, chat_id: _Optional[str]=..., cell_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetCompletionParametersBatchResponse(_message.Message): + __slots__ = ('params_by_cell_id',) + + class ParamsByCellIdEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: LlmCompletionParameters + + def __init__(self, key: _Optional[str]=..., value: _Optional[_Union[LlmCompletionParameters, _Mapping]]=...) -> None: + ... + PARAMS_BY_CELL_ID_FIELD_NUMBER: _ClassVar[int] + params_by_cell_id: _containers.MessageMap[str, LlmCompletionParameters] + + def __init__(self, params_by_cell_id: _Optional[_Mapping[str, LlmCompletionParameters]]=...) -> None: + ... + +class ChatExecutionTiming(_message.Message): + __slots__ = ('cell_type', 'cell_count', 'total_ms', 'warehouse_ms', 'egress_ms', 'overhead_ms') + CELL_TYPE_FIELD_NUMBER: _ClassVar[int] + CELL_COUNT_FIELD_NUMBER: _ClassVar[int] + TOTAL_MS_FIELD_NUMBER: _ClassVar[int] + WAREHOUSE_MS_FIELD_NUMBER: _ClassVar[int] + EGRESS_MS_FIELD_NUMBER: _ClassVar[int] + OVERHEAD_MS_FIELD_NUMBER: _ClassVar[int] + cell_type: str + cell_count: int + total_ms: int + warehouse_ms: int + egress_ms: int + overhead_ms: int + + def __init__(self, cell_type: _Optional[str]=..., cell_count: _Optional[int]=..., total_ms: _Optional[int]=..., warehouse_ms: _Optional[int]=..., egress_ms: _Optional[int]=..., overhead_ms: _Optional[int]=...) -> None: + ... + +class GetChatExecutionTimingRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class CellExecutionTiming(_message.Message): + __slots__ = ('cell_id', 'total_ms', 'warehouse_ms') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + TOTAL_MS_FIELD_NUMBER: _ClassVar[int] + WAREHOUSE_MS_FIELD_NUMBER: _ClassVar[int] + cell_id: str + total_ms: int + warehouse_ms: int + + def __init__(self, cell_id: _Optional[str]=..., total_ms: _Optional[int]=..., warehouse_ms: _Optional[int]=...) -> None: + ... + +class GetChatExecutionTimingResponse(_message.Message): + __slots__ = ('by_type', 'total_execution_ms', 'total_warehouse_ms', 'total_egress_ms', 'total_overhead_ms', 'by_cell', 'sandbox_mount_ms') + BY_TYPE_FIELD_NUMBER: _ClassVar[int] + TOTAL_EXECUTION_MS_FIELD_NUMBER: _ClassVar[int] + TOTAL_WAREHOUSE_MS_FIELD_NUMBER: _ClassVar[int] + TOTAL_EGRESS_MS_FIELD_NUMBER: _ClassVar[int] + TOTAL_OVERHEAD_MS_FIELD_NUMBER: _ClassVar[int] + BY_CELL_FIELD_NUMBER: _ClassVar[int] + SANDBOX_MOUNT_MS_FIELD_NUMBER: _ClassVar[int] + by_type: _containers.RepeatedCompositeFieldContainer[ChatExecutionTiming] + total_execution_ms: int + total_warehouse_ms: int + total_egress_ms: int + total_overhead_ms: int + by_cell: _containers.RepeatedCompositeFieldContainer[CellExecutionTiming] + sandbox_mount_ms: int + + def __init__(self, by_type: _Optional[_Iterable[_Union[ChatExecutionTiming, _Mapping]]]=..., total_execution_ms: _Optional[int]=..., total_warehouse_ms: _Optional[int]=..., total_egress_ms: _Optional[int]=..., total_overhead_ms: _Optional[int]=..., by_cell: _Optional[_Iterable[_Union[CellExecutionTiming, _Mapping]]]=..., sandbox_mount_ms: _Optional[int]=...) -> None: + ... + +class CheckHealthRequest(_message.Message): + __slots__ = ('model', 'functional') + MODEL_FIELD_NUMBER: _ClassVar[int] + FUNCTIONAL_FIELD_NUMBER: _ClassVar[int] + model: _llm_model_pb2.LlmModel + functional: bool + + def __init__(self, model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., functional: bool=...) -> None: + ... + +class CheckHealthResponse(_message.Message): + __slots__ = ('llm_status', 'web_status', 'ontology_status', 'valkey_status', 'tableau_status', 'sandbox_status', 'llm_execution_status', 'sandbox_execution_status', 'console_status') + LLM_STATUS_FIELD_NUMBER: _ClassVar[int] + WEB_STATUS_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_STATUS_FIELD_NUMBER: _ClassVar[int] + VALKEY_STATUS_FIELD_NUMBER: _ClassVar[int] + TABLEAU_STATUS_FIELD_NUMBER: _ClassVar[int] + SANDBOX_STATUS_FIELD_NUMBER: _ClassVar[int] + LLM_EXECUTION_STATUS_FIELD_NUMBER: _ClassVar[int] + SANDBOX_EXECUTION_STATUS_FIELD_NUMBER: _ClassVar[int] + CONSOLE_STATUS_FIELD_NUMBER: _ClassVar[int] + llm_status: HealthStatus + web_status: HealthStatus + ontology_status: HealthStatus + valkey_status: HealthStatus + tableau_status: HealthStatus + sandbox_status: HealthStatus + llm_execution_status: HealthStatus + sandbox_execution_status: HealthStatus + console_status: HealthStatus + + def __init__(self, llm_status: _Optional[_Union[HealthStatus, str]]=..., web_status: _Optional[_Union[HealthStatus, str]]=..., ontology_status: _Optional[_Union[HealthStatus, str]]=..., valkey_status: _Optional[_Union[HealthStatus, str]]=..., tableau_status: _Optional[_Union[HealthStatus, str]]=..., sandbox_status: _Optional[_Union[HealthStatus, str]]=..., llm_execution_status: _Optional[_Union[HealthStatus, str]]=..., sandbox_execution_status: _Optional[_Union[HealthStatus, str]]=..., console_status: _Optional[_Union[HealthStatus, str]]=...) -> None: + ... + +class LlmUsage(_message.Message): + __slots__ = ('input_tokens', 'cache_creation_input_tokens', 'cache_read_input_tokens', 'output_tokens', 'model_name', 'timestamp') + INPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + CACHE_CREATION_INPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + CACHE_READ_INPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + OUTPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + MODEL_NAME_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + input_tokens: int + cache_creation_input_tokens: int + cache_read_input_tokens: int + output_tokens: int + model_name: str + timestamp: _timestamp_pb2.Timestamp + + def __init__(self, input_tokens: _Optional[int]=..., cache_creation_input_tokens: _Optional[int]=..., cache_read_input_tokens: _Optional[int]=..., output_tokens: _Optional[int]=..., model_name: _Optional[str]=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetLlmUsageRequest(_message.Message): + __slots__ = ('chat_id', 'include_costs') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + INCLUDE_COSTS_FIELD_NUMBER: _ClassVar[int] + chat_id: str + include_costs: bool + + def __init__(self, chat_id: _Optional[str]=..., include_costs: bool=...) -> None: + ... + +class GetLlmUsageResponse(_message.Message): + __slots__ = ('usage', 'context_window_used', 'estimated_cost', 'estimated_compute_cost', 'sandbox_id', 'estimated_compute_acus', 'estimated_llm_acus') + USAGE_FIELD_NUMBER: _ClassVar[int] + CONTEXT_WINDOW_USED_FIELD_NUMBER: _ClassVar[int] + ESTIMATED_COST_FIELD_NUMBER: _ClassVar[int] + ESTIMATED_COMPUTE_COST_FIELD_NUMBER: _ClassVar[int] + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + ESTIMATED_COMPUTE_ACUS_FIELD_NUMBER: _ClassVar[int] + ESTIMATED_LLM_ACUS_FIELD_NUMBER: _ClassVar[int] + usage: _containers.RepeatedCompositeFieldContainer[LlmUsage] + context_window_used: float + estimated_cost: float + estimated_compute_cost: float + sandbox_id: str + estimated_compute_acus: float + estimated_llm_acus: float + + def __init__(self, usage: _Optional[_Iterable[_Union[LlmUsage, _Mapping]]]=..., context_window_used: _Optional[float]=..., estimated_cost: _Optional[float]=..., estimated_compute_cost: _Optional[float]=..., sandbox_id: _Optional[str]=..., estimated_compute_acus: _Optional[float]=..., estimated_llm_acus: _Optional[float]=...) -> None: + ... + +class ApproveContextPromptChangeRequest(_message.Message): + __slots__ = ('cell_id', 'edited_context') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + EDITED_CONTEXT_FIELD_NUMBER: _ClassVar[int] + cell_id: str + edited_context: str + + def __init__(self, cell_id: _Optional[str]=..., edited_context: _Optional[str]=...) -> None: + ... + +class ApproveContextPromptChangeResponse(_message.Message): + __slots__ = ('success', 'message', 'status', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + message: str + status: _cells_pb2.ContextPromptChangeStatus + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., message: _Optional[str]=..., status: _Optional[_Union[_cells_pb2.ContextPromptChangeStatus, str]]=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class RejectContextPromptChangeRequest(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class RejectContextPromptChangeResponse(_message.Message): + __slots__ = ('success', 'message', 'status', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + message: str + status: _cells_pb2.ContextPromptChangeStatus + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., message: _Optional[str]=..., status: _Optional[_Union[_cells_pb2.ContextPromptChangeStatus, str]]=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class SubmitContextPromptChangeRequest(_message.Message): + __slots__ = ('cell_id', 'edited_context') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + EDITED_CONTEXT_FIELD_NUMBER: _ClassVar[int] + cell_id: str + edited_context: str + + def __init__(self, cell_id: _Optional[str]=..., edited_context: _Optional[str]=...) -> None: + ... + +class SubmitContextPromptChangeResponse(_message.Message): + __slots__ = ('success', 'message', 'status', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + message: str + status: _cells_pb2.ContextPromptChangeStatus + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., message: _Optional[str]=..., status: _Optional[_Union[_cells_pb2.ContextPromptChangeStatus, str]]=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class SubmitQuestionsRequest(_message.Message): + __slots__ = ('cell_id', 'answers') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + ANSWERS_FIELD_NUMBER: _ClassVar[int] + cell_id: str + answers: _containers.RepeatedCompositeFieldContainer[_cells_pb2.QuestionAnswer] + + def __init__(self, cell_id: _Optional[str]=..., answers: _Optional[_Iterable[_Union[_cells_pb2.QuestionAnswer, _Mapping]]]=...) -> None: + ... + +class SubmitQuestionsResponse(_message.Message): + __slots__ = ('success', 'status', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + status: _cells_pb2.QuestionsStatus + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., status: _Optional[_Union[_cells_pb2.QuestionsStatus, str]]=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class DismissQuestionsRequest(_message.Message): + __slots__ = ('cell_id', 'answers') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + ANSWERS_FIELD_NUMBER: _ClassVar[int] + cell_id: str + answers: _containers.RepeatedCompositeFieldContainer[_cells_pb2.QuestionAnswer] + + def __init__(self, cell_id: _Optional[str]=..., answers: _Optional[_Iterable[_Union[_cells_pb2.QuestionAnswer, _Mapping]]]=...) -> None: + ... + +class DismissQuestionsResponse(_message.Message): + __slots__ = ('success', 'status') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + success: bool + status: _cells_pb2.QuestionsStatus + + def __init__(self, success: bool=..., status: _Optional[_Union[_cells_pb2.QuestionsStatus, str]]=...) -> None: + ... + +class SubmitFormApprovalRequest(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class SubmitFormApprovalResponse(_message.Message): + __slots__ = ('success', 'outcome', 'error', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + OUTCOME_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + outcome: str + error: str + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., outcome: _Optional[str]=..., error: _Optional[str]=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class RejectFormApprovalRequest(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class RejectFormApprovalResponse(_message.Message): + __slots__ = ('success', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class DismissFormApprovalRequest(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class DismissFormApprovalResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetCellAuthStatusRequest(_message.Message): + __slots__ = ('cell_id', 'chat_id') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + chat_id: str + + def __init__(self, cell_id: _Optional[str]=..., chat_id: _Optional[str]=...) -> None: + ... + +class GetCellAuthStatusResponse(_message.Message): + __slots__ = ('lifecycle', 'can_continue') + LIFECYCLE_FIELD_NUMBER: _ClassVar[int] + CAN_CONTINUE_FIELD_NUMBER: _ClassVar[int] + lifecycle: CellLifecycle + can_continue: bool + + def __init__(self, lifecycle: _Optional[_Union[CellLifecycle, str]]=..., can_continue: bool=...) -> None: + ... + +class GrantSandboxOAuthPermissionRequest(_message.Message): + __slots__ = ('cell_id', 'api_access_key_id') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + api_access_key_id: str + + def __init__(self, cell_id: _Optional[str]=..., api_access_key_id: _Optional[str]=...) -> None: + ... + +class GrantSandboxOAuthPermissionResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ResumeChatAfterAuthRequest(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class ResumeChatAfterAuthResponse(_message.Message): + __slots__ = ('success', 'sql_cell', 'python_cell', 'powerbi_dax_cell', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + SQL_CELL_FIELD_NUMBER: _ClassVar[int] + PYTHON_CELL_FIELD_NUMBER: _ClassVar[int] + POWERBI_DAX_CELL_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + sql_cell: _cells_pb2.SQLCell + python_cell: _cells_pb2.PythonCell + powerbi_dax_cell: _cells_pb2.PowerBIDAXCell + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., sql_cell: _Optional[_Union[_cells_pb2.SQLCell, _Mapping]]=..., python_cell: _Optional[_Union[_cells_pb2.PythonCell, _Mapping]]=..., powerbi_dax_cell: _Optional[_Union[_cells_pb2.PowerBIDAXCell, _Mapping]]=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class ApproveOntologyChangeRequest(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class ApproveOntologyChangeResponse(_message.Message): + __slots__ = ('success', 'message', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + message: str + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., message: _Optional[str]=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class RejectOntologyChangeRequest(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class RejectOntologyChangeResponse(_message.Message): + __slots__ = ('success', 'message', 'resumed', 'resume_error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + RESUMED_FIELD_NUMBER: _ClassVar[int] + RESUME_ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + message: str + resumed: bool + resume_error: str + + def __init__(self, success: bool=..., message: _Optional[str]=..., resumed: bool=..., resume_error: _Optional[str]=...) -> None: + ... + +class GetMembersWithChatsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMembersWithChatsResponse(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[_identity_pb2.MemberPreview] + + def __init__(self, members: _Optional[_Iterable[_Union[_identity_pb2.MemberPreview, _Mapping]]]=...) -> None: + ... + +class CheckStreamlitHealthRequest(_message.Message): + __slots__ = ('chat_id', 'cell_id') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + cell_id: str + + def __init__(self, chat_id: _Optional[str]=..., cell_id: _Optional[str]=...) -> None: + ... + +class CheckStreamlitHealthResponse(_message.Message): + __slots__ = ('status', 'cell', 'embed_url', 'streamlit_url') + STATUS_FIELD_NUMBER: _ClassVar[int] + CELL_FIELD_NUMBER: _ClassVar[int] + EMBED_URL_FIELD_NUMBER: _ClassVar[int] + STREAMLIT_URL_FIELD_NUMBER: _ClassVar[int] + status: StreamlitHealthStatus + cell: Cell + embed_url: str + streamlit_url: str + + def __init__(self, status: _Optional[_Union[StreamlitHealthStatus, str]]=..., cell: _Optional[_Union[Cell, _Mapping]]=..., embed_url: _Optional[str]=..., streamlit_url: _Optional[str]=...) -> None: + ... + +class UpdateFormStatusRequest(_message.Message): + __slots__ = ('form_id', 'status') + FORM_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + form_id: str + status: _cells_pb2.EditableFormStatus + + def __init__(self, form_id: _Optional[str]=..., status: _Optional[_Union[_cells_pb2.EditableFormStatus, str]]=...) -> None: + ... + +class UpdateFormStatusResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: _cells_pb2.EditableForm + + def __init__(self, form: _Optional[_Union[_cells_pb2.EditableForm, _Mapping]]=...) -> None: + ... + +class UpdateFormFieldsRequest(_message.Message): + __slots__ = ('form_id', 'fields') + FORM_ID_FIELD_NUMBER: _ClassVar[int] + FIELDS_FIELD_NUMBER: _ClassVar[int] + form_id: str + fields: _struct_pb2.Struct + + def __init__(self, form_id: _Optional[str]=..., fields: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class UpdateFormFieldsResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: _cells_pb2.EditableForm + + def __init__(self, form: _Optional[_Union[_cells_pb2.EditableForm, _Mapping]]=...) -> None: + ... + +class UpdateFormValidationErrorRequest(_message.Message): + __slots__ = ('form_id', 'validation_error') + FORM_ID_FIELD_NUMBER: _ClassVar[int] + VALIDATION_ERROR_FIELD_NUMBER: _ClassVar[int] + form_id: str + validation_error: str + + def __init__(self, form_id: _Optional[str]=..., validation_error: _Optional[str]=...) -> None: + ... + +class UpdateFormValidationErrorResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: _cells_pb2.EditableForm + + def __init__(self, form: _Optional[_Union[_cells_pb2.EditableForm, _Mapping]]=...) -> None: + ... + +class GetCellRequest(_message.Message): + __slots__ = ('cell_id',) + CELL_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + + def __init__(self, cell_id: _Optional[str]=...) -> None: + ... + +class GetCellResponse(_message.Message): + __slots__ = ('cell',) + CELL_FIELD_NUMBER: _ClassVar[int] + cell: Cell + + def __init__(self, cell: _Optional[_Union[Cell, _Mapping]]=...) -> None: + ... + +class SetFormSubmitResultRequest(_message.Message): + __slots__ = ('form_id', 'submit_error', 'submit_result', 'status') + FORM_ID_FIELD_NUMBER: _ClassVar[int] + SUBMIT_ERROR_FIELD_NUMBER: _ClassVar[int] + SUBMIT_RESULT_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + form_id: str + submit_error: str + submit_result: str + status: _cells_pb2.EditableFormStatus + + def __init__(self, form_id: _Optional[str]=..., submit_error: _Optional[str]=..., submit_result: _Optional[str]=..., status: _Optional[_Union[_cells_pb2.EditableFormStatus, str]]=...) -> None: + ... + +class SetFormSubmitResultResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: _cells_pb2.EditableForm + + def __init__(self, form: _Optional[_Union[_cells_pb2.EditableForm, _Mapping]]=...) -> None: + ... + +class QueryOneShotRequest(_message.Message): + __slots__ = ('question', 'paradigm', 'model', 'chat_id') + QUESTION_FIELD_NUMBER: _ClassVar[int] + PARADIGM_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + question: str + paradigm: _paradigm_pb2.Paradigm + model: _llm_model_pb2.LlmModel + chat_id: str + + def __init__(self, question: _Optional[str]=..., paradigm: _Optional[_Union[_paradigm_pb2.Paradigm, _Mapping]]=..., model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., chat_id: _Optional[str]=...) -> None: + ... + +class QueryOneShotResponse(_message.Message): + __slots__ = ('chat_id', 'answer', 'cells') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + ANSWER_FIELD_NUMBER: _ClassVar[int] + CELLS_FIELD_NUMBER: _ClassVar[int] + chat_id: str + answer: str + cells: _containers.RepeatedCompositeFieldContainer[Cell] + + def __init__(self, chat_id: _Optional[str]=..., answer: _Optional[str]=..., cells: _Optional[_Iterable[_Union[Cell, _Mapping]]]=...) -> None: + ... + +class BookmarkChatRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class UnbookmarkChatRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class ArtifactSummary(_message.Message): + __slots__ = ('id', 'name', 'type', 'created_at', 'thumbnail_url') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + THUMBNAIL_URL_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + type: ArtifactType + created_at: _timestamp_pb2.Timestamp + thumbnail_url: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., type: _Optional[_Union[ArtifactType, str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., thumbnail_url: _Optional[str]=...) -> None: + ... + +class GetChatArtifactsSummaryRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class GetChatArtifactsSummaryResponse(_message.Message): + __slots__ = ('artifacts',) + ARTIFACTS_FIELD_NUMBER: _ClassVar[int] + artifacts: _containers.RepeatedCompositeFieldContainer[ArtifactSummary] + + def __init__(self, artifacts: _Optional[_Iterable[_Union[ArtifactSummary, _Mapping]]]=...) -> None: + ... + +class GetArtifactRequest(_message.Message): + __slots__ = ('artifact_id', 'chat_id') + ARTIFACT_ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + artifact_id: str + chat_id: str + + def __init__(self, artifact_id: _Optional[str]=..., chat_id: _Optional[str]=...) -> None: + ... + +class GetArtifactResponse(_message.Message): + __slots__ = ('id', 'name', 'file', 'streamlit', 'dashboard', 'form') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + FILE_FIELD_NUMBER: _ClassVar[int] + STREAMLIT_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + FORM_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + file: FileArtifactData + streamlit: StreamlitArtifactData + dashboard: DashboardArtifactData + form: FormArtifactData + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., file: _Optional[_Union[FileArtifactData, _Mapping]]=..., streamlit: _Optional[_Union[StreamlitArtifactData, _Mapping]]=..., dashboard: _Optional[_Union[DashboardArtifactData, _Mapping]]=..., form: _Optional[_Union[FormArtifactData, _Mapping]]=...) -> None: + ... + +class FileArtifactData(_message.Message): + __slots__ = ('url', 'type') + URL_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + url: str + type: ArtifactType + + def __init__(self, url: _Optional[str]=..., type: _Optional[_Union[ArtifactType, str]]=...) -> None: + ... + +class StreamlitArtifactData(_message.Message): + __slots__ = ('embed_url',) + EMBED_URL_FIELD_NUMBER: _ClassVar[int] + embed_url: str + + def __init__(self, embed_url: _Optional[str]=...) -> None: + ... + +class DashboardArtifactData(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class FormArtifactData(_message.Message): + __slots__ = ('form_id',) + FORM_ID_FIELD_NUMBER: _ClassVar[int] + form_id: str + + def __init__(self, form_id: _Optional[str]=...) -> None: + ... + +class MarkChatReadRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class MarkChatReadResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class MarkChatUnreadRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class MarkChatUnreadResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class EgressCall(_message.Message): + __slots__ = ('id', 'method', 'scheme', 'host', 'path', 'status_code', 'outcome', 'duration_ms', 'request_bytes', 'response_bytes', 'api_access_key_id', 'occurred_at', 'cell_id', 'interpretation') + ID_FIELD_NUMBER: _ClassVar[int] + METHOD_FIELD_NUMBER: _ClassVar[int] + SCHEME_FIELD_NUMBER: _ClassVar[int] + HOST_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + STATUS_CODE_FIELD_NUMBER: _ClassVar[int] + OUTCOME_FIELD_NUMBER: _ClassVar[int] + DURATION_MS_FIELD_NUMBER: _ClassVar[int] + REQUEST_BYTES_FIELD_NUMBER: _ClassVar[int] + RESPONSE_BYTES_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + OCCURRED_AT_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + INTERPRETATION_FIELD_NUMBER: _ClassVar[int] + id: str + method: str + scheme: str + host: str + path: str + status_code: int + outcome: str + duration_ms: int + request_bytes: int + response_bytes: int + api_access_key_id: str + occurred_at: _timestamp_pb2.Timestamp + cell_id: str + interpretation: str + + def __init__(self, id: _Optional[str]=..., method: _Optional[str]=..., scheme: _Optional[str]=..., host: _Optional[str]=..., path: _Optional[str]=..., status_code: _Optional[int]=..., outcome: _Optional[str]=..., duration_ms: _Optional[int]=..., request_bytes: _Optional[int]=..., response_bytes: _Optional[int]=..., api_access_key_id: _Optional[str]=..., occurred_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., cell_id: _Optional[str]=..., interpretation: _Optional[str]=...) -> None: + ... + +class EgressSummary(_message.Message): + __slots__ = ('total_calls', 'outcome_counts', 'calls') + + class OutcomeCountsEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: int + + def __init__(self, key: _Optional[str]=..., value: _Optional[int]=...) -> None: + ... + TOTAL_CALLS_FIELD_NUMBER: _ClassVar[int] + OUTCOME_COUNTS_FIELD_NUMBER: _ClassVar[int] + CALLS_FIELD_NUMBER: _ClassVar[int] + total_calls: int + outcome_counts: _containers.ScalarMap[str, int] + calls: _containers.RepeatedCompositeFieldContainer[EgressCall] + + def __init__(self, total_calls: _Optional[int]=..., outcome_counts: _Optional[_Mapping[str, int]]=..., calls: _Optional[_Iterable[_Union[EgressCall, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/checks_connect.py b/src/textql_sdk/_connect/public/checks_connect.py new file mode 100644 index 0000000..9858b8c --- /dev/null +++ b/src/textql_sdk/_connect/public/checks_connect.py @@ -0,0 +1,75 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import checks_pb2 as public_dot_checks__pb2 + +class ChecksService(Protocol): + + async def list_checks(self, request: public_dot_checks__pb2.ListChecksRequest, ctx: RequestContext) -> public_dot_checks__pb2.ListChecksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def run_checks(self, request: public_dot_checks__pb2.RunChecksRequest, ctx: RequestContext) -> public_dot_checks__pb2.RunChecksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_check_results(self, request: public_dot_checks__pb2.GetCheckResultsRequest, ctx: RequestContext) -> public_dot_checks__pb2.GetCheckResultsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ChecksServiceASGIApplication(ConnectASGIApplication[ChecksService]): + + def __init__(self, service: ChecksService | AsyncGenerator[ChecksService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.checks.ChecksService/ListChecks': Endpoint.unary(method=MethodInfo(name='ListChecks', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.ListChecksRequest, output=public_dot_checks__pb2.ListChecksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_checks), '/textql.rpc.public.checks.ChecksService/RunChecks': Endpoint.unary(method=MethodInfo(name='RunChecks', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.RunChecksRequest, output=public_dot_checks__pb2.RunChecksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.run_checks), '/textql.rpc.public.checks.ChecksService/GetCheckResults': Endpoint.unary(method=MethodInfo(name='GetCheckResults', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.GetCheckResultsRequest, output=public_dot_checks__pb2.GetCheckResultsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_check_results)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.checks.ChecksService' + +class ChecksServiceClient(ConnectClient): + + async def list_checks(self, request: public_dot_checks__pb2.ListChecksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_checks__pb2.ListChecksResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListChecks', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.ListChecksRequest, output=public_dot_checks__pb2.ListChecksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def run_checks(self, request: public_dot_checks__pb2.RunChecksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_checks__pb2.RunChecksResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RunChecks', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.RunChecksRequest, output=public_dot_checks__pb2.RunChecksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_check_results(self, request: public_dot_checks__pb2.GetCheckResultsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_checks__pb2.GetCheckResultsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCheckResults', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.GetCheckResultsRequest, output=public_dot_checks__pb2.GetCheckResultsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class ChecksServiceSync(Protocol): + + def list_checks(self, request: public_dot_checks__pb2.ListChecksRequest, ctx: RequestContext) -> public_dot_checks__pb2.ListChecksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def run_checks(self, request: public_dot_checks__pb2.RunChecksRequest, ctx: RequestContext) -> public_dot_checks__pb2.RunChecksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_check_results(self, request: public_dot_checks__pb2.GetCheckResultsRequest, ctx: RequestContext) -> public_dot_checks__pb2.GetCheckResultsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ChecksServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ChecksServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.checks.ChecksService/ListChecks': EndpointSync.unary(method=MethodInfo(name='ListChecks', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.ListChecksRequest, output=public_dot_checks__pb2.ListChecksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_checks), '/textql.rpc.public.checks.ChecksService/RunChecks': EndpointSync.unary(method=MethodInfo(name='RunChecks', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.RunChecksRequest, output=public_dot_checks__pb2.RunChecksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.run_checks), '/textql.rpc.public.checks.ChecksService/GetCheckResults': EndpointSync.unary(method=MethodInfo(name='GetCheckResults', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.GetCheckResultsRequest, output=public_dot_checks__pb2.GetCheckResultsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_check_results)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.checks.ChecksService' + +class ChecksServiceClientSync(ConnectClientSync): + + def list_checks(self, request: public_dot_checks__pb2.ListChecksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_checks__pb2.ListChecksResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListChecks', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.ListChecksRequest, output=public_dot_checks__pb2.ListChecksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def run_checks(self, request: public_dot_checks__pb2.RunChecksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_checks__pb2.RunChecksResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RunChecks', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.RunChecksRequest, output=public_dot_checks__pb2.RunChecksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_check_results(self, request: public_dot_checks__pb2.GetCheckResultsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_checks__pb2.GetCheckResultsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCheckResults', service_name='textql.rpc.public.checks.ChecksService', input=public_dot_checks__pb2.GetCheckResultsRequest, output=public_dot_checks__pb2.GetCheckResultsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/checks_pb2.py b/src/textql_sdk/_connect/public/checks_pb2.py new file mode 100644 index 0000000..420137c --- /dev/null +++ b/src/textql_sdk/_connect/public/checks_pb2.py @@ -0,0 +1,53 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/checks.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13public/checks.proto\x12\x18textql.rpc.public.checks\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\x83\x02\n\x05Check\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12#\n\rresource_type\x18\x02 \x01(\tR\x0cresourceType\x12\x14\n\x05title\x18\x03 \x01(\tR\x05title\x12C\n\x08severity\x18\x04 \x01(\x0e2\'.textql.rpc.public.checks.CheckSeverityR\x08severity\x12\x1c\n\tcondition\x18\x06 \x01(\tR\tcondition\x12 \n\x0bdescription\x18\x07 \x01(\tR\x0bdescription\x12\x1d\n\napplies_to\x18\x08 \x03(\tR\tappliesToJ\x04\x08\x05\x10\x06R\x05class"\x13\n\x11ListChecksRequest"M\n\x12ListChecksResponse\x127\n\x06checks\x18\x01 \x03(\x0b2\x1f.textql.rpc.public.checks.CheckR\x06checks"\xb3\x01\n\x07Finding\x12\x19\n\x08check_id\x18\x01 \x01(\tR\x07checkId\x12#\n\rresource_type\x18\x02 \x01(\tR\x0cresourceType\x12\x12\n\x04path\x18\x03 \x01(\tR\x04path\x12\x18\n\x07message\x18\x04 \x01(\tR\x07message\x12:\n\x05class\x18\x05 \x01(\x0e2$.textql.rpc.public.checks.CheckClassR\x05class"O\n\x10RunChecksRequest\x12\x1b\n\x08patch_id\x18\x01 \x01(\tH\x00R\x07patchId\x12\x14\n\x04live\x18\x02 \x01(\x08H\x00R\x04liveB\x08\n\x06target"|\n\x0cErroredCheck\x12\x19\n\x08check_id\x18\x01 \x01(\tR\x07checkId\x12#\n\rresource_type\x18\x02 \x01(\tR\x0cresourceType\x12\x12\n\x04path\x18\x03 \x01(\tR\x04path\x12\x18\n\x07message\x18\x04 \x01(\tR\x07message"\x81\x01\n\x19SaveBlockedByChecksDetail\x12=\n\x08findings\x18\x01 \x03(\x0b2!.textql.rpc.public.checks.FindingR\x08findings\x12%\n\x0eauthz_messages\x18\x02 \x03(\tR\rauthzMessages"\xb1\x01\n\x11RunChecksResponse\x12\x0e\n\x02ok\x18\x01 \x01(\x08R\x02ok\x12=\n\x08findings\x18\x02 \x03(\x0b2!.textql.rpc.public.checks.FindingR\x08findings\x12M\n\x0eerrored_checks\x18\x04 \x03(\x0b2&.textql.rpc.public.checks.ErroredCheckR\rerroredChecks"\xc6\x03\n\x0bCheckRecord\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x19\n\x08check_id\x18\x02 \x01(\tR\x07checkId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x12\n\x04path\x18\x04 \x01(\tR\x04path\x12\x1a\n\x08messages\x18\x05 \x03(\tR\x08messages\x12:\n\x05class\x18\x06 \x01(\x0e2$.textql.rpc.public.checks.CheckClassR\x05class\x12C\n\x08severity\x18\x07 \x01(\x0e2\'.textql.rpc.public.checks.CheckSeverityR\x08severity\x12\x18\n\x07errored\x18\x08 \x01(\x08R\x07errored\x12>\n\rfirst_seen_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bfirstSeenAt\x12<\n\x0clast_seen_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\nlastSeenAt\x12\x1e\n\x0bfix_chat_id\x18\x0b \x01(\tR\tfixChatId"\xdc\x02\n\x0cCheckRunInfo\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06source\x18\x02 \x01(\tR\x06source\x129\n\nstarted_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartedAt\x12;\n\x0bfinished_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\nfinishedAt\x12#\n\rfiles_scanned\x18\x05 \x01(\x05R\x0cfilesScanned\x12\x1d\n\nchecks_run\x18\x06 \x01(\x05R\tchecksRun\x12\x18\n\x07passing\x18\x07 \x01(\x05R\x07passing\x12\x1a\n\x08warnings\x18\x08 \x01(\x05R\x08warnings\x12\x18\n\x07failing\x18\t \x01(\x05R\x07failing\x12\x18\n\x07errored\x18\n \x01(\x05R\x07errored"\x18\n\x16GetCheckResultsRequest"\xa1\x01\n\x17GetCheckResultsResponse\x12?\n\x07records\x18\x01 \x03(\x0b2%.textql.rpc.public.checks.CheckRecordR\x07records\x12=\n\x03run\x18\x02 \x01(\x0b2&.textql.rpc.public.checks.CheckRunInfoH\x00R\x03run\x88\x01\x01B\x06\n\x04_run*b\n\rCheckSeverity\x12\x1e\n\x1aCHECK_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n\x14CHECK_SEVERITY_ERROR\x10\x01\x12\x17\n\x13CHECK_SEVERITY_WARN\x10\x02*j\n\nCheckClass\x12\x1b\n\x17CHECK_CLASS_UNSPECIFIED\x10\x00\x12\x1c\n\x18CHECK_CLASS_EDIT_FIXABLE\x10\x01\x12!\n\x1dCHECK_CLASS_ORG_STATE_FIXABLE\x10\x022\xe5\x02\n\rChecksService\x12l\n\nListChecks\x12+.textql.rpc.public.checks.ListChecksRequest\x1a,.textql.rpc.public.checks.ListChecksResponse"\x03\x90\x02\x01\x12i\n\tRunChecks\x12*.textql.rpc.public.checks.RunChecksRequest\x1a+.textql.rpc.public.checks.RunChecksResponse"\x03\x90\x02\x01\x12{\n\x0fGetCheckResults\x120.textql.rpc.public.checks.GetCheckResultsRequest\x1a1.textql.rpc.public.checks.GetCheckResultsResponse"\x03\x90\x02\x01B\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.checks_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_CHECKSSERVICE'].methods_by_name['ListChecks']._loaded_options = None + _globals['_CHECKSSERVICE'].methods_by_name['ListChecks']._serialized_options = b'\x90\x02\x01' + _globals['_CHECKSSERVICE'].methods_by_name['RunChecks']._loaded_options = None + _globals['_CHECKSSERVICE'].methods_by_name['RunChecks']._serialized_options = b'\x90\x02\x01' + _globals['_CHECKSSERVICE'].methods_by_name['GetCheckResults']._loaded_options = None + _globals['_CHECKSSERVICE'].methods_by_name['GetCheckResults']._serialized_options = b'\x90\x02\x01' + _globals['_CHECKSEVERITY']._serialized_start = 2165 + _globals['_CHECKSEVERITY']._serialized_end = 2263 + _globals['_CHECKCLASS']._serialized_start = 2265 + _globals['_CHECKCLASS']._serialized_end = 2371 + _globals['_CHECK']._serialized_start = 105 + _globals['_CHECK']._serialized_end = 364 + _globals['_LISTCHECKSREQUEST']._serialized_start = 366 + _globals['_LISTCHECKSREQUEST']._serialized_end = 385 + _globals['_LISTCHECKSRESPONSE']._serialized_start = 387 + _globals['_LISTCHECKSRESPONSE']._serialized_end = 464 + _globals['_FINDING']._serialized_start = 467 + _globals['_FINDING']._serialized_end = 646 + _globals['_RUNCHECKSREQUEST']._serialized_start = 648 + _globals['_RUNCHECKSREQUEST']._serialized_end = 727 + _globals['_ERROREDCHECK']._serialized_start = 729 + _globals['_ERROREDCHECK']._serialized_end = 853 + _globals['_SAVEBLOCKEDBYCHECKSDETAIL']._serialized_start = 856 + _globals['_SAVEBLOCKEDBYCHECKSDETAIL']._serialized_end = 985 + _globals['_RUNCHECKSRESPONSE']._serialized_start = 988 + _globals['_RUNCHECKSRESPONSE']._serialized_end = 1165 + _globals['_CHECKRECORD']._serialized_start = 1168 + _globals['_CHECKRECORD']._serialized_end = 1622 + _globals['_CHECKRUNINFO']._serialized_start = 1625 + _globals['_CHECKRUNINFO']._serialized_end = 1973 + _globals['_GETCHECKRESULTSREQUEST']._serialized_start = 1975 + _globals['_GETCHECKRESULTSREQUEST']._serialized_end = 1999 + _globals['_GETCHECKRESULTSRESPONSE']._serialized_start = 2002 + _globals['_GETCHECKRESULTSRESPONSE']._serialized_end = 2163 + _globals['_CHECKSSERVICE']._serialized_start = 2374 + _globals['_CHECKSSERVICE']._serialized_end = 2731 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/checks_pb2.pyi b/src/textql_sdk/_connect/public/checks_pb2.pyi new file mode 100644 index 0000000..09e7b6b --- /dev/null +++ b/src/textql_sdk/_connect/public/checks_pb2.pyi @@ -0,0 +1,192 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class CheckSeverity(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CHECK_SEVERITY_UNSPECIFIED: _ClassVar[CheckSeverity] + CHECK_SEVERITY_ERROR: _ClassVar[CheckSeverity] + CHECK_SEVERITY_WARN: _ClassVar[CheckSeverity] + +class CheckClass(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CHECK_CLASS_UNSPECIFIED: _ClassVar[CheckClass] + CHECK_CLASS_EDIT_FIXABLE: _ClassVar[CheckClass] + CHECK_CLASS_ORG_STATE_FIXABLE: _ClassVar[CheckClass] +CHECK_SEVERITY_UNSPECIFIED: CheckSeverity +CHECK_SEVERITY_ERROR: CheckSeverity +CHECK_SEVERITY_WARN: CheckSeverity +CHECK_CLASS_UNSPECIFIED: CheckClass +CHECK_CLASS_EDIT_FIXABLE: CheckClass +CHECK_CLASS_ORG_STATE_FIXABLE: CheckClass + +class Check(_message.Message): + __slots__ = ('id', 'resource_type', 'title', 'severity', 'condition', 'description', 'applies_to') + ID_FIELD_NUMBER: _ClassVar[int] + RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + SEVERITY_FIELD_NUMBER: _ClassVar[int] + CONDITION_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + APPLIES_TO_FIELD_NUMBER: _ClassVar[int] + id: str + resource_type: str + title: str + severity: CheckSeverity + condition: str + description: str + applies_to: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, id: _Optional[str]=..., resource_type: _Optional[str]=..., title: _Optional[str]=..., severity: _Optional[_Union[CheckSeverity, str]]=..., condition: _Optional[str]=..., description: _Optional[str]=..., applies_to: _Optional[_Iterable[str]]=...) -> None: + ... + +class ListChecksRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListChecksResponse(_message.Message): + __slots__ = ('checks',) + CHECKS_FIELD_NUMBER: _ClassVar[int] + checks: _containers.RepeatedCompositeFieldContainer[Check] + + def __init__(self, checks: _Optional[_Iterable[_Union[Check, _Mapping]]]=...) -> None: + ... + +class Finding(_message.Message): + __slots__ = ('check_id', 'resource_type', 'path', 'message') + CHECK_ID_FIELD_NUMBER: _ClassVar[int] + RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + CLASS_FIELD_NUMBER: _ClassVar[int] + check_id: str + resource_type: str + path: str + message: str + + def __init__(self, check_id: _Optional[str]=..., resource_type: _Optional[str]=..., path: _Optional[str]=..., message: _Optional[str]=..., **kwargs) -> None: + ... + +class RunChecksRequest(_message.Message): + __slots__ = ('patch_id', 'live') + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + LIVE_FIELD_NUMBER: _ClassVar[int] + patch_id: str + live: bool + + def __init__(self, patch_id: _Optional[str]=..., live: bool=...) -> None: + ... + +class ErroredCheck(_message.Message): + __slots__ = ('check_id', 'resource_type', 'path', 'message') + CHECK_ID_FIELD_NUMBER: _ClassVar[int] + RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + check_id: str + resource_type: str + path: str + message: str + + def __init__(self, check_id: _Optional[str]=..., resource_type: _Optional[str]=..., path: _Optional[str]=..., message: _Optional[str]=...) -> None: + ... + +class SaveBlockedByChecksDetail(_message.Message): + __slots__ = ('findings', 'authz_messages') + FINDINGS_FIELD_NUMBER: _ClassVar[int] + AUTHZ_MESSAGES_FIELD_NUMBER: _ClassVar[int] + findings: _containers.RepeatedCompositeFieldContainer[Finding] + authz_messages: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, findings: _Optional[_Iterable[_Union[Finding, _Mapping]]]=..., authz_messages: _Optional[_Iterable[str]]=...) -> None: + ... + +class RunChecksResponse(_message.Message): + __slots__ = ('ok', 'findings', 'errored_checks') + OK_FIELD_NUMBER: _ClassVar[int] + FINDINGS_FIELD_NUMBER: _ClassVar[int] + ERRORED_CHECKS_FIELD_NUMBER: _ClassVar[int] + ok: bool + findings: _containers.RepeatedCompositeFieldContainer[Finding] + errored_checks: _containers.RepeatedCompositeFieldContainer[ErroredCheck] + + def __init__(self, ok: bool=..., findings: _Optional[_Iterable[_Union[Finding, _Mapping]]]=..., errored_checks: _Optional[_Iterable[_Union[ErroredCheck, _Mapping]]]=...) -> None: + ... + +class CheckRecord(_message.Message): + __slots__ = ('id', 'check_id', 'resource_type', 'path', 'messages', 'severity', 'errored', 'first_seen_at', 'last_seen_at', 'fix_chat_id') + ID_FIELD_NUMBER: _ClassVar[int] + CHECK_ID_FIELD_NUMBER: _ClassVar[int] + RESOURCE_TYPE_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + MESSAGES_FIELD_NUMBER: _ClassVar[int] + CLASS_FIELD_NUMBER: _ClassVar[int] + SEVERITY_FIELD_NUMBER: _ClassVar[int] + ERRORED_FIELD_NUMBER: _ClassVar[int] + FIRST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] + LAST_SEEN_AT_FIELD_NUMBER: _ClassVar[int] + FIX_CHAT_ID_FIELD_NUMBER: _ClassVar[int] + id: str + check_id: str + resource_type: str + path: str + messages: _containers.RepeatedScalarFieldContainer[str] + severity: CheckSeverity + errored: bool + first_seen_at: _timestamp_pb2.Timestamp + last_seen_at: _timestamp_pb2.Timestamp + fix_chat_id: str + + def __init__(self, id: _Optional[str]=..., check_id: _Optional[str]=..., resource_type: _Optional[str]=..., path: _Optional[str]=..., messages: _Optional[_Iterable[str]]=..., severity: _Optional[_Union[CheckSeverity, str]]=..., errored: bool=..., first_seen_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_seen_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., fix_chat_id: _Optional[str]=..., **kwargs) -> None: + ... + +class CheckRunInfo(_message.Message): + __slots__ = ('id', 'source', 'started_at', 'finished_at', 'files_scanned', 'checks_run', 'passing', 'warnings', 'failing', 'errored') + ID_FIELD_NUMBER: _ClassVar[int] + SOURCE_FIELD_NUMBER: _ClassVar[int] + STARTED_AT_FIELD_NUMBER: _ClassVar[int] + FINISHED_AT_FIELD_NUMBER: _ClassVar[int] + FILES_SCANNED_FIELD_NUMBER: _ClassVar[int] + CHECKS_RUN_FIELD_NUMBER: _ClassVar[int] + PASSING_FIELD_NUMBER: _ClassVar[int] + WARNINGS_FIELD_NUMBER: _ClassVar[int] + FAILING_FIELD_NUMBER: _ClassVar[int] + ERRORED_FIELD_NUMBER: _ClassVar[int] + id: str + source: str + started_at: _timestamp_pb2.Timestamp + finished_at: _timestamp_pb2.Timestamp + files_scanned: int + checks_run: int + passing: int + warnings: int + failing: int + errored: int + + def __init__(self, id: _Optional[str]=..., source: _Optional[str]=..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., finished_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., files_scanned: _Optional[int]=..., checks_run: _Optional[int]=..., passing: _Optional[int]=..., warnings: _Optional[int]=..., failing: _Optional[int]=..., errored: _Optional[int]=...) -> None: + ... + +class GetCheckResultsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetCheckResultsResponse(_message.Message): + __slots__ = ('records', 'run') + RECORDS_FIELD_NUMBER: _ClassVar[int] + RUN_FIELD_NUMBER: _ClassVar[int] + records: _containers.RepeatedCompositeFieldContainer[CheckRecord] + run: CheckRunInfo + + def __init__(self, records: _Optional[_Iterable[_Union[CheckRecord, _Mapping]]]=..., run: _Optional[_Union[CheckRunInfo, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/common_pb2.py b/src/textql_sdk/_connect/public/common_pb2.py new file mode 100644 index 0000000..1b5b1e5 --- /dev/null +++ b/src/textql_sdk/_connect/public/common_pb2.py @@ -0,0 +1,16 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/common.proto') +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13public/common.proto\x12\x18textql.rpc.public.common*\\\n\rSortDirection\x12\x1a\n\x16SORT_DIRECTION_UNKNOWN\x10\x00\x12\x16\n\x12SORT_DIRECTION_ASC\x10\x01\x12\x17\n\x13SORT_DIRECTION_DESC\x10\x02b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.common_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SORTDIRECTION']._serialized_start = 49 + _globals['_SORTDIRECTION']._serialized_end = 141 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/common_pb2.pyi b/src/textql_sdk/_connect/public/common_pb2.pyi new file mode 100644 index 0000000..f37c54c --- /dev/null +++ b/src/textql_sdk/_connect/public/common_pb2.pyi @@ -0,0 +1,13 @@ +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from typing import ClassVar as _ClassVar +DESCRIPTOR: _descriptor.FileDescriptor + +class SortDirection(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SORT_DIRECTION_UNKNOWN: _ClassVar[SortDirection] + SORT_DIRECTION_ASC: _ClassVar[SortDirection] + SORT_DIRECTION_DESC: _ClassVar[SortDirection] +SORT_DIRECTION_UNKNOWN: SortDirection +SORT_DIRECTION_ASC: SortDirection +SORT_DIRECTION_DESC: SortDirection \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/communications_connect.py b/src/textql_sdk/_connect/public/communications_connect.py new file mode 100644 index 0000000..086bbad --- /dev/null +++ b/src/textql_sdk/_connect/public/communications_connect.py @@ -0,0 +1,63 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import communications_pb2 as public_dot_communications__pb2 + +class CommunicationsService(Protocol): + + async def send_email(self, request: public_dot_communications__pb2.SendEmailRequest, ctx: RequestContext) -> public_dot_communications__pb2.SendEmailResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upload_feedback_screenshot(self, request: public_dot_communications__pb2.UploadFeedbackScreenshotRequest, ctx: RequestContext) -> public_dot_communications__pb2.UploadFeedbackScreenshotResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class CommunicationsServiceASGIApplication(ConnectASGIApplication[CommunicationsService]): + + def __init__(self, service: CommunicationsService | AsyncGenerator[CommunicationsService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.communications.CommunicationsService/SendEmail': Endpoint.unary(method=MethodInfo(name='SendEmail', service_name='textql.rpc.public.communications.CommunicationsService', input=public_dot_communications__pb2.SendEmailRequest, output=public_dot_communications__pb2.SendEmailResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.send_email), '/textql.rpc.public.communications.CommunicationsService/UploadFeedbackScreenshot': Endpoint.unary(method=MethodInfo(name='UploadFeedbackScreenshot', service_name='textql.rpc.public.communications.CommunicationsService', input=public_dot_communications__pb2.UploadFeedbackScreenshotRequest, output=public_dot_communications__pb2.UploadFeedbackScreenshotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upload_feedback_screenshot)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.communications.CommunicationsService' + +class CommunicationsServiceClient(ConnectClient): + + async def send_email(self, request: public_dot_communications__pb2.SendEmailRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_communications__pb2.SendEmailResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SendEmail', service_name='textql.rpc.public.communications.CommunicationsService', input=public_dot_communications__pb2.SendEmailRequest, output=public_dot_communications__pb2.SendEmailResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def upload_feedback_screenshot(self, request: public_dot_communications__pb2.UploadFeedbackScreenshotRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_communications__pb2.UploadFeedbackScreenshotResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UploadFeedbackScreenshot', service_name='textql.rpc.public.communications.CommunicationsService', input=public_dot_communications__pb2.UploadFeedbackScreenshotRequest, output=public_dot_communications__pb2.UploadFeedbackScreenshotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class CommunicationsServiceSync(Protocol): + + def send_email(self, request: public_dot_communications__pb2.SendEmailRequest, ctx: RequestContext) -> public_dot_communications__pb2.SendEmailResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upload_feedback_screenshot(self, request: public_dot_communications__pb2.UploadFeedbackScreenshotRequest, ctx: RequestContext) -> public_dot_communications__pb2.UploadFeedbackScreenshotResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class CommunicationsServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: CommunicationsServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.communications.CommunicationsService/SendEmail': EndpointSync.unary(method=MethodInfo(name='SendEmail', service_name='textql.rpc.public.communications.CommunicationsService', input=public_dot_communications__pb2.SendEmailRequest, output=public_dot_communications__pb2.SendEmailResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.send_email), '/textql.rpc.public.communications.CommunicationsService/UploadFeedbackScreenshot': EndpointSync.unary(method=MethodInfo(name='UploadFeedbackScreenshot', service_name='textql.rpc.public.communications.CommunicationsService', input=public_dot_communications__pb2.UploadFeedbackScreenshotRequest, output=public_dot_communications__pb2.UploadFeedbackScreenshotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upload_feedback_screenshot)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.communications.CommunicationsService' + +class CommunicationsServiceClientSync(ConnectClientSync): + + def send_email(self, request: public_dot_communications__pb2.SendEmailRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_communications__pb2.SendEmailResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SendEmail', service_name='textql.rpc.public.communications.CommunicationsService', input=public_dot_communications__pb2.SendEmailRequest, output=public_dot_communications__pb2.SendEmailResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def upload_feedback_screenshot(self, request: public_dot_communications__pb2.UploadFeedbackScreenshotRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_communications__pb2.UploadFeedbackScreenshotResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UploadFeedbackScreenshot', service_name='textql.rpc.public.communications.CommunicationsService', input=public_dot_communications__pb2.UploadFeedbackScreenshotRequest, output=public_dot_communications__pb2.UploadFeedbackScreenshotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/communications_pb2.py b/src/textql_sdk/_connect/public/communications_pb2.py new file mode 100644 index 0000000..822224f --- /dev/null +++ b/src/textql_sdk/_connect/public/communications_pb2.py @@ -0,0 +1,26 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/communications.proto') +_sym_db = _symbol_database.Default() +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpublic/communications.proto\x12 textql.rpc.public.communications\x1a\x14public/options.proto"\xfb\x01\n\x10SendEmailRequest\x12\x18\n\x07subject\x18\x01 \x01(\tR\x07subject\x12\x12\n\x04body\x18\x02 \x01(\tR\x04body\x12\x13\n\x02to\x18\x03 \x01(\tH\x00R\x02to\x88\x01\x01\x12 \n\treport_id\x18\x04 \x01(\tH\x01R\x08reportId\x88\x01\x01\x12"\n\nowner_name\x18\x05 \x01(\tH\x02R\townerName\x88\x01\x01\x12(\n\rreport_source\x18\x06 \x01(\tH\x03R\x0creportSource\x88\x01\x01B\x05\n\x03_toB\x0c\n\n_report_idB\r\n\x0b_owner_nameB\x10\n\x0e_report_source"R\n\x11SendEmailResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"A\n\x1fUploadFeedbackScreenshotRequest\x12\x1e\n\nscreenshot\x18\x01 \x01(\x0cR\nscreenshot"I\n UploadFeedbackScreenshotResponse\x12%\n\x0escreenshot_url\x18\x01 \x01(\tR\rscreenshotUrl2\xb1\x02\n\x15CommunicationsService\x12t\n\tSendEmail\x122.textql.rpc.public.communications.SendEmailRequest\x1a3.textql.rpc.public.communications.SendEmailResponse\x12\xa1\x01\n\x18UploadFeedbackScreenshot\x12A.textql.rpc.public.communications.UploadFeedbackScreenshotRequest\x1aB.textql.rpc.public.communications.UploadFeedbackScreenshotResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.communications_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_SENDEMAILREQUEST']._serialized_start = 88 + _globals['_SENDEMAILREQUEST']._serialized_end = 339 + _globals['_SENDEMAILRESPONSE']._serialized_start = 341 + _globals['_SENDEMAILRESPONSE']._serialized_end = 423 + _globals['_UPLOADFEEDBACKSCREENSHOTREQUEST']._serialized_start = 425 + _globals['_UPLOADFEEDBACKSCREENSHOTREQUEST']._serialized_end = 490 + _globals['_UPLOADFEEDBACKSCREENSHOTRESPONSE']._serialized_start = 492 + _globals['_UPLOADFEEDBACKSCREENSHOTRESPONSE']._serialized_end = 565 + _globals['_COMMUNICATIONSSERVICE']._serialized_start = 568 + _globals['_COMMUNICATIONSSERVICE']._serialized_end = 873 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/communications_pb2.pyi b/src/textql_sdk/_connect/public/communications_pb2.pyi new file mode 100644 index 0000000..7a3c3f6 --- /dev/null +++ b/src/textql_sdk/_connect/public/communications_pb2.pyi @@ -0,0 +1,49 @@ +from public import options_pb2 as _options_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Optional as _Optional +DESCRIPTOR: _descriptor.FileDescriptor + +class SendEmailRequest(_message.Message): + __slots__ = ('subject', 'body', 'to', 'report_id', 'owner_name', 'report_source') + SUBJECT_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + TO_FIELD_NUMBER: _ClassVar[int] + REPORT_ID_FIELD_NUMBER: _ClassVar[int] + OWNER_NAME_FIELD_NUMBER: _ClassVar[int] + REPORT_SOURCE_FIELD_NUMBER: _ClassVar[int] + subject: str + body: str + to: str + report_id: str + owner_name: str + report_source: str + + def __init__(self, subject: _Optional[str]=..., body: _Optional[str]=..., to: _Optional[str]=..., report_id: _Optional[str]=..., owner_name: _Optional[str]=..., report_source: _Optional[str]=...) -> None: + ... + +class SendEmailResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class UploadFeedbackScreenshotRequest(_message.Message): + __slots__ = ('screenshot',) + SCREENSHOT_FIELD_NUMBER: _ClassVar[int] + screenshot: bytes + + def __init__(self, screenshot: _Optional[bytes]=...) -> None: + ... + +class UploadFeedbackScreenshotResponse(_message.Message): + __slots__ = ('screenshot_url',) + SCREENSHOT_URL_FIELD_NUMBER: _ClassVar[int] + screenshot_url: str + + def __init__(self, screenshot_url: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/config_source_pb2.py b/src/textql_sdk/_connect/public/config_source_pb2.py new file mode 100644 index 0000000..ca4534e --- /dev/null +++ b/src/textql_sdk/_connect/public/config_source_pb2.py @@ -0,0 +1,18 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/config_source.proto') +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1apublic/config_source.proto\x12\x1ftextql.rpc.public.config_source"\xf9\x01\n\x0cConfigSource\x12\x1b\n\tfile_path\x18\x01 \x01(\tR\x08filePath\x12R\n\x0bsync_status\x18\x02 \x01(\x0e21.textql.rpc.public.config_source.ConfigSyncStatusR\nsyncStatus\x12"\n\nsync_error\x18\x03 \x01(\tH\x00R\tsyncError\x88\x01\x01\x12/\n\x11breaking_patch_id\x18\x04 \x01(\tH\x01R\x0fbreakingPatchId\x88\x01\x01B\r\n\x0b_sync_errorB\x14\n\x12_breaking_patch_id*\x93\x01\n\x10ConfigSyncStatus\x12"\n\x1eCONFIG_SYNC_STATUS_UNSPECIFIED\x10\x00\x12\x1e\n\x1aCONFIG_SYNC_STATUS_SYNCING\x10\x01\x12\x1d\n\x19CONFIG_SYNC_STATUS_SYNCED\x10\x02\x12\x1c\n\x18CONFIG_SYNC_STATUS_ERROR\x10\x03b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.config_source_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CONFIGSYNCSTATUS']._serialized_start = 316 + _globals['_CONFIGSYNCSTATUS']._serialized_end = 463 + _globals['_CONFIGSOURCE']._serialized_start = 64 + _globals['_CONFIGSOURCE']._serialized_end = 313 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/config_source_pb2.pyi b/src/textql_sdk/_connect/public/config_source_pb2.pyi new file mode 100644 index 0000000..1ae0e36 --- /dev/null +++ b/src/textql_sdk/_connect/public/config_source_pb2.pyi @@ -0,0 +1,30 @@ +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ConfigSyncStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CONFIG_SYNC_STATUS_UNSPECIFIED: _ClassVar[ConfigSyncStatus] + CONFIG_SYNC_STATUS_SYNCING: _ClassVar[ConfigSyncStatus] + CONFIG_SYNC_STATUS_SYNCED: _ClassVar[ConfigSyncStatus] + CONFIG_SYNC_STATUS_ERROR: _ClassVar[ConfigSyncStatus] +CONFIG_SYNC_STATUS_UNSPECIFIED: ConfigSyncStatus +CONFIG_SYNC_STATUS_SYNCING: ConfigSyncStatus +CONFIG_SYNC_STATUS_SYNCED: ConfigSyncStatus +CONFIG_SYNC_STATUS_ERROR: ConfigSyncStatus + +class ConfigSource(_message.Message): + __slots__ = ('file_path', 'sync_status', 'sync_error', 'breaking_patch_id') + FILE_PATH_FIELD_NUMBER: _ClassVar[int] + SYNC_STATUS_FIELD_NUMBER: _ClassVar[int] + SYNC_ERROR_FIELD_NUMBER: _ClassVar[int] + BREAKING_PATCH_ID_FIELD_NUMBER: _ClassVar[int] + file_path: str + sync_status: ConfigSyncStatus + sync_error: str + breaking_patch_id: str + + def __init__(self, file_path: _Optional[str]=..., sync_status: _Optional[_Union[ConfigSyncStatus, str]]=..., sync_error: _Optional[str]=..., breaking_patch_id: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/connector_connect.py b/src/textql_sdk/_connect/public/connector_connect.py new file mode 100644 index 0000000..696a977 --- /dev/null +++ b/src/textql_sdk/_connect/public/connector_connect.py @@ -0,0 +1,243 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import connector_pb2 as public_dot_connector__pb2 + +class ConnectorService(Protocol): + + async def create_connector(self, request: public_dot_connector__pb2.CreateConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.CreateConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_connector(self, request: public_dot_connector__pb2.UpdateConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.UpdateConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_connector(self, request: public_dot_connector__pb2.GetConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_connectors(self, request: public_dot_connector__pb2.GetConnectorsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_connector(self, request: public_dot_connector__pb2.DeleteConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.DeleteConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def test_connector(self, request: public_dot_connector__pb2.TestConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.TestConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def duplicate_connector(self, request: public_dot_connector__pb2.DuplicateConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.DuplicateConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_connector_tables(self, request: public_dot_connector__pb2.ListConnectorTablesRequest, ctx: RequestContext) -> public_dot_connector__pb2.ListConnectorTablesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_table_preview(self, request: public_dot_connector__pb2.GetTablePreviewRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetTablePreviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def execute_query(self, request: public_dot_connector__pb2.ExecuteQueryRequest, ctx: RequestContext) -> public_dot_connector__pb2.ExecuteQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_example_queries(self, request: public_dot_connector__pb2.GetExampleQueriesRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetExampleQueriesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_connector_stats(self, request: public_dot_connector__pb2.GetConnectorStatsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_query_templates(self, request: public_dot_connector__pb2.ListQueryTemplatesRequest, ctx: RequestContext) -> public_dot_connector__pb2.ListQueryTemplatesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_connector_usage(self, request: public_dot_connector__pb2.GetConnectorUsageRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorUsageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_connector_chats(self, request: public_dot_connector__pb2.GetConnectorChatsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorChatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_connector_cell_durations(self, request: public_dot_connector__pb2.GetConnectorCellDurationsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorCellDurationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_connector_dashboards(self, request: public_dot_connector__pb2.GetConnectorDashboardsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorDashboardsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ConnectorServiceASGIApplication(ConnectASGIApplication[ConnectorService]): + + def __init__(self, service: ConnectorService | AsyncGenerator[ConnectorService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.connector.ConnectorService/CreateConnector': Endpoint.unary(method=MethodInfo(name='CreateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.CreateConnectorRequest, output=public_dot_connector__pb2.CreateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_connector), '/textql.rpc.public.connector.ConnectorService/UpdateConnector': Endpoint.unary(method=MethodInfo(name='UpdateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.UpdateConnectorRequest, output=public_dot_connector__pb2.UpdateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_connector), '/textql.rpc.public.connector.ConnectorService/GetConnector': Endpoint.unary(method=MethodInfo(name='GetConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorRequest, output=public_dot_connector__pb2.GetConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_connector), '/textql.rpc.public.connector.ConnectorService/GetConnectors': Endpoint.unary(method=MethodInfo(name='GetConnectors', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorsRequest, output=public_dot_connector__pb2.GetConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_connectors), '/textql.rpc.public.connector.ConnectorService/DeleteConnector': Endpoint.unary(method=MethodInfo(name='DeleteConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.DeleteConnectorRequest, output=public_dot_connector__pb2.DeleteConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_connector), '/textql.rpc.public.connector.ConnectorService/TestConnector': Endpoint.unary(method=MethodInfo(name='TestConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.TestConnectorRequest, output=public_dot_connector__pb2.TestConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.test_connector), '/textql.rpc.public.connector.ConnectorService/DuplicateConnector': Endpoint.unary(method=MethodInfo(name='DuplicateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.DuplicateConnectorRequest, output=public_dot_connector__pb2.DuplicateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.duplicate_connector), '/textql.rpc.public.connector.ConnectorService/ListConnectorTables': Endpoint.unary(method=MethodInfo(name='ListConnectorTables', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ListConnectorTablesRequest, output=public_dot_connector__pb2.ListConnectorTablesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_connector_tables), '/textql.rpc.public.connector.ConnectorService/GetTablePreview': Endpoint.unary(method=MethodInfo(name='GetTablePreview', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetTablePreviewRequest, output=public_dot_connector__pb2.GetTablePreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_table_preview), '/textql.rpc.public.connector.ConnectorService/ExecuteQuery': Endpoint.unary(method=MethodInfo(name='ExecuteQuery', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ExecuteQueryRequest, output=public_dot_connector__pb2.ExecuteQueryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.execute_query), '/textql.rpc.public.connector.ConnectorService/GetExampleQueries': Endpoint.unary(method=MethodInfo(name='GetExampleQueries', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetExampleQueriesRequest, output=public_dot_connector__pb2.GetExampleQueriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_example_queries), '/textql.rpc.public.connector.ConnectorService/GetConnectorStats': Endpoint.unary(method=MethodInfo(name='GetConnectorStats', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorStatsRequest, output=public_dot_connector__pb2.GetConnectorStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_connector_stats), '/textql.rpc.public.connector.ConnectorService/ListQueryTemplates': Endpoint.unary(method=MethodInfo(name='ListQueryTemplates', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ListQueryTemplatesRequest, output=public_dot_connector__pb2.ListQueryTemplatesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_query_templates), '/textql.rpc.public.connector.ConnectorService/GetConnectorUsage': Endpoint.unary(method=MethodInfo(name='GetConnectorUsage', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorUsageRequest, output=public_dot_connector__pb2.GetConnectorUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_connector_usage), '/textql.rpc.public.connector.ConnectorService/GetConnectorChats': Endpoint.unary(method=MethodInfo(name='GetConnectorChats', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorChatsRequest, output=public_dot_connector__pb2.GetConnectorChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_connector_chats), '/textql.rpc.public.connector.ConnectorService/GetConnectorCellDurations': Endpoint.unary(method=MethodInfo(name='GetConnectorCellDurations', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorCellDurationsRequest, output=public_dot_connector__pb2.GetConnectorCellDurationsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_connector_cell_durations), '/textql.rpc.public.connector.ConnectorService/GetConnectorDashboards': Endpoint.unary(method=MethodInfo(name='GetConnectorDashboards', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorDashboardsRequest, output=public_dot_connector__pb2.GetConnectorDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_connector_dashboards)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.connector.ConnectorService' + +class ConnectorServiceClient(ConnectClient): + + async def create_connector(self, request: public_dot_connector__pb2.CreateConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.CreateConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.CreateConnectorRequest, output=public_dot_connector__pb2.CreateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_connector(self, request: public_dot_connector__pb2.UpdateConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.UpdateConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.UpdateConnectorRequest, output=public_dot_connector__pb2.UpdateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_connector(self, request: public_dot_connector__pb2.GetConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.GetConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorRequest, output=public_dot_connector__pb2.GetConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_connectors(self, request: public_dot_connector__pb2.GetConnectorsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.GetConnectorsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConnectors', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorsRequest, output=public_dot_connector__pb2.GetConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_connector(self, request: public_dot_connector__pb2.DeleteConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.DeleteConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.DeleteConnectorRequest, output=public_dot_connector__pb2.DeleteConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def test_connector(self, request: public_dot_connector__pb2.TestConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.TestConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.TestConnectorRequest, output=public_dot_connector__pb2.TestConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def duplicate_connector(self, request: public_dot_connector__pb2.DuplicateConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.DuplicateConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DuplicateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.DuplicateConnectorRequest, output=public_dot_connector__pb2.DuplicateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_connector_tables(self, request: public_dot_connector__pb2.ListConnectorTablesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.ListConnectorTablesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListConnectorTables', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ListConnectorTablesRequest, output=public_dot_connector__pb2.ListConnectorTablesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_table_preview(self, request: public_dot_connector__pb2.GetTablePreviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetTablePreviewResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetTablePreview', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetTablePreviewRequest, output=public_dot_connector__pb2.GetTablePreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def execute_query(self, request: public_dot_connector__pb2.ExecuteQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.ExecuteQueryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExecuteQuery', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ExecuteQueryRequest, output=public_dot_connector__pb2.ExecuteQueryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_example_queries(self, request: public_dot_connector__pb2.GetExampleQueriesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetExampleQueriesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetExampleQueries', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetExampleQueriesRequest, output=public_dot_connector__pb2.GetExampleQueriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_connector_stats(self, request: public_dot_connector__pb2.GetConnectorStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConnectorStats', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorStatsRequest, output=public_dot_connector__pb2.GetConnectorStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_query_templates(self, request: public_dot_connector__pb2.ListQueryTemplatesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.ListQueryTemplatesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListQueryTemplates', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ListQueryTemplatesRequest, output=public_dot_connector__pb2.ListQueryTemplatesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_connector_usage(self, request: public_dot_connector__pb2.GetConnectorUsageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorUsageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConnectorUsage', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorUsageRequest, output=public_dot_connector__pb2.GetConnectorUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_connector_chats(self, request: public_dot_connector__pb2.GetConnectorChatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorChatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConnectorChats', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorChatsRequest, output=public_dot_connector__pb2.GetConnectorChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_connector_cell_durations(self, request: public_dot_connector__pb2.GetConnectorCellDurationsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorCellDurationsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConnectorCellDurations', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorCellDurationsRequest, output=public_dot_connector__pb2.GetConnectorCellDurationsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_connector_dashboards(self, request: public_dot_connector__pb2.GetConnectorDashboardsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorDashboardsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConnectorDashboards', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorDashboardsRequest, output=public_dot_connector__pb2.GetConnectorDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class ConnectorServiceSync(Protocol): + + def create_connector(self, request: public_dot_connector__pb2.CreateConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.CreateConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_connector(self, request: public_dot_connector__pb2.UpdateConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.UpdateConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_connector(self, request: public_dot_connector__pb2.GetConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_connectors(self, request: public_dot_connector__pb2.GetConnectorsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_connector(self, request: public_dot_connector__pb2.DeleteConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.DeleteConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def test_connector(self, request: public_dot_connector__pb2.TestConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.TestConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def duplicate_connector(self, request: public_dot_connector__pb2.DuplicateConnectorRequest, ctx: RequestContext) -> public_dot_connector__pb2.DuplicateConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_connector_tables(self, request: public_dot_connector__pb2.ListConnectorTablesRequest, ctx: RequestContext) -> public_dot_connector__pb2.ListConnectorTablesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_table_preview(self, request: public_dot_connector__pb2.GetTablePreviewRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetTablePreviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def execute_query(self, request: public_dot_connector__pb2.ExecuteQueryRequest, ctx: RequestContext) -> public_dot_connector__pb2.ExecuteQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_example_queries(self, request: public_dot_connector__pb2.GetExampleQueriesRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetExampleQueriesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_connector_stats(self, request: public_dot_connector__pb2.GetConnectorStatsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_query_templates(self, request: public_dot_connector__pb2.ListQueryTemplatesRequest, ctx: RequestContext) -> public_dot_connector__pb2.ListQueryTemplatesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_connector_usage(self, request: public_dot_connector__pb2.GetConnectorUsageRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorUsageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_connector_chats(self, request: public_dot_connector__pb2.GetConnectorChatsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorChatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_connector_cell_durations(self, request: public_dot_connector__pb2.GetConnectorCellDurationsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorCellDurationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_connector_dashboards(self, request: public_dot_connector__pb2.GetConnectorDashboardsRequest, ctx: RequestContext) -> public_dot_connector__pb2.GetConnectorDashboardsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ConnectorServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ConnectorServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.connector.ConnectorService/CreateConnector': EndpointSync.unary(method=MethodInfo(name='CreateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.CreateConnectorRequest, output=public_dot_connector__pb2.CreateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_connector), '/textql.rpc.public.connector.ConnectorService/UpdateConnector': EndpointSync.unary(method=MethodInfo(name='UpdateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.UpdateConnectorRequest, output=public_dot_connector__pb2.UpdateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_connector), '/textql.rpc.public.connector.ConnectorService/GetConnector': EndpointSync.unary(method=MethodInfo(name='GetConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorRequest, output=public_dot_connector__pb2.GetConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_connector), '/textql.rpc.public.connector.ConnectorService/GetConnectors': EndpointSync.unary(method=MethodInfo(name='GetConnectors', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorsRequest, output=public_dot_connector__pb2.GetConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_connectors), '/textql.rpc.public.connector.ConnectorService/DeleteConnector': EndpointSync.unary(method=MethodInfo(name='DeleteConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.DeleteConnectorRequest, output=public_dot_connector__pb2.DeleteConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_connector), '/textql.rpc.public.connector.ConnectorService/TestConnector': EndpointSync.unary(method=MethodInfo(name='TestConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.TestConnectorRequest, output=public_dot_connector__pb2.TestConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.test_connector), '/textql.rpc.public.connector.ConnectorService/DuplicateConnector': EndpointSync.unary(method=MethodInfo(name='DuplicateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.DuplicateConnectorRequest, output=public_dot_connector__pb2.DuplicateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.duplicate_connector), '/textql.rpc.public.connector.ConnectorService/ListConnectorTables': EndpointSync.unary(method=MethodInfo(name='ListConnectorTables', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ListConnectorTablesRequest, output=public_dot_connector__pb2.ListConnectorTablesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_connector_tables), '/textql.rpc.public.connector.ConnectorService/GetTablePreview': EndpointSync.unary(method=MethodInfo(name='GetTablePreview', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetTablePreviewRequest, output=public_dot_connector__pb2.GetTablePreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_table_preview), '/textql.rpc.public.connector.ConnectorService/ExecuteQuery': EndpointSync.unary(method=MethodInfo(name='ExecuteQuery', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ExecuteQueryRequest, output=public_dot_connector__pb2.ExecuteQueryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.execute_query), '/textql.rpc.public.connector.ConnectorService/GetExampleQueries': EndpointSync.unary(method=MethodInfo(name='GetExampleQueries', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetExampleQueriesRequest, output=public_dot_connector__pb2.GetExampleQueriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_example_queries), '/textql.rpc.public.connector.ConnectorService/GetConnectorStats': EndpointSync.unary(method=MethodInfo(name='GetConnectorStats', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorStatsRequest, output=public_dot_connector__pb2.GetConnectorStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_connector_stats), '/textql.rpc.public.connector.ConnectorService/ListQueryTemplates': EndpointSync.unary(method=MethodInfo(name='ListQueryTemplates', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ListQueryTemplatesRequest, output=public_dot_connector__pb2.ListQueryTemplatesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_query_templates), '/textql.rpc.public.connector.ConnectorService/GetConnectorUsage': EndpointSync.unary(method=MethodInfo(name='GetConnectorUsage', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorUsageRequest, output=public_dot_connector__pb2.GetConnectorUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_connector_usage), '/textql.rpc.public.connector.ConnectorService/GetConnectorChats': EndpointSync.unary(method=MethodInfo(name='GetConnectorChats', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorChatsRequest, output=public_dot_connector__pb2.GetConnectorChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_connector_chats), '/textql.rpc.public.connector.ConnectorService/GetConnectorCellDurations': EndpointSync.unary(method=MethodInfo(name='GetConnectorCellDurations', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorCellDurationsRequest, output=public_dot_connector__pb2.GetConnectorCellDurationsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_connector_cell_durations), '/textql.rpc.public.connector.ConnectorService/GetConnectorDashboards': EndpointSync.unary(method=MethodInfo(name='GetConnectorDashboards', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorDashboardsRequest, output=public_dot_connector__pb2.GetConnectorDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_connector_dashboards)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.connector.ConnectorService' + +class ConnectorServiceClientSync(ConnectClientSync): + + def create_connector(self, request: public_dot_connector__pb2.CreateConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.CreateConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.CreateConnectorRequest, output=public_dot_connector__pb2.CreateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_connector(self, request: public_dot_connector__pb2.UpdateConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.UpdateConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.UpdateConnectorRequest, output=public_dot_connector__pb2.UpdateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_connector(self, request: public_dot_connector__pb2.GetConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.GetConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorRequest, output=public_dot_connector__pb2.GetConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_connectors(self, request: public_dot_connector__pb2.GetConnectorsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.GetConnectorsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConnectors', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorsRequest, output=public_dot_connector__pb2.GetConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_connector(self, request: public_dot_connector__pb2.DeleteConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.DeleteConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.DeleteConnectorRequest, output=public_dot_connector__pb2.DeleteConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def test_connector(self, request: public_dot_connector__pb2.TestConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.TestConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.TestConnectorRequest, output=public_dot_connector__pb2.TestConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def duplicate_connector(self, request: public_dot_connector__pb2.DuplicateConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__pb2.DuplicateConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DuplicateConnector', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.DuplicateConnectorRequest, output=public_dot_connector__pb2.DuplicateConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_connector_tables(self, request: public_dot_connector__pb2.ListConnectorTablesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.ListConnectorTablesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListConnectorTables', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ListConnectorTablesRequest, output=public_dot_connector__pb2.ListConnectorTablesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_table_preview(self, request: public_dot_connector__pb2.GetTablePreviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetTablePreviewResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetTablePreview', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetTablePreviewRequest, output=public_dot_connector__pb2.GetTablePreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def execute_query(self, request: public_dot_connector__pb2.ExecuteQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.ExecuteQueryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExecuteQuery', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ExecuteQueryRequest, output=public_dot_connector__pb2.ExecuteQueryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_example_queries(self, request: public_dot_connector__pb2.GetExampleQueriesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetExampleQueriesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetExampleQueries', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetExampleQueriesRequest, output=public_dot_connector__pb2.GetExampleQueriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_connector_stats(self, request: public_dot_connector__pb2.GetConnectorStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConnectorStats', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorStatsRequest, output=public_dot_connector__pb2.GetConnectorStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_query_templates(self, request: public_dot_connector__pb2.ListQueryTemplatesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.ListQueryTemplatesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListQueryTemplates', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.ListQueryTemplatesRequest, output=public_dot_connector__pb2.ListQueryTemplatesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_connector_usage(self, request: public_dot_connector__pb2.GetConnectorUsageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorUsageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConnectorUsage', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorUsageRequest, output=public_dot_connector__pb2.GetConnectorUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_connector_chats(self, request: public_dot_connector__pb2.GetConnectorChatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorChatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConnectorChats', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorChatsRequest, output=public_dot_connector__pb2.GetConnectorChatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_connector_cell_durations(self, request: public_dot_connector__pb2.GetConnectorCellDurationsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorCellDurationsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConnectorCellDurations', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorCellDurationsRequest, output=public_dot_connector__pb2.GetConnectorCellDurationsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_connector_dashboards(self, request: public_dot_connector__pb2.GetConnectorDashboardsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_connector__pb2.GetConnectorDashboardsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConnectorDashboards', service_name='textql.rpc.public.connector.ConnectorService', input=public_dot_connector__pb2.GetConnectorDashboardsRequest, output=public_dot_connector__pb2.GetConnectorDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/connector_member_auth_connect.py b/src/textql_sdk/_connect/public/connector_member_auth_connect.py new file mode 100644 index 0000000..3bdf201 --- /dev/null +++ b/src/textql_sdk/_connect/public/connector_member_auth_connect.py @@ -0,0 +1,75 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import connector_member_auth_pb2 as public_dot_connector__member__auth__pb2 + +class ConnectorMemberAuthService(Protocol): + + async def authenticate_member_for_connector(self, request: public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorRequest, ctx: RequestContext) -> public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_and_store_member_auth(self, request: public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthRequest, ctx: RequestContext) -> public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_member_connector_auth_status(self, request: public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusRequest, ctx: RequestContext) -> public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ConnectorMemberAuthServiceASGIApplication(ConnectASGIApplication[ConnectorMemberAuthService]): + + def __init__(self, service: ConnectorMemberAuthService | AsyncGenerator[ConnectorMemberAuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.connector_member_auth.ConnectorMemberAuthService/AuthenticateMemberForConnector': Endpoint.unary(method=MethodInfo(name='AuthenticateMemberForConnector', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorRequest, output=public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.authenticate_member_for_connector), '/textql.rpc.public.connector_member_auth.ConnectorMemberAuthService/ExchangeAndStoreMemberAuth': Endpoint.unary(method=MethodInfo(name='ExchangeAndStoreMemberAuth', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthRequest, output=public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_and_store_member_auth), '/textql.rpc.public.connector_member_auth.ConnectorMemberAuthService/GetMemberConnectorAuthStatus': Endpoint.unary(method=MethodInfo(name='GetMemberConnectorAuthStatus', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusRequest, output=public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_member_connector_auth_status)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.connector_member_auth.ConnectorMemberAuthService' + +class ConnectorMemberAuthServiceClient(ConnectClient): + + async def authenticate_member_for_connector(self, request: public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AuthenticateMemberForConnector', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorRequest, output=public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_and_store_member_auth(self, request: public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeAndStoreMemberAuth', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthRequest, output=public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_member_connector_auth_status(self, request: public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMemberConnectorAuthStatus', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusRequest, output=public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class ConnectorMemberAuthServiceSync(Protocol): + + def authenticate_member_for_connector(self, request: public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorRequest, ctx: RequestContext) -> public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_and_store_member_auth(self, request: public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthRequest, ctx: RequestContext) -> public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_member_connector_auth_status(self, request: public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusRequest, ctx: RequestContext) -> public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ConnectorMemberAuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ConnectorMemberAuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.connector_member_auth.ConnectorMemberAuthService/AuthenticateMemberForConnector': EndpointSync.unary(method=MethodInfo(name='AuthenticateMemberForConnector', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorRequest, output=public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.authenticate_member_for_connector), '/textql.rpc.public.connector_member_auth.ConnectorMemberAuthService/ExchangeAndStoreMemberAuth': EndpointSync.unary(method=MethodInfo(name='ExchangeAndStoreMemberAuth', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthRequest, output=public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_and_store_member_auth), '/textql.rpc.public.connector_member_auth.ConnectorMemberAuthService/GetMemberConnectorAuthStatus': EndpointSync.unary(method=MethodInfo(name='GetMemberConnectorAuthStatus', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusRequest, output=public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_member_connector_auth_status)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.connector_member_auth.ConnectorMemberAuthService' + +class ConnectorMemberAuthServiceClientSync(ConnectClientSync): + + def authenticate_member_for_connector(self, request: public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AuthenticateMemberForConnector', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorRequest, output=public_dot_connector__member__auth__pb2.AuthenticateMemberForConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_and_store_member_auth(self, request: public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeAndStoreMemberAuth', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthRequest, output=public_dot_connector__member__auth__pb2.ExchangeAndStoreMemberAuthResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_member_connector_auth_status(self, request: public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMemberConnectorAuthStatus', service_name='textql.rpc.public.connector_member_auth.ConnectorMemberAuthService', input=public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusRequest, output=public_dot_connector__member__auth__pb2.GetMemberConnectorAuthStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/connector_member_auth_pb2.py b/src/textql_sdk/_connect/public/connector_member_auth_pb2.py new file mode 100644 index 0000000..7c0382e --- /dev/null +++ b/src/textql_sdk/_connect/public/connector_member_auth_pb2.py @@ -0,0 +1,40 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/connector_member_auth.proto') +_sym_db = _symbol_database.Default() +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"public/connector_member_auth.proto\x12\'textql.rpc.public.connector_member_auth\x1a\x14public/options.proto"\xef\x01\n%AuthenticateMemberForConnectorRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\'\n\x0caccess_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1d\n\nexpires_in\x18\x04 \x01(\x03R\texpiresIn\x12\x1a\n\x08username\x18\x05 \x01(\tR\x08username\x12\x14\n\x05scope\x18\x06 \x01(\tR\x05scope"B\n&AuthenticateMemberForConnectorResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xc2\x01\n!ExchangeAndStoreMemberAuthRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x18\n\x04code\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x04code\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state\x12\x1f\n\x0baccount_url\x18\x04 \x01(\tR\naccountUrl\x12)\n\rcode_verifier\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x0ccodeVerifier"Z\n"ExchangeAndStoreMemberAuthResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x1a\n\x08username\x18\x02 \x01(\tR\x08username"J\n#GetMemberConnectorAuthStatusRequest\x12#\n\rconnector_ids\x18\x01 \x03(\x05R\x0cconnectorIds"\x9f\x01\n\x13ConnectorAuthStatus\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12$\n\rauthenticated\x18\x02 \x01(\x08R\rauthenticated\x12\x1a\n\x08username\x18\x03 \x01(\tR\x08username\x12#\n\rtoken_expired\x18\x04 \x01(\x08R\x0ctokenExpired"\x80\x01\n$GetMemberConnectorAuthStatusResponse\x12X\n\x08statuses\x18\x01 \x03(\x0b2<.textql.rpc.public.connector_member_auth.ConnectorAuthStatusR\x08statuses2\xd6\x04\n\x1aConnectorMemberAuthService\x12\xc1\x01\n\x1eAuthenticateMemberForConnector\x12N.textql.rpc.public.connector_member_auth.AuthenticateMemberForConnectorRequest\x1aO.textql.rpc.public.connector_member_auth.AuthenticateMemberForConnectorResponse\x12\xb5\x01\n\x1aExchangeAndStoreMemberAuth\x12J.textql.rpc.public.connector_member_auth.ExchangeAndStoreMemberAuthRequest\x1aK.textql.rpc.public.connector_member_auth.ExchangeAndStoreMemberAuthResponse\x12\xbb\x01\n\x1cGetMemberConnectorAuthStatus\x12L.textql.rpc.public.connector_member_auth.GetMemberConnectorAuthStatusRequest\x1aM.textql.rpc.public.connector_member_auth.GetMemberConnectorAuthStatusResponseBGZ9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.connector_member_auth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNAL' + _globals['_AUTHENTICATEMEMBERFORCONNECTORREQUEST'].fields_by_name['access_token']._loaded_options = None + _globals['_AUTHENTICATEMEMBERFORCONNECTORREQUEST'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_AUTHENTICATEMEMBERFORCONNECTORREQUEST'].fields_by_name['refresh_token']._loaded_options = None + _globals['_AUTHENTICATEMEMBERFORCONNECTORREQUEST'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEANDSTOREMEMBERAUTHREQUEST'].fields_by_name['code']._loaded_options = None + _globals['_EXCHANGEANDSTOREMEMBERAUTHREQUEST'].fields_by_name['code']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEANDSTOREMEMBERAUTHREQUEST'].fields_by_name['code_verifier']._loaded_options = None + _globals['_EXCHANGEANDSTOREMEMBERAUTHREQUEST'].fields_by_name['code_verifier']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_AUTHENTICATEMEMBERFORCONNECTORREQUEST']._serialized_start = 102 + _globals['_AUTHENTICATEMEMBERFORCONNECTORREQUEST']._serialized_end = 341 + _globals['_AUTHENTICATEMEMBERFORCONNECTORRESPONSE']._serialized_start = 343 + _globals['_AUTHENTICATEMEMBERFORCONNECTORRESPONSE']._serialized_end = 409 + _globals['_EXCHANGEANDSTOREMEMBERAUTHREQUEST']._serialized_start = 412 + _globals['_EXCHANGEANDSTOREMEMBERAUTHREQUEST']._serialized_end = 606 + _globals['_EXCHANGEANDSTOREMEMBERAUTHRESPONSE']._serialized_start = 608 + _globals['_EXCHANGEANDSTOREMEMBERAUTHRESPONSE']._serialized_end = 698 + _globals['_GETMEMBERCONNECTORAUTHSTATUSREQUEST']._serialized_start = 700 + _globals['_GETMEMBERCONNECTORAUTHSTATUSREQUEST']._serialized_end = 774 + _globals['_CONNECTORAUTHSTATUS']._serialized_start = 777 + _globals['_CONNECTORAUTHSTATUS']._serialized_end = 936 + _globals['_GETMEMBERCONNECTORAUTHSTATUSRESPONSE']._serialized_start = 939 + _globals['_GETMEMBERCONNECTORAUTHSTATUSRESPONSE']._serialized_end = 1067 + _globals['_CONNECTORMEMBERAUTHSERVICE']._serialized_start = 1070 + _globals['_CONNECTORMEMBERAUTHSERVICE']._serialized_end = 1668 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/connector_member_auth_pb2.pyi b/src/textql_sdk/_connect/public/connector_member_auth_pb2.pyi new file mode 100644 index 0000000..247f4d5 --- /dev/null +++ b/src/textql_sdk/_connect/public/connector_member_auth_pb2.pyi @@ -0,0 +1,89 @@ +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class AuthenticateMemberForConnectorRequest(_message.Message): + __slots__ = ('connector_id', 'access_token', 'refresh_token', 'expires_in', 'username', 'scope') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + USERNAME_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + connector_id: int + access_token: str + refresh_token: str + expires_in: int + username: str + scope: str + + def __init__(self, connector_id: _Optional[int]=..., access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., expires_in: _Optional[int]=..., username: _Optional[str]=..., scope: _Optional[str]=...) -> None: + ... + +class AuthenticateMemberForConnectorResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ExchangeAndStoreMemberAuthRequest(_message.Message): + __slots__ = ('connector_id', 'code', 'state', 'account_url', 'code_verifier') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + ACCOUNT_URL_FIELD_NUMBER: _ClassVar[int] + CODE_VERIFIER_FIELD_NUMBER: _ClassVar[int] + connector_id: int + code: str + state: str + account_url: str + code_verifier: str + + def __init__(self, connector_id: _Optional[int]=..., code: _Optional[str]=..., state: _Optional[str]=..., account_url: _Optional[str]=..., code_verifier: _Optional[str]=...) -> None: + ... + +class ExchangeAndStoreMemberAuthResponse(_message.Message): + __slots__ = ('success', 'username') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + USERNAME_FIELD_NUMBER: _ClassVar[int] + success: bool + username: str + + def __init__(self, success: bool=..., username: _Optional[str]=...) -> None: + ... + +class GetMemberConnectorAuthStatusRequest(_message.Message): + __slots__ = ('connector_ids',) + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, connector_ids: _Optional[_Iterable[int]]=...) -> None: + ... + +class ConnectorAuthStatus(_message.Message): + __slots__ = ('connector_id', 'authenticated', 'username', 'token_expired') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + AUTHENTICATED_FIELD_NUMBER: _ClassVar[int] + USERNAME_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXPIRED_FIELD_NUMBER: _ClassVar[int] + connector_id: int + authenticated: bool + username: str + token_expired: bool + + def __init__(self, connector_id: _Optional[int]=..., authenticated: bool=..., username: _Optional[str]=..., token_expired: bool=...) -> None: + ... + +class GetMemberConnectorAuthStatusResponse(_message.Message): + __slots__ = ('statuses',) + STATUSES_FIELD_NUMBER: _ClassVar[int] + statuses: _containers.RepeatedCompositeFieldContainer[ConnectorAuthStatus] + + def __init__(self, statuses: _Optional[_Iterable[_Union[ConnectorAuthStatus, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/connector_pb2.py b/src/textql_sdk/_connect/public/connector_pb2.py new file mode 100644 index 0000000..28f6e58 --- /dev/null +++ b/src/textql_sdk/_connect/public/connector_pb2.py @@ -0,0 +1,347 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/connector.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16public/connector.proto\x12\x1btextql.rpc.public.connector\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\x8c\x12\n\x0fConnectorConfig\x12Q\n\x0econnector_type\x18\x01 \x01(\x0e2*.textql.rpc.public.connector.ConnectorTypeR\rconnectorType\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12K\n\x08redshift\x18\x03 \x01(\x0b2-.textql.rpc.public.connector.RedshiftMetadataH\x00R\x08redshift\x12N\n\tsnowflake\x18\x04 \x01(\x0b2..textql.rpc.public.connector.SnowflakeMetadataH\x00R\tsnowflake\x12K\n\x08bigquery\x18\x05 \x01(\x0b2-.textql.rpc.public.connector.BigQueryMetadataH\x00R\x08bigquery\x12X\n\razure_synapse\x18\x06 \x01(\x0b21.textql.rpc.public.connector.AzureSynapseMetadataH\x00R\x0cazureSynapse\x12H\n\x07tableau\x18\x07 \x01(\x0b2,.textql.rpc.public.connector.TableauMetadataH\x00R\x07tableau\x12E\n\x06aurora\x18\x08 \x01(\x0b2+.textql.rpc.public.connector.AuroraMetadataH\x00R\x06aurora\x12Q\n\ndatabricks\x18\t \x01(\x0b2/.textql.rpc.public.connector.DatabricksMetadataH\x00R\ndatabricks\x12Q\n\nmotherduck\x18\n \x01(\x0b2/.textql.rpc.public.connector.MotherduckMetadataH\x00R\nmotherduck\x12Q\n\nclickhouse\x18\x0b \x01(\x0b2/.textql.rpc.public.connector.ClickHouseMetadataH\x00R\nclickhouse\x12B\n\x05mysql\x18\x0c \x01(\x0b2*.textql.rpc.public.connector.MYSQLMetadataH\x00R\x05mysql\x12E\n\x06athena\x18\r \x01(\x0b2+.textql.rpc.public.connector.AthenaMetadataH\x00R\x06athena\x12U\n\x0cgoogle_drive\x18\x0e \x01(\x0b20.textql.rpc.public.connector.GoogleDriveMetadataH\x00R\x0bgoogleDrive\x12H\n\x07powerbi\x18\x0f \x01(\x0b2,.textql.rpc.public.connector.PowerBIMetadataH\x00R\x07powerbi\x12K\n\x08postgres\x18\x10 \x01(\x0b2-.textql.rpc.public.connector.PostgresMetadataH\x00R\x08postgres\x12K\n\x08supabase\x18\x11 \x01(\x0b2-.textql.rpc.public.connector.SupabaseMetadataH\x00R\x08supabase\x12O\n\nsql_server\x18\x12 \x01(\x0b2..textql.rpc.public.connector.SQLServerMetadataH\x00R\tsqlServer\x12X\n\rmicrosoft_365\x18\x14 \x01(\x0b21.textql.rpc.public.connector.Microsoft365MetadataH\x00R\x0cmicrosoft365\x12I\n\x08sap_hana\x18\x15 \x01(\x0b2,.textql.rpc.public.connector.SAPHanaMetadataH\x00R\x07sapHana\x12E\n\x06oracle\x18\x16 \x01(\x0b2+.textql.rpc.public.connector.OracleMetadataH\x00R\x06oracle\x12B\n\x05gmail\x18\x17 \x01(\x0b2*.textql.rpc.public.connector.GmailMetadataH\x00R\x05gmail\x12B\n\x05trino\x18\x18 \x01(\x0b2*.textql.rpc.public.connector.TrinoMetadataH\x00R\x05trino\x12^\n\x0fgoogle_calendar\x18\x19 \x01(\x0b23.textql.rpc.public.connector.GoogleCalendarMetadataH\x00R\x0egoogleCalendar\x12E\n\x06google\x18\x1a \x01(\x0b2+.textql.rpc.public.connector.GoogleMetadataH\x00R\x06google\x12E\n\x06dremio\x18\x1b \x01(\x0b2+.textql.rpc.public.connector.DremioMetadataH\x00R\x06dremio\x12E\n\x06exasol\x18\x1c \x01(\x0b2+.textql.rpc.public.connector.ExasolMetadataH\x00R\x06exasol\x12K\n\x08firebolt\x18\x1d \x01(\x0b2-.textql.rpc.public.connector.FireboltMetadataH\x00R\x08firebolt\x12<\n\x03kdb\x18\x1e \x01(\x0b2(.textql.rpc.public.connector.KdbMetadataH\x00R\x03kdb\x12H\n\x07mongodb\x18\x1f \x01(\x0b2,.textql.rpc.public.connector.MongoDBMetadataH\x00R\x07mongodb\x12#\n\rauth_strategy\x18\x13 \x01(\tR\x0cauthStrategyB\n\n\x08metadata"\xdf\x03\n\x10RedshiftMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x18\n\x07schemas\x18\x06 \x03(\tR\x07schemas\x12\x18\n\x07dialect\x18\x07 \x01(\tR\x07dialect\x12\x19\n\x08ssl_mode\x18\x08 \x01(\x08R\x07sslMode\x12\x1b\n\tauth_type\x18\t \x01(\tR\x08authType\x12\x19\n\x08role_arn\x18\n \x01(\tR\x07roleArn\x12\x16\n\x06region\x18\x0b \x01(\tR\x06region\x12\x1d\n\ncluster_id\x18\x0c \x01(\tR\tclusterId\x12)\n\x10group_federation\x18\r \x01(\x08R\x0fgroupFederation\x12/\n\x11aws_access_key_id\x18\x0e \x01(\tB\x04\x88\xb5\x18\x01R\x0eawsAccessKeyId\x127\n\x15aws_secret_access_key\x18\x0f \x01(\tB\x04\x88\xb5\x18\x01R\x12awsSecretAccessKey"\xec\x04\n\x10PostgresMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x18\n\x07schemas\x18\x06 \x03(\tR\x07schemas\x12\x18\n\x07dialect\x18\x07 \x01(\tR\x07dialect\x12\x19\n\x08ssl_mode\x18\x08 \x01(\x08R\x07sslMode\x12,\n\x12ssh_tunnel_enabled\x18\t \x01(\x08R\x10sshTunnelEnabled\x12\x19\n\x08ssh_host\x18\n \x01(\tR\x07sshHost\x12\x19\n\x08ssh_port\x18\x0b \x01(\x05R\x07sshPort\x12\x19\n\x08ssh_user\x18\x0c \x01(\tR\x07sshUser\x12,\n\x0fssh_private_key\x18\r \x01(\tB\x04\x88\xb5\x18\x01R\rsshPrivateKey\x12-\n\x13ssh_host_public_key\x18\x0e \x01(\tR\x10sshHostPublicKey\x12;\n\x1asecrets_manager_secret_arn\x18\x0f \x01(\tR\x17secretsManagerSecretArn\x127\n\x18secrets_manager_role_arn\x18\x10 \x01(\tR\x15secretsManagerRoleArn\x12=\n\x1bsecrets_manager_external_id\x18\x11 \x01(\tR\x18secretsManagerExternalId"\xdf\x02\n\x0bKdbMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x10\n\x03tls\x18\x06 \x01(\x08R\x03tls\x12,\n\x12ssh_tunnel_enabled\x18\x07 \x01(\x08R\x10sshTunnelEnabled\x12\x19\n\x08ssh_host\x18\x08 \x01(\tR\x07sshHost\x12\x19\n\x08ssh_port\x18\t \x01(\x05R\x07sshPort\x12\x19\n\x08ssh_user\x18\n \x01(\tR\x07sshUser\x12,\n\x0fssh_private_key\x18\x0b \x01(\tB\x04\x88\xb5\x18\x01R\rsshPrivateKey\x12-\n\x13ssh_host_public_key\x18\x0c \x01(\tR\x10sshHostPublicKeyJ\x04\x08\x05\x10\x06"\xd6\x01\n\x0fMongoDBMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x1f\n\x0bauth_source\x18\x06 \x01(\tR\nauthSource\x12\x10\n\x03tls\x18\x07 \x01(\x08R\x03tls\x12\x10\n\x03srv\x18\x08 \x01(\x08R\x03srvJ\x04\x08\t\x10\x0f"\xdb\x01\n\x10SupabaseMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x18\n\x07schemas\x18\x06 \x03(\tR\x07schemas\x12\x18\n\x07dialect\x18\x07 \x01(\tR\x07dialect\x12\x19\n\x08ssl_mode\x18\x08 \x01(\x08R\x07sslMode"\xc6\x05\n\x11SnowflakeMetadata\x12\x1a\n\x08username\x18\x01 \x01(\tR\x08username\x12 \n\x08password\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12%\n\x0bprivate_key\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\nprivateKey\x12:\n\x16private_key_passphrase\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x14privateKeyPassphrase\x12\x12\n\x04role\x18\x05 \x01(\tR\x04role\x12\x16\n\x06schema\x18\x06 \x01(\tR\x06schema\x12\x18\n\x07locator\x18\x07 \x01(\tR\x07locator\x12\x1a\n\x08database\x18\x08 \x01(\tR\x08database\x12\x1c\n\twarehouse\x18\t \x01(\tR\twarehouse\x122\n\x12oauth_access_token\x18\n \x01(\tB\x04\x88\xb5\x18\x01R\x10oauthAccessToken\x124\n\x13oauth_refresh_token\x18\x0b \x01(\tB\x04\x88\xb5\x18\x01R\x11oauthRefreshToken\x12&\n\x0foauth_client_id\x18\x0c \x01(\tR\roauthClientId\x124\n\x13oauth_client_secret\x18\r \x01(\tB\x04\x88\xb5\x18\x01R\x11oauthClientSecret\x12&\n\x0fenable_sso_auth\x18\x0e \x01(\x08R\renableSsoAuth\x126\n\x17token_exchange_endpoint\x18\x0f \x01(\tR\x15tokenExchangeEndpoint\x126\n\x17token_exchange_audience\x18\x10 \x01(\tR\x15tokenExchangeAudience\x120\n\x14token_exchange_scope\x18\x11 \x01(\tR\x12tokenExchangeScope"\xb1\x01\n\x10BigQueryMetadata\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId\x124\n\x13service_account_key\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x11serviceAccountKey\x12)\n\x10region_qualifier\x18\x04 \x01(\tR\x0fregionQualifier"\xaa\x02\n\x14AzureSynapseMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x16\n\x06schema\x18\x06 \x01(\tR\x06schema\x12\x1b\n\tauth_type\x18\x07 \x01(\tR\x08authType\x12\x1b\n\tclient_id\x18\x08 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\t \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret\x12\x1b\n\ttenant_id\x18\n \x01(\tR\x08tenantId"\x90\x03\n\x0eAuroraMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x16\n\x06schema\x18\x06 \x01(\tR\x06schema\x12\x18\n\x07dialect\x18\x07 \x01(\tR\x07dialect\x12\x19\n\x08ssl_mode\x18\x08 \x01(\x08R\x07sslMode\x12W\n\x0baurora_auth\x18\t \x01(\x0b26.textql.rpc.public.connector.AuroraMetadata.AuroraAuthR\nauroraAuth\x1a^\n\nAuroraAuth\x12\x19\n\x08iam_auth\x18\x01 \x01(\x08R\x07iamAuth\x12\x1d\n\ncluster_id\x18\x02 \x01(\tR\tclusterId\x12\x16\n\x06region\x18\x03 \x01(\tR\x06region"\xbc\x01\n\rMYSQLMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x16\n\x06schema\x18\x06 \x01(\tR\x06schema\x12\x19\n\x08ssl_mode\x18\x07 \x01(\x08R\x07sslMode"\x90\x04\n\x11SQLServerMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x16\n\x06schema\x18\x06 \x01(\tR\x06schema\x12\x19\n\x08ssl_mode\x18\x07 \x01(\x08R\x07sslMode\x12\x1b\n\tauth_type\x18\x08 \x01(\tR\x08authType\x12\x1d\n\nkrb5_realm\x18\t \x01(\tR\tkrb5Realm\x12\x1f\n\x0bkrb5_config\x18\n \x01(\tR\nkrb5Config\x12%\n\x0bkrb5_keytab\x18\x0b \x01(\tB\x04\x88\xb5\x18\x01R\nkrb5Keytab\x12\x19\n\x08krb5_spn\x18\x0c \x01(\tR\x07krb5Spn\x12%\n\x0bclient_cert\x18\r \x01(\tB\x04\x88\xb5\x18\x01R\nclientCert\x12#\n\nclient_key\x18\x0e \x01(\tB\x04\x88\xb5\x18\x01R\tclientKey\x12\x1b\n\ttenant_id\x18\x0f \x01(\tR\x08tenantId\x12\x1b\n\tclient_id\x18\x10 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x11 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret"\xa4\x03\n\x0fTableauMetadata\x12\x1d\n\nserver_url\x18\x01 \x01(\tR\tserverUrl\x12\x1b\n\tsite_name\x18\x02 \x01(\tR\x08siteName\x12\x19\n\x08pat_name\x18\x03 \x01(\tR\x07patName\x12#\n\npat_secret\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\tpatSecret\x12:\n\x17connected_app_client_id\x18\x05 \x01(\tH\x00R\x14connectedAppClientId\x88\x01\x01\x12:\n\x17connected_app_secret_id\x18\x06 \x01(\tH\x01R\x14connectedAppSecretId\x88\x01\x01\x12F\n\x1aconnected_app_secret_value\x18\x07 \x01(\tB\x04\x88\xb5\x18\x01H\x02R\x17connectedAppSecretValue\x88\x01\x01B\x1a\n\x18_connected_app_client_idB\x1a\n\x18_connected_app_secret_idB\x1d\n\x1b_connected_app_secret_value"\xcb\x01\n\x0fPowerBIMetadata\x12\x1b\n\ttenant_id\x18\x01 \x01(\tR\x08tenantId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret\x12 \n\tobject_id\x18\x04 \x01(\tH\x00R\x08objectId\x88\x01\x01\x12\x19\n\x05roles\x18\x05 \x01(\tH\x01R\x05roles\x88\x01\x01B\x0c\n\n_object_idB\x08\n\x06_roles"\x80\x07\n\x12DatabricksMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x1b\n\thttp_path\x18\x02 \x01(\tR\x08httpPath\x12\x12\n\x04port\x18\x03 \x01(\x05R\x04port\x12g\n\x0fdatabricks_auth\x18\x04 \x01(\x0b2>.textql.rpc.public.connector.DatabricksMetadata.DatabricksAuthR\x0edatabricksAuth\x12\x18\n\x07catalog\x18\x05 \x01(\tR\x07catalog\x12\x16\n\x06schema\x18\x06 \x01(\tR\x06schema\x122\n\x15enable_token_exchange\x18\x07 \x01(\x08R\x13enableTokenExchange\x1a\xd5\x04\n\x0eDatabricksAuth\x12f\n\x03pat\x18\x01 \x01(\x0b2R.textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.PersonalAccessTokenH\x00R\x03pat\x12\x81\x01\n\x12client_credentials\x18\x02 \x01(\x0b2P.textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.ClientCredentialsH\x00R\x11clientCredentials\x12f\n\toauth_u2m\x18\x03 \x01(\x0b2G.textql.rpc.public.connector.DatabricksMetadata.DatabricksAuth.OAuthU2MH\x00R\x08oauthU2m\x1a1\n\x13PersonalAccessToken\x12\x1a\n\x05token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x05token\x1a[\n\x11ClientCredentials\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret\x1aR\n\x08OAuthU2M\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecretB\x0b\n\tauth_type"0\n\x12MotherduckMetadata\x12\x1a\n\x05token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x05token"\xc3\x01\n\x12ClickHouseMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x17\n\x07use_ssl\x18\x06 \x01(\x08R\x06useSsl\x12\x1a\n\x08protocol\x18\x07 \x01(\tR\x08protocol"\xbd\x05\n\x0eAthenaMetadata\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region\x12\x1a\n\x08database\x18\x02 \x01(\tR\x08database\x12\x1c\n\tworkgroup\x18\x03 \x01(\tR\tworkgroup\x12,\n\x12s3_output_location\x18\x04 \x01(\tR\x10s3OutputLocation\x12W\n\x0bathena_auth\x18\x05 \x01(\x0b26.textql.rpc.public.connector.AthenaMetadata.AthenaAuthR\nathenaAuth\x12\x18\n\x07catalog\x18\x06 \x01(\tR\x07catalog\x1a\xb7\x03\n\nAthenaAuth\x12l\n\naccess_key\x18\x01 \x01(\x0b2K.textql.rpc.public.connector.AthenaMetadata.AthenaAuth.AccessKeyCredentialsH\x00R\taccessKey\x12f\n\x08iam_role\x18\x02 \x01(\x0b2I.textql.rpc.public.connector.AthenaMetadata.AthenaAuth.IAMRoleCredentialsH\x00R\x07iamRole\x1ar\n\x14AccessKeyCredentials\x12(\n\raccess_key_id\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessKeyId\x120\n\x11secret_access_key\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0fsecretAccessKey\x1aR\n\x12IAMRoleCredentials\x12\x19\n\x08role_arn\x18\x01 \x01(\tR\x07roleArn\x12!\n\x0csession_name\x18\x02 \x01(\tR\x0bsessionNameB\x0b\n\tauth_type"\x86\x01\n\x13GoogleDriveMetadata\x12\'\n\x0caccess_token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId"\xa5\x01\n\rGmailMetadata\x12\'\n\x0caccess_token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12#\n\rmetadata_only\x18\x04 \x01(\x08R\x0cmetadataOnly"\xae\x01\n\x16GoogleCalendarMetadata\x12\'\n\x0caccess_token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12#\n\rmetadata_only\x18\x04 \x01(\x08R\x0cmetadataOnly"\xbe\x02\n\x0eGoogleMetadata\x12\'\n\x0caccess_token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12#\n\rgmail_enabled\x18\x04 \x01(\x08R\x0cgmailEnabled\x12)\n\x10calendar_enabled\x18\x05 \x01(\x08R\x0fcalendarEnabled\x12#\n\rmetadata_only\x18\x06 \x01(\x08R\x0cmetadataOnly\x12#\n\rdrive_enabled\x18\x07 \x01(\x08R\x0cdriveEnabled\x12!\n\x0ctoken_expiry\x18\x08 \x01(\tR\x0btokenExpiry"\xcc\x02\n\x14Microsoft365Metadata\x12\x1b\n\ttenant_id\x18\x01 \x01(\tR\x08tenantId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret\x12\'\n\x0caccess_token\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1b\n\tmember_id\x18\x06 \x01(\tR\x08memberId\x12!\n\x0ctoken_expiry\x18\x07 \x01(\tR\x0btokenExpiry\x12#\n\rmetadata_only\x18\x08 \x01(\x08R\x0cmetadataOnly\x12\x16\n\x06scopes\x18\t \x03(\tR\x06scopes"\x80\x02\n\x0fSAPHanaMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x18\n\x07schemas\x18\x06 \x03(\tR\x07schemas\x12\x18\n\x07dialect\x18\x07 \x01(\tR\x07dialect\x12\x19\n\x08ssl_mode\x18\x08 \x01(\x08R\x07sslMode\x12$\n\x0esap_hana_cloud\x18\t \x01(\x08R\x0csapHanaCloud"\x99\x03\n\x0eOracleMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12!\n\x0cservice_name\x18\x05 \x01(\tR\x0bserviceName\x12\x18\n\x07dialect\x18\x06 \x01(\tR\x07dialect\x12\x19\n\x08ssl_mode\x18\x07 \x01(\x08R\x07sslMode\x12\'\n\x0fconnection_type\x18\x08 \x01(\tR\x0econnectionType\x12\x10\n\x03sid\x18\t \x01(\tR\x03sid\x12%\n\x0econnect_string\x18\n \x01(\tR\rconnectString\x12#\n\nwallet_zip\x18\x0b \x01(\tB\x04\x88\xb5\x18\x01R\twalletZip\x12-\n\x0fwallet_password\x18\x0c \x01(\tB\x04\x88\xb5\x18\x01R\x0ewalletPassword\x12\x1b\n\ttns_alias\x18\r \x01(\tR\x08tnsAlias"\x8b\x02\n\rTrinoMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x18\n\x07catalog\x18\x05 \x01(\tR\x07catalog\x12\x16\n\x06schema\x18\x06 \x01(\tR\x06schema\x12\x19\n\x08ssl_mode\x18\x07 \x01(\x08R\x07sslMode\x12\'\n\x0caccess_token\x18\x08 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12&\n\x0fskip_tls_verify\x18\t \x01(\x08R\rskipTlsVerify"\xdc\x01\n\x0eDremioMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x05token\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x05token\x12\x1d\n\nproject_id\x18\x06 \x01(\tR\tprojectId\x12\x16\n\x06spaces\x18\x07 \x03(\tR\x06spaces\x12\x19\n\x08ssl_mode\x18\x08 \x01(\x08R\x07sslMode"\xe8\x01\n\x0eExasolMetadata\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n\x04user\x18\x03 \x01(\tR\x04user\x12 \n\x08password\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x08password\x12\x1a\n\x08database\x18\x05 \x01(\tR\x08database\x12\x18\n\x07schemas\x18\x06 \x03(\tR\x07schemas\x12\x19\n\x08ssl_mode\x18\x07 \x01(\x08R\x07sslMode\x12\'\n\x0caccess_token\x18\x08 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken"\xd4\x01\n\x10FireboltMetadata\x12!\n\x0caccount_name\x18\x01 \x01(\tR\x0baccountName\x12\x1a\n\x08database\x18\x02 \x01(\tR\x08database\x12\x1f\n\x0bengine_name\x18\x03 \x01(\tR\nengineName\x12\x1b\n\tclient_id\x18\x04 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret\x12\x18\n\x07schemas\x18\x06 \x03(\tR\x07schemas"\xe0\x19\n\tConnector\x12\x0e\n\x02id\x18\x01 \x01(\x05R\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12Q\n\x0econnector_type\x18\x03 \x01(\x0e2*.textql.rpc.public.connector.ConnectorTypeR\rconnectorType\x12\x1b\n\tmember_id\x18\x04 \x01(\tR\x08memberId\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\\\n\x11redshift_metadata\x18\x07 \x01(\x0b2-.textql.rpc.public.connector.RedshiftMetadataH\x00R\x10redshiftMetadata\x12_\n\x12snowflake_metadata\x18\x08 \x01(\x0b2..textql.rpc.public.connector.SnowflakeMetadataH\x00R\x11snowflakeMetadata\x12\\\n\x11bigquery_metadata\x18\t \x01(\x0b2-.textql.rpc.public.connector.BigQueryMetadataH\x00R\x10bigqueryMetadata\x12i\n\x16azure_synapse_metadata\x18\n \x01(\x0b21.textql.rpc.public.connector.AzureSynapseMetadataH\x00R\x14azureSynapseMetadata\x12Y\n\x10tableau_metadata\x18\x0b \x01(\x0b2,.textql.rpc.public.connector.TableauMetadataH\x00R\x0ftableauMetadata\x12V\n\x0faurora_metadata\x18\x0c \x01(\x0b2+.textql.rpc.public.connector.AuroraMetadataH\x00R\x0eauroraMetadata\x12b\n\x13databricks_metadata\x18\r \x01(\x0b2/.textql.rpc.public.connector.DatabricksMetadataH\x00R\x12databricksMetadata\x12b\n\x13motherduck_metadata\x18\x0e \x01(\x0b2/.textql.rpc.public.connector.MotherduckMetadataH\x00R\x12motherduckMetadata\x12b\n\x13clickhouse_metadata\x18\x0f \x01(\x0b2/.textql.rpc.public.connector.ClickHouseMetadataH\x00R\x12clickhouseMetadata\x12S\n\x0emysql_metadata\x18\x10 \x01(\x0b2*.textql.rpc.public.connector.MYSQLMetadataH\x00R\rmysqlMetadata\x12V\n\x0fathena_metadata\x18\x12 \x01(\x0b2+.textql.rpc.public.connector.AthenaMetadataH\x00R\x0eathenaMetadata\x12f\n\x15google_drive_metadata\x18\x13 \x01(\x0b20.textql.rpc.public.connector.GoogleDriveMetadataH\x00R\x13googleDriveMetadata\x12Y\n\x10powerbi_metadata\x18\x14 \x01(\x0b2,.textql.rpc.public.connector.PowerBIMetadataH\x00R\x0fpowerbiMetadata\x12\\\n\x11postgres_metadata\x18\x15 \x01(\x0b2-.textql.rpc.public.connector.PostgresMetadataH\x00R\x10postgresMetadata\x12\\\n\x11supabase_metadata\x18\x16 \x01(\x0b2-.textql.rpc.public.connector.SupabaseMetadataH\x00R\x10supabaseMetadata\x12`\n\x13sql_server_metadata\x18\x17 \x01(\x0b2..textql.rpc.public.connector.SQLServerMetadataH\x00R\x11sqlServerMetadata\x12i\n\x16microsoft_365_metadata\x18\x1d \x01(\x0b21.textql.rpc.public.connector.Microsoft365MetadataH\x00R\x14microsoft365Metadata\x12Z\n\x11sap_hana_metadata\x18\x1e \x01(\x0b2,.textql.rpc.public.connector.SAPHanaMetadataH\x00R\x0fsapHanaMetadata\x12V\n\x0foracle_metadata\x18\x1f \x01(\x0b2+.textql.rpc.public.connector.OracleMetadataH\x00R\x0eoracleMetadata\x12S\n\x0egmail_metadata\x18 \x01(\x0b2*.textql.rpc.public.connector.GmailMetadataH\x00R\rgmailMetadata\x12S\n\x0etrino_metadata\x18! \x01(\x0b2*.textql.rpc.public.connector.TrinoMetadataH\x00R\rtrinoMetadata\x12o\n\x18google_calendar_metadata\x18" \x01(\x0b23.textql.rpc.public.connector.GoogleCalendarMetadataH\x00R\x16googleCalendarMetadata\x12V\n\x0fgoogle_metadata\x18# \x01(\x0b2+.textql.rpc.public.connector.GoogleMetadataH\x00R\x0egoogleMetadata\x12V\n\x0fdremio_metadata\x18$ \x01(\x0b2+.textql.rpc.public.connector.DremioMetadataH\x00R\x0edremioMetadata\x12V\n\x0fexasol_metadata\x18% \x01(\x0b2+.textql.rpc.public.connector.ExasolMetadataH\x00R\x0eexasolMetadata\x12\\\n\x11firebolt_metadata\x18& \x01(\x0b2-.textql.rpc.public.connector.FireboltMetadataH\x00R\x10fireboltMetadata\x12M\n\x0ckdb_metadata\x18\' \x01(\x0b2(.textql.rpc.public.connector.KdbMetadataH\x00R\x0bkdbMetadata\x12Y\n\x10mongodb_metadata\x18* \x01(\x0b2,.textql.rpc.public.connector.MongoDBMetadataH\x00R\x0fmongodbMetadata\x12\x1d\n\nis_example\x18\x11 \x01(\x08R\tisExample\x12;\n\x1aallow_sql_write_operations\x18\x18 \x01(\x08R\x17allowSqlWriteOperations\x12#\n\rauth_strategy\x18\x19 \x01(\tR\x0cauthStrategy\x12;\n\x1aauthenticated_by_member_id\x18\x1a \x01(\tR\x17authenticatedByMemberId\x126\n\x14member_authenticated\x18\x1b \x01(\x08H\x01R\x13memberAuthenticated\x88\x01\x01\x125\n\x14member_auth_username\x18\x1c \x01(\tH\x02R\x12memberAuthUsername\x88\x01\x01\x12=\n\x1binclude_db_session_metadata\x18( \x01(\x08R\x18includeDbSessionMetadata\x12\x1b\n\tis_public\x18) \x01(\x08R\x08isPublicB\n\n\x08metadataB\x17\n\x15_member_authenticatedB\x17\n\x15_member_auth_username"\x88\x01\n\x14ConnectorAccessGrant\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x17\n\x07role_id\x18\x02 \x01(\tR\x06roleId\x12\x19\n\x08group_id\x18\x03 \x01(\tR\x07groupId\x12\x1f\n\x0baccess_type\x18\x04 \x01(\tR\naccessType"\x7f\n\x15ConnectorAccessConfig\x12\x1b\n\tis_public\x18\x01 \x01(\x08R\x08isPublic\x12I\n\x06grants\x18\x02 \x03(\x0b21.textql.rpc.public.connector.ConnectorAccessGrantR\x06grants"\xef\x02\n\x16CreateConnectorRequest\x12D\n\x06config\x18\x01 \x01(\x0b2,.textql.rpc.public.connector.ConnectorConfigR\x06config\x12@\n\x1aallow_sql_write_operations\x18\x02 \x01(\x08H\x00R\x17allowSqlWriteOperations\x88\x01\x01\x12B\n\x1binclude_db_session_metadata\x18\x03 \x01(\x08H\x01R\x18includeDbSessionMetadata\x88\x01\x01\x12J\n\x06access\x18\x04 \x01(\x0b22.textql.rpc.public.connector.ConnectorAccessConfigR\x06accessB\x1d\n\x1b_allow_sql_write_operationsB\x1e\n\x1c_include_db_session_metadata"\xa3\x01\n\x17CreateConnectorResponse\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12Q\n\x0econnector_type\x18\x03 \x01(\x0e2*.textql.rpc.public.connector.ConnectorTypeR\rconnectorType"\xc6\x02\n\x16UpdateConnectorRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12D\n\x06config\x18\x02 \x01(\x0b2,.textql.rpc.public.connector.ConnectorConfigR\x06config\x12@\n\x1aallow_sql_write_operations\x18\x03 \x01(\x08H\x00R\x17allowSqlWriteOperations\x88\x01\x01\x12B\n\x1binclude_db_session_metadata\x18\x04 \x01(\x08H\x01R\x18includeDbSessionMetadata\x88\x01\x01B\x1d\n\x1b_allow_sql_write_operationsB\x1e\n\x1c_include_db_session_metadata"_\n\x17UpdateConnectorResponse\x12D\n\tconnector\x18\x01 \x01(\x0b2&.textql.rpc.public.connector.ConnectorR\tconnector"8\n\x13GetConnectorRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"\\\n\x14GetConnectorResponse\x12D\n\tconnector\x18\x01 \x01(\x0b2&.textql.rpc.public.connector.ConnectorR\tconnector"\x16\n\x14GetConnectorsRequest"_\n\x15GetConnectorsResponse\x12F\n\nconnectors\x18\x01 \x03(\x0b2&.textql.rpc.public.connector.ConnectorR\nconnectors";\n\x16DeleteConnectorRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"3\n\x17DeleteConnectorResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x95\x01\n\x14TestConnectorRequest\x12D\n\x06config\x18\x01 \x01(\x0b2,.textql.rpc.public.connector.ConnectorConfigR\x06config\x12&\n\x0cconnector_id\x18\x02 \x01(\tH\x00R\x0bconnectorId\x88\x01\x01B\x0f\n\r_connector_id"G\n\x15TestConnectorResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error">\n\x19DuplicateConnectorRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"b\n\x1aDuplicateConnectorResponse\x12D\n\tconnector\x18\x01 \x01(\x0b2&.textql.rpc.public.connector.ConnectorR\tconnector"K\n\x0bQueryResult\x12\x1d\n\narrow_data\x18\x01 \x01(\x0cR\tarrowData\x12\x1d\n\ntotal_rows\x18\x02 \x01(\x03R\ttotalRows"R\n\x12PrimaryKeyMetadata\x12\x18\n\x07columns\x18\x01 \x03(\tR\x07columns\x12"\n\x0cdescriptions\x18\x02 \x03(\tR\x0cdescriptions"\xb0\x02\n\x0eConnectorTable\x12%\n\x0etable_database\x18\x01 \x01(\tR\rtableDatabase\x12!\n\x0ctable_schema\x18\x02 \x01(\tR\x0btableSchema\x12\x1d\n\ntable_name\x18\x03 \x01(\tR\ttableName\x12B\n\x07preview\x18\x04 \x01(\x0b2(.textql.rpc.public.connector.QueryResultR\x07preview\x12R\n\x0cprimary_keys\x18\x05 \x03(\x0b2/.textql.rpc.public.connector.PrimaryKeyMetadataR\x0bprimaryKeys\x12\x1d\n\ntable_type\x18\x06 \x01(\tR\ttableType"?\n\x1aListConnectorTablesRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"x\n\x1bListConnectorTablesResponse\x12C\n\x06tables\x18\x01 \x03(\x0b2+.textql.rpc.public.connector.ConnectorTableR\x06tables\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"\x9f\x01\n\x11RetryTableRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12%\n\x0etable_database\x18\x02 \x01(\tR\rtableDatabase\x12!\n\x0ctable_schema\x18\x03 \x01(\tR\x0btableSchema\x12\x1d\n\ntable_name\x18\x04 \x01(\tR\ttableName"\xba\x01\n\x16GetTablePreviewRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12%\n\x0etable_database\x18\x02 \x01(\tR\rtableDatabase\x12!\n\x0ctable_schema\x18\x03 \x01(\tR\x0btableSchema\x12\x1d\n\ntable_name\x18\x04 \x01(\tR\ttableName\x12\x14\n\x05limit\x18\x05 \x01(\x05R\x05limit"w\n\x17GetTablePreviewResponse\x12\x1d\n\narrow_data\x18\x01 \x01(\x0cR\tarrowData\x12\x18\n\x07success\x18\x02 \x01(\x08R\x07success\x12#\n\rerror_message\x18\x03 \x01(\tR\x0cerrorMessage"s\n\x13ExecuteQueryRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x14\n\x05query\x18\x02 \x01(\tR\x05query\x12\x19\n\x05limit\x18\x03 \x01(\x05H\x00R\x05limit\x88\x01\x01B\x08\n\x06_limit"t\n\x14ExecuteQueryResponse\x12\x1d\n\narrow_data\x18\x01 \x01(\x0cR\tarrowData\x12\x18\n\x07success\x18\x02 \x01(\x08R\x07success\x12#\n\rerror_message\x18\x03 \x01(\tR\x0cerrorMessage"\xe1\x01\n\x18GetExampleQueriesRequest\x12\\\n\x12connector_contexts\x18\x01 \x03(\x0b2-.textql.rpc.public.connector.ConnectorContextR\x11connectorContexts\x12T\n\x0efeature_filter\x18\x02 \x01(\x0e2(.textql.rpc.public.connector.FeatureTypeH\x00R\rfeatureFilter\x88\x01\x01B\x11\n\x0f_feature_filter"\xe4\x01\n\x10ConnectorContext\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12P\n\x07tableau\x18\x02 \x01(\x0b24.textql.rpc.public.connector.TableauConnectorContextH\x00R\x07tableau\x12P\n\x07powerbi\x18\x03 \x01(\x0b24.textql.rpc.public.connector.PowerBIConnectorContextH\x00R\x07powerbiB\t\n\x07context"@\n\x17TableauConnectorContext\x12%\n\x0ecollection_ids\x18\x01 \x03(\tR\rcollectionIds"\x80\x01\n\x17PowerBIConnectorContext\x12\x1d\n\nreport_ids\x18\x01 \x03(\tR\treportIds\x12\x1f\n\x0bdataset_ids\x18\x02 \x03(\tR\ndatasetIds\x12%\n\x0ecollection_ids\x18\x03 \x03(\tR\rcollectionIds"\x8d\x01\n\x0eMessageSegment\x12\x18\n\x07content\x18\x01 \x01(\tR\x07content\x12P\n\x0cfeature_type\x18\x02 \x01(\x0e2(.textql.rpc.public.connector.FeatureTypeH\x00R\x0bfeatureType\x88\x01\x01B\x0f\n\r_feature_type"\xd6\x03\n\x0cExampleQuery\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12&\n\x0fis_multi_source\x18\x04 \x01(\x08R\risMultiSource\x124\n\x16required_connector_ids\x18\x05 \x03(\x05R\x14requiredConnectorIds\x12\x1a\n\x08category\x18\x06 \x01(\tR\x08category\x12G\n\x08segments\x18\x07 \x03(\x0b2+.textql.rpc.public.connector.MessageSegmentR\x08segments\x12U\n\x11required_features\x18\x08 \x03(\x0e2(.textql.rpc.public.connector.FeatureTypeR\x10requiredFeatures\x12Y\n\x0esource_context\x18\t \x01(\x0b2-.textql.rpc.public.connector.ConnectorContextH\x00R\rsourceContext\x88\x01\x01B\x11\n\x0f_source_context"b\n\x19GetExampleQueriesResponse\x12E\n\x08examples\x18\x01 \x03(\x0b2).textql.rpc.public.connector.ExampleQueryR\x08examples"\xaa\x02\n\x12ConnectorStatEntry\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x1f\n\x0bquery_count\x18\x02 \x01(\x03R\nqueryCount\x12\x1d\n\nerror_rate\x18\x03 \x01(\x01R\terrorRate\x12)\n\x11avg_query_time_ms\x18\x04 \x01(\x03R\x0eavgQueryTimeMs\x12!\n\x0cunique_users\x18\x05 \x01(\x05R\x0buniqueUsers\x12B\n\x0flast_queried_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\rlastQueriedAt\x12\x1f\n\x0btable_count\x18\x07 \x01(\x05R\ntableCount".\n\x18GetConnectorStatsRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days"b\n\x19GetConnectorStatsResponse\x12E\n\x05stats\x18\x01 \x03(\x0b2/.textql.rpc.public.connector.ConnectorStatEntryR\x05stats"\x80\x01\n\x19ListQueryTemplatesRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12\x12\n\x04days\x18\x04 \x01(\x05R\x04days"\x87\x01\n\x1aListQueryTemplatesResponse\x12H\n\ttemplates\x18\x01 \x03(\x0b2*.textql.rpc.public.connector.QueryTemplateR\ttemplates\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount"\xb9\x03\n\rQueryTemplate\x12\x1f\n\x0btemplate_id\x18\x01 \x01(\tR\ntemplateId\x12%\n\x0enormalized_sql\x18\x02 \x01(\tR\rnormalizedSql\x12\x16\n\x06tables\x18\x03 \x03(\tR\x06tables\x12@\n\x05joins\x18\x04 \x03(\x0b2*.textql.rpc.public.connector.QueryJoinInfoR\x05joins\x12\x1f\n\x0bevent_count\x18\x05 \x01(\x03R\neventCount\x129\n\nfirst_seen\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tfirstSeen\x127\n\tlast_seen\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08lastSeen\x12K\n\x08cte_refs\x18\x08 \x03(\x0b20.textql.rpc.public.connector.QueryTemplateCteRefR\x07cteRefs\x12$\n\x0eavg_runtime_ms\x18\t \x01(\x05R\x0cavgRuntimeMs"Q\n\x13QueryTemplateCteRef\x12\x1f\n\x0btemplate_id\x18\x01 \x01(\tR\ntemplateId\x12\x19\n\x08cte_name\x18\x02 \x01(\tR\x07cteName"D\n\rQueryJoinInfo\x12\x16\n\x06tables\x18\x01 \x03(\tR\x06tables\x12\x1b\n\tjoin_type\x18\x02 \x01(\tR\x08joinType"Q\n\x18GetConnectorUsageRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x12\n\x04days\x18\x02 \x01(\x05R\x04days"\xae\x02\n\x19GetConnectorUsageResponse\x12O\n\x0cdaily_volume\x18\x01 \x03(\x0b2,.textql.rpc.public.connector.DailyQueryCountR\x0bdailyVolume\x12A\n\ttop_users\x18\x02 \x03(\x0b2$.textql.rpc.public.connector.TopUserR\x08topUsers\x12#\n\rtotal_queries\x18\x03 \x01(\x03R\x0ctotalQueries\x12X\n\x12daily_execution_ms\x18\x04 \x03(\x0b2*.textql.rpc.public.connector.DailyDurationR\x10dailyExecutionMs";\n\x0fDailyQueryCount\x12\x12\n\x04date\x18\x01 \x01(\tR\x04date\x12\x14\n\x05count\x18\x02 \x01(\x03R\x05count">\n\rDailyDuration\x12\x12\n\x04date\x18\x01 \x01(\tR\x04date\x12\x19\n\x08total_ms\x18\x02 \x01(\x03R\x07totalMs"\xc0\x01\n\x07TopUser\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12\x14\n\x05email\x18\x03 \x01(\tR\x05email\x12\x1f\n\x0bquery_count\x18\x04 \x01(\x03R\nqueryCount\x12\x1d\n\nchat_count\x18\x05 \x01(\x03R\tchatCount\x12\x1f\n\x0bpicture_url\x18\x06 \x01(\tR\npictureUrl"=\n\x18GetConnectorChatsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"\xa4\x01\n\x19GetConnectorChatsResponse\x12E\n\x05stats\x18\x01 \x01(\x0b2/.textql.rpc.public.connector.ConnectorChatStatsR\x05stats\x12@\n\x05chats\x18\x02 \x03(\x0b2*.textql.rpc.public.connector.ConnectorChatR\x05chats"\x8e\x02\n\x12ConnectorChatStats\x12&\n\x0fchats_this_week\x18\x01 \x01(\x03R\rchatsThisWeek\x12&\n\x0fchats_last_week\x18\x02 \x01(\x03R\rchatsLastWeek\x12!\n\x0cactive_users\x18\x03 \x01(\x03R\x0bactiveUsers\x123\n\x16active_users_last_week\x18\x04 \x01(\x03R\x13activeUsersLastWeek\x12/\n\x14avg_queries_per_chat\x18\x05 \x01(\x01R\x11avgQueriesPerChat\x12\x1f\n\x0btotal_chats\x18\x06 \x01(\x03R\ntotalChats"\xb3\x02\n\rConnectorChat\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x18\n\x07summary\x18\x02 \x01(\tR\x07summary\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12!\n\x0cdisplay_name\x18\x04 \x01(\tR\x0bdisplayName\x12\x14\n\x05email\x18\x05 \x01(\tR\x05email\x12\x1f\n\x0bquery_count\x18\x06 \x01(\x03R\nqueryCount\x12?\n\rlast_activity\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0clastActivity\x12\x16\n\x06tables\x18\x08 \x03(\tR\x06tables\x12\x1f\n\x0bpicture_url\x18\t \x01(\tR\npictureUrl"\x87\x01\n GetConnectorCellDurationsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x12\n\x04days\x18\x02 \x01(\x05R\x04days\x12\x14\n\x05limit\x18\x03 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x04 \x01(\x05R\x06offset"\x8e\x01\n!GetConnectorCellDurationsResponse\x12H\n\x05cells\x18\x01 \x03(\x0b22.textql.rpc.public.connector.ConnectorCellDurationR\x05cells\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x03R\ntotalCount"\xc9\x02\n\x15ConnectorCellDuration\x12\x17\n\x07cell_id\x18\x01 \x01(\tR\x06cellId\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId\x12\x1f\n\x0bduration_ms\x18\x03 \x01(\x03R\ndurationMs\x12!\n\x0chas_duration\x18\x04 \x01(\x08R\x0bhasDuration\x129\n\nstarted_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartedAt\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\'\n\x0fexecution_error\x18\x07 \x01(\tR\x0eexecutionError\x12\x1b\n\tmember_id\x18\x08 \x01(\tR\x08memberId"B\n\x1dGetConnectorDashboardsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"\xbd\x01\n\x1eGetConnectorDashboardsResponse\x12J\n\x05stats\x18\x01 \x01(\x0b24.textql.rpc.public.connector.ConnectorDashboardStatsR\x05stats\x12O\n\ndashboards\x18\x02 \x03(\x0b2/.textql.rpc.public.connector.ConnectorDashboardR\ndashboards"\xbb\x02\n\x17ConnectorDashboardStats\x120\n\x14dashboards_this_week\x18\x01 \x01(\x03R\x12dashboardsThisWeek\x120\n\x14dashboards_last_week\x18\x02 \x01(\x03R\x12dashboardsLastWeek\x12!\n\x0cactive_users\x18\x03 \x01(\x03R\x0bactiveUsers\x123\n\x16active_users_last_week\x18\x04 \x01(\x03R\x13activeUsersLastWeek\x129\n\x19avg_queries_per_dashboard\x18\x05 \x01(\x01R\x16avgQueriesPerDashboard\x12)\n\x10total_dashboards\x18\x06 \x01(\x03R\x0ftotalDashboards"\xbc\x02\n\x12ConnectorDashboard\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12!\n\x0cdisplay_name\x18\x04 \x01(\tR\x0bdisplayName\x12\x14\n\x05email\x18\x05 \x01(\tR\x05email\x12\x1f\n\x0bquery_count\x18\x06 \x01(\x03R\nqueryCount\x12?\n\rlast_activity\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0clastActivity\x12\x16\n\x06tables\x18\x08 \x03(\tR\x06tables\x12\x1f\n\x0bpicture_url\x18\t \x01(\tR\npictureUrl*\xca\x03\n\rConnectorType\x12\x1e\n\x1aCONNECTOR_TYPE_UNSPECIFIED\x10\x00\x12\x0c\n\x08REDSHIFT\x10\x01\x12\r\n\tSNOWFLAKE\x10\x02\x12\x0c\n\x08BIGQUERY\x10\x03\x12\x11\n\rAZURE_SYNAPSE\x10\x04\x12\n\n\x06AURORA\x10\x05\x12\x0b\n\x07TABLEAU\x10\x06\x12\x0e\n\nDATABRICKS\x10\x07\x12\x0c\n\x08SUPABASE\x10\x08\x12\x0c\n\x08POSTGRES\x10\t\x12\x0e\n\nMOTHERDUCK\x10\n\x12\x0e\n\nCLICKHOUSE\x10\x0b\x12\t\n\x05MYSQL\x10\x0c\x12\n\n\x06ATHENA\x10\r\x12\x10\n\x0cGOOGLE_DRIVE\x10\x0e\x12\x0b\n\x07POWERBI\x10\x0f\x12\x0e\n\nSQL_SERVER\x10\x10\x12\x11\n\rMICROSOFT_365\x10\x11\x12\x0c\n\x08SAP_HANA\x10\x12\x12\n\n\x06ORACLE\x10\x13\x12\t\n\x05GMAIL\x10\x14\x12\x10\n\x0cANA_INTERNAL\x10\x15\x12\t\n\x05TRINO\x10\x16\x12\x13\n\x0fGOOGLE_CALENDAR\x10\x17\x12\n\n\x06GOOGLE\x10\x18\x12\n\n\x06DREMIO\x10\x19\x12\n\n\x06EXASOL\x10\x1a\x12\x0c\n\x08FIREBOLT\x10\x1b\x12\x07\n\x03KDB\x10\x1c\x12\x0b\n\x07MONGODB\x10\x1d*{\n\x0bFeatureType\x12\x1c\n\x18FEATURE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13FEATURE_TYPE_REPORT\x10\x01\x12\x19\n\x15FEATURE_TYPE_PLAYBOOK\x10\x02\x12\x1a\n\x16FEATURE_TYPE_DASHBOARD\x10\x032\xf7\x11\n\x10ConnectorService\x12|\n\x0fCreateConnector\x123.textql.rpc.public.connector.CreateConnectorRequest\x1a4.textql.rpc.public.connector.CreateConnectorResponse\x12|\n\x0fUpdateConnector\x123.textql.rpc.public.connector.UpdateConnectorRequest\x1a4.textql.rpc.public.connector.UpdateConnectorResponse\x12s\n\x0cGetConnector\x120.textql.rpc.public.connector.GetConnectorRequest\x1a1.textql.rpc.public.connector.GetConnectorResponse\x12v\n\rGetConnectors\x121.textql.rpc.public.connector.GetConnectorsRequest\x1a2.textql.rpc.public.connector.GetConnectorsResponse\x12|\n\x0fDeleteConnector\x123.textql.rpc.public.connector.DeleteConnectorRequest\x1a4.textql.rpc.public.connector.DeleteConnectorResponse\x12v\n\rTestConnector\x121.textql.rpc.public.connector.TestConnectorRequest\x1a2.textql.rpc.public.connector.TestConnectorResponse\x12\x85\x01\n\x12DuplicateConnector\x126.textql.rpc.public.connector.DuplicateConnectorRequest\x1a7.textql.rpc.public.connector.DuplicateConnectorResponse\x12\x8d\x01\n\x13ListConnectorTables\x127.textql.rpc.public.connector.ListConnectorTablesRequest\x1a8.textql.rpc.public.connector.ListConnectorTablesResponse"\x03\x90\x02\x01\x12\x81\x01\n\x0fGetTablePreview\x123.textql.rpc.public.connector.GetTablePreviewRequest\x1a4.textql.rpc.public.connector.GetTablePreviewResponse"\x03\x90\x02\x01\x12x\n\x0cExecuteQuery\x120.textql.rpc.public.connector.ExecuteQueryRequest\x1a1.textql.rpc.public.connector.ExecuteQueryResponse"\x03\x90\x02\x01\x12\x87\x01\n\x11GetExampleQueries\x125.textql.rpc.public.connector.GetExampleQueriesRequest\x1a6.textql.rpc.public.connector.GetExampleQueriesResponse"\x03\x90\x02\x01\x12\x87\x01\n\x11GetConnectorStats\x125.textql.rpc.public.connector.GetConnectorStatsRequest\x1a6.textql.rpc.public.connector.GetConnectorStatsResponse"\x03\x90\x02\x01\x12\x8a\x01\n\x12ListQueryTemplates\x126.textql.rpc.public.connector.ListQueryTemplatesRequest\x1a7.textql.rpc.public.connector.ListQueryTemplatesResponse"\x03\x90\x02\x01\x12\x87\x01\n\x11GetConnectorUsage\x125.textql.rpc.public.connector.GetConnectorUsageRequest\x1a6.textql.rpc.public.connector.GetConnectorUsageResponse"\x03\x90\x02\x01\x12\x87\x01\n\x11GetConnectorChats\x125.textql.rpc.public.connector.GetConnectorChatsRequest\x1a6.textql.rpc.public.connector.GetConnectorChatsResponse"\x03\x90\x02\x01\x12\x9f\x01\n\x19GetConnectorCellDurations\x12=.textql.rpc.public.connector.GetConnectorCellDurationsRequest\x1a>.textql.rpc.public.connector.GetConnectorCellDurationsResponse"\x03\x90\x02\x01\x12\x96\x01\n\x16GetConnectorDashboards\x12:.textql.rpc.public.connector.GetConnectorDashboardsRequest\x1a;.textql.rpc.public.connector.GetConnectorDashboardsResponse"\x03\x90\x02\x01B;Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/publicb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.connector_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public' + _globals['_REDSHIFTMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_REDSHIFTMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_REDSHIFTMETADATA'].fields_by_name['aws_access_key_id']._loaded_options = None + _globals['_REDSHIFTMETADATA'].fields_by_name['aws_access_key_id']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_REDSHIFTMETADATA'].fields_by_name['aws_secret_access_key']._loaded_options = None + _globals['_REDSHIFTMETADATA'].fields_by_name['aws_secret_access_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_POSTGRESMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_POSTGRESMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_POSTGRESMETADATA'].fields_by_name['ssh_private_key']._loaded_options = None + _globals['_POSTGRESMETADATA'].fields_by_name['ssh_private_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_KDBMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_KDBMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_KDBMETADATA'].fields_by_name['ssh_private_key']._loaded_options = None + _globals['_KDBMETADATA'].fields_by_name['ssh_private_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_MONGODBMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_MONGODBMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SUPABASEMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_SUPABASEMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SNOWFLAKEMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_SNOWFLAKEMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SNOWFLAKEMETADATA'].fields_by_name['private_key']._loaded_options = None + _globals['_SNOWFLAKEMETADATA'].fields_by_name['private_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SNOWFLAKEMETADATA'].fields_by_name['private_key_passphrase']._loaded_options = None + _globals['_SNOWFLAKEMETADATA'].fields_by_name['private_key_passphrase']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SNOWFLAKEMETADATA'].fields_by_name['oauth_access_token']._loaded_options = None + _globals['_SNOWFLAKEMETADATA'].fields_by_name['oauth_access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SNOWFLAKEMETADATA'].fields_by_name['oauth_refresh_token']._loaded_options = None + _globals['_SNOWFLAKEMETADATA'].fields_by_name['oauth_refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SNOWFLAKEMETADATA'].fields_by_name['oauth_client_secret']._loaded_options = None + _globals['_SNOWFLAKEMETADATA'].fields_by_name['oauth_client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_BIGQUERYMETADATA'].fields_by_name['service_account_key']._loaded_options = None + _globals['_BIGQUERYMETADATA'].fields_by_name['service_account_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_AZURESYNAPSEMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_AZURESYNAPSEMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_AZURESYNAPSEMETADATA'].fields_by_name['client_secret']._loaded_options = None + _globals['_AZURESYNAPSEMETADATA'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_AURORAMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_AURORAMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_MYSQLMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_MYSQLMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SQLSERVERMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_SQLSERVERMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SQLSERVERMETADATA'].fields_by_name['krb5_keytab']._loaded_options = None + _globals['_SQLSERVERMETADATA'].fields_by_name['krb5_keytab']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SQLSERVERMETADATA'].fields_by_name['client_cert']._loaded_options = None + _globals['_SQLSERVERMETADATA'].fields_by_name['client_cert']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SQLSERVERMETADATA'].fields_by_name['client_key']._loaded_options = None + _globals['_SQLSERVERMETADATA'].fields_by_name['client_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SQLSERVERMETADATA'].fields_by_name['client_secret']._loaded_options = None + _globals['_SQLSERVERMETADATA'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TABLEAUMETADATA'].fields_by_name['pat_secret']._loaded_options = None + _globals['_TABLEAUMETADATA'].fields_by_name['pat_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TABLEAUMETADATA'].fields_by_name['connected_app_secret_value']._loaded_options = None + _globals['_TABLEAUMETADATA'].fields_by_name['connected_app_secret_value']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_POWERBIMETADATA'].fields_by_name['client_secret']._loaded_options = None + _globals['_POWERBIMETADATA'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_PERSONALACCESSTOKEN'].fields_by_name['token']._loaded_options = None + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_PERSONALACCESSTOKEN'].fields_by_name['token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_CLIENTCREDENTIALS'].fields_by_name['client_secret']._loaded_options = None + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_CLIENTCREDENTIALS'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_OAUTHU2M'].fields_by_name['client_secret']._loaded_options = None + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_OAUTHU2M'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_MOTHERDUCKMETADATA'].fields_by_name['token']._loaded_options = None + _globals['_MOTHERDUCKMETADATA'].fields_by_name['token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_CLICKHOUSEMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_CLICKHOUSEMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_ATHENAMETADATA_ATHENAAUTH_ACCESSKEYCREDENTIALS'].fields_by_name['access_key_id']._loaded_options = None + _globals['_ATHENAMETADATA_ATHENAAUTH_ACCESSKEYCREDENTIALS'].fields_by_name['access_key_id']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_ATHENAMETADATA_ATHENAAUTH_ACCESSKEYCREDENTIALS'].fields_by_name['secret_access_key']._loaded_options = None + _globals['_ATHENAMETADATA_ATHENAAUTH_ACCESSKEYCREDENTIALS'].fields_by_name['secret_access_key']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GOOGLEDRIVEMETADATA'].fields_by_name['access_token']._loaded_options = None + _globals['_GOOGLEDRIVEMETADATA'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GOOGLEDRIVEMETADATA'].fields_by_name['refresh_token']._loaded_options = None + _globals['_GOOGLEDRIVEMETADATA'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GMAILMETADATA'].fields_by_name['access_token']._loaded_options = None + _globals['_GMAILMETADATA'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GMAILMETADATA'].fields_by_name['refresh_token']._loaded_options = None + _globals['_GMAILMETADATA'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GOOGLECALENDARMETADATA'].fields_by_name['access_token']._loaded_options = None + _globals['_GOOGLECALENDARMETADATA'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GOOGLECALENDARMETADATA'].fields_by_name['refresh_token']._loaded_options = None + _globals['_GOOGLECALENDARMETADATA'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GOOGLEMETADATA'].fields_by_name['access_token']._loaded_options = None + _globals['_GOOGLEMETADATA'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GOOGLEMETADATA'].fields_by_name['refresh_token']._loaded_options = None + _globals['_GOOGLEMETADATA'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_MICROSOFT365METADATA'].fields_by_name['client_secret']._loaded_options = None + _globals['_MICROSOFT365METADATA'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_MICROSOFT365METADATA'].fields_by_name['access_token']._loaded_options = None + _globals['_MICROSOFT365METADATA'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_MICROSOFT365METADATA'].fields_by_name['refresh_token']._loaded_options = None + _globals['_MICROSOFT365METADATA'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_SAPHANAMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_SAPHANAMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_ORACLEMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_ORACLEMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_ORACLEMETADATA'].fields_by_name['wallet_zip']._loaded_options = None + _globals['_ORACLEMETADATA'].fields_by_name['wallet_zip']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_ORACLEMETADATA'].fields_by_name['wallet_password']._loaded_options = None + _globals['_ORACLEMETADATA'].fields_by_name['wallet_password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TRINOMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_TRINOMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TRINOMETADATA'].fields_by_name['access_token']._loaded_options = None + _globals['_TRINOMETADATA'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_DREMIOMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_DREMIOMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_DREMIOMETADATA'].fields_by_name['token']._loaded_options = None + _globals['_DREMIOMETADATA'].fields_by_name['token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXASOLMETADATA'].fields_by_name['password']._loaded_options = None + _globals['_EXASOLMETADATA'].fields_by_name['password']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXASOLMETADATA'].fields_by_name['access_token']._loaded_options = None + _globals['_EXASOLMETADATA'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_FIREBOLTMETADATA'].fields_by_name['client_secret']._loaded_options = None + _globals['_FIREBOLTMETADATA'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['ListConnectorTables']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['ListConnectorTables']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['GetTablePreview']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['GetTablePreview']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['ExecuteQuery']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['ExecuteQuery']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['GetExampleQueries']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['GetExampleQueries']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorStats']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorStats']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['ListQueryTemplates']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['ListQueryTemplates']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorUsage']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorUsage']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorChats']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorChats']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorCellDurations']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorCellDurations']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorDashboards']._loaded_options = None + _globals['_CONNECTORSERVICE'].methods_by_name['GetConnectorDashboards']._serialized_options = b'\x90\x02\x01' + _globals['_CONNECTORTYPE']._serialized_start = 24267 + _globals['_CONNECTORTYPE']._serialized_end = 24725 + _globals['_FEATURETYPE']._serialized_start = 24727 + _globals['_FEATURETYPE']._serialized_end = 24850 + _globals['_CONNECTORCONFIG']._serialized_start = 111 + _globals['_CONNECTORCONFIG']._serialized_end = 2427 + _globals['_REDSHIFTMETADATA']._serialized_start = 2430 + _globals['_REDSHIFTMETADATA']._serialized_end = 2909 + _globals['_POSTGRESMETADATA']._serialized_start = 2912 + _globals['_POSTGRESMETADATA']._serialized_end = 3532 + _globals['_KDBMETADATA']._serialized_start = 3535 + _globals['_KDBMETADATA']._serialized_end = 3886 + _globals['_MONGODBMETADATA']._serialized_start = 3889 + _globals['_MONGODBMETADATA']._serialized_end = 4103 + _globals['_SUPABASEMETADATA']._serialized_start = 4106 + _globals['_SUPABASEMETADATA']._serialized_end = 4325 + _globals['_SNOWFLAKEMETADATA']._serialized_start = 4328 + _globals['_SNOWFLAKEMETADATA']._serialized_end = 5038 + _globals['_BIGQUERYMETADATA']._serialized_start = 5041 + _globals['_BIGQUERYMETADATA']._serialized_end = 5218 + _globals['_AZURESYNAPSEMETADATA']._serialized_start = 5221 + _globals['_AZURESYNAPSEMETADATA']._serialized_end = 5519 + _globals['_AURORAMETADATA']._serialized_start = 5522 + _globals['_AURORAMETADATA']._serialized_end = 5922 + _globals['_AURORAMETADATA_AURORAAUTH']._serialized_start = 5828 + _globals['_AURORAMETADATA_AURORAAUTH']._serialized_end = 5922 + _globals['_MYSQLMETADATA']._serialized_start = 5925 + _globals['_MYSQLMETADATA']._serialized_end = 6113 + _globals['_SQLSERVERMETADATA']._serialized_start = 6116 + _globals['_SQLSERVERMETADATA']._serialized_end = 6644 + _globals['_TABLEAUMETADATA']._serialized_start = 6647 + _globals['_TABLEAUMETADATA']._serialized_end = 7067 + _globals['_POWERBIMETADATA']._serialized_start = 7070 + _globals['_POWERBIMETADATA']._serialized_end = 7273 + _globals['_DATABRICKSMETADATA']._serialized_start = 7276 + _globals['_DATABRICKSMETADATA']._serialized_end = 8172 + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH']._serialized_start = 7575 + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH']._serialized_end = 8172 + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_PERSONALACCESSTOKEN']._serialized_start = 7933 + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_PERSONALACCESSTOKEN']._serialized_end = 7982 + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_CLIENTCREDENTIALS']._serialized_start = 7984 + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_CLIENTCREDENTIALS']._serialized_end = 8075 + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_OAUTHU2M']._serialized_start = 8077 + _globals['_DATABRICKSMETADATA_DATABRICKSAUTH_OAUTHU2M']._serialized_end = 8159 + _globals['_MOTHERDUCKMETADATA']._serialized_start = 8174 + _globals['_MOTHERDUCKMETADATA']._serialized_end = 8222 + _globals['_CLICKHOUSEMETADATA']._serialized_start = 8225 + _globals['_CLICKHOUSEMETADATA']._serialized_end = 8420 + _globals['_ATHENAMETADATA']._serialized_start = 8423 + _globals['_ATHENAMETADATA']._serialized_end = 9124 + _globals['_ATHENAMETADATA_ATHENAAUTH']._serialized_start = 8685 + _globals['_ATHENAMETADATA_ATHENAAUTH']._serialized_end = 9124 + _globals['_ATHENAMETADATA_ATHENAAUTH_ACCESSKEYCREDENTIALS']._serialized_start = 8913 + _globals['_ATHENAMETADATA_ATHENAAUTH_ACCESSKEYCREDENTIALS']._serialized_end = 9027 + _globals['_ATHENAMETADATA_ATHENAAUTH_IAMROLECREDENTIALS']._serialized_start = 9029 + _globals['_ATHENAMETADATA_ATHENAAUTH_IAMROLECREDENTIALS']._serialized_end = 9111 + _globals['_GOOGLEDRIVEMETADATA']._serialized_start = 9127 + _globals['_GOOGLEDRIVEMETADATA']._serialized_end = 9261 + _globals['_GMAILMETADATA']._serialized_start = 9264 + _globals['_GMAILMETADATA']._serialized_end = 9429 + _globals['_GOOGLECALENDARMETADATA']._serialized_start = 9432 + _globals['_GOOGLECALENDARMETADATA']._serialized_end = 9606 + _globals['_GOOGLEMETADATA']._serialized_start = 9609 + _globals['_GOOGLEMETADATA']._serialized_end = 9927 + _globals['_MICROSOFT365METADATA']._serialized_start = 9930 + _globals['_MICROSOFT365METADATA']._serialized_end = 10262 + _globals['_SAPHANAMETADATA']._serialized_start = 10265 + _globals['_SAPHANAMETADATA']._serialized_end = 10521 + _globals['_ORACLEMETADATA']._serialized_start = 10524 + _globals['_ORACLEMETADATA']._serialized_end = 10933 + _globals['_TRINOMETADATA']._serialized_start = 10936 + _globals['_TRINOMETADATA']._serialized_end = 11203 + _globals['_DREMIOMETADATA']._serialized_start = 11206 + _globals['_DREMIOMETADATA']._serialized_end = 11426 + _globals['_EXASOLMETADATA']._serialized_start = 11429 + _globals['_EXASOLMETADATA']._serialized_end = 11661 + _globals['_FIREBOLTMETADATA']._serialized_start = 11664 + _globals['_FIREBOLTMETADATA']._serialized_end = 11876 + _globals['_CONNECTOR']._serialized_start = 11879 + _globals['_CONNECTOR']._serialized_end = 15175 + _globals['_CONNECTORACCESSGRANT']._serialized_start = 15178 + _globals['_CONNECTORACCESSGRANT']._serialized_end = 15314 + _globals['_CONNECTORACCESSCONFIG']._serialized_start = 15316 + _globals['_CONNECTORACCESSCONFIG']._serialized_end = 15443 + _globals['_CREATECONNECTORREQUEST']._serialized_start = 15446 + _globals['_CREATECONNECTORREQUEST']._serialized_end = 15813 + _globals['_CREATECONNECTORRESPONSE']._serialized_start = 15816 + _globals['_CREATECONNECTORRESPONSE']._serialized_end = 15979 + _globals['_UPDATECONNECTORREQUEST']._serialized_start = 15982 + _globals['_UPDATECONNECTORREQUEST']._serialized_end = 16308 + _globals['_UPDATECONNECTORRESPONSE']._serialized_start = 16310 + _globals['_UPDATECONNECTORRESPONSE']._serialized_end = 16405 + _globals['_GETCONNECTORREQUEST']._serialized_start = 16407 + _globals['_GETCONNECTORREQUEST']._serialized_end = 16463 + _globals['_GETCONNECTORRESPONSE']._serialized_start = 16465 + _globals['_GETCONNECTORRESPONSE']._serialized_end = 16557 + _globals['_GETCONNECTORSREQUEST']._serialized_start = 16559 + _globals['_GETCONNECTORSREQUEST']._serialized_end = 16581 + _globals['_GETCONNECTORSRESPONSE']._serialized_start = 16583 + _globals['_GETCONNECTORSRESPONSE']._serialized_end = 16678 + _globals['_DELETECONNECTORREQUEST']._serialized_start = 16680 + _globals['_DELETECONNECTORREQUEST']._serialized_end = 16739 + _globals['_DELETECONNECTORRESPONSE']._serialized_start = 16741 + _globals['_DELETECONNECTORRESPONSE']._serialized_end = 16792 + _globals['_TESTCONNECTORREQUEST']._serialized_start = 16795 + _globals['_TESTCONNECTORREQUEST']._serialized_end = 16944 + _globals['_TESTCONNECTORRESPONSE']._serialized_start = 16946 + _globals['_TESTCONNECTORRESPONSE']._serialized_end = 17017 + _globals['_DUPLICATECONNECTORREQUEST']._serialized_start = 17019 + _globals['_DUPLICATECONNECTORREQUEST']._serialized_end = 17081 + _globals['_DUPLICATECONNECTORRESPONSE']._serialized_start = 17083 + _globals['_DUPLICATECONNECTORRESPONSE']._serialized_end = 17181 + _globals['_QUERYRESULT']._serialized_start = 17183 + _globals['_QUERYRESULT']._serialized_end = 17258 + _globals['_PRIMARYKEYMETADATA']._serialized_start = 17260 + _globals['_PRIMARYKEYMETADATA']._serialized_end = 17342 + _globals['_CONNECTORTABLE']._serialized_start = 17345 + _globals['_CONNECTORTABLE']._serialized_end = 17649 + _globals['_LISTCONNECTORTABLESREQUEST']._serialized_start = 17651 + _globals['_LISTCONNECTORTABLESREQUEST']._serialized_end = 17714 + _globals['_LISTCONNECTORTABLESRESPONSE']._serialized_start = 17716 + _globals['_LISTCONNECTORTABLESRESPONSE']._serialized_end = 17836 + _globals['_RETRYTABLEREQUEST']._serialized_start = 17839 + _globals['_RETRYTABLEREQUEST']._serialized_end = 17998 + _globals['_GETTABLEPREVIEWREQUEST']._serialized_start = 18001 + _globals['_GETTABLEPREVIEWREQUEST']._serialized_end = 18187 + _globals['_GETTABLEPREVIEWRESPONSE']._serialized_start = 18189 + _globals['_GETTABLEPREVIEWRESPONSE']._serialized_end = 18308 + _globals['_EXECUTEQUERYREQUEST']._serialized_start = 18310 + _globals['_EXECUTEQUERYREQUEST']._serialized_end = 18425 + _globals['_EXECUTEQUERYRESPONSE']._serialized_start = 18427 + _globals['_EXECUTEQUERYRESPONSE']._serialized_end = 18543 + _globals['_GETEXAMPLEQUERIESREQUEST']._serialized_start = 18546 + _globals['_GETEXAMPLEQUERIESREQUEST']._serialized_end = 18771 + _globals['_CONNECTORCONTEXT']._serialized_start = 18774 + _globals['_CONNECTORCONTEXT']._serialized_end = 19002 + _globals['_TABLEAUCONNECTORCONTEXT']._serialized_start = 19004 + _globals['_TABLEAUCONNECTORCONTEXT']._serialized_end = 19068 + _globals['_POWERBICONNECTORCONTEXT']._serialized_start = 19071 + _globals['_POWERBICONNECTORCONTEXT']._serialized_end = 19199 + _globals['_MESSAGESEGMENT']._serialized_start = 19202 + _globals['_MESSAGESEGMENT']._serialized_end = 19343 + _globals['_EXAMPLEQUERY']._serialized_start = 19346 + _globals['_EXAMPLEQUERY']._serialized_end = 19816 + _globals['_GETEXAMPLEQUERIESRESPONSE']._serialized_start = 19818 + _globals['_GETEXAMPLEQUERIESRESPONSE']._serialized_end = 19916 + _globals['_CONNECTORSTATENTRY']._serialized_start = 19919 + _globals['_CONNECTORSTATENTRY']._serialized_end = 20217 + _globals['_GETCONNECTORSTATSREQUEST']._serialized_start = 20219 + _globals['_GETCONNECTORSTATSREQUEST']._serialized_end = 20265 + _globals['_GETCONNECTORSTATSRESPONSE']._serialized_start = 20267 + _globals['_GETCONNECTORSTATSRESPONSE']._serialized_end = 20365 + _globals['_LISTQUERYTEMPLATESREQUEST']._serialized_start = 20368 + _globals['_LISTQUERYTEMPLATESREQUEST']._serialized_end = 20496 + _globals['_LISTQUERYTEMPLATESRESPONSE']._serialized_start = 20499 + _globals['_LISTQUERYTEMPLATESRESPONSE']._serialized_end = 20634 + _globals['_QUERYTEMPLATE']._serialized_start = 20637 + _globals['_QUERYTEMPLATE']._serialized_end = 21078 + _globals['_QUERYTEMPLATECTEREF']._serialized_start = 21080 + _globals['_QUERYTEMPLATECTEREF']._serialized_end = 21161 + _globals['_QUERYJOININFO']._serialized_start = 21163 + _globals['_QUERYJOININFO']._serialized_end = 21231 + _globals['_GETCONNECTORUSAGEREQUEST']._serialized_start = 21233 + _globals['_GETCONNECTORUSAGEREQUEST']._serialized_end = 21314 + _globals['_GETCONNECTORUSAGERESPONSE']._serialized_start = 21317 + _globals['_GETCONNECTORUSAGERESPONSE']._serialized_end = 21619 + _globals['_DAILYQUERYCOUNT']._serialized_start = 21621 + _globals['_DAILYQUERYCOUNT']._serialized_end = 21680 + _globals['_DAILYDURATION']._serialized_start = 21682 + _globals['_DAILYDURATION']._serialized_end = 21744 + _globals['_TOPUSER']._serialized_start = 21747 + _globals['_TOPUSER']._serialized_end = 21939 + _globals['_GETCONNECTORCHATSREQUEST']._serialized_start = 21941 + _globals['_GETCONNECTORCHATSREQUEST']._serialized_end = 22002 + _globals['_GETCONNECTORCHATSRESPONSE']._serialized_start = 22005 + _globals['_GETCONNECTORCHATSRESPONSE']._serialized_end = 22169 + _globals['_CONNECTORCHATSTATS']._serialized_start = 22172 + _globals['_CONNECTORCHATSTATS']._serialized_end = 22442 + _globals['_CONNECTORCHAT']._serialized_start = 22445 + _globals['_CONNECTORCHAT']._serialized_end = 22752 + _globals['_GETCONNECTORCELLDURATIONSREQUEST']._serialized_start = 22755 + _globals['_GETCONNECTORCELLDURATIONSREQUEST']._serialized_end = 22890 + _globals['_GETCONNECTORCELLDURATIONSRESPONSE']._serialized_start = 22893 + _globals['_GETCONNECTORCELLDURATIONSRESPONSE']._serialized_end = 23035 + _globals['_CONNECTORCELLDURATION']._serialized_start = 23038 + _globals['_CONNECTORCELLDURATION']._serialized_end = 23367 + _globals['_GETCONNECTORDASHBOARDSREQUEST']._serialized_start = 23369 + _globals['_GETCONNECTORDASHBOARDSREQUEST']._serialized_end = 23435 + _globals['_GETCONNECTORDASHBOARDSRESPONSE']._serialized_start = 23438 + _globals['_GETCONNECTORDASHBOARDSRESPONSE']._serialized_end = 23627 + _globals['_CONNECTORDASHBOARDSTATS']._serialized_start = 23630 + _globals['_CONNECTORDASHBOARDSTATS']._serialized_end = 23945 + _globals['_CONNECTORDASHBOARD']._serialized_start = 23948 + _globals['_CONNECTORDASHBOARD']._serialized_end = 24264 + _globals['_CONNECTORSERVICE']._serialized_start = 24853 + _globals['_CONNECTORSERVICE']._serialized_end = 27148 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/connector_pb2.pyi b/src/textql_sdk/_connect/public/connector_pb2.pyi new file mode 100644 index 0000000..e92452d --- /dev/null +++ b/src/textql_sdk/_connect/public/connector_pb2.pyi @@ -0,0 +1,1656 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ConnectorType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CONNECTOR_TYPE_UNSPECIFIED: _ClassVar[ConnectorType] + REDSHIFT: _ClassVar[ConnectorType] + SNOWFLAKE: _ClassVar[ConnectorType] + BIGQUERY: _ClassVar[ConnectorType] + AZURE_SYNAPSE: _ClassVar[ConnectorType] + AURORA: _ClassVar[ConnectorType] + TABLEAU: _ClassVar[ConnectorType] + DATABRICKS: _ClassVar[ConnectorType] + SUPABASE: _ClassVar[ConnectorType] + POSTGRES: _ClassVar[ConnectorType] + MOTHERDUCK: _ClassVar[ConnectorType] + CLICKHOUSE: _ClassVar[ConnectorType] + MYSQL: _ClassVar[ConnectorType] + ATHENA: _ClassVar[ConnectorType] + GOOGLE_DRIVE: _ClassVar[ConnectorType] + POWERBI: _ClassVar[ConnectorType] + SQL_SERVER: _ClassVar[ConnectorType] + MICROSOFT_365: _ClassVar[ConnectorType] + SAP_HANA: _ClassVar[ConnectorType] + ORACLE: _ClassVar[ConnectorType] + GMAIL: _ClassVar[ConnectorType] + ANA_INTERNAL: _ClassVar[ConnectorType] + TRINO: _ClassVar[ConnectorType] + GOOGLE_CALENDAR: _ClassVar[ConnectorType] + GOOGLE: _ClassVar[ConnectorType] + DREMIO: _ClassVar[ConnectorType] + EXASOL: _ClassVar[ConnectorType] + FIREBOLT: _ClassVar[ConnectorType] + KDB: _ClassVar[ConnectorType] + MONGODB: _ClassVar[ConnectorType] + +class FeatureType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + FEATURE_TYPE_UNSPECIFIED: _ClassVar[FeatureType] + FEATURE_TYPE_REPORT: _ClassVar[FeatureType] + FEATURE_TYPE_PLAYBOOK: _ClassVar[FeatureType] + FEATURE_TYPE_DASHBOARD: _ClassVar[FeatureType] +CONNECTOR_TYPE_UNSPECIFIED: ConnectorType +REDSHIFT: ConnectorType +SNOWFLAKE: ConnectorType +BIGQUERY: ConnectorType +AZURE_SYNAPSE: ConnectorType +AURORA: ConnectorType +TABLEAU: ConnectorType +DATABRICKS: ConnectorType +SUPABASE: ConnectorType +POSTGRES: ConnectorType +MOTHERDUCK: ConnectorType +CLICKHOUSE: ConnectorType +MYSQL: ConnectorType +ATHENA: ConnectorType +GOOGLE_DRIVE: ConnectorType +POWERBI: ConnectorType +SQL_SERVER: ConnectorType +MICROSOFT_365: ConnectorType +SAP_HANA: ConnectorType +ORACLE: ConnectorType +GMAIL: ConnectorType +ANA_INTERNAL: ConnectorType +TRINO: ConnectorType +GOOGLE_CALENDAR: ConnectorType +GOOGLE: ConnectorType +DREMIO: ConnectorType +EXASOL: ConnectorType +FIREBOLT: ConnectorType +KDB: ConnectorType +MONGODB: ConnectorType +FEATURE_TYPE_UNSPECIFIED: FeatureType +FEATURE_TYPE_REPORT: FeatureType +FEATURE_TYPE_PLAYBOOK: FeatureType +FEATURE_TYPE_DASHBOARD: FeatureType + +class ConnectorConfig(_message.Message): + __slots__ = ('connector_type', 'name', 'redshift', 'snowflake', 'bigquery', 'azure_synapse', 'tableau', 'aurora', 'databricks', 'motherduck', 'clickhouse', 'mysql', 'athena', 'google_drive', 'powerbi', 'postgres', 'supabase', 'sql_server', 'microsoft_365', 'sap_hana', 'oracle', 'gmail', 'trino', 'google_calendar', 'google', 'dremio', 'exasol', 'firebolt', 'kdb', 'mongodb', 'auth_strategy') + CONNECTOR_TYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + REDSHIFT_FIELD_NUMBER: _ClassVar[int] + SNOWFLAKE_FIELD_NUMBER: _ClassVar[int] + BIGQUERY_FIELD_NUMBER: _ClassVar[int] + AZURE_SYNAPSE_FIELD_NUMBER: _ClassVar[int] + TABLEAU_FIELD_NUMBER: _ClassVar[int] + AURORA_FIELD_NUMBER: _ClassVar[int] + DATABRICKS_FIELD_NUMBER: _ClassVar[int] + MOTHERDUCK_FIELD_NUMBER: _ClassVar[int] + CLICKHOUSE_FIELD_NUMBER: _ClassVar[int] + MYSQL_FIELD_NUMBER: _ClassVar[int] + ATHENA_FIELD_NUMBER: _ClassVar[int] + GOOGLE_DRIVE_FIELD_NUMBER: _ClassVar[int] + POWERBI_FIELD_NUMBER: _ClassVar[int] + POSTGRES_FIELD_NUMBER: _ClassVar[int] + SUPABASE_FIELD_NUMBER: _ClassVar[int] + SQL_SERVER_FIELD_NUMBER: _ClassVar[int] + MICROSOFT_365_FIELD_NUMBER: _ClassVar[int] + SAP_HANA_FIELD_NUMBER: _ClassVar[int] + ORACLE_FIELD_NUMBER: _ClassVar[int] + GMAIL_FIELD_NUMBER: _ClassVar[int] + TRINO_FIELD_NUMBER: _ClassVar[int] + GOOGLE_CALENDAR_FIELD_NUMBER: _ClassVar[int] + GOOGLE_FIELD_NUMBER: _ClassVar[int] + DREMIO_FIELD_NUMBER: _ClassVar[int] + EXASOL_FIELD_NUMBER: _ClassVar[int] + FIREBOLT_FIELD_NUMBER: _ClassVar[int] + KDB_FIELD_NUMBER: _ClassVar[int] + MONGODB_FIELD_NUMBER: _ClassVar[int] + AUTH_STRATEGY_FIELD_NUMBER: _ClassVar[int] + connector_type: ConnectorType + name: str + redshift: RedshiftMetadata + snowflake: SnowflakeMetadata + bigquery: BigQueryMetadata + azure_synapse: AzureSynapseMetadata + tableau: TableauMetadata + aurora: AuroraMetadata + databricks: DatabricksMetadata + motherduck: MotherduckMetadata + clickhouse: ClickHouseMetadata + mysql: MYSQLMetadata + athena: AthenaMetadata + google_drive: GoogleDriveMetadata + powerbi: PowerBIMetadata + postgres: PostgresMetadata + supabase: SupabaseMetadata + sql_server: SQLServerMetadata + microsoft_365: Microsoft365Metadata + sap_hana: SAPHanaMetadata + oracle: OracleMetadata + gmail: GmailMetadata + trino: TrinoMetadata + google_calendar: GoogleCalendarMetadata + google: GoogleMetadata + dremio: DremioMetadata + exasol: ExasolMetadata + firebolt: FireboltMetadata + kdb: KdbMetadata + mongodb: MongoDBMetadata + auth_strategy: str + + def __init__(self, connector_type: _Optional[_Union[ConnectorType, str]]=..., name: _Optional[str]=..., redshift: _Optional[_Union[RedshiftMetadata, _Mapping]]=..., snowflake: _Optional[_Union[SnowflakeMetadata, _Mapping]]=..., bigquery: _Optional[_Union[BigQueryMetadata, _Mapping]]=..., azure_synapse: _Optional[_Union[AzureSynapseMetadata, _Mapping]]=..., tableau: _Optional[_Union[TableauMetadata, _Mapping]]=..., aurora: _Optional[_Union[AuroraMetadata, _Mapping]]=..., databricks: _Optional[_Union[DatabricksMetadata, _Mapping]]=..., motherduck: _Optional[_Union[MotherduckMetadata, _Mapping]]=..., clickhouse: _Optional[_Union[ClickHouseMetadata, _Mapping]]=..., mysql: _Optional[_Union[MYSQLMetadata, _Mapping]]=..., athena: _Optional[_Union[AthenaMetadata, _Mapping]]=..., google_drive: _Optional[_Union[GoogleDriveMetadata, _Mapping]]=..., powerbi: _Optional[_Union[PowerBIMetadata, _Mapping]]=..., postgres: _Optional[_Union[PostgresMetadata, _Mapping]]=..., supabase: _Optional[_Union[SupabaseMetadata, _Mapping]]=..., sql_server: _Optional[_Union[SQLServerMetadata, _Mapping]]=..., microsoft_365: _Optional[_Union[Microsoft365Metadata, _Mapping]]=..., sap_hana: _Optional[_Union[SAPHanaMetadata, _Mapping]]=..., oracle: _Optional[_Union[OracleMetadata, _Mapping]]=..., gmail: _Optional[_Union[GmailMetadata, _Mapping]]=..., trino: _Optional[_Union[TrinoMetadata, _Mapping]]=..., google_calendar: _Optional[_Union[GoogleCalendarMetadata, _Mapping]]=..., google: _Optional[_Union[GoogleMetadata, _Mapping]]=..., dremio: _Optional[_Union[DremioMetadata, _Mapping]]=..., exasol: _Optional[_Union[ExasolMetadata, _Mapping]]=..., firebolt: _Optional[_Union[FireboltMetadata, _Mapping]]=..., kdb: _Optional[_Union[KdbMetadata, _Mapping]]=..., mongodb: _Optional[_Union[MongoDBMetadata, _Mapping]]=..., auth_strategy: _Optional[str]=...) -> None: + ... + +class RedshiftMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schemas', 'dialect', 'ssl_mode', 'auth_type', 'role_arn', 'region', 'cluster_id', 'group_federation', 'aws_access_key_id', 'aws_secret_access_key') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMAS_FIELD_NUMBER: _ClassVar[int] + DIALECT_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + AUTH_TYPE_FIELD_NUMBER: _ClassVar[int] + ROLE_ARN_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + CLUSTER_ID_FIELD_NUMBER: _ClassVar[int] + GROUP_FEDERATION_FIELD_NUMBER: _ClassVar[int] + AWS_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + AWS_SECRET_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schemas: _containers.RepeatedScalarFieldContainer[str] + dialect: str + ssl_mode: bool + auth_type: str + role_arn: str + region: str + cluster_id: str + group_federation: bool + aws_access_key_id: str + aws_secret_access_key: str + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schemas: _Optional[_Iterable[str]]=..., dialect: _Optional[str]=..., ssl_mode: bool=..., auth_type: _Optional[str]=..., role_arn: _Optional[str]=..., region: _Optional[str]=..., cluster_id: _Optional[str]=..., group_federation: bool=..., aws_access_key_id: _Optional[str]=..., aws_secret_access_key: _Optional[str]=...) -> None: + ... + +class PostgresMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schemas', 'dialect', 'ssl_mode', 'ssh_tunnel_enabled', 'ssh_host', 'ssh_port', 'ssh_user', 'ssh_private_key', 'ssh_host_public_key', 'secrets_manager_secret_arn', 'secrets_manager_role_arn', 'secrets_manager_external_id') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMAS_FIELD_NUMBER: _ClassVar[int] + DIALECT_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + SSH_TUNNEL_ENABLED_FIELD_NUMBER: _ClassVar[int] + SSH_HOST_FIELD_NUMBER: _ClassVar[int] + SSH_PORT_FIELD_NUMBER: _ClassVar[int] + SSH_USER_FIELD_NUMBER: _ClassVar[int] + SSH_PRIVATE_KEY_FIELD_NUMBER: _ClassVar[int] + SSH_HOST_PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] + SECRETS_MANAGER_SECRET_ARN_FIELD_NUMBER: _ClassVar[int] + SECRETS_MANAGER_ROLE_ARN_FIELD_NUMBER: _ClassVar[int] + SECRETS_MANAGER_EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schemas: _containers.RepeatedScalarFieldContainer[str] + dialect: str + ssl_mode: bool + ssh_tunnel_enabled: bool + ssh_host: str + ssh_port: int + ssh_user: str + ssh_private_key: str + ssh_host_public_key: str + secrets_manager_secret_arn: str + secrets_manager_role_arn: str + secrets_manager_external_id: str + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schemas: _Optional[_Iterable[str]]=..., dialect: _Optional[str]=..., ssl_mode: bool=..., ssh_tunnel_enabled: bool=..., ssh_host: _Optional[str]=..., ssh_port: _Optional[int]=..., ssh_user: _Optional[str]=..., ssh_private_key: _Optional[str]=..., ssh_host_public_key: _Optional[str]=..., secrets_manager_secret_arn: _Optional[str]=..., secrets_manager_role_arn: _Optional[str]=..., secrets_manager_external_id: _Optional[str]=...) -> None: + ... + +class KdbMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'tls', 'ssh_tunnel_enabled', 'ssh_host', 'ssh_port', 'ssh_user', 'ssh_private_key', 'ssh_host_public_key') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + TLS_FIELD_NUMBER: _ClassVar[int] + SSH_TUNNEL_ENABLED_FIELD_NUMBER: _ClassVar[int] + SSH_HOST_FIELD_NUMBER: _ClassVar[int] + SSH_PORT_FIELD_NUMBER: _ClassVar[int] + SSH_USER_FIELD_NUMBER: _ClassVar[int] + SSH_PRIVATE_KEY_FIELD_NUMBER: _ClassVar[int] + SSH_HOST_PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + tls: bool + ssh_tunnel_enabled: bool + ssh_host: str + ssh_port: int + ssh_user: str + ssh_private_key: str + ssh_host_public_key: str + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., tls: bool=..., ssh_tunnel_enabled: bool=..., ssh_host: _Optional[str]=..., ssh_port: _Optional[int]=..., ssh_user: _Optional[str]=..., ssh_private_key: _Optional[str]=..., ssh_host_public_key: _Optional[str]=...) -> None: + ... + +class MongoDBMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'auth_source', 'tls', 'srv') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + AUTH_SOURCE_FIELD_NUMBER: _ClassVar[int] + TLS_FIELD_NUMBER: _ClassVar[int] + SRV_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + auth_source: str + tls: bool + srv: bool + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., auth_source: _Optional[str]=..., tls: bool=..., srv: bool=...) -> None: + ... + +class SupabaseMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schemas', 'dialect', 'ssl_mode') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMAS_FIELD_NUMBER: _ClassVar[int] + DIALECT_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schemas: _containers.RepeatedScalarFieldContainer[str] + dialect: str + ssl_mode: bool + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schemas: _Optional[_Iterable[str]]=..., dialect: _Optional[str]=..., ssl_mode: bool=...) -> None: + ... + +class SnowflakeMetadata(_message.Message): + __slots__ = ('username', 'password', 'private_key', 'private_key_passphrase', 'role', 'schema', 'locator', 'database', 'warehouse', 'oauth_access_token', 'oauth_refresh_token', 'oauth_client_id', 'oauth_client_secret', 'enable_sso_auth', 'token_exchange_endpoint', 'token_exchange_audience', 'token_exchange_scope') + USERNAME_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + PRIVATE_KEY_FIELD_NUMBER: _ClassVar[int] + PRIVATE_KEY_PASSPHRASE_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + LOCATOR_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + WAREHOUSE_FIELD_NUMBER: _ClassVar[int] + OAUTH_ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + OAUTH_REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + OAUTH_CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + OAUTH_CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + ENABLE_SSO_AUTH_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXCHANGE_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXCHANGE_AUDIENCE_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXCHANGE_SCOPE_FIELD_NUMBER: _ClassVar[int] + username: str + password: str + private_key: str + private_key_passphrase: str + role: str + schema: str + locator: str + database: str + warehouse: str + oauth_access_token: str + oauth_refresh_token: str + oauth_client_id: str + oauth_client_secret: str + enable_sso_auth: bool + token_exchange_endpoint: str + token_exchange_audience: str + token_exchange_scope: str + + def __init__(self, username: _Optional[str]=..., password: _Optional[str]=..., private_key: _Optional[str]=..., private_key_passphrase: _Optional[str]=..., role: _Optional[str]=..., schema: _Optional[str]=..., locator: _Optional[str]=..., database: _Optional[str]=..., warehouse: _Optional[str]=..., oauth_access_token: _Optional[str]=..., oauth_refresh_token: _Optional[str]=..., oauth_client_id: _Optional[str]=..., oauth_client_secret: _Optional[str]=..., enable_sso_auth: bool=..., token_exchange_endpoint: _Optional[str]=..., token_exchange_audience: _Optional[str]=..., token_exchange_scope: _Optional[str]=...) -> None: + ... + +class BigQueryMetadata(_message.Message): + __slots__ = ('project_id', 'dataset_id', 'service_account_key', 'region_qualifier') + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + SERVICE_ACCOUNT_KEY_FIELD_NUMBER: _ClassVar[int] + REGION_QUALIFIER_FIELD_NUMBER: _ClassVar[int] + project_id: str + dataset_id: str + service_account_key: str + region_qualifier: str + + def __init__(self, project_id: _Optional[str]=..., dataset_id: _Optional[str]=..., service_account_key: _Optional[str]=..., region_qualifier: _Optional[str]=...) -> None: + ... + +class AzureSynapseMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schema', 'auth_type', 'client_id', 'client_secret', 'tenant_id') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + AUTH_TYPE_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schema: str + auth_type: str + client_id: str + client_secret: str + tenant_id: str + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schema: _Optional[str]=..., auth_type: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., tenant_id: _Optional[str]=...) -> None: + ... + +class AuroraMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schema', 'dialect', 'ssl_mode', 'aurora_auth') + + class AuroraAuth(_message.Message): + __slots__ = ('iam_auth', 'cluster_id', 'region') + IAM_AUTH_FIELD_NUMBER: _ClassVar[int] + CLUSTER_ID_FIELD_NUMBER: _ClassVar[int] + REGION_FIELD_NUMBER: _ClassVar[int] + iam_auth: bool + cluster_id: str + region: str + + def __init__(self, iam_auth: bool=..., cluster_id: _Optional[str]=..., region: _Optional[str]=...) -> None: + ... + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + DIALECT_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + AURORA_AUTH_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schema: str + dialect: str + ssl_mode: bool + aurora_auth: AuroraMetadata.AuroraAuth + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schema: _Optional[str]=..., dialect: _Optional[str]=..., ssl_mode: bool=..., aurora_auth: _Optional[_Union[AuroraMetadata.AuroraAuth, _Mapping]]=...) -> None: + ... + +class MYSQLMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schema', 'ssl_mode') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schema: str + ssl_mode: bool + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schema: _Optional[str]=..., ssl_mode: bool=...) -> None: + ... + +class SQLServerMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schema', 'ssl_mode', 'auth_type', 'krb5_realm', 'krb5_config', 'krb5_keytab', 'krb5_spn', 'client_cert', 'client_key', 'tenant_id', 'client_id', 'client_secret') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + AUTH_TYPE_FIELD_NUMBER: _ClassVar[int] + KRB5_REALM_FIELD_NUMBER: _ClassVar[int] + KRB5_CONFIG_FIELD_NUMBER: _ClassVar[int] + KRB5_KEYTAB_FIELD_NUMBER: _ClassVar[int] + KRB5_SPN_FIELD_NUMBER: _ClassVar[int] + CLIENT_CERT_FIELD_NUMBER: _ClassVar[int] + CLIENT_KEY_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schema: str + ssl_mode: bool + auth_type: str + krb5_realm: str + krb5_config: str + krb5_keytab: str + krb5_spn: str + client_cert: str + client_key: str + tenant_id: str + client_id: str + client_secret: str + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schema: _Optional[str]=..., ssl_mode: bool=..., auth_type: _Optional[str]=..., krb5_realm: _Optional[str]=..., krb5_config: _Optional[str]=..., krb5_keytab: _Optional[str]=..., krb5_spn: _Optional[str]=..., client_cert: _Optional[str]=..., client_key: _Optional[str]=..., tenant_id: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=...) -> None: + ... + +class TableauMetadata(_message.Message): + __slots__ = ('server_url', 'site_name', 'pat_name', 'pat_secret', 'connected_app_client_id', 'connected_app_secret_id', 'connected_app_secret_value') + SERVER_URL_FIELD_NUMBER: _ClassVar[int] + SITE_NAME_FIELD_NUMBER: _ClassVar[int] + PAT_NAME_FIELD_NUMBER: _ClassVar[int] + PAT_SECRET_FIELD_NUMBER: _ClassVar[int] + CONNECTED_APP_CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTED_APP_SECRET_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTED_APP_SECRET_VALUE_FIELD_NUMBER: _ClassVar[int] + server_url: str + site_name: str + pat_name: str + pat_secret: str + connected_app_client_id: str + connected_app_secret_id: str + connected_app_secret_value: str + + def __init__(self, server_url: _Optional[str]=..., site_name: _Optional[str]=..., pat_name: _Optional[str]=..., pat_secret: _Optional[str]=..., connected_app_client_id: _Optional[str]=..., connected_app_secret_id: _Optional[str]=..., connected_app_secret_value: _Optional[str]=...) -> None: + ... + +class PowerBIMetadata(_message.Message): + __slots__ = ('tenant_id', 'client_id', 'client_secret', 'object_id', 'roles') + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + ROLES_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + client_id: str + client_secret: str + object_id: str + roles: str + + def __init__(self, tenant_id: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., object_id: _Optional[str]=..., roles: _Optional[str]=...) -> None: + ... + +class DatabricksMetadata(_message.Message): + __slots__ = ('host', 'http_path', 'port', 'databricks_auth', 'catalog', 'schema', 'enable_token_exchange') + + class DatabricksAuth(_message.Message): + __slots__ = ('pat', 'client_credentials', 'oauth_u2m') + + class PersonalAccessToken(_message.Message): + __slots__ = ('token',) + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: str + + def __init__(self, token: _Optional[str]=...) -> None: + ... + + class ClientCredentials(_message.Message): + __slots__ = ('client_id', 'client_secret') + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + client_id: str + client_secret: str + + def __init__(self, client_id: _Optional[str]=..., client_secret: _Optional[str]=...) -> None: + ... + + class OAuthU2M(_message.Message): + __slots__ = ('client_id', 'client_secret') + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + client_id: str + client_secret: str + + def __init__(self, client_id: _Optional[str]=..., client_secret: _Optional[str]=...) -> None: + ... + PAT_FIELD_NUMBER: _ClassVar[int] + CLIENT_CREDENTIALS_FIELD_NUMBER: _ClassVar[int] + OAUTH_U2M_FIELD_NUMBER: _ClassVar[int] + pat: DatabricksMetadata.DatabricksAuth.PersonalAccessToken + client_credentials: DatabricksMetadata.DatabricksAuth.ClientCredentials + oauth_u2m: DatabricksMetadata.DatabricksAuth.OAuthU2M + + def __init__(self, pat: _Optional[_Union[DatabricksMetadata.DatabricksAuth.PersonalAccessToken, _Mapping]]=..., client_credentials: _Optional[_Union[DatabricksMetadata.DatabricksAuth.ClientCredentials, _Mapping]]=..., oauth_u2m: _Optional[_Union[DatabricksMetadata.DatabricksAuth.OAuthU2M, _Mapping]]=...) -> None: + ... + HOST_FIELD_NUMBER: _ClassVar[int] + HTTP_PATH_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + DATABRICKS_AUTH_FIELD_NUMBER: _ClassVar[int] + CATALOG_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + ENABLE_TOKEN_EXCHANGE_FIELD_NUMBER: _ClassVar[int] + host: str + http_path: str + port: int + databricks_auth: DatabricksMetadata.DatabricksAuth + catalog: str + schema: str + enable_token_exchange: bool + + def __init__(self, host: _Optional[str]=..., http_path: _Optional[str]=..., port: _Optional[int]=..., databricks_auth: _Optional[_Union[DatabricksMetadata.DatabricksAuth, _Mapping]]=..., catalog: _Optional[str]=..., schema: _Optional[str]=..., enable_token_exchange: bool=...) -> None: + ... + +class MotherduckMetadata(_message.Message): + __slots__ = ('token',) + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: str + + def __init__(self, token: _Optional[str]=...) -> None: + ... + +class ClickHouseMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'use_ssl', 'protocol') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + USE_SSL_FIELD_NUMBER: _ClassVar[int] + PROTOCOL_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + use_ssl: bool + protocol: str + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., use_ssl: bool=..., protocol: _Optional[str]=...) -> None: + ... + +class AthenaMetadata(_message.Message): + __slots__ = ('region', 'database', 'workgroup', 's3_output_location', 'athena_auth', 'catalog') + + class AthenaAuth(_message.Message): + __slots__ = ('access_key', 'iam_role') + + class AccessKeyCredentials(_message.Message): + __slots__ = ('access_key_id', 'secret_access_key') + ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + SECRET_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + access_key_id: str + secret_access_key: str + + def __init__(self, access_key_id: _Optional[str]=..., secret_access_key: _Optional[str]=...) -> None: + ... + + class IAMRoleCredentials(_message.Message): + __slots__ = ('role_arn', 'session_name') + ROLE_ARN_FIELD_NUMBER: _ClassVar[int] + SESSION_NAME_FIELD_NUMBER: _ClassVar[int] + role_arn: str + session_name: str + + def __init__(self, role_arn: _Optional[str]=..., session_name: _Optional[str]=...) -> None: + ... + ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + IAM_ROLE_FIELD_NUMBER: _ClassVar[int] + access_key: AthenaMetadata.AthenaAuth.AccessKeyCredentials + iam_role: AthenaMetadata.AthenaAuth.IAMRoleCredentials + + def __init__(self, access_key: _Optional[_Union[AthenaMetadata.AthenaAuth.AccessKeyCredentials, _Mapping]]=..., iam_role: _Optional[_Union[AthenaMetadata.AthenaAuth.IAMRoleCredentials, _Mapping]]=...) -> None: + ... + REGION_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + WORKGROUP_FIELD_NUMBER: _ClassVar[int] + S3_OUTPUT_LOCATION_FIELD_NUMBER: _ClassVar[int] + ATHENA_AUTH_FIELD_NUMBER: _ClassVar[int] + CATALOG_FIELD_NUMBER: _ClassVar[int] + region: str + database: str + workgroup: str + s3_output_location: str + athena_auth: AthenaMetadata.AthenaAuth + catalog: str + + def __init__(self, region: _Optional[str]=..., database: _Optional[str]=..., workgroup: _Optional[str]=..., s3_output_location: _Optional[str]=..., athena_auth: _Optional[_Union[AthenaMetadata.AthenaAuth, _Mapping]]=..., catalog: _Optional[str]=...) -> None: + ... + +class GoogleDriveMetadata(_message.Message): + __slots__ = ('access_token', 'refresh_token', 'member_id') + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + access_token: str + refresh_token: str + member_id: str + + def __init__(self, access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., member_id: _Optional[str]=...) -> None: + ... + +class GmailMetadata(_message.Message): + __slots__ = ('access_token', 'refresh_token', 'member_id', 'metadata_only') + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + METADATA_ONLY_FIELD_NUMBER: _ClassVar[int] + access_token: str + refresh_token: str + member_id: str + metadata_only: bool + + def __init__(self, access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., member_id: _Optional[str]=..., metadata_only: bool=...) -> None: + ... + +class GoogleCalendarMetadata(_message.Message): + __slots__ = ('access_token', 'refresh_token', 'member_id', 'metadata_only') + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + METADATA_ONLY_FIELD_NUMBER: _ClassVar[int] + access_token: str + refresh_token: str + member_id: str + metadata_only: bool + + def __init__(self, access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., member_id: _Optional[str]=..., metadata_only: bool=...) -> None: + ... + +class GoogleMetadata(_message.Message): + __slots__ = ('access_token', 'refresh_token', 'member_id', 'gmail_enabled', 'calendar_enabled', 'metadata_only', 'drive_enabled', 'token_expiry') + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + GMAIL_ENABLED_FIELD_NUMBER: _ClassVar[int] + CALENDAR_ENABLED_FIELD_NUMBER: _ClassVar[int] + METADATA_ONLY_FIELD_NUMBER: _ClassVar[int] + DRIVE_ENABLED_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXPIRY_FIELD_NUMBER: _ClassVar[int] + access_token: str + refresh_token: str + member_id: str + gmail_enabled: bool + calendar_enabled: bool + metadata_only: bool + drive_enabled: bool + token_expiry: str + + def __init__(self, access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., member_id: _Optional[str]=..., gmail_enabled: bool=..., calendar_enabled: bool=..., metadata_only: bool=..., drive_enabled: bool=..., token_expiry: _Optional[str]=...) -> None: + ... + +class Microsoft365Metadata(_message.Message): + __slots__ = ('tenant_id', 'client_id', 'client_secret', 'access_token', 'refresh_token', 'member_id', 'token_expiry', 'metadata_only', 'scopes') + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXPIRY_FIELD_NUMBER: _ClassVar[int] + METADATA_ONLY_FIELD_NUMBER: _ClassVar[int] + SCOPES_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + client_id: str + client_secret: str + access_token: str + refresh_token: str + member_id: str + token_expiry: str + metadata_only: bool + scopes: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, tenant_id: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., member_id: _Optional[str]=..., token_expiry: _Optional[str]=..., metadata_only: bool=..., scopes: _Optional[_Iterable[str]]=...) -> None: + ... + +class SAPHanaMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schemas', 'dialect', 'ssl_mode', 'sap_hana_cloud') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMAS_FIELD_NUMBER: _ClassVar[int] + DIALECT_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + SAP_HANA_CLOUD_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schemas: _containers.RepeatedScalarFieldContainer[str] + dialect: str + ssl_mode: bool + sap_hana_cloud: bool + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schemas: _Optional[_Iterable[str]]=..., dialect: _Optional[str]=..., ssl_mode: bool=..., sap_hana_cloud: bool=...) -> None: + ... + +class OracleMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'service_name', 'dialect', 'ssl_mode', 'connection_type', 'sid', 'connect_string', 'wallet_zip', 'wallet_password', 'tns_alias') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + SERVICE_NAME_FIELD_NUMBER: _ClassVar[int] + DIALECT_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + CONNECTION_TYPE_FIELD_NUMBER: _ClassVar[int] + SID_FIELD_NUMBER: _ClassVar[int] + CONNECT_STRING_FIELD_NUMBER: _ClassVar[int] + WALLET_ZIP_FIELD_NUMBER: _ClassVar[int] + WALLET_PASSWORD_FIELD_NUMBER: _ClassVar[int] + TNS_ALIAS_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + service_name: str + dialect: str + ssl_mode: bool + connection_type: str + sid: str + connect_string: str + wallet_zip: str + wallet_password: str + tns_alias: str + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., service_name: _Optional[str]=..., dialect: _Optional[str]=..., ssl_mode: bool=..., connection_type: _Optional[str]=..., sid: _Optional[str]=..., connect_string: _Optional[str]=..., wallet_zip: _Optional[str]=..., wallet_password: _Optional[str]=..., tns_alias: _Optional[str]=...) -> None: + ... + +class TrinoMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'catalog', 'schema', 'ssl_mode', 'access_token', 'skip_tls_verify') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + CATALOG_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + SKIP_TLS_VERIFY_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + catalog: str + schema: str + ssl_mode: bool + access_token: str + skip_tls_verify: bool + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., catalog: _Optional[str]=..., schema: _Optional[str]=..., ssl_mode: bool=..., access_token: _Optional[str]=..., skip_tls_verify: bool=...) -> None: + ... + +class DremioMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'token', 'project_id', 'spaces', 'ssl_mode') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + TOKEN_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + SPACES_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + token: str + project_id: str + spaces: _containers.RepeatedScalarFieldContainer[str] + ssl_mode: bool + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., token: _Optional[str]=..., project_id: _Optional[str]=..., spaces: _Optional[_Iterable[str]]=..., ssl_mode: bool=...) -> None: + ... + +class ExasolMetadata(_message.Message): + __slots__ = ('host', 'port', 'user', 'password', 'database', 'schemas', 'ssl_mode', 'access_token') + HOST_FIELD_NUMBER: _ClassVar[int] + PORT_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + SCHEMAS_FIELD_NUMBER: _ClassVar[int] + SSL_MODE_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + host: str + port: int + user: str + password: str + database: str + schemas: _containers.RepeatedScalarFieldContainer[str] + ssl_mode: bool + access_token: str + + def __init__(self, host: _Optional[str]=..., port: _Optional[int]=..., user: _Optional[str]=..., password: _Optional[str]=..., database: _Optional[str]=..., schemas: _Optional[_Iterable[str]]=..., ssl_mode: bool=..., access_token: _Optional[str]=...) -> None: + ... + +class FireboltMetadata(_message.Message): + __slots__ = ('account_name', 'database', 'engine_name', 'client_id', 'client_secret', 'schemas') + ACCOUNT_NAME_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + ENGINE_NAME_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + SCHEMAS_FIELD_NUMBER: _ClassVar[int] + account_name: str + database: str + engine_name: str + client_id: str + client_secret: str + schemas: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, account_name: _Optional[str]=..., database: _Optional[str]=..., engine_name: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., schemas: _Optional[_Iterable[str]]=...) -> None: + ... + +class Connector(_message.Message): + __slots__ = ('id', 'name', 'connector_type', 'member_id', 'created_at', 'redshift_metadata', 'snowflake_metadata', 'bigquery_metadata', 'azure_synapse_metadata', 'tableau_metadata', 'aurora_metadata', 'databricks_metadata', 'motherduck_metadata', 'clickhouse_metadata', 'mysql_metadata', 'athena_metadata', 'google_drive_metadata', 'powerbi_metadata', 'postgres_metadata', 'supabase_metadata', 'sql_server_metadata', 'microsoft_365_metadata', 'sap_hana_metadata', 'oracle_metadata', 'gmail_metadata', 'trino_metadata', 'google_calendar_metadata', 'google_metadata', 'dremio_metadata', 'exasol_metadata', 'firebolt_metadata', 'kdb_metadata', 'mongodb_metadata', 'is_example', 'allow_sql_write_operations', 'auth_strategy', 'authenticated_by_member_id', 'member_authenticated', 'member_auth_username', 'include_db_session_metadata', 'is_public') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_TYPE_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + REDSHIFT_METADATA_FIELD_NUMBER: _ClassVar[int] + SNOWFLAKE_METADATA_FIELD_NUMBER: _ClassVar[int] + BIGQUERY_METADATA_FIELD_NUMBER: _ClassVar[int] + AZURE_SYNAPSE_METADATA_FIELD_NUMBER: _ClassVar[int] + TABLEAU_METADATA_FIELD_NUMBER: _ClassVar[int] + AURORA_METADATA_FIELD_NUMBER: _ClassVar[int] + DATABRICKS_METADATA_FIELD_NUMBER: _ClassVar[int] + MOTHERDUCK_METADATA_FIELD_NUMBER: _ClassVar[int] + CLICKHOUSE_METADATA_FIELD_NUMBER: _ClassVar[int] + MYSQL_METADATA_FIELD_NUMBER: _ClassVar[int] + ATHENA_METADATA_FIELD_NUMBER: _ClassVar[int] + GOOGLE_DRIVE_METADATA_FIELD_NUMBER: _ClassVar[int] + POWERBI_METADATA_FIELD_NUMBER: _ClassVar[int] + POSTGRES_METADATA_FIELD_NUMBER: _ClassVar[int] + SUPABASE_METADATA_FIELD_NUMBER: _ClassVar[int] + SQL_SERVER_METADATA_FIELD_NUMBER: _ClassVar[int] + MICROSOFT_365_METADATA_FIELD_NUMBER: _ClassVar[int] + SAP_HANA_METADATA_FIELD_NUMBER: _ClassVar[int] + ORACLE_METADATA_FIELD_NUMBER: _ClassVar[int] + GMAIL_METADATA_FIELD_NUMBER: _ClassVar[int] + TRINO_METADATA_FIELD_NUMBER: _ClassVar[int] + GOOGLE_CALENDAR_METADATA_FIELD_NUMBER: _ClassVar[int] + GOOGLE_METADATA_FIELD_NUMBER: _ClassVar[int] + DREMIO_METADATA_FIELD_NUMBER: _ClassVar[int] + EXASOL_METADATA_FIELD_NUMBER: _ClassVar[int] + FIREBOLT_METADATA_FIELD_NUMBER: _ClassVar[int] + KDB_METADATA_FIELD_NUMBER: _ClassVar[int] + MONGODB_METADATA_FIELD_NUMBER: _ClassVar[int] + IS_EXAMPLE_FIELD_NUMBER: _ClassVar[int] + ALLOW_SQL_WRITE_OPERATIONS_FIELD_NUMBER: _ClassVar[int] + AUTH_STRATEGY_FIELD_NUMBER: _ClassVar[int] + AUTHENTICATED_BY_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_AUTHENTICATED_FIELD_NUMBER: _ClassVar[int] + MEMBER_AUTH_USERNAME_FIELD_NUMBER: _ClassVar[int] + INCLUDE_DB_SESSION_METADATA_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + id: int + name: str + connector_type: ConnectorType + member_id: str + created_at: _timestamp_pb2.Timestamp + redshift_metadata: RedshiftMetadata + snowflake_metadata: SnowflakeMetadata + bigquery_metadata: BigQueryMetadata + azure_synapse_metadata: AzureSynapseMetadata + tableau_metadata: TableauMetadata + aurora_metadata: AuroraMetadata + databricks_metadata: DatabricksMetadata + motherduck_metadata: MotherduckMetadata + clickhouse_metadata: ClickHouseMetadata + mysql_metadata: MYSQLMetadata + athena_metadata: AthenaMetadata + google_drive_metadata: GoogleDriveMetadata + powerbi_metadata: PowerBIMetadata + postgres_metadata: PostgresMetadata + supabase_metadata: SupabaseMetadata + sql_server_metadata: SQLServerMetadata + microsoft_365_metadata: Microsoft365Metadata + sap_hana_metadata: SAPHanaMetadata + oracle_metadata: OracleMetadata + gmail_metadata: GmailMetadata + trino_metadata: TrinoMetadata + google_calendar_metadata: GoogleCalendarMetadata + google_metadata: GoogleMetadata + dremio_metadata: DremioMetadata + exasol_metadata: ExasolMetadata + firebolt_metadata: FireboltMetadata + kdb_metadata: KdbMetadata + mongodb_metadata: MongoDBMetadata + is_example: bool + allow_sql_write_operations: bool + auth_strategy: str + authenticated_by_member_id: str + member_authenticated: bool + member_auth_username: str + include_db_session_metadata: bool + is_public: bool + + def __init__(self, id: _Optional[int]=..., name: _Optional[str]=..., connector_type: _Optional[_Union[ConnectorType, str]]=..., member_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., redshift_metadata: _Optional[_Union[RedshiftMetadata, _Mapping]]=..., snowflake_metadata: _Optional[_Union[SnowflakeMetadata, _Mapping]]=..., bigquery_metadata: _Optional[_Union[BigQueryMetadata, _Mapping]]=..., azure_synapse_metadata: _Optional[_Union[AzureSynapseMetadata, _Mapping]]=..., tableau_metadata: _Optional[_Union[TableauMetadata, _Mapping]]=..., aurora_metadata: _Optional[_Union[AuroraMetadata, _Mapping]]=..., databricks_metadata: _Optional[_Union[DatabricksMetadata, _Mapping]]=..., motherduck_metadata: _Optional[_Union[MotherduckMetadata, _Mapping]]=..., clickhouse_metadata: _Optional[_Union[ClickHouseMetadata, _Mapping]]=..., mysql_metadata: _Optional[_Union[MYSQLMetadata, _Mapping]]=..., athena_metadata: _Optional[_Union[AthenaMetadata, _Mapping]]=..., google_drive_metadata: _Optional[_Union[GoogleDriveMetadata, _Mapping]]=..., powerbi_metadata: _Optional[_Union[PowerBIMetadata, _Mapping]]=..., postgres_metadata: _Optional[_Union[PostgresMetadata, _Mapping]]=..., supabase_metadata: _Optional[_Union[SupabaseMetadata, _Mapping]]=..., sql_server_metadata: _Optional[_Union[SQLServerMetadata, _Mapping]]=..., microsoft_365_metadata: _Optional[_Union[Microsoft365Metadata, _Mapping]]=..., sap_hana_metadata: _Optional[_Union[SAPHanaMetadata, _Mapping]]=..., oracle_metadata: _Optional[_Union[OracleMetadata, _Mapping]]=..., gmail_metadata: _Optional[_Union[GmailMetadata, _Mapping]]=..., trino_metadata: _Optional[_Union[TrinoMetadata, _Mapping]]=..., google_calendar_metadata: _Optional[_Union[GoogleCalendarMetadata, _Mapping]]=..., google_metadata: _Optional[_Union[GoogleMetadata, _Mapping]]=..., dremio_metadata: _Optional[_Union[DremioMetadata, _Mapping]]=..., exasol_metadata: _Optional[_Union[ExasolMetadata, _Mapping]]=..., firebolt_metadata: _Optional[_Union[FireboltMetadata, _Mapping]]=..., kdb_metadata: _Optional[_Union[KdbMetadata, _Mapping]]=..., mongodb_metadata: _Optional[_Union[MongoDBMetadata, _Mapping]]=..., is_example: bool=..., allow_sql_write_operations: bool=..., auth_strategy: _Optional[str]=..., authenticated_by_member_id: _Optional[str]=..., member_authenticated: bool=..., member_auth_username: _Optional[str]=..., include_db_session_metadata: bool=..., is_public: bool=...) -> None: + ... + +class ConnectorAccessGrant(_message.Message): + __slots__ = ('member_id', 'role_id', 'group_id', 'access_type') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + member_id: str + role_id: str + group_id: str + access_type: str + + def __init__(self, member_id: _Optional[str]=..., role_id: _Optional[str]=..., group_id: _Optional[str]=..., access_type: _Optional[str]=...) -> None: + ... + +class ConnectorAccessConfig(_message.Message): + __slots__ = ('is_public', 'grants') + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + GRANTS_FIELD_NUMBER: _ClassVar[int] + is_public: bool + grants: _containers.RepeatedCompositeFieldContainer[ConnectorAccessGrant] + + def __init__(self, is_public: bool=..., grants: _Optional[_Iterable[_Union[ConnectorAccessGrant, _Mapping]]]=...) -> None: + ... + +class CreateConnectorRequest(_message.Message): + __slots__ = ('config', 'allow_sql_write_operations', 'include_db_session_metadata', 'access') + CONFIG_FIELD_NUMBER: _ClassVar[int] + ALLOW_SQL_WRITE_OPERATIONS_FIELD_NUMBER: _ClassVar[int] + INCLUDE_DB_SESSION_METADATA_FIELD_NUMBER: _ClassVar[int] + ACCESS_FIELD_NUMBER: _ClassVar[int] + config: ConnectorConfig + allow_sql_write_operations: bool + include_db_session_metadata: bool + access: ConnectorAccessConfig + + def __init__(self, config: _Optional[_Union[ConnectorConfig, _Mapping]]=..., allow_sql_write_operations: bool=..., include_db_session_metadata: bool=..., access: _Optional[_Union[ConnectorAccessConfig, _Mapping]]=...) -> None: + ... + +class CreateConnectorResponse(_message.Message): + __slots__ = ('connector_id', 'name', 'connector_type') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_TYPE_FIELD_NUMBER: _ClassVar[int] + connector_id: int + name: str + connector_type: ConnectorType + + def __init__(self, connector_id: _Optional[int]=..., name: _Optional[str]=..., connector_type: _Optional[_Union[ConnectorType, str]]=...) -> None: + ... + +class UpdateConnectorRequest(_message.Message): + __slots__ = ('connector_id', 'config', 'allow_sql_write_operations', 'include_db_session_metadata') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + CONFIG_FIELD_NUMBER: _ClassVar[int] + ALLOW_SQL_WRITE_OPERATIONS_FIELD_NUMBER: _ClassVar[int] + INCLUDE_DB_SESSION_METADATA_FIELD_NUMBER: _ClassVar[int] + connector_id: int + config: ConnectorConfig + allow_sql_write_operations: bool + include_db_session_metadata: bool + + def __init__(self, connector_id: _Optional[int]=..., config: _Optional[_Union[ConnectorConfig, _Mapping]]=..., allow_sql_write_operations: bool=..., include_db_session_metadata: bool=...) -> None: + ... + +class UpdateConnectorResponse(_message.Message): + __slots__ = ('connector',) + CONNECTOR_FIELD_NUMBER: _ClassVar[int] + connector: Connector + + def __init__(self, connector: _Optional[_Union[Connector, _Mapping]]=...) -> None: + ... + +class GetConnectorRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class GetConnectorResponse(_message.Message): + __slots__ = ('connector',) + CONNECTOR_FIELD_NUMBER: _ClassVar[int] + connector: Connector + + def __init__(self, connector: _Optional[_Union[Connector, _Mapping]]=...) -> None: + ... + +class GetConnectorsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetConnectorsResponse(_message.Message): + __slots__ = ('connectors',) + CONNECTORS_FIELD_NUMBER: _ClassVar[int] + connectors: _containers.RepeatedCompositeFieldContainer[Connector] + + def __init__(self, connectors: _Optional[_Iterable[_Union[Connector, _Mapping]]]=...) -> None: + ... + +class DeleteConnectorRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class DeleteConnectorResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class TestConnectorRequest(_message.Message): + __slots__ = ('config', 'connector_id') + CONFIG_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + config: ConnectorConfig + connector_id: str + + def __init__(self, config: _Optional[_Union[ConnectorConfig, _Mapping]]=..., connector_id: _Optional[str]=...) -> None: + ... + +class TestConnectorResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class DuplicateConnectorRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class DuplicateConnectorResponse(_message.Message): + __slots__ = ('connector',) + CONNECTOR_FIELD_NUMBER: _ClassVar[int] + connector: Connector + + def __init__(self, connector: _Optional[_Union[Connector, _Mapping]]=...) -> None: + ... + +class QueryResult(_message.Message): + __slots__ = ('arrow_data', 'total_rows') + ARROW_DATA_FIELD_NUMBER: _ClassVar[int] + TOTAL_ROWS_FIELD_NUMBER: _ClassVar[int] + arrow_data: bytes + total_rows: int + + def __init__(self, arrow_data: _Optional[bytes]=..., total_rows: _Optional[int]=...) -> None: + ... + +class PrimaryKeyMetadata(_message.Message): + __slots__ = ('columns', 'descriptions') + COLUMNS_FIELD_NUMBER: _ClassVar[int] + DESCRIPTIONS_FIELD_NUMBER: _ClassVar[int] + columns: _containers.RepeatedScalarFieldContainer[str] + descriptions: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, columns: _Optional[_Iterable[str]]=..., descriptions: _Optional[_Iterable[str]]=...) -> None: + ... + +class ConnectorTable(_message.Message): + __slots__ = ('table_database', 'table_schema', 'table_name', 'preview', 'primary_keys', 'table_type') + TABLE_DATABASE_FIELD_NUMBER: _ClassVar[int] + TABLE_SCHEMA_FIELD_NUMBER: _ClassVar[int] + TABLE_NAME_FIELD_NUMBER: _ClassVar[int] + PREVIEW_FIELD_NUMBER: _ClassVar[int] + PRIMARY_KEYS_FIELD_NUMBER: _ClassVar[int] + TABLE_TYPE_FIELD_NUMBER: _ClassVar[int] + table_database: str + table_schema: str + table_name: str + preview: QueryResult + primary_keys: _containers.RepeatedCompositeFieldContainer[PrimaryKeyMetadata] + table_type: str + + def __init__(self, table_database: _Optional[str]=..., table_schema: _Optional[str]=..., table_name: _Optional[str]=..., preview: _Optional[_Union[QueryResult, _Mapping]]=..., primary_keys: _Optional[_Iterable[_Union[PrimaryKeyMetadata, _Mapping]]]=..., table_type: _Optional[str]=...) -> None: + ... + +class ListConnectorTablesRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class ListConnectorTablesResponse(_message.Message): + __slots__ = ('tables', 'error') + TABLES_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + tables: _containers.RepeatedCompositeFieldContainer[ConnectorTable] + error: str + + def __init__(self, tables: _Optional[_Iterable[_Union[ConnectorTable, _Mapping]]]=..., error: _Optional[str]=...) -> None: + ... + +class RetryTableRequest(_message.Message): + __slots__ = ('connector_id', 'table_database', 'table_schema', 'table_name') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + TABLE_DATABASE_FIELD_NUMBER: _ClassVar[int] + TABLE_SCHEMA_FIELD_NUMBER: _ClassVar[int] + TABLE_NAME_FIELD_NUMBER: _ClassVar[int] + connector_id: int + table_database: str + table_schema: str + table_name: str + + def __init__(self, connector_id: _Optional[int]=..., table_database: _Optional[str]=..., table_schema: _Optional[str]=..., table_name: _Optional[str]=...) -> None: + ... + +class GetTablePreviewRequest(_message.Message): + __slots__ = ('connector_id', 'table_database', 'table_schema', 'table_name', 'limit') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + TABLE_DATABASE_FIELD_NUMBER: _ClassVar[int] + TABLE_SCHEMA_FIELD_NUMBER: _ClassVar[int] + TABLE_NAME_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + connector_id: int + table_database: str + table_schema: str + table_name: str + limit: int + + def __init__(self, connector_id: _Optional[int]=..., table_database: _Optional[str]=..., table_schema: _Optional[str]=..., table_name: _Optional[str]=..., limit: _Optional[int]=...) -> None: + ... + +class GetTablePreviewResponse(_message.Message): + __slots__ = ('arrow_data', 'success', 'error_message') + ARROW_DATA_FIELD_NUMBER: _ClassVar[int] + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + arrow_data: bytes + success: bool + error_message: str + + def __init__(self, arrow_data: _Optional[bytes]=..., success: bool=..., error_message: _Optional[str]=...) -> None: + ... + +class ExecuteQueryRequest(_message.Message): + __slots__ = ('connector_id', 'query', 'limit') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + connector_id: int + query: str + limit: int + + def __init__(self, connector_id: _Optional[int]=..., query: _Optional[str]=..., limit: _Optional[int]=...) -> None: + ... + +class ExecuteQueryResponse(_message.Message): + __slots__ = ('arrow_data', 'success', 'error_message') + ARROW_DATA_FIELD_NUMBER: _ClassVar[int] + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + arrow_data: bytes + success: bool + error_message: str + + def __init__(self, arrow_data: _Optional[bytes]=..., success: bool=..., error_message: _Optional[str]=...) -> None: + ... + +class GetExampleQueriesRequest(_message.Message): + __slots__ = ('connector_contexts', 'feature_filter') + CONNECTOR_CONTEXTS_FIELD_NUMBER: _ClassVar[int] + FEATURE_FILTER_FIELD_NUMBER: _ClassVar[int] + connector_contexts: _containers.RepeatedCompositeFieldContainer[ConnectorContext] + feature_filter: FeatureType + + def __init__(self, connector_contexts: _Optional[_Iterable[_Union[ConnectorContext, _Mapping]]]=..., feature_filter: _Optional[_Union[FeatureType, str]]=...) -> None: + ... + +class ConnectorContext(_message.Message): + __slots__ = ('connector_id', 'tableau', 'powerbi') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + TABLEAU_FIELD_NUMBER: _ClassVar[int] + POWERBI_FIELD_NUMBER: _ClassVar[int] + connector_id: int + tableau: TableauConnectorContext + powerbi: PowerBIConnectorContext + + def __init__(self, connector_id: _Optional[int]=..., tableau: _Optional[_Union[TableauConnectorContext, _Mapping]]=..., powerbi: _Optional[_Union[PowerBIConnectorContext, _Mapping]]=...) -> None: + ... + +class TableauConnectorContext(_message.Message): + __slots__ = ('collection_ids',) + COLLECTION_IDS_FIELD_NUMBER: _ClassVar[int] + collection_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, collection_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class PowerBIConnectorContext(_message.Message): + __slots__ = ('report_ids', 'dataset_ids', 'collection_ids') + REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + COLLECTION_IDS_FIELD_NUMBER: _ClassVar[int] + report_ids: _containers.RepeatedScalarFieldContainer[str] + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + collection_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, report_ids: _Optional[_Iterable[str]]=..., dataset_ids: _Optional[_Iterable[str]]=..., collection_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class MessageSegment(_message.Message): + __slots__ = ('content', 'feature_type') + CONTENT_FIELD_NUMBER: _ClassVar[int] + FEATURE_TYPE_FIELD_NUMBER: _ClassVar[int] + content: str + feature_type: FeatureType + + def __init__(self, content: _Optional[str]=..., feature_type: _Optional[_Union[FeatureType, str]]=...) -> None: + ... + +class ExampleQuery(_message.Message): + __slots__ = ('id', 'label', 'message', 'is_multi_source', 'required_connector_ids', 'category', 'segments', 'required_features', 'source_context') + ID_FIELD_NUMBER: _ClassVar[int] + LABEL_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + IS_MULTI_SOURCE_FIELD_NUMBER: _ClassVar[int] + REQUIRED_CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + SEGMENTS_FIELD_NUMBER: _ClassVar[int] + REQUIRED_FEATURES_FIELD_NUMBER: _ClassVar[int] + SOURCE_CONTEXT_FIELD_NUMBER: _ClassVar[int] + id: str + label: str + message: str + is_multi_source: bool + required_connector_ids: _containers.RepeatedScalarFieldContainer[int] + category: str + segments: _containers.RepeatedCompositeFieldContainer[MessageSegment] + required_features: _containers.RepeatedScalarFieldContainer[FeatureType] + source_context: ConnectorContext + + def __init__(self, id: _Optional[str]=..., label: _Optional[str]=..., message: _Optional[str]=..., is_multi_source: bool=..., required_connector_ids: _Optional[_Iterable[int]]=..., category: _Optional[str]=..., segments: _Optional[_Iterable[_Union[MessageSegment, _Mapping]]]=..., required_features: _Optional[_Iterable[_Union[FeatureType, str]]]=..., source_context: _Optional[_Union[ConnectorContext, _Mapping]]=...) -> None: + ... + +class GetExampleQueriesResponse(_message.Message): + __slots__ = ('examples',) + EXAMPLES_FIELD_NUMBER: _ClassVar[int] + examples: _containers.RepeatedCompositeFieldContainer[ExampleQuery] + + def __init__(self, examples: _Optional[_Iterable[_Union[ExampleQuery, _Mapping]]]=...) -> None: + ... + +class ConnectorStatEntry(_message.Message): + __slots__ = ('connector_id', 'query_count', 'error_rate', 'avg_query_time_ms', 'unique_users', 'last_queried_at', 'table_count') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + QUERY_COUNT_FIELD_NUMBER: _ClassVar[int] + ERROR_RATE_FIELD_NUMBER: _ClassVar[int] + AVG_QUERY_TIME_MS_FIELD_NUMBER: _ClassVar[int] + UNIQUE_USERS_FIELD_NUMBER: _ClassVar[int] + LAST_QUERIED_AT_FIELD_NUMBER: _ClassVar[int] + TABLE_COUNT_FIELD_NUMBER: _ClassVar[int] + connector_id: int + query_count: int + error_rate: float + avg_query_time_ms: int + unique_users: int + last_queried_at: _timestamp_pb2.Timestamp + table_count: int + + def __init__(self, connector_id: _Optional[int]=..., query_count: _Optional[int]=..., error_rate: _Optional[float]=..., avg_query_time_ms: _Optional[int]=..., unique_users: _Optional[int]=..., last_queried_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., table_count: _Optional[int]=...) -> None: + ... + +class GetConnectorStatsRequest(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: int + + def __init__(self, days: _Optional[int]=...) -> None: + ... + +class GetConnectorStatsResponse(_message.Message): + __slots__ = ('stats',) + STATS_FIELD_NUMBER: _ClassVar[int] + stats: _containers.RepeatedCompositeFieldContainer[ConnectorStatEntry] + + def __init__(self, stats: _Optional[_Iterable[_Union[ConnectorStatEntry, _Mapping]]]=...) -> None: + ... + +class ListQueryTemplatesRequest(_message.Message): + __slots__ = ('connector_id', 'limit', 'offset', 'days') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + DAYS_FIELD_NUMBER: _ClassVar[int] + connector_id: int + limit: int + offset: int + days: int + + def __init__(self, connector_id: _Optional[int]=..., limit: _Optional[int]=..., offset: _Optional[int]=..., days: _Optional[int]=...) -> None: + ... + +class ListQueryTemplatesResponse(_message.Message): + __slots__ = ('templates', 'total_count') + TEMPLATES_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + templates: _containers.RepeatedCompositeFieldContainer[QueryTemplate] + total_count: int + + def __init__(self, templates: _Optional[_Iterable[_Union[QueryTemplate, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class QueryTemplate(_message.Message): + __slots__ = ('template_id', 'normalized_sql', 'tables', 'joins', 'event_count', 'first_seen', 'last_seen', 'cte_refs', 'avg_runtime_ms') + TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] + NORMALIZED_SQL_FIELD_NUMBER: _ClassVar[int] + TABLES_FIELD_NUMBER: _ClassVar[int] + JOINS_FIELD_NUMBER: _ClassVar[int] + EVENT_COUNT_FIELD_NUMBER: _ClassVar[int] + FIRST_SEEN_FIELD_NUMBER: _ClassVar[int] + LAST_SEEN_FIELD_NUMBER: _ClassVar[int] + CTE_REFS_FIELD_NUMBER: _ClassVar[int] + AVG_RUNTIME_MS_FIELD_NUMBER: _ClassVar[int] + template_id: str + normalized_sql: str + tables: _containers.RepeatedScalarFieldContainer[str] + joins: _containers.RepeatedCompositeFieldContainer[QueryJoinInfo] + event_count: int + first_seen: _timestamp_pb2.Timestamp + last_seen: _timestamp_pb2.Timestamp + cte_refs: _containers.RepeatedCompositeFieldContainer[QueryTemplateCteRef] + avg_runtime_ms: int + + def __init__(self, template_id: _Optional[str]=..., normalized_sql: _Optional[str]=..., tables: _Optional[_Iterable[str]]=..., joins: _Optional[_Iterable[_Union[QueryJoinInfo, _Mapping]]]=..., event_count: _Optional[int]=..., first_seen: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_seen: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., cte_refs: _Optional[_Iterable[_Union[QueryTemplateCteRef, _Mapping]]]=..., avg_runtime_ms: _Optional[int]=...) -> None: + ... + +class QueryTemplateCteRef(_message.Message): + __slots__ = ('template_id', 'cte_name') + TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] + CTE_NAME_FIELD_NUMBER: _ClassVar[int] + template_id: str + cte_name: str + + def __init__(self, template_id: _Optional[str]=..., cte_name: _Optional[str]=...) -> None: + ... + +class QueryJoinInfo(_message.Message): + __slots__ = ('tables', 'join_type') + TABLES_FIELD_NUMBER: _ClassVar[int] + JOIN_TYPE_FIELD_NUMBER: _ClassVar[int] + tables: _containers.RepeatedScalarFieldContainer[str] + join_type: str + + def __init__(self, tables: _Optional[_Iterable[str]]=..., join_type: _Optional[str]=...) -> None: + ... + +class GetConnectorUsageRequest(_message.Message): + __slots__ = ('connector_id', 'days') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + DAYS_FIELD_NUMBER: _ClassVar[int] + connector_id: int + days: int + + def __init__(self, connector_id: _Optional[int]=..., days: _Optional[int]=...) -> None: + ... + +class GetConnectorUsageResponse(_message.Message): + __slots__ = ('daily_volume', 'top_users', 'total_queries', 'daily_execution_ms') + DAILY_VOLUME_FIELD_NUMBER: _ClassVar[int] + TOP_USERS_FIELD_NUMBER: _ClassVar[int] + TOTAL_QUERIES_FIELD_NUMBER: _ClassVar[int] + DAILY_EXECUTION_MS_FIELD_NUMBER: _ClassVar[int] + daily_volume: _containers.RepeatedCompositeFieldContainer[DailyQueryCount] + top_users: _containers.RepeatedCompositeFieldContainer[TopUser] + total_queries: int + daily_execution_ms: _containers.RepeatedCompositeFieldContainer[DailyDuration] + + def __init__(self, daily_volume: _Optional[_Iterable[_Union[DailyQueryCount, _Mapping]]]=..., top_users: _Optional[_Iterable[_Union[TopUser, _Mapping]]]=..., total_queries: _Optional[int]=..., daily_execution_ms: _Optional[_Iterable[_Union[DailyDuration, _Mapping]]]=...) -> None: + ... + +class DailyQueryCount(_message.Message): + __slots__ = ('date', 'count') + DATE_FIELD_NUMBER: _ClassVar[int] + COUNT_FIELD_NUMBER: _ClassVar[int] + date: str + count: int + + def __init__(self, date: _Optional[str]=..., count: _Optional[int]=...) -> None: + ... + +class DailyDuration(_message.Message): + __slots__ = ('date', 'total_ms') + DATE_FIELD_NUMBER: _ClassVar[int] + TOTAL_MS_FIELD_NUMBER: _ClassVar[int] + date: str + total_ms: int + + def __init__(self, date: _Optional[str]=..., total_ms: _Optional[int]=...) -> None: + ... + +class TopUser(_message.Message): + __slots__ = ('member_id', 'display_name', 'email', 'query_count', 'chat_count', 'picture_url') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + QUERY_COUNT_FIELD_NUMBER: _ClassVar[int] + CHAT_COUNT_FIELD_NUMBER: _ClassVar[int] + PICTURE_URL_FIELD_NUMBER: _ClassVar[int] + member_id: str + display_name: str + email: str + query_count: int + chat_count: int + picture_url: str + + def __init__(self, member_id: _Optional[str]=..., display_name: _Optional[str]=..., email: _Optional[str]=..., query_count: _Optional[int]=..., chat_count: _Optional[int]=..., picture_url: _Optional[str]=...) -> None: + ... + +class GetConnectorChatsRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class GetConnectorChatsResponse(_message.Message): + __slots__ = ('stats', 'chats') + STATS_FIELD_NUMBER: _ClassVar[int] + CHATS_FIELD_NUMBER: _ClassVar[int] + stats: ConnectorChatStats + chats: _containers.RepeatedCompositeFieldContainer[ConnectorChat] + + def __init__(self, stats: _Optional[_Union[ConnectorChatStats, _Mapping]]=..., chats: _Optional[_Iterable[_Union[ConnectorChat, _Mapping]]]=...) -> None: + ... + +class ConnectorChatStats(_message.Message): + __slots__ = ('chats_this_week', 'chats_last_week', 'active_users', 'active_users_last_week', 'avg_queries_per_chat', 'total_chats') + CHATS_THIS_WEEK_FIELD_NUMBER: _ClassVar[int] + CHATS_LAST_WEEK_FIELD_NUMBER: _ClassVar[int] + ACTIVE_USERS_FIELD_NUMBER: _ClassVar[int] + ACTIVE_USERS_LAST_WEEK_FIELD_NUMBER: _ClassVar[int] + AVG_QUERIES_PER_CHAT_FIELD_NUMBER: _ClassVar[int] + TOTAL_CHATS_FIELD_NUMBER: _ClassVar[int] + chats_this_week: int + chats_last_week: int + active_users: int + active_users_last_week: int + avg_queries_per_chat: float + total_chats: int + + def __init__(self, chats_this_week: _Optional[int]=..., chats_last_week: _Optional[int]=..., active_users: _Optional[int]=..., active_users_last_week: _Optional[int]=..., avg_queries_per_chat: _Optional[float]=..., total_chats: _Optional[int]=...) -> None: + ... + +class ConnectorChat(_message.Message): + __slots__ = ('chat_id', 'summary', 'member_id', 'display_name', 'email', 'query_count', 'last_activity', 'tables', 'picture_url') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + QUERY_COUNT_FIELD_NUMBER: _ClassVar[int] + LAST_ACTIVITY_FIELD_NUMBER: _ClassVar[int] + TABLES_FIELD_NUMBER: _ClassVar[int] + PICTURE_URL_FIELD_NUMBER: _ClassVar[int] + chat_id: str + summary: str + member_id: str + display_name: str + email: str + query_count: int + last_activity: _timestamp_pb2.Timestamp + tables: _containers.RepeatedScalarFieldContainer[str] + picture_url: str + + def __init__(self, chat_id: _Optional[str]=..., summary: _Optional[str]=..., member_id: _Optional[str]=..., display_name: _Optional[str]=..., email: _Optional[str]=..., query_count: _Optional[int]=..., last_activity: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., tables: _Optional[_Iterable[str]]=..., picture_url: _Optional[str]=...) -> None: + ... + +class GetConnectorCellDurationsRequest(_message.Message): + __slots__ = ('connector_id', 'days', 'limit', 'offset') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + DAYS_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + connector_id: int + days: int + limit: int + offset: int + + def __init__(self, connector_id: _Optional[int]=..., days: _Optional[int]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class GetConnectorCellDurationsResponse(_message.Message): + __slots__ = ('cells', 'total_count') + CELLS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + cells: _containers.RepeatedCompositeFieldContainer[ConnectorCellDuration] + total_count: int + + def __init__(self, cells: _Optional[_Iterable[_Union[ConnectorCellDuration, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class ConnectorCellDuration(_message.Message): + __slots__ = ('cell_id', 'chat_id', 'duration_ms', 'has_duration', 'started_at', 'created_at', 'execution_error', 'member_id') + CELL_ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + DURATION_MS_FIELD_NUMBER: _ClassVar[int] + HAS_DURATION_FIELD_NUMBER: _ClassVar[int] + STARTED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + EXECUTION_ERROR_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + cell_id: str + chat_id: str + duration_ms: int + has_duration: bool + started_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + execution_error: str + member_id: str + + def __init__(self, cell_id: _Optional[str]=..., chat_id: _Optional[str]=..., duration_ms: _Optional[int]=..., has_duration: bool=..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., execution_error: _Optional[str]=..., member_id: _Optional[str]=...) -> None: + ... + +class GetConnectorDashboardsRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class GetConnectorDashboardsResponse(_message.Message): + __slots__ = ('stats', 'dashboards') + STATS_FIELD_NUMBER: _ClassVar[int] + DASHBOARDS_FIELD_NUMBER: _ClassVar[int] + stats: ConnectorDashboardStats + dashboards: _containers.RepeatedCompositeFieldContainer[ConnectorDashboard] + + def __init__(self, stats: _Optional[_Union[ConnectorDashboardStats, _Mapping]]=..., dashboards: _Optional[_Iterable[_Union[ConnectorDashboard, _Mapping]]]=...) -> None: + ... + +class ConnectorDashboardStats(_message.Message): + __slots__ = ('dashboards_this_week', 'dashboards_last_week', 'active_users', 'active_users_last_week', 'avg_queries_per_dashboard', 'total_dashboards') + DASHBOARDS_THIS_WEEK_FIELD_NUMBER: _ClassVar[int] + DASHBOARDS_LAST_WEEK_FIELD_NUMBER: _ClassVar[int] + ACTIVE_USERS_FIELD_NUMBER: _ClassVar[int] + ACTIVE_USERS_LAST_WEEK_FIELD_NUMBER: _ClassVar[int] + AVG_QUERIES_PER_DASHBOARD_FIELD_NUMBER: _ClassVar[int] + TOTAL_DASHBOARDS_FIELD_NUMBER: _ClassVar[int] + dashboards_this_week: int + dashboards_last_week: int + active_users: int + active_users_last_week: int + avg_queries_per_dashboard: float + total_dashboards: int + + def __init__(self, dashboards_this_week: _Optional[int]=..., dashboards_last_week: _Optional[int]=..., active_users: _Optional[int]=..., active_users_last_week: _Optional[int]=..., avg_queries_per_dashboard: _Optional[float]=..., total_dashboards: _Optional[int]=...) -> None: + ... + +class ConnectorDashboard(_message.Message): + __slots__ = ('dashboard_id', 'name', 'member_id', 'display_name', 'email', 'query_count', 'last_activity', 'tables', 'picture_url') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + QUERY_COUNT_FIELD_NUMBER: _ClassVar[int] + LAST_ACTIVITY_FIELD_NUMBER: _ClassVar[int] + TABLES_FIELD_NUMBER: _ClassVar[int] + PICTURE_URL_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + name: str + member_id: str + display_name: str + email: str + query_count: int + last_activity: _timestamp_pb2.Timestamp + tables: _containers.RepeatedScalarFieldContainer[str] + picture_url: str + + def __init__(self, dashboard_id: _Optional[str]=..., name: _Optional[str]=..., member_id: _Optional[str]=..., display_name: _Optional[str]=..., email: _Optional[str]=..., query_count: _Optional[int]=..., last_activity: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., tables: _Optional[_Iterable[str]]=..., picture_url: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/context_prompts_connect.py b/src/textql_sdk/_connect/public/context_prompts_connect.py new file mode 100644 index 0000000..e13332d --- /dev/null +++ b/src/textql_sdk/_connect/public/context_prompts_connect.py @@ -0,0 +1,207 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import context_prompts_pb2 as public_dot_context__prompts__pb2 + +class ContextPromptsService(Protocol): + + async def create_context_prompt(self, request: public_dot_context__prompts__pb2.CreateContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.CreateContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_context_prompt(self, request: public_dot_context__prompts__pb2.UpdateContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.UpdateContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_context_prompt(self, request: public_dot_context__prompts__pb2.DeleteContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.DeleteContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_all_org_context_prompts(self, request: public_dot_context__prompts__pb2.ListAllOrgContextPromptsRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.ListAllOrgContextPromptsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def assign_context_prompt_to_roles(self, request: public_dot_context__prompts__pb2.AssignContextPromptToRolesRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.AssignContextPromptToRolesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_context_prompt_from_roles(self, request: public_dot_context__prompts__pb2.RemoveContextPromptFromRolesRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.RemoveContextPromptFromRolesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_context_prompts_by_role(self, request: public_dot_context__prompts__pb2.GetContextPromptsByRoleRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.GetContextPromptsByRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def assign_datasets_to_context_prompt(self, request: public_dot_context__prompts__pb2.AssignDatasetsToContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.AssignDatasetsToContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_datasets_from_context_prompt(self, request: public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_context_prompts_by_dataset(self, request: public_dot_context__prompts__pb2.GetContextPromptsByDatasetRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.GetContextPromptsByDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def assign_context_prompt_to_connectors(self, request: public_dot_context__prompts__pb2.AssignContextPromptToConnectorsRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.AssignContextPromptToConnectorsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_context_prompt_from_connectors(self, request: public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_context_prompts_by_connector(self, request: public_dot_context__prompts__pb2.GetContextPromptsByConnectorRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.GetContextPromptsByConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def toggle_context_prompt_active(self, request: public_dot_context__prompts__pb2.ToggleContextPromptActiveRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.ToggleContextPromptActiveResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ContextPromptsServiceASGIApplication(ConnectASGIApplication[ContextPromptsService]): + + def __init__(self, service: ContextPromptsService | AsyncGenerator[ContextPromptsService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.context_prompts.ContextPromptsService/CreateContextPrompt': Endpoint.unary(method=MethodInfo(name='CreateContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.CreateContextPromptRequest, output=public_dot_context__prompts__pb2.CreateContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/UpdateContextPrompt': Endpoint.unary(method=MethodInfo(name='UpdateContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.UpdateContextPromptRequest, output=public_dot_context__prompts__pb2.UpdateContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/DeleteContextPrompt': Endpoint.unary(method=MethodInfo(name='DeleteContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.DeleteContextPromptRequest, output=public_dot_context__prompts__pb2.DeleteContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/ListAllOrgContextPrompts': Endpoint.unary(method=MethodInfo(name='ListAllOrgContextPrompts', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.ListAllOrgContextPromptsRequest, output=public_dot_context__prompts__pb2.ListAllOrgContextPromptsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_all_org_context_prompts), '/textql.rpc.public.context_prompts.ContextPromptsService/AssignContextPromptToRoles': Endpoint.unary(method=MethodInfo(name='AssignContextPromptToRoles', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignContextPromptToRolesRequest, output=public_dot_context__prompts__pb2.AssignContextPromptToRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.assign_context_prompt_to_roles), '/textql.rpc.public.context_prompts.ContextPromptsService/RemoveContextPromptFromRoles': Endpoint.unary(method=MethodInfo(name='RemoveContextPromptFromRoles', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveContextPromptFromRolesRequest, output=public_dot_context__prompts__pb2.RemoveContextPromptFromRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_context_prompt_from_roles), '/textql.rpc.public.context_prompts.ContextPromptsService/GetContextPromptsByRole': Endpoint.unary(method=MethodInfo(name='GetContextPromptsByRole', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByRoleRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByRoleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_context_prompts_by_role), '/textql.rpc.public.context_prompts.ContextPromptsService/AssignDatasetsToContextPrompt': Endpoint.unary(method=MethodInfo(name='AssignDatasetsToContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignDatasetsToContextPromptRequest, output=public_dot_context__prompts__pb2.AssignDatasetsToContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.assign_datasets_to_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/RemoveDatasetsFromContextPrompt': Endpoint.unary(method=MethodInfo(name='RemoveDatasetsFromContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptRequest, output=public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_datasets_from_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/GetContextPromptsByDataset': Endpoint.unary(method=MethodInfo(name='GetContextPromptsByDataset', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByDatasetRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_context_prompts_by_dataset), '/textql.rpc.public.context_prompts.ContextPromptsService/AssignContextPromptToConnectors': Endpoint.unary(method=MethodInfo(name='AssignContextPromptToConnectors', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignContextPromptToConnectorsRequest, output=public_dot_context__prompts__pb2.AssignContextPromptToConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.assign_context_prompt_to_connectors), '/textql.rpc.public.context_prompts.ContextPromptsService/RemoveContextPromptFromConnectors': Endpoint.unary(method=MethodInfo(name='RemoveContextPromptFromConnectors', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsRequest, output=public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_context_prompt_from_connectors), '/textql.rpc.public.context_prompts.ContextPromptsService/GetContextPromptsByConnector': Endpoint.unary(method=MethodInfo(name='GetContextPromptsByConnector', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByConnectorRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByConnectorResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_context_prompts_by_connector), '/textql.rpc.public.context_prompts.ContextPromptsService/ToggleContextPromptActive': Endpoint.unary(method=MethodInfo(name='ToggleContextPromptActive', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.ToggleContextPromptActiveRequest, output=public_dot_context__prompts__pb2.ToggleContextPromptActiveResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.toggle_context_prompt_active)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.context_prompts.ContextPromptsService' + +class ContextPromptsServiceClient(ConnectClient): + + async def create_context_prompt(self, request: public_dot_context__prompts__pb2.CreateContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.CreateContextPromptResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.CreateContextPromptRequest, output=public_dot_context__prompts__pb2.CreateContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_context_prompt(self, request: public_dot_context__prompts__pb2.UpdateContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.UpdateContextPromptResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.UpdateContextPromptRequest, output=public_dot_context__prompts__pb2.UpdateContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_context_prompt(self, request: public_dot_context__prompts__pb2.DeleteContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.DeleteContextPromptResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.DeleteContextPromptRequest, output=public_dot_context__prompts__pb2.DeleteContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_all_org_context_prompts(self, request: public_dot_context__prompts__pb2.ListAllOrgContextPromptsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_context__prompts__pb2.ListAllOrgContextPromptsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAllOrgContextPrompts', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.ListAllOrgContextPromptsRequest, output=public_dot_context__prompts__pb2.ListAllOrgContextPromptsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def assign_context_prompt_to_roles(self, request: public_dot_context__prompts__pb2.AssignContextPromptToRolesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.AssignContextPromptToRolesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AssignContextPromptToRoles', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignContextPromptToRolesRequest, output=public_dot_context__prompts__pb2.AssignContextPromptToRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_context_prompt_from_roles(self, request: public_dot_context__prompts__pb2.RemoveContextPromptFromRolesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.RemoveContextPromptFromRolesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveContextPromptFromRoles', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveContextPromptFromRolesRequest, output=public_dot_context__prompts__pb2.RemoveContextPromptFromRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_context_prompts_by_role(self, request: public_dot_context__prompts__pb2.GetContextPromptsByRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_context__prompts__pb2.GetContextPromptsByRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetContextPromptsByRole', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByRoleRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByRoleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def assign_datasets_to_context_prompt(self, request: public_dot_context__prompts__pb2.AssignDatasetsToContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.AssignDatasetsToContextPromptResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AssignDatasetsToContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignDatasetsToContextPromptRequest, output=public_dot_context__prompts__pb2.AssignDatasetsToContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_datasets_from_context_prompt(self, request: public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveDatasetsFromContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptRequest, output=public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_context_prompts_by_dataset(self, request: public_dot_context__prompts__pb2.GetContextPromptsByDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_context__prompts__pb2.GetContextPromptsByDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetContextPromptsByDataset', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByDatasetRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def assign_context_prompt_to_connectors(self, request: public_dot_context__prompts__pb2.AssignContextPromptToConnectorsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.AssignContextPromptToConnectorsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AssignContextPromptToConnectors', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignContextPromptToConnectorsRequest, output=public_dot_context__prompts__pb2.AssignContextPromptToConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_context_prompt_from_connectors(self, request: public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveContextPromptFromConnectors', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsRequest, output=public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_context_prompts_by_connector(self, request: public_dot_context__prompts__pb2.GetContextPromptsByConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_context__prompts__pb2.GetContextPromptsByConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetContextPromptsByConnector', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByConnectorRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByConnectorResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def toggle_context_prompt_active(self, request: public_dot_context__prompts__pb2.ToggleContextPromptActiveRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.ToggleContextPromptActiveResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ToggleContextPromptActive', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.ToggleContextPromptActiveRequest, output=public_dot_context__prompts__pb2.ToggleContextPromptActiveResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class ContextPromptsServiceSync(Protocol): + + def create_context_prompt(self, request: public_dot_context__prompts__pb2.CreateContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.CreateContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_context_prompt(self, request: public_dot_context__prompts__pb2.UpdateContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.UpdateContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_context_prompt(self, request: public_dot_context__prompts__pb2.DeleteContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.DeleteContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_all_org_context_prompts(self, request: public_dot_context__prompts__pb2.ListAllOrgContextPromptsRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.ListAllOrgContextPromptsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def assign_context_prompt_to_roles(self, request: public_dot_context__prompts__pb2.AssignContextPromptToRolesRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.AssignContextPromptToRolesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_context_prompt_from_roles(self, request: public_dot_context__prompts__pb2.RemoveContextPromptFromRolesRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.RemoveContextPromptFromRolesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_context_prompts_by_role(self, request: public_dot_context__prompts__pb2.GetContextPromptsByRoleRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.GetContextPromptsByRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def assign_datasets_to_context_prompt(self, request: public_dot_context__prompts__pb2.AssignDatasetsToContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.AssignDatasetsToContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_datasets_from_context_prompt(self, request: public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_context_prompts_by_dataset(self, request: public_dot_context__prompts__pb2.GetContextPromptsByDatasetRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.GetContextPromptsByDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def assign_context_prompt_to_connectors(self, request: public_dot_context__prompts__pb2.AssignContextPromptToConnectorsRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.AssignContextPromptToConnectorsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_context_prompt_from_connectors(self, request: public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_context_prompts_by_connector(self, request: public_dot_context__prompts__pb2.GetContextPromptsByConnectorRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.GetContextPromptsByConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def toggle_context_prompt_active(self, request: public_dot_context__prompts__pb2.ToggleContextPromptActiveRequest, ctx: RequestContext) -> public_dot_context__prompts__pb2.ToggleContextPromptActiveResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ContextPromptsServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ContextPromptsServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.context_prompts.ContextPromptsService/CreateContextPrompt': EndpointSync.unary(method=MethodInfo(name='CreateContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.CreateContextPromptRequest, output=public_dot_context__prompts__pb2.CreateContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/UpdateContextPrompt': EndpointSync.unary(method=MethodInfo(name='UpdateContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.UpdateContextPromptRequest, output=public_dot_context__prompts__pb2.UpdateContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/DeleteContextPrompt': EndpointSync.unary(method=MethodInfo(name='DeleteContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.DeleteContextPromptRequest, output=public_dot_context__prompts__pb2.DeleteContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/ListAllOrgContextPrompts': EndpointSync.unary(method=MethodInfo(name='ListAllOrgContextPrompts', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.ListAllOrgContextPromptsRequest, output=public_dot_context__prompts__pb2.ListAllOrgContextPromptsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_all_org_context_prompts), '/textql.rpc.public.context_prompts.ContextPromptsService/AssignContextPromptToRoles': EndpointSync.unary(method=MethodInfo(name='AssignContextPromptToRoles', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignContextPromptToRolesRequest, output=public_dot_context__prompts__pb2.AssignContextPromptToRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.assign_context_prompt_to_roles), '/textql.rpc.public.context_prompts.ContextPromptsService/RemoveContextPromptFromRoles': EndpointSync.unary(method=MethodInfo(name='RemoveContextPromptFromRoles', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveContextPromptFromRolesRequest, output=public_dot_context__prompts__pb2.RemoveContextPromptFromRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_context_prompt_from_roles), '/textql.rpc.public.context_prompts.ContextPromptsService/GetContextPromptsByRole': EndpointSync.unary(method=MethodInfo(name='GetContextPromptsByRole', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByRoleRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByRoleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_context_prompts_by_role), '/textql.rpc.public.context_prompts.ContextPromptsService/AssignDatasetsToContextPrompt': EndpointSync.unary(method=MethodInfo(name='AssignDatasetsToContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignDatasetsToContextPromptRequest, output=public_dot_context__prompts__pb2.AssignDatasetsToContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.assign_datasets_to_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/RemoveDatasetsFromContextPrompt': EndpointSync.unary(method=MethodInfo(name='RemoveDatasetsFromContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptRequest, output=public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_datasets_from_context_prompt), '/textql.rpc.public.context_prompts.ContextPromptsService/GetContextPromptsByDataset': EndpointSync.unary(method=MethodInfo(name='GetContextPromptsByDataset', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByDatasetRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_context_prompts_by_dataset), '/textql.rpc.public.context_prompts.ContextPromptsService/AssignContextPromptToConnectors': EndpointSync.unary(method=MethodInfo(name='AssignContextPromptToConnectors', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignContextPromptToConnectorsRequest, output=public_dot_context__prompts__pb2.AssignContextPromptToConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.assign_context_prompt_to_connectors), '/textql.rpc.public.context_prompts.ContextPromptsService/RemoveContextPromptFromConnectors': EndpointSync.unary(method=MethodInfo(name='RemoveContextPromptFromConnectors', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsRequest, output=public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_context_prompt_from_connectors), '/textql.rpc.public.context_prompts.ContextPromptsService/GetContextPromptsByConnector': EndpointSync.unary(method=MethodInfo(name='GetContextPromptsByConnector', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByConnectorRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByConnectorResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_context_prompts_by_connector), '/textql.rpc.public.context_prompts.ContextPromptsService/ToggleContextPromptActive': EndpointSync.unary(method=MethodInfo(name='ToggleContextPromptActive', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.ToggleContextPromptActiveRequest, output=public_dot_context__prompts__pb2.ToggleContextPromptActiveResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.toggle_context_prompt_active)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.context_prompts.ContextPromptsService' + +class ContextPromptsServiceClientSync(ConnectClientSync): + + def create_context_prompt(self, request: public_dot_context__prompts__pb2.CreateContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.CreateContextPromptResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.CreateContextPromptRequest, output=public_dot_context__prompts__pb2.CreateContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_context_prompt(self, request: public_dot_context__prompts__pb2.UpdateContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.UpdateContextPromptResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.UpdateContextPromptRequest, output=public_dot_context__prompts__pb2.UpdateContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_context_prompt(self, request: public_dot_context__prompts__pb2.DeleteContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.DeleteContextPromptResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.DeleteContextPromptRequest, output=public_dot_context__prompts__pb2.DeleteContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_all_org_context_prompts(self, request: public_dot_context__prompts__pb2.ListAllOrgContextPromptsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_context__prompts__pb2.ListAllOrgContextPromptsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAllOrgContextPrompts', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.ListAllOrgContextPromptsRequest, output=public_dot_context__prompts__pb2.ListAllOrgContextPromptsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def assign_context_prompt_to_roles(self, request: public_dot_context__prompts__pb2.AssignContextPromptToRolesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.AssignContextPromptToRolesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AssignContextPromptToRoles', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignContextPromptToRolesRequest, output=public_dot_context__prompts__pb2.AssignContextPromptToRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_context_prompt_from_roles(self, request: public_dot_context__prompts__pb2.RemoveContextPromptFromRolesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.RemoveContextPromptFromRolesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveContextPromptFromRoles', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveContextPromptFromRolesRequest, output=public_dot_context__prompts__pb2.RemoveContextPromptFromRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_context_prompts_by_role(self, request: public_dot_context__prompts__pb2.GetContextPromptsByRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_context__prompts__pb2.GetContextPromptsByRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetContextPromptsByRole', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByRoleRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByRoleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def assign_datasets_to_context_prompt(self, request: public_dot_context__prompts__pb2.AssignDatasetsToContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.AssignDatasetsToContextPromptResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AssignDatasetsToContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignDatasetsToContextPromptRequest, output=public_dot_context__prompts__pb2.AssignDatasetsToContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_datasets_from_context_prompt(self, request: public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveDatasetsFromContextPrompt', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptRequest, output=public_dot_context__prompts__pb2.RemoveDatasetsFromContextPromptResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_context_prompts_by_dataset(self, request: public_dot_context__prompts__pb2.GetContextPromptsByDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_context__prompts__pb2.GetContextPromptsByDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetContextPromptsByDataset', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByDatasetRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def assign_context_prompt_to_connectors(self, request: public_dot_context__prompts__pb2.AssignContextPromptToConnectorsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.AssignContextPromptToConnectorsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AssignContextPromptToConnectors', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.AssignContextPromptToConnectorsRequest, output=public_dot_context__prompts__pb2.AssignContextPromptToConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_context_prompt_from_connectors(self, request: public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveContextPromptFromConnectors', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsRequest, output=public_dot_context__prompts__pb2.RemoveContextPromptFromConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_context_prompts_by_connector(self, request: public_dot_context__prompts__pb2.GetContextPromptsByConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_context__prompts__pb2.GetContextPromptsByConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetContextPromptsByConnector', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.GetContextPromptsByConnectorRequest, output=public_dot_context__prompts__pb2.GetContextPromptsByConnectorResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def toggle_context_prompt_active(self, request: public_dot_context__prompts__pb2.ToggleContextPromptActiveRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_context__prompts__pb2.ToggleContextPromptActiveResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ToggleContextPromptActive', service_name='textql.rpc.public.context_prompts.ContextPromptsService', input=public_dot_context__prompts__pb2.ToggleContextPromptActiveRequest, output=public_dot_context__prompts__pb2.ToggleContextPromptActiveResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/context_prompts_pb2.py b/src/textql_sdk/_connect/public/context_prompts_pb2.py new file mode 100644 index 0000000..b55efaa --- /dev/null +++ b/src/textql_sdk/_connect/public/context_prompts_pb2.py @@ -0,0 +1,85 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/context_prompts.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cpublic/context_prompts.proto\x12!textql.rpc.public.context_prompts\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\xd0\x03\n\rContextPrompt\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06prompt\x18\x03 \x01(\tR\x06prompt\x12\x15\n\x06is_org\x18\x04 \x01(\x08R\x05isOrg\x12\x16\n\x06active\x18\x05 \x01(\x08R\x06active\x12%\n\x0eassigned_roles\x18\x06 \x03(\tR\rassignedRoles\x12+\n\x11assigned_datasets\x18\x07 \x03(\tR\x10assignedDatasets\x12/\n\x13assigned_connectors\x18\x08 \x03(\x05R\x12assignedConnectors\x129\n\ncreated_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1f\n\x0bauto_attach\x18\x0b \x01(\x08R\nautoAttach\x12\x1b\n\tcan_write\x18\x0c \x01(\x08R\x08canWrite\x12\x1b\n\tis_public\x18\r \x01(\x08R\x08isPublic"\x99\x02\n\x1aCreateContextPromptRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06prompt\x18\x02 \x01(\tR\x06prompt\x12\x15\n\x06is_org\x18\x03 \x01(\x08R\x05isOrg\x12(\n\x10initial_role_ids\x18\x04 \x03(\tR\x0einitialRoleIds\x12)\n\x10initial_datasets\x18\x05 \x03(\tR\x0finitialDatasets\x12-\n\x12initial_connectors\x18\x06 \x03(\x05R\x11initialConnectors\x12$\n\x0bauto_attach\x18\x07 \x01(\x08H\x00R\nautoAttach\x88\x01\x01B\x0e\n\x0c_auto_attach"\xb5\x01\n\x1bCreateContextPromptResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01\x12W\n\x0econtext_prompt\x18\x03 \x01(\x0b20.textql.rpc.public.context_prompts.ContextPromptR\rcontextPromptB\x08\n\x06_error"\xd3\x01\n\x1aUpdateContextPromptRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x1b\n\x06prompt\x18\x03 \x01(\tH\x01R\x06prompt\x88\x01\x01\x12\x1a\n\x06is_org\x18\x04 \x01(\x08H\x02R\x05isOrg\x88\x01\x01\x12$\n\x0bauto_attach\x18\x05 \x01(\x08H\x03R\nautoAttach\x88\x01\x01B\x07\n\x05_nameB\t\n\x07_promptB\t\n\x07_is_orgB\x0e\n\x0c_auto_attach"\xb5\x01\n\x1bUpdateContextPromptResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01\x12W\n\x0econtext_prompt\x18\x03 \x01(\x0b20.textql.rpc.public.context_prompts.ContextPromptR\rcontextPromptB\x08\n\x06_error",\n\x1aDeleteContextPromptRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\\\n\x1bDeleteContextPromptResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"!\n\x1fListAllOrgContextPromptsRequest"}\n ListAllOrgContextPromptsResponse\x12Y\n\x0fcontext_prompts\x18\x01 \x03(\x0b20.textql.rpc.public.context_prompts.ContextPromptR\x0econtextPrompts"j\n!AssignContextPromptToRolesRequest\x12*\n\x11context_prompt_id\x18\x01 \x01(\tR\x0fcontextPromptId\x12\x19\n\x08role_ids\x18\x02 \x03(\tR\x07roleIds"c\n"AssignContextPromptToRolesResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"l\n#RemoveContextPromptFromRolesRequest\x12*\n\x11context_prompt_id\x18\x01 \x01(\tR\x0fcontextPromptId\x12\x19\n\x08role_ids\x18\x02 \x03(\tR\x07roleIds"e\n$RemoveContextPromptFromRolesResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"9\n\x1eGetContextPromptsByRoleRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId"|\n\x1fGetContextPromptsByRoleResponse\x12Y\n\x0fcontext_prompts\x18\x01 \x03(\x0b20.textql.rpc.public.context_prompts.ContextPromptR\x0econtextPrompts"s\n$AssignDatasetsToContextPromptRequest\x12*\n\x11context_prompt_id\x18\x01 \x01(\tR\x0fcontextPromptId\x12\x1f\n\x0bdataset_ids\x18\x02 \x03(\tR\ndatasetIds"f\n%AssignDatasetsToContextPromptResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"u\n&RemoveDatasetsFromContextPromptRequest\x12*\n\x11context_prompt_id\x18\x01 \x01(\tR\x0fcontextPromptId\x12\x1f\n\x0bdataset_ids\x18\x02 \x03(\tR\ndatasetIds"h\n\'RemoveDatasetsFromContextPromptResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"B\n!GetContextPromptsByDatasetRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId"\x7f\n"GetContextPromptsByDatasetResponse\x12Y\n\x0fcontext_prompts\x18\x01 \x03(\x0b20.textql.rpc.public.context_prompts.ContextPromptR\x0econtextPrompts"y\n&AssignContextPromptToConnectorsRequest\x12*\n\x11context_prompt_id\x18\x01 \x01(\tR\x0fcontextPromptId\x12#\n\rconnector_ids\x18\x02 \x03(\x05R\x0cconnectorIds"h\n\'AssignContextPromptToConnectorsResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"{\n(RemoveContextPromptFromConnectorsRequest\x12*\n\x11context_prompt_id\x18\x01 \x01(\tR\x0fcontextPromptId\x12#\n\rconnector_ids\x18\x02 \x03(\x05R\x0cconnectorIds"j\n)RemoveContextPromptFromConnectorsResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"H\n#GetContextPromptsByConnectorRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"\x81\x01\n$GetContextPromptsByConnectorResponse\x12Y\n\x0fcontext_prompts\x18\x01 \x03(\x0b20.textql.rpc.public.context_prompts.ContextPromptR\x0econtextPrompts"J\n ToggleContextPromptActiveRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06active\x18\x02 \x01(\x08R\x06active"\xbb\x01\n!ToggleContextPromptActiveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01\x12W\n\x0econtext_prompt\x18\x03 \x01(\x0b20.textql.rpc.public.context_prompts.ContextPromptR\rcontextPromptB\x08\n\x06_error2\x8a\x13\n\x15ContextPromptsService\x12\x94\x01\n\x13CreateContextPrompt\x12=.textql.rpc.public.context_prompts.CreateContextPromptRequest\x1a>.textql.rpc.public.context_prompts.CreateContextPromptResponse\x12\x94\x01\n\x13UpdateContextPrompt\x12=.textql.rpc.public.context_prompts.UpdateContextPromptRequest\x1a>.textql.rpc.public.context_prompts.UpdateContextPromptResponse\x12\x94\x01\n\x13DeleteContextPrompt\x12=.textql.rpc.public.context_prompts.DeleteContextPromptRequest\x1a>.textql.rpc.public.context_prompts.DeleteContextPromptResponse\x12\xa8\x01\n\x18ListAllOrgContextPrompts\x12B.textql.rpc.public.context_prompts.ListAllOrgContextPromptsRequest\x1aC.textql.rpc.public.context_prompts.ListAllOrgContextPromptsResponse"\x03\x90\x02\x01\x12\xa9\x01\n\x1aAssignContextPromptToRoles\x12D.textql.rpc.public.context_prompts.AssignContextPromptToRolesRequest\x1aE.textql.rpc.public.context_prompts.AssignContextPromptToRolesResponse\x12\xaf\x01\n\x1cRemoveContextPromptFromRoles\x12F.textql.rpc.public.context_prompts.RemoveContextPromptFromRolesRequest\x1aG.textql.rpc.public.context_prompts.RemoveContextPromptFromRolesResponse\x12\xa5\x01\n\x17GetContextPromptsByRole\x12A.textql.rpc.public.context_prompts.GetContextPromptsByRoleRequest\x1aB.textql.rpc.public.context_prompts.GetContextPromptsByRoleResponse"\x03\x90\x02\x01\x12\xb2\x01\n\x1dAssignDatasetsToContextPrompt\x12G.textql.rpc.public.context_prompts.AssignDatasetsToContextPromptRequest\x1aH.textql.rpc.public.context_prompts.AssignDatasetsToContextPromptResponse\x12\xb8\x01\n\x1fRemoveDatasetsFromContextPrompt\x12I.textql.rpc.public.context_prompts.RemoveDatasetsFromContextPromptRequest\x1aJ.textql.rpc.public.context_prompts.RemoveDatasetsFromContextPromptResponse\x12\xae\x01\n\x1aGetContextPromptsByDataset\x12D.textql.rpc.public.context_prompts.GetContextPromptsByDatasetRequest\x1aE.textql.rpc.public.context_prompts.GetContextPromptsByDatasetResponse"\x03\x90\x02\x01\x12\xb8\x01\n\x1fAssignContextPromptToConnectors\x12I.textql.rpc.public.context_prompts.AssignContextPromptToConnectorsRequest\x1aJ.textql.rpc.public.context_prompts.AssignContextPromptToConnectorsResponse\x12\xbe\x01\n!RemoveContextPromptFromConnectors\x12K.textql.rpc.public.context_prompts.RemoveContextPromptFromConnectorsRequest\x1aL.textql.rpc.public.context_prompts.RemoveContextPromptFromConnectorsResponse\x12\xb4\x01\n\x1cGetContextPromptsByConnector\x12F.textql.rpc.public.context_prompts.GetContextPromptsByConnectorRequest\x1aG.textql.rpc.public.context_prompts.GetContextPromptsByConnectorResponse"\x03\x90\x02\x01\x12\xa6\x01\n\x19ToggleContextPromptActive\x12C.textql.rpc.public.context_prompts.ToggleContextPromptActiveRequest\x1aD.textql.rpc.public.context_prompts.ToggleContextPromptActiveResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.context_prompts_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_CONTEXTPROMPTSSERVICE'].methods_by_name['ListAllOrgContextPrompts']._loaded_options = None + _globals['_CONTEXTPROMPTSSERVICE'].methods_by_name['ListAllOrgContextPrompts']._serialized_options = b'\x90\x02\x01' + _globals['_CONTEXTPROMPTSSERVICE'].methods_by_name['GetContextPromptsByRole']._loaded_options = None + _globals['_CONTEXTPROMPTSSERVICE'].methods_by_name['GetContextPromptsByRole']._serialized_options = b'\x90\x02\x01' + _globals['_CONTEXTPROMPTSSERVICE'].methods_by_name['GetContextPromptsByDataset']._loaded_options = None + _globals['_CONTEXTPROMPTSSERVICE'].methods_by_name['GetContextPromptsByDataset']._serialized_options = b'\x90\x02\x01' + _globals['_CONTEXTPROMPTSSERVICE'].methods_by_name['GetContextPromptsByConnector']._loaded_options = None + _globals['_CONTEXTPROMPTSSERVICE'].methods_by_name['GetContextPromptsByConnector']._serialized_options = b'\x90\x02\x01' + _globals['_CONTEXTPROMPT']._serialized_start = 123 + _globals['_CONTEXTPROMPT']._serialized_end = 587 + _globals['_CREATECONTEXTPROMPTREQUEST']._serialized_start = 590 + _globals['_CREATECONTEXTPROMPTREQUEST']._serialized_end = 871 + _globals['_CREATECONTEXTPROMPTRESPONSE']._serialized_start = 874 + _globals['_CREATECONTEXTPROMPTRESPONSE']._serialized_end = 1055 + _globals['_UPDATECONTEXTPROMPTREQUEST']._serialized_start = 1058 + _globals['_UPDATECONTEXTPROMPTREQUEST']._serialized_end = 1269 + _globals['_UPDATECONTEXTPROMPTRESPONSE']._serialized_start = 1272 + _globals['_UPDATECONTEXTPROMPTRESPONSE']._serialized_end = 1453 + _globals['_DELETECONTEXTPROMPTREQUEST']._serialized_start = 1455 + _globals['_DELETECONTEXTPROMPTREQUEST']._serialized_end = 1499 + _globals['_DELETECONTEXTPROMPTRESPONSE']._serialized_start = 1501 + _globals['_DELETECONTEXTPROMPTRESPONSE']._serialized_end = 1593 + _globals['_LISTALLORGCONTEXTPROMPTSREQUEST']._serialized_start = 1595 + _globals['_LISTALLORGCONTEXTPROMPTSREQUEST']._serialized_end = 1628 + _globals['_LISTALLORGCONTEXTPROMPTSRESPONSE']._serialized_start = 1630 + _globals['_LISTALLORGCONTEXTPROMPTSRESPONSE']._serialized_end = 1755 + _globals['_ASSIGNCONTEXTPROMPTTOROLESREQUEST']._serialized_start = 1757 + _globals['_ASSIGNCONTEXTPROMPTTOROLESREQUEST']._serialized_end = 1863 + _globals['_ASSIGNCONTEXTPROMPTTOROLESRESPONSE']._serialized_start = 1865 + _globals['_ASSIGNCONTEXTPROMPTTOROLESRESPONSE']._serialized_end = 1964 + _globals['_REMOVECONTEXTPROMPTFROMROLESREQUEST']._serialized_start = 1966 + _globals['_REMOVECONTEXTPROMPTFROMROLESREQUEST']._serialized_end = 2074 + _globals['_REMOVECONTEXTPROMPTFROMROLESRESPONSE']._serialized_start = 2076 + _globals['_REMOVECONTEXTPROMPTFROMROLESRESPONSE']._serialized_end = 2177 + _globals['_GETCONTEXTPROMPTSBYROLEREQUEST']._serialized_start = 2179 + _globals['_GETCONTEXTPROMPTSBYROLEREQUEST']._serialized_end = 2236 + _globals['_GETCONTEXTPROMPTSBYROLERESPONSE']._serialized_start = 2238 + _globals['_GETCONTEXTPROMPTSBYROLERESPONSE']._serialized_end = 2362 + _globals['_ASSIGNDATASETSTOCONTEXTPROMPTREQUEST']._serialized_start = 2364 + _globals['_ASSIGNDATASETSTOCONTEXTPROMPTREQUEST']._serialized_end = 2479 + _globals['_ASSIGNDATASETSTOCONTEXTPROMPTRESPONSE']._serialized_start = 2481 + _globals['_ASSIGNDATASETSTOCONTEXTPROMPTRESPONSE']._serialized_end = 2583 + _globals['_REMOVEDATASETSFROMCONTEXTPROMPTREQUEST']._serialized_start = 2585 + _globals['_REMOVEDATASETSFROMCONTEXTPROMPTREQUEST']._serialized_end = 2702 + _globals['_REMOVEDATASETSFROMCONTEXTPROMPTRESPONSE']._serialized_start = 2704 + _globals['_REMOVEDATASETSFROMCONTEXTPROMPTRESPONSE']._serialized_end = 2808 + _globals['_GETCONTEXTPROMPTSBYDATASETREQUEST']._serialized_start = 2810 + _globals['_GETCONTEXTPROMPTSBYDATASETREQUEST']._serialized_end = 2876 + _globals['_GETCONTEXTPROMPTSBYDATASETRESPONSE']._serialized_start = 2878 + _globals['_GETCONTEXTPROMPTSBYDATASETRESPONSE']._serialized_end = 3005 + _globals['_ASSIGNCONTEXTPROMPTTOCONNECTORSREQUEST']._serialized_start = 3007 + _globals['_ASSIGNCONTEXTPROMPTTOCONNECTORSREQUEST']._serialized_end = 3128 + _globals['_ASSIGNCONTEXTPROMPTTOCONNECTORSRESPONSE']._serialized_start = 3130 + _globals['_ASSIGNCONTEXTPROMPTTOCONNECTORSRESPONSE']._serialized_end = 3234 + _globals['_REMOVECONTEXTPROMPTFROMCONNECTORSREQUEST']._serialized_start = 3236 + _globals['_REMOVECONTEXTPROMPTFROMCONNECTORSREQUEST']._serialized_end = 3359 + _globals['_REMOVECONTEXTPROMPTFROMCONNECTORSRESPONSE']._serialized_start = 3361 + _globals['_REMOVECONTEXTPROMPTFROMCONNECTORSRESPONSE']._serialized_end = 3467 + _globals['_GETCONTEXTPROMPTSBYCONNECTORREQUEST']._serialized_start = 3469 + _globals['_GETCONTEXTPROMPTSBYCONNECTORREQUEST']._serialized_end = 3541 + _globals['_GETCONTEXTPROMPTSBYCONNECTORRESPONSE']._serialized_start = 3544 + _globals['_GETCONTEXTPROMPTSBYCONNECTORRESPONSE']._serialized_end = 3673 + _globals['_TOGGLECONTEXTPROMPTACTIVEREQUEST']._serialized_start = 3675 + _globals['_TOGGLECONTEXTPROMPTACTIVEREQUEST']._serialized_end = 3749 + _globals['_TOGGLECONTEXTPROMPTACTIVERESPONSE']._serialized_start = 3752 + _globals['_TOGGLECONTEXTPROMPTACTIVERESPONSE']._serialized_end = 3939 + _globals['_CONTEXTPROMPTSSERVICE']._serialized_start = 3942 + _globals['_CONTEXTPROMPTSSERVICE']._serialized_end = 6384 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/context_prompts_pb2.pyi b/src/textql_sdk/_connect/public/context_prompts_pb2.pyi new file mode 100644 index 0000000..01a2840 --- /dev/null +++ b/src/textql_sdk/_connect/public/context_prompts_pb2.pyi @@ -0,0 +1,323 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ContextPrompt(_message.Message): + __slots__ = ('id', 'name', 'prompt', 'is_org', 'active', 'assigned_roles', 'assigned_datasets', 'assigned_connectors', 'created_at', 'updated_at', 'auto_attach', 'can_write', 'is_public') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + IS_ORG_FIELD_NUMBER: _ClassVar[int] + ACTIVE_FIELD_NUMBER: _ClassVar[int] + ASSIGNED_ROLES_FIELD_NUMBER: _ClassVar[int] + ASSIGNED_DATASETS_FIELD_NUMBER: _ClassVar[int] + ASSIGNED_CONNECTORS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + AUTO_ATTACH_FIELD_NUMBER: _ClassVar[int] + CAN_WRITE_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + prompt: str + is_org: bool + active: bool + assigned_roles: _containers.RepeatedScalarFieldContainer[str] + assigned_datasets: _containers.RepeatedScalarFieldContainer[str] + assigned_connectors: _containers.RepeatedScalarFieldContainer[int] + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + auto_attach: bool + can_write: bool + is_public: bool + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., prompt: _Optional[str]=..., is_org: bool=..., active: bool=..., assigned_roles: _Optional[_Iterable[str]]=..., assigned_datasets: _Optional[_Iterable[str]]=..., assigned_connectors: _Optional[_Iterable[int]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., auto_attach: bool=..., can_write: bool=..., is_public: bool=...) -> None: + ... + +class CreateContextPromptRequest(_message.Message): + __slots__ = ('name', 'prompt', 'is_org', 'initial_role_ids', 'initial_datasets', 'initial_connectors', 'auto_attach') + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + IS_ORG_FIELD_NUMBER: _ClassVar[int] + INITIAL_ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + INITIAL_DATASETS_FIELD_NUMBER: _ClassVar[int] + INITIAL_CONNECTORS_FIELD_NUMBER: _ClassVar[int] + AUTO_ATTACH_FIELD_NUMBER: _ClassVar[int] + name: str + prompt: str + is_org: bool + initial_role_ids: _containers.RepeatedScalarFieldContainer[str] + initial_datasets: _containers.RepeatedScalarFieldContainer[str] + initial_connectors: _containers.RepeatedScalarFieldContainer[int] + auto_attach: bool + + def __init__(self, name: _Optional[str]=..., prompt: _Optional[str]=..., is_org: bool=..., initial_role_ids: _Optional[_Iterable[str]]=..., initial_datasets: _Optional[_Iterable[str]]=..., initial_connectors: _Optional[_Iterable[int]]=..., auto_attach: bool=...) -> None: + ... + +class CreateContextPromptResponse(_message.Message): + __slots__ = ('success', 'error', 'context_prompt') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + CONTEXT_PROMPT_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + context_prompt: ContextPrompt + + def __init__(self, success: bool=..., error: _Optional[str]=..., context_prompt: _Optional[_Union[ContextPrompt, _Mapping]]=...) -> None: + ... + +class UpdateContextPromptRequest(_message.Message): + __slots__ = ('id', 'name', 'prompt', 'is_org', 'auto_attach') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + IS_ORG_FIELD_NUMBER: _ClassVar[int] + AUTO_ATTACH_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + prompt: str + is_org: bool + auto_attach: bool + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., prompt: _Optional[str]=..., is_org: bool=..., auto_attach: bool=...) -> None: + ... + +class UpdateContextPromptResponse(_message.Message): + __slots__ = ('success', 'error', 'context_prompt') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + CONTEXT_PROMPT_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + context_prompt: ContextPrompt + + def __init__(self, success: bool=..., error: _Optional[str]=..., context_prompt: _Optional[_Union[ContextPrompt, _Mapping]]=...) -> None: + ... + +class DeleteContextPromptRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class DeleteContextPromptResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class ListAllOrgContextPromptsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListAllOrgContextPromptsResponse(_message.Message): + __slots__ = ('context_prompts',) + CONTEXT_PROMPTS_FIELD_NUMBER: _ClassVar[int] + context_prompts: _containers.RepeatedCompositeFieldContainer[ContextPrompt] + + def __init__(self, context_prompts: _Optional[_Iterable[_Union[ContextPrompt, _Mapping]]]=...) -> None: + ... + +class AssignContextPromptToRolesRequest(_message.Message): + __slots__ = ('context_prompt_id', 'role_ids') + CONTEXT_PROMPT_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + context_prompt_id: str + role_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, context_prompt_id: _Optional[str]=..., role_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class AssignContextPromptToRolesResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class RemoveContextPromptFromRolesRequest(_message.Message): + __slots__ = ('context_prompt_id', 'role_ids') + CONTEXT_PROMPT_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + context_prompt_id: str + role_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, context_prompt_id: _Optional[str]=..., role_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class RemoveContextPromptFromRolesResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class GetContextPromptsByRoleRequest(_message.Message): + __slots__ = ('role_id',) + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + role_id: str + + def __init__(self, role_id: _Optional[str]=...) -> None: + ... + +class GetContextPromptsByRoleResponse(_message.Message): + __slots__ = ('context_prompts',) + CONTEXT_PROMPTS_FIELD_NUMBER: _ClassVar[int] + context_prompts: _containers.RepeatedCompositeFieldContainer[ContextPrompt] + + def __init__(self, context_prompts: _Optional[_Iterable[_Union[ContextPrompt, _Mapping]]]=...) -> None: + ... + +class AssignDatasetsToContextPromptRequest(_message.Message): + __slots__ = ('context_prompt_id', 'dataset_ids') + CONTEXT_PROMPT_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + context_prompt_id: str + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, context_prompt_id: _Optional[str]=..., dataset_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class AssignDatasetsToContextPromptResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class RemoveDatasetsFromContextPromptRequest(_message.Message): + __slots__ = ('context_prompt_id', 'dataset_ids') + CONTEXT_PROMPT_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + context_prompt_id: str + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, context_prompt_id: _Optional[str]=..., dataset_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class RemoveDatasetsFromContextPromptResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class GetContextPromptsByDatasetRequest(_message.Message): + __slots__ = ('dataset_id',) + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + + def __init__(self, dataset_id: _Optional[str]=...) -> None: + ... + +class GetContextPromptsByDatasetResponse(_message.Message): + __slots__ = ('context_prompts',) + CONTEXT_PROMPTS_FIELD_NUMBER: _ClassVar[int] + context_prompts: _containers.RepeatedCompositeFieldContainer[ContextPrompt] + + def __init__(self, context_prompts: _Optional[_Iterable[_Union[ContextPrompt, _Mapping]]]=...) -> None: + ... + +class AssignContextPromptToConnectorsRequest(_message.Message): + __slots__ = ('context_prompt_id', 'connector_ids') + CONTEXT_PROMPT_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + context_prompt_id: str + connector_ids: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, context_prompt_id: _Optional[str]=..., connector_ids: _Optional[_Iterable[int]]=...) -> None: + ... + +class AssignContextPromptToConnectorsResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class RemoveContextPromptFromConnectorsRequest(_message.Message): + __slots__ = ('context_prompt_id', 'connector_ids') + CONTEXT_PROMPT_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + context_prompt_id: str + connector_ids: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, context_prompt_id: _Optional[str]=..., connector_ids: _Optional[_Iterable[int]]=...) -> None: + ... + +class RemoveContextPromptFromConnectorsResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class GetContextPromptsByConnectorRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class GetContextPromptsByConnectorResponse(_message.Message): + __slots__ = ('context_prompts',) + CONTEXT_PROMPTS_FIELD_NUMBER: _ClassVar[int] + context_prompts: _containers.RepeatedCompositeFieldContainer[ContextPrompt] + + def __init__(self, context_prompts: _Optional[_Iterable[_Union[ContextPrompt, _Mapping]]]=...) -> None: + ... + +class ToggleContextPromptActiveRequest(_message.Message): + __slots__ = ('id', 'active') + ID_FIELD_NUMBER: _ClassVar[int] + ACTIVE_FIELD_NUMBER: _ClassVar[int] + id: str + active: bool + + def __init__(self, id: _Optional[str]=..., active: bool=...) -> None: + ... + +class ToggleContextPromptActiveResponse(_message.Message): + __slots__ = ('success', 'error', 'context_prompt') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + CONTEXT_PROMPT_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + context_prompt: ContextPrompt + + def __init__(self, success: bool=..., error: _Optional[str]=..., context_prompt: _Optional[_Union[ContextPrompt, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/dashboard_connect.py b/src/textql_sdk/_connect/public/dashboard_connect.py new file mode 100644 index 0000000..5490dc5 --- /dev/null +++ b/src/textql_sdk/_connect/public/dashboard_connect.py @@ -0,0 +1,340 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import dashboard_pb2 as public_dot_dashboard__pb2 + +class DashboardService(Protocol): + + async def create_dashboard(self, request: public_dot_dashboard__pb2.CreateDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.CreateDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_dashboard(self, request: public_dot_dashboard__pb2.GetDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.GetDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_dashboards(self, request: public_dot_dashboard__pb2.ListDashboardsRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.ListDashboardsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_dashboard(self, request: public_dot_dashboard__pb2.UpdateDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.UpdateDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_dashboard(self, request: public_dot_dashboard__pb2.DeleteDashboardRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def duplicate_dashboard(self, request: public_dot_dashboard__pb2.DuplicateDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.DuplicateDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def spawn_dashboard(self, request: public_dot_dashboard__pb2.SpawnDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.SpawnDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def check_dashboard_health(self, request: public_dot_dashboard__pb2.CheckDashboardHealthRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.CheckDashboardHealthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def watch_dashboard_health(self, request: public_dot_dashboard__pb2.WatchDashboardHealthRequest, ctx: RequestContext) -> AsyncIterator[public_dot_dashboard__pb2.DashboardHealthEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def regenerate_screenshot(self, request: public_dot_dashboard__pb2.RegenerateScreenshotRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.RegenerateScreenshotResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_members_with_dashboards(self, request: public_dot_dashboard__pb2.GetMembersWithDashboardsRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.GetMembersWithDashboardsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def publish_dashboard(self, request: public_dot_dashboard__pb2.PublishDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.PublishDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def discard_dashboard_changes(self, request: public_dot_dashboard__pb2.DiscardDashboardChangesRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.DiscardDashboardChangesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_dashboard_schedule(self, request: public_dot_dashboard__pb2.UpdateDashboardScheduleRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.UpdateDashboardScheduleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def run_scheduled_dashboard(self, request: public_dot_dashboard__pb2.RunScheduledDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.RunScheduledDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_dashboard_folder(self, request: public_dot_dashboard__pb2.CreateDashboardFolderRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.CreateDashboardFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_dashboard_folders(self, request: public_dot_dashboard__pb2.ListDashboardFoldersRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.ListDashboardFoldersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_dashboard_folder(self, request: public_dot_dashboard__pb2.UpdateDashboardFolderRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.UpdateDashboardFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_dashboard_folder(self, request: public_dot_dashboard__pb2.DeleteDashboardFolderRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def move_dashboard_to_folder(self, request: public_dot_dashboard__pb2.MoveDashboardToFolderRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.MoveDashboardToFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_dashboard_versions(self, request: public_dot_dashboard__pb2.ListDashboardVersionsRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.ListDashboardVersionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_dashboard_version(self, request: public_dot_dashboard__pb2.GetDashboardVersionRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.GetDashboardVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def restore_dashboard_version(self, request: public_dot_dashboard__pb2.RestoreDashboardVersionRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.RestoreDashboardVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_dashboard_view_stats(self, request: public_dot_dashboard__pb2.GetDashboardViewStatsRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.GetDashboardViewStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def preview_config_dashboard(self, request: public_dot_dashboard__pb2.PreviewConfigDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.PreviewConfigDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class DashboardServiceASGIApplication(ConnectASGIApplication[DashboardService]): + + def __init__(self, service: DashboardService | AsyncGenerator[DashboardService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.dashboard.DashboardService/CreateDashboard': Endpoint.unary(method=MethodInfo(name='CreateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CreateDashboardRequest, output=public_dot_dashboard__pb2.CreateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_dashboard), '/textql.rpc.public.dashboard.DashboardService/GetDashboard': Endpoint.unary(method=MethodInfo(name='GetDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardRequest, output=public_dot_dashboard__pb2.GetDashboardResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_dashboard), '/textql.rpc.public.dashboard.DashboardService/ListDashboards': Endpoint.unary(method=MethodInfo(name='ListDashboards', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardsRequest, output=public_dot_dashboard__pb2.ListDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_dashboards), '/textql.rpc.public.dashboard.DashboardService/UpdateDashboard': Endpoint.unary(method=MethodInfo(name='UpdateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardRequest, output=public_dot_dashboard__pb2.UpdateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_dashboard), '/textql.rpc.public.dashboard.DashboardService/DeleteDashboard': Endpoint.unary(method=MethodInfo(name='DeleteDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DeleteDashboardRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_dashboard), '/textql.rpc.public.dashboard.DashboardService/DuplicateDashboard': Endpoint.unary(method=MethodInfo(name='DuplicateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DuplicateDashboardRequest, output=public_dot_dashboard__pb2.DuplicateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.duplicate_dashboard), '/textql.rpc.public.dashboard.DashboardService/SpawnDashboard': Endpoint.unary(method=MethodInfo(name='SpawnDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.SpawnDashboardRequest, output=public_dot_dashboard__pb2.SpawnDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.spawn_dashboard), '/textql.rpc.public.dashboard.DashboardService/CheckDashboardHealth': Endpoint.unary(method=MethodInfo(name='CheckDashboardHealth', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CheckDashboardHealthRequest, output=public_dot_dashboard__pb2.CheckDashboardHealthResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.check_dashboard_health), '/textql.rpc.public.dashboard.DashboardService/WatchDashboardHealth': Endpoint.server_stream(method=MethodInfo(name='WatchDashboardHealth', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.WatchDashboardHealthRequest, output=public_dot_dashboard__pb2.DashboardHealthEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.watch_dashboard_health), '/textql.rpc.public.dashboard.DashboardService/RegenerateScreenshot': Endpoint.unary(method=MethodInfo(name='RegenerateScreenshot', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RegenerateScreenshotRequest, output=public_dot_dashboard__pb2.RegenerateScreenshotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.regenerate_screenshot), '/textql.rpc.public.dashboard.DashboardService/GetMembersWithDashboards': Endpoint.unary(method=MethodInfo(name='GetMembersWithDashboards', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetMembersWithDashboardsRequest, output=public_dot_dashboard__pb2.GetMembersWithDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_members_with_dashboards), '/textql.rpc.public.dashboard.DashboardService/PublishDashboard': Endpoint.unary(method=MethodInfo(name='PublishDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.PublishDashboardRequest, output=public_dot_dashboard__pb2.PublishDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.publish_dashboard), '/textql.rpc.public.dashboard.DashboardService/DiscardDashboardChanges': Endpoint.unary(method=MethodInfo(name='DiscardDashboardChanges', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DiscardDashboardChangesRequest, output=public_dot_dashboard__pb2.DiscardDashboardChangesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.discard_dashboard_changes), '/textql.rpc.public.dashboard.DashboardService/UpdateDashboardSchedule': Endpoint.unary(method=MethodInfo(name='UpdateDashboardSchedule', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardScheduleRequest, output=public_dot_dashboard__pb2.UpdateDashboardScheduleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_dashboard_schedule), '/textql.rpc.public.dashboard.DashboardService/RunScheduledDashboard': Endpoint.unary(method=MethodInfo(name='RunScheduledDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RunScheduledDashboardRequest, output=public_dot_dashboard__pb2.RunScheduledDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.run_scheduled_dashboard), '/textql.rpc.public.dashboard.DashboardService/CreateDashboardFolder': Endpoint.unary(method=MethodInfo(name='CreateDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CreateDashboardFolderRequest, output=public_dot_dashboard__pb2.CreateDashboardFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_dashboard_folder), '/textql.rpc.public.dashboard.DashboardService/ListDashboardFolders': Endpoint.unary(method=MethodInfo(name='ListDashboardFolders', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardFoldersRequest, output=public_dot_dashboard__pb2.ListDashboardFoldersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_dashboard_folders), '/textql.rpc.public.dashboard.DashboardService/UpdateDashboardFolder': Endpoint.unary(method=MethodInfo(name='UpdateDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardFolderRequest, output=public_dot_dashboard__pb2.UpdateDashboardFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_dashboard_folder), '/textql.rpc.public.dashboard.DashboardService/DeleteDashboardFolder': Endpoint.unary(method=MethodInfo(name='DeleteDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DeleteDashboardFolderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_dashboard_folder), '/textql.rpc.public.dashboard.DashboardService/MoveDashboardToFolder': Endpoint.unary(method=MethodInfo(name='MoveDashboardToFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.MoveDashboardToFolderRequest, output=public_dot_dashboard__pb2.MoveDashboardToFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.move_dashboard_to_folder), '/textql.rpc.public.dashboard.DashboardService/ListDashboardVersions': Endpoint.unary(method=MethodInfo(name='ListDashboardVersions', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardVersionsRequest, output=public_dot_dashboard__pb2.ListDashboardVersionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_dashboard_versions), '/textql.rpc.public.dashboard.DashboardService/GetDashboardVersion': Endpoint.unary(method=MethodInfo(name='GetDashboardVersion', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardVersionRequest, output=public_dot_dashboard__pb2.GetDashboardVersionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_dashboard_version), '/textql.rpc.public.dashboard.DashboardService/RestoreDashboardVersion': Endpoint.unary(method=MethodInfo(name='RestoreDashboardVersion', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RestoreDashboardVersionRequest, output=public_dot_dashboard__pb2.RestoreDashboardVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.restore_dashboard_version), '/textql.rpc.public.dashboard.DashboardService/GetDashboardViewStats': Endpoint.unary(method=MethodInfo(name='GetDashboardViewStats', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardViewStatsRequest, output=public_dot_dashboard__pb2.GetDashboardViewStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_dashboard_view_stats), '/textql.rpc.public.dashboard.DashboardService/PreviewConfigDashboard': Endpoint.unary(method=MethodInfo(name='PreviewConfigDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.PreviewConfigDashboardRequest, output=public_dot_dashboard__pb2.PreviewConfigDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.preview_config_dashboard)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.dashboard.DashboardService' + +class DashboardServiceClient(ConnectClient): + + async def create_dashboard(self, request: public_dot_dashboard__pb2.CreateDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.CreateDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CreateDashboardRequest, output=public_dot_dashboard__pb2.CreateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_dashboard(self, request: public_dot_dashboard__pb2.GetDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.GetDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardRequest, output=public_dot_dashboard__pb2.GetDashboardResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_dashboards(self, request: public_dot_dashboard__pb2.ListDashboardsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.ListDashboardsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListDashboards', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardsRequest, output=public_dot_dashboard__pb2.ListDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_dashboard(self, request: public_dot_dashboard__pb2.UpdateDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.UpdateDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardRequest, output=public_dot_dashboard__pb2.UpdateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_dashboard(self, request: public_dot_dashboard__pb2.DeleteDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DeleteDashboardRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def duplicate_dashboard(self, request: public_dot_dashboard__pb2.DuplicateDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.DuplicateDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DuplicateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DuplicateDashboardRequest, output=public_dot_dashboard__pb2.DuplicateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def spawn_dashboard(self, request: public_dot_dashboard__pb2.SpawnDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.SpawnDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SpawnDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.SpawnDashboardRequest, output=public_dot_dashboard__pb2.SpawnDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def check_dashboard_health(self, request: public_dot_dashboard__pb2.CheckDashboardHealthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.CheckDashboardHealthResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CheckDashboardHealth', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CheckDashboardHealthRequest, output=public_dot_dashboard__pb2.CheckDashboardHealthResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def watch_dashboard_health(self, request: public_dot_dashboard__pb2.WatchDashboardHealthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> AsyncIterator[public_dot_dashboard__pb2.DashboardHealthEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='WatchDashboardHealth', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.WatchDashboardHealthRequest, output=public_dot_dashboard__pb2.DashboardHealthEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def regenerate_screenshot(self, request: public_dot_dashboard__pb2.RegenerateScreenshotRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.RegenerateScreenshotResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RegenerateScreenshot', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RegenerateScreenshotRequest, output=public_dot_dashboard__pb2.RegenerateScreenshotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_members_with_dashboards(self, request: public_dot_dashboard__pb2.GetMembersWithDashboardsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.GetMembersWithDashboardsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithDashboards', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetMembersWithDashboardsRequest, output=public_dot_dashboard__pb2.GetMembersWithDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def publish_dashboard(self, request: public_dot_dashboard__pb2.PublishDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.PublishDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PublishDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.PublishDashboardRequest, output=public_dot_dashboard__pb2.PublishDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def discard_dashboard_changes(self, request: public_dot_dashboard__pb2.DiscardDashboardChangesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.DiscardDashboardChangesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DiscardDashboardChanges', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DiscardDashboardChangesRequest, output=public_dot_dashboard__pb2.DiscardDashboardChangesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_dashboard_schedule(self, request: public_dot_dashboard__pb2.UpdateDashboardScheduleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.UpdateDashboardScheduleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateDashboardSchedule', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardScheduleRequest, output=public_dot_dashboard__pb2.UpdateDashboardScheduleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def run_scheduled_dashboard(self, request: public_dot_dashboard__pb2.RunScheduledDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.RunScheduledDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RunScheduledDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RunScheduledDashboardRequest, output=public_dot_dashboard__pb2.RunScheduledDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_dashboard_folder(self, request: public_dot_dashboard__pb2.CreateDashboardFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.CreateDashboardFolderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CreateDashboardFolderRequest, output=public_dot_dashboard__pb2.CreateDashboardFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_dashboard_folders(self, request: public_dot_dashboard__pb2.ListDashboardFoldersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.ListDashboardFoldersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListDashboardFolders', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardFoldersRequest, output=public_dot_dashboard__pb2.ListDashboardFoldersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_dashboard_folder(self, request: public_dot_dashboard__pb2.UpdateDashboardFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.UpdateDashboardFolderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardFolderRequest, output=public_dot_dashboard__pb2.UpdateDashboardFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_dashboard_folder(self, request: public_dot_dashboard__pb2.DeleteDashboardFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DeleteDashboardFolderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def move_dashboard_to_folder(self, request: public_dot_dashboard__pb2.MoveDashboardToFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.MoveDashboardToFolderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MoveDashboardToFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.MoveDashboardToFolderRequest, output=public_dot_dashboard__pb2.MoveDashboardToFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_dashboard_versions(self, request: public_dot_dashboard__pb2.ListDashboardVersionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.ListDashboardVersionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListDashboardVersions', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardVersionsRequest, output=public_dot_dashboard__pb2.ListDashboardVersionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_dashboard_version(self, request: public_dot_dashboard__pb2.GetDashboardVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.GetDashboardVersionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDashboardVersion', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardVersionRequest, output=public_dot_dashboard__pb2.GetDashboardVersionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def restore_dashboard_version(self, request: public_dot_dashboard__pb2.RestoreDashboardVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.RestoreDashboardVersionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RestoreDashboardVersion', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RestoreDashboardVersionRequest, output=public_dot_dashboard__pb2.RestoreDashboardVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_dashboard_view_stats(self, request: public_dot_dashboard__pb2.GetDashboardViewStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.GetDashboardViewStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDashboardViewStats', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardViewStatsRequest, output=public_dot_dashboard__pb2.GetDashboardViewStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def preview_config_dashboard(self, request: public_dot_dashboard__pb2.PreviewConfigDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.PreviewConfigDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PreviewConfigDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.PreviewConfigDashboardRequest, output=public_dot_dashboard__pb2.PreviewConfigDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class DashboardServiceSync(Protocol): + + def create_dashboard(self, request: public_dot_dashboard__pb2.CreateDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.CreateDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_dashboard(self, request: public_dot_dashboard__pb2.GetDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.GetDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_dashboards(self, request: public_dot_dashboard__pb2.ListDashboardsRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.ListDashboardsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_dashboard(self, request: public_dot_dashboard__pb2.UpdateDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.UpdateDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_dashboard(self, request: public_dot_dashboard__pb2.DeleteDashboardRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def duplicate_dashboard(self, request: public_dot_dashboard__pb2.DuplicateDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.DuplicateDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def spawn_dashboard(self, request: public_dot_dashboard__pb2.SpawnDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.SpawnDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def check_dashboard_health(self, request: public_dot_dashboard__pb2.CheckDashboardHealthRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.CheckDashboardHealthResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def watch_dashboard_health(self, request: public_dot_dashboard__pb2.WatchDashboardHealthRequest, ctx: RequestContext) -> Iterator[public_dot_dashboard__pb2.DashboardHealthEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def regenerate_screenshot(self, request: public_dot_dashboard__pb2.RegenerateScreenshotRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.RegenerateScreenshotResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_members_with_dashboards(self, request: public_dot_dashboard__pb2.GetMembersWithDashboardsRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.GetMembersWithDashboardsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def publish_dashboard(self, request: public_dot_dashboard__pb2.PublishDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.PublishDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def discard_dashboard_changes(self, request: public_dot_dashboard__pb2.DiscardDashboardChangesRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.DiscardDashboardChangesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_dashboard_schedule(self, request: public_dot_dashboard__pb2.UpdateDashboardScheduleRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.UpdateDashboardScheduleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def run_scheduled_dashboard(self, request: public_dot_dashboard__pb2.RunScheduledDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.RunScheduledDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_dashboard_folder(self, request: public_dot_dashboard__pb2.CreateDashboardFolderRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.CreateDashboardFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_dashboard_folders(self, request: public_dot_dashboard__pb2.ListDashboardFoldersRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.ListDashboardFoldersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_dashboard_folder(self, request: public_dot_dashboard__pb2.UpdateDashboardFolderRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.UpdateDashboardFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_dashboard_folder(self, request: public_dot_dashboard__pb2.DeleteDashboardFolderRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def move_dashboard_to_folder(self, request: public_dot_dashboard__pb2.MoveDashboardToFolderRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.MoveDashboardToFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_dashboard_versions(self, request: public_dot_dashboard__pb2.ListDashboardVersionsRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.ListDashboardVersionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_dashboard_version(self, request: public_dot_dashboard__pb2.GetDashboardVersionRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.GetDashboardVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def restore_dashboard_version(self, request: public_dot_dashboard__pb2.RestoreDashboardVersionRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.RestoreDashboardVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_dashboard_view_stats(self, request: public_dot_dashboard__pb2.GetDashboardViewStatsRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.GetDashboardViewStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def preview_config_dashboard(self, request: public_dot_dashboard__pb2.PreviewConfigDashboardRequest, ctx: RequestContext) -> public_dot_dashboard__pb2.PreviewConfigDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class DashboardServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: DashboardServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.dashboard.DashboardService/CreateDashboard': EndpointSync.unary(method=MethodInfo(name='CreateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CreateDashboardRequest, output=public_dot_dashboard__pb2.CreateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_dashboard), '/textql.rpc.public.dashboard.DashboardService/GetDashboard': EndpointSync.unary(method=MethodInfo(name='GetDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardRequest, output=public_dot_dashboard__pb2.GetDashboardResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_dashboard), '/textql.rpc.public.dashboard.DashboardService/ListDashboards': EndpointSync.unary(method=MethodInfo(name='ListDashboards', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardsRequest, output=public_dot_dashboard__pb2.ListDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_dashboards), '/textql.rpc.public.dashboard.DashboardService/UpdateDashboard': EndpointSync.unary(method=MethodInfo(name='UpdateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardRequest, output=public_dot_dashboard__pb2.UpdateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_dashboard), '/textql.rpc.public.dashboard.DashboardService/DeleteDashboard': EndpointSync.unary(method=MethodInfo(name='DeleteDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DeleteDashboardRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_dashboard), '/textql.rpc.public.dashboard.DashboardService/DuplicateDashboard': EndpointSync.unary(method=MethodInfo(name='DuplicateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DuplicateDashboardRequest, output=public_dot_dashboard__pb2.DuplicateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.duplicate_dashboard), '/textql.rpc.public.dashboard.DashboardService/SpawnDashboard': EndpointSync.unary(method=MethodInfo(name='SpawnDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.SpawnDashboardRequest, output=public_dot_dashboard__pb2.SpawnDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.spawn_dashboard), '/textql.rpc.public.dashboard.DashboardService/CheckDashboardHealth': EndpointSync.unary(method=MethodInfo(name='CheckDashboardHealth', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CheckDashboardHealthRequest, output=public_dot_dashboard__pb2.CheckDashboardHealthResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.check_dashboard_health), '/textql.rpc.public.dashboard.DashboardService/WatchDashboardHealth': EndpointSync.server_stream(method=MethodInfo(name='WatchDashboardHealth', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.WatchDashboardHealthRequest, output=public_dot_dashboard__pb2.DashboardHealthEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.watch_dashboard_health), '/textql.rpc.public.dashboard.DashboardService/RegenerateScreenshot': EndpointSync.unary(method=MethodInfo(name='RegenerateScreenshot', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RegenerateScreenshotRequest, output=public_dot_dashboard__pb2.RegenerateScreenshotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.regenerate_screenshot), '/textql.rpc.public.dashboard.DashboardService/GetMembersWithDashboards': EndpointSync.unary(method=MethodInfo(name='GetMembersWithDashboards', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetMembersWithDashboardsRequest, output=public_dot_dashboard__pb2.GetMembersWithDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_members_with_dashboards), '/textql.rpc.public.dashboard.DashboardService/PublishDashboard': EndpointSync.unary(method=MethodInfo(name='PublishDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.PublishDashboardRequest, output=public_dot_dashboard__pb2.PublishDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.publish_dashboard), '/textql.rpc.public.dashboard.DashboardService/DiscardDashboardChanges': EndpointSync.unary(method=MethodInfo(name='DiscardDashboardChanges', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DiscardDashboardChangesRequest, output=public_dot_dashboard__pb2.DiscardDashboardChangesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.discard_dashboard_changes), '/textql.rpc.public.dashboard.DashboardService/UpdateDashboardSchedule': EndpointSync.unary(method=MethodInfo(name='UpdateDashboardSchedule', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardScheduleRequest, output=public_dot_dashboard__pb2.UpdateDashboardScheduleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_dashboard_schedule), '/textql.rpc.public.dashboard.DashboardService/RunScheduledDashboard': EndpointSync.unary(method=MethodInfo(name='RunScheduledDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RunScheduledDashboardRequest, output=public_dot_dashboard__pb2.RunScheduledDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.run_scheduled_dashboard), '/textql.rpc.public.dashboard.DashboardService/CreateDashboardFolder': EndpointSync.unary(method=MethodInfo(name='CreateDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CreateDashboardFolderRequest, output=public_dot_dashboard__pb2.CreateDashboardFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_dashboard_folder), '/textql.rpc.public.dashboard.DashboardService/ListDashboardFolders': EndpointSync.unary(method=MethodInfo(name='ListDashboardFolders', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardFoldersRequest, output=public_dot_dashboard__pb2.ListDashboardFoldersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_dashboard_folders), '/textql.rpc.public.dashboard.DashboardService/UpdateDashboardFolder': EndpointSync.unary(method=MethodInfo(name='UpdateDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardFolderRequest, output=public_dot_dashboard__pb2.UpdateDashboardFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_dashboard_folder), '/textql.rpc.public.dashboard.DashboardService/DeleteDashboardFolder': EndpointSync.unary(method=MethodInfo(name='DeleteDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DeleteDashboardFolderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_dashboard_folder), '/textql.rpc.public.dashboard.DashboardService/MoveDashboardToFolder': EndpointSync.unary(method=MethodInfo(name='MoveDashboardToFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.MoveDashboardToFolderRequest, output=public_dot_dashboard__pb2.MoveDashboardToFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.move_dashboard_to_folder), '/textql.rpc.public.dashboard.DashboardService/ListDashboardVersions': EndpointSync.unary(method=MethodInfo(name='ListDashboardVersions', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardVersionsRequest, output=public_dot_dashboard__pb2.ListDashboardVersionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_dashboard_versions), '/textql.rpc.public.dashboard.DashboardService/GetDashboardVersion': EndpointSync.unary(method=MethodInfo(name='GetDashboardVersion', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardVersionRequest, output=public_dot_dashboard__pb2.GetDashboardVersionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_dashboard_version), '/textql.rpc.public.dashboard.DashboardService/RestoreDashboardVersion': EndpointSync.unary(method=MethodInfo(name='RestoreDashboardVersion', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RestoreDashboardVersionRequest, output=public_dot_dashboard__pb2.RestoreDashboardVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.restore_dashboard_version), '/textql.rpc.public.dashboard.DashboardService/GetDashboardViewStats': EndpointSync.unary(method=MethodInfo(name='GetDashboardViewStats', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardViewStatsRequest, output=public_dot_dashboard__pb2.GetDashboardViewStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_dashboard_view_stats), '/textql.rpc.public.dashboard.DashboardService/PreviewConfigDashboard': EndpointSync.unary(method=MethodInfo(name='PreviewConfigDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.PreviewConfigDashboardRequest, output=public_dot_dashboard__pb2.PreviewConfigDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.preview_config_dashboard)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.dashboard.DashboardService' + +class DashboardServiceClientSync(ConnectClientSync): + + def create_dashboard(self, request: public_dot_dashboard__pb2.CreateDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.CreateDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CreateDashboardRequest, output=public_dot_dashboard__pb2.CreateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_dashboard(self, request: public_dot_dashboard__pb2.GetDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.GetDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardRequest, output=public_dot_dashboard__pb2.GetDashboardResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_dashboards(self, request: public_dot_dashboard__pb2.ListDashboardsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.ListDashboardsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListDashboards', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardsRequest, output=public_dot_dashboard__pb2.ListDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_dashboard(self, request: public_dot_dashboard__pb2.UpdateDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.UpdateDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardRequest, output=public_dot_dashboard__pb2.UpdateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_dashboard(self, request: public_dot_dashboard__pb2.DeleteDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DeleteDashboardRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def duplicate_dashboard(self, request: public_dot_dashboard__pb2.DuplicateDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.DuplicateDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DuplicateDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DuplicateDashboardRequest, output=public_dot_dashboard__pb2.DuplicateDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def spawn_dashboard(self, request: public_dot_dashboard__pb2.SpawnDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.SpawnDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SpawnDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.SpawnDashboardRequest, output=public_dot_dashboard__pb2.SpawnDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def check_dashboard_health(self, request: public_dot_dashboard__pb2.CheckDashboardHealthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.CheckDashboardHealthResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CheckDashboardHealth', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CheckDashboardHealthRequest, output=public_dot_dashboard__pb2.CheckDashboardHealthResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def watch_dashboard_health(self, request: public_dot_dashboard__pb2.WatchDashboardHealthRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> Iterator[public_dot_dashboard__pb2.DashboardHealthEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='WatchDashboardHealth', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.WatchDashboardHealthRequest, output=public_dot_dashboard__pb2.DashboardHealthEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def regenerate_screenshot(self, request: public_dot_dashboard__pb2.RegenerateScreenshotRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.RegenerateScreenshotResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RegenerateScreenshot', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RegenerateScreenshotRequest, output=public_dot_dashboard__pb2.RegenerateScreenshotResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_members_with_dashboards(self, request: public_dot_dashboard__pb2.GetMembersWithDashboardsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.GetMembersWithDashboardsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithDashboards', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetMembersWithDashboardsRequest, output=public_dot_dashboard__pb2.GetMembersWithDashboardsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def publish_dashboard(self, request: public_dot_dashboard__pb2.PublishDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.PublishDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PublishDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.PublishDashboardRequest, output=public_dot_dashboard__pb2.PublishDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def discard_dashboard_changes(self, request: public_dot_dashboard__pb2.DiscardDashboardChangesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.DiscardDashboardChangesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DiscardDashboardChanges', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DiscardDashboardChangesRequest, output=public_dot_dashboard__pb2.DiscardDashboardChangesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_dashboard_schedule(self, request: public_dot_dashboard__pb2.UpdateDashboardScheduleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.UpdateDashboardScheduleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateDashboardSchedule', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardScheduleRequest, output=public_dot_dashboard__pb2.UpdateDashboardScheduleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def run_scheduled_dashboard(self, request: public_dot_dashboard__pb2.RunScheduledDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.RunScheduledDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RunScheduledDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RunScheduledDashboardRequest, output=public_dot_dashboard__pb2.RunScheduledDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_dashboard_folder(self, request: public_dot_dashboard__pb2.CreateDashboardFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.CreateDashboardFolderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.CreateDashboardFolderRequest, output=public_dot_dashboard__pb2.CreateDashboardFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_dashboard_folders(self, request: public_dot_dashboard__pb2.ListDashboardFoldersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.ListDashboardFoldersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListDashboardFolders', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardFoldersRequest, output=public_dot_dashboard__pb2.ListDashboardFoldersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_dashboard_folder(self, request: public_dot_dashboard__pb2.UpdateDashboardFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.UpdateDashboardFolderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.UpdateDashboardFolderRequest, output=public_dot_dashboard__pb2.UpdateDashboardFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_dashboard_folder(self, request: public_dot_dashboard__pb2.DeleteDashboardFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteDashboardFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.DeleteDashboardFolderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def move_dashboard_to_folder(self, request: public_dot_dashboard__pb2.MoveDashboardToFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.MoveDashboardToFolderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MoveDashboardToFolder', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.MoveDashboardToFolderRequest, output=public_dot_dashboard__pb2.MoveDashboardToFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_dashboard_versions(self, request: public_dot_dashboard__pb2.ListDashboardVersionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.ListDashboardVersionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListDashboardVersions', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.ListDashboardVersionsRequest, output=public_dot_dashboard__pb2.ListDashboardVersionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_dashboard_version(self, request: public_dot_dashboard__pb2.GetDashboardVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.GetDashboardVersionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDashboardVersion', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardVersionRequest, output=public_dot_dashboard__pb2.GetDashboardVersionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def restore_dashboard_version(self, request: public_dot_dashboard__pb2.RestoreDashboardVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.RestoreDashboardVersionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RestoreDashboardVersion', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.RestoreDashboardVersionRequest, output=public_dot_dashboard__pb2.RestoreDashboardVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_dashboard_view_stats(self, request: public_dot_dashboard__pb2.GetDashboardViewStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dashboard__pb2.GetDashboardViewStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDashboardViewStats', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.GetDashboardViewStatsRequest, output=public_dot_dashboard__pb2.GetDashboardViewStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def preview_config_dashboard(self, request: public_dot_dashboard__pb2.PreviewConfigDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dashboard__pb2.PreviewConfigDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PreviewConfigDashboard', service_name='textql.rpc.public.dashboard.DashboardService', input=public_dot_dashboard__pb2.PreviewConfigDashboardRequest, output=public_dot_dashboard__pb2.PreviewConfigDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/dashboard_pb2.py b/src/textql_sdk/_connect/public/dashboard_pb2.py new file mode 100644 index 0000000..fb001e8 --- /dev/null +++ b/src/textql_sdk/_connect/public/dashboard_pb2.py @@ -0,0 +1,171 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/dashboard.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import common_pb2 as public_dot_common__pb2 +from ..public import config_source_pb2 as public_dot_config__source__pb2 +from ..public import identity_pb2 as public_dot_identity__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16public/dashboard.proto\x12\x1btextql.rpc.public.dashboard\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13public/common.proto\x1a\x1apublic/config_source.proto\x1a\x15public/identity.proto"\x9f\x0c\n\tDashboard\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x1d\n\ncreator_id\x18\x03 \x01(\tR\tcreatorId\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x05 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12\x12\n\x04code\x18\x06 \x01(\tR\x04code\x12>\n\x04type\x18\x07 \x01(\x0e2*.textql.rpc.public.dashboard.DashboardTypeR\x04type\x12\x1c\n\x07chat_id\x18\x08 \x01(\tH\x01R\x06chatId\x88\x01\x01\x12\x1c\n\x07cell_id\x18\t \x01(\tH\x02R\x06cellId\x88\x01\x01\x12\x1b\n\tis_public\x18\n \x01(\x08R\x08isPublic\x12*\n\x0escreenshot_url\x18\x0b \x01(\tH\x03R\rscreenshotUrl\x88\x01\x01\x12\x1e\n\x08html_url\x18\x0c \x01(\tH\x04R\x07htmlUrl\x88\x01\x01\x129\n\ncreated_at\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x0e \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12B\n\x0crefreshed_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampH\x05R\x0brefreshedAt\x88\x01\x01\x12L\n\x07creator\x18\x10 \x01(\x0b2-.textql.rpc.public.dashboard.DashboardCreatorH\x06R\x07creator\x88\x01\x01\x12(\n\rstreamlit_url\x18\x11 \x01(\tH\x07R\x0cstreamlitUrl\x88\x01\x01\x12D\n\x06status\x18\x12 \x01(\x0e2,.textql.rpc.public.dashboard.DashboardStatusR\x06status\x12*\n\x0epublished_code\x18\x13 \x01(\tH\x08R\rpublishedCode\x88\x01\x01\x12B\n\x0cpublished_at\x18\x14 \x01(\x0b2\x1a.google.protobuf.TimestampH\tR\x0bpublishedAt\x88\x01\x01\x126\n\x17has_unpublished_changes\x18\x15 \x01(\x08R\x15hasUnpublishedChanges\x12J\n\x0cdata_sources\x18\x16 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x12)\n\x10schedule_enabled\x18\x17 \x01(\x08R\x0fscheduleEnabled\x12$\n\x0bcron_string\x18\x18 \x01(\tH\nR\ncronString\x88\x01\x01\x12V\n\x17latest_scheduled_run_at\x18\x19 \x01(\x0b2\x1a.google.protobuf.TimestampH\x0bR\x14latestScheduledRunAt\x88\x01\x01\x12 \n\tfolder_id\x18\x1a \x01(\tH\x0cR\x08folderId\x88\x01\x01\x12W\n\rconfig_source\x18\x1b \x01(\x0b2-.textql.rpc.public.config_source.ConfigSourceH\rR\x0cconfigSource\x88\x01\x01\x12!\n\x0cis_favorited\x18\x1c \x01(\x08R\x0bisFavoritedB\x0e\n\x0c_descriptionB\n\n\x08_chat_idB\n\n\x08_cell_idB\x11\n\x0f_screenshot_urlB\x0b\n\t_html_urlB\x0f\n\r_refreshed_atB\n\n\x08_creatorB\x10\n\x0e_streamlit_urlB\x11\n\x0f_published_codeB\x0f\n\r_published_atB\x0e\n\x0c_cron_stringB\x1a\n\x18_latest_scheduled_run_atB\x0c\n\n_folder_idB\x10\n\x0e_config_source"\xc9\x04\n\nDataSource\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12J\n\tsql_query\x18\x03 \x01(\x0b2+.textql.rpc.public.dashboard.SqlQuerySourceH\x00R\x08sqlQuery\x12=\n\x04file\x18\x04 \x01(\x0b2\'.textql.rpc.public.dashboard.FileSourceH\x00R\x04file\x12P\n\x0bpython_code\x18\x05 \x01(\x0b2-.textql.rpc.public.dashboard.PythonCodeSourceH\x00R\npythonCode\x12S\n\x0contology_sql\x18\x06 \x01(\x0b2..textql.rpc.public.dashboard.OntologySqlSourceH\x00R\x0bontologySql\x12P\n\x0blibrary_tql\x18\x08 \x01(\x0b2-.textql.rpc.public.dashboard.LibraryTQLSourceH\x00R\nlibraryTql\x12K\n\nparameters\x18\x07 \x03(\x0b2+.textql.rpc.public.dashboard.QueryParameterR\nparameters\x128\n\x05grant\x18\t \x01(\x0b2".textql.rpc.public.dashboard.GrantR\x05grantB\x08\n\x06source"7\n\x05Grant\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\x12\x18\n\x07members\x18\x02 \x03(\tR\x07members"c\n\x0eQueryParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x1d\n\x07default\x18\x03 \x01(\tH\x00R\x07default\x88\x01\x01B\n\n\x08_default"g\n\x0eSqlQuerySource\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12!\n\x0cconnector_id\x18\x02 \x01(\x05R\x0bconnectorId\x12\x1c\n\tpredicate\x18\x03 \x01(\tR\tpredicate"i\n\nFileSource\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12\x1b\n\tfile_name\x18\x02 \x01(\tR\x08fileName\x12\x1f\n\x0bsheet_index\x18\x03 \x01(\x05R\nsheetIndex"&\n\x10PythonCodeSource\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code"d\n\x11OntologySqlSource\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12\x18\n\x07dataset\x18\x02 \x01(\tR\x07dataset\x12\x1f\n\x0bontology_id\x18\x03 \x01(\x05R\nontologyId"q\n\x10LibraryTQLSource\x12\x19\n\x08tql_path\x18\x01 \x01(\tR\x07tqlPath\x12!\n\x0cconnector_id\x18\x02 \x01(\x05R\x0bconnectorId\x12\x1f\n\x0bparams_json\x18\x03 \x01(\tR\nparamsJson"\x9e\x01\n\x10DashboardCreator\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12&\n\x0cmember_email\x18\x02 \x01(\tH\x00R\x0bmemberEmail\x88\x01\x01\x12$\n\x0bmember_name\x18\x03 \x01(\tH\x01R\nmemberName\x88\x01\x01B\x0f\n\r_member_emailB\x0e\n\x0c_member_name"\xfd\x03\n\x0fDashboardFolder\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12 \n\tparent_id\x18\x03 \x01(\tH\x00R\x08parentId\x88\x01\x01\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x1d\n\ncreator_id\x18\x05 \x01(\tR\tcreatorId\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\'\n\x0fdashboard_count\x18\x08 \x01(\x05R\x0edashboardCount\x122\n\x15total_dashboard_count\x18\t \x01(\x05R\x13totalDashboardCount\x12H\n\x08children\x18\n \x03(\x0b2,.textql.rpc.public.dashboard.DashboardFolderR\x08children\x12\x1b\n\tapp_count\x18\x0b \x01(\x05R\x08appCount\x12&\n\x0ftotal_app_count\x18\x0c \x01(\x05R\rtotalAppCountB\x0c\n\n_parent_id"\xe8\x02\n\x16CreateDashboardRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x02 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12\x12\n\x04code\x18\x03 \x01(\tR\x04code\x12>\n\x04type\x18\x04 \x01(\x0e2*.textql.rpc.public.dashboard.DashboardTypeR\x04type\x12\x1e\n\x08html_url\x18\x05 \x01(\tH\x01R\x07htmlUrl\x88\x01\x01\x12\x1c\n\x07chat_id\x18\x06 \x01(\tH\x02R\x06chatId\x88\x01\x01\x12\x1c\n\x07cell_id\x18\x07 \x01(\tH\x03R\x06cellId\x88\x01\x01\x12 \n\tfolder_id\x18\x08 \x01(\tH\x04R\x08folderId\x88\x01\x01B\x0e\n\x0c_descriptionB\x0b\n\t_html_urlB\n\n\x08_chat_idB\n\n\x08_cell_idB\x0c\n\n_folder_id"_\n\x17CreateDashboardResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"8\n\x13GetDashboardRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"\x8e\x01\n\x14GetDashboardResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard\x120\n\x14has_write_permission\x18\x02 \x01(\x08R\x12hasWritePermission"\xa0\x06\n\x15ListDashboardsRequest\x12$\n\x0bsearch_term\x18\x01 \x01(\tH\x00R\nsearchTerm\x88\x01\x01\x121\n\x12my_dashboards_only\x18\x02 \x01(\x08H\x01R\x10myDashboardsOnly\x88\x01\x01\x12M\n\x07sort_by\x18\x03 \x01(\x0e2/.textql.rpc.public.dashboard.DashboardSortFieldH\x02R\x06sortBy\x88\x01\x01\x12S\n\x0esort_direction\x18\x04 \x01(\x0e2\'.textql.rpc.public.common.SortDirectionH\x03R\rsortDirection\x88\x01\x01\x12\x14\n\x05limit\x18\x05 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x06 \x01(\x05R\x06offset\x12 \n\tfolder_id\x18\x07 \x01(\tH\x04R\x08folderId\x88\x01\x01\x122\n\x12uncategorized_only\x18\x08 \x01(\x08H\x05R\x11uncategorizedOnly\x88\x01\x01\x12/\n\x11creator_member_id\x18\t \x01(\tH\x06R\x0fcreatorMemberId\x88\x01\x01\x12)\n\x0eshared_with_me\x18\n \x01(\x08H\x07R\x0csharedWithMe\x88\x01\x01\x12,\n\x12creator_member_ids\x18\x0b \x03(\tR\x10creatorMemberIds\x12V\n\rstatus_filter\x18\x0c \x01(\x0e2,.textql.rpc.public.dashboard.DashboardStatusH\x08R\x0cstatusFilter\x88\x01\x01B\x0e\n\x0c_search_termB\x15\n\x13_my_dashboards_onlyB\n\n\x08_sort_byB\x11\n\x0f_sort_directionB\x0c\n\n_folder_idB\x15\n\x13_uncategorized_onlyB\x14\n\x12_creator_member_idB\x11\n\x0f_shared_with_meB\x10\n\x0e_status_filter"\x81\x01\n\x16ListDashboardsResponse\x12F\n\ndashboards\x18\x01 \x03(\x0b2&.textql.rpc.public.dashboard.DashboardR\ndashboards\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount"\x83\x03\n\x16UpdateDashboardRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12%\n\x0bdescription\x18\x03 \x01(\tH\x01R\x0bdescription\x88\x01\x01\x12\x17\n\x04code\x18\x04 \x01(\tH\x02R\x04code\x88\x01\x01\x12C\n\x04type\x18\x05 \x01(\x0e2*.textql.rpc.public.dashboard.DashboardTypeH\x03R\x04type\x88\x01\x01\x12\x1e\n\x08html_url\x18\x06 \x01(\tH\x04R\x07htmlUrl\x88\x01\x01\x12P\n\x0cdata_sources\x18\x07 \x01(\x0b2-.textql.rpc.public.dashboard.DataSourcesPatchR\x0bdataSourcesB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x07\n\x05_codeB\x07\n\x05_typeB\x0b\n\t_html_url"U\n\x10DataSourcesPatch\x12A\n\x07sources\x18\x01 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x07sources"_\n\x17UpdateDashboardResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard";\n\x16DeleteDashboardRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"`\n\x19DuplicateDashboardRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01B\x07\n\x05_name"b\n\x1aDuplicateDashboardResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"\xe9\x01\n\x15SpawnDashboardRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12#\n\rforce_restart\x18\x02 \x01(\x08R\x0cforceRestart\x12*\n\x11refresh_data_only\x18\x03 \x01(\x08R\x0frefreshDataOnly\x120\n\x14refresh_source_names\x18\x04 \x03(\tR\x12refreshSourceNames\x12*\n\x11refresh_code_only\x18\x05 \x01(\x08R\x0frefreshCodeOnly"W\n\x16SpawnDashboardResponse\x12=\n\x0crefreshed_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0brefreshedAt"B\n\x1bCheckDashboardHealthRequest\x12#\n\rdashboard_ids\x18\x01 \x03(\tR\x0cdashboardIds"\x92\t\n\x1cCheckDashboardHealthResponse\x12i\n\ndashboards\x18\x01 \x03(\x0b2I.textql.rpc.public.dashboard.CheckDashboardHealthResponse.DashboardHealthR\ndashboards\x1a\xe9\x06\n\x0fDashboardHealth\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12^\n\x06status\x18\x02 \x01(\x0e2F.textql.rpc.public.dashboard.CheckDashboardHealthResponse.HealthStatusR\x06status\x12(\n\rerror_message\x18\x03 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12(\n\rstreamlit_url\x18\x04 \x01(\tH\x01R\x0cstreamlitUrl\x88\x01\x01\x12 \n\tembed_url\x18\x05 \x01(\tH\x02R\x08embedUrl\x88\x01\x01\x12B\n\x0crefreshed_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x03R\x0brefreshedAt\x88\x01\x01\x12\x17\n\x04code\x18\x07 \x01(\tH\x04R\x04code\x88\x01\x01\x12J\n\x0cdata_sources\x18\x08 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x12W\n\x10dashboard_status\x18\t \x01(\x0e2,.textql.rpc.public.dashboard.DashboardStatusR\x0fdashboardStatus\x12*\n\x0epublished_code\x18\n \x01(\tH\x05R\rpublishedCode\x88\x01\x01\x12B\n\x0cpublished_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampH\x06R\x0bpublishedAt\x88\x01\x01\x12)\n\x10schedule_enabled\x18\x0c \x01(\x08R\x0fscheduleEnabled\x12$\n\x0bcron_string\x18\r \x01(\tH\x07R\ncronString\x88\x01\x01\x12\x1a\n\x08warnings\x18\x0e \x03(\tR\x08warningsB\x10\n\x0e_error_messageB\x10\n\x0e_streamlit_urlB\x0c\n\n_embed_urlB\x0f\n\r_refreshed_atB\x07\n\x05_codeB\x11\n\x0f_published_codeB\x0f\n\r_published_atB\x0e\n\x0c_cron_string"\x9a\x01\n\x0cHealthStatus\x12\x1d\n\x19HEALTH_STATUS_NOT_RUNNING\x10\x00\x12\x19\n\x15HEALTH_STATUS_HEALTHY\x10\x01\x12\x1a\n\x16HEALTH_STATUS_STARTING\x10\x02\x12\x18\n\x14HEALTH_STATUS_FAILED\x10\x03\x12\x1a\n\x16HEALTH_STATUS_UPDATING\x10\x04"@\n\x1bRegenerateScreenshotRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"E\n\x1cRegenerateScreenshotResponse\x12%\n\x0escreenshot_url\x18\x01 \x01(\tR\rscreenshotUrl"!\n\x1fGetMembersWithDashboardsRequest"`\n GetMembersWithDashboardsResponse\x12<\n\x07members\x18\x01 \x03(\x0b2".textql.rpc.identity.MemberPreviewR\x07members"a\n\x17PublishDashboardRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12\x19\n\x05label\x18\x02 \x01(\tH\x00R\x05label\x88\x01\x01B\x08\n\x06_label"`\n\x18PublishDashboardResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"C\n\x1eDiscardDashboardChangesRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"g\n\x1fDiscardDashboardChangesResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"\xf0\x01\n\x1eUpdateDashboardScheduleRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12)\n\x10schedule_enabled\x18\x02 \x01(\x08R\x0fscheduleEnabled\x12$\n\x0bcron_string\x18\x03 \x01(\tH\x00R\ncronString\x88\x01\x01\x12J\n\x0cdata_sources\x18\x04 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSourcesB\x0e\n\x0c_cron_string"g\n\x1fUpdateDashboardScheduleResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"A\n\x1cRunScheduledDashboardRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"B\n\x1dRunScheduledDashboardResponse\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"b\n\x1cCreateDashboardFolderRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\tparent_id\x18\x02 \x01(\tH\x00R\x08parentId\x88\x01\x01B\x0c\n\n_parent_id"e\n\x1dCreateDashboardFolderResponse\x12D\n\x06folder\x18\x01 \x01(\x0b2,.textql.rpc.public.dashboard.DashboardFolderR\x06folder"\x1d\n\x1bListDashboardFoldersRequest"f\n\x1cListDashboardFoldersResponse\x12F\n\x07folders\x18\x01 \x03(\x0b2,.textql.rpc.public.dashboard.DashboardFolderR\x07folders"\x8d\x01\n\x1cUpdateDashboardFolderRequest\x12\x1b\n\tfolder_id\x18\x01 \x01(\tR\x08folderId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12 \n\tparent_id\x18\x03 \x01(\tH\x01R\x08parentId\x88\x01\x01B\x07\n\x05_nameB\x0c\n\n_parent_id"e\n\x1dUpdateDashboardFolderResponse\x12D\n\x06folder\x18\x01 \x01(\x0b2,.textql.rpc.public.dashboard.DashboardFolderR\x06folder";\n\x1cDeleteDashboardFolderRequest\x12\x1b\n\tfolder_id\x18\x01 \x01(\tR\x08folderId"q\n\x1cMoveDashboardToFolderRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12 \n\tfolder_id\x18\x02 \x01(\tH\x00R\x08folderId\x88\x01\x01B\x0c\n\n_folder_id"e\n\x1dMoveDashboardToFolderResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"@\n\x1bWatchDashboardHealthRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"\xa4\x07\n\x14DashboardHealthEvent\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12^\n\x06status\x18\x02 \x01(\x0e2F.textql.rpc.public.dashboard.CheckDashboardHealthResponse.HealthStatusR\x06status\x12(\n\rerror_message\x18\x03 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12(\n\rstreamlit_url\x18\x04 \x01(\tH\x01R\x0cstreamlitUrl\x88\x01\x01\x12 \n\tembed_url\x18\x05 \x01(\tH\x02R\x08embedUrl\x88\x01\x01\x12B\n\x0crefreshed_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x03R\x0brefreshedAt\x88\x01\x01\x12\x17\n\x04code\x18\x07 \x01(\tH\x04R\x04code\x88\x01\x01\x12J\n\x0cdata_sources\x18\x08 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x12W\n\x10dashboard_status\x18\t \x01(\x0e2,.textql.rpc.public.dashboard.DashboardStatusR\x0fdashboardStatus\x12*\n\x0epublished_code\x18\n \x01(\tH\x05R\rpublishedCode\x88\x01\x01\x12B\n\x0cpublished_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampH\x06R\x0bpublishedAt\x88\x01\x01\x12)\n\x10schedule_enabled\x18\x0c \x01(\x08R\x0fscheduleEnabled\x12$\n\x0bcron_string\x18\r \x01(\tH\x07R\ncronString\x88\x01\x01\x12$\n\x0bspawn_phase\x18\x0e \x01(\tH\x08R\nspawnPhase\x88\x01\x01\x12\x1a\n\x08warnings\x18\x0f \x03(\tR\x08warningsB\x10\n\x0e_error_messageB\x10\n\x0e_streamlit_urlB\x0c\n\n_embed_urlB\x0f\n\r_refreshed_atB\x07\n\x05_codeB\x11\n\x0f_published_codeB\x0f\n\r_published_atB\x0e\n\x0c_cron_stringB\x0e\n\x0c_spawn_phase"\xbe\x04\n\x10DashboardVersion\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cdashboard_id\x18\x02 \x01(\tR\x0bdashboardId\x12%\n\x0eversion_number\x18\x03 \x01(\x05R\rversionNumber\x12\x12\n\x04code\x18\x04 \x01(\tR\x04code\x12J\n\x0cdata_sources\x18\x05 \x03(\x0b2\'.textql.rpc.public.dashboard.DataSourceR\x0bdataSources\x12\x12\n\x04name\x18\x06 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x07 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12>\n\x04type\x18\x08 \x01(\x0e2*.textql.rpc.public.dashboard.DashboardTypeR\x04type\x12!\n\x0cpublished_by\x18\t \x01(\tR\x0bpublishedBy\x12\x19\n\x05label\x18\n \x01(\tH\x01R\x05label\x88\x01\x01\x12=\n\x0cpublished_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bpublishedAt\x12P\n\tpublisher\x18\x0c \x01(\x0b2-.textql.rpc.public.dashboard.DashboardCreatorH\x02R\tpublisher\x88\x01\x01B\x0e\n\x0c_descriptionB\x08\n\x06_labelB\x0c\n\n_publisher"o\n\x1cListDashboardVersionsRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset"\x8b\x01\n\x1dListDashboardVersionsResponse\x12I\n\x08versions\x18\x01 \x03(\x0b2-.textql.rpc.public.dashboard.DashboardVersionR\x08versions\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount"f\n\x1aGetDashboardVersionRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12%\n\x0eversion_number\x18\x02 \x01(\x05R\rversionNumber"f\n\x1bGetDashboardVersionResponse\x12G\n\x07version\x18\x01 \x01(\x0b2-.textql.rpc.public.dashboard.DashboardVersionR\x07version"j\n\x1eRestoreDashboardVersionRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12%\n\x0eversion_number\x18\x02 \x01(\x05R\rversionNumber"g\n\x1fRestoreDashboardVersionResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"A\n\x1cGetDashboardViewStatsRequest\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId"\x8f\x02\n\x13DashboardViewerInfo\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12;\n\x0blast_viewed\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nlastViewed\x12\x1d\n\nview_count\x18\x03 \x01(\x05R\tviewCount\x12&\n\x0cdisplay_name\x18\x04 \x01(\tH\x00R\x0bdisplayName\x88\x01\x01\x12F\n\x11recent_view_times\x18\x05 \x03(\x0b2\x1a.google.protobuf.TimestampR\x0frecentViewTimesB\x0f\n\r_display_name"\xc0\x01\n\x1dGetDashboardViewStatsResponse\x12\x1f\n\x0btotal_views\x18\x01 \x01(\x05R\ntotalViews\x12%\n\x0eunique_viewers\x18\x02 \x01(\x05R\runiqueViewers\x12W\n\x0erecent_viewers\x18\x03 \x03(\x0b20.textql.rpc.public.dashboard.DashboardViewerInfoR\rrecentViewers"c\n\x1dPreviewConfigDashboardRequest\x12\x1b\n\tpatch_ref\x18\x01 \x01(\tR\x08patchRef\x12%\n\x0edashboard_path\x18\x02 \x01(\tR\rdashboardPath"O\n\x1ePreviewConfigDashboardResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x1b\n\tembed_url\x18\x02 \x01(\tR\x08embedUrl*\x7f\n\rDashboardType\x12\x1e\n\x1aDASHBOARD_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18DASHBOARD_TYPE_STREAMLIT\x10\x01\x12\x17\n\x13DASHBOARD_TYPE_HTML\x10\x02\x12\x17\n\x13DASHBOARD_TYPE_DASH\x10\x03*o\n\x0fDashboardStatus\x12 \n\x1cDASHBOARD_STATUS_UNSPECIFIED\x10\x00\x12\x1a\n\x16DASHBOARD_STATUS_DRAFT\x10\x01\x12\x1e\n\x1aDASHBOARD_STATUS_PUBLISHED\x10\x02*\xca\x01\n\x12DashboardSortField\x12$\n DASHBOARD_SORT_FIELD_UNSPECIFIED\x10\x00\x12\x1d\n\x19DASHBOARD_SORT_FIELD_NAME\x10\x01\x12#\n\x1fDASHBOARD_SORT_FIELD_CREATED_AT\x10\x02\x12#\n\x1fDASHBOARD_SORT_FIELD_UPDATED_AT\x10\x03\x12%\n!DASHBOARD_SORT_FIELD_REFRESHED_AT\x10\x042\x8c\x1b\n\x10DashboardService\x12|\n\x0fCreateDashboard\x123.textql.rpc.public.dashboard.CreateDashboardRequest\x1a4.textql.rpc.public.dashboard.CreateDashboardResponse\x12x\n\x0cGetDashboard\x120.textql.rpc.public.dashboard.GetDashboardRequest\x1a1.textql.rpc.public.dashboard.GetDashboardResponse"\x03\x90\x02\x01\x12~\n\x0eListDashboards\x122.textql.rpc.public.dashboard.ListDashboardsRequest\x1a3.textql.rpc.public.dashboard.ListDashboardsResponse"\x03\x90\x02\x01\x12|\n\x0fUpdateDashboard\x123.textql.rpc.public.dashboard.UpdateDashboardRequest\x1a4.textql.rpc.public.dashboard.UpdateDashboardResponse\x12^\n\x0fDeleteDashboard\x123.textql.rpc.public.dashboard.DeleteDashboardRequest\x1a\x16.google.protobuf.Empty\x12\x85\x01\n\x12DuplicateDashboard\x126.textql.rpc.public.dashboard.DuplicateDashboardRequest\x1a7.textql.rpc.public.dashboard.DuplicateDashboardResponse\x12y\n\x0eSpawnDashboard\x122.textql.rpc.public.dashboard.SpawnDashboardRequest\x1a3.textql.rpc.public.dashboard.SpawnDashboardResponse\x12\x90\x01\n\x14CheckDashboardHealth\x128.textql.rpc.public.dashboard.CheckDashboardHealthRequest\x1a9.textql.rpc.public.dashboard.CheckDashboardHealthResponse"\x03\x90\x02\x01\x12\x85\x01\n\x14WatchDashboardHealth\x128.textql.rpc.public.dashboard.WatchDashboardHealthRequest\x1a1.textql.rpc.public.dashboard.DashboardHealthEvent0\x01\x12\x8b\x01\n\x14RegenerateScreenshot\x128.textql.rpc.public.dashboard.RegenerateScreenshotRequest\x1a9.textql.rpc.public.dashboard.RegenerateScreenshotResponse\x12\x9c\x01\n\x18GetMembersWithDashboards\x12<.textql.rpc.public.dashboard.GetMembersWithDashboardsRequest\x1a=.textql.rpc.public.dashboard.GetMembersWithDashboardsResponse"\x03\x90\x02\x01\x12\x7f\n\x10PublishDashboard\x124.textql.rpc.public.dashboard.PublishDashboardRequest\x1a5.textql.rpc.public.dashboard.PublishDashboardResponse\x12\x94\x01\n\x17DiscardDashboardChanges\x12;.textql.rpc.public.dashboard.DiscardDashboardChangesRequest\x1a<.textql.rpc.public.dashboard.DiscardDashboardChangesResponse\x12\x94\x01\n\x17UpdateDashboardSchedule\x12;.textql.rpc.public.dashboard.UpdateDashboardScheduleRequest\x1a<.textql.rpc.public.dashboard.UpdateDashboardScheduleResponse\x12\x8e\x01\n\x15RunScheduledDashboard\x129.textql.rpc.public.dashboard.RunScheduledDashboardRequest\x1a:.textql.rpc.public.dashboard.RunScheduledDashboardResponse\x12\x8e\x01\n\x15CreateDashboardFolder\x129.textql.rpc.public.dashboard.CreateDashboardFolderRequest\x1a:.textql.rpc.public.dashboard.CreateDashboardFolderResponse\x12\x90\x01\n\x14ListDashboardFolders\x128.textql.rpc.public.dashboard.ListDashboardFoldersRequest\x1a9.textql.rpc.public.dashboard.ListDashboardFoldersResponse"\x03\x90\x02\x01\x12\x8e\x01\n\x15UpdateDashboardFolder\x129.textql.rpc.public.dashboard.UpdateDashboardFolderRequest\x1a:.textql.rpc.public.dashboard.UpdateDashboardFolderResponse\x12j\n\x15DeleteDashboardFolder\x129.textql.rpc.public.dashboard.DeleteDashboardFolderRequest\x1a\x16.google.protobuf.Empty\x12\x8e\x01\n\x15MoveDashboardToFolder\x129.textql.rpc.public.dashboard.MoveDashboardToFolderRequest\x1a:.textql.rpc.public.dashboard.MoveDashboardToFolderResponse\x12\x93\x01\n\x15ListDashboardVersions\x129.textql.rpc.public.dashboard.ListDashboardVersionsRequest\x1a:.textql.rpc.public.dashboard.ListDashboardVersionsResponse"\x03\x90\x02\x01\x12\x8d\x01\n\x13GetDashboardVersion\x127.textql.rpc.public.dashboard.GetDashboardVersionRequest\x1a8.textql.rpc.public.dashboard.GetDashboardVersionResponse"\x03\x90\x02\x01\x12\x94\x01\n\x17RestoreDashboardVersion\x12;.textql.rpc.public.dashboard.RestoreDashboardVersionRequest\x1a<.textql.rpc.public.dashboard.RestoreDashboardVersionResponse\x12\x93\x01\n\x15GetDashboardViewStats\x129.textql.rpc.public.dashboard.GetDashboardViewStatsRequest\x1a:.textql.rpc.public.dashboard.GetDashboardViewStatsResponse"\x03\x90\x02\x01\x12\x91\x01\n\x16PreviewConfigDashboard\x12:.textql.rpc.public.dashboard.PreviewConfigDashboardRequest\x1a;.textql.rpc.public.dashboard.PreviewConfigDashboardResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.dashboard_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['GetDashboard']._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['GetDashboard']._serialized_options = b'\x90\x02\x01' + _globals['_DASHBOARDSERVICE'].methods_by_name['ListDashboards']._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['ListDashboards']._serialized_options = b'\x90\x02\x01' + _globals['_DASHBOARDSERVICE'].methods_by_name['CheckDashboardHealth']._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['CheckDashboardHealth']._serialized_options = b'\x90\x02\x01' + _globals['_DASHBOARDSERVICE'].methods_by_name['GetMembersWithDashboards']._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['GetMembersWithDashboards']._serialized_options = b'\x90\x02\x01' + _globals['_DASHBOARDSERVICE'].methods_by_name['ListDashboardFolders']._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['ListDashboardFolders']._serialized_options = b'\x90\x02\x01' + _globals['_DASHBOARDSERVICE'].methods_by_name['ListDashboardVersions']._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['ListDashboardVersions']._serialized_options = b'\x90\x02\x01' + _globals['_DASHBOARDSERVICE'].methods_by_name['GetDashboardVersion']._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['GetDashboardVersion']._serialized_options = b'\x90\x02\x01' + _globals['_DASHBOARDSERVICE'].methods_by_name['GetDashboardViewStats']._loaded_options = None + _globals['_DASHBOARDSERVICE'].methods_by_name['GetDashboardViewStats']._serialized_options = b'\x90\x02\x01' + _globals['_DASHBOARDTYPE']._serialized_start = 12604 + _globals['_DASHBOARDTYPE']._serialized_end = 12731 + _globals['_DASHBOARDSTATUS']._serialized_start = 12733 + _globals['_DASHBOARDSTATUS']._serialized_end = 12844 + _globals['_DASHBOARDSORTFIELD']._serialized_start = 12847 + _globals['_DASHBOARDSORTFIELD']._serialized_end = 13049 + _globals['_DASHBOARD']._serialized_start = 190 + _globals['_DASHBOARD']._serialized_end = 1757 + _globals['_DATASOURCE']._serialized_start = 1760 + _globals['_DATASOURCE']._serialized_end = 2345 + _globals['_GRANT']._serialized_start = 2347 + _globals['_GRANT']._serialized_end = 2402 + _globals['_QUERYPARAMETER']._serialized_start = 2404 + _globals['_QUERYPARAMETER']._serialized_end = 2503 + _globals['_SQLQUERYSOURCE']._serialized_start = 2505 + _globals['_SQLQUERYSOURCE']._serialized_end = 2608 + _globals['_FILESOURCE']._serialized_start = 2610 + _globals['_FILESOURCE']._serialized_end = 2715 + _globals['_PYTHONCODESOURCE']._serialized_start = 2717 + _globals['_PYTHONCODESOURCE']._serialized_end = 2755 + _globals['_ONTOLOGYSQLSOURCE']._serialized_start = 2757 + _globals['_ONTOLOGYSQLSOURCE']._serialized_end = 2857 + _globals['_LIBRARYTQLSOURCE']._serialized_start = 2859 + _globals['_LIBRARYTQLSOURCE']._serialized_end = 2972 + _globals['_DASHBOARDCREATOR']._serialized_start = 2975 + _globals['_DASHBOARDCREATOR']._serialized_end = 3133 + _globals['_DASHBOARDFOLDER']._serialized_start = 3136 + _globals['_DASHBOARDFOLDER']._serialized_end = 3645 + _globals['_CREATEDASHBOARDREQUEST']._serialized_start = 3648 + _globals['_CREATEDASHBOARDREQUEST']._serialized_end = 4008 + _globals['_CREATEDASHBOARDRESPONSE']._serialized_start = 4010 + _globals['_CREATEDASHBOARDRESPONSE']._serialized_end = 4105 + _globals['_GETDASHBOARDREQUEST']._serialized_start = 4107 + _globals['_GETDASHBOARDREQUEST']._serialized_end = 4163 + _globals['_GETDASHBOARDRESPONSE']._serialized_start = 4166 + _globals['_GETDASHBOARDRESPONSE']._serialized_end = 4308 + _globals['_LISTDASHBOARDSREQUEST']._serialized_start = 4311 + _globals['_LISTDASHBOARDSREQUEST']._serialized_end = 5111 + _globals['_LISTDASHBOARDSRESPONSE']._serialized_start = 5114 + _globals['_LISTDASHBOARDSRESPONSE']._serialized_end = 5243 + _globals['_UPDATEDASHBOARDREQUEST']._serialized_start = 5246 + _globals['_UPDATEDASHBOARDREQUEST']._serialized_end = 5633 + _globals['_DATASOURCESPATCH']._serialized_start = 5635 + _globals['_DATASOURCESPATCH']._serialized_end = 5720 + _globals['_UPDATEDASHBOARDRESPONSE']._serialized_start = 5722 + _globals['_UPDATEDASHBOARDRESPONSE']._serialized_end = 5817 + _globals['_DELETEDASHBOARDREQUEST']._serialized_start = 5819 + _globals['_DELETEDASHBOARDREQUEST']._serialized_end = 5878 + _globals['_DUPLICATEDASHBOARDREQUEST']._serialized_start = 5880 + _globals['_DUPLICATEDASHBOARDREQUEST']._serialized_end = 5976 + _globals['_DUPLICATEDASHBOARDRESPONSE']._serialized_start = 5978 + _globals['_DUPLICATEDASHBOARDRESPONSE']._serialized_end = 6076 + _globals['_SPAWNDASHBOARDREQUEST']._serialized_start = 6079 + _globals['_SPAWNDASHBOARDREQUEST']._serialized_end = 6312 + _globals['_SPAWNDASHBOARDRESPONSE']._serialized_start = 6314 + _globals['_SPAWNDASHBOARDRESPONSE']._serialized_end = 6401 + _globals['_CHECKDASHBOARDHEALTHREQUEST']._serialized_start = 6403 + _globals['_CHECKDASHBOARDHEALTHREQUEST']._serialized_end = 6469 + _globals['_CHECKDASHBOARDHEALTHRESPONSE']._serialized_start = 6472 + _globals['_CHECKDASHBOARDHEALTHRESPONSE']._serialized_end = 7642 + _globals['_CHECKDASHBOARDHEALTHRESPONSE_DASHBOARDHEALTH']._serialized_start = 6612 + _globals['_CHECKDASHBOARDHEALTHRESPONSE_DASHBOARDHEALTH']._serialized_end = 7485 + _globals['_CHECKDASHBOARDHEALTHRESPONSE_HEALTHSTATUS']._serialized_start = 7488 + _globals['_CHECKDASHBOARDHEALTHRESPONSE_HEALTHSTATUS']._serialized_end = 7642 + _globals['_REGENERATESCREENSHOTREQUEST']._serialized_start = 7644 + _globals['_REGENERATESCREENSHOTREQUEST']._serialized_end = 7708 + _globals['_REGENERATESCREENSHOTRESPONSE']._serialized_start = 7710 + _globals['_REGENERATESCREENSHOTRESPONSE']._serialized_end = 7779 + _globals['_GETMEMBERSWITHDASHBOARDSREQUEST']._serialized_start = 7781 + _globals['_GETMEMBERSWITHDASHBOARDSREQUEST']._serialized_end = 7814 + _globals['_GETMEMBERSWITHDASHBOARDSRESPONSE']._serialized_start = 7816 + _globals['_GETMEMBERSWITHDASHBOARDSRESPONSE']._serialized_end = 7912 + _globals['_PUBLISHDASHBOARDREQUEST']._serialized_start = 7914 + _globals['_PUBLISHDASHBOARDREQUEST']._serialized_end = 8011 + _globals['_PUBLISHDASHBOARDRESPONSE']._serialized_start = 8013 + _globals['_PUBLISHDASHBOARDRESPONSE']._serialized_end = 8109 + _globals['_DISCARDDASHBOARDCHANGESREQUEST']._serialized_start = 8111 + _globals['_DISCARDDASHBOARDCHANGESREQUEST']._serialized_end = 8178 + _globals['_DISCARDDASHBOARDCHANGESRESPONSE']._serialized_start = 8180 + _globals['_DISCARDDASHBOARDCHANGESRESPONSE']._serialized_end = 8283 + _globals['_UPDATEDASHBOARDSCHEDULEREQUEST']._serialized_start = 8286 + _globals['_UPDATEDASHBOARDSCHEDULEREQUEST']._serialized_end = 8526 + _globals['_UPDATEDASHBOARDSCHEDULERESPONSE']._serialized_start = 8528 + _globals['_UPDATEDASHBOARDSCHEDULERESPONSE']._serialized_end = 8631 + _globals['_RUNSCHEDULEDDASHBOARDREQUEST']._serialized_start = 8633 + _globals['_RUNSCHEDULEDDASHBOARDREQUEST']._serialized_end = 8698 + _globals['_RUNSCHEDULEDDASHBOARDRESPONSE']._serialized_start = 8700 + _globals['_RUNSCHEDULEDDASHBOARDRESPONSE']._serialized_end = 8766 + _globals['_CREATEDASHBOARDFOLDERREQUEST']._serialized_start = 8768 + _globals['_CREATEDASHBOARDFOLDERREQUEST']._serialized_end = 8866 + _globals['_CREATEDASHBOARDFOLDERRESPONSE']._serialized_start = 8868 + _globals['_CREATEDASHBOARDFOLDERRESPONSE']._serialized_end = 8969 + _globals['_LISTDASHBOARDFOLDERSREQUEST']._serialized_start = 8971 + _globals['_LISTDASHBOARDFOLDERSREQUEST']._serialized_end = 9000 + _globals['_LISTDASHBOARDFOLDERSRESPONSE']._serialized_start = 9002 + _globals['_LISTDASHBOARDFOLDERSRESPONSE']._serialized_end = 9104 + _globals['_UPDATEDASHBOARDFOLDERREQUEST']._serialized_start = 9107 + _globals['_UPDATEDASHBOARDFOLDERREQUEST']._serialized_end = 9248 + _globals['_UPDATEDASHBOARDFOLDERRESPONSE']._serialized_start = 9250 + _globals['_UPDATEDASHBOARDFOLDERRESPONSE']._serialized_end = 9351 + _globals['_DELETEDASHBOARDFOLDERREQUEST']._serialized_start = 9353 + _globals['_DELETEDASHBOARDFOLDERREQUEST']._serialized_end = 9412 + _globals['_MOVEDASHBOARDTOFOLDERREQUEST']._serialized_start = 9414 + _globals['_MOVEDASHBOARDTOFOLDERREQUEST']._serialized_end = 9527 + _globals['_MOVEDASHBOARDTOFOLDERRESPONSE']._serialized_start = 9529 + _globals['_MOVEDASHBOARDTOFOLDERRESPONSE']._serialized_end = 9630 + _globals['_WATCHDASHBOARDHEALTHREQUEST']._serialized_start = 9632 + _globals['_WATCHDASHBOARDHEALTHREQUEST']._serialized_end = 9696 + _globals['_DASHBOARDHEALTHEVENT']._serialized_start = 9699 + _globals['_DASHBOARDHEALTHEVENT']._serialized_end = 10631 + _globals['_DASHBOARDVERSION']._serialized_start = 10634 + _globals['_DASHBOARDVERSION']._serialized_end = 11208 + _globals['_LISTDASHBOARDVERSIONSREQUEST']._serialized_start = 11210 + _globals['_LISTDASHBOARDVERSIONSREQUEST']._serialized_end = 11321 + _globals['_LISTDASHBOARDVERSIONSRESPONSE']._serialized_start = 11324 + _globals['_LISTDASHBOARDVERSIONSRESPONSE']._serialized_end = 11463 + _globals['_GETDASHBOARDVERSIONREQUEST']._serialized_start = 11465 + _globals['_GETDASHBOARDVERSIONREQUEST']._serialized_end = 11567 + _globals['_GETDASHBOARDVERSIONRESPONSE']._serialized_start = 11569 + _globals['_GETDASHBOARDVERSIONRESPONSE']._serialized_end = 11671 + _globals['_RESTOREDASHBOARDVERSIONREQUEST']._serialized_start = 11673 + _globals['_RESTOREDASHBOARDVERSIONREQUEST']._serialized_end = 11779 + _globals['_RESTOREDASHBOARDVERSIONRESPONSE']._serialized_start = 11781 + _globals['_RESTOREDASHBOARDVERSIONRESPONSE']._serialized_end = 11884 + _globals['_GETDASHBOARDVIEWSTATSREQUEST']._serialized_start = 11886 + _globals['_GETDASHBOARDVIEWSTATSREQUEST']._serialized_end = 11951 + _globals['_DASHBOARDVIEWERINFO']._serialized_start = 11954 + _globals['_DASHBOARDVIEWERINFO']._serialized_end = 12225 + _globals['_GETDASHBOARDVIEWSTATSRESPONSE']._serialized_start = 12228 + _globals['_GETDASHBOARDVIEWSTATSRESPONSE']._serialized_end = 12420 + _globals['_PREVIEWCONFIGDASHBOARDREQUEST']._serialized_start = 12422 + _globals['_PREVIEWCONFIGDASHBOARDREQUEST']._serialized_end = 12521 + _globals['_PREVIEWCONFIGDASHBOARDRESPONSE']._serialized_start = 12523 + _globals['_PREVIEWCONFIGDASHBOARDRESPONSE']._serialized_end = 12602 + _globals['_DASHBOARDSERVICE']._serialized_start = 13052 + _globals['_DASHBOARDSERVICE']._serialized_end = 16520 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/dashboard_pb2.pyi b/src/textql_sdk/_connect/public/dashboard_pb2.pyi new file mode 100644 index 0000000..0480680 --- /dev/null +++ b/src/textql_sdk/_connect/public/dashboard_pb2.pyi @@ -0,0 +1,857 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import common_pb2 as _common_pb2 +from public import config_source_pb2 as _config_source_pb2 +from public import identity_pb2 as _identity_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class DashboardType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DASHBOARD_TYPE_UNSPECIFIED: _ClassVar[DashboardType] + DASHBOARD_TYPE_STREAMLIT: _ClassVar[DashboardType] + DASHBOARD_TYPE_HTML: _ClassVar[DashboardType] + DASHBOARD_TYPE_DASH: _ClassVar[DashboardType] + +class DashboardStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DASHBOARD_STATUS_UNSPECIFIED: _ClassVar[DashboardStatus] + DASHBOARD_STATUS_DRAFT: _ClassVar[DashboardStatus] + DASHBOARD_STATUS_PUBLISHED: _ClassVar[DashboardStatus] + +class DashboardSortField(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DASHBOARD_SORT_FIELD_UNSPECIFIED: _ClassVar[DashboardSortField] + DASHBOARD_SORT_FIELD_NAME: _ClassVar[DashboardSortField] + DASHBOARD_SORT_FIELD_CREATED_AT: _ClassVar[DashboardSortField] + DASHBOARD_SORT_FIELD_UPDATED_AT: _ClassVar[DashboardSortField] + DASHBOARD_SORT_FIELD_REFRESHED_AT: _ClassVar[DashboardSortField] +DASHBOARD_TYPE_UNSPECIFIED: DashboardType +DASHBOARD_TYPE_STREAMLIT: DashboardType +DASHBOARD_TYPE_HTML: DashboardType +DASHBOARD_TYPE_DASH: DashboardType +DASHBOARD_STATUS_UNSPECIFIED: DashboardStatus +DASHBOARD_STATUS_DRAFT: DashboardStatus +DASHBOARD_STATUS_PUBLISHED: DashboardStatus +DASHBOARD_SORT_FIELD_UNSPECIFIED: DashboardSortField +DASHBOARD_SORT_FIELD_NAME: DashboardSortField +DASHBOARD_SORT_FIELD_CREATED_AT: DashboardSortField +DASHBOARD_SORT_FIELD_UPDATED_AT: DashboardSortField +DASHBOARD_SORT_FIELD_REFRESHED_AT: DashboardSortField + +class Dashboard(_message.Message): + __slots__ = ('id', 'org_id', 'creator_id', 'name', 'description', 'code', 'type', 'chat_id', 'cell_id', 'is_public', 'screenshot_url', 'html_url', 'created_at', 'updated_at', 'refreshed_at', 'creator', 'streamlit_url', 'status', 'published_code', 'published_at', 'has_unpublished_changes', 'data_sources', 'schedule_enabled', 'cron_string', 'latest_scheduled_run_at', 'folder_id', 'config_source', 'is_favorited') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + CREATOR_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + SCREENSHOT_URL_FIELD_NUMBER: _ClassVar[int] + HTML_URL_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + REFRESHED_AT_FIELD_NUMBER: _ClassVar[int] + CREATOR_FIELD_NUMBER: _ClassVar[int] + STREAMLIT_URL_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_CODE_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_AT_FIELD_NUMBER: _ClassVar[int] + HAS_UNPUBLISHED_CHANGES_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + LATEST_SCHEDULED_RUN_AT_FIELD_NUMBER: _ClassVar[int] + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + CONFIG_SOURCE_FIELD_NUMBER: _ClassVar[int] + IS_FAVORITED_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + creator_id: str + name: str + description: str + code: str + type: DashboardType + chat_id: str + cell_id: str + is_public: bool + screenshot_url: str + html_url: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + refreshed_at: _timestamp_pb2.Timestamp + creator: DashboardCreator + streamlit_url: str + status: DashboardStatus + published_code: str + published_at: _timestamp_pb2.Timestamp + has_unpublished_changes: bool + data_sources: _containers.RepeatedCompositeFieldContainer[DataSource] + schedule_enabled: bool + cron_string: str + latest_scheduled_run_at: _timestamp_pb2.Timestamp + folder_id: str + config_source: _config_source_pb2.ConfigSource + is_favorited: bool + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., creator_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., code: _Optional[str]=..., type: _Optional[_Union[DashboardType, str]]=..., chat_id: _Optional[str]=..., cell_id: _Optional[str]=..., is_public: bool=..., screenshot_url: _Optional[str]=..., html_url: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., refreshed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., creator: _Optional[_Union[DashboardCreator, _Mapping]]=..., streamlit_url: _Optional[str]=..., status: _Optional[_Union[DashboardStatus, str]]=..., published_code: _Optional[str]=..., published_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., has_unpublished_changes: bool=..., data_sources: _Optional[_Iterable[_Union[DataSource, _Mapping]]]=..., schedule_enabled: bool=..., cron_string: _Optional[str]=..., latest_scheduled_run_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., folder_id: _Optional[str]=..., config_source: _Optional[_Union[_config_source_pb2.ConfigSource, _Mapping]]=..., is_favorited: bool=...) -> None: + ... + +class DataSource(_message.Message): + __slots__ = ('type', 'name', 'sql_query', 'file', 'python_code', 'ontology_sql', 'library_tql', 'parameters', 'grant') + TYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + SQL_QUERY_FIELD_NUMBER: _ClassVar[int] + FILE_FIELD_NUMBER: _ClassVar[int] + PYTHON_CODE_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_SQL_FIELD_NUMBER: _ClassVar[int] + LIBRARY_TQL_FIELD_NUMBER: _ClassVar[int] + PARAMETERS_FIELD_NUMBER: _ClassVar[int] + GRANT_FIELD_NUMBER: _ClassVar[int] + type: str + name: str + sql_query: SqlQuerySource + file: FileSource + python_code: PythonCodeSource + ontology_sql: OntologySqlSource + library_tql: LibraryTQLSource + parameters: _containers.RepeatedCompositeFieldContainer[QueryParameter] + grant: Grant + + def __init__(self, type: _Optional[str]=..., name: _Optional[str]=..., sql_query: _Optional[_Union[SqlQuerySource, _Mapping]]=..., file: _Optional[_Union[FileSource, _Mapping]]=..., python_code: _Optional[_Union[PythonCodeSource, _Mapping]]=..., ontology_sql: _Optional[_Union[OntologySqlSource, _Mapping]]=..., library_tql: _Optional[_Union[LibraryTQLSource, _Mapping]]=..., parameters: _Optional[_Iterable[_Union[QueryParameter, _Mapping]]]=..., grant: _Optional[_Union[Grant, _Mapping]]=...) -> None: + ... + +class Grant(_message.Message): + __slots__ = ('roles', 'members') + ROLES_FIELD_NUMBER: _ClassVar[int] + MEMBERS_FIELD_NUMBER: _ClassVar[int] + roles: _containers.RepeatedScalarFieldContainer[str] + members: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, roles: _Optional[_Iterable[str]]=..., members: _Optional[_Iterable[str]]=...) -> None: + ... + +class QueryParameter(_message.Message): + __slots__ = ('name', 'type', 'default') + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + DEFAULT_FIELD_NUMBER: _ClassVar[int] + name: str + type: str + default: str + + def __init__(self, name: _Optional[str]=..., type: _Optional[str]=..., default: _Optional[str]=...) -> None: + ... + +class SqlQuerySource(_message.Message): + __slots__ = ('query', 'connector_id', 'predicate') + QUERY_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + PREDICATE_FIELD_NUMBER: _ClassVar[int] + query: str + connector_id: int + predicate: str + + def __init__(self, query: _Optional[str]=..., connector_id: _Optional[int]=..., predicate: _Optional[str]=...) -> None: + ... + +class FileSource(_message.Message): + __slots__ = ('dataset_id', 'file_name', 'sheet_index') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + SHEET_INDEX_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + file_name: str + sheet_index: int + + def __init__(self, dataset_id: _Optional[str]=..., file_name: _Optional[str]=..., sheet_index: _Optional[int]=...) -> None: + ... + +class PythonCodeSource(_message.Message): + __slots__ = ('code',) + CODE_FIELD_NUMBER: _ClassVar[int] + code: str + + def __init__(self, code: _Optional[str]=...) -> None: + ... + +class OntologySqlSource(_message.Message): + __slots__ = ('query', 'dataset', 'ontology_id') + QUERY_FIELD_NUMBER: _ClassVar[int] + DATASET_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + query: str + dataset: str + ontology_id: int + + def __init__(self, query: _Optional[str]=..., dataset: _Optional[str]=..., ontology_id: _Optional[int]=...) -> None: + ... + +class LibraryTQLSource(_message.Message): + __slots__ = ('tql_path', 'connector_id', 'params_json') + TQL_PATH_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + PARAMS_JSON_FIELD_NUMBER: _ClassVar[int] + tql_path: str + connector_id: int + params_json: str + + def __init__(self, tql_path: _Optional[str]=..., connector_id: _Optional[int]=..., params_json: _Optional[str]=...) -> None: + ... + +class DashboardCreator(_message.Message): + __slots__ = ('member_id', 'member_email', 'member_name') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_EMAIL_FIELD_NUMBER: _ClassVar[int] + MEMBER_NAME_FIELD_NUMBER: _ClassVar[int] + member_id: str + member_email: str + member_name: str + + def __init__(self, member_id: _Optional[str]=..., member_email: _Optional[str]=..., member_name: _Optional[str]=...) -> None: + ... + +class DashboardFolder(_message.Message): + __slots__ = ('id', 'org_id', 'parent_id', 'name', 'creator_id', 'created_at', 'updated_at', 'dashboard_count', 'total_dashboard_count', 'children', 'app_count', 'total_app_count') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PARENT_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CREATOR_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_COUNT_FIELD_NUMBER: _ClassVar[int] + TOTAL_DASHBOARD_COUNT_FIELD_NUMBER: _ClassVar[int] + CHILDREN_FIELD_NUMBER: _ClassVar[int] + APP_COUNT_FIELD_NUMBER: _ClassVar[int] + TOTAL_APP_COUNT_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + parent_id: str + name: str + creator_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + dashboard_count: int + total_dashboard_count: int + children: _containers.RepeatedCompositeFieldContainer[DashboardFolder] + app_count: int + total_app_count: int + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., parent_id: _Optional[str]=..., name: _Optional[str]=..., creator_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., dashboard_count: _Optional[int]=..., total_dashboard_count: _Optional[int]=..., children: _Optional[_Iterable[_Union[DashboardFolder, _Mapping]]]=..., app_count: _Optional[int]=..., total_app_count: _Optional[int]=...) -> None: + ... + +class CreateDashboardRequest(_message.Message): + __slots__ = ('name', 'description', 'code', 'type', 'html_url', 'chat_id', 'cell_id', 'folder_id') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + HTML_URL_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + code: str + type: DashboardType + html_url: str + chat_id: str + cell_id: str + folder_id: str + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., code: _Optional[str]=..., type: _Optional[_Union[DashboardType, str]]=..., html_url: _Optional[str]=..., chat_id: _Optional[str]=..., cell_id: _Optional[str]=..., folder_id: _Optional[str]=...) -> None: + ... + +class CreateDashboardResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=...) -> None: + ... + +class GetDashboardRequest(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class GetDashboardResponse(_message.Message): + __slots__ = ('dashboard', 'has_write_permission') + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + HAS_WRITE_PERMISSION_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + has_write_permission: bool + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=..., has_write_permission: bool=...) -> None: + ... + +class ListDashboardsRequest(_message.Message): + __slots__ = ('search_term', 'my_dashboards_only', 'sort_by', 'sort_direction', 'limit', 'offset', 'folder_id', 'uncategorized_only', 'creator_member_id', 'shared_with_me', 'creator_member_ids', 'status_filter') + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + MY_DASHBOARDS_ONLY_FIELD_NUMBER: _ClassVar[int] + SORT_BY_FIELD_NUMBER: _ClassVar[int] + SORT_DIRECTION_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + UNCATEGORIZED_ONLY_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + SHARED_WITH_ME_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + STATUS_FILTER_FIELD_NUMBER: _ClassVar[int] + search_term: str + my_dashboards_only: bool + sort_by: DashboardSortField + sort_direction: _common_pb2.SortDirection + limit: int + offset: int + folder_id: str + uncategorized_only: bool + creator_member_id: str + shared_with_me: bool + creator_member_ids: _containers.RepeatedScalarFieldContainer[str] + status_filter: DashboardStatus + + def __init__(self, search_term: _Optional[str]=..., my_dashboards_only: bool=..., sort_by: _Optional[_Union[DashboardSortField, str]]=..., sort_direction: _Optional[_Union[_common_pb2.SortDirection, str]]=..., limit: _Optional[int]=..., offset: _Optional[int]=..., folder_id: _Optional[str]=..., uncategorized_only: bool=..., creator_member_id: _Optional[str]=..., shared_with_me: bool=..., creator_member_ids: _Optional[_Iterable[str]]=..., status_filter: _Optional[_Union[DashboardStatus, str]]=...) -> None: + ... + +class ListDashboardsResponse(_message.Message): + __slots__ = ('dashboards', 'total_count') + DASHBOARDS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + dashboards: _containers.RepeatedCompositeFieldContainer[Dashboard] + total_count: int + + def __init__(self, dashboards: _Optional[_Iterable[_Union[Dashboard, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class UpdateDashboardRequest(_message.Message): + __slots__ = ('dashboard_id', 'name', 'description', 'code', 'type', 'html_url', 'data_sources') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + HTML_URL_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + name: str + description: str + code: str + type: DashboardType + html_url: str + data_sources: DataSourcesPatch + + def __init__(self, dashboard_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., code: _Optional[str]=..., type: _Optional[_Union[DashboardType, str]]=..., html_url: _Optional[str]=..., data_sources: _Optional[_Union[DataSourcesPatch, _Mapping]]=...) -> None: + ... + +class DataSourcesPatch(_message.Message): + __slots__ = ('sources',) + SOURCES_FIELD_NUMBER: _ClassVar[int] + sources: _containers.RepeatedCompositeFieldContainer[DataSource] + + def __init__(self, sources: _Optional[_Iterable[_Union[DataSource, _Mapping]]]=...) -> None: + ... + +class UpdateDashboardResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=...) -> None: + ... + +class DeleteDashboardRequest(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class DuplicateDashboardRequest(_message.Message): + __slots__ = ('dashboard_id', 'name') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + name: str + + def __init__(self, dashboard_id: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class DuplicateDashboardResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=...) -> None: + ... + +class SpawnDashboardRequest(_message.Message): + __slots__ = ('dashboard_id', 'force_restart', 'refresh_data_only', 'refresh_source_names', 'refresh_code_only') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + FORCE_RESTART_FIELD_NUMBER: _ClassVar[int] + REFRESH_DATA_ONLY_FIELD_NUMBER: _ClassVar[int] + REFRESH_SOURCE_NAMES_FIELD_NUMBER: _ClassVar[int] + REFRESH_CODE_ONLY_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + force_restart: bool + refresh_data_only: bool + refresh_source_names: _containers.RepeatedScalarFieldContainer[str] + refresh_code_only: bool + + def __init__(self, dashboard_id: _Optional[str]=..., force_restart: bool=..., refresh_data_only: bool=..., refresh_source_names: _Optional[_Iterable[str]]=..., refresh_code_only: bool=...) -> None: + ... + +class SpawnDashboardResponse(_message.Message): + __slots__ = ('refreshed_at',) + REFRESHED_AT_FIELD_NUMBER: _ClassVar[int] + refreshed_at: _timestamp_pb2.Timestamp + + def __init__(self, refreshed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class CheckDashboardHealthRequest(_message.Message): + __slots__ = ('dashboard_ids',) + DASHBOARD_IDS_FIELD_NUMBER: _ClassVar[int] + dashboard_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, dashboard_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class CheckDashboardHealthResponse(_message.Message): + __slots__ = ('dashboards',) + + class HealthStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + HEALTH_STATUS_NOT_RUNNING: _ClassVar[CheckDashboardHealthResponse.HealthStatus] + HEALTH_STATUS_HEALTHY: _ClassVar[CheckDashboardHealthResponse.HealthStatus] + HEALTH_STATUS_STARTING: _ClassVar[CheckDashboardHealthResponse.HealthStatus] + HEALTH_STATUS_FAILED: _ClassVar[CheckDashboardHealthResponse.HealthStatus] + HEALTH_STATUS_UPDATING: _ClassVar[CheckDashboardHealthResponse.HealthStatus] + HEALTH_STATUS_NOT_RUNNING: CheckDashboardHealthResponse.HealthStatus + HEALTH_STATUS_HEALTHY: CheckDashboardHealthResponse.HealthStatus + HEALTH_STATUS_STARTING: CheckDashboardHealthResponse.HealthStatus + HEALTH_STATUS_FAILED: CheckDashboardHealthResponse.HealthStatus + HEALTH_STATUS_UPDATING: CheckDashboardHealthResponse.HealthStatus + + class DashboardHealth(_message.Message): + __slots__ = ('dashboard_id', 'status', 'error_message', 'streamlit_url', 'embed_url', 'refreshed_at', 'code', 'data_sources', 'dashboard_status', 'published_code', 'published_at', 'schedule_enabled', 'cron_string', 'warnings') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + STREAMLIT_URL_FIELD_NUMBER: _ClassVar[int] + EMBED_URL_FIELD_NUMBER: _ClassVar[int] + REFRESHED_AT_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_STATUS_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_CODE_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_AT_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + WARNINGS_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + status: CheckDashboardHealthResponse.HealthStatus + error_message: str + streamlit_url: str + embed_url: str + refreshed_at: _timestamp_pb2.Timestamp + code: str + data_sources: _containers.RepeatedCompositeFieldContainer[DataSource] + dashboard_status: DashboardStatus + published_code: str + published_at: _timestamp_pb2.Timestamp + schedule_enabled: bool + cron_string: str + warnings: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, dashboard_id: _Optional[str]=..., status: _Optional[_Union[CheckDashboardHealthResponse.HealthStatus, str]]=..., error_message: _Optional[str]=..., streamlit_url: _Optional[str]=..., embed_url: _Optional[str]=..., refreshed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., code: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[DataSource, _Mapping]]]=..., dashboard_status: _Optional[_Union[DashboardStatus, str]]=..., published_code: _Optional[str]=..., published_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., schedule_enabled: bool=..., cron_string: _Optional[str]=..., warnings: _Optional[_Iterable[str]]=...) -> None: + ... + DASHBOARDS_FIELD_NUMBER: _ClassVar[int] + dashboards: _containers.RepeatedCompositeFieldContainer[CheckDashboardHealthResponse.DashboardHealth] + + def __init__(self, dashboards: _Optional[_Iterable[_Union[CheckDashboardHealthResponse.DashboardHealth, _Mapping]]]=...) -> None: + ... + +class RegenerateScreenshotRequest(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class RegenerateScreenshotResponse(_message.Message): + __slots__ = ('screenshot_url',) + SCREENSHOT_URL_FIELD_NUMBER: _ClassVar[int] + screenshot_url: str + + def __init__(self, screenshot_url: _Optional[str]=...) -> None: + ... + +class GetMembersWithDashboardsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMembersWithDashboardsResponse(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[_identity_pb2.MemberPreview] + + def __init__(self, members: _Optional[_Iterable[_Union[_identity_pb2.MemberPreview, _Mapping]]]=...) -> None: + ... + +class PublishDashboardRequest(_message.Message): + __slots__ = ('dashboard_id', 'label') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + LABEL_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + label: str + + def __init__(self, dashboard_id: _Optional[str]=..., label: _Optional[str]=...) -> None: + ... + +class PublishDashboardResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=...) -> None: + ... + +class DiscardDashboardChangesRequest(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class DiscardDashboardChangesResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=...) -> None: + ... + +class UpdateDashboardScheduleRequest(_message.Message): + __slots__ = ('dashboard_id', 'schedule_enabled', 'cron_string', 'data_sources') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + schedule_enabled: bool + cron_string: str + data_sources: _containers.RepeatedCompositeFieldContainer[DataSource] + + def __init__(self, dashboard_id: _Optional[str]=..., schedule_enabled: bool=..., cron_string: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[DataSource, _Mapping]]]=...) -> None: + ... + +class UpdateDashboardScheduleResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=...) -> None: + ... + +class RunScheduledDashboardRequest(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class RunScheduledDashboardResponse(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class CreateDashboardFolderRequest(_message.Message): + __slots__ = ('name', 'parent_id') + NAME_FIELD_NUMBER: _ClassVar[int] + PARENT_ID_FIELD_NUMBER: _ClassVar[int] + name: str + parent_id: str + + def __init__(self, name: _Optional[str]=..., parent_id: _Optional[str]=...) -> None: + ... + +class CreateDashboardFolderResponse(_message.Message): + __slots__ = ('folder',) + FOLDER_FIELD_NUMBER: _ClassVar[int] + folder: DashboardFolder + + def __init__(self, folder: _Optional[_Union[DashboardFolder, _Mapping]]=...) -> None: + ... + +class ListDashboardFoldersRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListDashboardFoldersResponse(_message.Message): + __slots__ = ('folders',) + FOLDERS_FIELD_NUMBER: _ClassVar[int] + folders: _containers.RepeatedCompositeFieldContainer[DashboardFolder] + + def __init__(self, folders: _Optional[_Iterable[_Union[DashboardFolder, _Mapping]]]=...) -> None: + ... + +class UpdateDashboardFolderRequest(_message.Message): + __slots__ = ('folder_id', 'name', 'parent_id') + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PARENT_ID_FIELD_NUMBER: _ClassVar[int] + folder_id: str + name: str + parent_id: str + + def __init__(self, folder_id: _Optional[str]=..., name: _Optional[str]=..., parent_id: _Optional[str]=...) -> None: + ... + +class UpdateDashboardFolderResponse(_message.Message): + __slots__ = ('folder',) + FOLDER_FIELD_NUMBER: _ClassVar[int] + folder: DashboardFolder + + def __init__(self, folder: _Optional[_Union[DashboardFolder, _Mapping]]=...) -> None: + ... + +class DeleteDashboardFolderRequest(_message.Message): + __slots__ = ('folder_id',) + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + folder_id: str + + def __init__(self, folder_id: _Optional[str]=...) -> None: + ... + +class MoveDashboardToFolderRequest(_message.Message): + __slots__ = ('dashboard_id', 'folder_id') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + FOLDER_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + folder_id: str + + def __init__(self, dashboard_id: _Optional[str]=..., folder_id: _Optional[str]=...) -> None: + ... + +class MoveDashboardToFolderResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=...) -> None: + ... + +class WatchDashboardHealthRequest(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class DashboardHealthEvent(_message.Message): + __slots__ = ('dashboard_id', 'status', 'error_message', 'streamlit_url', 'embed_url', 'refreshed_at', 'code', 'data_sources', 'dashboard_status', 'published_code', 'published_at', 'schedule_enabled', 'cron_string', 'spawn_phase', 'warnings') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + STREAMLIT_URL_FIELD_NUMBER: _ClassVar[int] + EMBED_URL_FIELD_NUMBER: _ClassVar[int] + REFRESHED_AT_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_STATUS_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_CODE_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_AT_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + SPAWN_PHASE_FIELD_NUMBER: _ClassVar[int] + WARNINGS_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + status: CheckDashboardHealthResponse.HealthStatus + error_message: str + streamlit_url: str + embed_url: str + refreshed_at: _timestamp_pb2.Timestamp + code: str + data_sources: _containers.RepeatedCompositeFieldContainer[DataSource] + dashboard_status: DashboardStatus + published_code: str + published_at: _timestamp_pb2.Timestamp + schedule_enabled: bool + cron_string: str + spawn_phase: str + warnings: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, dashboard_id: _Optional[str]=..., status: _Optional[_Union[CheckDashboardHealthResponse.HealthStatus, str]]=..., error_message: _Optional[str]=..., streamlit_url: _Optional[str]=..., embed_url: _Optional[str]=..., refreshed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., code: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[DataSource, _Mapping]]]=..., dashboard_status: _Optional[_Union[DashboardStatus, str]]=..., published_code: _Optional[str]=..., published_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., schedule_enabled: bool=..., cron_string: _Optional[str]=..., spawn_phase: _Optional[str]=..., warnings: _Optional[_Iterable[str]]=...) -> None: + ... + +class DashboardVersion(_message.Message): + __slots__ = ('id', 'dashboard_id', 'version_number', 'code', 'data_sources', 'name', 'description', 'type', 'published_by', 'label', 'published_at', 'publisher') + ID_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_NUMBER_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + DATA_SOURCES_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_BY_FIELD_NUMBER: _ClassVar[int] + LABEL_FIELD_NUMBER: _ClassVar[int] + PUBLISHED_AT_FIELD_NUMBER: _ClassVar[int] + PUBLISHER_FIELD_NUMBER: _ClassVar[int] + id: str + dashboard_id: str + version_number: int + code: str + data_sources: _containers.RepeatedCompositeFieldContainer[DataSource] + name: str + description: str + type: DashboardType + published_by: str + label: str + published_at: _timestamp_pb2.Timestamp + publisher: DashboardCreator + + def __init__(self, id: _Optional[str]=..., dashboard_id: _Optional[str]=..., version_number: _Optional[int]=..., code: _Optional[str]=..., data_sources: _Optional[_Iterable[_Union[DataSource, _Mapping]]]=..., name: _Optional[str]=..., description: _Optional[str]=..., type: _Optional[_Union[DashboardType, str]]=..., published_by: _Optional[str]=..., label: _Optional[str]=..., published_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., publisher: _Optional[_Union[DashboardCreator, _Mapping]]=...) -> None: + ... + +class ListDashboardVersionsRequest(_message.Message): + __slots__ = ('dashboard_id', 'limit', 'offset') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + limit: int + offset: int + + def __init__(self, dashboard_id: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class ListDashboardVersionsResponse(_message.Message): + __slots__ = ('versions', 'total_count') + VERSIONS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + versions: _containers.RepeatedCompositeFieldContainer[DashboardVersion] + total_count: int + + def __init__(self, versions: _Optional[_Iterable[_Union[DashboardVersion, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class GetDashboardVersionRequest(_message.Message): + __slots__ = ('dashboard_id', 'version_number') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_NUMBER_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + version_number: int + + def __init__(self, dashboard_id: _Optional[str]=..., version_number: _Optional[int]=...) -> None: + ... + +class GetDashboardVersionResponse(_message.Message): + __slots__ = ('version',) + VERSION_FIELD_NUMBER: _ClassVar[int] + version: DashboardVersion + + def __init__(self, version: _Optional[_Union[DashboardVersion, _Mapping]]=...) -> None: + ... + +class RestoreDashboardVersionRequest(_message.Message): + __slots__ = ('dashboard_id', 'version_number') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_NUMBER_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + version_number: int + + def __init__(self, dashboard_id: _Optional[str]=..., version_number: _Optional[int]=...) -> None: + ... + +class RestoreDashboardVersionResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: Dashboard + + def __init__(self, dashboard: _Optional[_Union[Dashboard, _Mapping]]=...) -> None: + ... + +class GetDashboardViewStatsRequest(_message.Message): + __slots__ = ('dashboard_id',) + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + + def __init__(self, dashboard_id: _Optional[str]=...) -> None: + ... + +class DashboardViewerInfo(_message.Message): + __slots__ = ('member_id', 'last_viewed', 'view_count', 'display_name', 'recent_view_times') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + LAST_VIEWED_FIELD_NUMBER: _ClassVar[int] + VIEW_COUNT_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + RECENT_VIEW_TIMES_FIELD_NUMBER: _ClassVar[int] + member_id: str + last_viewed: _timestamp_pb2.Timestamp + view_count: int + display_name: str + recent_view_times: _containers.RepeatedCompositeFieldContainer[_timestamp_pb2.Timestamp] + + def __init__(self, member_id: _Optional[str]=..., last_viewed: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., view_count: _Optional[int]=..., display_name: _Optional[str]=..., recent_view_times: _Optional[_Iterable[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]]=...) -> None: + ... + +class GetDashboardViewStatsResponse(_message.Message): + __slots__ = ('total_views', 'unique_viewers', 'recent_viewers') + TOTAL_VIEWS_FIELD_NUMBER: _ClassVar[int] + UNIQUE_VIEWERS_FIELD_NUMBER: _ClassVar[int] + RECENT_VIEWERS_FIELD_NUMBER: _ClassVar[int] + total_views: int + unique_viewers: int + recent_viewers: _containers.RepeatedCompositeFieldContainer[DashboardViewerInfo] + + def __init__(self, total_views: _Optional[int]=..., unique_viewers: _Optional[int]=..., recent_viewers: _Optional[_Iterable[_Union[DashboardViewerInfo, _Mapping]]]=...) -> None: + ... + +class PreviewConfigDashboardRequest(_message.Message): + __slots__ = ('patch_ref', 'dashboard_path') + PATCH_REF_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_PATH_FIELD_NUMBER: _ClassVar[int] + patch_ref: str + dashboard_path: str + + def __init__(self, patch_ref: _Optional[str]=..., dashboard_path: _Optional[str]=...) -> None: + ... + +class PreviewConfigDashboardResponse(_message.Message): + __slots__ = ('url', 'embed_url') + URL_FIELD_NUMBER: _ClassVar[int] + EMBED_URL_FIELD_NUMBER: _ClassVar[int] + url: str + embed_url: str + + def __init__(self, url: _Optional[str]=..., embed_url: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/databricks_oauth_connect.py b/src/textql_sdk/_connect/public/databricks_oauth_connect.py new file mode 100644 index 0000000..cf34608 --- /dev/null +++ b/src/textql_sdk/_connect/public/databricks_oauth_connect.py @@ -0,0 +1,63 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import databricks_oauth_pb2 as public_dot_databricks__oauth__pb2 + +class DatabricksOAuthService(Protocol): + + async def get_databricks_o_auth_u_r_l(self, request: public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLRequest, ctx: RequestContext) -> public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_databricks_code(self, request: public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeRequest, ctx: RequestContext) -> public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class DatabricksOAuthServiceASGIApplication(ConnectASGIApplication[DatabricksOAuthService]): + + def __init__(self, service: DatabricksOAuthService | AsyncGenerator[DatabricksOAuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.databricks_oauth.DatabricksOAuthService/GetDatabricksOAuthURL': Endpoint.unary(method=MethodInfo(name='GetDatabricksOAuthURL', service_name='textql.rpc.public.databricks_oauth.DatabricksOAuthService', input=public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLRequest, output=public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_databricks_o_auth_u_r_l), '/textql.rpc.public.databricks_oauth.DatabricksOAuthService/ExchangeDatabricksCode': Endpoint.unary(method=MethodInfo(name='ExchangeDatabricksCode', service_name='textql.rpc.public.databricks_oauth.DatabricksOAuthService', input=public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeRequest, output=public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_databricks_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.databricks_oauth.DatabricksOAuthService' + +class DatabricksOAuthServiceClient(ConnectClient): + + async def get_databricks_o_auth_u_r_l(self, request: public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDatabricksOAuthURL', service_name='textql.rpc.public.databricks_oauth.DatabricksOAuthService', input=public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLRequest, output=public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_databricks_code(self, request: public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeDatabricksCode', service_name='textql.rpc.public.databricks_oauth.DatabricksOAuthService', input=public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeRequest, output=public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class DatabricksOAuthServiceSync(Protocol): + + def get_databricks_o_auth_u_r_l(self, request: public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLRequest, ctx: RequestContext) -> public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_databricks_code(self, request: public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeRequest, ctx: RequestContext) -> public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class DatabricksOAuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: DatabricksOAuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.databricks_oauth.DatabricksOAuthService/GetDatabricksOAuthURL': EndpointSync.unary(method=MethodInfo(name='GetDatabricksOAuthURL', service_name='textql.rpc.public.databricks_oauth.DatabricksOAuthService', input=public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLRequest, output=public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_databricks_o_auth_u_r_l), '/textql.rpc.public.databricks_oauth.DatabricksOAuthService/ExchangeDatabricksCode': EndpointSync.unary(method=MethodInfo(name='ExchangeDatabricksCode', service_name='textql.rpc.public.databricks_oauth.DatabricksOAuthService', input=public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeRequest, output=public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_databricks_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.databricks_oauth.DatabricksOAuthService' + +class DatabricksOAuthServiceClientSync(ConnectClientSync): + + def get_databricks_o_auth_u_r_l(self, request: public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDatabricksOAuthURL', service_name='textql.rpc.public.databricks_oauth.DatabricksOAuthService', input=public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLRequest, output=public_dot_databricks__oauth__pb2.GetDatabricksOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_databricks_code(self, request: public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeDatabricksCode', service_name='textql.rpc.public.databricks_oauth.DatabricksOAuthService', input=public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeRequest, output=public_dot_databricks__oauth__pb2.ExchangeDatabricksCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/databricks_oauth_pb2.py b/src/textql_sdk/_connect/public/databricks_oauth_pb2.py new file mode 100644 index 0000000..1996492 --- /dev/null +++ b/src/textql_sdk/_connect/public/databricks_oauth_pb2.py @@ -0,0 +1,38 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/databricks_oauth.proto') +_sym_db = _symbol_database.Default() +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dpublic/databricks_oauth.proto\x12"textql.rpc.public.databricks_oauth\x1a\x14public/options.proto"v\n\x1cGetDatabricksOAuthURLRequest\x12#\n\rworkspace_url\x18\x01 \x01(\tR\x0cworkspaceUrl\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state"g\n\x1dGetDatabricksOAuthURLResponse\x12\x1b\n\toauth_url\x18\x01 \x01(\tR\x08oauthUrl\x12)\n\rcode_verifier\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0ccodeVerifier"\xe7\x01\n\x1dExchangeDatabricksCodeRequest\x12\x18\n\x04code\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\x12#\n\rworkspace_url\x18\x03 \x01(\tR\x0cworkspaceUrl\x12\x1b\n\tclient_id\x18\x04 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret\x12)\n\rcode_verifier\x18\x06 \x01(\tB\x04\x88\xb5\x18\x01R\x0ccodeVerifier"\xe2\x01\n\x1eExchangeDatabricksCodeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\'\n\x0caccess_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1d\n\nexpires_in\x18\x04 \x01(\x03R\texpiresIn\x12\x14\n\x05scope\x18\x05 \x01(\tR\x05scope\x12\x1d\n\ntoken_type\x18\x06 \x01(\tR\ttokenType2\xd9\x02\n\x16DatabricksOAuthService\x12\x9c\x01\n\x15GetDatabricksOAuthURL\x12@.textql.rpc.public.databricks_oauth.GetDatabricksOAuthURLRequest\x1aA.textql.rpc.public.databricks_oauth.GetDatabricksOAuthURLResponse\x12\x9f\x01\n\x16ExchangeDatabricksCode\x12A.textql.rpc.public.databricks_oauth.ExchangeDatabricksCodeRequest\x1aB.textql.rpc.public.databricks_oauth.ExchangeDatabricksCodeResponseBGZ9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.databricks_oauth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNAL' + _globals['_GETDATABRICKSOAUTHURLRESPONSE'].fields_by_name['code_verifier']._loaded_options = None + _globals['_GETDATABRICKSOAUTHURLRESPONSE'].fields_by_name['code_verifier']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEDATABRICKSCODEREQUEST'].fields_by_name['code']._loaded_options = None + _globals['_EXCHANGEDATABRICKSCODEREQUEST'].fields_by_name['code']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEDATABRICKSCODEREQUEST'].fields_by_name['client_secret']._loaded_options = None + _globals['_EXCHANGEDATABRICKSCODEREQUEST'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEDATABRICKSCODEREQUEST'].fields_by_name['code_verifier']._loaded_options = None + _globals['_EXCHANGEDATABRICKSCODEREQUEST'].fields_by_name['code_verifier']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEDATABRICKSCODERESPONSE'].fields_by_name['access_token']._loaded_options = None + _globals['_EXCHANGEDATABRICKSCODERESPONSE'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEDATABRICKSCODERESPONSE'].fields_by_name['refresh_token']._loaded_options = None + _globals['_EXCHANGEDATABRICKSCODERESPONSE'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GETDATABRICKSOAUTHURLREQUEST']._serialized_start = 91 + _globals['_GETDATABRICKSOAUTHURLREQUEST']._serialized_end = 209 + _globals['_GETDATABRICKSOAUTHURLRESPONSE']._serialized_start = 211 + _globals['_GETDATABRICKSOAUTHURLRESPONSE']._serialized_end = 314 + _globals['_EXCHANGEDATABRICKSCODEREQUEST']._serialized_start = 317 + _globals['_EXCHANGEDATABRICKSCODEREQUEST']._serialized_end = 548 + _globals['_EXCHANGEDATABRICKSCODERESPONSE']._serialized_start = 551 + _globals['_EXCHANGEDATABRICKSCODERESPONSE']._serialized_end = 777 + _globals['_DATABRICKSOAUTHSERVICE']._serialized_start = 780 + _globals['_DATABRICKSOAUTHSERVICE']._serialized_end = 1125 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/databricks_oauth_pb2.pyi b/src/textql_sdk/_connect/public/databricks_oauth_pb2.pyi new file mode 100644 index 0000000..cfa3ef5 --- /dev/null +++ b/src/textql_sdk/_connect/public/databricks_oauth_pb2.pyi @@ -0,0 +1,63 @@ +from public import options_pb2 as _options_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Optional as _Optional +DESCRIPTOR: _descriptor.FileDescriptor + +class GetDatabricksOAuthURLRequest(_message.Message): + __slots__ = ('workspace_url', 'client_id', 'state') + WORKSPACE_URL_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + workspace_url: str + client_id: str + state: str + + def __init__(self, workspace_url: _Optional[str]=..., client_id: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class GetDatabricksOAuthURLResponse(_message.Message): + __slots__ = ('oauth_url', 'code_verifier') + OAUTH_URL_FIELD_NUMBER: _ClassVar[int] + CODE_VERIFIER_FIELD_NUMBER: _ClassVar[int] + oauth_url: str + code_verifier: str + + def __init__(self, oauth_url: _Optional[str]=..., code_verifier: _Optional[str]=...) -> None: + ... + +class ExchangeDatabricksCodeRequest(_message.Message): + __slots__ = ('code', 'state', 'workspace_url', 'client_id', 'client_secret', 'code_verifier') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_URL_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + CODE_VERIFIER_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + workspace_url: str + client_id: str + client_secret: str + code_verifier: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=..., workspace_url: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., code_verifier: _Optional[str]=...) -> None: + ... + +class ExchangeDatabricksCodeResponse(_message.Message): + __slots__ = ('success', 'access_token', 'refresh_token', 'expires_in', 'scope', 'token_type') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + TOKEN_TYPE_FIELD_NUMBER: _ClassVar[int] + success: bool + access_token: str + refresh_token: str + expires_in: int + scope: str + token_type: str + + def __init__(self, success: bool=..., access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., expires_in: _Optional[int]=..., scope: _Optional[str]=..., token_type: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/dataframe_pb2.py b/src/textql_sdk/_connect/public/dataframe_pb2.py new file mode 100644 index 0000000..034153d --- /dev/null +++ b/src/textql_sdk/_connect/public/dataframe_pb2.py @@ -0,0 +1,51 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/dataframe.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16public/dataframe.proto\x12\x1btextql.rpc.public.dataframe\x1a\x1fgoogle/protobuf/timestamp.proto"s\n\x15QueryDataFrameRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x17\n\x07df_name\x18\x02 \x01(\tR\x06dfName\x12\x12\n\x04page\x18\x03 \x01(\x05R\x04page\x12\x14\n\x05limit\x18\x04 \x01(\x05R\x05limit"P\n\x16QueryDataFrameResponse\x126\n\x02df\x18\x01 \x01(\x0b2&.textql.rpc.public.dataframe.DataFrameR\x02df"\x98\x01\n\rDataFrameInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08external\x18\x02 \x01(\x08R\x08external\x12\x19\n\x08num_rows\x18\x03 \x01(\x03R\x07numRows\x12\x19\n\x08num_cols\x18\x04 \x01(\x03R\x07numCols\x12!\n\x0cmemory_usage\x18\x05 \x01(\x03R\x0bmemoryUsage"u\n\x0eDataFrameField\x12\x1f\n\x0bcolumn_name\x18\x01 \x01(\tR\ncolumnName\x12\x1f\n\x0bcolumn_type\x18\x02 \x01(\tR\ncolumnType\x12!\n\x0ccolumn_index\x18\x03 \x01(\x05R\x0bcolumnIndex"\xf0\x05\n\x0fDataFrameColumn\x12!\n\x0ccolumn_index\x18\x01 \x01(\x05R\x0bcolumnIndex\x12E\n\x07doubles\x18\x02 \x01(\x0b2).textql.rpc.public.dataframe.DoubleValuesH\x00R\x07doubles\x12B\n\x06floats\x18\x03 \x01(\x0b2(.textql.rpc.public.dataframe.FloatValuesH\x00R\x06floats\x12E\n\x07strings\x18\x04 \x01(\x0b2).textql.rpc.public.dataframe.StringValuesH\x00R\x07strings\x12N\n\ntimestamps\x18\x05 \x01(\x0b2,.textql.rpc.public.dataframe.TimestampValuesH\x00R\ntimestamps\x12@\n\x05int32\x18\x06 \x01(\x0b2(.textql.rpc.public.dataframe.Int32ValuesH\x00R\x05int32\x12C\n\x06uint32\x18\x07 \x01(\x0b2).textql.rpc.public.dataframe.Uint32ValuesH\x00R\x06uint32\x12@\n\x05int64\x18\x08 \x01(\x0b2(.textql.rpc.public.dataframe.Int64ValuesH\x00R\x05int64\x12C\n\x06uint64\x18\t \x01(\x0b2).textql.rpc.public.dataframe.Uint64ValuesH\x00R\x06uint64\x12?\n\x05bools\x18\n \x01(\x0b2\'.textql.rpc.public.dataframe.BoolValuesH\x00R\x05bools\x12?\n\x05bytes\x18\x0b \x01(\x0b2\'.textql.rpc.public.dataframe.ByteValuesH\x00R\x05bytesB\x08\n\x06values"Y\n\x0fDataFrameRecord\x12F\n\x07columns\x18\x01 \x03(\x0b2,.textql.rpc.public.dataframe.DataFrameColumnR\x07columns"\x98\x01\n\tDataFrame\x12C\n\x06schema\x18\x01 \x03(\x0b2+.textql.rpc.public.dataframe.DataFrameFieldR\x06schema\x12F\n\x07records\x18\x02 \x03(\x0b2,.textql.rpc.public.dataframe.DataFrameRecordR\x07records"\xa5\x01\n\x11DataFrameWithInfo\x126\n\x02df\x18\x01 \x01(\x0b2&.textql.rpc.public.dataframe.DataFrameR\x02df\x12>\n\x04info\x18\x02 \x01(\x0b2*.textql.rpc.public.dataframe.DataFrameInfoR\x04info\x12\x18\n\x07preview\x18\x03 \x01(\x08R\x07preview"%\n\x0bInt64Values\x12\x16\n\x06values\x18\x01 \x03(\x03R\x06values"%\n\x0bInt32Values\x12\x16\n\x06values\x18\x01 \x03(\x05R\x06values"&\n\x0cUint64Values\x12\x16\n\x06values\x18\x01 \x03(\x04R\x06values"&\n\x0cUint32Values\x12\x16\n\x06values\x18\x01 \x03(\rR\x06values"&\n\x0cDoubleValues\x12\x16\n\x06values\x18\x01 \x03(\x01R\x06values"%\n\x0bFloatValues\x12\x16\n\x06values\x18\x01 \x03(\x02R\x06values"&\n\x0cStringValues\x12\x16\n\x06values\x18\x01 \x03(\tR\x06values"$\n\nBoolValues\x12\x16\n\x06values\x18\x01 \x03(\x08R\x06values"$\n\nByteValues\x12\x16\n\x06values\x18\x01 \x03(\x0cR\x06values"E\n\x0fTimestampValues\x122\n\x06values\x18\x01 \x03(\x0b2\x1a.google.protobuf.TimestampR\x06valuesb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.dataframe_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_QUERYDATAFRAMEREQUEST']._serialized_start = 88 + _globals['_QUERYDATAFRAMEREQUEST']._serialized_end = 203 + _globals['_QUERYDATAFRAMERESPONSE']._serialized_start = 205 + _globals['_QUERYDATAFRAMERESPONSE']._serialized_end = 285 + _globals['_DATAFRAMEINFO']._serialized_start = 288 + _globals['_DATAFRAMEINFO']._serialized_end = 440 + _globals['_DATAFRAMEFIELD']._serialized_start = 442 + _globals['_DATAFRAMEFIELD']._serialized_end = 559 + _globals['_DATAFRAMECOLUMN']._serialized_start = 562 + _globals['_DATAFRAMECOLUMN']._serialized_end = 1314 + _globals['_DATAFRAMERECORD']._serialized_start = 1316 + _globals['_DATAFRAMERECORD']._serialized_end = 1405 + _globals['_DATAFRAME']._serialized_start = 1408 + _globals['_DATAFRAME']._serialized_end = 1560 + _globals['_DATAFRAMEWITHINFO']._serialized_start = 1563 + _globals['_DATAFRAMEWITHINFO']._serialized_end = 1728 + _globals['_INT64VALUES']._serialized_start = 1730 + _globals['_INT64VALUES']._serialized_end = 1767 + _globals['_INT32VALUES']._serialized_start = 1769 + _globals['_INT32VALUES']._serialized_end = 1806 + _globals['_UINT64VALUES']._serialized_start = 1808 + _globals['_UINT64VALUES']._serialized_end = 1846 + _globals['_UINT32VALUES']._serialized_start = 1848 + _globals['_UINT32VALUES']._serialized_end = 1886 + _globals['_DOUBLEVALUES']._serialized_start = 1888 + _globals['_DOUBLEVALUES']._serialized_end = 1926 + _globals['_FLOATVALUES']._serialized_start = 1928 + _globals['_FLOATVALUES']._serialized_end = 1965 + _globals['_STRINGVALUES']._serialized_start = 1967 + _globals['_STRINGVALUES']._serialized_end = 2005 + _globals['_BOOLVALUES']._serialized_start = 2007 + _globals['_BOOLVALUES']._serialized_end = 2043 + _globals['_BYTEVALUES']._serialized_start = 2045 + _globals['_BYTEVALUES']._serialized_end = 2081 + _globals['_TIMESTAMPVALUES']._serialized_start = 2083 + _globals['_TIMESTAMPVALUES']._serialized_end = 2152 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/dataframe_pb2.pyi b/src/textql_sdk/_connect/public/dataframe_pb2.pyi new file mode 100644 index 0000000..659fdb0 --- /dev/null +++ b/src/textql_sdk/_connect/public/dataframe_pb2.pyi @@ -0,0 +1,196 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class QueryDataFrameRequest(_message.Message): + __slots__ = ('chat_id', 'df_name', 'page', 'limit') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + DF_NAME_FIELD_NUMBER: _ClassVar[int] + PAGE_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + chat_id: str + df_name: str + page: int + limit: int + + def __init__(self, chat_id: _Optional[str]=..., df_name: _Optional[str]=..., page: _Optional[int]=..., limit: _Optional[int]=...) -> None: + ... + +class QueryDataFrameResponse(_message.Message): + __slots__ = ('df',) + DF_FIELD_NUMBER: _ClassVar[int] + df: DataFrame + + def __init__(self, df: _Optional[_Union[DataFrame, _Mapping]]=...) -> None: + ... + +class DataFrameInfo(_message.Message): + __slots__ = ('name', 'external', 'num_rows', 'num_cols', 'memory_usage') + NAME_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_FIELD_NUMBER: _ClassVar[int] + NUM_ROWS_FIELD_NUMBER: _ClassVar[int] + NUM_COLS_FIELD_NUMBER: _ClassVar[int] + MEMORY_USAGE_FIELD_NUMBER: _ClassVar[int] + name: str + external: bool + num_rows: int + num_cols: int + memory_usage: int + + def __init__(self, name: _Optional[str]=..., external: bool=..., num_rows: _Optional[int]=..., num_cols: _Optional[int]=..., memory_usage: _Optional[int]=...) -> None: + ... + +class DataFrameField(_message.Message): + __slots__ = ('column_name', 'column_type', 'column_index') + COLUMN_NAME_FIELD_NUMBER: _ClassVar[int] + COLUMN_TYPE_FIELD_NUMBER: _ClassVar[int] + COLUMN_INDEX_FIELD_NUMBER: _ClassVar[int] + column_name: str + column_type: str + column_index: int + + def __init__(self, column_name: _Optional[str]=..., column_type: _Optional[str]=..., column_index: _Optional[int]=...) -> None: + ... + +class DataFrameColumn(_message.Message): + __slots__ = ('column_index', 'doubles', 'floats', 'strings', 'timestamps', 'int32', 'uint32', 'int64', 'uint64', 'bools', 'bytes') + COLUMN_INDEX_FIELD_NUMBER: _ClassVar[int] + DOUBLES_FIELD_NUMBER: _ClassVar[int] + FLOATS_FIELD_NUMBER: _ClassVar[int] + STRINGS_FIELD_NUMBER: _ClassVar[int] + TIMESTAMPS_FIELD_NUMBER: _ClassVar[int] + INT32_FIELD_NUMBER: _ClassVar[int] + UINT32_FIELD_NUMBER: _ClassVar[int] + INT64_FIELD_NUMBER: _ClassVar[int] + UINT64_FIELD_NUMBER: _ClassVar[int] + BOOLS_FIELD_NUMBER: _ClassVar[int] + BYTES_FIELD_NUMBER: _ClassVar[int] + column_index: int + doubles: DoubleValues + floats: FloatValues + strings: StringValues + timestamps: TimestampValues + int32: Int32Values + uint32: Uint32Values + int64: Int64Values + uint64: Uint64Values + bools: BoolValues + bytes: ByteValues + + def __init__(self, column_index: _Optional[int]=..., doubles: _Optional[_Union[DoubleValues, _Mapping]]=..., floats: _Optional[_Union[FloatValues, _Mapping]]=..., strings: _Optional[_Union[StringValues, _Mapping]]=..., timestamps: _Optional[_Union[TimestampValues, _Mapping]]=..., int32: _Optional[_Union[Int32Values, _Mapping]]=..., uint32: _Optional[_Union[Uint32Values, _Mapping]]=..., int64: _Optional[_Union[Int64Values, _Mapping]]=..., uint64: _Optional[_Union[Uint64Values, _Mapping]]=..., bools: _Optional[_Union[BoolValues, _Mapping]]=..., bytes: _Optional[_Union[ByteValues, _Mapping]]=...) -> None: + ... + +class DataFrameRecord(_message.Message): + __slots__ = ('columns',) + COLUMNS_FIELD_NUMBER: _ClassVar[int] + columns: _containers.RepeatedCompositeFieldContainer[DataFrameColumn] + + def __init__(self, columns: _Optional[_Iterable[_Union[DataFrameColumn, _Mapping]]]=...) -> None: + ... + +class DataFrame(_message.Message): + __slots__ = ('schema', 'records') + SCHEMA_FIELD_NUMBER: _ClassVar[int] + RECORDS_FIELD_NUMBER: _ClassVar[int] + schema: _containers.RepeatedCompositeFieldContainer[DataFrameField] + records: _containers.RepeatedCompositeFieldContainer[DataFrameRecord] + + def __init__(self, schema: _Optional[_Iterable[_Union[DataFrameField, _Mapping]]]=..., records: _Optional[_Iterable[_Union[DataFrameRecord, _Mapping]]]=...) -> None: + ... + +class DataFrameWithInfo(_message.Message): + __slots__ = ('df', 'info', 'preview') + DF_FIELD_NUMBER: _ClassVar[int] + INFO_FIELD_NUMBER: _ClassVar[int] + PREVIEW_FIELD_NUMBER: _ClassVar[int] + df: DataFrame + info: DataFrameInfo + preview: bool + + def __init__(self, df: _Optional[_Union[DataFrame, _Mapping]]=..., info: _Optional[_Union[DataFrameInfo, _Mapping]]=..., preview: bool=...) -> None: + ... + +class Int64Values(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, values: _Optional[_Iterable[int]]=...) -> None: + ... + +class Int32Values(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, values: _Optional[_Iterable[int]]=...) -> None: + ... + +class Uint64Values(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, values: _Optional[_Iterable[int]]=...) -> None: + ... + +class Uint32Values(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, values: _Optional[_Iterable[int]]=...) -> None: + ... + +class DoubleValues(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[float] + + def __init__(self, values: _Optional[_Iterable[float]]=...) -> None: + ... + +class FloatValues(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[float] + + def __init__(self, values: _Optional[_Iterable[float]]=...) -> None: + ... + +class StringValues(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, values: _Optional[_Iterable[str]]=...) -> None: + ... + +class BoolValues(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[bool] + + def __init__(self, values: _Optional[_Iterable[bool]]=...) -> None: + ... + +class ByteValues(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedScalarFieldContainer[bytes] + + def __init__(self, values: _Optional[_Iterable[bytes]]=...) -> None: + ... + +class TimestampValues(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedCompositeFieldContainer[_timestamp_pb2.Timestamp] + + def __init__(self, values: _Optional[_Iterable[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/dataset_connect.py b/src/textql_sdk/_connect/public/dataset_connect.py new file mode 100644 index 0000000..90e4396 --- /dev/null +++ b/src/textql_sdk/_connect/public/dataset_connect.py @@ -0,0 +1,207 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import dataset_pb2 as public_dot_dataset__pb2 + +class DatasetService(Protocol): + + async def create_folder(self, request: public_dot_dataset__pb2.CreateFolderRequest, ctx: RequestContext) -> public_dot_dataset__pb2.CreateFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_folders(self, request: public_dot_dataset__pb2.GetFoldersRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetFoldersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_upload_presign_url(self, request: public_dot_dataset__pb2.CreateUploadPresignUrlRequest, ctx: RequestContext) -> public_dot_dataset__pb2.CreateUploadPresignUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def process_upload_presign_url(self, request: public_dot_dataset__pb2.ProcessUploadPresignUrlRequest, ctx: RequestContext) -> public_dot_dataset__pb2.ProcessUploadPresignUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_dataset(self, request: public_dot_dataset__pb2.GetDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_datasets(self, request: public_dot_dataset__pb2.GetDatasetsRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_datasets_by_ids(self, request: public_dot_dataset__pb2.GetDatasetsByIdsRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetsByIdsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_dataset(self, request: public_dot_dataset__pb2.UpdateDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.UpdateDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def export_dataset(self, request: public_dot_dataset__pb2.ExportDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.ExportDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_dataset_values(self, request: public_dot_dataset__pb2.GetDatasetValuesRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetValuesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_dataset_stats(self, request: public_dot_dataset__pb2.GetDatasetStatsRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_tableau_dataset(self, request: public_dot_dataset__pb2.CreateTableauDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.CreateTableauDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_power_b_i_dataset(self, request: public_dot_dataset__pb2.CreatePowerBIDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.CreatePowerBIDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_dataset(self, request: public_dot_dataset__pb2.DeleteDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.DeleteDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class DatasetServiceASGIApplication(ConnectASGIApplication[DatasetService]): + + def __init__(self, service: DatasetService | AsyncGenerator[DatasetService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.dataset.DatasetService/CreateFolder': Endpoint.unary(method=MethodInfo(name='CreateFolder', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateFolderRequest, output=public_dot_dataset__pb2.CreateFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_folder), '/textql.rpc.public.dataset.DatasetService/GetFolders': Endpoint.unary(method=MethodInfo(name='GetFolders', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetFoldersRequest, output=public_dot_dataset__pb2.GetFoldersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_folders), '/textql.rpc.public.dataset.DatasetService/CreateUploadPresignUrl': Endpoint.unary(method=MethodInfo(name='CreateUploadPresignUrl', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateUploadPresignUrlRequest, output=public_dot_dataset__pb2.CreateUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_upload_presign_url), '/textql.rpc.public.dataset.DatasetService/ProcessUploadPresignUrl': Endpoint.unary(method=MethodInfo(name='ProcessUploadPresignUrl', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.ProcessUploadPresignUrlRequest, output=public_dot_dataset__pb2.ProcessUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.process_upload_presign_url), '/textql.rpc.public.dataset.DatasetService/GetDataset': Endpoint.unary(method=MethodInfo(name='GetDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetRequest, output=public_dot_dataset__pb2.GetDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_dataset), '/textql.rpc.public.dataset.DatasetService/GetDatasets': Endpoint.unary(method=MethodInfo(name='GetDatasets', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetsRequest, output=public_dot_dataset__pb2.GetDatasetsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_datasets), '/textql.rpc.public.dataset.DatasetService/GetDatasetsByIds': Endpoint.unary(method=MethodInfo(name='GetDatasetsByIds', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetsByIdsRequest, output=public_dot_dataset__pb2.GetDatasetsByIdsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_datasets_by_ids), '/textql.rpc.public.dataset.DatasetService/UpdateDataset': Endpoint.unary(method=MethodInfo(name='UpdateDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.UpdateDatasetRequest, output=public_dot_dataset__pb2.UpdateDatasetResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.update_dataset), '/textql.rpc.public.dataset.DatasetService/ExportDataset': Endpoint.unary(method=MethodInfo(name='ExportDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.ExportDatasetRequest, output=public_dot_dataset__pb2.ExportDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.export_dataset), '/textql.rpc.public.dataset.DatasetService/GetDatasetValues': Endpoint.unary(method=MethodInfo(name='GetDatasetValues', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetValuesRequest, output=public_dot_dataset__pb2.GetDatasetValuesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_dataset_values), '/textql.rpc.public.dataset.DatasetService/GetDatasetStats': Endpoint.unary(method=MethodInfo(name='GetDatasetStats', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetStatsRequest, output=public_dot_dataset__pb2.GetDatasetStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_dataset_stats), '/textql.rpc.public.dataset.DatasetService/CreateTableauDataset': Endpoint.unary(method=MethodInfo(name='CreateTableauDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateTableauDatasetRequest, output=public_dot_dataset__pb2.CreateTableauDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_tableau_dataset), '/textql.rpc.public.dataset.DatasetService/CreatePowerBIDataset': Endpoint.unary(method=MethodInfo(name='CreatePowerBIDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreatePowerBIDatasetRequest, output=public_dot_dataset__pb2.CreatePowerBIDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_power_b_i_dataset), '/textql.rpc.public.dataset.DatasetService/DeleteDataset': Endpoint.unary(method=MethodInfo(name='DeleteDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.DeleteDatasetRequest, output=public_dot_dataset__pb2.DeleteDatasetResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.delete_dataset)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.dataset.DatasetService' + +class DatasetServiceClient(ConnectClient): + + async def create_folder(self, request: public_dot_dataset__pb2.CreateFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.CreateFolderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateFolder', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateFolderRequest, output=public_dot_dataset__pb2.CreateFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_folders(self, request: public_dot_dataset__pb2.GetFoldersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetFoldersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetFolders', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetFoldersRequest, output=public_dot_dataset__pb2.GetFoldersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_upload_presign_url(self, request: public_dot_dataset__pb2.CreateUploadPresignUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.CreateUploadPresignUrlResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateUploadPresignUrl', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateUploadPresignUrlRequest, output=public_dot_dataset__pb2.CreateUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def process_upload_presign_url(self, request: public_dot_dataset__pb2.ProcessUploadPresignUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.ProcessUploadPresignUrlResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ProcessUploadPresignUrl', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.ProcessUploadPresignUrlRequest, output=public_dot_dataset__pb2.ProcessUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_dataset(self, request: public_dot_dataset__pb2.GetDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetRequest, output=public_dot_dataset__pb2.GetDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_datasets(self, request: public_dot_dataset__pb2.GetDatasetsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDatasets', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetsRequest, output=public_dot_dataset__pb2.GetDatasetsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_datasets_by_ids(self, request: public_dot_dataset__pb2.GetDatasetsByIdsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetsByIdsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDatasetsByIds', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetsByIdsRequest, output=public_dot_dataset__pb2.GetDatasetsByIdsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_dataset(self, request: public_dot_dataset__pb2.UpdateDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.UpdateDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.UpdateDatasetRequest, output=public_dot_dataset__pb2.UpdateDatasetResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def export_dataset(self, request: public_dot_dataset__pb2.ExportDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.ExportDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExportDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.ExportDatasetRequest, output=public_dot_dataset__pb2.ExportDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_dataset_values(self, request: public_dot_dataset__pb2.GetDatasetValuesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetValuesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDatasetValues', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetValuesRequest, output=public_dot_dataset__pb2.GetDatasetValuesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_dataset_stats(self, request: public_dot_dataset__pb2.GetDatasetStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDatasetStats', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetStatsRequest, output=public_dot_dataset__pb2.GetDatasetStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_tableau_dataset(self, request: public_dot_dataset__pb2.CreateTableauDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.CreateTableauDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateTableauDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateTableauDatasetRequest, output=public_dot_dataset__pb2.CreateTableauDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_power_b_i_dataset(self, request: public_dot_dataset__pb2.CreatePowerBIDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.CreatePowerBIDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreatePowerBIDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreatePowerBIDatasetRequest, output=public_dot_dataset__pb2.CreatePowerBIDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_dataset(self, request: public_dot_dataset__pb2.DeleteDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.DeleteDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.DeleteDatasetRequest, output=public_dot_dataset__pb2.DeleteDatasetResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + +class DatasetServiceSync(Protocol): + + def create_folder(self, request: public_dot_dataset__pb2.CreateFolderRequest, ctx: RequestContext) -> public_dot_dataset__pb2.CreateFolderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_folders(self, request: public_dot_dataset__pb2.GetFoldersRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetFoldersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_upload_presign_url(self, request: public_dot_dataset__pb2.CreateUploadPresignUrlRequest, ctx: RequestContext) -> public_dot_dataset__pb2.CreateUploadPresignUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def process_upload_presign_url(self, request: public_dot_dataset__pb2.ProcessUploadPresignUrlRequest, ctx: RequestContext) -> public_dot_dataset__pb2.ProcessUploadPresignUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_dataset(self, request: public_dot_dataset__pb2.GetDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_datasets(self, request: public_dot_dataset__pb2.GetDatasetsRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_datasets_by_ids(self, request: public_dot_dataset__pb2.GetDatasetsByIdsRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetsByIdsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_dataset(self, request: public_dot_dataset__pb2.UpdateDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.UpdateDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def export_dataset(self, request: public_dot_dataset__pb2.ExportDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.ExportDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_dataset_values(self, request: public_dot_dataset__pb2.GetDatasetValuesRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetValuesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_dataset_stats(self, request: public_dot_dataset__pb2.GetDatasetStatsRequest, ctx: RequestContext) -> public_dot_dataset__pb2.GetDatasetStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_tableau_dataset(self, request: public_dot_dataset__pb2.CreateTableauDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.CreateTableauDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_power_b_i_dataset(self, request: public_dot_dataset__pb2.CreatePowerBIDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.CreatePowerBIDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_dataset(self, request: public_dot_dataset__pb2.DeleteDatasetRequest, ctx: RequestContext) -> public_dot_dataset__pb2.DeleteDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class DatasetServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: DatasetServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.dataset.DatasetService/CreateFolder': EndpointSync.unary(method=MethodInfo(name='CreateFolder', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateFolderRequest, output=public_dot_dataset__pb2.CreateFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_folder), '/textql.rpc.public.dataset.DatasetService/GetFolders': EndpointSync.unary(method=MethodInfo(name='GetFolders', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetFoldersRequest, output=public_dot_dataset__pb2.GetFoldersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_folders), '/textql.rpc.public.dataset.DatasetService/CreateUploadPresignUrl': EndpointSync.unary(method=MethodInfo(name='CreateUploadPresignUrl', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateUploadPresignUrlRequest, output=public_dot_dataset__pb2.CreateUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_upload_presign_url), '/textql.rpc.public.dataset.DatasetService/ProcessUploadPresignUrl': EndpointSync.unary(method=MethodInfo(name='ProcessUploadPresignUrl', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.ProcessUploadPresignUrlRequest, output=public_dot_dataset__pb2.ProcessUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.process_upload_presign_url), '/textql.rpc.public.dataset.DatasetService/GetDataset': EndpointSync.unary(method=MethodInfo(name='GetDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetRequest, output=public_dot_dataset__pb2.GetDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_dataset), '/textql.rpc.public.dataset.DatasetService/GetDatasets': EndpointSync.unary(method=MethodInfo(name='GetDatasets', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetsRequest, output=public_dot_dataset__pb2.GetDatasetsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_datasets), '/textql.rpc.public.dataset.DatasetService/GetDatasetsByIds': EndpointSync.unary(method=MethodInfo(name='GetDatasetsByIds', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetsByIdsRequest, output=public_dot_dataset__pb2.GetDatasetsByIdsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_datasets_by_ids), '/textql.rpc.public.dataset.DatasetService/UpdateDataset': EndpointSync.unary(method=MethodInfo(name='UpdateDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.UpdateDatasetRequest, output=public_dot_dataset__pb2.UpdateDatasetResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.update_dataset), '/textql.rpc.public.dataset.DatasetService/ExportDataset': EndpointSync.unary(method=MethodInfo(name='ExportDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.ExportDatasetRequest, output=public_dot_dataset__pb2.ExportDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.export_dataset), '/textql.rpc.public.dataset.DatasetService/GetDatasetValues': EndpointSync.unary(method=MethodInfo(name='GetDatasetValues', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetValuesRequest, output=public_dot_dataset__pb2.GetDatasetValuesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_dataset_values), '/textql.rpc.public.dataset.DatasetService/GetDatasetStats': EndpointSync.unary(method=MethodInfo(name='GetDatasetStats', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetStatsRequest, output=public_dot_dataset__pb2.GetDatasetStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_dataset_stats), '/textql.rpc.public.dataset.DatasetService/CreateTableauDataset': EndpointSync.unary(method=MethodInfo(name='CreateTableauDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateTableauDatasetRequest, output=public_dot_dataset__pb2.CreateTableauDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_tableau_dataset), '/textql.rpc.public.dataset.DatasetService/CreatePowerBIDataset': EndpointSync.unary(method=MethodInfo(name='CreatePowerBIDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreatePowerBIDatasetRequest, output=public_dot_dataset__pb2.CreatePowerBIDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_power_b_i_dataset), '/textql.rpc.public.dataset.DatasetService/DeleteDataset': EndpointSync.unary(method=MethodInfo(name='DeleteDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.DeleteDatasetRequest, output=public_dot_dataset__pb2.DeleteDatasetResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.delete_dataset)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.dataset.DatasetService' + +class DatasetServiceClientSync(ConnectClientSync): + + def create_folder(self, request: public_dot_dataset__pb2.CreateFolderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.CreateFolderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateFolder', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateFolderRequest, output=public_dot_dataset__pb2.CreateFolderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_folders(self, request: public_dot_dataset__pb2.GetFoldersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetFoldersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetFolders', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetFoldersRequest, output=public_dot_dataset__pb2.GetFoldersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_upload_presign_url(self, request: public_dot_dataset__pb2.CreateUploadPresignUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.CreateUploadPresignUrlResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateUploadPresignUrl', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateUploadPresignUrlRequest, output=public_dot_dataset__pb2.CreateUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def process_upload_presign_url(self, request: public_dot_dataset__pb2.ProcessUploadPresignUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.ProcessUploadPresignUrlResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ProcessUploadPresignUrl', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.ProcessUploadPresignUrlRequest, output=public_dot_dataset__pb2.ProcessUploadPresignUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_dataset(self, request: public_dot_dataset__pb2.GetDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetRequest, output=public_dot_dataset__pb2.GetDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_datasets(self, request: public_dot_dataset__pb2.GetDatasetsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDatasets', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetsRequest, output=public_dot_dataset__pb2.GetDatasetsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_datasets_by_ids(self, request: public_dot_dataset__pb2.GetDatasetsByIdsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetsByIdsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDatasetsByIds', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetsByIdsRequest, output=public_dot_dataset__pb2.GetDatasetsByIdsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_dataset(self, request: public_dot_dataset__pb2.UpdateDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.UpdateDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.UpdateDatasetRequest, output=public_dot_dataset__pb2.UpdateDatasetResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def export_dataset(self, request: public_dot_dataset__pb2.ExportDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.ExportDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExportDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.ExportDatasetRequest, output=public_dot_dataset__pb2.ExportDatasetResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_dataset_values(self, request: public_dot_dataset__pb2.GetDatasetValuesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetValuesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDatasetValues', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetValuesRequest, output=public_dot_dataset__pb2.GetDatasetValuesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_dataset_stats(self, request: public_dot_dataset__pb2.GetDatasetStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_dataset__pb2.GetDatasetStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDatasetStats', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.GetDatasetStatsRequest, output=public_dot_dataset__pb2.GetDatasetStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_tableau_dataset(self, request: public_dot_dataset__pb2.CreateTableauDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.CreateTableauDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateTableauDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreateTableauDatasetRequest, output=public_dot_dataset__pb2.CreateTableauDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_power_b_i_dataset(self, request: public_dot_dataset__pb2.CreatePowerBIDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.CreatePowerBIDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreatePowerBIDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.CreatePowerBIDatasetRequest, output=public_dot_dataset__pb2.CreatePowerBIDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_dataset(self, request: public_dot_dataset__pb2.DeleteDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_dataset__pb2.DeleteDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteDataset', service_name='textql.rpc.public.dataset.DatasetService', input=public_dot_dataset__pb2.DeleteDatasetRequest, output=public_dot_dataset__pb2.DeleteDatasetResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/dataset_pb2.py b/src/textql_sdk/_connect/public/dataset_pb2.py new file mode 100644 index 0000000..74f404a --- /dev/null +++ b/src/textql_sdk/_connect/public/dataset_pb2.py @@ -0,0 +1,119 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/dataset.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import dataframe_pb2 as public_dot_dataframe__pb2 +from ..public import identity_pb2 as public_dot_identity__pb2 +from ..public import powerbi_pb2 as public_dot_powerbi__pb2 +from ..public import tableau_pb2 as public_dot_tableau__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14public/dataset.proto\x12\x19textql.rpc.public.dataset\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16public/dataframe.proto\x1a\x15public/identity.proto\x1a\x14public/powerbi.proto\x1a\x14public/tableau.proto"\x98\x01\n\rDatasetFolder\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x128\n\x05owner\x18\x02 \x01(\x0b2".textql.rpc.identity.MemberPreviewR\x05owner\x129\n\ncreated_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"\x8c\x07\n\x07Dataset\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12:\n\x04type\x18\x02 \x01(\x0e2&.textql.rpc.public.dataset.DatasetTypeR\x04type\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x18\n\x07version\x18\x04 \x01(\x05R\x07version\x12\x12\n\x04path\x18\x05 \x01(\tR\x04path\x128\n\x05owner\x18\x06 \x01(\x0b2".textql.rpc.identity.MemberPreviewR\x05owner\x12W\n\x10user_permissions\x18\x07 \x01(\x0e2,.textql.rpc.public.dataset.DatasetPermissionR\x0fuserPermissions\x129\n\ncreated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12>\n\nexpires_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\texpiresAt\x88\x01\x01\x12\x1c\n\tephemeral\x18\x0b \x01(\x08R\tephemeral\x12K\n\x0ctabular_file\x18\x0c \x01(\x0b2&.textql.rpc.public.dataset.TabularFileH\x00R\x0btabularFile\x12A\n\x08document\x18\r \x01(\x0b2#.textql.rpc.public.dataset.DocumentH\x00R\x08document\x12K\n\tdataframe\x18\x0e \x01(\x0b2+.textql.rpc.public.dataset.SandboxDataFrameH\x00R\tdataframe\x12K\n\x0ctableau_data\x18\x0f \x01(\x0b2&.textql.rpc.public.dataset.TableauDataH\x00R\x0btableauData\x12K\n\x0cpowerbi_data\x18\x10 \x01(\x0b2&.textql.rpc.public.dataset.PowerBIDataH\x00R\x0bpowerbiDataB\x06\n\x04dataB\r\n\x0b_expires_at"\xba\x01\n\x0bTabularFile\x12J\n\x08category\x18\x01 \x01(\x0e2..textql.rpc.public.dataset.TabularFileCategoryR\x08category\x12\x1b\n\trow_count\x18\x02 \x01(\x03R\x08rowCount\x12!\n\x0ccolumn_count\x18\x03 \x01(\x03R\x0bcolumnCount\x12\x1f\n\x0bsheet_count\x18\x04 \x01(\x05R\nsheetCount"J\n\x08Document\x12\x1f\n\x0bpreview_url\x18\x01 \x01(\tR\npreviewUrl\x12\x1d\n\npage_count\x18\x02 \x01(\x05R\tpageCount"R\n\x10SandboxDataFrame\x12>\n\x04info\x18\x01 \x01(\x0b2*.textql.rpc.public.dataframe.DataFrameInfoR\x04info"\x80\x02\n\x0bTableauData\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x1d\n\nproject_id\x18\x02 \x01(\tR\tprojectId\x12!\n\x0cproject_name\x18\x03 \x01(\tR\x0bprojectName\x12<\n\x05views\x18\x04 \x03(\x0b2&.textql.rpc.public.tableau.TableauViewR\x05views\x12N\n\x0bdatasources\x18\x05 \x03(\x0b2,.textql.rpc.public.tableau.TableauDatasourceR\x0bdatasources"\x82\x02\n\x0bPowerBIData\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x1d\n\nreport_ids\x18\x02 \x03(\tR\treportIds\x12\x1f\n\x0bdataset_ids\x18\x03 \x03(\tR\ndatasetIds\x12!\n\x0creport_names\x18\x04 \x03(\tR\x0breportNames\x12#\n\rdataset_names\x18\x05 \x03(\tR\x0cdatasetNames\x12!\n\x0cworkspace_id\x18\x06 \x01(\tR\x0bworkspaceId\x12%\n\x0eworkspace_name\x18\x07 \x01(\tR\rworkspaceName"J\n\x13CreateFolderRequest\x12\x1f\n\x0bparent_path\x18\x01 \x03(\tR\nparentPath\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"*\n\x14CreateFolderResponse\x12\x12\n\x04path\x18\x01 \x03(\tR\x04path"\'\n\x11GetFoldersRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path"X\n\x12GetFoldersResponse\x12B\n\x07folders\x18\x01 \x03(\x0b2(.textql.rpc.public.dataset.DatasetFolderR\x07folders"\xf8\x01\n\x1dCreateUploadPresignUrlRequest\x12:\n\x04type\x18\x01 \x01(\x0e2&.textql.rpc.public.dataset.DatasetTypeR\x04type\x12\x1b\n\tfile_name\x18\x02 \x01(\tR\x08fileName\x12\x1f\n\x0bfolder_path\x18\x03 \x03(\tR\nfolderPath\x12\x1c\n\tephemeral\x18\x04 \x01(\x08R\tephemeral\x12+\n\x0fexpires_in_days\x18\x05 \x01(\rH\x00R\rexpiresInDays\x88\x01\x01B\x12\n\x10_expires_in_days"\x89\x01\n\x1eCreateUploadPresignUrlResponse\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12\'\n\x0fdataset_version\x18\x02 \x01(\x05R\x0edatasetVersion\x12\x1f\n\x0bpresign_url\x18\x03 \x01(\tR\npresignUrl"h\n\x1eProcessUploadPresignUrlRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12\'\n\x0fdataset_version\x18\x02 \x01(\x05R\x0edatasetVersion"_\n\x1fProcessUploadPresignUrlResponse\x12<\n\x07dataset\x18\x01 \x01(\x0b2".textql.rpc.public.dataset.DatasetR\x07dataset"2\n\x11GetDatasetRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId"R\n\x12GetDatasetResponse\x12<\n\x07dataset\x18\x01 \x01(\x0b2".textql.rpc.public.dataset.DatasetR\x07dataset"\x93\x03\n\x12GetDatasetsRequest\x12<\n\x05types\x18\x01 \x03(\x0e2&.textql.rpc.public.dataset.DatasetTypeR\x05types\x12\x1d\n\nowner_only\x18\x02 \x01(\x08R\townerOnly\x12-\n\x12include_subfolders\x18\x03 \x01(\x08R\x11includeSubfolders\x12\x17\n\x04path\x18\x04 \x01(\tH\x00R\x04path\x88\x01\x01\x12&\n\x0csearch_param\x18\x05 \x01(\tH\x01R\x0bsearchParam\x88\x01\x01\x12@\n\x04sort\x18\x06 \x01(\x0e2\'.textql.rpc.public.dataset.DatasetsSortH\x02R\x04sort\x88\x01\x01\x12\x19\n\x05limit\x18\x07 \x01(\x05H\x03R\x05limit\x88\x01\x01\x12\x1b\n\x06cursor\x18\x08 \x01(\tH\x04R\x06cursor\x88\x01\x01B\x07\n\x05_pathB\x0f\n\r_search_paramB\x07\n\x05_sortB\x08\n\x06_limitB\t\n\x07_cursor"U\n\x13GetDatasetsResponse\x12>\n\x08datasets\x18\x01 \x03(\x0b2".textql.rpc.public.dataset.DatasetR\x08datasets":\n\x17GetDatasetsByIdsRequest\x12\x1f\n\x0bdataset_ids\x18\x01 \x03(\tR\ndatasetIds"Z\n\x18GetDatasetsByIdsResponse\x12>\n\x08datasets\x18\x01 \x03(\x0b2".textql.rpc.public.dataset.DatasetR\x08datasets"\xd6\x01\n\x14ExportDatasetRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12W\n\x10preferred_format\x18\x02 \x01(\x0e2\'.textql.rpc.public.dataset.ExportFormatH\x00R\x0fpreferredFormat\x88\x01\x01\x12"\n\nversion_id\x18\x03 \x01(\x05H\x01R\tversionId\x88\x01\x01B\x13\n\x11_preferred_formatB\r\n\x0b_version_id"<\n\x15ExportDatasetResponse\x12#\n\rpresigned_url\x18\x01 \x01(\tR\x0cpresignedUrl"\xd7\x01\n\x17GetDatasetValuesRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12"\n\nversion_id\x18\x02 \x01(\x05H\x00R\tversionId\x88\x01\x01\x12\x19\n\x05limit\x18\x03 \x01(\x05H\x01R\x05limit\x88\x01\x01\x12\x17\n\x04page\x18\x04 \x01(\x05H\x02R\x04page\x88\x01\x01\x12\x19\n\x05sheet\x18\x05 \x01(\x05H\x03R\x05sheet\x88\x01\x01B\r\n\x0b_version_idB\x08\n\x06_limitB\x07\n\x05_pageB\x08\n\x06_sheet"\x88\x01\n\x18GetDatasetValuesResponse\x126\n\x02df\x18\x01 \x01(\x0b2&.textql.rpc.public.dataframe.DataFrameR\x02df\x12\x19\n\x08num_cols\x18\x02 \x01(\x03R\x07numCols\x12\x19\n\x08num_rows\x18\x03 \x01(\x03R\x07numRows"j\n\x16GetDatasetStatsRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12"\n\nversion_id\x18\x02 \x01(\x05H\x00R\tversionId\x88\x01\x01B\r\n\x0b_version_id"\x19\n\x17GetDatasetStatsResponse"\xc5\x02\n\x1bCreateTableauDatasetRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n\x0bfolder_path\x18\x03 \x03(\tR\nfolderPath\x12\x1d\n\nproject_id\x18\x04 \x01(\tR\tprojectId\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12<\n\x05views\x18\x06 \x03(\x0b2&.textql.rpc.public.tableau.TableauViewR\x05views\x12N\n\x0bdatasources\x18\x07 \x03(\x0b2,.textql.rpc.public.tableau.TableauDatasourceR\x0bdatasources"\\\n\x1cCreateTableauDatasetResponse\x12<\n\x07dataset\x18\x01 \x01(\x0b2".textql.rpc.public.dataset.DatasetR\x07dataset"\xca\x02\n\x1bCreatePowerBIDatasetRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n\x0bfolder_path\x18\x03 \x03(\tR\nfolderPath\x12!\n\x0cworkspace_id\x18\x04 \x01(\tR\x0bworkspaceId\x12%\n\x0eworkspace_name\x18\x05 \x01(\tR\rworkspaceName\x12B\n\x07reports\x18\x06 \x03(\x0b2(.textql.rpc.public.powerbi.PowerBIReportR\x07reports\x12E\n\x08datasets\x18\x07 \x03(\x0b2).textql.rpc.public.powerbi.PowerBIDatasetR\x08datasets"\\\n\x1cCreatePowerBIDatasetResponse\x12<\n\x07dataset\x18\x01 \x01(\x0b2".textql.rpc.public.dataset.DatasetR\x07dataset"W\n\x14UpdateDatasetRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01B\x07\n\x05_name"U\n\x15UpdateDatasetResponse\x12<\n\x07dataset\x18\x01 \x01(\x0b2".textql.rpc.public.dataset.DatasetR\x07dataset"5\n\x14DeleteDatasetRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId"1\n\x15DeleteDatasetResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success*\x9b\x01\n\x0bDatasetType\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x10\n\x0cTYPE_TABULAR\x10\x01\x12\x12\n\x0eTYPE_DATAFRAME\x10\x02\x12\x11\n\rTYPE_DOCUMENT\x10\x03\x12\x10\n\x0cTYPE_TABLEAU\x10\x04\x12\x0e\n\nTYPE_IMAGE\x10\x05\x12\r\n\tTYPE_TEXT\x10\x06\x12\x10\n\x0cTYPE_POWERBI\x10\x07*k\n\x11DatasetPermission\x12\x16\n\x12PERMISSION_UNKNOWN\x10\x00\x12\x13\n\x0fPERMISSION_READ\x10\x01\x12\x13\n\x0fPERMISSION_EDIT\x10\x02\x12\x14\n\x10PERMISSION_ADMIN\x10\x03*\x9c\x01\n\x13TabularFileCategory\x12\x14\n\x10CATEGORY_UNKNOWN\x10\x00\x12\x10\n\x0cCATEGORY_CSV\x10\x01\x12\x10\n\x0cCATEGORY_TSV\x10\x02\x12\x11\n\rCATEGORY_XLSX\x10\x03\x12\x10\n\x0cCATEGORY_XLS\x10\x04\x12\x14\n\x10CATEGORY_PARQUET\x10\x05\x12\x10\n\x0cCATEGORY_ODS\x10\x06*U\n\x0cDatasetsSort\x12\x10\n\x0cSORT_UNKNOWN\x10\x00\x12\x0f\n\x0bSORT_LATEST\x10\x01\x12\x0f\n\x0bSORT_OLDEST\x10\x02\x12\x11\n\rSORT_RELEVANT\x10\x03*X\n\x0cExportFormat\x12\x12\n\x0eFORMAT_UNKNOWN\x10\x00\x12\x0e\n\nFORMAT_CSV\x10\x01\x12\x10\n\x0cFORMAT_EXCEL\x10\x02\x12\x12\n\x0eFORMAT_PARQUET\x10\x032\xfb\r\n\x0eDatasetService\x12o\n\x0cCreateFolder\x12..textql.rpc.public.dataset.CreateFolderRequest\x1a/.textql.rpc.public.dataset.CreateFolderResponse\x12n\n\nGetFolders\x12,.textql.rpc.public.dataset.GetFoldersRequest\x1a-.textql.rpc.public.dataset.GetFoldersResponse"\x03\x90\x02\x01\x12\x8d\x01\n\x16CreateUploadPresignUrl\x128.textql.rpc.public.dataset.CreateUploadPresignUrlRequest\x1a9.textql.rpc.public.dataset.CreateUploadPresignUrlResponse\x12\x90\x01\n\x17ProcessUploadPresignUrl\x129.textql.rpc.public.dataset.ProcessUploadPresignUrlRequest\x1a:.textql.rpc.public.dataset.ProcessUploadPresignUrlResponse\x12n\n\nGetDataset\x12,.textql.rpc.public.dataset.GetDatasetRequest\x1a-.textql.rpc.public.dataset.GetDatasetResponse"\x03\x90\x02\x01\x12q\n\x0bGetDatasets\x12-.textql.rpc.public.dataset.GetDatasetsRequest\x1a..textql.rpc.public.dataset.GetDatasetsResponse"\x03\x90\x02\x01\x12\x80\x01\n\x10GetDatasetsByIds\x122.textql.rpc.public.dataset.GetDatasetsByIdsRequest\x1a3.textql.rpc.public.dataset.GetDatasetsByIdsResponse"\x03\x90\x02\x01\x12w\n\rUpdateDataset\x12/.textql.rpc.public.dataset.UpdateDatasetRequest\x1a0.textql.rpc.public.dataset.UpdateDatasetResponse"\x03\x90\x02\x02\x12w\n\rExportDataset\x12/.textql.rpc.public.dataset.ExportDatasetRequest\x1a0.textql.rpc.public.dataset.ExportDatasetResponse"\x03\x90\x02\x01\x12\x80\x01\n\x10GetDatasetValues\x122.textql.rpc.public.dataset.GetDatasetValuesRequest\x1a3.textql.rpc.public.dataset.GetDatasetValuesResponse"\x03\x90\x02\x01\x12}\n\x0fGetDatasetStats\x121.textql.rpc.public.dataset.GetDatasetStatsRequest\x1a2.textql.rpc.public.dataset.GetDatasetStatsResponse"\x03\x90\x02\x01\x12\x87\x01\n\x14CreateTableauDataset\x126.textql.rpc.public.dataset.CreateTableauDatasetRequest\x1a7.textql.rpc.public.dataset.CreateTableauDatasetResponse\x12\x87\x01\n\x14CreatePowerBIDataset\x126.textql.rpc.public.dataset.CreatePowerBIDatasetRequest\x1a7.textql.rpc.public.dataset.CreatePowerBIDatasetResponse\x12w\n\rDeleteDataset\x12/.textql.rpc.public.dataset.DeleteDatasetRequest\x1a0.textql.rpc.public.dataset.DeleteDatasetResponse"\x03\x90\x02\x02b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.dataset_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['GetFolders']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['GetFolders']._serialized_options = b'\x90\x02\x01' + _globals['_DATASETSERVICE'].methods_by_name['GetDataset']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['GetDataset']._serialized_options = b'\x90\x02\x01' + _globals['_DATASETSERVICE'].methods_by_name['GetDatasets']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['GetDatasets']._serialized_options = b'\x90\x02\x01' + _globals['_DATASETSERVICE'].methods_by_name['GetDatasetsByIds']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['GetDatasetsByIds']._serialized_options = b'\x90\x02\x01' + _globals['_DATASETSERVICE'].methods_by_name['UpdateDataset']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['UpdateDataset']._serialized_options = b'\x90\x02\x02' + _globals['_DATASETSERVICE'].methods_by_name['ExportDataset']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['ExportDataset']._serialized_options = b'\x90\x02\x01' + _globals['_DATASETSERVICE'].methods_by_name['GetDatasetValues']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['GetDatasetValues']._serialized_options = b'\x90\x02\x01' + _globals['_DATASETSERVICE'].methods_by_name['GetDatasetStats']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['GetDatasetStats']._serialized_options = b'\x90\x02\x01' + _globals['_DATASETSERVICE'].methods_by_name['DeleteDataset']._loaded_options = None + _globals['_DATASETSERVICE'].methods_by_name['DeleteDataset']._serialized_options = b'\x90\x02\x02' + _globals['_DATASETTYPE']._serialized_start = 5639 + _globals['_DATASETTYPE']._serialized_end = 5794 + _globals['_DATASETPERMISSION']._serialized_start = 5796 + _globals['_DATASETPERMISSION']._serialized_end = 5903 + _globals['_TABULARFILECATEGORY']._serialized_start = 5906 + _globals['_TABULARFILECATEGORY']._serialized_end = 6062 + _globals['_DATASETSSORT']._serialized_start = 6064 + _globals['_DATASETSSORT']._serialized_end = 6149 + _globals['_EXPORTFORMAT']._serialized_start = 6151 + _globals['_EXPORTFORMAT']._serialized_end = 6239 + _globals['_DATASETFOLDER']._serialized_start = 176 + _globals['_DATASETFOLDER']._serialized_end = 328 + _globals['_DATASET']._serialized_start = 331 + _globals['_DATASET']._serialized_end = 1239 + _globals['_TABULARFILE']._serialized_start = 1242 + _globals['_TABULARFILE']._serialized_end = 1428 + _globals['_DOCUMENT']._serialized_start = 1430 + _globals['_DOCUMENT']._serialized_end = 1504 + _globals['_SANDBOXDATAFRAME']._serialized_start = 1506 + _globals['_SANDBOXDATAFRAME']._serialized_end = 1588 + _globals['_TABLEAUDATA']._serialized_start = 1591 + _globals['_TABLEAUDATA']._serialized_end = 1847 + _globals['_POWERBIDATA']._serialized_start = 1850 + _globals['_POWERBIDATA']._serialized_end = 2108 + _globals['_CREATEFOLDERREQUEST']._serialized_start = 2110 + _globals['_CREATEFOLDERREQUEST']._serialized_end = 2184 + _globals['_CREATEFOLDERRESPONSE']._serialized_start = 2186 + _globals['_CREATEFOLDERRESPONSE']._serialized_end = 2228 + _globals['_GETFOLDERSREQUEST']._serialized_start = 2230 + _globals['_GETFOLDERSREQUEST']._serialized_end = 2269 + _globals['_GETFOLDERSRESPONSE']._serialized_start = 2271 + _globals['_GETFOLDERSRESPONSE']._serialized_end = 2359 + _globals['_CREATEUPLOADPRESIGNURLREQUEST']._serialized_start = 2362 + _globals['_CREATEUPLOADPRESIGNURLREQUEST']._serialized_end = 2610 + _globals['_CREATEUPLOADPRESIGNURLRESPONSE']._serialized_start = 2613 + _globals['_CREATEUPLOADPRESIGNURLRESPONSE']._serialized_end = 2750 + _globals['_PROCESSUPLOADPRESIGNURLREQUEST']._serialized_start = 2752 + _globals['_PROCESSUPLOADPRESIGNURLREQUEST']._serialized_end = 2856 + _globals['_PROCESSUPLOADPRESIGNURLRESPONSE']._serialized_start = 2858 + _globals['_PROCESSUPLOADPRESIGNURLRESPONSE']._serialized_end = 2953 + _globals['_GETDATASETREQUEST']._serialized_start = 2955 + _globals['_GETDATASETREQUEST']._serialized_end = 3005 + _globals['_GETDATASETRESPONSE']._serialized_start = 3007 + _globals['_GETDATASETRESPONSE']._serialized_end = 3089 + _globals['_GETDATASETSREQUEST']._serialized_start = 3092 + _globals['_GETDATASETSREQUEST']._serialized_end = 3495 + _globals['_GETDATASETSRESPONSE']._serialized_start = 3497 + _globals['_GETDATASETSRESPONSE']._serialized_end = 3582 + _globals['_GETDATASETSBYIDSREQUEST']._serialized_start = 3584 + _globals['_GETDATASETSBYIDSREQUEST']._serialized_end = 3642 + _globals['_GETDATASETSBYIDSRESPONSE']._serialized_start = 3644 + _globals['_GETDATASETSBYIDSRESPONSE']._serialized_end = 3734 + _globals['_EXPORTDATASETREQUEST']._serialized_start = 3737 + _globals['_EXPORTDATASETREQUEST']._serialized_end = 3951 + _globals['_EXPORTDATASETRESPONSE']._serialized_start = 3953 + _globals['_EXPORTDATASETRESPONSE']._serialized_end = 4013 + _globals['_GETDATASETVALUESREQUEST']._serialized_start = 4016 + _globals['_GETDATASETVALUESREQUEST']._serialized_end = 4231 + _globals['_GETDATASETVALUESRESPONSE']._serialized_start = 4234 + _globals['_GETDATASETVALUESRESPONSE']._serialized_end = 4370 + _globals['_GETDATASETSTATSREQUEST']._serialized_start = 4372 + _globals['_GETDATASETSTATSREQUEST']._serialized_end = 4478 + _globals['_GETDATASETSTATSRESPONSE']._serialized_start = 4480 + _globals['_GETDATASETSTATSRESPONSE']._serialized_end = 4505 + _globals['_CREATETABLEAUDATASETREQUEST']._serialized_start = 4508 + _globals['_CREATETABLEAUDATASETREQUEST']._serialized_end = 4833 + _globals['_CREATETABLEAUDATASETRESPONSE']._serialized_start = 4835 + _globals['_CREATETABLEAUDATASETRESPONSE']._serialized_end = 4927 + _globals['_CREATEPOWERBIDATASETREQUEST']._serialized_start = 4930 + _globals['_CREATEPOWERBIDATASETREQUEST']._serialized_end = 5260 + _globals['_CREATEPOWERBIDATASETRESPONSE']._serialized_start = 5262 + _globals['_CREATEPOWERBIDATASETRESPONSE']._serialized_end = 5354 + _globals['_UPDATEDATASETREQUEST']._serialized_start = 5356 + _globals['_UPDATEDATASETREQUEST']._serialized_end = 5443 + _globals['_UPDATEDATASETRESPONSE']._serialized_start = 5445 + _globals['_UPDATEDATASETRESPONSE']._serialized_end = 5530 + _globals['_DELETEDATASETREQUEST']._serialized_start = 5532 + _globals['_DELETEDATASETREQUEST']._serialized_end = 5585 + _globals['_DELETEDATASETRESPONSE']._serialized_start = 5587 + _globals['_DELETEDATASETRESPONSE']._serialized_end = 5636 + _globals['_DATASETSERVICE']._serialized_start = 6242 + _globals['_DATASETSERVICE']._serialized_end = 8029 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/dataset_pb2.pyi b/src/textql_sdk/_connect/public/dataset_pb2.pyi new file mode 100644 index 0000000..af11334 --- /dev/null +++ b/src/textql_sdk/_connect/public/dataset_pb2.pyi @@ -0,0 +1,496 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import dataframe_pb2 as _dataframe_pb2 +from public import identity_pb2 as _identity_pb2 +from public import powerbi_pb2 as _powerbi_pb2 +from public import tableau_pb2 as _tableau_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class DatasetType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + TYPE_UNKNOWN: _ClassVar[DatasetType] + TYPE_TABULAR: _ClassVar[DatasetType] + TYPE_DATAFRAME: _ClassVar[DatasetType] + TYPE_DOCUMENT: _ClassVar[DatasetType] + TYPE_TABLEAU: _ClassVar[DatasetType] + TYPE_IMAGE: _ClassVar[DatasetType] + TYPE_TEXT: _ClassVar[DatasetType] + TYPE_POWERBI: _ClassVar[DatasetType] + +class DatasetPermission(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PERMISSION_UNKNOWN: _ClassVar[DatasetPermission] + PERMISSION_READ: _ClassVar[DatasetPermission] + PERMISSION_EDIT: _ClassVar[DatasetPermission] + PERMISSION_ADMIN: _ClassVar[DatasetPermission] + +class TabularFileCategory(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CATEGORY_UNKNOWN: _ClassVar[TabularFileCategory] + CATEGORY_CSV: _ClassVar[TabularFileCategory] + CATEGORY_TSV: _ClassVar[TabularFileCategory] + CATEGORY_XLSX: _ClassVar[TabularFileCategory] + CATEGORY_XLS: _ClassVar[TabularFileCategory] + CATEGORY_PARQUET: _ClassVar[TabularFileCategory] + CATEGORY_ODS: _ClassVar[TabularFileCategory] + +class DatasetsSort(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SORT_UNKNOWN: _ClassVar[DatasetsSort] + SORT_LATEST: _ClassVar[DatasetsSort] + SORT_OLDEST: _ClassVar[DatasetsSort] + SORT_RELEVANT: _ClassVar[DatasetsSort] + +class ExportFormat(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + FORMAT_UNKNOWN: _ClassVar[ExportFormat] + FORMAT_CSV: _ClassVar[ExportFormat] + FORMAT_EXCEL: _ClassVar[ExportFormat] + FORMAT_PARQUET: _ClassVar[ExportFormat] +TYPE_UNKNOWN: DatasetType +TYPE_TABULAR: DatasetType +TYPE_DATAFRAME: DatasetType +TYPE_DOCUMENT: DatasetType +TYPE_TABLEAU: DatasetType +TYPE_IMAGE: DatasetType +TYPE_TEXT: DatasetType +TYPE_POWERBI: DatasetType +PERMISSION_UNKNOWN: DatasetPermission +PERMISSION_READ: DatasetPermission +PERMISSION_EDIT: DatasetPermission +PERMISSION_ADMIN: DatasetPermission +CATEGORY_UNKNOWN: TabularFileCategory +CATEGORY_CSV: TabularFileCategory +CATEGORY_TSV: TabularFileCategory +CATEGORY_XLSX: TabularFileCategory +CATEGORY_XLS: TabularFileCategory +CATEGORY_PARQUET: TabularFileCategory +CATEGORY_ODS: TabularFileCategory +SORT_UNKNOWN: DatasetsSort +SORT_LATEST: DatasetsSort +SORT_OLDEST: DatasetsSort +SORT_RELEVANT: DatasetsSort +FORMAT_UNKNOWN: ExportFormat +FORMAT_CSV: ExportFormat +FORMAT_EXCEL: ExportFormat +FORMAT_PARQUET: ExportFormat + +class DatasetFolder(_message.Message): + __slots__ = ('path', 'owner', 'created_at') + PATH_FIELD_NUMBER: _ClassVar[int] + OWNER_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + path: str + owner: _identity_pb2.MemberPreview + created_at: _timestamp_pb2.Timestamp + + def __init__(self, path: _Optional[str]=..., owner: _Optional[_Union[_identity_pb2.MemberPreview, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class Dataset(_message.Message): + __slots__ = ('id', 'type', 'name', 'version', 'path', 'owner', 'user_permissions', 'created_at', 'updated_at', 'expires_at', 'ephemeral', 'tabular_file', 'document', 'dataframe', 'tableau_data', 'powerbi_data') + ID_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + OWNER_FIELD_NUMBER: _ClassVar[int] + USER_PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + EPHEMERAL_FIELD_NUMBER: _ClassVar[int] + TABULAR_FILE_FIELD_NUMBER: _ClassVar[int] + DOCUMENT_FIELD_NUMBER: _ClassVar[int] + DATAFRAME_FIELD_NUMBER: _ClassVar[int] + TABLEAU_DATA_FIELD_NUMBER: _ClassVar[int] + POWERBI_DATA_FIELD_NUMBER: _ClassVar[int] + id: str + type: DatasetType + name: str + version: int + path: str + owner: _identity_pb2.MemberPreview + user_permissions: DatasetPermission + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + expires_at: _timestamp_pb2.Timestamp + ephemeral: bool + tabular_file: TabularFile + document: Document + dataframe: SandboxDataFrame + tableau_data: TableauData + powerbi_data: PowerBIData + + def __init__(self, id: _Optional[str]=..., type: _Optional[_Union[DatasetType, str]]=..., name: _Optional[str]=..., version: _Optional[int]=..., path: _Optional[str]=..., owner: _Optional[_Union[_identity_pb2.MemberPreview, _Mapping]]=..., user_permissions: _Optional[_Union[DatasetPermission, str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., ephemeral: bool=..., tabular_file: _Optional[_Union[TabularFile, _Mapping]]=..., document: _Optional[_Union[Document, _Mapping]]=..., dataframe: _Optional[_Union[SandboxDataFrame, _Mapping]]=..., tableau_data: _Optional[_Union[TableauData, _Mapping]]=..., powerbi_data: _Optional[_Union[PowerBIData, _Mapping]]=...) -> None: + ... + +class TabularFile(_message.Message): + __slots__ = ('category', 'row_count', 'column_count', 'sheet_count') + CATEGORY_FIELD_NUMBER: _ClassVar[int] + ROW_COUNT_FIELD_NUMBER: _ClassVar[int] + COLUMN_COUNT_FIELD_NUMBER: _ClassVar[int] + SHEET_COUNT_FIELD_NUMBER: _ClassVar[int] + category: TabularFileCategory + row_count: int + column_count: int + sheet_count: int + + def __init__(self, category: _Optional[_Union[TabularFileCategory, str]]=..., row_count: _Optional[int]=..., column_count: _Optional[int]=..., sheet_count: _Optional[int]=...) -> None: + ... + +class Document(_message.Message): + __slots__ = ('preview_url', 'page_count') + PREVIEW_URL_FIELD_NUMBER: _ClassVar[int] + PAGE_COUNT_FIELD_NUMBER: _ClassVar[int] + preview_url: str + page_count: int + + def __init__(self, preview_url: _Optional[str]=..., page_count: _Optional[int]=...) -> None: + ... + +class SandboxDataFrame(_message.Message): + __slots__ = ('info',) + INFO_FIELD_NUMBER: _ClassVar[int] + info: _dataframe_pb2.DataFrameInfo + + def __init__(self, info: _Optional[_Union[_dataframe_pb2.DataFrameInfo, _Mapping]]=...) -> None: + ... + +class TableauData(_message.Message): + __slots__ = ('connector_id', 'project_id', 'project_name', 'views', 'datasources') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_NAME_FIELD_NUMBER: _ClassVar[int] + VIEWS_FIELD_NUMBER: _ClassVar[int] + DATASOURCES_FIELD_NUMBER: _ClassVar[int] + connector_id: int + project_id: str + project_name: str + views: _containers.RepeatedCompositeFieldContainer[_tableau_pb2.TableauView] + datasources: _containers.RepeatedCompositeFieldContainer[_tableau_pb2.TableauDatasource] + + def __init__(self, connector_id: _Optional[int]=..., project_id: _Optional[str]=..., project_name: _Optional[str]=..., views: _Optional[_Iterable[_Union[_tableau_pb2.TableauView, _Mapping]]]=..., datasources: _Optional[_Iterable[_Union[_tableau_pb2.TableauDatasource, _Mapping]]]=...) -> None: + ... + +class PowerBIData(_message.Message): + __slots__ = ('connector_id', 'report_ids', 'dataset_ids', 'report_names', 'dataset_names', 'workspace_id', 'workspace_name') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + REPORT_NAMES_FIELD_NUMBER: _ClassVar[int] + DATASET_NAMES_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_NAME_FIELD_NUMBER: _ClassVar[int] + connector_id: int + report_ids: _containers.RepeatedScalarFieldContainer[str] + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + report_names: _containers.RepeatedScalarFieldContainer[str] + dataset_names: _containers.RepeatedScalarFieldContainer[str] + workspace_id: str + workspace_name: str + + def __init__(self, connector_id: _Optional[int]=..., report_ids: _Optional[_Iterable[str]]=..., dataset_ids: _Optional[_Iterable[str]]=..., report_names: _Optional[_Iterable[str]]=..., dataset_names: _Optional[_Iterable[str]]=..., workspace_id: _Optional[str]=..., workspace_name: _Optional[str]=...) -> None: + ... + +class CreateFolderRequest(_message.Message): + __slots__ = ('parent_path', 'name') + PARENT_PATH_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + parent_path: _containers.RepeatedScalarFieldContainer[str] + name: str + + def __init__(self, parent_path: _Optional[_Iterable[str]]=..., name: _Optional[str]=...) -> None: + ... + +class CreateFolderResponse(_message.Message): + __slots__ = ('path',) + PATH_FIELD_NUMBER: _ClassVar[int] + path: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, path: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetFoldersRequest(_message.Message): + __slots__ = ('path',) + PATH_FIELD_NUMBER: _ClassVar[int] + path: str + + def __init__(self, path: _Optional[str]=...) -> None: + ... + +class GetFoldersResponse(_message.Message): + __slots__ = ('folders',) + FOLDERS_FIELD_NUMBER: _ClassVar[int] + folders: _containers.RepeatedCompositeFieldContainer[DatasetFolder] + + def __init__(self, folders: _Optional[_Iterable[_Union[DatasetFolder, _Mapping]]]=...) -> None: + ... + +class CreateUploadPresignUrlRequest(_message.Message): + __slots__ = ('type', 'file_name', 'folder_path', 'ephemeral', 'expires_in_days') + TYPE_FIELD_NUMBER: _ClassVar[int] + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + FOLDER_PATH_FIELD_NUMBER: _ClassVar[int] + EPHEMERAL_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_DAYS_FIELD_NUMBER: _ClassVar[int] + type: DatasetType + file_name: str + folder_path: _containers.RepeatedScalarFieldContainer[str] + ephemeral: bool + expires_in_days: int + + def __init__(self, type: _Optional[_Union[DatasetType, str]]=..., file_name: _Optional[str]=..., folder_path: _Optional[_Iterable[str]]=..., ephemeral: bool=..., expires_in_days: _Optional[int]=...) -> None: + ... + +class CreateUploadPresignUrlResponse(_message.Message): + __slots__ = ('dataset_id', 'dataset_version', 'presign_url') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_VERSION_FIELD_NUMBER: _ClassVar[int] + PRESIGN_URL_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + dataset_version: int + presign_url: str + + def __init__(self, dataset_id: _Optional[str]=..., dataset_version: _Optional[int]=..., presign_url: _Optional[str]=...) -> None: + ... + +class ProcessUploadPresignUrlRequest(_message.Message): + __slots__ = ('dataset_id', 'dataset_version') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_VERSION_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + dataset_version: int + + def __init__(self, dataset_id: _Optional[str]=..., dataset_version: _Optional[int]=...) -> None: + ... + +class ProcessUploadPresignUrlResponse(_message.Message): + __slots__ = ('dataset',) + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: Dataset + + def __init__(self, dataset: _Optional[_Union[Dataset, _Mapping]]=...) -> None: + ... + +class GetDatasetRequest(_message.Message): + __slots__ = ('dataset_id',) + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + + def __init__(self, dataset_id: _Optional[str]=...) -> None: + ... + +class GetDatasetResponse(_message.Message): + __slots__ = ('dataset',) + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: Dataset + + def __init__(self, dataset: _Optional[_Union[Dataset, _Mapping]]=...) -> None: + ... + +class GetDatasetsRequest(_message.Message): + __slots__ = ('types', 'owner_only', 'include_subfolders', 'path', 'search_param', 'sort', 'limit', 'cursor') + TYPES_FIELD_NUMBER: _ClassVar[int] + OWNER_ONLY_FIELD_NUMBER: _ClassVar[int] + INCLUDE_SUBFOLDERS_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + SEARCH_PARAM_FIELD_NUMBER: _ClassVar[int] + SORT_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + CURSOR_FIELD_NUMBER: _ClassVar[int] + types: _containers.RepeatedScalarFieldContainer[DatasetType] + owner_only: bool + include_subfolders: bool + path: str + search_param: str + sort: DatasetsSort + limit: int + cursor: str + + def __init__(self, types: _Optional[_Iterable[_Union[DatasetType, str]]]=..., owner_only: bool=..., include_subfolders: bool=..., path: _Optional[str]=..., search_param: _Optional[str]=..., sort: _Optional[_Union[DatasetsSort, str]]=..., limit: _Optional[int]=..., cursor: _Optional[str]=...) -> None: + ... + +class GetDatasetsResponse(_message.Message): + __slots__ = ('datasets',) + DATASETS_FIELD_NUMBER: _ClassVar[int] + datasets: _containers.RepeatedCompositeFieldContainer[Dataset] + + def __init__(self, datasets: _Optional[_Iterable[_Union[Dataset, _Mapping]]]=...) -> None: + ... + +class GetDatasetsByIdsRequest(_message.Message): + __slots__ = ('dataset_ids',) + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, dataset_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetDatasetsByIdsResponse(_message.Message): + __slots__ = ('datasets',) + DATASETS_FIELD_NUMBER: _ClassVar[int] + datasets: _containers.RepeatedCompositeFieldContainer[Dataset] + + def __init__(self, datasets: _Optional[_Iterable[_Union[Dataset, _Mapping]]]=...) -> None: + ... + +class ExportDatasetRequest(_message.Message): + __slots__ = ('dataset_id', 'preferred_format', 'version_id') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + PREFERRED_FORMAT_FIELD_NUMBER: _ClassVar[int] + VERSION_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + preferred_format: ExportFormat + version_id: int + + def __init__(self, dataset_id: _Optional[str]=..., preferred_format: _Optional[_Union[ExportFormat, str]]=..., version_id: _Optional[int]=...) -> None: + ... + +class ExportDatasetResponse(_message.Message): + __slots__ = ('presigned_url',) + PRESIGNED_URL_FIELD_NUMBER: _ClassVar[int] + presigned_url: str + + def __init__(self, presigned_url: _Optional[str]=...) -> None: + ... + +class GetDatasetValuesRequest(_message.Message): + __slots__ = ('dataset_id', 'version_id', 'limit', 'page', 'sheet') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + PAGE_FIELD_NUMBER: _ClassVar[int] + SHEET_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + version_id: int + limit: int + page: int + sheet: int + + def __init__(self, dataset_id: _Optional[str]=..., version_id: _Optional[int]=..., limit: _Optional[int]=..., page: _Optional[int]=..., sheet: _Optional[int]=...) -> None: + ... + +class GetDatasetValuesResponse(_message.Message): + __slots__ = ('df', 'num_cols', 'num_rows') + DF_FIELD_NUMBER: _ClassVar[int] + NUM_COLS_FIELD_NUMBER: _ClassVar[int] + NUM_ROWS_FIELD_NUMBER: _ClassVar[int] + df: _dataframe_pb2.DataFrame + num_cols: int + num_rows: int + + def __init__(self, df: _Optional[_Union[_dataframe_pb2.DataFrame, _Mapping]]=..., num_cols: _Optional[int]=..., num_rows: _Optional[int]=...) -> None: + ... + +class GetDatasetStatsRequest(_message.Message): + __slots__ = ('dataset_id', 'version_id') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + version_id: int + + def __init__(self, dataset_id: _Optional[str]=..., version_id: _Optional[int]=...) -> None: + ... + +class GetDatasetStatsResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class CreateTableauDatasetRequest(_message.Message): + __slots__ = ('connector_id', 'name', 'folder_path', 'project_id', 'project_name', 'views', 'datasources') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + FOLDER_PATH_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_NAME_FIELD_NUMBER: _ClassVar[int] + VIEWS_FIELD_NUMBER: _ClassVar[int] + DATASOURCES_FIELD_NUMBER: _ClassVar[int] + connector_id: int + name: str + folder_path: _containers.RepeatedScalarFieldContainer[str] + project_id: str + project_name: str + views: _containers.RepeatedCompositeFieldContainer[_tableau_pb2.TableauView] + datasources: _containers.RepeatedCompositeFieldContainer[_tableau_pb2.TableauDatasource] + + def __init__(self, connector_id: _Optional[int]=..., name: _Optional[str]=..., folder_path: _Optional[_Iterable[str]]=..., project_id: _Optional[str]=..., project_name: _Optional[str]=..., views: _Optional[_Iterable[_Union[_tableau_pb2.TableauView, _Mapping]]]=..., datasources: _Optional[_Iterable[_Union[_tableau_pb2.TableauDatasource, _Mapping]]]=...) -> None: + ... + +class CreateTableauDatasetResponse(_message.Message): + __slots__ = ('dataset',) + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: Dataset + + def __init__(self, dataset: _Optional[_Union[Dataset, _Mapping]]=...) -> None: + ... + +class CreatePowerBIDatasetRequest(_message.Message): + __slots__ = ('connector_id', 'name', 'folder_path', 'workspace_id', 'workspace_name', 'reports', 'datasets') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + FOLDER_PATH_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_NAME_FIELD_NUMBER: _ClassVar[int] + REPORTS_FIELD_NUMBER: _ClassVar[int] + DATASETS_FIELD_NUMBER: _ClassVar[int] + connector_id: int + name: str + folder_path: _containers.RepeatedScalarFieldContainer[str] + workspace_id: str + workspace_name: str + reports: _containers.RepeatedCompositeFieldContainer[_powerbi_pb2.PowerBIReport] + datasets: _containers.RepeatedCompositeFieldContainer[_powerbi_pb2.PowerBIDataset] + + def __init__(self, connector_id: _Optional[int]=..., name: _Optional[str]=..., folder_path: _Optional[_Iterable[str]]=..., workspace_id: _Optional[str]=..., workspace_name: _Optional[str]=..., reports: _Optional[_Iterable[_Union[_powerbi_pb2.PowerBIReport, _Mapping]]]=..., datasets: _Optional[_Iterable[_Union[_powerbi_pb2.PowerBIDataset, _Mapping]]]=...) -> None: + ... + +class CreatePowerBIDatasetResponse(_message.Message): + __slots__ = ('dataset',) + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: Dataset + + def __init__(self, dataset: _Optional[_Union[Dataset, _Mapping]]=...) -> None: + ... + +class UpdateDatasetRequest(_message.Message): + __slots__ = ('dataset_id', 'name') + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + name: str + + def __init__(self, dataset_id: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class UpdateDatasetResponse(_message.Message): + __slots__ = ('dataset',) + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: Dataset + + def __init__(self, dataset: _Optional[_Union[Dataset, _Mapping]]=...) -> None: + ... + +class DeleteDatasetRequest(_message.Message): + __slots__ = ('dataset_id',) + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + + def __init__(self, dataset_id: _Optional[str]=...) -> None: + ... + +class DeleteDatasetResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/engagement_connect.py b/src/textql_sdk/_connect/public/engagement_connect.py new file mode 100644 index 0000000..c3feb90 --- /dev/null +++ b/src/textql_sdk/_connect/public/engagement_connect.py @@ -0,0 +1,52 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import engagement_pb2 as public_dot_engagement__pb2 + +class EngagementService(Protocol): + + async def record_engagement(self, request: public_dot_engagement__pb2.RecordEngagementRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class EngagementServiceASGIApplication(ConnectASGIApplication[EngagementService]): + + def __init__(self, service: EngagementService | AsyncGenerator[EngagementService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.engagement.EngagementService/RecordEngagement': Endpoint.unary(method=MethodInfo(name='RecordEngagement', service_name='textql.rpc.public.engagement.EngagementService', input=public_dot_engagement__pb2.RecordEngagementRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.record_engagement)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.engagement.EngagementService' + +class EngagementServiceClient(ConnectClient): + + async def record_engagement(self, request: public_dot_engagement__pb2.RecordEngagementRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='RecordEngagement', service_name='textql.rpc.public.engagement.EngagementService', input=public_dot_engagement__pb2.RecordEngagementRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class EngagementServiceSync(Protocol): + + def record_engagement(self, request: public_dot_engagement__pb2.RecordEngagementRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class EngagementServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: EngagementServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.engagement.EngagementService/RecordEngagement': EndpointSync.unary(method=MethodInfo(name='RecordEngagement', service_name='textql.rpc.public.engagement.EngagementService', input=public_dot_engagement__pb2.RecordEngagementRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.record_engagement)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.engagement.EngagementService' + +class EngagementServiceClientSync(ConnectClientSync): + + def record_engagement(self, request: public_dot_engagement__pb2.RecordEngagementRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='RecordEngagement', service_name='textql.rpc.public.engagement.EngagementService', input=public_dot_engagement__pb2.RecordEngagementRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/engagement_pb2.py b/src/textql_sdk/_connect/public/engagement_pb2.py new file mode 100644 index 0000000..5660454 --- /dev/null +++ b/src/textql_sdk/_connect/public/engagement_pb2.py @@ -0,0 +1,28 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/engagement.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17public/engagement.proto\x12\x1ctextql.rpc.public.engagement\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\x94\x03\n\nEngagement\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12K\n\nevent_type\x18\x02 \x01(\x0e2,.textql.rpc.public.engagement.EngagementTypeR\teventType\x12!\n\x0cprimitive_id\x18\x03 \x01(\tR\x0bprimitiveId\x12R\n\x0eprimitive_type\x18\x04 \x01(\x0e2+.textql.rpc.public.engagement.PrimitiveTypeR\rprimitiveType\x12\x1c\n\x07user_id\x18\x05 \x01(\tH\x00R\x06userId\x88\x01\x01\x12\x15\n\x06org_id\x18\x06 \x01(\tR\x05orgId\x12$\n\x0bshare_token\x18\x07 \x01(\tH\x01R\nshareToken\x88\x01\x01\x12;\n\x0boccurred_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\noccurredAtB\n\n\x08_user_idB\x0e\n\x0c_share_token"\x93\x02\n\x17RecordEngagementRequest\x12K\n\nevent_type\x18\x01 \x01(\x0e2,.textql.rpc.public.engagement.EngagementTypeR\teventType\x12!\n\x0cprimitive_id\x18\x02 \x01(\tR\x0bprimitiveId\x12R\n\x0eprimitive_type\x18\x03 \x01(\x0e2+.textql.rpc.public.engagement.PrimitiveTypeR\rprimitiveType\x12$\n\x0bshare_token\x18\x04 \x01(\tH\x00R\nshareToken\x88\x01\x01B\x0e\n\x0c_share_token*\x86\x01\n\x0eEngagementType\x12\x1f\n\x1bENGAGEMENT_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14ENGAGEMENT_TYPE_VIEW\x10\x01\x12\x19\n\x15ENGAGEMENT_TYPE_SHARE\x10\x02\x12\x1e\n\x1aENGAGEMENT_TYPE_IMPRESSION\x10\x03*\xb4\x01\n\rPrimitiveType\x12\x1e\n\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18PRIMITIVE_TYPE_DASHBOARD\x10\x01\x12\x17\n\x13PRIMITIVE_TYPE_CHAT\x10\x02\x12\x17\n\x13PRIMITIVE_TYPE_FEED\x10\x03\x12\x1b\n\x17PRIMITIVE_TYPE_PLAYBOOK\x10\x04\x12\x16\n\x12PRIMITIVE_TYPE_APP\x10\x052v\n\x11EngagementService\x12a\n\x10RecordEngagement\x125.textql.rpc.public.engagement.RecordEngagementRequest\x1a\x16.google.protobuf.EmptyB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.engagement_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_ENGAGEMENTTYPE']._serialized_start = 827 + _globals['_ENGAGEMENTTYPE']._serialized_end = 961 + _globals['_PRIMITIVETYPE']._serialized_start = 964 + _globals['_PRIMITIVETYPE']._serialized_end = 1144 + _globals['_ENGAGEMENT']._serialized_start = 142 + _globals['_ENGAGEMENT']._serialized_end = 546 + _globals['_RECORDENGAGEMENTREQUEST']._serialized_start = 549 + _globals['_RECORDENGAGEMENTREQUEST']._serialized_end = 824 + _globals['_ENGAGEMENTSERVICE']._serialized_start = 1146 + _globals['_ENGAGEMENTSERVICE']._serialized_end = 1264 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/engagement_pb2.pyi b/src/textql_sdk/_connect/public/engagement_pb2.pyi new file mode 100644 index 0000000..7002d22 --- /dev/null +++ b/src/textql_sdk/_connect/public/engagement_pb2.pyi @@ -0,0 +1,72 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class EngagementType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ENGAGEMENT_TYPE_UNSPECIFIED: _ClassVar[EngagementType] + ENGAGEMENT_TYPE_VIEW: _ClassVar[EngagementType] + ENGAGEMENT_TYPE_SHARE: _ClassVar[EngagementType] + ENGAGEMENT_TYPE_IMPRESSION: _ClassVar[EngagementType] + +class PrimitiveType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PRIMITIVE_TYPE_UNSPECIFIED: _ClassVar[PrimitiveType] + PRIMITIVE_TYPE_DASHBOARD: _ClassVar[PrimitiveType] + PRIMITIVE_TYPE_CHAT: _ClassVar[PrimitiveType] + PRIMITIVE_TYPE_FEED: _ClassVar[PrimitiveType] + PRIMITIVE_TYPE_PLAYBOOK: _ClassVar[PrimitiveType] + PRIMITIVE_TYPE_APP: _ClassVar[PrimitiveType] +ENGAGEMENT_TYPE_UNSPECIFIED: EngagementType +ENGAGEMENT_TYPE_VIEW: EngagementType +ENGAGEMENT_TYPE_SHARE: EngagementType +ENGAGEMENT_TYPE_IMPRESSION: EngagementType +PRIMITIVE_TYPE_UNSPECIFIED: PrimitiveType +PRIMITIVE_TYPE_DASHBOARD: PrimitiveType +PRIMITIVE_TYPE_CHAT: PrimitiveType +PRIMITIVE_TYPE_FEED: PrimitiveType +PRIMITIVE_TYPE_PLAYBOOK: PrimitiveType +PRIMITIVE_TYPE_APP: PrimitiveType + +class Engagement(_message.Message): + __slots__ = ('id', 'event_type', 'primitive_id', 'primitive_type', 'user_id', 'org_id', 'share_token', 'occurred_at') + ID_FIELD_NUMBER: _ClassVar[int] + EVENT_TYPE_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_ID_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_TYPE_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + SHARE_TOKEN_FIELD_NUMBER: _ClassVar[int] + OCCURRED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + event_type: EngagementType + primitive_id: str + primitive_type: PrimitiveType + user_id: str + org_id: str + share_token: str + occurred_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., event_type: _Optional[_Union[EngagementType, str]]=..., primitive_id: _Optional[str]=..., primitive_type: _Optional[_Union[PrimitiveType, str]]=..., user_id: _Optional[str]=..., org_id: _Optional[str]=..., share_token: _Optional[str]=..., occurred_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class RecordEngagementRequest(_message.Message): + __slots__ = ('event_type', 'primitive_id', 'primitive_type', 'share_token') + EVENT_TYPE_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_ID_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_TYPE_FIELD_NUMBER: _ClassVar[int] + SHARE_TOKEN_FIELD_NUMBER: _ClassVar[int] + event_type: EngagementType + primitive_id: str + primitive_type: PrimitiveType + share_token: str + + def __init__(self, event_type: _Optional[_Union[EngagementType, str]]=..., primitive_id: _Optional[str]=..., primitive_type: _Optional[_Union[PrimitiveType, str]]=..., share_token: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/feed_connect.py b/src/textql_sdk/_connect/public/feed_connect.py new file mode 100644 index 0000000..3bbbd74 --- /dev/null +++ b/src/textql_sdk/_connect/public/feed_connect.py @@ -0,0 +1,364 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import feed_pb2 as public_dot_feed__pb2 + +class FeedService(Protocol): + + async def create_post(self, request: public_dot_feed__pb2.CreatePostRequest, ctx: RequestContext) -> public_dot_feed__pb2.CreatePostResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_post(self, request: public_dot_feed__pb2.GetPostRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetPostResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_feed(self, request: public_dot_feed__pb2.GetFeedRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetFeedResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_post(self, request: public_dot_feed__pb2.DeletePostRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def vote_thing(self, request: public_dot_feed__pb2.VoteThingRequest, ctx: RequestContext) -> public_dot_feed__pb2.VoteThingResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_comment(self, request: public_dot_feed__pb2.CreateCommentRequest, ctx: RequestContext) -> public_dot_feed__pb2.CreateCommentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_comments(self, request: public_dot_feed__pb2.GetCommentsRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetCommentsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_profile_comments(self, request: public_dot_feed__pb2.GetProfileCommentsRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetProfileCommentsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_comment(self, request: public_dot_feed__pb2.DeleteCommentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_leaderboard(self, request: public_dot_feed__pb2.GetLeaderboardRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetLeaderboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_feed_stats(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.GetFeedStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_mentionable_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.ListMentionableUsersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_default_slack_channel(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.GetDefaultSlackChannelResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_default_slack_channel(self, request: public_dot_feed__pb2.SetDefaultSlackChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_default_teams_channel(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.GetDefaultTeamsChannelResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_default_teams_channel(self, request: public_dot_feed__pb2.SetDefaultTeamsChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_feed(self, request: public_dot_feed__pb2.StreamFeedRequest, ctx: RequestContext) -> AsyncIterator[public_dot_feed__pb2.FeedEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def follow_agent(self, request: public_dot_feed__pb2.FollowAgentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unfollow_agent(self, request: public_dot_feed__pb2.UnfollowAgentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_followed_agents(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.ListFollowedAgentsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_feed_channel(self, request: public_dot_feed__pb2.CreateFeedChannelRequest, ctx: RequestContext) -> public_dot_feed__pb2.CreateFeedChannelResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_feed_channels(self, request: public_dot_feed__pb2.ListFeedChannelsRequest, ctx: RequestContext) -> public_dot_feed__pb2.ListFeedChannelsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_feed_channel(self, request: public_dot_feed__pb2.GetFeedChannelRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetFeedChannelResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_feed_channel(self, request: public_dot_feed__pb2.UpdateFeedChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_feed_channel(self, request: public_dot_feed__pb2.DeleteFeedChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def join_feed_channel(self, request: public_dot_feed__pb2.JoinFeedChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def leave_feed_channel(self, request: public_dot_feed__pb2.LeaveFeedChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class FeedServiceASGIApplication(ConnectASGIApplication[FeedService]): + + def __init__(self, service: FeedService | AsyncGenerator[FeedService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.feed.FeedService/CreatePost': Endpoint.unary(method=MethodInfo(name='CreatePost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreatePostRequest, output=public_dot_feed__pb2.CreatePostResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_post), '/textql.rpc.public.feed.FeedService/GetPost': Endpoint.unary(method=MethodInfo(name='GetPost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetPostRequest, output=public_dot_feed__pb2.GetPostResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_post), '/textql.rpc.public.feed.FeedService/GetFeed': Endpoint.unary(method=MethodInfo(name='GetFeed', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetFeedRequest, output=public_dot_feed__pb2.GetFeedResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_feed), '/textql.rpc.public.feed.FeedService/DeletePost': Endpoint.unary(method=MethodInfo(name='DeletePost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeletePostRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_post), '/textql.rpc.public.feed.FeedService/VoteThing': Endpoint.unary(method=MethodInfo(name='VoteThing', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.VoteThingRequest, output=public_dot_feed__pb2.VoteThingResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.vote_thing), '/textql.rpc.public.feed.FeedService/CreateComment': Endpoint.unary(method=MethodInfo(name='CreateComment', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreateCommentRequest, output=public_dot_feed__pb2.CreateCommentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_comment), '/textql.rpc.public.feed.FeedService/GetComments': Endpoint.unary(method=MethodInfo(name='GetComments', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetCommentsRequest, output=public_dot_feed__pb2.GetCommentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_comments), '/textql.rpc.public.feed.FeedService/GetProfileComments': Endpoint.unary(method=MethodInfo(name='GetProfileComments', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetProfileCommentsRequest, output=public_dot_feed__pb2.GetProfileCommentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_profile_comments), '/textql.rpc.public.feed.FeedService/DeleteComment': Endpoint.unary(method=MethodInfo(name='DeleteComment', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeleteCommentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_comment), '/textql.rpc.public.feed.FeedService/GetLeaderboard': Endpoint.unary(method=MethodInfo(name='GetLeaderboard', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetLeaderboardRequest, output=public_dot_feed__pb2.GetLeaderboardResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_leaderboard), '/textql.rpc.public.feed.FeedService/GetFeedStats': Endpoint.unary(method=MethodInfo(name='GetFeedStats', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetFeedStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_feed_stats), '/textql.rpc.public.feed.FeedService/ListMentionableUsers': Endpoint.unary(method=MethodInfo(name='ListMentionableUsers', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.ListMentionableUsersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_mentionable_users), '/textql.rpc.public.feed.FeedService/GetDefaultSlackChannel': Endpoint.unary(method=MethodInfo(name='GetDefaultSlackChannel', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetDefaultSlackChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_default_slack_channel), '/textql.rpc.public.feed.FeedService/SetDefaultSlackChannel': Endpoint.unary(method=MethodInfo(name='SetDefaultSlackChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.SetDefaultSlackChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_default_slack_channel), '/textql.rpc.public.feed.FeedService/GetDefaultTeamsChannel': Endpoint.unary(method=MethodInfo(name='GetDefaultTeamsChannel', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetDefaultTeamsChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_default_teams_channel), '/textql.rpc.public.feed.FeedService/SetDefaultTeamsChannel': Endpoint.unary(method=MethodInfo(name='SetDefaultTeamsChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.SetDefaultTeamsChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_default_teams_channel), '/textql.rpc.public.feed.FeedService/StreamFeed': Endpoint.server_stream(method=MethodInfo(name='StreamFeed', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.StreamFeedRequest, output=public_dot_feed__pb2.FeedEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.stream_feed), '/textql.rpc.public.feed.FeedService/FollowAgent': Endpoint.unary(method=MethodInfo(name='FollowAgent', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.FollowAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.follow_agent), '/textql.rpc.public.feed.FeedService/UnfollowAgent': Endpoint.unary(method=MethodInfo(name='UnfollowAgent', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.UnfollowAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.unfollow_agent), '/textql.rpc.public.feed.FeedService/ListFollowedAgents': Endpoint.unary(method=MethodInfo(name='ListFollowedAgents', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.ListFollowedAgentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_followed_agents), '/textql.rpc.public.feed.FeedService/CreateFeedChannel': Endpoint.unary(method=MethodInfo(name='CreateFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreateFeedChannelRequest, output=public_dot_feed__pb2.CreateFeedChannelResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_feed_channel), '/textql.rpc.public.feed.FeedService/ListFeedChannels': Endpoint.unary(method=MethodInfo(name='ListFeedChannels', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.ListFeedChannelsRequest, output=public_dot_feed__pb2.ListFeedChannelsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_feed_channels), '/textql.rpc.public.feed.FeedService/GetFeedChannel': Endpoint.unary(method=MethodInfo(name='GetFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetFeedChannelRequest, output=public_dot_feed__pb2.GetFeedChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_feed_channel), '/textql.rpc.public.feed.FeedService/UpdateFeedChannel': Endpoint.unary(method=MethodInfo(name='UpdateFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.UpdateFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_feed_channel), '/textql.rpc.public.feed.FeedService/DeleteFeedChannel': Endpoint.unary(method=MethodInfo(name='DeleteFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeleteFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_feed_channel), '/textql.rpc.public.feed.FeedService/JoinFeedChannel': Endpoint.unary(method=MethodInfo(name='JoinFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.JoinFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.join_feed_channel), '/textql.rpc.public.feed.FeedService/LeaveFeedChannel': Endpoint.unary(method=MethodInfo(name='LeaveFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.LeaveFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.leave_feed_channel)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.feed.FeedService' + +class FeedServiceClient(ConnectClient): + + async def create_post(self, request: public_dot_feed__pb2.CreatePostRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_feed__pb2.CreatePostResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreatePost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreatePostRequest, output=public_dot_feed__pb2.CreatePostResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_post(self, request: public_dot_feed__pb2.GetPostRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetPostResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetPostRequest, output=public_dot_feed__pb2.GetPostResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_feed(self, request: public_dot_feed__pb2.GetFeedRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetFeedResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetFeed', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetFeedRequest, output=public_dot_feed__pb2.GetFeedResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def delete_post(self, request: public_dot_feed__pb2.DeletePostRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeletePost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeletePostRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def vote_thing(self, request: public_dot_feed__pb2.VoteThingRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_feed__pb2.VoteThingResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='VoteThing', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.VoteThingRequest, output=public_dot_feed__pb2.VoteThingResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_comment(self, request: public_dot_feed__pb2.CreateCommentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_feed__pb2.CreateCommentResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateComment', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreateCommentRequest, output=public_dot_feed__pb2.CreateCommentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_comments(self, request: public_dot_feed__pb2.GetCommentsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetCommentsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetComments', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetCommentsRequest, output=public_dot_feed__pb2.GetCommentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_profile_comments(self, request: public_dot_feed__pb2.GetProfileCommentsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetProfileCommentsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetProfileComments', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetProfileCommentsRequest, output=public_dot_feed__pb2.GetProfileCommentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def delete_comment(self, request: public_dot_feed__pb2.DeleteCommentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteComment', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeleteCommentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_leaderboard(self, request: public_dot_feed__pb2.GetLeaderboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetLeaderboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetLeaderboard', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetLeaderboardRequest, output=public_dot_feed__pb2.GetLeaderboardResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_feed_stats(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetFeedStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetFeedStats', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetFeedStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_mentionable_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.ListMentionableUsersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListMentionableUsers', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.ListMentionableUsersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_default_slack_channel(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetDefaultSlackChannelResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDefaultSlackChannel', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetDefaultSlackChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def set_default_slack_channel(self, request: public_dot_feed__pb2.SetDefaultSlackChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='SetDefaultSlackChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.SetDefaultSlackChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_default_teams_channel(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetDefaultTeamsChannelResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetDefaultTeamsChannel', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetDefaultTeamsChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def set_default_teams_channel(self, request: public_dot_feed__pb2.SetDefaultTeamsChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='SetDefaultTeamsChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.SetDefaultTeamsChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def stream_feed(self, request: public_dot_feed__pb2.StreamFeedRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> AsyncIterator[public_dot_feed__pb2.FeedEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamFeed', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.StreamFeedRequest, output=public_dot_feed__pb2.FeedEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def follow_agent(self, request: public_dot_feed__pb2.FollowAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='FollowAgent', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.FollowAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def unfollow_agent(self, request: public_dot_feed__pb2.UnfollowAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='UnfollowAgent', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.UnfollowAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_followed_agents(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.ListFollowedAgentsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListFollowedAgents', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.ListFollowedAgentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_feed_channel(self, request: public_dot_feed__pb2.CreateFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_feed__pb2.CreateFeedChannelResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreateFeedChannelRequest, output=public_dot_feed__pb2.CreateFeedChannelResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_feed_channels(self, request: public_dot_feed__pb2.ListFeedChannelsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.ListFeedChannelsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListFeedChannels', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.ListFeedChannelsRequest, output=public_dot_feed__pb2.ListFeedChannelsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_feed_channel(self, request: public_dot_feed__pb2.GetFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetFeedChannelResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetFeedChannelRequest, output=public_dot_feed__pb2.GetFeedChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_feed_channel(self, request: public_dot_feed__pb2.UpdateFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.UpdateFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_feed_channel(self, request: public_dot_feed__pb2.DeleteFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeleteFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def join_feed_channel(self, request: public_dot_feed__pb2.JoinFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='JoinFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.JoinFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def leave_feed_channel(self, request: public_dot_feed__pb2.LeaveFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='LeaveFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.LeaveFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class FeedServiceSync(Protocol): + + def create_post(self, request: public_dot_feed__pb2.CreatePostRequest, ctx: RequestContext) -> public_dot_feed__pb2.CreatePostResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_post(self, request: public_dot_feed__pb2.GetPostRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetPostResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_feed(self, request: public_dot_feed__pb2.GetFeedRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetFeedResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_post(self, request: public_dot_feed__pb2.DeletePostRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def vote_thing(self, request: public_dot_feed__pb2.VoteThingRequest, ctx: RequestContext) -> public_dot_feed__pb2.VoteThingResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_comment(self, request: public_dot_feed__pb2.CreateCommentRequest, ctx: RequestContext) -> public_dot_feed__pb2.CreateCommentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_comments(self, request: public_dot_feed__pb2.GetCommentsRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetCommentsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_profile_comments(self, request: public_dot_feed__pb2.GetProfileCommentsRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetProfileCommentsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_comment(self, request: public_dot_feed__pb2.DeleteCommentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_leaderboard(self, request: public_dot_feed__pb2.GetLeaderboardRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetLeaderboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_feed_stats(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.GetFeedStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_mentionable_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.ListMentionableUsersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_default_slack_channel(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.GetDefaultSlackChannelResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_default_slack_channel(self, request: public_dot_feed__pb2.SetDefaultSlackChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_default_teams_channel(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.GetDefaultTeamsChannelResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_default_teams_channel(self, request: public_dot_feed__pb2.SetDefaultTeamsChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_feed(self, request: public_dot_feed__pb2.StreamFeedRequest, ctx: RequestContext) -> Iterator[public_dot_feed__pb2.FeedEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def follow_agent(self, request: public_dot_feed__pb2.FollowAgentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unfollow_agent(self, request: public_dot_feed__pb2.UnfollowAgentRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_followed_agents(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_feed__pb2.ListFollowedAgentsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_feed_channel(self, request: public_dot_feed__pb2.CreateFeedChannelRequest, ctx: RequestContext) -> public_dot_feed__pb2.CreateFeedChannelResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_feed_channels(self, request: public_dot_feed__pb2.ListFeedChannelsRequest, ctx: RequestContext) -> public_dot_feed__pb2.ListFeedChannelsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_feed_channel(self, request: public_dot_feed__pb2.GetFeedChannelRequest, ctx: RequestContext) -> public_dot_feed__pb2.GetFeedChannelResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_feed_channel(self, request: public_dot_feed__pb2.UpdateFeedChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_feed_channel(self, request: public_dot_feed__pb2.DeleteFeedChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def join_feed_channel(self, request: public_dot_feed__pb2.JoinFeedChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def leave_feed_channel(self, request: public_dot_feed__pb2.LeaveFeedChannelRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class FeedServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: FeedServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.feed.FeedService/CreatePost': EndpointSync.unary(method=MethodInfo(name='CreatePost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreatePostRequest, output=public_dot_feed__pb2.CreatePostResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_post), '/textql.rpc.public.feed.FeedService/GetPost': EndpointSync.unary(method=MethodInfo(name='GetPost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetPostRequest, output=public_dot_feed__pb2.GetPostResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_post), '/textql.rpc.public.feed.FeedService/GetFeed': EndpointSync.unary(method=MethodInfo(name='GetFeed', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetFeedRequest, output=public_dot_feed__pb2.GetFeedResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_feed), '/textql.rpc.public.feed.FeedService/DeletePost': EndpointSync.unary(method=MethodInfo(name='DeletePost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeletePostRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_post), '/textql.rpc.public.feed.FeedService/VoteThing': EndpointSync.unary(method=MethodInfo(name='VoteThing', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.VoteThingRequest, output=public_dot_feed__pb2.VoteThingResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.vote_thing), '/textql.rpc.public.feed.FeedService/CreateComment': EndpointSync.unary(method=MethodInfo(name='CreateComment', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreateCommentRequest, output=public_dot_feed__pb2.CreateCommentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_comment), '/textql.rpc.public.feed.FeedService/GetComments': EndpointSync.unary(method=MethodInfo(name='GetComments', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetCommentsRequest, output=public_dot_feed__pb2.GetCommentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_comments), '/textql.rpc.public.feed.FeedService/GetProfileComments': EndpointSync.unary(method=MethodInfo(name='GetProfileComments', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetProfileCommentsRequest, output=public_dot_feed__pb2.GetProfileCommentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_profile_comments), '/textql.rpc.public.feed.FeedService/DeleteComment': EndpointSync.unary(method=MethodInfo(name='DeleteComment', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeleteCommentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_comment), '/textql.rpc.public.feed.FeedService/GetLeaderboard': EndpointSync.unary(method=MethodInfo(name='GetLeaderboard', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetLeaderboardRequest, output=public_dot_feed__pb2.GetLeaderboardResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_leaderboard), '/textql.rpc.public.feed.FeedService/GetFeedStats': EndpointSync.unary(method=MethodInfo(name='GetFeedStats', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetFeedStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_feed_stats), '/textql.rpc.public.feed.FeedService/ListMentionableUsers': EndpointSync.unary(method=MethodInfo(name='ListMentionableUsers', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.ListMentionableUsersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_mentionable_users), '/textql.rpc.public.feed.FeedService/GetDefaultSlackChannel': EndpointSync.unary(method=MethodInfo(name='GetDefaultSlackChannel', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetDefaultSlackChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_default_slack_channel), '/textql.rpc.public.feed.FeedService/SetDefaultSlackChannel': EndpointSync.unary(method=MethodInfo(name='SetDefaultSlackChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.SetDefaultSlackChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_default_slack_channel), '/textql.rpc.public.feed.FeedService/GetDefaultTeamsChannel': EndpointSync.unary(method=MethodInfo(name='GetDefaultTeamsChannel', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetDefaultTeamsChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_default_teams_channel), '/textql.rpc.public.feed.FeedService/SetDefaultTeamsChannel': EndpointSync.unary(method=MethodInfo(name='SetDefaultTeamsChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.SetDefaultTeamsChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_default_teams_channel), '/textql.rpc.public.feed.FeedService/StreamFeed': EndpointSync.server_stream(method=MethodInfo(name='StreamFeed', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.StreamFeedRequest, output=public_dot_feed__pb2.FeedEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.stream_feed), '/textql.rpc.public.feed.FeedService/FollowAgent': EndpointSync.unary(method=MethodInfo(name='FollowAgent', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.FollowAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.follow_agent), '/textql.rpc.public.feed.FeedService/UnfollowAgent': EndpointSync.unary(method=MethodInfo(name='UnfollowAgent', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.UnfollowAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.unfollow_agent), '/textql.rpc.public.feed.FeedService/ListFollowedAgents': EndpointSync.unary(method=MethodInfo(name='ListFollowedAgents', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.ListFollowedAgentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_followed_agents), '/textql.rpc.public.feed.FeedService/CreateFeedChannel': EndpointSync.unary(method=MethodInfo(name='CreateFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreateFeedChannelRequest, output=public_dot_feed__pb2.CreateFeedChannelResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_feed_channel), '/textql.rpc.public.feed.FeedService/ListFeedChannels': EndpointSync.unary(method=MethodInfo(name='ListFeedChannels', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.ListFeedChannelsRequest, output=public_dot_feed__pb2.ListFeedChannelsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_feed_channels), '/textql.rpc.public.feed.FeedService/GetFeedChannel': EndpointSync.unary(method=MethodInfo(name='GetFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetFeedChannelRequest, output=public_dot_feed__pb2.GetFeedChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_feed_channel), '/textql.rpc.public.feed.FeedService/UpdateFeedChannel': EndpointSync.unary(method=MethodInfo(name='UpdateFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.UpdateFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_feed_channel), '/textql.rpc.public.feed.FeedService/DeleteFeedChannel': EndpointSync.unary(method=MethodInfo(name='DeleteFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeleteFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_feed_channel), '/textql.rpc.public.feed.FeedService/JoinFeedChannel': EndpointSync.unary(method=MethodInfo(name='JoinFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.JoinFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.join_feed_channel), '/textql.rpc.public.feed.FeedService/LeaveFeedChannel': EndpointSync.unary(method=MethodInfo(name='LeaveFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.LeaveFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.leave_feed_channel)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.feed.FeedService' + +class FeedServiceClientSync(ConnectClientSync): + + def create_post(self, request: public_dot_feed__pb2.CreatePostRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_feed__pb2.CreatePostResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreatePost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreatePostRequest, output=public_dot_feed__pb2.CreatePostResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_post(self, request: public_dot_feed__pb2.GetPostRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetPostResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetPostRequest, output=public_dot_feed__pb2.GetPostResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_feed(self, request: public_dot_feed__pb2.GetFeedRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetFeedResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetFeed', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetFeedRequest, output=public_dot_feed__pb2.GetFeedResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def delete_post(self, request: public_dot_feed__pb2.DeletePostRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeletePost', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeletePostRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def vote_thing(self, request: public_dot_feed__pb2.VoteThingRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_feed__pb2.VoteThingResponse: + return self.execute_unary(request=request, method=MethodInfo(name='VoteThing', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.VoteThingRequest, output=public_dot_feed__pb2.VoteThingResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_comment(self, request: public_dot_feed__pb2.CreateCommentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_feed__pb2.CreateCommentResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateComment', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreateCommentRequest, output=public_dot_feed__pb2.CreateCommentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_comments(self, request: public_dot_feed__pb2.GetCommentsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetCommentsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetComments', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetCommentsRequest, output=public_dot_feed__pb2.GetCommentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_profile_comments(self, request: public_dot_feed__pb2.GetProfileCommentsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetProfileCommentsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetProfileComments', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetProfileCommentsRequest, output=public_dot_feed__pb2.GetProfileCommentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def delete_comment(self, request: public_dot_feed__pb2.DeleteCommentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteComment', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeleteCommentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_leaderboard(self, request: public_dot_feed__pb2.GetLeaderboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetLeaderboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetLeaderboard', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetLeaderboardRequest, output=public_dot_feed__pb2.GetLeaderboardResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_feed_stats(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetFeedStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetFeedStats', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetFeedStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_mentionable_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.ListMentionableUsersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListMentionableUsers', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.ListMentionableUsersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_default_slack_channel(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetDefaultSlackChannelResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDefaultSlackChannel', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetDefaultSlackChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def set_default_slack_channel(self, request: public_dot_feed__pb2.SetDefaultSlackChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='SetDefaultSlackChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.SetDefaultSlackChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_default_teams_channel(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetDefaultTeamsChannelResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetDefaultTeamsChannel', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.GetDefaultTeamsChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def set_default_teams_channel(self, request: public_dot_feed__pb2.SetDefaultTeamsChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='SetDefaultTeamsChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.SetDefaultTeamsChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def stream_feed(self, request: public_dot_feed__pb2.StreamFeedRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> Iterator[public_dot_feed__pb2.FeedEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamFeed', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.StreamFeedRequest, output=public_dot_feed__pb2.FeedEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def follow_agent(self, request: public_dot_feed__pb2.FollowAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='FollowAgent', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.FollowAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def unfollow_agent(self, request: public_dot_feed__pb2.UnfollowAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='UnfollowAgent', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.UnfollowAgentRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_followed_agents(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.ListFollowedAgentsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListFollowedAgents', service_name='textql.rpc.public.feed.FeedService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_feed__pb2.ListFollowedAgentsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_feed_channel(self, request: public_dot_feed__pb2.CreateFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_feed__pb2.CreateFeedChannelResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.CreateFeedChannelRequest, output=public_dot_feed__pb2.CreateFeedChannelResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_feed_channels(self, request: public_dot_feed__pb2.ListFeedChannelsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.ListFeedChannelsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListFeedChannels', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.ListFeedChannelsRequest, output=public_dot_feed__pb2.ListFeedChannelsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_feed_channel(self, request: public_dot_feed__pb2.GetFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_feed__pb2.GetFeedChannelResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.GetFeedChannelRequest, output=public_dot_feed__pb2.GetFeedChannelResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_feed_channel(self, request: public_dot_feed__pb2.UpdateFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.UpdateFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_feed_channel(self, request: public_dot_feed__pb2.DeleteFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.DeleteFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def join_feed_channel(self, request: public_dot_feed__pb2.JoinFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='JoinFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.JoinFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def leave_feed_channel(self, request: public_dot_feed__pb2.LeaveFeedChannelRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='LeaveFeedChannel', service_name='textql.rpc.public.feed.FeedService', input=public_dot_feed__pb2.LeaveFeedChannelRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/feed_pb2.py b/src/textql_sdk/_connect/public/feed_pb2.py new file mode 100644 index 0000000..47426f5 --- /dev/null +++ b/src/textql_sdk/_connect/public/feed_pb2.py @@ -0,0 +1,152 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/feed.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11public/feed.proto\x12\x16textql.rpc.public.feed\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\xd7\x07\n\x04Post\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n\x07content\x18\x03 \x01(\tR\x07content\x12=\n\tpost_type\x18\x04 \x01(\x0e2 .textql.rpc.public.feed.PostTypeR\x08postType\x12*\n\x11creator_member_id\x18\x05 \x01(\tR\x0fcreatorMemberId\x12(\n\x10creator_agent_id\x18\x06 \x01(\tR\x0ecreatorAgentId\x12!\n\x0cupvote_count\x18\x07 \x01(\x05R\x0bupvoteCount\x12%\n\x0edownvote_count\x18\x08 \x01(\x05R\rdownvoteCount\x12#\n\rcomment_count\x18\t \x01(\x05R\x0ccommentCount\x129\n\x07my_vote\x18\n \x01(\x0e2 .textql.rpc.public.feed.VoteTypeR\x06myVote\x129\n\ncreated_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12.\n\x13creator_member_name\x18\x0e \x01(\tR\x11creatorMemberName\x12,\n\x12creator_agent_name\x18\x0f \x01(\tR\x10creatorAgentName\x12\x17\n\x07chat_id\x18\x10 \x01(\tR\x06chatId\x12\x1d\n\nimage_urls\x18\x11 \x03(\tR\timageUrls\x12#\n\rdashboard_ids\x18\x12 \x03(\tR\x0cdashboardIds\x12\x1d\n\nreport_ids\x18\x13 \x03(\tR\treportIds\x12\x1d\n\x08chat_ids\x18\x14 \x03(\tB\x02\x18\x01R\x07chatIds\x12*\n\x11tagged_member_ids\x18\x15 \x03(\tR\x0ftaggedMemberIds\x12(\n\x10tagged_agent_ids\x18\x16 \x03(\tR\x0etaggedAgentIds\x12\x17\n\x07is_demo\x18\x17 \x01(\x08R\x06isDemo\x12\x1f\n\x0bchannel_ids\x18\x18 \x03(\tR\nchannelIds\x12D\n\x1fcreator_agent_profile_image_url\x18\x19 \x01(\tR\x1bcreatorAgentProfileImageUrl\x12F\n creator_member_profile_image_url\x18\x1a \x01(\tR\x1ccreatorMemberProfileImageUrl"\xbc\x05\n\x07Comment\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content\x12\x17\n\x07post_id\x18\x03 \x01(\tR\x06postId\x12\x1b\n\tparent_id\x18\x04 \x01(\tR\x08parentId\x12\x14\n\x05depth\x18\x05 \x01(\x05R\x05depth\x12*\n\x11creator_member_id\x18\x06 \x01(\tR\x0fcreatorMemberId\x12(\n\x10creator_agent_id\x18\x07 \x01(\tR\x0ecreatorAgentId\x12!\n\x0cupvote_count\x18\x08 \x01(\x05R\x0bupvoteCount\x12%\n\x0edownvote_count\x18\t \x01(\x05R\rdownvoteCount\x129\n\x07my_vote\x18\n \x01(\x0e2 .textql.rpc.public.feed.VoteTypeR\x06myVote\x129\n\ncreated_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\x07replies\x18\x0c \x03(\x0b2\x1f.textql.rpc.public.feed.CommentR\x07replies\x12.\n\x13creator_member_name\x18\r \x01(\tR\x11creatorMemberName\x12,\n\x12creator_agent_name\x18\x0e \x01(\tR\x10creatorAgentName\x12D\n\x1fcreator_agent_profile_image_url\x18\x0f \x01(\tR\x1bcreatorAgentProfileImageUrl\x12F\n creator_member_profile_image_url\x18\x10 \x01(\tR\x1ccreatorMemberProfileImageUrl"\xe9\x02\n\x10LeaderboardEntry\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x19\n\x08agent_id\x18\x02 \x01(\tR\x07agentId\x12\x1d\n\npost_count\x18\x03 \x01(\x05R\tpostCount\x12#\n\rcomment_count\x18\x04 \x01(\x05R\x0ccommentCount\x12)\n\x10received_upvotes\x18\x05 \x01(\x05R\x0freceivedUpvotes\x12-\n\x12received_downvotes\x18\x06 \x01(\x05R\x11receivedDownvotes\x12\x1b\n\tnet_score\x18\x07 \x01(\x05R\x08netScore\x12\x1f\n\x0bmember_name\x18\x08 \x01(\tR\nmemberName\x12\x1d\n\nagent_name\x18\t \x01(\tR\tagentName\x12"\n\ragent_chat_id\x18\n \x01(\tR\x0bagentChatId"\x87\x03\n\x11CreatePostRequest\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content\x12=\n\tpost_type\x18\x03 \x01(\x0e2 .textql.rpc.public.feed.PostTypeR\x08postType\x12\x1d\n\nimage_urls\x18\x04 \x03(\tR\timageUrls\x12#\n\rdashboard_ids\x18\x05 \x03(\tR\x0cdashboardIds\x12\x1d\n\nreport_ids\x18\x06 \x03(\tR\treportIds\x12\x1d\n\x08chat_ids\x18\x07 \x03(\tB\x02\x18\x01R\x07chatIds\x120\n\x14mentioned_member_ids\x18\x08 \x03(\tR\x12mentionedMemberIds\x12.\n\x13mentioned_agent_ids\x18\t \x03(\tR\x11mentionedAgentIds\x12\x1f\n\x0bchannel_ids\x18\n \x03(\tR\nchannelIds"F\n\x12CreatePostResponse\x120\n\x04post\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.feed.PostR\x04post")\n\x0eGetPostRequest\x12\x17\n\x07post_id\x18\x01 \x01(\tR\x06postId"C\n\x0fGetPostResponse\x120\n\x04post\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.feed.PostR\x04post"\xfb\x03\n\x0eGetFeedRequest\x12:\n\x06filter\x18\x01 \x01(\x0e2".textql.rpc.public.feed.FeedFilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12(\n\x10author_member_id\x18\x04 \x01(\tR\x0eauthorMemberId\x12&\n\x0fauthor_agent_id\x18\x05 \x01(\tR\rauthorAgentId\x12\x1d\n\nchannel_id\x18\x06 \x01(\tR\tchannelId\x12(\n\x10author_agent_ids\x18\x07 \x03(\tR\x0eauthorAgentIds\x12\x1f\n\x0bchannel_ids\x18\x08 \x03(\tR\nchannelIds\x12<\n\x07sources\x18\t \x03(\x0e2".textql.rpc.public.feed.FeedSourceR\x07sources\x12D\n\ntime_range\x18\n \x01(\x0e2%.textql.rpc.public.feed.FeedTimeRangeR\ttimeRange\x12?\n\rcreated_after\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ccreatedAfter"\xc0\x03\n\x14GetFeedStatsResponse\x12\x1f\n\x0bposts_today\x18\x01 \x01(\x05R\npostsToday\x12%\n\x0emessages_today\x18\x02 \x01(\x05R\rmessagesToday\x12*\n\x11messages_all_time\x18\x03 \x01(\x05R\x0fmessagesAllTime\x12#\n\ractive_agents\x18\x04 \x01(\x05R\x0cactiveAgents\x12-\n\x12dashboards_created\x18\x05 \x01(\x05R\x11dashboardsCreated\x12\'\n\x0fthreads_created\x18\x06 \x01(\x05R\x0ethreadsCreated\x12+\n\x11playbooks_created\x18\x07 \x01(\x05R\x10playbooksCreated\x123\n\x15connectors_configured\x18\x08 \x01(\x05R\x14connectorsConfigured\x12\'\n\x0fconnector_names\x18\t \x03(\tR\x0econnectorNames\x12,\n\x12active_agent_names\x18\n \x03(\tR\x10activeAgentNames"E\n\x0fGetFeedResponse\x122\n\x05posts\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.feed.PostR\x05posts",\n\x11DeletePostRequest\x12\x17\n\x07post_id\x18\x01 \x01(\tR\x06postId"l\n\x10VoteThingRequest\x12\x19\n\x08thing_id\x18\x01 \x01(\tR\x07thingId\x12=\n\tvote_type\x18\x02 \x01(\x0e2 .textql.rpc.public.feed.VoteTypeR\x08voteType"]\n\x11VoteThingResponse\x12!\n\x0cupvote_count\x18\x01 \x01(\x05R\x0bupvoteCount\x12%\n\x0edownvote_count\x18\x02 \x01(\x05R\rdownvoteCount"\xc8\x01\n\x14CreateCommentRequest\x12\x17\n\x07post_id\x18\x01 \x01(\tR\x06postId\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content\x12\x1b\n\tparent_id\x18\x03 \x01(\tR\x08parentId\x120\n\x14mentioned_member_ids\x18\x04 \x03(\tR\x12mentionedMemberIds\x12.\n\x13mentioned_agent_ids\x18\x05 \x03(\tR\x11mentionedAgentIds"R\n\x15CreateCommentResponse\x129\n\x07comment\x18\x01 \x01(\x0b2\x1f.textql.rpc.public.feed.CommentR\x07comment"k\n\x12GetCommentsRequest\x12\x17\n\x07post_id\x18\x01 \x01(\tR\x06postId\x12<\n\x07sort_by\x18\x02 \x01(\x0e2#.textql.rpc.public.feed.CommentSortR\x06sortBy"R\n\x13GetCommentsResponse\x12;\n\x08comments\x18\x01 \x03(\x0b2\x1f.textql.rpc.public.feed.CommentR\x08comments"}\n\x0eProfileComment\x129\n\x07comment\x18\x01 \x01(\x0b2\x1f.textql.rpc.public.feed.CommentR\x07comment\x120\n\x04post\x18\x02 \x01(\x0b2\x1c.textql.rpc.public.feed.PostR\x04post"\x9b\x01\n\x19GetProfileCommentsRequest\x12(\n\x10author_member_id\x18\x01 \x01(\tR\x0eauthorMemberId\x12&\n\x0fauthor_agent_id\x18\x02 \x01(\tR\rauthorAgentId\x12\x14\n\x05limit\x18\x03 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x04 \x01(\x05R\x06offset"`\n\x1aGetProfileCommentsResponse\x12B\n\x08comments\x18\x01 \x03(\x0b2&.textql.rpc.public.feed.ProfileCommentR\x08comments"5\n\x14DeleteCommentRequest\x12\x1d\n\ncomment_id\x18\x01 \x01(\tR\tcommentId"K\n\x15GetLeaderboardRequest\x12\x1c\n\ttimeframe\x18\x01 \x01(\tR\ttimeframe\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit"\\\n\x16GetLeaderboardResponse\x12B\n\x07entries\x18\x01 \x03(\x0b2(.textql.rpc.public.feed.LeaderboardEntryR\x07entries"\x13\n\x11StreamFeedRequest"\xdf\x01\n\tFeedEvent\x12D\n\nevent_type\x18\x01 \x01(\x0e2%.textql.rpc.public.feed.FeedEventTypeR\teventType\x120\n\x04post\x18\x02 \x01(\x0b2\x1c.textql.rpc.public.feed.PostR\x04post\x129\n\x07comment\x18\x03 \x01(\x0b2\x1f.textql.rpc.public.feed.CommentR\x07comment\x12\x1f\n\x0bchannel_ids\x18\x04 \x03(\tR\nchannelIds"~\n\x0fMentionableUser\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12\x1d\n\navatar_url\x18\x03 \x01(\tR\tavatarUrl\x12\x19\n\x08is_agent\x18\x04 \x01(\x08R\x07isAgent"]\n\x1cListMentionableUsersResponse\x12=\n\x05users\x18\x01 \x03(\x0b2\'.textql.rpc.public.feed.MentionableUserR\x05users"/\n\x12FollowAgentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId"1\n\x14UnfollowAgentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId"9\n\x1aListFollowedAgentsResponse\x12\x1b\n\tagent_ids\x18\x01 \x03(\tR\x08agentIds"J\n\x1eGetDefaultSlackChannelResponse\x12(\n\x10slack_channel_id\x18\x01 \x01(\tR\x0eslackChannelId"I\n\x1dSetDefaultSlackChannelRequest\x12(\n\x10slack_channel_id\x18\x01 \x01(\tR\x0eslackChannelId"J\n\x1eGetDefaultTeamsChannelResponse\x12(\n\x10teams_channel_id\x18\x01 \x01(\tR\x0eteamsChannelId"I\n\x1dSetDefaultTeamsChannelRequest\x12(\n\x10teams_channel_id\x18\x01 \x01(\tR\x0eteamsChannelId"\xc1\x02\n\x0bFeedChannel\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12\x1d\n\ncreator_id\x18\x04 \x01(\tR\tcreatorId\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1b\n\tis_public\x18\x07 \x01(\x08R\x08isPublic\x12\x1b\n\tis_member\x18\x08 \x01(\x08R\x08isMember\x12\x1d\n\nis_default\x18\t \x01(\x08R\tisDefault"m\n\x18CreateFeedChannelRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x1b\n\tis_public\x18\x03 \x01(\x08R\x08isPublic"Z\n\x19CreateFeedChannelResponse\x12=\n\x07channel\x18\x01 \x01(\x0b2#.textql.rpc.public.feed.FeedChannelR\x07channel"D\n\x17ListFeedChannelsRequest\x12)\n\x10include_unjoined\x18\x01 \x01(\x08R\x0fincludeUnjoined"[\n\x18ListFeedChannelsResponse\x12?\n\x08channels\x18\x01 \x03(\x0b2#.textql.rpc.public.feed.FeedChannelR\x08channels"6\n\x15GetFeedChannelRequest\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId"W\n\x16GetFeedChannelResponse\x12=\n\x07channel\x18\x01 \x01(\x0b2#.textql.rpc.public.feed.FeedChannelR\x07channel"\xc2\x01\n\x18UpdateFeedChannelRequest\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12%\n\x0bdescription\x18\x03 \x01(\tH\x01R\x0bdescription\x88\x01\x01\x12 \n\tis_public\x18\x04 \x01(\x08H\x02R\x08isPublic\x88\x01\x01B\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_is_public"9\n\x18DeleteFeedChannelRequest\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId"7\n\x16JoinFeedChannelRequest\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId"8\n\x17LeaveFeedChannelRequest\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId*|\n\nFeedFilter\x12\x13\n\x0fFEED_FILTER_HOT\x10\x00\x12\x13\n\x0fFEED_FILTER_NEW\x10\x01\x12\x13\n\x0fFEED_FILTER_TOP\x10\x02\x12\x14\n\x10FEED_FILTER_MINE\x10\x03\x12\x19\n\x15FEED_FILTER_FOLLOWING\x10\x04*q\n\nFeedSource\x12\x1b\n\x17FEED_SOURCE_UNSPECIFIED\x10\x00\x12\x16\n\x12FEED_SOURCE_PEOPLE\x10\x01\x12\x16\n\x12FEED_SOURCE_AGENTS\x10\x02\x12\x16\n\x12FEED_SOURCE_SYSTEM\x10\x03*\xb5\x01\n\rFeedTimeRange\x12\x1f\n\x1bFEED_TIME_RANGE_UNSPECIFIED\x10\x00\x12\x17\n\x13FEED_TIME_RANGE_DAY\x10\x01\x12\x18\n\x14FEED_TIME_RANGE_WEEK\x10\x02\x12\x19\n\x15FEED_TIME_RANGE_MONTH\x10\x03\x12\x1b\n\x17FEED_TIME_RANGE_QUARTER\x10\x04\x12\x18\n\x14FEED_TIME_RANGE_YEAR\x10\x05*L\n\x08VoteType\x12\x12\n\x0eVOTE_TYPE_NONE\x10\x00\x12\x14\n\x10VOTE_TYPE_UPVOTE\x10\x01\x12\x16\n\x12VOTE_TYPE_DOWNVOTE\x10\x02*a\n\x08PostType\x12\x12\n\x0ePOST_TYPE_TEXT\x10\x00\x12\x17\n\x13POST_TYPE_DASHBOARD\x10\x01\x12\x14\n\x10POST_TYPE_REPORT\x10\x02\x12\x12\n\x0ePOST_TYPE_CHAT\x10\x03*z\n\x0bCommentSort\x12\x1c\n\x18COMMENT_SORT_UNSPECIFIED\x10\x00\x12\x1e\n\x1aCOMMENT_SORT_CHRONOLOGICAL\x10\x01\x12\x17\n\x13COMMENT_SORT_LATEST\x10\x02\x12\x14\n\x10COMMENT_SORT_TOP\x10\x03*\xd8\x01\n\rFeedEventType\x12\x1f\n\x1bFEED_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18FEED_EVENT_TYPE_NEW_POST\x10\x01\x12 \n\x1cFEED_EVENT_TYPE_POST_DELETED\x10\x02\x12 \n\x1cFEED_EVENT_TYPE_VOTE_UPDATED\x10\x03\x12\x1f\n\x1bFEED_EVENT_TYPE_NEW_COMMENT\x10\x04\x12#\n\x1fFEED_EVENT_TYPE_COMMENT_DELETED\x10\x052\xd9\x15\n\x0bFeedService\x12c\n\nCreatePost\x12).textql.rpc.public.feed.CreatePostRequest\x1a*.textql.rpc.public.feed.CreatePostResponse\x12_\n\x07GetPost\x12&.textql.rpc.public.feed.GetPostRequest\x1a\'.textql.rpc.public.feed.GetPostResponse"\x03\x90\x02\x01\x12_\n\x07GetFeed\x12&.textql.rpc.public.feed.GetFeedRequest\x1a\'.textql.rpc.public.feed.GetFeedResponse"\x03\x90\x02\x01\x12O\n\nDeletePost\x12).textql.rpc.public.feed.DeletePostRequest\x1a\x16.google.protobuf.Empty\x12`\n\tVoteThing\x12(.textql.rpc.public.feed.VoteThingRequest\x1a).textql.rpc.public.feed.VoteThingResponse\x12l\n\rCreateComment\x12,.textql.rpc.public.feed.CreateCommentRequest\x1a-.textql.rpc.public.feed.CreateCommentResponse\x12k\n\x0bGetComments\x12*.textql.rpc.public.feed.GetCommentsRequest\x1a+.textql.rpc.public.feed.GetCommentsResponse"\x03\x90\x02\x01\x12\x80\x01\n\x12GetProfileComments\x121.textql.rpc.public.feed.GetProfileCommentsRequest\x1a2.textql.rpc.public.feed.GetProfileCommentsResponse"\x03\x90\x02\x01\x12U\n\rDeleteComment\x12,.textql.rpc.public.feed.DeleteCommentRequest\x1a\x16.google.protobuf.Empty\x12t\n\x0eGetLeaderboard\x12-.textql.rpc.public.feed.GetLeaderboardRequest\x1a..textql.rpc.public.feed.GetLeaderboardResponse"\x03\x90\x02\x01\x12Y\n\x0cGetFeedStats\x12\x16.google.protobuf.Empty\x1a,.textql.rpc.public.feed.GetFeedStatsResponse"\x03\x90\x02\x01\x12i\n\x14ListMentionableUsers\x12\x16.google.protobuf.Empty\x1a4.textql.rpc.public.feed.ListMentionableUsersResponse"\x03\x90\x02\x01\x12m\n\x16GetDefaultSlackChannel\x12\x16.google.protobuf.Empty\x1a6.textql.rpc.public.feed.GetDefaultSlackChannelResponse"\x03\x90\x02\x01\x12g\n\x16SetDefaultSlackChannel\x125.textql.rpc.public.feed.SetDefaultSlackChannelRequest\x1a\x16.google.protobuf.Empty\x12m\n\x16GetDefaultTeamsChannel\x12\x16.google.protobuf.Empty\x1a6.textql.rpc.public.feed.GetDefaultTeamsChannelResponse"\x03\x90\x02\x01\x12g\n\x16SetDefaultTeamsChannel\x125.textql.rpc.public.feed.SetDefaultTeamsChannelRequest\x1a\x16.google.protobuf.Empty\x12\\\n\nStreamFeed\x12).textql.rpc.public.feed.StreamFeedRequest\x1a!.textql.rpc.public.feed.FeedEvent0\x01\x12Q\n\x0bFollowAgent\x12*.textql.rpc.public.feed.FollowAgentRequest\x1a\x16.google.protobuf.Empty\x12U\n\rUnfollowAgent\x12,.textql.rpc.public.feed.UnfollowAgentRequest\x1a\x16.google.protobuf.Empty\x12e\n\x12ListFollowedAgents\x12\x16.google.protobuf.Empty\x1a2.textql.rpc.public.feed.ListFollowedAgentsResponse"\x03\x90\x02\x01\x12x\n\x11CreateFeedChannel\x120.textql.rpc.public.feed.CreateFeedChannelRequest\x1a1.textql.rpc.public.feed.CreateFeedChannelResponse\x12z\n\x10ListFeedChannels\x12/.textql.rpc.public.feed.ListFeedChannelsRequest\x1a0.textql.rpc.public.feed.ListFeedChannelsResponse"\x03\x90\x02\x01\x12t\n\x0eGetFeedChannel\x12-.textql.rpc.public.feed.GetFeedChannelRequest\x1a..textql.rpc.public.feed.GetFeedChannelResponse"\x03\x90\x02\x01\x12]\n\x11UpdateFeedChannel\x120.textql.rpc.public.feed.UpdateFeedChannelRequest\x1a\x16.google.protobuf.Empty\x12]\n\x11DeleteFeedChannel\x120.textql.rpc.public.feed.DeleteFeedChannelRequest\x1a\x16.google.protobuf.Empty\x12Y\n\x0fJoinFeedChannel\x12..textql.rpc.public.feed.JoinFeedChannelRequest\x1a\x16.google.protobuf.Empty\x12[\n\x10LeaveFeedChannel\x12/.textql.rpc.public.feed.LeaveFeedChannelRequest\x1a\x16.google.protobuf.EmptyB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.feed_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_POST'].fields_by_name['chat_ids']._loaded_options = None + _globals['_POST'].fields_by_name['chat_ids']._serialized_options = b'\x18\x01' + _globals['_CREATEPOSTREQUEST'].fields_by_name['chat_ids']._loaded_options = None + _globals['_CREATEPOSTREQUEST'].fields_by_name['chat_ids']._serialized_options = b'\x18\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetPost']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetPost']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetFeed']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetFeed']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetComments']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetComments']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetProfileComments']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetProfileComments']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetLeaderboard']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetLeaderboard']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetFeedStats']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetFeedStats']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['ListMentionableUsers']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['ListMentionableUsers']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetDefaultSlackChannel']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetDefaultSlackChannel']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetDefaultTeamsChannel']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetDefaultTeamsChannel']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['ListFollowedAgents']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['ListFollowedAgents']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['ListFeedChannels']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['ListFeedChannels']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDSERVICE'].methods_by_name['GetFeedChannel']._loaded_options = None + _globals['_FEEDSERVICE'].methods_by_name['GetFeedChannel']._serialized_options = b'\x90\x02\x01' + _globals['_FEEDFILTER']._serialized_start = 7269 + _globals['_FEEDFILTER']._serialized_end = 7393 + _globals['_FEEDSOURCE']._serialized_start = 7395 + _globals['_FEEDSOURCE']._serialized_end = 7508 + _globals['_FEEDTIMERANGE']._serialized_start = 7511 + _globals['_FEEDTIMERANGE']._serialized_end = 7692 + _globals['_VOTETYPE']._serialized_start = 7694 + _globals['_VOTETYPE']._serialized_end = 7770 + _globals['_POSTTYPE']._serialized_start = 7772 + _globals['_POSTTYPE']._serialized_end = 7869 + _globals['_COMMENTSORT']._serialized_start = 7871 + _globals['_COMMENTSORT']._serialized_end = 7993 + _globals['_FEEDEVENTTYPE']._serialized_start = 7996 + _globals['_FEEDEVENTTYPE']._serialized_end = 8212 + _globals['_POST']._serialized_start = 130 + _globals['_POST']._serialized_end = 1113 + _globals['_COMMENT']._serialized_start = 1116 + _globals['_COMMENT']._serialized_end = 1816 + _globals['_LEADERBOARDENTRY']._serialized_start = 1819 + _globals['_LEADERBOARDENTRY']._serialized_end = 2180 + _globals['_CREATEPOSTREQUEST']._serialized_start = 2183 + _globals['_CREATEPOSTREQUEST']._serialized_end = 2574 + _globals['_CREATEPOSTRESPONSE']._serialized_start = 2576 + _globals['_CREATEPOSTRESPONSE']._serialized_end = 2646 + _globals['_GETPOSTREQUEST']._serialized_start = 2648 + _globals['_GETPOSTREQUEST']._serialized_end = 2689 + _globals['_GETPOSTRESPONSE']._serialized_start = 2691 + _globals['_GETPOSTRESPONSE']._serialized_end = 2758 + _globals['_GETFEEDREQUEST']._serialized_start = 2761 + _globals['_GETFEEDREQUEST']._serialized_end = 3268 + _globals['_GETFEEDSTATSRESPONSE']._serialized_start = 3271 + _globals['_GETFEEDSTATSRESPONSE']._serialized_end = 3719 + _globals['_GETFEEDRESPONSE']._serialized_start = 3721 + _globals['_GETFEEDRESPONSE']._serialized_end = 3790 + _globals['_DELETEPOSTREQUEST']._serialized_start = 3792 + _globals['_DELETEPOSTREQUEST']._serialized_end = 3836 + _globals['_VOTETHINGREQUEST']._serialized_start = 3838 + _globals['_VOTETHINGREQUEST']._serialized_end = 3946 + _globals['_VOTETHINGRESPONSE']._serialized_start = 3948 + _globals['_VOTETHINGRESPONSE']._serialized_end = 4041 + _globals['_CREATECOMMENTREQUEST']._serialized_start = 4044 + _globals['_CREATECOMMENTREQUEST']._serialized_end = 4244 + _globals['_CREATECOMMENTRESPONSE']._serialized_start = 4246 + _globals['_CREATECOMMENTRESPONSE']._serialized_end = 4328 + _globals['_GETCOMMENTSREQUEST']._serialized_start = 4330 + _globals['_GETCOMMENTSREQUEST']._serialized_end = 4437 + _globals['_GETCOMMENTSRESPONSE']._serialized_start = 4439 + _globals['_GETCOMMENTSRESPONSE']._serialized_end = 4521 + _globals['_PROFILECOMMENT']._serialized_start = 4523 + _globals['_PROFILECOMMENT']._serialized_end = 4648 + _globals['_GETPROFILECOMMENTSREQUEST']._serialized_start = 4651 + _globals['_GETPROFILECOMMENTSREQUEST']._serialized_end = 4806 + _globals['_GETPROFILECOMMENTSRESPONSE']._serialized_start = 4808 + _globals['_GETPROFILECOMMENTSRESPONSE']._serialized_end = 4904 + _globals['_DELETECOMMENTREQUEST']._serialized_start = 4906 + _globals['_DELETECOMMENTREQUEST']._serialized_end = 4959 + _globals['_GETLEADERBOARDREQUEST']._serialized_start = 4961 + _globals['_GETLEADERBOARDREQUEST']._serialized_end = 5036 + _globals['_GETLEADERBOARDRESPONSE']._serialized_start = 5038 + _globals['_GETLEADERBOARDRESPONSE']._serialized_end = 5130 + _globals['_STREAMFEEDREQUEST']._serialized_start = 5132 + _globals['_STREAMFEEDREQUEST']._serialized_end = 5151 + _globals['_FEEDEVENT']._serialized_start = 5154 + _globals['_FEEDEVENT']._serialized_end = 5377 + _globals['_MENTIONABLEUSER']._serialized_start = 5379 + _globals['_MENTIONABLEUSER']._serialized_end = 5505 + _globals['_LISTMENTIONABLEUSERSRESPONSE']._serialized_start = 5507 + _globals['_LISTMENTIONABLEUSERSRESPONSE']._serialized_end = 5600 + _globals['_FOLLOWAGENTREQUEST']._serialized_start = 5602 + _globals['_FOLLOWAGENTREQUEST']._serialized_end = 5649 + _globals['_UNFOLLOWAGENTREQUEST']._serialized_start = 5651 + _globals['_UNFOLLOWAGENTREQUEST']._serialized_end = 5700 + _globals['_LISTFOLLOWEDAGENTSRESPONSE']._serialized_start = 5702 + _globals['_LISTFOLLOWEDAGENTSRESPONSE']._serialized_end = 5759 + _globals['_GETDEFAULTSLACKCHANNELRESPONSE']._serialized_start = 5761 + _globals['_GETDEFAULTSLACKCHANNELRESPONSE']._serialized_end = 5835 + _globals['_SETDEFAULTSLACKCHANNELREQUEST']._serialized_start = 5837 + _globals['_SETDEFAULTSLACKCHANNELREQUEST']._serialized_end = 5910 + _globals['_GETDEFAULTTEAMSCHANNELRESPONSE']._serialized_start = 5912 + _globals['_GETDEFAULTTEAMSCHANNELRESPONSE']._serialized_end = 5986 + _globals['_SETDEFAULTTEAMSCHANNELREQUEST']._serialized_start = 5988 + _globals['_SETDEFAULTTEAMSCHANNELREQUEST']._serialized_end = 6061 + _globals['_FEEDCHANNEL']._serialized_start = 6064 + _globals['_FEEDCHANNEL']._serialized_end = 6385 + _globals['_CREATEFEEDCHANNELREQUEST']._serialized_start = 6387 + _globals['_CREATEFEEDCHANNELREQUEST']._serialized_end = 6496 + _globals['_CREATEFEEDCHANNELRESPONSE']._serialized_start = 6498 + _globals['_CREATEFEEDCHANNELRESPONSE']._serialized_end = 6588 + _globals['_LISTFEEDCHANNELSREQUEST']._serialized_start = 6590 + _globals['_LISTFEEDCHANNELSREQUEST']._serialized_end = 6658 + _globals['_LISTFEEDCHANNELSRESPONSE']._serialized_start = 6660 + _globals['_LISTFEEDCHANNELSRESPONSE']._serialized_end = 6751 + _globals['_GETFEEDCHANNELREQUEST']._serialized_start = 6753 + _globals['_GETFEEDCHANNELREQUEST']._serialized_end = 6807 + _globals['_GETFEEDCHANNELRESPONSE']._serialized_start = 6809 + _globals['_GETFEEDCHANNELRESPONSE']._serialized_end = 6896 + _globals['_UPDATEFEEDCHANNELREQUEST']._serialized_start = 6899 + _globals['_UPDATEFEEDCHANNELREQUEST']._serialized_end = 7093 + _globals['_DELETEFEEDCHANNELREQUEST']._serialized_start = 7095 + _globals['_DELETEFEEDCHANNELREQUEST']._serialized_end = 7152 + _globals['_JOINFEEDCHANNELREQUEST']._serialized_start = 7154 + _globals['_JOINFEEDCHANNELREQUEST']._serialized_end = 7209 + _globals['_LEAVEFEEDCHANNELREQUEST']._serialized_start = 7211 + _globals['_LEAVEFEEDCHANNELREQUEST']._serialized_end = 7267 + _globals['_FEEDSERVICE']._serialized_start = 8215 + _globals['_FEEDSERVICE']._serialized_end = 10992 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/feed_pb2.pyi b/src/textql_sdk/_connect/public/feed_pb2.pyi new file mode 100644 index 0000000..bf5f3db --- /dev/null +++ b/src/textql_sdk/_connect/public/feed_pb2.pyi @@ -0,0 +1,666 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class FeedFilter(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + FEED_FILTER_HOT: _ClassVar[FeedFilter] + FEED_FILTER_NEW: _ClassVar[FeedFilter] + FEED_FILTER_TOP: _ClassVar[FeedFilter] + FEED_FILTER_MINE: _ClassVar[FeedFilter] + FEED_FILTER_FOLLOWING: _ClassVar[FeedFilter] + +class FeedSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + FEED_SOURCE_UNSPECIFIED: _ClassVar[FeedSource] + FEED_SOURCE_PEOPLE: _ClassVar[FeedSource] + FEED_SOURCE_AGENTS: _ClassVar[FeedSource] + FEED_SOURCE_SYSTEM: _ClassVar[FeedSource] + +class FeedTimeRange(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + FEED_TIME_RANGE_UNSPECIFIED: _ClassVar[FeedTimeRange] + FEED_TIME_RANGE_DAY: _ClassVar[FeedTimeRange] + FEED_TIME_RANGE_WEEK: _ClassVar[FeedTimeRange] + FEED_TIME_RANGE_MONTH: _ClassVar[FeedTimeRange] + FEED_TIME_RANGE_QUARTER: _ClassVar[FeedTimeRange] + FEED_TIME_RANGE_YEAR: _ClassVar[FeedTimeRange] + +class VoteType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + VOTE_TYPE_NONE: _ClassVar[VoteType] + VOTE_TYPE_UPVOTE: _ClassVar[VoteType] + VOTE_TYPE_DOWNVOTE: _ClassVar[VoteType] + +class PostType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + POST_TYPE_TEXT: _ClassVar[PostType] + POST_TYPE_DASHBOARD: _ClassVar[PostType] + POST_TYPE_REPORT: _ClassVar[PostType] + POST_TYPE_CHAT: _ClassVar[PostType] + +class CommentSort(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + COMMENT_SORT_UNSPECIFIED: _ClassVar[CommentSort] + COMMENT_SORT_CHRONOLOGICAL: _ClassVar[CommentSort] + COMMENT_SORT_LATEST: _ClassVar[CommentSort] + COMMENT_SORT_TOP: _ClassVar[CommentSort] + +class FeedEventType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + FEED_EVENT_TYPE_UNSPECIFIED: _ClassVar[FeedEventType] + FEED_EVENT_TYPE_NEW_POST: _ClassVar[FeedEventType] + FEED_EVENT_TYPE_POST_DELETED: _ClassVar[FeedEventType] + FEED_EVENT_TYPE_VOTE_UPDATED: _ClassVar[FeedEventType] + FEED_EVENT_TYPE_NEW_COMMENT: _ClassVar[FeedEventType] + FEED_EVENT_TYPE_COMMENT_DELETED: _ClassVar[FeedEventType] +FEED_FILTER_HOT: FeedFilter +FEED_FILTER_NEW: FeedFilter +FEED_FILTER_TOP: FeedFilter +FEED_FILTER_MINE: FeedFilter +FEED_FILTER_FOLLOWING: FeedFilter +FEED_SOURCE_UNSPECIFIED: FeedSource +FEED_SOURCE_PEOPLE: FeedSource +FEED_SOURCE_AGENTS: FeedSource +FEED_SOURCE_SYSTEM: FeedSource +FEED_TIME_RANGE_UNSPECIFIED: FeedTimeRange +FEED_TIME_RANGE_DAY: FeedTimeRange +FEED_TIME_RANGE_WEEK: FeedTimeRange +FEED_TIME_RANGE_MONTH: FeedTimeRange +FEED_TIME_RANGE_QUARTER: FeedTimeRange +FEED_TIME_RANGE_YEAR: FeedTimeRange +VOTE_TYPE_NONE: VoteType +VOTE_TYPE_UPVOTE: VoteType +VOTE_TYPE_DOWNVOTE: VoteType +POST_TYPE_TEXT: PostType +POST_TYPE_DASHBOARD: PostType +POST_TYPE_REPORT: PostType +POST_TYPE_CHAT: PostType +COMMENT_SORT_UNSPECIFIED: CommentSort +COMMENT_SORT_CHRONOLOGICAL: CommentSort +COMMENT_SORT_LATEST: CommentSort +COMMENT_SORT_TOP: CommentSort +FEED_EVENT_TYPE_UNSPECIFIED: FeedEventType +FEED_EVENT_TYPE_NEW_POST: FeedEventType +FEED_EVENT_TYPE_POST_DELETED: FeedEventType +FEED_EVENT_TYPE_VOTE_UPDATED: FeedEventType +FEED_EVENT_TYPE_NEW_COMMENT: FeedEventType +FEED_EVENT_TYPE_COMMENT_DELETED: FeedEventType + +class Post(_message.Message): + __slots__ = ('id', 'title', 'content', 'post_type', 'creator_member_id', 'creator_agent_id', 'upvote_count', 'downvote_count', 'comment_count', 'my_vote', 'created_at', 'creator_member_name', 'creator_agent_name', 'chat_id', 'image_urls', 'dashboard_ids', 'report_ids', 'chat_ids', 'tagged_member_ids', 'tagged_agent_ids', 'is_demo', 'channel_ids', 'creator_agent_profile_image_url', 'creator_member_profile_image_url') + ID_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + POST_TYPE_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + CREATOR_AGENT_ID_FIELD_NUMBER: _ClassVar[int] + UPVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + DOWNVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + COMMENT_COUNT_FIELD_NUMBER: _ClassVar[int] + MY_VOTE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_NAME_FIELD_NUMBER: _ClassVar[int] + CREATOR_AGENT_NAME_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + IMAGE_URLS_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_IDS_FIELD_NUMBER: _ClassVar[int] + REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + CHAT_IDS_FIELD_NUMBER: _ClassVar[int] + TAGGED_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + TAGGED_AGENT_IDS_FIELD_NUMBER: _ClassVar[int] + IS_DEMO_FIELD_NUMBER: _ClassVar[int] + CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + CREATOR_AGENT_PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + id: str + title: str + content: str + post_type: PostType + creator_member_id: str + creator_agent_id: str + upvote_count: int + downvote_count: int + comment_count: int + my_vote: VoteType + created_at: _timestamp_pb2.Timestamp + creator_member_name: str + creator_agent_name: str + chat_id: str + image_urls: _containers.RepeatedScalarFieldContainer[str] + dashboard_ids: _containers.RepeatedScalarFieldContainer[str] + report_ids: _containers.RepeatedScalarFieldContainer[str] + chat_ids: _containers.RepeatedScalarFieldContainer[str] + tagged_member_ids: _containers.RepeatedScalarFieldContainer[str] + tagged_agent_ids: _containers.RepeatedScalarFieldContainer[str] + is_demo: bool + channel_ids: _containers.RepeatedScalarFieldContainer[str] + creator_agent_profile_image_url: str + creator_member_profile_image_url: str + + def __init__(self, id: _Optional[str]=..., title: _Optional[str]=..., content: _Optional[str]=..., post_type: _Optional[_Union[PostType, str]]=..., creator_member_id: _Optional[str]=..., creator_agent_id: _Optional[str]=..., upvote_count: _Optional[int]=..., downvote_count: _Optional[int]=..., comment_count: _Optional[int]=..., my_vote: _Optional[_Union[VoteType, str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., creator_member_name: _Optional[str]=..., creator_agent_name: _Optional[str]=..., chat_id: _Optional[str]=..., image_urls: _Optional[_Iterable[str]]=..., dashboard_ids: _Optional[_Iterable[str]]=..., report_ids: _Optional[_Iterable[str]]=..., chat_ids: _Optional[_Iterable[str]]=..., tagged_member_ids: _Optional[_Iterable[str]]=..., tagged_agent_ids: _Optional[_Iterable[str]]=..., is_demo: bool=..., channel_ids: _Optional[_Iterable[str]]=..., creator_agent_profile_image_url: _Optional[str]=..., creator_member_profile_image_url: _Optional[str]=...) -> None: + ... + +class Comment(_message.Message): + __slots__ = ('id', 'content', 'post_id', 'parent_id', 'depth', 'creator_member_id', 'creator_agent_id', 'upvote_count', 'downvote_count', 'my_vote', 'created_at', 'replies', 'creator_member_name', 'creator_agent_name', 'creator_agent_profile_image_url', 'creator_member_profile_image_url') + ID_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + POST_ID_FIELD_NUMBER: _ClassVar[int] + PARENT_ID_FIELD_NUMBER: _ClassVar[int] + DEPTH_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + CREATOR_AGENT_ID_FIELD_NUMBER: _ClassVar[int] + UPVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + DOWNVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + MY_VOTE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + REPLIES_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_NAME_FIELD_NUMBER: _ClassVar[int] + CREATOR_AGENT_NAME_FIELD_NUMBER: _ClassVar[int] + CREATOR_AGENT_PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + id: str + content: str + post_id: str + parent_id: str + depth: int + creator_member_id: str + creator_agent_id: str + upvote_count: int + downvote_count: int + my_vote: VoteType + created_at: _timestamp_pb2.Timestamp + replies: _containers.RepeatedCompositeFieldContainer[Comment] + creator_member_name: str + creator_agent_name: str + creator_agent_profile_image_url: str + creator_member_profile_image_url: str + + def __init__(self, id: _Optional[str]=..., content: _Optional[str]=..., post_id: _Optional[str]=..., parent_id: _Optional[str]=..., depth: _Optional[int]=..., creator_member_id: _Optional[str]=..., creator_agent_id: _Optional[str]=..., upvote_count: _Optional[int]=..., downvote_count: _Optional[int]=..., my_vote: _Optional[_Union[VoteType, str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., replies: _Optional[_Iterable[_Union[Comment, _Mapping]]]=..., creator_member_name: _Optional[str]=..., creator_agent_name: _Optional[str]=..., creator_agent_profile_image_url: _Optional[str]=..., creator_member_profile_image_url: _Optional[str]=...) -> None: + ... + +class LeaderboardEntry(_message.Message): + __slots__ = ('member_id', 'agent_id', 'post_count', 'comment_count', 'received_upvotes', 'received_downvotes', 'net_score', 'member_name', 'agent_name', 'agent_chat_id') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + POST_COUNT_FIELD_NUMBER: _ClassVar[int] + COMMENT_COUNT_FIELD_NUMBER: _ClassVar[int] + RECEIVED_UPVOTES_FIELD_NUMBER: _ClassVar[int] + RECEIVED_DOWNVOTES_FIELD_NUMBER: _ClassVar[int] + NET_SCORE_FIELD_NUMBER: _ClassVar[int] + MEMBER_NAME_FIELD_NUMBER: _ClassVar[int] + AGENT_NAME_FIELD_NUMBER: _ClassVar[int] + AGENT_CHAT_ID_FIELD_NUMBER: _ClassVar[int] + member_id: str + agent_id: str + post_count: int + comment_count: int + received_upvotes: int + received_downvotes: int + net_score: int + member_name: str + agent_name: str + agent_chat_id: str + + def __init__(self, member_id: _Optional[str]=..., agent_id: _Optional[str]=..., post_count: _Optional[int]=..., comment_count: _Optional[int]=..., received_upvotes: _Optional[int]=..., received_downvotes: _Optional[int]=..., net_score: _Optional[int]=..., member_name: _Optional[str]=..., agent_name: _Optional[str]=..., agent_chat_id: _Optional[str]=...) -> None: + ... + +class CreatePostRequest(_message.Message): + __slots__ = ('title', 'content', 'post_type', 'image_urls', 'dashboard_ids', 'report_ids', 'chat_ids', 'mentioned_member_ids', 'mentioned_agent_ids', 'channel_ids') + TITLE_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + POST_TYPE_FIELD_NUMBER: _ClassVar[int] + IMAGE_URLS_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_IDS_FIELD_NUMBER: _ClassVar[int] + REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + CHAT_IDS_FIELD_NUMBER: _ClassVar[int] + MENTIONED_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + MENTIONED_AGENT_IDS_FIELD_NUMBER: _ClassVar[int] + CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + title: str + content: str + post_type: PostType + image_urls: _containers.RepeatedScalarFieldContainer[str] + dashboard_ids: _containers.RepeatedScalarFieldContainer[str] + report_ids: _containers.RepeatedScalarFieldContainer[str] + chat_ids: _containers.RepeatedScalarFieldContainer[str] + mentioned_member_ids: _containers.RepeatedScalarFieldContainer[str] + mentioned_agent_ids: _containers.RepeatedScalarFieldContainer[str] + channel_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, title: _Optional[str]=..., content: _Optional[str]=..., post_type: _Optional[_Union[PostType, str]]=..., image_urls: _Optional[_Iterable[str]]=..., dashboard_ids: _Optional[_Iterable[str]]=..., report_ids: _Optional[_Iterable[str]]=..., chat_ids: _Optional[_Iterable[str]]=..., mentioned_member_ids: _Optional[_Iterable[str]]=..., mentioned_agent_ids: _Optional[_Iterable[str]]=..., channel_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreatePostResponse(_message.Message): + __slots__ = ('post',) + POST_FIELD_NUMBER: _ClassVar[int] + post: Post + + def __init__(self, post: _Optional[_Union[Post, _Mapping]]=...) -> None: + ... + +class GetPostRequest(_message.Message): + __slots__ = ('post_id',) + POST_ID_FIELD_NUMBER: _ClassVar[int] + post_id: str + + def __init__(self, post_id: _Optional[str]=...) -> None: + ... + +class GetPostResponse(_message.Message): + __slots__ = ('post',) + POST_FIELD_NUMBER: _ClassVar[int] + post: Post + + def __init__(self, post: _Optional[_Union[Post, _Mapping]]=...) -> None: + ... + +class GetFeedRequest(_message.Message): + __slots__ = ('filter', 'limit', 'offset', 'author_member_id', 'author_agent_id', 'channel_id', 'author_agent_ids', 'channel_ids', 'sources', 'time_range', 'created_after') + FILTER_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + AUTHOR_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + AUTHOR_AGENT_ID_FIELD_NUMBER: _ClassVar[int] + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + AUTHOR_AGENT_IDS_FIELD_NUMBER: _ClassVar[int] + CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + SOURCES_FIELD_NUMBER: _ClassVar[int] + TIME_RANGE_FIELD_NUMBER: _ClassVar[int] + CREATED_AFTER_FIELD_NUMBER: _ClassVar[int] + filter: FeedFilter + limit: int + offset: int + author_member_id: str + author_agent_id: str + channel_id: str + author_agent_ids: _containers.RepeatedScalarFieldContainer[str] + channel_ids: _containers.RepeatedScalarFieldContainer[str] + sources: _containers.RepeatedScalarFieldContainer[FeedSource] + time_range: FeedTimeRange + created_after: _timestamp_pb2.Timestamp + + def __init__(self, filter: _Optional[_Union[FeedFilter, str]]=..., limit: _Optional[int]=..., offset: _Optional[int]=..., author_member_id: _Optional[str]=..., author_agent_id: _Optional[str]=..., channel_id: _Optional[str]=..., author_agent_ids: _Optional[_Iterable[str]]=..., channel_ids: _Optional[_Iterable[str]]=..., sources: _Optional[_Iterable[_Union[FeedSource, str]]]=..., time_range: _Optional[_Union[FeedTimeRange, str]]=..., created_after: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetFeedStatsResponse(_message.Message): + __slots__ = ('posts_today', 'messages_today', 'messages_all_time', 'active_agents', 'dashboards_created', 'threads_created', 'playbooks_created', 'connectors_configured', 'connector_names', 'active_agent_names') + POSTS_TODAY_FIELD_NUMBER: _ClassVar[int] + MESSAGES_TODAY_FIELD_NUMBER: _ClassVar[int] + MESSAGES_ALL_TIME_FIELD_NUMBER: _ClassVar[int] + ACTIVE_AGENTS_FIELD_NUMBER: _ClassVar[int] + DASHBOARDS_CREATED_FIELD_NUMBER: _ClassVar[int] + THREADS_CREATED_FIELD_NUMBER: _ClassVar[int] + PLAYBOOKS_CREATED_FIELD_NUMBER: _ClassVar[int] + CONNECTORS_CONFIGURED_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_NAMES_FIELD_NUMBER: _ClassVar[int] + ACTIVE_AGENT_NAMES_FIELD_NUMBER: _ClassVar[int] + posts_today: int + messages_today: int + messages_all_time: int + active_agents: int + dashboards_created: int + threads_created: int + playbooks_created: int + connectors_configured: int + connector_names: _containers.RepeatedScalarFieldContainer[str] + active_agent_names: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, posts_today: _Optional[int]=..., messages_today: _Optional[int]=..., messages_all_time: _Optional[int]=..., active_agents: _Optional[int]=..., dashboards_created: _Optional[int]=..., threads_created: _Optional[int]=..., playbooks_created: _Optional[int]=..., connectors_configured: _Optional[int]=..., connector_names: _Optional[_Iterable[str]]=..., active_agent_names: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetFeedResponse(_message.Message): + __slots__ = ('posts',) + POSTS_FIELD_NUMBER: _ClassVar[int] + posts: _containers.RepeatedCompositeFieldContainer[Post] + + def __init__(self, posts: _Optional[_Iterable[_Union[Post, _Mapping]]]=...) -> None: + ... + +class DeletePostRequest(_message.Message): + __slots__ = ('post_id',) + POST_ID_FIELD_NUMBER: _ClassVar[int] + post_id: str + + def __init__(self, post_id: _Optional[str]=...) -> None: + ... + +class VoteThingRequest(_message.Message): + __slots__ = ('thing_id', 'vote_type') + THING_ID_FIELD_NUMBER: _ClassVar[int] + VOTE_TYPE_FIELD_NUMBER: _ClassVar[int] + thing_id: str + vote_type: VoteType + + def __init__(self, thing_id: _Optional[str]=..., vote_type: _Optional[_Union[VoteType, str]]=...) -> None: + ... + +class VoteThingResponse(_message.Message): + __slots__ = ('upvote_count', 'downvote_count') + UPVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + DOWNVOTE_COUNT_FIELD_NUMBER: _ClassVar[int] + upvote_count: int + downvote_count: int + + def __init__(self, upvote_count: _Optional[int]=..., downvote_count: _Optional[int]=...) -> None: + ... + +class CreateCommentRequest(_message.Message): + __slots__ = ('post_id', 'content', 'parent_id', 'mentioned_member_ids', 'mentioned_agent_ids') + POST_ID_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + PARENT_ID_FIELD_NUMBER: _ClassVar[int] + MENTIONED_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + MENTIONED_AGENT_IDS_FIELD_NUMBER: _ClassVar[int] + post_id: str + content: str + parent_id: str + mentioned_member_ids: _containers.RepeatedScalarFieldContainer[str] + mentioned_agent_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, post_id: _Optional[str]=..., content: _Optional[str]=..., parent_id: _Optional[str]=..., mentioned_member_ids: _Optional[_Iterable[str]]=..., mentioned_agent_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreateCommentResponse(_message.Message): + __slots__ = ('comment',) + COMMENT_FIELD_NUMBER: _ClassVar[int] + comment: Comment + + def __init__(self, comment: _Optional[_Union[Comment, _Mapping]]=...) -> None: + ... + +class GetCommentsRequest(_message.Message): + __slots__ = ('post_id', 'sort_by') + POST_ID_FIELD_NUMBER: _ClassVar[int] + SORT_BY_FIELD_NUMBER: _ClassVar[int] + post_id: str + sort_by: CommentSort + + def __init__(self, post_id: _Optional[str]=..., sort_by: _Optional[_Union[CommentSort, str]]=...) -> None: + ... + +class GetCommentsResponse(_message.Message): + __slots__ = ('comments',) + COMMENTS_FIELD_NUMBER: _ClassVar[int] + comments: _containers.RepeatedCompositeFieldContainer[Comment] + + def __init__(self, comments: _Optional[_Iterable[_Union[Comment, _Mapping]]]=...) -> None: + ... + +class ProfileComment(_message.Message): + __slots__ = ('comment', 'post') + COMMENT_FIELD_NUMBER: _ClassVar[int] + POST_FIELD_NUMBER: _ClassVar[int] + comment: Comment + post: Post + + def __init__(self, comment: _Optional[_Union[Comment, _Mapping]]=..., post: _Optional[_Union[Post, _Mapping]]=...) -> None: + ... + +class GetProfileCommentsRequest(_message.Message): + __slots__ = ('author_member_id', 'author_agent_id', 'limit', 'offset') + AUTHOR_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + AUTHOR_AGENT_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + author_member_id: str + author_agent_id: str + limit: int + offset: int + + def __init__(self, author_member_id: _Optional[str]=..., author_agent_id: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class GetProfileCommentsResponse(_message.Message): + __slots__ = ('comments',) + COMMENTS_FIELD_NUMBER: _ClassVar[int] + comments: _containers.RepeatedCompositeFieldContainer[ProfileComment] + + def __init__(self, comments: _Optional[_Iterable[_Union[ProfileComment, _Mapping]]]=...) -> None: + ... + +class DeleteCommentRequest(_message.Message): + __slots__ = ('comment_id',) + COMMENT_ID_FIELD_NUMBER: _ClassVar[int] + comment_id: str + + def __init__(self, comment_id: _Optional[str]=...) -> None: + ... + +class GetLeaderboardRequest(_message.Message): + __slots__ = ('timeframe', 'limit') + TIMEFRAME_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + timeframe: str + limit: int + + def __init__(self, timeframe: _Optional[str]=..., limit: _Optional[int]=...) -> None: + ... + +class GetLeaderboardResponse(_message.Message): + __slots__ = ('entries',) + ENTRIES_FIELD_NUMBER: _ClassVar[int] + entries: _containers.RepeatedCompositeFieldContainer[LeaderboardEntry] + + def __init__(self, entries: _Optional[_Iterable[_Union[LeaderboardEntry, _Mapping]]]=...) -> None: + ... + +class StreamFeedRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class FeedEvent(_message.Message): + __slots__ = ('event_type', 'post', 'comment', 'channel_ids') + EVENT_TYPE_FIELD_NUMBER: _ClassVar[int] + POST_FIELD_NUMBER: _ClassVar[int] + COMMENT_FIELD_NUMBER: _ClassVar[int] + CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + event_type: FeedEventType + post: Post + comment: Comment + channel_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, event_type: _Optional[_Union[FeedEventType, str]]=..., post: _Optional[_Union[Post, _Mapping]]=..., comment: _Optional[_Union[Comment, _Mapping]]=..., channel_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class MentionableUser(_message.Message): + __slots__ = ('id', 'display_name', 'avatar_url', 'is_agent') + ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + AVATAR_URL_FIELD_NUMBER: _ClassVar[int] + IS_AGENT_FIELD_NUMBER: _ClassVar[int] + id: str + display_name: str + avatar_url: str + is_agent: bool + + def __init__(self, id: _Optional[str]=..., display_name: _Optional[str]=..., avatar_url: _Optional[str]=..., is_agent: bool=...) -> None: + ... + +class ListMentionableUsersResponse(_message.Message): + __slots__ = ('users',) + USERS_FIELD_NUMBER: _ClassVar[int] + users: _containers.RepeatedCompositeFieldContainer[MentionableUser] + + def __init__(self, users: _Optional[_Iterable[_Union[MentionableUser, _Mapping]]]=...) -> None: + ... + +class FollowAgentRequest(_message.Message): + __slots__ = ('agent_id',) + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + + def __init__(self, agent_id: _Optional[str]=...) -> None: + ... + +class UnfollowAgentRequest(_message.Message): + __slots__ = ('agent_id',) + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + + def __init__(self, agent_id: _Optional[str]=...) -> None: + ... + +class ListFollowedAgentsResponse(_message.Message): + __slots__ = ('agent_ids',) + AGENT_IDS_FIELD_NUMBER: _ClassVar[int] + agent_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, agent_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetDefaultSlackChannelResponse(_message.Message): + __slots__ = ('slack_channel_id',) + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + slack_channel_id: str + + def __init__(self, slack_channel_id: _Optional[str]=...) -> None: + ... + +class SetDefaultSlackChannelRequest(_message.Message): + __slots__ = ('slack_channel_id',) + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + slack_channel_id: str + + def __init__(self, slack_channel_id: _Optional[str]=...) -> None: + ... + +class GetDefaultTeamsChannelResponse(_message.Message): + __slots__ = ('teams_channel_id',) + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + teams_channel_id: str + + def __init__(self, teams_channel_id: _Optional[str]=...) -> None: + ... + +class SetDefaultTeamsChannelRequest(_message.Message): + __slots__ = ('teams_channel_id',) + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + teams_channel_id: str + + def __init__(self, teams_channel_id: _Optional[str]=...) -> None: + ... + +class FeedChannel(_message.Message): + __slots__ = ('id', 'name', 'description', 'creator_id', 'created_at', 'updated_at', 'is_public', 'is_member', 'is_default') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CREATOR_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + IS_MEMBER_FIELD_NUMBER: _ClassVar[int] + IS_DEFAULT_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + creator_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + is_public: bool + is_member: bool + is_default: bool + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., creator_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., is_public: bool=..., is_member: bool=..., is_default: bool=...) -> None: + ... + +class CreateFeedChannelRequest(_message.Message): + __slots__ = ('name', 'description', 'is_public') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + is_public: bool + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., is_public: bool=...) -> None: + ... + +class CreateFeedChannelResponse(_message.Message): + __slots__ = ('channel',) + CHANNEL_FIELD_NUMBER: _ClassVar[int] + channel: FeedChannel + + def __init__(self, channel: _Optional[_Union[FeedChannel, _Mapping]]=...) -> None: + ... + +class ListFeedChannelsRequest(_message.Message): + __slots__ = ('include_unjoined',) + INCLUDE_UNJOINED_FIELD_NUMBER: _ClassVar[int] + include_unjoined: bool + + def __init__(self, include_unjoined: bool=...) -> None: + ... + +class ListFeedChannelsResponse(_message.Message): + __slots__ = ('channels',) + CHANNELS_FIELD_NUMBER: _ClassVar[int] + channels: _containers.RepeatedCompositeFieldContainer[FeedChannel] + + def __init__(self, channels: _Optional[_Iterable[_Union[FeedChannel, _Mapping]]]=...) -> None: + ... + +class GetFeedChannelRequest(_message.Message): + __slots__ = ('channel_id',) + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + channel_id: str + + def __init__(self, channel_id: _Optional[str]=...) -> None: + ... + +class GetFeedChannelResponse(_message.Message): + __slots__ = ('channel',) + CHANNEL_FIELD_NUMBER: _ClassVar[int] + channel: FeedChannel + + def __init__(self, channel: _Optional[_Union[FeedChannel, _Mapping]]=...) -> None: + ... + +class UpdateFeedChannelRequest(_message.Message): + __slots__ = ('channel_id', 'name', 'description', 'is_public') + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + channel_id: str + name: str + description: str + is_public: bool + + def __init__(self, channel_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., is_public: bool=...) -> None: + ... + +class DeleteFeedChannelRequest(_message.Message): + __slots__ = ('channel_id',) + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + channel_id: str + + def __init__(self, channel_id: _Optional[str]=...) -> None: + ... + +class JoinFeedChannelRequest(_message.Message): + __slots__ = ('channel_id',) + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + channel_id: str + + def __init__(self, channel_id: _Optional[str]=...) -> None: + ... + +class LeaveFeedChannelRequest(_message.Message): + __slots__ = ('channel_id',) + CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + channel_id: str + + def __init__(self, channel_id: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/form_connect.py b/src/textql_sdk/_connect/public/form_connect.py new file mode 100644 index 0000000..90f125f --- /dev/null +++ b/src/textql_sdk/_connect/public/form_connect.py @@ -0,0 +1,159 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import form_pb2 as public_dot_form__pb2 + +class FormService(Protocol): + + async def get_form(self, request: public_dot_form__pb2.GetFormRequest, ctx: RequestContext) -> public_dot_form__pb2.GetFormResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_forms(self, request: public_dot_form__pb2.ListFormsRequest, ctx: RequestContext) -> public_dot_form__pb2.ListFormsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def prepare_form_edit(self, request: public_dot_form__pb2.PrepareFormEditRequest, ctx: RequestContext) -> public_dot_form__pb2.PrepareFormEditResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def validate_form(self, request: public_dot_form__pb2.ValidateFormRequest, ctx: RequestContext) -> public_dot_form__pb2.ValidateFormResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_form_data(self, request: public_dot_form__pb2.UpdateFormDataRequest, ctx: RequestContext) -> public_dot_form__pb2.UpdateFormDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def test_form(self, request: public_dot_form__pb2.TestFormRequest, ctx: RequestContext) -> public_dot_form__pb2.TestFormResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_form_test(self, request: public_dot_form__pb2.GetFormTestRequest, ctx: RequestContext) -> public_dot_form__pb2.GetFormTestResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def submit_form(self, request: public_dot_form__pb2.SubmitFormRequest, ctx: RequestContext) -> public_dot_form__pb2.SubmitFormResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_form_status(self, request: public_dot_form__pb2.SetFormStatusRequest, ctx: RequestContext) -> public_dot_form__pb2.SetFormStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def backup_form_revision(self, request: public_dot_form__pb2.BackupFormRevisionRequest, ctx: RequestContext) -> public_dot_form__pb2.BackupFormRevisionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class FormServiceASGIApplication(ConnectASGIApplication[FormService]): + + def __init__(self, service: FormService | AsyncGenerator[FormService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.form.FormService/GetForm': Endpoint.unary(method=MethodInfo(name='GetForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.GetFormRequest, output=public_dot_form__pb2.GetFormResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_form), '/textql.rpc.public.form.FormService/ListForms': Endpoint.unary(method=MethodInfo(name='ListForms', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.ListFormsRequest, output=public_dot_form__pb2.ListFormsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_forms), '/textql.rpc.public.form.FormService/PrepareFormEdit': Endpoint.unary(method=MethodInfo(name='PrepareFormEdit', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.PrepareFormEditRequest, output=public_dot_form__pb2.PrepareFormEditResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.prepare_form_edit), '/textql.rpc.public.form.FormService/ValidateForm': Endpoint.unary(method=MethodInfo(name='ValidateForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.ValidateFormRequest, output=public_dot_form__pb2.ValidateFormResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.validate_form), '/textql.rpc.public.form.FormService/UpdateFormData': Endpoint.unary(method=MethodInfo(name='UpdateFormData', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.UpdateFormDataRequest, output=public_dot_form__pb2.UpdateFormDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_form_data), '/textql.rpc.public.form.FormService/TestForm': Endpoint.unary(method=MethodInfo(name='TestForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.TestFormRequest, output=public_dot_form__pb2.TestFormResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.test_form), '/textql.rpc.public.form.FormService/GetFormTest': Endpoint.unary(method=MethodInfo(name='GetFormTest', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.GetFormTestRequest, output=public_dot_form__pb2.GetFormTestResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_form_test), '/textql.rpc.public.form.FormService/SubmitForm': Endpoint.unary(method=MethodInfo(name='SubmitForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.SubmitFormRequest, output=public_dot_form__pb2.SubmitFormResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.submit_form), '/textql.rpc.public.form.FormService/SetFormStatus': Endpoint.unary(method=MethodInfo(name='SetFormStatus', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.SetFormStatusRequest, output=public_dot_form__pb2.SetFormStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_form_status), '/textql.rpc.public.form.FormService/BackupFormRevision': Endpoint.unary(method=MethodInfo(name='BackupFormRevision', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.BackupFormRevisionRequest, output=public_dot_form__pb2.BackupFormRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.backup_form_revision)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.form.FormService' + +class FormServiceClient(ConnectClient): + + async def get_form(self, request: public_dot_form__pb2.GetFormRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_form__pb2.GetFormResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.GetFormRequest, output=public_dot_form__pb2.GetFormResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_forms(self, request: public_dot_form__pb2.ListFormsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_form__pb2.ListFormsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListForms', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.ListFormsRequest, output=public_dot_form__pb2.ListFormsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def prepare_form_edit(self, request: public_dot_form__pb2.PrepareFormEditRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.PrepareFormEditResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PrepareFormEdit', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.PrepareFormEditRequest, output=public_dot_form__pb2.PrepareFormEditResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def validate_form(self, request: public_dot_form__pb2.ValidateFormRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_form__pb2.ValidateFormResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ValidateForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.ValidateFormRequest, output=public_dot_form__pb2.ValidateFormResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_form_data(self, request: public_dot_form__pb2.UpdateFormDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.UpdateFormDataResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateFormData', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.UpdateFormDataRequest, output=public_dot_form__pb2.UpdateFormDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def test_form(self, request: public_dot_form__pb2.TestFormRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.TestFormResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.TestFormRequest, output=public_dot_form__pb2.TestFormResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_form_test(self, request: public_dot_form__pb2.GetFormTestRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_form__pb2.GetFormTestResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetFormTest', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.GetFormTestRequest, output=public_dot_form__pb2.GetFormTestResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def submit_form(self, request: public_dot_form__pb2.SubmitFormRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.SubmitFormResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SubmitForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.SubmitFormRequest, output=public_dot_form__pb2.SubmitFormResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def set_form_status(self, request: public_dot_form__pb2.SetFormStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.SetFormStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetFormStatus', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.SetFormStatusRequest, output=public_dot_form__pb2.SetFormStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def backup_form_revision(self, request: public_dot_form__pb2.BackupFormRevisionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.BackupFormRevisionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='BackupFormRevision', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.BackupFormRevisionRequest, output=public_dot_form__pb2.BackupFormRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class FormServiceSync(Protocol): + + def get_form(self, request: public_dot_form__pb2.GetFormRequest, ctx: RequestContext) -> public_dot_form__pb2.GetFormResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_forms(self, request: public_dot_form__pb2.ListFormsRequest, ctx: RequestContext) -> public_dot_form__pb2.ListFormsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def prepare_form_edit(self, request: public_dot_form__pb2.PrepareFormEditRequest, ctx: RequestContext) -> public_dot_form__pb2.PrepareFormEditResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def validate_form(self, request: public_dot_form__pb2.ValidateFormRequest, ctx: RequestContext) -> public_dot_form__pb2.ValidateFormResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_form_data(self, request: public_dot_form__pb2.UpdateFormDataRequest, ctx: RequestContext) -> public_dot_form__pb2.UpdateFormDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def test_form(self, request: public_dot_form__pb2.TestFormRequest, ctx: RequestContext) -> public_dot_form__pb2.TestFormResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_form_test(self, request: public_dot_form__pb2.GetFormTestRequest, ctx: RequestContext) -> public_dot_form__pb2.GetFormTestResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def submit_form(self, request: public_dot_form__pb2.SubmitFormRequest, ctx: RequestContext) -> public_dot_form__pb2.SubmitFormResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_form_status(self, request: public_dot_form__pb2.SetFormStatusRequest, ctx: RequestContext) -> public_dot_form__pb2.SetFormStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def backup_form_revision(self, request: public_dot_form__pb2.BackupFormRevisionRequest, ctx: RequestContext) -> public_dot_form__pb2.BackupFormRevisionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class FormServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: FormServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.form.FormService/GetForm': EndpointSync.unary(method=MethodInfo(name='GetForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.GetFormRequest, output=public_dot_form__pb2.GetFormResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_form), '/textql.rpc.public.form.FormService/ListForms': EndpointSync.unary(method=MethodInfo(name='ListForms', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.ListFormsRequest, output=public_dot_form__pb2.ListFormsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_forms), '/textql.rpc.public.form.FormService/PrepareFormEdit': EndpointSync.unary(method=MethodInfo(name='PrepareFormEdit', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.PrepareFormEditRequest, output=public_dot_form__pb2.PrepareFormEditResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.prepare_form_edit), '/textql.rpc.public.form.FormService/ValidateForm': EndpointSync.unary(method=MethodInfo(name='ValidateForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.ValidateFormRequest, output=public_dot_form__pb2.ValidateFormResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.validate_form), '/textql.rpc.public.form.FormService/UpdateFormData': EndpointSync.unary(method=MethodInfo(name='UpdateFormData', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.UpdateFormDataRequest, output=public_dot_form__pb2.UpdateFormDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_form_data), '/textql.rpc.public.form.FormService/TestForm': EndpointSync.unary(method=MethodInfo(name='TestForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.TestFormRequest, output=public_dot_form__pb2.TestFormResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.test_form), '/textql.rpc.public.form.FormService/GetFormTest': EndpointSync.unary(method=MethodInfo(name='GetFormTest', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.GetFormTestRequest, output=public_dot_form__pb2.GetFormTestResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_form_test), '/textql.rpc.public.form.FormService/SubmitForm': EndpointSync.unary(method=MethodInfo(name='SubmitForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.SubmitFormRequest, output=public_dot_form__pb2.SubmitFormResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.submit_form), '/textql.rpc.public.form.FormService/SetFormStatus': EndpointSync.unary(method=MethodInfo(name='SetFormStatus', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.SetFormStatusRequest, output=public_dot_form__pb2.SetFormStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_form_status), '/textql.rpc.public.form.FormService/BackupFormRevision': EndpointSync.unary(method=MethodInfo(name='BackupFormRevision', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.BackupFormRevisionRequest, output=public_dot_form__pb2.BackupFormRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.backup_form_revision)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.form.FormService' + +class FormServiceClientSync(ConnectClientSync): + + def get_form(self, request: public_dot_form__pb2.GetFormRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_form__pb2.GetFormResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.GetFormRequest, output=public_dot_form__pb2.GetFormResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_forms(self, request: public_dot_form__pb2.ListFormsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_form__pb2.ListFormsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListForms', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.ListFormsRequest, output=public_dot_form__pb2.ListFormsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def prepare_form_edit(self, request: public_dot_form__pb2.PrepareFormEditRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.PrepareFormEditResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PrepareFormEdit', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.PrepareFormEditRequest, output=public_dot_form__pb2.PrepareFormEditResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def validate_form(self, request: public_dot_form__pb2.ValidateFormRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_form__pb2.ValidateFormResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ValidateForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.ValidateFormRequest, output=public_dot_form__pb2.ValidateFormResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_form_data(self, request: public_dot_form__pb2.UpdateFormDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.UpdateFormDataResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateFormData', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.UpdateFormDataRequest, output=public_dot_form__pb2.UpdateFormDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def test_form(self, request: public_dot_form__pb2.TestFormRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.TestFormResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.TestFormRequest, output=public_dot_form__pb2.TestFormResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_form_test(self, request: public_dot_form__pb2.GetFormTestRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_form__pb2.GetFormTestResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetFormTest', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.GetFormTestRequest, output=public_dot_form__pb2.GetFormTestResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def submit_form(self, request: public_dot_form__pb2.SubmitFormRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.SubmitFormResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SubmitForm', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.SubmitFormRequest, output=public_dot_form__pb2.SubmitFormResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def set_form_status(self, request: public_dot_form__pb2.SetFormStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.SetFormStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetFormStatus', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.SetFormStatusRequest, output=public_dot_form__pb2.SetFormStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def backup_form_revision(self, request: public_dot_form__pb2.BackupFormRevisionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_form__pb2.BackupFormRevisionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='BackupFormRevision', service_name='textql.rpc.public.form.FormService', input=public_dot_form__pb2.BackupFormRevisionRequest, output=public_dot_form__pb2.BackupFormRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/form_pb2.py b/src/textql_sdk/_connect/public/form_pb2.py new file mode 100644 index 0000000..c0ce445 --- /dev/null +++ b/src/textql_sdk/_connect/public/form_pb2.py @@ -0,0 +1,73 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/form.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11public/form.proto\x12\x16textql.rpc.public.form\x1a\x1cgoogle/protobuf/struct.proto\x1a\x14public/options.proto"A\n\x0fValidationIssue\x12\x14\n\x05field\x18\x01 \x01(\tR\x05field\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"u\n\x0eFormTestResult\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x121\n\x07details\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x07details"\xe6\x03\n\x04Form\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId\x12\x1b\n\tform_type\x18\x03 \x01(\tR\x08formType\x12+\n\x04data\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12\x16\n\x06status\x18\x05 \x01(\tR\x06status\x12<\n\rsubmit_result\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x0csubmitResult\x12\x1f\n\x0btest_status\x18\x07 \x01(\tR\ntestStatus\x12G\n\x0btest_result\x18\x08 \x01(\x0b2&.textql.rpc.public.form.FormTestResultR\ntestResult\x12\x1d\n\ntest_stale\x18\t \x01(\x08R\ttestStale\x12?\n\x06issues\x18\n \x03(\x0b2\'.textql.rpc.public.form.ValidationIssueR\x06issues\x12&\n\x0crevision_ref\x18\x0b \x01(\tH\x00R\x0brevisionRef\x88\x01\x01\x12\x12\n\x04name\x18\x0c \x01(\tR\x04nameB\x0f\n\r_revision_ref")\n\x0eGetFormRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId"C\n\x0fGetFormResponse\x120\n\x04form\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.form.FormR\x04form"+\n\x10ListFormsRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"G\n\x11ListFormsResponse\x122\n\x05forms\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.form.FormR\x05forms"1\n\x16PrepareFormEditRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId"K\n\x17PrepareFormEditResponse\x120\n\x04form\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.form.FormR\x04form"[\n\x13ValidateFormRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data"W\n\x14ValidateFormResponse\x12?\n\x06issues\x18\x01 \x03(\x0b2\'.textql.rpc.public.form.ValidationIssueR\x06issues"]\n\x15UpdateFormDataRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId\x12+\n\x04data\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x04data"J\n\x16UpdateFormDataResponse\x120\n\x04form\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.form.FormR\x04form"*\n\x0fTestFormRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId"\x96\x01\n\x10TestFormResponse\x12\x1f\n\x0btest_status\x18\x01 \x01(\tR\ntestStatus\x12G\n\x0btest_result\x18\x02 \x01(\x0b2&.textql.rpc.public.form.FormTestResultR\ntestResult\x12\x18\n\x07running\x18\x03 \x01(\x08R\x07running"-\n\x12GetFormTestRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId"\x9e\x01\n\x13GetFormTestResponse\x12\x1f\n\x0btest_status\x18\x01 \x01(\tR\ntestStatus\x12G\n\x0btest_result\x18\x02 \x01(\x0b2&.textql.rpc.public.form.FormTestResultR\ntestResult\x12\x1d\n\ntest_stale\x18\x03 \x01(\x08R\ttestStale",\n\x11SubmitFormRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId"F\n\x12SubmitFormResponse\x120\n\x04form\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.form.FormR\x04form"G\n\x14SetFormStatusRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status"I\n\x15SetFormStatusResponse\x120\n\x04form\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.form.FormR\x04form"W\n\x19BackupFormRevisionRequest\x12\x17\n\x07form_id\x18\x01 \x01(\tR\x06formId\x12!\n\x0crevision_ref\x18\x02 \x01(\tR\x0brevisionRef"N\n\x1aBackupFormRevisionResponse\x120\n\x04form\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.form.FormR\x04form2\xc6\x08\n\x0bFormService\x12_\n\x07GetForm\x12&.textql.rpc.public.form.GetFormRequest\x1a\'.textql.rpc.public.form.GetFormResponse"\x03\x90\x02\x01\x12e\n\tListForms\x12(.textql.rpc.public.form.ListFormsRequest\x1a).textql.rpc.public.form.ListFormsResponse"\x03\x90\x02\x01\x12r\n\x0fPrepareFormEdit\x12..textql.rpc.public.form.PrepareFormEditRequest\x1a/.textql.rpc.public.form.PrepareFormEditResponse\x12n\n\x0cValidateForm\x12+.textql.rpc.public.form.ValidateFormRequest\x1a,.textql.rpc.public.form.ValidateFormResponse"\x03\x90\x02\x01\x12o\n\x0eUpdateFormData\x12-.textql.rpc.public.form.UpdateFormDataRequest\x1a..textql.rpc.public.form.UpdateFormDataResponse\x12]\n\x08TestForm\x12\'.textql.rpc.public.form.TestFormRequest\x1a(.textql.rpc.public.form.TestFormResponse\x12k\n\x0bGetFormTest\x12*.textql.rpc.public.form.GetFormTestRequest\x1a+.textql.rpc.public.form.GetFormTestResponse"\x03\x90\x02\x01\x12c\n\nSubmitForm\x12).textql.rpc.public.form.SubmitFormRequest\x1a*.textql.rpc.public.form.SubmitFormResponse\x12l\n\rSetFormStatus\x12,.textql.rpc.public.form.SetFormStatusRequest\x1a-.textql.rpc.public.form.SetFormStatusResponse\x12{\n\x12BackupFormRevision\x121.textql.rpc.public.form.BackupFormRevisionRequest\x1a2.textql.rpc.public.form.BackupFormRevisionResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.form_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_FORMSERVICE'].methods_by_name['GetForm']._loaded_options = None + _globals['_FORMSERVICE'].methods_by_name['GetForm']._serialized_options = b'\x90\x02\x01' + _globals['_FORMSERVICE'].methods_by_name['ListForms']._loaded_options = None + _globals['_FORMSERVICE'].methods_by_name['ListForms']._serialized_options = b'\x90\x02\x01' + _globals['_FORMSERVICE'].methods_by_name['ValidateForm']._loaded_options = None + _globals['_FORMSERVICE'].methods_by_name['ValidateForm']._serialized_options = b'\x90\x02\x01' + _globals['_FORMSERVICE'].methods_by_name['GetFormTest']._loaded_options = None + _globals['_FORMSERVICE'].methods_by_name['GetFormTest']._serialized_options = b'\x90\x02\x01' + _globals['_VALIDATIONISSUE']._serialized_start = 97 + _globals['_VALIDATIONISSUE']._serialized_end = 162 + _globals['_FORMTESTRESULT']._serialized_start = 164 + _globals['_FORMTESTRESULT']._serialized_end = 281 + _globals['_FORM']._serialized_start = 284 + _globals['_FORM']._serialized_end = 770 + _globals['_GETFORMREQUEST']._serialized_start = 772 + _globals['_GETFORMREQUEST']._serialized_end = 813 + _globals['_GETFORMRESPONSE']._serialized_start = 815 + _globals['_GETFORMRESPONSE']._serialized_end = 882 + _globals['_LISTFORMSREQUEST']._serialized_start = 884 + _globals['_LISTFORMSREQUEST']._serialized_end = 927 + _globals['_LISTFORMSRESPONSE']._serialized_start = 929 + _globals['_LISTFORMSRESPONSE']._serialized_end = 1000 + _globals['_PREPAREFORMEDITREQUEST']._serialized_start = 1002 + _globals['_PREPAREFORMEDITREQUEST']._serialized_end = 1051 + _globals['_PREPAREFORMEDITRESPONSE']._serialized_start = 1053 + _globals['_PREPAREFORMEDITRESPONSE']._serialized_end = 1128 + _globals['_VALIDATEFORMREQUEST']._serialized_start = 1130 + _globals['_VALIDATEFORMREQUEST']._serialized_end = 1221 + _globals['_VALIDATEFORMRESPONSE']._serialized_start = 1223 + _globals['_VALIDATEFORMRESPONSE']._serialized_end = 1310 + _globals['_UPDATEFORMDATAREQUEST']._serialized_start = 1312 + _globals['_UPDATEFORMDATAREQUEST']._serialized_end = 1405 + _globals['_UPDATEFORMDATARESPONSE']._serialized_start = 1407 + _globals['_UPDATEFORMDATARESPONSE']._serialized_end = 1481 + _globals['_TESTFORMREQUEST']._serialized_start = 1483 + _globals['_TESTFORMREQUEST']._serialized_end = 1525 + _globals['_TESTFORMRESPONSE']._serialized_start = 1528 + _globals['_TESTFORMRESPONSE']._serialized_end = 1678 + _globals['_GETFORMTESTREQUEST']._serialized_start = 1680 + _globals['_GETFORMTESTREQUEST']._serialized_end = 1725 + _globals['_GETFORMTESTRESPONSE']._serialized_start = 1728 + _globals['_GETFORMTESTRESPONSE']._serialized_end = 1886 + _globals['_SUBMITFORMREQUEST']._serialized_start = 1888 + _globals['_SUBMITFORMREQUEST']._serialized_end = 1932 + _globals['_SUBMITFORMRESPONSE']._serialized_start = 1934 + _globals['_SUBMITFORMRESPONSE']._serialized_end = 2004 + _globals['_SETFORMSTATUSREQUEST']._serialized_start = 2006 + _globals['_SETFORMSTATUSREQUEST']._serialized_end = 2077 + _globals['_SETFORMSTATUSRESPONSE']._serialized_start = 2079 + _globals['_SETFORMSTATUSRESPONSE']._serialized_end = 2152 + _globals['_BACKUPFORMREVISIONREQUEST']._serialized_start = 2154 + _globals['_BACKUPFORMREVISIONREQUEST']._serialized_end = 2241 + _globals['_BACKUPFORMREVISIONRESPONSE']._serialized_start = 2243 + _globals['_BACKUPFORMREVISIONRESPONSE']._serialized_end = 2321 + _globals['_FORMSERVICE']._serialized_start = 2324 + _globals['_FORMSERVICE']._serialized_end = 3418 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/form_pb2.pyi b/src/textql_sdk/_connect/public/form_pb2.pyi new file mode 100644 index 0000000..d692e46 --- /dev/null +++ b/src/textql_sdk/_connect/public/form_pb2.pyi @@ -0,0 +1,236 @@ +from google.protobuf import struct_pb2 as _struct_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ValidationIssue(_message.Message): + __slots__ = ('field', 'message') + FIELD_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + field: str + message: str + + def __init__(self, field: _Optional[str]=..., message: _Optional[str]=...) -> None: + ... + +class FormTestResult(_message.Message): + __slots__ = ('status', 'message', 'details') + STATUS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + DETAILS_FIELD_NUMBER: _ClassVar[int] + status: str + message: str + details: _struct_pb2.Struct + + def __init__(self, status: _Optional[str]=..., message: _Optional[str]=..., details: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class Form(_message.Message): + __slots__ = ('id', 'chat_id', 'form_type', 'data', 'status', 'submit_result', 'test_status', 'test_result', 'test_stale', 'issues', 'revision_ref', 'name') + ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + FORM_TYPE_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + SUBMIT_RESULT_FIELD_NUMBER: _ClassVar[int] + TEST_STATUS_FIELD_NUMBER: _ClassVar[int] + TEST_RESULT_FIELD_NUMBER: _ClassVar[int] + TEST_STALE_FIELD_NUMBER: _ClassVar[int] + ISSUES_FIELD_NUMBER: _ClassVar[int] + REVISION_REF_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + id: str + chat_id: str + form_type: str + data: _struct_pb2.Struct + status: str + submit_result: _struct_pb2.Struct + test_status: str + test_result: FormTestResult + test_stale: bool + issues: _containers.RepeatedCompositeFieldContainer[ValidationIssue] + revision_ref: str + name: str + + def __init__(self, id: _Optional[str]=..., chat_id: _Optional[str]=..., form_type: _Optional[str]=..., data: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., status: _Optional[str]=..., submit_result: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., test_status: _Optional[str]=..., test_result: _Optional[_Union[FormTestResult, _Mapping]]=..., test_stale: bool=..., issues: _Optional[_Iterable[_Union[ValidationIssue, _Mapping]]]=..., revision_ref: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class GetFormRequest(_message.Message): + __slots__ = ('form_id',) + FORM_ID_FIELD_NUMBER: _ClassVar[int] + form_id: str + + def __init__(self, form_id: _Optional[str]=...) -> None: + ... + +class GetFormResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: Form + + def __init__(self, form: _Optional[_Union[Form, _Mapping]]=...) -> None: + ... + +class ListFormsRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class ListFormsResponse(_message.Message): + __slots__ = ('forms',) + FORMS_FIELD_NUMBER: _ClassVar[int] + forms: _containers.RepeatedCompositeFieldContainer[Form] + + def __init__(self, forms: _Optional[_Iterable[_Union[Form, _Mapping]]]=...) -> None: + ... + +class PrepareFormEditRequest(_message.Message): + __slots__ = ('form_id',) + FORM_ID_FIELD_NUMBER: _ClassVar[int] + form_id: str + + def __init__(self, form_id: _Optional[str]=...) -> None: + ... + +class PrepareFormEditResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: Form + + def __init__(self, form: _Optional[_Union[Form, _Mapping]]=...) -> None: + ... + +class ValidateFormRequest(_message.Message): + __slots__ = ('form_id', 'data') + FORM_ID_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + form_id: str + data: _struct_pb2.Struct + + def __init__(self, form_id: _Optional[str]=..., data: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class ValidateFormResponse(_message.Message): + __slots__ = ('issues',) + ISSUES_FIELD_NUMBER: _ClassVar[int] + issues: _containers.RepeatedCompositeFieldContainer[ValidationIssue] + + def __init__(self, issues: _Optional[_Iterable[_Union[ValidationIssue, _Mapping]]]=...) -> None: + ... + +class UpdateFormDataRequest(_message.Message): + __slots__ = ('form_id', 'data') + FORM_ID_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + form_id: str + data: _struct_pb2.Struct + + def __init__(self, form_id: _Optional[str]=..., data: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class UpdateFormDataResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: Form + + def __init__(self, form: _Optional[_Union[Form, _Mapping]]=...) -> None: + ... + +class TestFormRequest(_message.Message): + __slots__ = ('form_id',) + FORM_ID_FIELD_NUMBER: _ClassVar[int] + form_id: str + + def __init__(self, form_id: _Optional[str]=...) -> None: + ... + +class TestFormResponse(_message.Message): + __slots__ = ('test_status', 'test_result', 'running') + TEST_STATUS_FIELD_NUMBER: _ClassVar[int] + TEST_RESULT_FIELD_NUMBER: _ClassVar[int] + RUNNING_FIELD_NUMBER: _ClassVar[int] + test_status: str + test_result: FormTestResult + running: bool + + def __init__(self, test_status: _Optional[str]=..., test_result: _Optional[_Union[FormTestResult, _Mapping]]=..., running: bool=...) -> None: + ... + +class GetFormTestRequest(_message.Message): + __slots__ = ('form_id',) + FORM_ID_FIELD_NUMBER: _ClassVar[int] + form_id: str + + def __init__(self, form_id: _Optional[str]=...) -> None: + ... + +class GetFormTestResponse(_message.Message): + __slots__ = ('test_status', 'test_result', 'test_stale') + TEST_STATUS_FIELD_NUMBER: _ClassVar[int] + TEST_RESULT_FIELD_NUMBER: _ClassVar[int] + TEST_STALE_FIELD_NUMBER: _ClassVar[int] + test_status: str + test_result: FormTestResult + test_stale: bool + + def __init__(self, test_status: _Optional[str]=..., test_result: _Optional[_Union[FormTestResult, _Mapping]]=..., test_stale: bool=...) -> None: + ... + +class SubmitFormRequest(_message.Message): + __slots__ = ('form_id',) + FORM_ID_FIELD_NUMBER: _ClassVar[int] + form_id: str + + def __init__(self, form_id: _Optional[str]=...) -> None: + ... + +class SubmitFormResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: Form + + def __init__(self, form: _Optional[_Union[Form, _Mapping]]=...) -> None: + ... + +class SetFormStatusRequest(_message.Message): + __slots__ = ('form_id', 'status') + FORM_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + form_id: str + status: str + + def __init__(self, form_id: _Optional[str]=..., status: _Optional[str]=...) -> None: + ... + +class SetFormStatusResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: Form + + def __init__(self, form: _Optional[_Union[Form, _Mapping]]=...) -> None: + ... + +class BackupFormRevisionRequest(_message.Message): + __slots__ = ('form_id', 'revision_ref') + FORM_ID_FIELD_NUMBER: _ClassVar[int] + REVISION_REF_FIELD_NUMBER: _ClassVar[int] + form_id: str + revision_ref: str + + def __init__(self, form_id: _Optional[str]=..., revision_ref: _Optional[str]=...) -> None: + ... + +class BackupFormRevisionResponse(_message.Message): + __slots__ = ('form',) + FORM_FIELD_NUMBER: _ClassVar[int] + form: Form + + def __init__(self, form: _Optional[_Union[Form, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/google_drive_oauth_connect.py b/src/textql_sdk/_connect/public/google_drive_oauth_connect.py new file mode 100644 index 0000000..e65801e --- /dev/null +++ b/src/textql_sdk/_connect/public/google_drive_oauth_connect.py @@ -0,0 +1,51 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import google_drive_oauth_pb2 as public_dot_google__drive__oauth__pb2 + +class GoogleDriveOAuthService(Protocol): + + async def exchange_google_drive_code(self, request: public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeRequest, ctx: RequestContext) -> public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class GoogleDriveOAuthServiceASGIApplication(ConnectASGIApplication[GoogleDriveOAuthService]): + + def __init__(self, service: GoogleDriveOAuthService | AsyncGenerator[GoogleDriveOAuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.google_drive_oauth.GoogleDriveOAuthService/ExchangeGoogleDriveCode': Endpoint.unary(method=MethodInfo(name='ExchangeGoogleDriveCode', service_name='textql.rpc.public.google_drive_oauth.GoogleDriveOAuthService', input=public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeRequest, output=public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_google_drive_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.google_drive_oauth.GoogleDriveOAuthService' + +class GoogleDriveOAuthServiceClient(ConnectClient): + + async def exchange_google_drive_code(self, request: public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeGoogleDriveCode', service_name='textql.rpc.public.google_drive_oauth.GoogleDriveOAuthService', input=public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeRequest, output=public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class GoogleDriveOAuthServiceSync(Protocol): + + def exchange_google_drive_code(self, request: public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeRequest, ctx: RequestContext) -> public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class GoogleDriveOAuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: GoogleDriveOAuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.google_drive_oauth.GoogleDriveOAuthService/ExchangeGoogleDriveCode': EndpointSync.unary(method=MethodInfo(name='ExchangeGoogleDriveCode', service_name='textql.rpc.public.google_drive_oauth.GoogleDriveOAuthService', input=public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeRequest, output=public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_google_drive_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.google_drive_oauth.GoogleDriveOAuthService' + +class GoogleDriveOAuthServiceClientSync(ConnectClientSync): + + def exchange_google_drive_code(self, request: public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeGoogleDriveCode', service_name='textql.rpc.public.google_drive_oauth.GoogleDriveOAuthService', input=public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeRequest, output=public_dot_google__drive__oauth__pb2.ExchangeGoogleDriveCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/google_drive_oauth_pb2.py b/src/textql_sdk/_connect/public/google_drive_oauth_pb2.py new file mode 100644 index 0000000..78ce9a5 --- /dev/null +++ b/src/textql_sdk/_connect/public/google_drive_oauth_pb2.py @@ -0,0 +1,27 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/google_drive_oauth.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fpublic/google_drive_oauth.proto\x12$textql.rpc.public.google_drive_oauth\x1a\x1cgoogle/protobuf/struct.proto\x1a\x14public/options.proto"J\n\x1eExchangeGoogleDriveCodeRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state"\x99\x02\n\x1fExchangeGoogleDriveCodeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\'\n\x0caccess_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1d\n\nexpires_in\x18\x04 \x01(\x03R\texpiresIn\x12\x14\n\x05scope\x18\x05 \x01(\tR\x05scope\x12\x1d\n\ntoken_type\x18\x06 \x01(\tR\ttokenType\x124\n\tuser_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructR\x08userInfo2\xc2\x01\n\x17GoogleDriveOAuthService\x12\xa6\x01\n\x17ExchangeGoogleDriveCode\x12D.textql.rpc.public.google_drive_oauth.ExchangeGoogleDriveCodeRequest\x1aE.textql.rpc.public.google_drive_oauth.ExchangeGoogleDriveCodeResponseBGZ9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.google_drive_oauth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNAL' + _globals['_EXCHANGEGOOGLEDRIVECODERESPONSE'].fields_by_name['access_token']._loaded_options = None + _globals['_EXCHANGEGOOGLEDRIVECODERESPONSE'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEGOOGLEDRIVECODERESPONSE'].fields_by_name['refresh_token']._loaded_options = None + _globals['_EXCHANGEGOOGLEDRIVECODERESPONSE'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEGOOGLEDRIVECODEREQUEST']._serialized_start = 125 + _globals['_EXCHANGEGOOGLEDRIVECODEREQUEST']._serialized_end = 199 + _globals['_EXCHANGEGOOGLEDRIVECODERESPONSE']._serialized_start = 202 + _globals['_EXCHANGEGOOGLEDRIVECODERESPONSE']._serialized_end = 483 + _globals['_GOOGLEDRIVEOAUTHSERVICE']._serialized_start = 486 + _globals['_GOOGLEDRIVEOAUTHSERVICE']._serialized_end = 680 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/google_drive_oauth_pb2.pyi b/src/textql_sdk/_connect/public/google_drive_oauth_pb2.pyi new file mode 100644 index 0000000..f83c85f --- /dev/null +++ b/src/textql_sdk/_connect/public/google_drive_oauth_pb2.pyi @@ -0,0 +1,37 @@ +from google.protobuf import struct_pb2 as _struct_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ExchangeGoogleDriveCodeRequest(_message.Message): + __slots__ = ('code', 'state') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class ExchangeGoogleDriveCodeResponse(_message.Message): + __slots__ = ('success', 'access_token', 'refresh_token', 'expires_in', 'scope', 'token_type', 'user_info') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + TOKEN_TYPE_FIELD_NUMBER: _ClassVar[int] + USER_INFO_FIELD_NUMBER: _ClassVar[int] + success: bool + access_token: str + refresh_token: str + expires_in: int + scope: str + token_type: str + user_info: _struct_pb2.Struct + + def __init__(self, success: bool=..., access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., expires_in: _Optional[int]=..., scope: _Optional[str]=..., token_type: _Optional[str]=..., user_info: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/google_oauth_connect.py b/src/textql_sdk/_connect/public/google_oauth_connect.py new file mode 100644 index 0000000..ee4dc8a --- /dev/null +++ b/src/textql_sdk/_connect/public/google_oauth_connect.py @@ -0,0 +1,63 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import google_oauth_pb2 as public_dot_google__oauth__pb2 + +class GoogleOAuthService(Protocol): + + async def initiate_google_o_auth_flow(self, request: public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowRequest, ctx: RequestContext) -> public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_google_code(self, request: public_dot_google__oauth__pb2.ExchangeGoogleCodeRequest, ctx: RequestContext) -> public_dot_google__oauth__pb2.ExchangeGoogleCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class GoogleOAuthServiceASGIApplication(ConnectASGIApplication[GoogleOAuthService]): + + def __init__(self, service: GoogleOAuthService | AsyncGenerator[GoogleOAuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.google_oauth.GoogleOAuthService/InitiateGoogleOAuthFlow': Endpoint.unary(method=MethodInfo(name='InitiateGoogleOAuthFlow', service_name='textql.rpc.public.google_oauth.GoogleOAuthService', input=public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowRequest, output=public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.initiate_google_o_auth_flow), '/textql.rpc.public.google_oauth.GoogleOAuthService/ExchangeGoogleCode': Endpoint.unary(method=MethodInfo(name='ExchangeGoogleCode', service_name='textql.rpc.public.google_oauth.GoogleOAuthService', input=public_dot_google__oauth__pb2.ExchangeGoogleCodeRequest, output=public_dot_google__oauth__pb2.ExchangeGoogleCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_google_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.google_oauth.GoogleOAuthService' + +class GoogleOAuthServiceClient(ConnectClient): + + async def initiate_google_o_auth_flow(self, request: public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='InitiateGoogleOAuthFlow', service_name='textql.rpc.public.google_oauth.GoogleOAuthService', input=public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowRequest, output=public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_google_code(self, request: public_dot_google__oauth__pb2.ExchangeGoogleCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_google__oauth__pb2.ExchangeGoogleCodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeGoogleCode', service_name='textql.rpc.public.google_oauth.GoogleOAuthService', input=public_dot_google__oauth__pb2.ExchangeGoogleCodeRequest, output=public_dot_google__oauth__pb2.ExchangeGoogleCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class GoogleOAuthServiceSync(Protocol): + + def initiate_google_o_auth_flow(self, request: public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowRequest, ctx: RequestContext) -> public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_google_code(self, request: public_dot_google__oauth__pb2.ExchangeGoogleCodeRequest, ctx: RequestContext) -> public_dot_google__oauth__pb2.ExchangeGoogleCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class GoogleOAuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: GoogleOAuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.google_oauth.GoogleOAuthService/InitiateGoogleOAuthFlow': EndpointSync.unary(method=MethodInfo(name='InitiateGoogleOAuthFlow', service_name='textql.rpc.public.google_oauth.GoogleOAuthService', input=public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowRequest, output=public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.initiate_google_o_auth_flow), '/textql.rpc.public.google_oauth.GoogleOAuthService/ExchangeGoogleCode': EndpointSync.unary(method=MethodInfo(name='ExchangeGoogleCode', service_name='textql.rpc.public.google_oauth.GoogleOAuthService', input=public_dot_google__oauth__pb2.ExchangeGoogleCodeRequest, output=public_dot_google__oauth__pb2.ExchangeGoogleCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_google_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.google_oauth.GoogleOAuthService' + +class GoogleOAuthServiceClientSync(ConnectClientSync): + + def initiate_google_o_auth_flow(self, request: public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowResponse: + return self.execute_unary(request=request, method=MethodInfo(name='InitiateGoogleOAuthFlow', service_name='textql.rpc.public.google_oauth.GoogleOAuthService', input=public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowRequest, output=public_dot_google__oauth__pb2.InitiateGoogleOAuthFlowResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_google_code(self, request: public_dot_google__oauth__pb2.ExchangeGoogleCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_google__oauth__pb2.ExchangeGoogleCodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeGoogleCode', service_name='textql.rpc.public.google_oauth.GoogleOAuthService', input=public_dot_google__oauth__pb2.ExchangeGoogleCodeRequest, output=public_dot_google__oauth__pb2.ExchangeGoogleCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/google_oauth_pb2.py b/src/textql_sdk/_connect/public/google_oauth_pb2.py new file mode 100644 index 0000000..3d6cf62 --- /dev/null +++ b/src/textql_sdk/_connect/public/google_oauth_pb2.py @@ -0,0 +1,31 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/google_oauth.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19public/google_oauth.proto\x12\x1etextql.rpc.public.google_oauth\x1a\x1cgoogle/protobuf/struct.proto\x1a\x14public/options.proto" \n\x1eInitiateGoogleOAuthFlowRequest"R\n\x1fInitiateGoogleOAuthFlowResponse\x12\x19\n\x08auth_url\x18\x01 \x01(\tR\x07authUrl\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state"E\n\x19ExchangeGoogleCodeRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state"\xb7\x02\n\x1aExchangeGoogleCodeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\'\n\x0caccess_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1d\n\nexpires_in\x18\x04 \x01(\x03R\texpiresIn\x12\x14\n\x05scope\x18\x05 \x01(\tR\x05scope\x12\x1d\n\ntoken_type\x18\x06 \x01(\tR\ttokenType\x124\n\tuser_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructR\x08userInfo\x12!\n\x0ctoken_expiry\x18\x08 \x01(\tR\x0btokenExpiry2\xbf\x02\n\x12GoogleOAuthService\x12\x9a\x01\n\x17InitiateGoogleOAuthFlow\x12>.textql.rpc.public.google_oauth.InitiateGoogleOAuthFlowRequest\x1a?.textql.rpc.public.google_oauth.InitiateGoogleOAuthFlowResponse\x12\x8b\x01\n\x12ExchangeGoogleCode\x129.textql.rpc.public.google_oauth.ExchangeGoogleCodeRequest\x1a:.textql.rpc.public.google_oauth.ExchangeGoogleCodeResponseBGZ9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.google_oauth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNAL' + _globals['_EXCHANGEGOOGLECODERESPONSE'].fields_by_name['access_token']._loaded_options = None + _globals['_EXCHANGEGOOGLECODERESPONSE'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEGOOGLECODERESPONSE'].fields_by_name['refresh_token']._loaded_options = None + _globals['_EXCHANGEGOOGLECODERESPONSE'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_INITIATEGOOGLEOAUTHFLOWREQUEST']._serialized_start = 113 + _globals['_INITIATEGOOGLEOAUTHFLOWREQUEST']._serialized_end = 145 + _globals['_INITIATEGOOGLEOAUTHFLOWRESPONSE']._serialized_start = 147 + _globals['_INITIATEGOOGLEOAUTHFLOWRESPONSE']._serialized_end = 229 + _globals['_EXCHANGEGOOGLECODEREQUEST']._serialized_start = 231 + _globals['_EXCHANGEGOOGLECODEREQUEST']._serialized_end = 300 + _globals['_EXCHANGEGOOGLECODERESPONSE']._serialized_start = 303 + _globals['_EXCHANGEGOOGLECODERESPONSE']._serialized_end = 614 + _globals['_GOOGLEOAUTHSERVICE']._serialized_start = 617 + _globals['_GOOGLEOAUTHSERVICE']._serialized_end = 936 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/google_oauth_pb2.pyi b/src/textql_sdk/_connect/public/google_oauth_pb2.pyi new file mode 100644 index 0000000..942ca8d --- /dev/null +++ b/src/textql_sdk/_connect/public/google_oauth_pb2.pyi @@ -0,0 +1,55 @@ +from google.protobuf import struct_pb2 as _struct_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class InitiateGoogleOAuthFlowRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class InitiateGoogleOAuthFlowResponse(_message.Message): + __slots__ = ('auth_url', 'state') + AUTH_URL_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + auth_url: str + state: str + + def __init__(self, auth_url: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class ExchangeGoogleCodeRequest(_message.Message): + __slots__ = ('code', 'state') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class ExchangeGoogleCodeResponse(_message.Message): + __slots__ = ('success', 'access_token', 'refresh_token', 'expires_in', 'scope', 'token_type', 'user_info', 'token_expiry') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + TOKEN_TYPE_FIELD_NUMBER: _ClassVar[int] + USER_INFO_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXPIRY_FIELD_NUMBER: _ClassVar[int] + success: bool + access_token: str + refresh_token: str + expires_in: int + scope: str + token_type: str + user_info: _struct_pb2.Struct + token_expiry: str + + def __init__(self, success: bool=..., access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., expires_in: _Optional[int]=..., scope: _Optional[str]=..., token_type: _Optional[str]=..., user_info: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., token_expiry: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/identity_pb2.py b/src/textql_sdk/_connect/public/identity_pb2.py new file mode 100644 index 0000000..d735b06 --- /dev/null +++ b/src/textql_sdk/_connect/public/identity_pb2.py @@ -0,0 +1,20 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/identity.proto') +_sym_db = _symbol_database.Default() +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15public/identity.proto\x12\x13textql.rpc.identity\x1a\x14public/options.proto"e\n\x07Session\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x14\n\x05roles\x18\x03 \x03(\tR\x05roles"\xe5\x01\n\rMemberPreview\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12&\n\x0cmember_email\x18\x02 \x01(\tH\x00R\x0bmemberEmail\x88\x01\x01\x12$\n\x0bmember_name\x18\x03 \x01(\tH\x01R\nmemberName\x88\x01\x01\x121\n\x12member_picture_url\x18\x04 \x01(\tH\x02R\x10memberPictureUrl\x88\x01\x01B\x0f\n\r_member_emailB\x0e\n\x0c_member_nameB\x15\n\x13_member_picture_urlB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.identity_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_SESSION']._serialized_start = 68 + _globals['_SESSION']._serialized_end = 169 + _globals['_MEMBERPREVIEW']._serialized_start = 172 + _globals['_MEMBERPREVIEW']._serialized_end = 401 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/identity_pb2.pyi b/src/textql_sdk/_connect/public/identity_pb2.pyi new file mode 100644 index 0000000..728b006 --- /dev/null +++ b/src/textql_sdk/_connect/public/identity_pb2.pyi @@ -0,0 +1,33 @@ +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable +from typing import ClassVar as _ClassVar, Optional as _Optional +DESCRIPTOR: _descriptor.FileDescriptor + +class Session(_message.Message): + __slots__ = ('member_id', 'organization_id', 'roles') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_ID_FIELD_NUMBER: _ClassVar[int] + ROLES_FIELD_NUMBER: _ClassVar[int] + member_id: str + organization_id: str + roles: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, member_id: _Optional[str]=..., organization_id: _Optional[str]=..., roles: _Optional[_Iterable[str]]=...) -> None: + ... + +class MemberPreview(_message.Message): + __slots__ = ('member_id', 'member_email', 'member_name', 'member_picture_url') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_EMAIL_FIELD_NUMBER: _ClassVar[int] + MEMBER_NAME_FIELD_NUMBER: _ClassVar[int] + MEMBER_PICTURE_URL_FIELD_NUMBER: _ClassVar[int] + member_id: str + member_email: str + member_name: str + member_picture_url: str + + def __init__(self, member_id: _Optional[str]=..., member_email: _Optional[str]=..., member_name: _Optional[str]=..., member_picture_url: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/issues_connect.py b/src/textql_sdk/_connect/public/issues_connect.py new file mode 100644 index 0000000..d89712b --- /dev/null +++ b/src/textql_sdk/_connect/public/issues_connect.py @@ -0,0 +1,148 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import issues_pb2 as public_dot_issues__pb2 + +class IssueService(Protocol): + + async def list_issues(self, request: public_dot_issues__pb2.ListIssuesRequest, ctx: RequestContext) -> public_dot_issues__pb2.ListIssuesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_issue(self, request: public_dot_issues__pb2.GetIssueRequest, ctx: RequestContext) -> public_dot_issues__pb2.GetIssueResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_issue_stats(self, request: public_dot_issues__pb2.GetIssueStatsRequest, ctx: RequestContext) -> public_dot_issues__pb2.GetIssueStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_issue_state(self, request: public_dot_issues__pb2.UpdateIssueStateRequest, ctx: RequestContext) -> public_dot_issues__pb2.UpdateIssueStateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_report_state(self, request: public_dot_issues__pb2.UpdateReportStateRequest, ctx: RequestContext) -> public_dot_issues__pb2.UpdateReportStateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def assign_issue(self, request: public_dot_issues__pb2.AssignIssueRequest, ctx: RequestContext) -> public_dot_issues__pb2.AssignIssueResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unassign_issue(self, request: public_dot_issues__pb2.UnassignIssueRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def bulk_assign_issues(self, request: public_dot_issues__pb2.BulkAssignIssuesRequest, ctx: RequestContext) -> public_dot_issues__pb2.BulkAssignIssuesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def bulk_unassign_issues(self, request: public_dot_issues__pb2.BulkUnassignIssuesRequest, ctx: RequestContext) -> public_dot_issues__pb2.BulkUnassignIssuesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class IssueServiceASGIApplication(ConnectASGIApplication[IssueService]): + + def __init__(self, service: IssueService | AsyncGenerator[IssueService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.issues.IssueService/ListIssues': Endpoint.unary(method=MethodInfo(name='ListIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.ListIssuesRequest, output=public_dot_issues__pb2.ListIssuesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_issues), '/textql.rpc.public.issues.IssueService/GetIssue': Endpoint.unary(method=MethodInfo(name='GetIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.GetIssueRequest, output=public_dot_issues__pb2.GetIssueResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_issue), '/textql.rpc.public.issues.IssueService/GetIssueStats': Endpoint.unary(method=MethodInfo(name='GetIssueStats', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.GetIssueStatsRequest, output=public_dot_issues__pb2.GetIssueStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_issue_stats), '/textql.rpc.public.issues.IssueService/UpdateIssueState': Endpoint.unary(method=MethodInfo(name='UpdateIssueState', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UpdateIssueStateRequest, output=public_dot_issues__pb2.UpdateIssueStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_issue_state), '/textql.rpc.public.issues.IssueService/UpdateReportState': Endpoint.unary(method=MethodInfo(name='UpdateReportState', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UpdateReportStateRequest, output=public_dot_issues__pb2.UpdateReportStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_report_state), '/textql.rpc.public.issues.IssueService/AssignIssue': Endpoint.unary(method=MethodInfo(name='AssignIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.AssignIssueRequest, output=public_dot_issues__pb2.AssignIssueResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.assign_issue), '/textql.rpc.public.issues.IssueService/UnassignIssue': Endpoint.unary(method=MethodInfo(name='UnassignIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UnassignIssueRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.unassign_issue), '/textql.rpc.public.issues.IssueService/BulkAssignIssues': Endpoint.unary(method=MethodInfo(name='BulkAssignIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.BulkAssignIssuesRequest, output=public_dot_issues__pb2.BulkAssignIssuesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.bulk_assign_issues), '/textql.rpc.public.issues.IssueService/BulkUnassignIssues': Endpoint.unary(method=MethodInfo(name='BulkUnassignIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.BulkUnassignIssuesRequest, output=public_dot_issues__pb2.BulkUnassignIssuesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.bulk_unassign_issues)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.issues.IssueService' + +class IssueServiceClient(ConnectClient): + + async def list_issues(self, request: public_dot_issues__pb2.ListIssuesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_issues__pb2.ListIssuesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.ListIssuesRequest, output=public_dot_issues__pb2.ListIssuesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_issue(self, request: public_dot_issues__pb2.GetIssueRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_issues__pb2.GetIssueResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.GetIssueRequest, output=public_dot_issues__pb2.GetIssueResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_issue_stats(self, request: public_dot_issues__pb2.GetIssueStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_issues__pb2.GetIssueStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetIssueStats', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.GetIssueStatsRequest, output=public_dot_issues__pb2.GetIssueStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_issue_state(self, request: public_dot_issues__pb2.UpdateIssueStateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.UpdateIssueStateResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateIssueState', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UpdateIssueStateRequest, output=public_dot_issues__pb2.UpdateIssueStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_report_state(self, request: public_dot_issues__pb2.UpdateReportStateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.UpdateReportStateResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateReportState', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UpdateReportStateRequest, output=public_dot_issues__pb2.UpdateReportStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def assign_issue(self, request: public_dot_issues__pb2.AssignIssueRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.AssignIssueResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AssignIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.AssignIssueRequest, output=public_dot_issues__pb2.AssignIssueResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def unassign_issue(self, request: public_dot_issues__pb2.UnassignIssueRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='UnassignIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UnassignIssueRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def bulk_assign_issues(self, request: public_dot_issues__pb2.BulkAssignIssuesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.BulkAssignIssuesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='BulkAssignIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.BulkAssignIssuesRequest, output=public_dot_issues__pb2.BulkAssignIssuesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def bulk_unassign_issues(self, request: public_dot_issues__pb2.BulkUnassignIssuesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.BulkUnassignIssuesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='BulkUnassignIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.BulkUnassignIssuesRequest, output=public_dot_issues__pb2.BulkUnassignIssuesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class IssueServiceSync(Protocol): + + def list_issues(self, request: public_dot_issues__pb2.ListIssuesRequest, ctx: RequestContext) -> public_dot_issues__pb2.ListIssuesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_issue(self, request: public_dot_issues__pb2.GetIssueRequest, ctx: RequestContext) -> public_dot_issues__pb2.GetIssueResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_issue_stats(self, request: public_dot_issues__pb2.GetIssueStatsRequest, ctx: RequestContext) -> public_dot_issues__pb2.GetIssueStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_issue_state(self, request: public_dot_issues__pb2.UpdateIssueStateRequest, ctx: RequestContext) -> public_dot_issues__pb2.UpdateIssueStateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_report_state(self, request: public_dot_issues__pb2.UpdateReportStateRequest, ctx: RequestContext) -> public_dot_issues__pb2.UpdateReportStateResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def assign_issue(self, request: public_dot_issues__pb2.AssignIssueRequest, ctx: RequestContext) -> public_dot_issues__pb2.AssignIssueResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unassign_issue(self, request: public_dot_issues__pb2.UnassignIssueRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def bulk_assign_issues(self, request: public_dot_issues__pb2.BulkAssignIssuesRequest, ctx: RequestContext) -> public_dot_issues__pb2.BulkAssignIssuesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def bulk_unassign_issues(self, request: public_dot_issues__pb2.BulkUnassignIssuesRequest, ctx: RequestContext) -> public_dot_issues__pb2.BulkUnassignIssuesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class IssueServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: IssueServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.issues.IssueService/ListIssues': EndpointSync.unary(method=MethodInfo(name='ListIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.ListIssuesRequest, output=public_dot_issues__pb2.ListIssuesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_issues), '/textql.rpc.public.issues.IssueService/GetIssue': EndpointSync.unary(method=MethodInfo(name='GetIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.GetIssueRequest, output=public_dot_issues__pb2.GetIssueResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_issue), '/textql.rpc.public.issues.IssueService/GetIssueStats': EndpointSync.unary(method=MethodInfo(name='GetIssueStats', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.GetIssueStatsRequest, output=public_dot_issues__pb2.GetIssueStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_issue_stats), '/textql.rpc.public.issues.IssueService/UpdateIssueState': EndpointSync.unary(method=MethodInfo(name='UpdateIssueState', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UpdateIssueStateRequest, output=public_dot_issues__pb2.UpdateIssueStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_issue_state), '/textql.rpc.public.issues.IssueService/UpdateReportState': EndpointSync.unary(method=MethodInfo(name='UpdateReportState', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UpdateReportStateRequest, output=public_dot_issues__pb2.UpdateReportStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_report_state), '/textql.rpc.public.issues.IssueService/AssignIssue': EndpointSync.unary(method=MethodInfo(name='AssignIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.AssignIssueRequest, output=public_dot_issues__pb2.AssignIssueResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.assign_issue), '/textql.rpc.public.issues.IssueService/UnassignIssue': EndpointSync.unary(method=MethodInfo(name='UnassignIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UnassignIssueRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.unassign_issue), '/textql.rpc.public.issues.IssueService/BulkAssignIssues': EndpointSync.unary(method=MethodInfo(name='BulkAssignIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.BulkAssignIssuesRequest, output=public_dot_issues__pb2.BulkAssignIssuesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.bulk_assign_issues), '/textql.rpc.public.issues.IssueService/BulkUnassignIssues': EndpointSync.unary(method=MethodInfo(name='BulkUnassignIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.BulkUnassignIssuesRequest, output=public_dot_issues__pb2.BulkUnassignIssuesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.bulk_unassign_issues)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.issues.IssueService' + +class IssueServiceClientSync(ConnectClientSync): + + def list_issues(self, request: public_dot_issues__pb2.ListIssuesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_issues__pb2.ListIssuesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.ListIssuesRequest, output=public_dot_issues__pb2.ListIssuesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_issue(self, request: public_dot_issues__pb2.GetIssueRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_issues__pb2.GetIssueResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.GetIssueRequest, output=public_dot_issues__pb2.GetIssueResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_issue_stats(self, request: public_dot_issues__pb2.GetIssueStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_issues__pb2.GetIssueStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetIssueStats', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.GetIssueStatsRequest, output=public_dot_issues__pb2.GetIssueStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_issue_state(self, request: public_dot_issues__pb2.UpdateIssueStateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.UpdateIssueStateResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateIssueState', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UpdateIssueStateRequest, output=public_dot_issues__pb2.UpdateIssueStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_report_state(self, request: public_dot_issues__pb2.UpdateReportStateRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.UpdateReportStateResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateReportState', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UpdateReportStateRequest, output=public_dot_issues__pb2.UpdateReportStateResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def assign_issue(self, request: public_dot_issues__pb2.AssignIssueRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.AssignIssueResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AssignIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.AssignIssueRequest, output=public_dot_issues__pb2.AssignIssueResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def unassign_issue(self, request: public_dot_issues__pb2.UnassignIssueRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='UnassignIssue', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.UnassignIssueRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def bulk_assign_issues(self, request: public_dot_issues__pb2.BulkAssignIssuesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.BulkAssignIssuesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='BulkAssignIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.BulkAssignIssuesRequest, output=public_dot_issues__pb2.BulkAssignIssuesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def bulk_unassign_issues(self, request: public_dot_issues__pb2.BulkUnassignIssuesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_issues__pb2.BulkUnassignIssuesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='BulkUnassignIssues', service_name='textql.rpc.public.issues.IssueService', input=public_dot_issues__pb2.BulkUnassignIssuesRequest, output=public_dot_issues__pb2.BulkUnassignIssuesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/issues_pb2.py b/src/textql_sdk/_connect/public/issues_pb2.py new file mode 100644 index 0000000..64fc05b --- /dev/null +++ b/src/textql_sdk/_connect/public/issues_pb2.py @@ -0,0 +1,83 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/issues.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import common_pb2 as public_dot_common__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13public/issues.proto\x12\x18textql.rpc.public.issues\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13public/common.proto\x1a\x14public/options.proto"\xe5\x05\n\x05Issue\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x10\n\x03seq\x18\x10 \x01(\x03R\x03seq\x12\x1f\n\x0bissue_class\x18\x03 \x01(\tR\nissueClass\x12!\n\x0csubject_type\x18\x04 \x01(\tR\x0bsubjectType\x12\x1d\n\nsubject_id\x18\x05 \x01(\tR\tsubjectId\x12(\n\rsubject_label\x18\x06 \x01(\tH\x00R\x0csubjectLabel\x88\x01\x01\x12\x14\n\x05title\x18\x07 \x01(\tR\x05title\x12:\n\x05state\x18\x08 \x01(\x0e2$.textql.rpc.public.issues.IssueStateR\x05state\x12C\n\x08severity\x18\t \x01(\x0e2\'.textql.rpc.public.issues.IssueSeverityR\x08severity\x129\n\ncreated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12@\n\x0bresolved_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\nresolvedAt\x88\x01\x01\x12*\n\x11open_report_count\x18\r \x01(\x05R\x0fopenReportCount\x12,\n\x12total_report_count\x18\x0e \x01(\x05R\x10totalReportCount\x12K\n\x0bassignments\x18\x0f \x03(\x0b2).textql.rpc.public.issues.IssueAssignmentR\x0bassignmentsB\x10\n\x0e_subject_labelB\x0e\n\x0c_resolved_at"\xed\x03\n\x0bIssueReport\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x19\n\x08issue_id\x18\x03 \x01(\tR\x07issueId\x12\x1a\n\x08reporter\x18\x04 \x01(\tR\x08reporter\x12\x1d\n\nsource_key\x18\x05 \x01(\tR\tsourceKey\x12\x1b\n\x06detail\x18\x06 \x01(\tH\x00R\x06detail\x88\x01\x01\x12;\n\x05state\x18\x07 \x01(\x0e2%.textql.rpc.public.issues.ReportStateR\x05state\x12@\n\x0bresolved_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\nresolvedAt\x88\x01\x01\x12$\n\x0bresolved_by\x18\t \x01(\tH\x02R\nresolvedBy\x88\x01\x01\x129\n\ncreated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\t\n\x07_detailB\x0e\n\x0c_resolved_atB\x0e\n\x0c_resolved_by"\x8c\x03\n\x0fIssueAssignment\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x19\n\x08issue_id\x18\x03 \x01(\tR\x07issueId\x12K\n\rassignee_kind\x18\x04 \x01(\x0e2&.textql.rpc.public.issues.AssigneeKindR\x0cassigneeKind\x12\x1f\n\x0bassignee_id\x18\x05 \x01(\tR\nassigneeId\x12$\n\x0bassigned_by\x18\x06 \x01(\tH\x00R\nassignedBy\x88\x01\x01\x12;\n\x0bassigned_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\nassignedAt\x12D\n\runassigned_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x0cunassignedAt\x88\x01\x01B\x0e\n\x0c_assigned_byB\x10\n\x0e_unassigned_at"\xb6\x04\n\x11ListIssuesRequest\x12<\n\x06states\x18\x01 \x03(\x0e2$.textql.rpc.public.issues.IssueStateR\x06states\x12O\n\x0cmin_severity\x18\x02 \x01(\x0e2\'.textql.rpc.public.issues.IssueSeverityH\x00R\x0bminSeverity\x88\x01\x01\x12&\n\x0csubject_type\x18\x03 \x01(\tH\x01R\x0bsubjectType\x88\x01\x01\x12$\n\x0bissue_class\x18\x04 \x01(\tH\x02R\nissueClass\x88\x01\x01\x12 \n\tpage_size\x18\x05 \x01(\rH\x03R\x08pageSize\x88\x01\x01\x12"\n\npage_token\x18\x06 \x01(\tH\x04R\tpageToken\x88\x01\x01\x12S\n\x0esort_direction\x18\x07 \x01(\x0e2\'.textql.rpc.public.common.SortDirectionH\x05R\rsortDirection\x88\x01\x01\x12G\n\ntime_range\x18\x08 \x01(\x0e2(.textql.rpc.public.issues.IssueTimeRangeR\ttimeRangeB\x0f\n\r_min_severityB\x0f\n\r_subject_typeB\x0e\n\x0c_issue_classB\x0c\n\n_page_sizeB\r\n\x0b_page_tokenB\x11\n\x0f_sort_direction"\x8e\x01\n\x12ListIssuesResponse\x127\n\x06issues\x18\x01 \x03(\x0b2\x1f.textql.rpc.public.issues.IssueR\x06issues\x12+\n\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01B\x12\n\x10_next_page_token",\n\x0fGetIssueRequest\x12\x19\n\x08issue_id\x18\x01 \x01(\tR\x07issueId"\xb3\x02\n\x10GetIssueResponse\x125\n\x05issue\x18\x01 \x01(\x0b2\x1f.textql.rpc.public.issues.IssueR\x05issue\x12?\n\x07reports\x18\x02 \x03(\x0b2%.textql.rpc.public.issues.IssueReportR\x07reports\x12X\n\x12assignment_history\x18\x03 \x03(\x0b2).textql.rpc.public.issues.IssueAssignmentR\x11assignmentHistory\x12M\n\x0eaffected_roles\x18\x04 \x03(\x0b2&.textql.rpc.public.issues.AffectedRoleR\raffectedRoles"\\\n\x0cAffectedRole\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId\x12\x1b\n\trole_name\x18\x02 \x01(\tR\x08roleName\x12\x16\n\x06source\x18\x03 \x01(\tR\x06source"I\n\x14GetIssueStatsRequest\x12"\n\ntrend_days\x18\x01 \x01(\x05H\x00R\ttrendDays\x88\x01\x01B\r\n\x0b_trend_days"6\n\nDailyCount\x12\x12\n\x04date\x18\x01 \x01(\tR\x04date\x12\x14\n\x05count\x18\x02 \x01(\x05R\x05count"\xcd\x01\n\nIssueStats\x12\x1d\n\nopen_total\x18\x01 \x01(\x05R\topenTotal\x12\x1b\n\topen_high\x18\x02 \x01(\x05R\x08openHigh\x12\x1f\n\x0bopen_medium\x18\x03 \x01(\x05R\nopenMedium\x12\x19\n\x08open_low\x18\x04 \x01(\x05R\x07openLow\x12G\n\x0copened_daily\x18\x05 \x03(\x0b2$.textql.rpc.public.issues.DailyCountR\x0bopenedDaily"S\n\x15GetIssueStatsResponse\x12:\n\x05stats\x18\x01 \x01(\x0b2$.textql.rpc.public.issues.IssueStatsR\x05stats"p\n\x17UpdateIssueStateRequest\x12\x19\n\x08issue_id\x18\x01 \x01(\tR\x07issueId\x12:\n\x05state\x18\x02 \x01(\x0e2$.textql.rpc.public.issues.IssueStateR\x05state"Q\n\x18UpdateIssueStateResponse\x125\n\x05issue\x18\x01 \x01(\x0b2\x1f.textql.rpc.public.issues.IssueR\x05issue"t\n\x18UpdateReportStateRequest\x12\x1b\n\treport_id\x18\x01 \x01(\tR\x08reportId\x12;\n\x05state\x18\x02 \x01(\x0e2%.textql.rpc.public.issues.ReportStateR\x05state"Z\n\x19UpdateReportStateResponse\x12=\n\x06report\x18\x01 \x01(\x0b2%.textql.rpc.public.issues.IssueReportR\x06report"\x9d\x01\n\x12AssignIssueRequest\x12\x19\n\x08issue_id\x18\x01 \x01(\tR\x07issueId\x12K\n\rassignee_kind\x18\x02 \x01(\x0e2&.textql.rpc.public.issues.AssigneeKindR\x0cassigneeKind\x12\x1f\n\x0bassignee_id\x18\x03 \x01(\tR\nassigneeId"`\n\x13AssignIssueResponse\x12I\n\nassignment\x18\x01 \x01(\x0b2).textql.rpc.public.issues.IssueAssignmentR\nassignment"\xcb\x01\n\x14UnassignIssueRequest\x12\x19\n\x08issue_id\x18\x01 \x01(\tR\x07issueId\x12P\n\rassignee_kind\x18\x02 \x01(\x0e2&.textql.rpc.public.issues.AssigneeKindH\x00R\x0cassigneeKind\x88\x01\x01\x12$\n\x0bassignee_id\x18\x03 \x01(\tH\x01R\nassigneeId\x88\x01\x01B\x10\n\x0e_assignee_kindB\x0e\n\x0c_assignee_id"\xa4\x01\n\x17BulkAssignIssuesRequest\x12\x1b\n\tissue_ids\x18\x01 \x03(\tR\x08issueIds\x12K\n\rassignee_kind\x18\x02 \x01(\x0e2&.textql.rpc.public.issues.AssigneeKindR\x0cassigneeKind\x12\x1f\n\x0bassignee_id\x18\x03 \x01(\tR\nassigneeId"A\n\x18BulkAssignIssuesResponse\x12%\n\x0eaffected_count\x18\x01 \x01(\x05R\raffectedCount"8\n\x19BulkUnassignIssuesRequest\x12\x1b\n\tissue_ids\x18\x01 \x03(\tR\x08issueIds"C\n\x1aBulkUnassignIssuesResponse\x12%\n\x0eaffected_count\x18\x01 \x01(\x05R\raffectedCount*q\n\nIssueState\x12\x1b\n\x17ISSUE_STATE_UNSPECIFIED\x10\x00\x12\x14\n\x10ISSUE_STATE_OPEN\x10\x01\x12\x18\n\x14ISSUE_STATE_RESOLVED\x10\x02\x12\x16\n\x12ISSUE_STATE_CLOSED\x10\x03*{\n\rIssueSeverity\x12\x1e\n\x1aISSUE_SEVERITY_UNSPECIFIED\x10\x00\x12\x16\n\x12ISSUE_SEVERITY_LOW\x10\x01\x12\x19\n\x15ISSUE_SEVERITY_MEDIUM\x10\x02\x12\x17\n\x13ISSUE_SEVERITY_HIGH\x10\x03*v\n\x0bReportState\x12\x1c\n\x18REPORT_STATE_UNSPECIFIED\x10\x00\x12\x15\n\x11REPORT_STATE_OPEN\x10\x01\x12\x19\n\x15REPORT_STATE_RESOLVED\x10\x02\x12\x17\n\x13REPORT_STATE_CLOSED\x10\x03*\xbc\x01\n\x0eIssueTimeRange\x12 \n\x1cISSUE_TIME_RANGE_UNSPECIFIED\x10\x00\x12\x18\n\x14ISSUE_TIME_RANGE_DAY\x10\x01\x12\x19\n\x15ISSUE_TIME_RANGE_WEEK\x10\x02\x12\x1a\n\x16ISSUE_TIME_RANGE_MONTH\x10\x03\x12\x1c\n\x18ISSUE_TIME_RANGE_QUARTER\x10\x04\x12\x19\n\x15ISSUE_TIME_RANGE_YEAR\x10\x05*\x96\x01\n\x0cAssigneeKind\x12\x1d\n\x19ASSIGNEE_KIND_UNSPECIFIED\x10\x00\x12\x18\n\x14ASSIGNEE_KIND_MEMBER\x10\x01\x12\x16\n\x12ASSIGNEE_KIND_ROLE\x10\x02\x12\x1c\n\x18ASSIGNEE_KIND_SCIM_GROUP\x10\x03\x12\x17\n\x13ASSIGNEE_KIND_AGENT\x10\x042\x95\x08\n\x0cIssueService\x12l\n\nListIssues\x12+.textql.rpc.public.issues.ListIssuesRequest\x1a,.textql.rpc.public.issues.ListIssuesResponse"\x03\x90\x02\x01\x12f\n\x08GetIssue\x12).textql.rpc.public.issues.GetIssueRequest\x1a*.textql.rpc.public.issues.GetIssueResponse"\x03\x90\x02\x01\x12u\n\rGetIssueStats\x12..textql.rpc.public.issues.GetIssueStatsRequest\x1a/.textql.rpc.public.issues.GetIssueStatsResponse"\x03\x90\x02\x01\x12y\n\x10UpdateIssueState\x121.textql.rpc.public.issues.UpdateIssueStateRequest\x1a2.textql.rpc.public.issues.UpdateIssueStateResponse\x12|\n\x11UpdateReportState\x122.textql.rpc.public.issues.UpdateReportStateRequest\x1a3.textql.rpc.public.issues.UpdateReportStateResponse\x12j\n\x0bAssignIssue\x12,.textql.rpc.public.issues.AssignIssueRequest\x1a-.textql.rpc.public.issues.AssignIssueResponse\x12W\n\rUnassignIssue\x12..textql.rpc.public.issues.UnassignIssueRequest\x1a\x16.google.protobuf.Empty\x12y\n\x10BulkAssignIssues\x121.textql.rpc.public.issues.BulkAssignIssuesRequest\x1a2.textql.rpc.public.issues.BulkAssignIssuesResponse\x12\x7f\n\x12BulkUnassignIssues\x123.textql.rpc.public.issues.BulkUnassignIssuesRequest\x1a4.textql.rpc.public.issues.BulkUnassignIssuesResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.issues_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_ISSUESERVICE'].methods_by_name['ListIssues']._loaded_options = None + _globals['_ISSUESERVICE'].methods_by_name['ListIssues']._serialized_options = b'\x90\x02\x01' + _globals['_ISSUESERVICE'].methods_by_name['GetIssue']._loaded_options = None + _globals['_ISSUESERVICE'].methods_by_name['GetIssue']._serialized_options = b'\x90\x02\x01' + _globals['_ISSUESERVICE'].methods_by_name['GetIssueStats']._loaded_options = None + _globals['_ISSUESERVICE'].methods_by_name['GetIssueStats']._serialized_options = b'\x90\x02\x01' + _globals['_ISSUESTATE']._serialized_start = 4613 + _globals['_ISSUESTATE']._serialized_end = 4726 + _globals['_ISSUESEVERITY']._serialized_start = 4728 + _globals['_ISSUESEVERITY']._serialized_end = 4851 + _globals['_REPORTSTATE']._serialized_start = 4853 + _globals['_REPORTSTATE']._serialized_end = 4971 + _globals['_ISSUETIMERANGE']._serialized_start = 4974 + _globals['_ISSUETIMERANGE']._serialized_end = 5162 + _globals['_ASSIGNEEKIND']._serialized_start = 5165 + _globals['_ASSIGNEEKIND']._serialized_end = 5315 + _globals['_ISSUE']._serialized_start = 155 + _globals['_ISSUE']._serialized_end = 896 + _globals['_ISSUEREPORT']._serialized_start = 899 + _globals['_ISSUEREPORT']._serialized_end = 1392 + _globals['_ISSUEASSIGNMENT']._serialized_start = 1395 + _globals['_ISSUEASSIGNMENT']._serialized_end = 1791 + _globals['_LISTISSUESREQUEST']._serialized_start = 1794 + _globals['_LISTISSUESREQUEST']._serialized_end = 2360 + _globals['_LISTISSUESRESPONSE']._serialized_start = 2363 + _globals['_LISTISSUESRESPONSE']._serialized_end = 2505 + _globals['_GETISSUEREQUEST']._serialized_start = 2507 + _globals['_GETISSUEREQUEST']._serialized_end = 2551 + _globals['_GETISSUERESPONSE']._serialized_start = 2554 + _globals['_GETISSUERESPONSE']._serialized_end = 2861 + _globals['_AFFECTEDROLE']._serialized_start = 2863 + _globals['_AFFECTEDROLE']._serialized_end = 2955 + _globals['_GETISSUESTATSREQUEST']._serialized_start = 2957 + _globals['_GETISSUESTATSREQUEST']._serialized_end = 3030 + _globals['_DAILYCOUNT']._serialized_start = 3032 + _globals['_DAILYCOUNT']._serialized_end = 3086 + _globals['_ISSUESTATS']._serialized_start = 3089 + _globals['_ISSUESTATS']._serialized_end = 3294 + _globals['_GETISSUESTATSRESPONSE']._serialized_start = 3296 + _globals['_GETISSUESTATSRESPONSE']._serialized_end = 3379 + _globals['_UPDATEISSUESTATEREQUEST']._serialized_start = 3381 + _globals['_UPDATEISSUESTATEREQUEST']._serialized_end = 3493 + _globals['_UPDATEISSUESTATERESPONSE']._serialized_start = 3495 + _globals['_UPDATEISSUESTATERESPONSE']._serialized_end = 3576 + _globals['_UPDATEREPORTSTATEREQUEST']._serialized_start = 3578 + _globals['_UPDATEREPORTSTATEREQUEST']._serialized_end = 3694 + _globals['_UPDATEREPORTSTATERESPONSE']._serialized_start = 3696 + _globals['_UPDATEREPORTSTATERESPONSE']._serialized_end = 3786 + _globals['_ASSIGNISSUEREQUEST']._serialized_start = 3789 + _globals['_ASSIGNISSUEREQUEST']._serialized_end = 3946 + _globals['_ASSIGNISSUERESPONSE']._serialized_start = 3948 + _globals['_ASSIGNISSUERESPONSE']._serialized_end = 4044 + _globals['_UNASSIGNISSUEREQUEST']._serialized_start = 4047 + _globals['_UNASSIGNISSUEREQUEST']._serialized_end = 4250 + _globals['_BULKASSIGNISSUESREQUEST']._serialized_start = 4253 + _globals['_BULKASSIGNISSUESREQUEST']._serialized_end = 4417 + _globals['_BULKASSIGNISSUESRESPONSE']._serialized_start = 4419 + _globals['_BULKASSIGNISSUESRESPONSE']._serialized_end = 4484 + _globals['_BULKUNASSIGNISSUESREQUEST']._serialized_start = 4486 + _globals['_BULKUNASSIGNISSUESREQUEST']._serialized_end = 4542 + _globals['_BULKUNASSIGNISSUESRESPONSE']._serialized_start = 4544 + _globals['_BULKUNASSIGNISSUESRESPONSE']._serialized_end = 4611 + _globals['_ISSUESERVICE']._serialized_start = 5318 + _globals['_ISSUESERVICE']._serialized_end = 6363 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/issues_pb2.pyi b/src/textql_sdk/_connect/public/issues_pb2.pyi new file mode 100644 index 0000000..c1f82e1 --- /dev/null +++ b/src/textql_sdk/_connect/public/issues_pb2.pyi @@ -0,0 +1,373 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import common_pb2 as _common_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class IssueState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ISSUE_STATE_UNSPECIFIED: _ClassVar[IssueState] + ISSUE_STATE_OPEN: _ClassVar[IssueState] + ISSUE_STATE_RESOLVED: _ClassVar[IssueState] + ISSUE_STATE_CLOSED: _ClassVar[IssueState] + +class IssueSeverity(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ISSUE_SEVERITY_UNSPECIFIED: _ClassVar[IssueSeverity] + ISSUE_SEVERITY_LOW: _ClassVar[IssueSeverity] + ISSUE_SEVERITY_MEDIUM: _ClassVar[IssueSeverity] + ISSUE_SEVERITY_HIGH: _ClassVar[IssueSeverity] + +class ReportState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + REPORT_STATE_UNSPECIFIED: _ClassVar[ReportState] + REPORT_STATE_OPEN: _ClassVar[ReportState] + REPORT_STATE_RESOLVED: _ClassVar[ReportState] + REPORT_STATE_CLOSED: _ClassVar[ReportState] + +class IssueTimeRange(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ISSUE_TIME_RANGE_UNSPECIFIED: _ClassVar[IssueTimeRange] + ISSUE_TIME_RANGE_DAY: _ClassVar[IssueTimeRange] + ISSUE_TIME_RANGE_WEEK: _ClassVar[IssueTimeRange] + ISSUE_TIME_RANGE_MONTH: _ClassVar[IssueTimeRange] + ISSUE_TIME_RANGE_QUARTER: _ClassVar[IssueTimeRange] + ISSUE_TIME_RANGE_YEAR: _ClassVar[IssueTimeRange] + +class AssigneeKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ASSIGNEE_KIND_UNSPECIFIED: _ClassVar[AssigneeKind] + ASSIGNEE_KIND_MEMBER: _ClassVar[AssigneeKind] + ASSIGNEE_KIND_ROLE: _ClassVar[AssigneeKind] + ASSIGNEE_KIND_SCIM_GROUP: _ClassVar[AssigneeKind] + ASSIGNEE_KIND_AGENT: _ClassVar[AssigneeKind] +ISSUE_STATE_UNSPECIFIED: IssueState +ISSUE_STATE_OPEN: IssueState +ISSUE_STATE_RESOLVED: IssueState +ISSUE_STATE_CLOSED: IssueState +ISSUE_SEVERITY_UNSPECIFIED: IssueSeverity +ISSUE_SEVERITY_LOW: IssueSeverity +ISSUE_SEVERITY_MEDIUM: IssueSeverity +ISSUE_SEVERITY_HIGH: IssueSeverity +REPORT_STATE_UNSPECIFIED: ReportState +REPORT_STATE_OPEN: ReportState +REPORT_STATE_RESOLVED: ReportState +REPORT_STATE_CLOSED: ReportState +ISSUE_TIME_RANGE_UNSPECIFIED: IssueTimeRange +ISSUE_TIME_RANGE_DAY: IssueTimeRange +ISSUE_TIME_RANGE_WEEK: IssueTimeRange +ISSUE_TIME_RANGE_MONTH: IssueTimeRange +ISSUE_TIME_RANGE_QUARTER: IssueTimeRange +ISSUE_TIME_RANGE_YEAR: IssueTimeRange +ASSIGNEE_KIND_UNSPECIFIED: AssigneeKind +ASSIGNEE_KIND_MEMBER: AssigneeKind +ASSIGNEE_KIND_ROLE: AssigneeKind +ASSIGNEE_KIND_SCIM_GROUP: AssigneeKind +ASSIGNEE_KIND_AGENT: AssigneeKind + +class Issue(_message.Message): + __slots__ = ('id', 'org_id', 'seq', 'issue_class', 'subject_type', 'subject_id', 'subject_label', 'title', 'state', 'severity', 'created_at', 'updated_at', 'resolved_at', 'open_report_count', 'total_report_count', 'assignments') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + SEQ_FIELD_NUMBER: _ClassVar[int] + ISSUE_CLASS_FIELD_NUMBER: _ClassVar[int] + SUBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + SUBJECT_ID_FIELD_NUMBER: _ClassVar[int] + SUBJECT_LABEL_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + SEVERITY_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + RESOLVED_AT_FIELD_NUMBER: _ClassVar[int] + OPEN_REPORT_COUNT_FIELD_NUMBER: _ClassVar[int] + TOTAL_REPORT_COUNT_FIELD_NUMBER: _ClassVar[int] + ASSIGNMENTS_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + seq: int + issue_class: str + subject_type: str + subject_id: str + subject_label: str + title: str + state: IssueState + severity: IssueSeverity + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + resolved_at: _timestamp_pb2.Timestamp + open_report_count: int + total_report_count: int + assignments: _containers.RepeatedCompositeFieldContainer[IssueAssignment] + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., seq: _Optional[int]=..., issue_class: _Optional[str]=..., subject_type: _Optional[str]=..., subject_id: _Optional[str]=..., subject_label: _Optional[str]=..., title: _Optional[str]=..., state: _Optional[_Union[IssueState, str]]=..., severity: _Optional[_Union[IssueSeverity, str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., resolved_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., open_report_count: _Optional[int]=..., total_report_count: _Optional[int]=..., assignments: _Optional[_Iterable[_Union[IssueAssignment, _Mapping]]]=...) -> None: + ... + +class IssueReport(_message.Message): + __slots__ = ('id', 'org_id', 'issue_id', 'reporter', 'source_key', 'detail', 'state', 'resolved_at', 'resolved_by', 'created_at', 'updated_at') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + ISSUE_ID_FIELD_NUMBER: _ClassVar[int] + REPORTER_FIELD_NUMBER: _ClassVar[int] + SOURCE_KEY_FIELD_NUMBER: _ClassVar[int] + DETAIL_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + RESOLVED_AT_FIELD_NUMBER: _ClassVar[int] + RESOLVED_BY_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + issue_id: str + reporter: str + source_key: str + detail: str + state: ReportState + resolved_at: _timestamp_pb2.Timestamp + resolved_by: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., issue_id: _Optional[str]=..., reporter: _Optional[str]=..., source_key: _Optional[str]=..., detail: _Optional[str]=..., state: _Optional[_Union[ReportState, str]]=..., resolved_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., resolved_by: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class IssueAssignment(_message.Message): + __slots__ = ('id', 'org_id', 'issue_id', 'assignee_kind', 'assignee_id', 'assigned_by', 'assigned_at', 'unassigned_at') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + ISSUE_ID_FIELD_NUMBER: _ClassVar[int] + ASSIGNEE_KIND_FIELD_NUMBER: _ClassVar[int] + ASSIGNEE_ID_FIELD_NUMBER: _ClassVar[int] + ASSIGNED_BY_FIELD_NUMBER: _ClassVar[int] + ASSIGNED_AT_FIELD_NUMBER: _ClassVar[int] + UNASSIGNED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + issue_id: str + assignee_kind: AssigneeKind + assignee_id: str + assigned_by: str + assigned_at: _timestamp_pb2.Timestamp + unassigned_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., issue_id: _Optional[str]=..., assignee_kind: _Optional[_Union[AssigneeKind, str]]=..., assignee_id: _Optional[str]=..., assigned_by: _Optional[str]=..., assigned_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., unassigned_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListIssuesRequest(_message.Message): + __slots__ = ('states', 'min_severity', 'subject_type', 'issue_class', 'page_size', 'page_token', 'sort_direction', 'time_range') + STATES_FIELD_NUMBER: _ClassVar[int] + MIN_SEVERITY_FIELD_NUMBER: _ClassVar[int] + SUBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + ISSUE_CLASS_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + SORT_DIRECTION_FIELD_NUMBER: _ClassVar[int] + TIME_RANGE_FIELD_NUMBER: _ClassVar[int] + states: _containers.RepeatedScalarFieldContainer[IssueState] + min_severity: IssueSeverity + subject_type: str + issue_class: str + page_size: int + page_token: str + sort_direction: _common_pb2.SortDirection + time_range: IssueTimeRange + + def __init__(self, states: _Optional[_Iterable[_Union[IssueState, str]]]=..., min_severity: _Optional[_Union[IssueSeverity, str]]=..., subject_type: _Optional[str]=..., issue_class: _Optional[str]=..., page_size: _Optional[int]=..., page_token: _Optional[str]=..., sort_direction: _Optional[_Union[_common_pb2.SortDirection, str]]=..., time_range: _Optional[_Union[IssueTimeRange, str]]=...) -> None: + ... + +class ListIssuesResponse(_message.Message): + __slots__ = ('issues', 'next_page_token') + ISSUES_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + issues: _containers.RepeatedCompositeFieldContainer[Issue] + next_page_token: str + + def __init__(self, issues: _Optional[_Iterable[_Union[Issue, _Mapping]]]=..., next_page_token: _Optional[str]=...) -> None: + ... + +class GetIssueRequest(_message.Message): + __slots__ = ('issue_id',) + ISSUE_ID_FIELD_NUMBER: _ClassVar[int] + issue_id: str + + def __init__(self, issue_id: _Optional[str]=...) -> None: + ... + +class GetIssueResponse(_message.Message): + __slots__ = ('issue', 'reports', 'assignment_history', 'affected_roles') + ISSUE_FIELD_NUMBER: _ClassVar[int] + REPORTS_FIELD_NUMBER: _ClassVar[int] + ASSIGNMENT_HISTORY_FIELD_NUMBER: _ClassVar[int] + AFFECTED_ROLES_FIELD_NUMBER: _ClassVar[int] + issue: Issue + reports: _containers.RepeatedCompositeFieldContainer[IssueReport] + assignment_history: _containers.RepeatedCompositeFieldContainer[IssueAssignment] + affected_roles: _containers.RepeatedCompositeFieldContainer[AffectedRole] + + def __init__(self, issue: _Optional[_Union[Issue, _Mapping]]=..., reports: _Optional[_Iterable[_Union[IssueReport, _Mapping]]]=..., assignment_history: _Optional[_Iterable[_Union[IssueAssignment, _Mapping]]]=..., affected_roles: _Optional[_Iterable[_Union[AffectedRole, _Mapping]]]=...) -> None: + ... + +class AffectedRole(_message.Message): + __slots__ = ('role_id', 'role_name', 'source') + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_NAME_FIELD_NUMBER: _ClassVar[int] + SOURCE_FIELD_NUMBER: _ClassVar[int] + role_id: str + role_name: str + source: str + + def __init__(self, role_id: _Optional[str]=..., role_name: _Optional[str]=..., source: _Optional[str]=...) -> None: + ... + +class GetIssueStatsRequest(_message.Message): + __slots__ = ('trend_days',) + TREND_DAYS_FIELD_NUMBER: _ClassVar[int] + trend_days: int + + def __init__(self, trend_days: _Optional[int]=...) -> None: + ... + +class DailyCount(_message.Message): + __slots__ = ('date', 'count') + DATE_FIELD_NUMBER: _ClassVar[int] + COUNT_FIELD_NUMBER: _ClassVar[int] + date: str + count: int + + def __init__(self, date: _Optional[str]=..., count: _Optional[int]=...) -> None: + ... + +class IssueStats(_message.Message): + __slots__ = ('open_total', 'open_high', 'open_medium', 'open_low', 'opened_daily') + OPEN_TOTAL_FIELD_NUMBER: _ClassVar[int] + OPEN_HIGH_FIELD_NUMBER: _ClassVar[int] + OPEN_MEDIUM_FIELD_NUMBER: _ClassVar[int] + OPEN_LOW_FIELD_NUMBER: _ClassVar[int] + OPENED_DAILY_FIELD_NUMBER: _ClassVar[int] + open_total: int + open_high: int + open_medium: int + open_low: int + opened_daily: _containers.RepeatedCompositeFieldContainer[DailyCount] + + def __init__(self, open_total: _Optional[int]=..., open_high: _Optional[int]=..., open_medium: _Optional[int]=..., open_low: _Optional[int]=..., opened_daily: _Optional[_Iterable[_Union[DailyCount, _Mapping]]]=...) -> None: + ... + +class GetIssueStatsResponse(_message.Message): + __slots__ = ('stats',) + STATS_FIELD_NUMBER: _ClassVar[int] + stats: IssueStats + + def __init__(self, stats: _Optional[_Union[IssueStats, _Mapping]]=...) -> None: + ... + +class UpdateIssueStateRequest(_message.Message): + __slots__ = ('issue_id', 'state') + ISSUE_ID_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + issue_id: str + state: IssueState + + def __init__(self, issue_id: _Optional[str]=..., state: _Optional[_Union[IssueState, str]]=...) -> None: + ... + +class UpdateIssueStateResponse(_message.Message): + __slots__ = ('issue',) + ISSUE_FIELD_NUMBER: _ClassVar[int] + issue: Issue + + def __init__(self, issue: _Optional[_Union[Issue, _Mapping]]=...) -> None: + ... + +class UpdateReportStateRequest(_message.Message): + __slots__ = ('report_id', 'state') + REPORT_ID_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + report_id: str + state: ReportState + + def __init__(self, report_id: _Optional[str]=..., state: _Optional[_Union[ReportState, str]]=...) -> None: + ... + +class UpdateReportStateResponse(_message.Message): + __slots__ = ('report',) + REPORT_FIELD_NUMBER: _ClassVar[int] + report: IssueReport + + def __init__(self, report: _Optional[_Union[IssueReport, _Mapping]]=...) -> None: + ... + +class AssignIssueRequest(_message.Message): + __slots__ = ('issue_id', 'assignee_kind', 'assignee_id') + ISSUE_ID_FIELD_NUMBER: _ClassVar[int] + ASSIGNEE_KIND_FIELD_NUMBER: _ClassVar[int] + ASSIGNEE_ID_FIELD_NUMBER: _ClassVar[int] + issue_id: str + assignee_kind: AssigneeKind + assignee_id: str + + def __init__(self, issue_id: _Optional[str]=..., assignee_kind: _Optional[_Union[AssigneeKind, str]]=..., assignee_id: _Optional[str]=...) -> None: + ... + +class AssignIssueResponse(_message.Message): + __slots__ = ('assignment',) + ASSIGNMENT_FIELD_NUMBER: _ClassVar[int] + assignment: IssueAssignment + + def __init__(self, assignment: _Optional[_Union[IssueAssignment, _Mapping]]=...) -> None: + ... + +class UnassignIssueRequest(_message.Message): + __slots__ = ('issue_id', 'assignee_kind', 'assignee_id') + ISSUE_ID_FIELD_NUMBER: _ClassVar[int] + ASSIGNEE_KIND_FIELD_NUMBER: _ClassVar[int] + ASSIGNEE_ID_FIELD_NUMBER: _ClassVar[int] + issue_id: str + assignee_kind: AssigneeKind + assignee_id: str + + def __init__(self, issue_id: _Optional[str]=..., assignee_kind: _Optional[_Union[AssigneeKind, str]]=..., assignee_id: _Optional[str]=...) -> None: + ... + +class BulkAssignIssuesRequest(_message.Message): + __slots__ = ('issue_ids', 'assignee_kind', 'assignee_id') + ISSUE_IDS_FIELD_NUMBER: _ClassVar[int] + ASSIGNEE_KIND_FIELD_NUMBER: _ClassVar[int] + ASSIGNEE_ID_FIELD_NUMBER: _ClassVar[int] + issue_ids: _containers.RepeatedScalarFieldContainer[str] + assignee_kind: AssigneeKind + assignee_id: str + + def __init__(self, issue_ids: _Optional[_Iterable[str]]=..., assignee_kind: _Optional[_Union[AssigneeKind, str]]=..., assignee_id: _Optional[str]=...) -> None: + ... + +class BulkAssignIssuesResponse(_message.Message): + __slots__ = ('affected_count',) + AFFECTED_COUNT_FIELD_NUMBER: _ClassVar[int] + affected_count: int + + def __init__(self, affected_count: _Optional[int]=...) -> None: + ... + +class BulkUnassignIssuesRequest(_message.Message): + __slots__ = ('issue_ids',) + ISSUE_IDS_FIELD_NUMBER: _ClassVar[int] + issue_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, issue_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class BulkUnassignIssuesResponse(_message.Message): + __slots__ = ('affected_count',) + AFFECTED_COUNT_FIELD_NUMBER: _ClassVar[int] + affected_count: int + + def __init__(self, affected_count: _Optional[int]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/llm_model_pb2.py b/src/textql_sdk/_connect/public/llm_model_pb2.py new file mode 100644 index 0000000..e5d9668 --- /dev/null +++ b/src/textql_sdk/_connect/public/llm_model_pb2.py @@ -0,0 +1,98 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/llm_model.proto') +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16public/llm_model.proto\x12\x16textql.rpc.public.chat*\xd5\x0c\n\x08LlmModel\x12\x11\n\rMODEL_UNKNOWN\x10\x00\x12\x17\n\x13MODEL_DEFAULT_SMALL\x10\x01\x12\x11\n\rMODEL_DEFAULT\x10\x02\x12\x17\n\x13MODEL_DEFAULT_LARGE\x10\x03\x12\x1b\n\x17MODEL_DEFAULT_REASONING\x10\x04\x12\x15\n\rMODEL_HAIKU_3\x10\n\x1a\x02\x08\x01\x12\x17\n\x0fMODEL_HAIKU_3_5\x10\x0b\x1a\x02\x08\x01\x12\x18\n\x10MODEL_SONNET_3_5\x10\x0c\x1a\x02\x08\x01\x12\x18\n\x10MODEL_SONNET_3_6\x10\r\x1a\x02\x08\x01\x12\x18\n\x10MODEL_SONNET_3_7\x10\x0e\x1a\x02\x08\x01\x12\x16\n\x0eMODEL_SONNET_4\x10\x0f\x1a\x02\x08\x01\x12\x14\n\x0cMODEL_OPUS_4\x10\x10\x1a\x02\x08\x01\x12\x18\n\x10MODEL_SONNET_4_5\x10\x11\x1a\x02\x08\x01\x12\x13\n\x0fMODEL_HAIKU_4_5\x10\x12\x12\x16\n\x0eMODEL_OPUS_4_5\x10\x13\x1a\x02\x08\x01\x12\x16\n\x0eMODEL_OPUS_4_6\x10\x14\x1a\x02\x08\x01\x12\x18\n\x10MODEL_SONNET_4_6\x10\x15\x1a\x02\x08\x01\x12\x16\n\x0eMODEL_OPUS_4_7\x10\x16\x1a\x02\x08\x01\x12\x12\n\x0eMODEL_OPUS_4_8\x10\x17\x12\x11\n\rMODEL_FABLE_5\x10\x18\x12\x12\n\x0eMODEL_SONNET_5\x10\x19\x12\x13\n\x0bMODEL_GPT_4\x102\x1a\x02\x08\x01\x12\x19\n\x11MODEL_GPT_4_TURBO\x103\x1a\x02\x08\x01\x12\x14\n\x0cMODEL_GPT_4O\x104\x1a\x02\x08\x01\x12\x15\n\rMODEL_GPT_4_1\x105\x1a\x02\x08\x01\x12\x1a\n\x12MODEL_GPT_4_1_MINI\x106\x1a\x02\x08\x01\x12\x1a\n\x12MODEL_GPT_4_1_NANO\x107\x1a\x02\x08\x01\x12\x11\n\tMODEL_O_1\x108\x1a\x02\x08\x01\x12\x16\n\x0eMODEL_O_1_MINI\x109\x1a\x02\x08\x01\x12\x11\n\tMODEL_O_3\x10:\x1a\x02\x08\x01\x12\x16\n\x0eMODEL_O_3_MINI\x10;\x1a\x02\x08\x01\x12\x16\n\x0eMODEL_O_4_MINI\x10<\x1a\x02\x08\x01\x12\x13\n\x0bMODEL_GPT_5\x10=\x1a\x02\x08\x01\x12\x18\n\x10MODEL_GPT_5_MINI\x10>\x1a\x02\x08\x01\x12\x18\n\x10MODEL_GPT_5_NANO\x10?\x1a\x02\x08\x01\x12\x15\n\rMODEL_GPT_5_2\x10@\x1a\x02\x08\x01\x12\x19\n\x11MODEL_GPT_5_2_PRO\x10A\x1a\x02\x08\x01\x12\x15\n\rMODEL_GPT_5_5\x10B\x1a\x02\x08\x01\x12\x15\n\rMODEL_GPT_5_4\x10C\x1a\x02\x08\x01\x12\x1a\n\x12MODEL_GPT_5_4_MINI\x10D\x1a\x02\x08\x01\x12\x15\n\x11MODEL_GPT_5_6_SOL\x10E\x12\x18\n\x14MODEL_GEMINI_3_FLASH\x10F\x12\x16\n\x12MODEL_GEMINI_3_PRO\x10G\x12\x18\n\x14MODEL_GEMINI_3_1_PRO\x10H\x12\x1a\n\x16MODEL_GEMINI_3_5_FLASH\x10I\x12\x17\n\x13MODEL_GPT_5_6_TERRA\x10P\x12\x16\n\x12MODEL_GPT_5_6_LUNA\x10Q\x12\x1e\n\x16MODEL_KIMI_K2_INSTRUCT\x10e\x1a\x02\x08\x01\x12\x19\n\x11MODEL_QWEN3_CODER\x10f\x1a\x02\x08\x01\x12\x1f\n\x17MODEL_QWEN3_CODER_SMALL\x10g\x1a\x02\x08\x01\x12\x15\n\rMODEL_GPT_OSS\x10h\x1a\x02\x08\x01\x12\x1b\n\x13MODEL_GPT_OSS_SMALL\x10i\x1a\x02\x08\x01\x12\x15\n\rMODEL_GLM_4_5\x10j\x1a\x02\x08\x01\x12\x15\n\rMODEL_GLM_4_6\x10k\x1a\x02\x08\x01\x12\x1e\n\x16MODEL_KIMI_K2_THINKING\x10l\x1a\x02\x08\x01\x12\x17\n\x0fMODEL_KIMI_K2_5\x10m\x1a\x02\x08\x01\x12\x16\n\x12MODEL_DEEPSEEK_3_2\x10n\x12\x0f\n\x0bMODEL_GLM_5\x10o\x12\x0e\n\nMODEL_VLLM\x10p\x12\x13\n\x0fMODEL_KIMI_K2_6\x10q\x12\x11\n\rMODEL_GLM_5_2\x10r\x12\x18\n\x14MODEL_KIMI_K2_7_CODE\x10s\x12\x16\n\x12MODEL_QWEN3_7_PLUS\x10t\x12\x1f\n\x16MODEL_CEREBRAS_GLM_4_7\x10\xc8\x01\x1a\x02\x08\x01\x12\x19\n\x14MODEL_MUSE_SPARK_1_1\x10\x80\x02"\x04\x08\x05\x10\t"\x04\x08\x1a\x101"\x04\x08J\x10O"\x04\x08R\x10d"\x06\x08\xc9\x01\x10\xff\x01b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.llm_model_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_HAIKU_3']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_HAIKU_3']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_HAIKU_3_5']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_HAIKU_3_5']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_3_5']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_3_5']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_3_6']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_3_6']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_3_7']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_3_7']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_4']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_4']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_OPUS_4']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_OPUS_4']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_4_5']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_4_5']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_OPUS_4_5']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_OPUS_4_5']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_OPUS_4_6']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_OPUS_4_6']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_4_6']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_SONNET_4_6']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_OPUS_4_7']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_OPUS_4_7']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4_TURBO']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4_TURBO']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4O']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4O']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4_1']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4_1']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4_1_MINI']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4_1_MINI']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4_1_NANO']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_4_1_NANO']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_O_1']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_O_1']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_O_1_MINI']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_O_1_MINI']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_O_3']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_O_3']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_O_3_MINI']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_O_3_MINI']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_O_4_MINI']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_O_4_MINI']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_MINI']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_MINI']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_NANO']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_NANO']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_2']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_2']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_2_PRO']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_2_PRO']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_5']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_5']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_4']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_4']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_4_MINI']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_5_4_MINI']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_KIMI_K2_INSTRUCT']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_KIMI_K2_INSTRUCT']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_QWEN3_CODER']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_QWEN3_CODER']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_QWEN3_CODER_SMALL']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_QWEN3_CODER_SMALL']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_OSS']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_OSS']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_OSS_SMALL']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GPT_OSS_SMALL']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GLM_4_5']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GLM_4_5']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_GLM_4_6']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_GLM_4_6']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_KIMI_K2_THINKING']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_KIMI_K2_THINKING']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_KIMI_K2_5']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_KIMI_K2_5']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL'].values_by_name['MODEL_CEREBRAS_GLM_4_7']._loaded_options = None + _globals['_LLMMODEL'].values_by_name['MODEL_CEREBRAS_GLM_4_7']._serialized_options = b'\x08\x01' + _globals['_LLMMODEL']._serialized_start = 51 + _globals['_LLMMODEL']._serialized_end = 1672 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/llm_model_pb2.pyi b/src/textql_sdk/_connect/public/llm_model_pb2.pyi new file mode 100644 index 0000000..d53fb4b --- /dev/null +++ b/src/textql_sdk/_connect/public/llm_model_pb2.pyi @@ -0,0 +1,137 @@ +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from typing import ClassVar as _ClassVar +DESCRIPTOR: _descriptor.FileDescriptor + +class LlmModel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + MODEL_UNKNOWN: _ClassVar[LlmModel] + MODEL_DEFAULT_SMALL: _ClassVar[LlmModel] + MODEL_DEFAULT: _ClassVar[LlmModel] + MODEL_DEFAULT_LARGE: _ClassVar[LlmModel] + MODEL_DEFAULT_REASONING: _ClassVar[LlmModel] + MODEL_HAIKU_3: _ClassVar[LlmModel] + MODEL_HAIKU_3_5: _ClassVar[LlmModel] + MODEL_SONNET_3_5: _ClassVar[LlmModel] + MODEL_SONNET_3_6: _ClassVar[LlmModel] + MODEL_SONNET_3_7: _ClassVar[LlmModel] + MODEL_SONNET_4: _ClassVar[LlmModel] + MODEL_OPUS_4: _ClassVar[LlmModel] + MODEL_SONNET_4_5: _ClassVar[LlmModel] + MODEL_HAIKU_4_5: _ClassVar[LlmModel] + MODEL_OPUS_4_5: _ClassVar[LlmModel] + MODEL_OPUS_4_6: _ClassVar[LlmModel] + MODEL_SONNET_4_6: _ClassVar[LlmModel] + MODEL_OPUS_4_7: _ClassVar[LlmModel] + MODEL_OPUS_4_8: _ClassVar[LlmModel] + MODEL_FABLE_5: _ClassVar[LlmModel] + MODEL_SONNET_5: _ClassVar[LlmModel] + MODEL_GPT_4: _ClassVar[LlmModel] + MODEL_GPT_4_TURBO: _ClassVar[LlmModel] + MODEL_GPT_4O: _ClassVar[LlmModel] + MODEL_GPT_4_1: _ClassVar[LlmModel] + MODEL_GPT_4_1_MINI: _ClassVar[LlmModel] + MODEL_GPT_4_1_NANO: _ClassVar[LlmModel] + MODEL_O_1: _ClassVar[LlmModel] + MODEL_O_1_MINI: _ClassVar[LlmModel] + MODEL_O_3: _ClassVar[LlmModel] + MODEL_O_3_MINI: _ClassVar[LlmModel] + MODEL_O_4_MINI: _ClassVar[LlmModel] + MODEL_GPT_5: _ClassVar[LlmModel] + MODEL_GPT_5_MINI: _ClassVar[LlmModel] + MODEL_GPT_5_NANO: _ClassVar[LlmModel] + MODEL_GPT_5_2: _ClassVar[LlmModel] + MODEL_GPT_5_2_PRO: _ClassVar[LlmModel] + MODEL_GPT_5_5: _ClassVar[LlmModel] + MODEL_GPT_5_4: _ClassVar[LlmModel] + MODEL_GPT_5_4_MINI: _ClassVar[LlmModel] + MODEL_GPT_5_6_SOL: _ClassVar[LlmModel] + MODEL_GEMINI_3_FLASH: _ClassVar[LlmModel] + MODEL_GEMINI_3_PRO: _ClassVar[LlmModel] + MODEL_GEMINI_3_1_PRO: _ClassVar[LlmModel] + MODEL_GEMINI_3_5_FLASH: _ClassVar[LlmModel] + MODEL_GPT_5_6_TERRA: _ClassVar[LlmModel] + MODEL_GPT_5_6_LUNA: _ClassVar[LlmModel] + MODEL_KIMI_K2_INSTRUCT: _ClassVar[LlmModel] + MODEL_QWEN3_CODER: _ClassVar[LlmModel] + MODEL_QWEN3_CODER_SMALL: _ClassVar[LlmModel] + MODEL_GPT_OSS: _ClassVar[LlmModel] + MODEL_GPT_OSS_SMALL: _ClassVar[LlmModel] + MODEL_GLM_4_5: _ClassVar[LlmModel] + MODEL_GLM_4_6: _ClassVar[LlmModel] + MODEL_KIMI_K2_THINKING: _ClassVar[LlmModel] + MODEL_KIMI_K2_5: _ClassVar[LlmModel] + MODEL_DEEPSEEK_3_2: _ClassVar[LlmModel] + MODEL_GLM_5: _ClassVar[LlmModel] + MODEL_VLLM: _ClassVar[LlmModel] + MODEL_KIMI_K2_6: _ClassVar[LlmModel] + MODEL_GLM_5_2: _ClassVar[LlmModel] + MODEL_KIMI_K2_7_CODE: _ClassVar[LlmModel] + MODEL_QWEN3_7_PLUS: _ClassVar[LlmModel] + MODEL_CEREBRAS_GLM_4_7: _ClassVar[LlmModel] + MODEL_MUSE_SPARK_1_1: _ClassVar[LlmModel] +MODEL_UNKNOWN: LlmModel +MODEL_DEFAULT_SMALL: LlmModel +MODEL_DEFAULT: LlmModel +MODEL_DEFAULT_LARGE: LlmModel +MODEL_DEFAULT_REASONING: LlmModel +MODEL_HAIKU_3: LlmModel +MODEL_HAIKU_3_5: LlmModel +MODEL_SONNET_3_5: LlmModel +MODEL_SONNET_3_6: LlmModel +MODEL_SONNET_3_7: LlmModel +MODEL_SONNET_4: LlmModel +MODEL_OPUS_4: LlmModel +MODEL_SONNET_4_5: LlmModel +MODEL_HAIKU_4_5: LlmModel +MODEL_OPUS_4_5: LlmModel +MODEL_OPUS_4_6: LlmModel +MODEL_SONNET_4_6: LlmModel +MODEL_OPUS_4_7: LlmModel +MODEL_OPUS_4_8: LlmModel +MODEL_FABLE_5: LlmModel +MODEL_SONNET_5: LlmModel +MODEL_GPT_4: LlmModel +MODEL_GPT_4_TURBO: LlmModel +MODEL_GPT_4O: LlmModel +MODEL_GPT_4_1: LlmModel +MODEL_GPT_4_1_MINI: LlmModel +MODEL_GPT_4_1_NANO: LlmModel +MODEL_O_1: LlmModel +MODEL_O_1_MINI: LlmModel +MODEL_O_3: LlmModel +MODEL_O_3_MINI: LlmModel +MODEL_O_4_MINI: LlmModel +MODEL_GPT_5: LlmModel +MODEL_GPT_5_MINI: LlmModel +MODEL_GPT_5_NANO: LlmModel +MODEL_GPT_5_2: LlmModel +MODEL_GPT_5_2_PRO: LlmModel +MODEL_GPT_5_5: LlmModel +MODEL_GPT_5_4: LlmModel +MODEL_GPT_5_4_MINI: LlmModel +MODEL_GPT_5_6_SOL: LlmModel +MODEL_GEMINI_3_FLASH: LlmModel +MODEL_GEMINI_3_PRO: LlmModel +MODEL_GEMINI_3_1_PRO: LlmModel +MODEL_GEMINI_3_5_FLASH: LlmModel +MODEL_GPT_5_6_TERRA: LlmModel +MODEL_GPT_5_6_LUNA: LlmModel +MODEL_KIMI_K2_INSTRUCT: LlmModel +MODEL_QWEN3_CODER: LlmModel +MODEL_QWEN3_CODER_SMALL: LlmModel +MODEL_GPT_OSS: LlmModel +MODEL_GPT_OSS_SMALL: LlmModel +MODEL_GLM_4_5: LlmModel +MODEL_GLM_4_6: LlmModel +MODEL_KIMI_K2_THINKING: LlmModel +MODEL_KIMI_K2_5: LlmModel +MODEL_DEEPSEEK_3_2: LlmModel +MODEL_GLM_5: LlmModel +MODEL_VLLM: LlmModel +MODEL_KIMI_K2_6: LlmModel +MODEL_GLM_5_2: LlmModel +MODEL_KIMI_K2_7_CODE: LlmModel +MODEL_QWEN3_7_PLUS: LlmModel +MODEL_CEREBRAS_GLM_4_7: LlmModel +MODEL_MUSE_SPARK_1_1: LlmModel \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/mcp_connect.py b/src/textql_sdk/_connect/public/mcp_connect.py new file mode 100644 index 0000000..8efb8ad --- /dev/null +++ b/src/textql_sdk/_connect/public/mcp_connect.py @@ -0,0 +1,123 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import mcp_pb2 as public_dot_mcp__pb2 + +class MCPService(Protocol): + + async def get_m_c_p_servers(self, request: public_dot_mcp__pb2.GetMCPServersRequest, ctx: RequestContext) -> public_dot_mcp__pb2.GetMCPServersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upsert_m_c_p_servers(self, request: public_dot_mcp__pb2.UpsertMCPServersRequest, ctx: RequestContext) -> public_dot_mcp__pb2.UpsertMCPServersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_m_c_p_server(self, request: public_dot_mcp__pb2.DeleteMCPServerRequest, ctx: RequestContext) -> public_dot_mcp__pb2.DeleteMCPServerResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def toggle_m_c_p_server(self, request: public_dot_mcp__pb2.ToggleMCPServerRequest, ctx: RequestContext) -> public_dot_mcp__pb2.ToggleMCPServerResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def clear_o_auth_token(self, request: public_dot_mcp__pb2.ClearOAuthTokenRequest, ctx: RequestContext) -> public_dot_mcp__pb2.ClearOAuthTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def initiate_o_auth_flow(self, request: public_dot_mcp__pb2.InitiateOAuthFlowRequest, ctx: RequestContext) -> public_dot_mcp__pb2.InitiateOAuthFlowResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def handle_o_auth_callback(self, request: public_dot_mcp__pb2.HandleOAuthCallbackRequest, ctx: RequestContext) -> public_dot_mcp__pb2.HandleOAuthCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class MCPServiceASGIApplication(ConnectASGIApplication[MCPService]): + + def __init__(self, service: MCPService | AsyncGenerator[MCPService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.mcp.MCPService/GetMCPServers': Endpoint.unary(method=MethodInfo(name='GetMCPServers', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.GetMCPServersRequest, output=public_dot_mcp__pb2.GetMCPServersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_m_c_p_servers), '/textql.rpc.public.mcp.MCPService/UpsertMCPServers': Endpoint.unary(method=MethodInfo(name='UpsertMCPServers', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.UpsertMCPServersRequest, output=public_dot_mcp__pb2.UpsertMCPServersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upsert_m_c_p_servers), '/textql.rpc.public.mcp.MCPService/DeleteMCPServer': Endpoint.unary(method=MethodInfo(name='DeleteMCPServer', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.DeleteMCPServerRequest, output=public_dot_mcp__pb2.DeleteMCPServerResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_m_c_p_server), '/textql.rpc.public.mcp.MCPService/ToggleMCPServer': Endpoint.unary(method=MethodInfo(name='ToggleMCPServer', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.ToggleMCPServerRequest, output=public_dot_mcp__pb2.ToggleMCPServerResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.toggle_m_c_p_server), '/textql.rpc.public.mcp.MCPService/ClearOAuthToken': Endpoint.unary(method=MethodInfo(name='ClearOAuthToken', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.ClearOAuthTokenRequest, output=public_dot_mcp__pb2.ClearOAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.clear_o_auth_token), '/textql.rpc.public.mcp.MCPService/InitiateOAuthFlow': Endpoint.unary(method=MethodInfo(name='InitiateOAuthFlow', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.InitiateOAuthFlowRequest, output=public_dot_mcp__pb2.InitiateOAuthFlowResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.initiate_o_auth_flow), '/textql.rpc.public.mcp.MCPService/HandleOAuthCallback': Endpoint.unary(method=MethodInfo(name='HandleOAuthCallback', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.HandleOAuthCallbackRequest, output=public_dot_mcp__pb2.HandleOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.handle_o_auth_callback)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.mcp.MCPService' + +class MCPServiceClient(ConnectClient): + + async def get_m_c_p_servers(self, request: public_dot_mcp__pb2.GetMCPServersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.GetMCPServersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMCPServers', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.GetMCPServersRequest, output=public_dot_mcp__pb2.GetMCPServersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def upsert_m_c_p_servers(self, request: public_dot_mcp__pb2.UpsertMCPServersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.UpsertMCPServersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpsertMCPServers', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.UpsertMCPServersRequest, output=public_dot_mcp__pb2.UpsertMCPServersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_m_c_p_server(self, request: public_dot_mcp__pb2.DeleteMCPServerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.DeleteMCPServerResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteMCPServer', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.DeleteMCPServerRequest, output=public_dot_mcp__pb2.DeleteMCPServerResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def toggle_m_c_p_server(self, request: public_dot_mcp__pb2.ToggleMCPServerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.ToggleMCPServerResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ToggleMCPServer', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.ToggleMCPServerRequest, output=public_dot_mcp__pb2.ToggleMCPServerResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def clear_o_auth_token(self, request: public_dot_mcp__pb2.ClearOAuthTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.ClearOAuthTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ClearOAuthToken', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.ClearOAuthTokenRequest, output=public_dot_mcp__pb2.ClearOAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def initiate_o_auth_flow(self, request: public_dot_mcp__pb2.InitiateOAuthFlowRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.InitiateOAuthFlowResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='InitiateOAuthFlow', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.InitiateOAuthFlowRequest, output=public_dot_mcp__pb2.InitiateOAuthFlowResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def handle_o_auth_callback(self, request: public_dot_mcp__pb2.HandleOAuthCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.HandleOAuthCallbackResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='HandleOAuthCallback', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.HandleOAuthCallbackRequest, output=public_dot_mcp__pb2.HandleOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class MCPServiceSync(Protocol): + + def get_m_c_p_servers(self, request: public_dot_mcp__pb2.GetMCPServersRequest, ctx: RequestContext) -> public_dot_mcp__pb2.GetMCPServersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upsert_m_c_p_servers(self, request: public_dot_mcp__pb2.UpsertMCPServersRequest, ctx: RequestContext) -> public_dot_mcp__pb2.UpsertMCPServersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_m_c_p_server(self, request: public_dot_mcp__pb2.DeleteMCPServerRequest, ctx: RequestContext) -> public_dot_mcp__pb2.DeleteMCPServerResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def toggle_m_c_p_server(self, request: public_dot_mcp__pb2.ToggleMCPServerRequest, ctx: RequestContext) -> public_dot_mcp__pb2.ToggleMCPServerResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def clear_o_auth_token(self, request: public_dot_mcp__pb2.ClearOAuthTokenRequest, ctx: RequestContext) -> public_dot_mcp__pb2.ClearOAuthTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def initiate_o_auth_flow(self, request: public_dot_mcp__pb2.InitiateOAuthFlowRequest, ctx: RequestContext) -> public_dot_mcp__pb2.InitiateOAuthFlowResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def handle_o_auth_callback(self, request: public_dot_mcp__pb2.HandleOAuthCallbackRequest, ctx: RequestContext) -> public_dot_mcp__pb2.HandleOAuthCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class MCPServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: MCPServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.mcp.MCPService/GetMCPServers': EndpointSync.unary(method=MethodInfo(name='GetMCPServers', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.GetMCPServersRequest, output=public_dot_mcp__pb2.GetMCPServersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_m_c_p_servers), '/textql.rpc.public.mcp.MCPService/UpsertMCPServers': EndpointSync.unary(method=MethodInfo(name='UpsertMCPServers', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.UpsertMCPServersRequest, output=public_dot_mcp__pb2.UpsertMCPServersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upsert_m_c_p_servers), '/textql.rpc.public.mcp.MCPService/DeleteMCPServer': EndpointSync.unary(method=MethodInfo(name='DeleteMCPServer', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.DeleteMCPServerRequest, output=public_dot_mcp__pb2.DeleteMCPServerResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_m_c_p_server), '/textql.rpc.public.mcp.MCPService/ToggleMCPServer': EndpointSync.unary(method=MethodInfo(name='ToggleMCPServer', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.ToggleMCPServerRequest, output=public_dot_mcp__pb2.ToggleMCPServerResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.toggle_m_c_p_server), '/textql.rpc.public.mcp.MCPService/ClearOAuthToken': EndpointSync.unary(method=MethodInfo(name='ClearOAuthToken', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.ClearOAuthTokenRequest, output=public_dot_mcp__pb2.ClearOAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.clear_o_auth_token), '/textql.rpc.public.mcp.MCPService/InitiateOAuthFlow': EndpointSync.unary(method=MethodInfo(name='InitiateOAuthFlow', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.InitiateOAuthFlowRequest, output=public_dot_mcp__pb2.InitiateOAuthFlowResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.initiate_o_auth_flow), '/textql.rpc.public.mcp.MCPService/HandleOAuthCallback': EndpointSync.unary(method=MethodInfo(name='HandleOAuthCallback', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.HandleOAuthCallbackRequest, output=public_dot_mcp__pb2.HandleOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.handle_o_auth_callback)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.mcp.MCPService' + +class MCPServiceClientSync(ConnectClientSync): + + def get_m_c_p_servers(self, request: public_dot_mcp__pb2.GetMCPServersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.GetMCPServersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMCPServers', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.GetMCPServersRequest, output=public_dot_mcp__pb2.GetMCPServersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def upsert_m_c_p_servers(self, request: public_dot_mcp__pb2.UpsertMCPServersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.UpsertMCPServersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpsertMCPServers', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.UpsertMCPServersRequest, output=public_dot_mcp__pb2.UpsertMCPServersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_m_c_p_server(self, request: public_dot_mcp__pb2.DeleteMCPServerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.DeleteMCPServerResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteMCPServer', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.DeleteMCPServerRequest, output=public_dot_mcp__pb2.DeleteMCPServerResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def toggle_m_c_p_server(self, request: public_dot_mcp__pb2.ToggleMCPServerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.ToggleMCPServerResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ToggleMCPServer', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.ToggleMCPServerRequest, output=public_dot_mcp__pb2.ToggleMCPServerResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def clear_o_auth_token(self, request: public_dot_mcp__pb2.ClearOAuthTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.ClearOAuthTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ClearOAuthToken', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.ClearOAuthTokenRequest, output=public_dot_mcp__pb2.ClearOAuthTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def initiate_o_auth_flow(self, request: public_dot_mcp__pb2.InitiateOAuthFlowRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.InitiateOAuthFlowResponse: + return self.execute_unary(request=request, method=MethodInfo(name='InitiateOAuthFlow', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.InitiateOAuthFlowRequest, output=public_dot_mcp__pb2.InitiateOAuthFlowResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def handle_o_auth_callback(self, request: public_dot_mcp__pb2.HandleOAuthCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_mcp__pb2.HandleOAuthCallbackResponse: + return self.execute_unary(request=request, method=MethodInfo(name='HandleOAuthCallback', service_name='textql.rpc.public.mcp.MCPService', input=public_dot_mcp__pb2.HandleOAuthCallbackRequest, output=public_dot_mcp__pb2.HandleOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/mcp_pb2.py b/src/textql_sdk/_connect/public/mcp_pb2.py new file mode 100644 index 0000000..629f2a8 --- /dev/null +++ b/src/textql_sdk/_connect/public/mcp_pb2.py @@ -0,0 +1,71 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/mcp.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10public/mcp.proto\x12\x15textql.rpc.public.mcp\x1a\x1bgoogle/api/visibility.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa4\x01\n\nHttpConfig\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12H\n\x07headers\x18\x02 \x03(\x0b2..textql.rpc.public.mcp.HttpConfig.HeadersEntryR\x07headers\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xa2\x01\n\tSseConfig\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12G\n\x07headers\x18\x02 \x03(\x0b2-.textql.rpc.public.mcp.SseConfig.HeadersEntryR\x07headers\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xdf\x03\n\tMCPServer\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12E\n\ttransport\x18\x03 \x01(\x0e2\'.textql.rpc.public.mcp.MCPTransportTypeR\ttransport\x12D\n\x0bhttp_config\x18\x04 \x01(\x0b2!.textql.rpc.public.mcp.HttpConfigH\x00R\nhttpConfig\x12A\n\nsse_config\x18\x05 \x01(\x0b2 .textql.rpc.public.mcp.SseConfigH\x00R\tsseConfig\x12\x1b\n\tmember_id\x18\x06 \x01(\tR\x08memberId\x12\'\n\x0forganization_id\x18\x07 \x01(\tR\x0eorganizationId\x129\n\ncreated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x18\n\x07enabled\x18\n \x01(\x08R\x07enabledB\x08\n\x06config"W\n\x07MCPTool\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x16\n\x06schema\x18\x03 \x01(\tR\x06schema"\xad\x02\n\x12MCPServerWithTools\x12?\n\nmcp_server\x18\x01 \x01(\x0b2 .textql.rpc.public.mcp.MCPServerR\tmcpServer\x124\n\x05tools\x18\x02 \x03(\x0b2\x1e.textql.rpc.public.mcp.MCPToolR\x05tools\x12:\n\x05error\x18\x03 \x01(\x0e2\x1f.textql.rpc.public.mcp.MCPErrorH\x00R\x05error\x88\x01\x01\x12Z\n\x12oauth_connected_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\x10oauthConnectedAtB\x08\n\x06_error"\x16\n\x14GetMCPServersRequest"c\n\x15GetMCPServersResponse\x12J\n\x0bmcp_servers\x18\x01 \x03(\x0b2).textql.rpc.public.mcp.MCPServerWithToolsR\nmcpServers"\\\n\x17UpsertMCPServersRequest\x12A\n\x0bmcp_servers\x18\x01 \x03(\x0b2 .textql.rpc.public.mcp.MCPServerR\nmcpServers"f\n\x18UpsertMCPServersResponse\x12J\n\x0bmcp_servers\x18\x01 \x03(\x0b2).textql.rpc.public.mcp.MCPServerWithToolsR\nmcpServers"(\n\x16ToggleMCPServerRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"3\n\x17ToggleMCPServerResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"5\n\x16ClearOAuthTokenRequest\x12\x1b\n\tserver_id\x18\x01 \x01(\tR\x08serverId"I\n\x17ClearOAuthTokenResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"(\n\x16DeleteMCPServerRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"I\n\x17DeleteMCPServerResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"7\n\x18InitiateOAuthFlowRequest\x12\x1b\n\tserver_id\x18\x01 \x01(\tR\x08serverId"x\n\x19InitiateOAuthFlowResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error\x12+\n\x11authorization_url\x18\x03 \x01(\tR\x10authorizationUrl"c\n\x1aHandleOAuthCallbackRequest\x12\x1b\n\tserver_id\x18\x01 \x01(\tR\x08serverId\x12\x12\n\x04code\x18\x02 \x01(\tR\x04code\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state"M\n\x1bHandleOAuthCallbackResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error*I\n\x10MCPTransportType\x12"\n\x1eMCP_TRANSPORT_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03SSE\x10\x01\x12\x08\n\x04HTTP\x10\x02*\xa1\x02\n\x08MCPError\x12\x19\n\x15MCP_ERROR_UNSPECIFIED\x10\x00\x12\x1b\n\x17MCP_ERROR_INVALID_TOKEN\x10\x01\x12%\n!MCP_ERROR_AUTHENTICATION_REQUIRED\x10\x02\x12*\n&MCP_ERROR_UNSUPPORTED_PROTOCOL_VERSION\x10\x03\x12$\n MCP_ERROR_CLIENT_NOT_INITIALIZED\x10\x04\x12\x1a\n\x16MCP_ERROR_URL_REQUIRED\x10\x05\x12(\n$MCP_ERROR_UNSUPPORTED_TRANSPORT_TYPE\x10\x06\x12\x1e\n\x1aMCP_ERROR_SERVER_NOT_FOUND\x10\x072\xb9\x06\n\nMCPService\x12j\n\rGetMCPServers\x12+.textql.rpc.public.mcp.GetMCPServersRequest\x1a,.textql.rpc.public.mcp.GetMCPServersResponse\x12s\n\x10UpsertMCPServers\x12..textql.rpc.public.mcp.UpsertMCPServersRequest\x1a/.textql.rpc.public.mcp.UpsertMCPServersResponse\x12p\n\x0fDeleteMCPServer\x12-.textql.rpc.public.mcp.DeleteMCPServerRequest\x1a..textql.rpc.public.mcp.DeleteMCPServerResponse\x12p\n\x0fToggleMCPServer\x12-.textql.rpc.public.mcp.ToggleMCPServerRequest\x1a..textql.rpc.public.mcp.ToggleMCPServerResponse\x12p\n\x0fClearOAuthToken\x12-.textql.rpc.public.mcp.ClearOAuthTokenRequest\x1a..textql.rpc.public.mcp.ClearOAuthTokenResponse\x12v\n\x11InitiateOAuthFlow\x12/.textql.rpc.public.mcp.InitiateOAuthFlowRequest\x1a0.textql.rpc.public.mcp.InitiateOAuthFlowResponse\x12|\n\x13HandleOAuthCallback\x121.textql.rpc.public.mcp.HandleOAuthCallbackRequest\x1a2.textql.rpc.public.mcp.HandleOAuthCallbackResponseB;Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/publicb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.mcp_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public' + _globals['_HTTPCONFIG_HEADERSENTRY']._loaded_options = None + _globals['_HTTPCONFIG_HEADERSENTRY']._serialized_options = b'8\x01' + _globals['_SSECONFIG_HEADERSENTRY']._loaded_options = None + _globals['_SSECONFIG_HEADERSENTRY']._serialized_options = b'8\x01' + _globals['_MCPSERVERWITHTOOLS'].fields_by_name['oauth_connected_at']._loaded_options = None + _globals['_MCPSERVERWITHTOOLS'].fields_by_name['oauth_connected_at']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_MCPTRANSPORTTYPE']._serialized_start = 2336 + _globals['_MCPTRANSPORTTYPE']._serialized_end = 2409 + _globals['_MCPERROR']._serialized_start = 2412 + _globals['_MCPERROR']._serialized_end = 2701 + _globals['_HTTPCONFIG']._serialized_start = 106 + _globals['_HTTPCONFIG']._serialized_end = 270 + _globals['_HTTPCONFIG_HEADERSENTRY']._serialized_start = 212 + _globals['_HTTPCONFIG_HEADERSENTRY']._serialized_end = 270 + _globals['_SSECONFIG']._serialized_start = 273 + _globals['_SSECONFIG']._serialized_end = 435 + _globals['_SSECONFIG_HEADERSENTRY']._serialized_start = 212 + _globals['_SSECONFIG_HEADERSENTRY']._serialized_end = 270 + _globals['_MCPSERVER']._serialized_start = 438 + _globals['_MCPSERVER']._serialized_end = 917 + _globals['_MCPTOOL']._serialized_start = 919 + _globals['_MCPTOOL']._serialized_end = 1006 + _globals['_MCPSERVERWITHTOOLS']._serialized_start = 1009 + _globals['_MCPSERVERWITHTOOLS']._serialized_end = 1310 + _globals['_GETMCPSERVERSREQUEST']._serialized_start = 1312 + _globals['_GETMCPSERVERSREQUEST']._serialized_end = 1334 + _globals['_GETMCPSERVERSRESPONSE']._serialized_start = 1336 + _globals['_GETMCPSERVERSRESPONSE']._serialized_end = 1435 + _globals['_UPSERTMCPSERVERSREQUEST']._serialized_start = 1437 + _globals['_UPSERTMCPSERVERSREQUEST']._serialized_end = 1529 + _globals['_UPSERTMCPSERVERSRESPONSE']._serialized_start = 1531 + _globals['_UPSERTMCPSERVERSRESPONSE']._serialized_end = 1633 + _globals['_TOGGLEMCPSERVERREQUEST']._serialized_start = 1635 + _globals['_TOGGLEMCPSERVERREQUEST']._serialized_end = 1675 + _globals['_TOGGLEMCPSERVERRESPONSE']._serialized_start = 1677 + _globals['_TOGGLEMCPSERVERRESPONSE']._serialized_end = 1728 + _globals['_CLEAROAUTHTOKENREQUEST']._serialized_start = 1730 + _globals['_CLEAROAUTHTOKENREQUEST']._serialized_end = 1783 + _globals['_CLEAROAUTHTOKENRESPONSE']._serialized_start = 1785 + _globals['_CLEAROAUTHTOKENRESPONSE']._serialized_end = 1858 + _globals['_DELETEMCPSERVERREQUEST']._serialized_start = 1860 + _globals['_DELETEMCPSERVERREQUEST']._serialized_end = 1900 + _globals['_DELETEMCPSERVERRESPONSE']._serialized_start = 1902 + _globals['_DELETEMCPSERVERRESPONSE']._serialized_end = 1975 + _globals['_INITIATEOAUTHFLOWREQUEST']._serialized_start = 1977 + _globals['_INITIATEOAUTHFLOWREQUEST']._serialized_end = 2032 + _globals['_INITIATEOAUTHFLOWRESPONSE']._serialized_start = 2034 + _globals['_INITIATEOAUTHFLOWRESPONSE']._serialized_end = 2154 + _globals['_HANDLEOAUTHCALLBACKREQUEST']._serialized_start = 2156 + _globals['_HANDLEOAUTHCALLBACKREQUEST']._serialized_end = 2255 + _globals['_HANDLEOAUTHCALLBACKRESPONSE']._serialized_start = 2257 + _globals['_HANDLEOAUTHCALLBACKRESPONSE']._serialized_end = 2334 + _globals['_MCPSERVICE']._serialized_start = 2704 + _globals['_MCPSERVICE']._serialized_end = 3529 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/mcp_pb2.pyi b/src/textql_sdk/_connect/public/mcp_pb2.pyi new file mode 100644 index 0000000..f62012b --- /dev/null +++ b/src/textql_sdk/_connect/public/mcp_pb2.pyi @@ -0,0 +1,254 @@ +import datetime +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class MCPTransportType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + MCP_TRANSPORT_TYPE_UNSPECIFIED: _ClassVar[MCPTransportType] + SSE: _ClassVar[MCPTransportType] + HTTP: _ClassVar[MCPTransportType] + +class MCPError(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + MCP_ERROR_UNSPECIFIED: _ClassVar[MCPError] + MCP_ERROR_INVALID_TOKEN: _ClassVar[MCPError] + MCP_ERROR_AUTHENTICATION_REQUIRED: _ClassVar[MCPError] + MCP_ERROR_UNSUPPORTED_PROTOCOL_VERSION: _ClassVar[MCPError] + MCP_ERROR_CLIENT_NOT_INITIALIZED: _ClassVar[MCPError] + MCP_ERROR_URL_REQUIRED: _ClassVar[MCPError] + MCP_ERROR_UNSUPPORTED_TRANSPORT_TYPE: _ClassVar[MCPError] + MCP_ERROR_SERVER_NOT_FOUND: _ClassVar[MCPError] +MCP_TRANSPORT_TYPE_UNSPECIFIED: MCPTransportType +SSE: MCPTransportType +HTTP: MCPTransportType +MCP_ERROR_UNSPECIFIED: MCPError +MCP_ERROR_INVALID_TOKEN: MCPError +MCP_ERROR_AUTHENTICATION_REQUIRED: MCPError +MCP_ERROR_UNSUPPORTED_PROTOCOL_VERSION: MCPError +MCP_ERROR_CLIENT_NOT_INITIALIZED: MCPError +MCP_ERROR_URL_REQUIRED: MCPError +MCP_ERROR_UNSUPPORTED_TRANSPORT_TYPE: MCPError +MCP_ERROR_SERVER_NOT_FOUND: MCPError + +class HttpConfig(_message.Message): + __slots__ = ('url', 'headers') + + class HeadersEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + URL_FIELD_NUMBER: _ClassVar[int] + HEADERS_FIELD_NUMBER: _ClassVar[int] + url: str + headers: _containers.ScalarMap[str, str] + + def __init__(self, url: _Optional[str]=..., headers: _Optional[_Mapping[str, str]]=...) -> None: + ... + +class SseConfig(_message.Message): + __slots__ = ('url', 'headers') + + class HeadersEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + URL_FIELD_NUMBER: _ClassVar[int] + HEADERS_FIELD_NUMBER: _ClassVar[int] + url: str + headers: _containers.ScalarMap[str, str] + + def __init__(self, url: _Optional[str]=..., headers: _Optional[_Mapping[str, str]]=...) -> None: + ... + +class MCPServer(_message.Message): + __slots__ = ('id', 'name', 'transport', 'http_config', 'sse_config', 'member_id', 'organization_id', 'created_at', 'updated_at', 'enabled') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + TRANSPORT_FIELD_NUMBER: _ClassVar[int] + HTTP_CONFIG_FIELD_NUMBER: _ClassVar[int] + SSE_CONFIG_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + transport: MCPTransportType + http_config: HttpConfig + sse_config: SseConfig + member_id: str + organization_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + enabled: bool + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., transport: _Optional[_Union[MCPTransportType, str]]=..., http_config: _Optional[_Union[HttpConfig, _Mapping]]=..., sse_config: _Optional[_Union[SseConfig, _Mapping]]=..., member_id: _Optional[str]=..., organization_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., enabled: bool=...) -> None: + ... + +class MCPTool(_message.Message): + __slots__ = ('name', 'description', 'schema') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + schema: str + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., schema: _Optional[str]=...) -> None: + ... + +class MCPServerWithTools(_message.Message): + __slots__ = ('mcp_server', 'tools', 'error', 'oauth_connected_at') + MCP_SERVER_FIELD_NUMBER: _ClassVar[int] + TOOLS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + OAUTH_CONNECTED_AT_FIELD_NUMBER: _ClassVar[int] + mcp_server: MCPServer + tools: _containers.RepeatedCompositeFieldContainer[MCPTool] + error: MCPError + oauth_connected_at: _timestamp_pb2.Timestamp + + def __init__(self, mcp_server: _Optional[_Union[MCPServer, _Mapping]]=..., tools: _Optional[_Iterable[_Union[MCPTool, _Mapping]]]=..., error: _Optional[_Union[MCPError, str]]=..., oauth_connected_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetMCPServersRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMCPServersResponse(_message.Message): + __slots__ = ('mcp_servers',) + MCP_SERVERS_FIELD_NUMBER: _ClassVar[int] + mcp_servers: _containers.RepeatedCompositeFieldContainer[MCPServerWithTools] + + def __init__(self, mcp_servers: _Optional[_Iterable[_Union[MCPServerWithTools, _Mapping]]]=...) -> None: + ... + +class UpsertMCPServersRequest(_message.Message): + __slots__ = ('mcp_servers',) + MCP_SERVERS_FIELD_NUMBER: _ClassVar[int] + mcp_servers: _containers.RepeatedCompositeFieldContainer[MCPServer] + + def __init__(self, mcp_servers: _Optional[_Iterable[_Union[MCPServer, _Mapping]]]=...) -> None: + ... + +class UpsertMCPServersResponse(_message.Message): + __slots__ = ('mcp_servers',) + MCP_SERVERS_FIELD_NUMBER: _ClassVar[int] + mcp_servers: _containers.RepeatedCompositeFieldContainer[MCPServerWithTools] + + def __init__(self, mcp_servers: _Optional[_Iterable[_Union[MCPServerWithTools, _Mapping]]]=...) -> None: + ... + +class ToggleMCPServerRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class ToggleMCPServerResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ClearOAuthTokenRequest(_message.Message): + __slots__ = ('server_id',) + SERVER_ID_FIELD_NUMBER: _ClassVar[int] + server_id: str + + def __init__(self, server_id: _Optional[str]=...) -> None: + ... + +class ClearOAuthTokenResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class DeleteMCPServerRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class DeleteMCPServerResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class InitiateOAuthFlowRequest(_message.Message): + __slots__ = ('server_id',) + SERVER_ID_FIELD_NUMBER: _ClassVar[int] + server_id: str + + def __init__(self, server_id: _Optional[str]=...) -> None: + ... + +class InitiateOAuthFlowResponse(_message.Message): + __slots__ = ('success', 'error', 'authorization_url') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + AUTHORIZATION_URL_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + authorization_url: str + + def __init__(self, success: bool=..., error: _Optional[str]=..., authorization_url: _Optional[str]=...) -> None: + ... + +class HandleOAuthCallbackRequest(_message.Message): + __slots__ = ('server_id', 'code', 'state') + SERVER_ID_FIELD_NUMBER: _ClassVar[int] + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + server_id: str + code: str + state: str + + def __init__(self, server_id: _Optional[str]=..., code: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class HandleOAuthCallbackResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/metrics_export_connect.py b/src/textql_sdk/_connect/public/metrics_export_connect.py new file mode 100644 index 0000000..38916cd --- /dev/null +++ b/src/textql_sdk/_connect/public/metrics_export_connect.py @@ -0,0 +1,99 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import metrics_export_pb2 as public_dot_metrics__export__pb2 + +class MetricsExportService(Protocol): + + async def configure_metrics_export(self, request: public_dot_metrics__export__pb2.ConfigureMetricsExportRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.ConfigureMetricsExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_metrics_export_config(self, request: public_dot_metrics__export__pb2.GetMetricsExportConfigRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.GetMetricsExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_metrics_export_config(self, request: public_dot_metrics__export__pb2.DeleteMetricsExportConfigRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.DeleteMetricsExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def test_metrics_export_connection(self, request: public_dot_metrics__export__pb2.TestMetricsExportConnectionRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.TestMetricsExportConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def trigger_metrics_push(self, request: public_dot_metrics__export__pb2.TriggerMetricsPushRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.TriggerMetricsPushResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class MetricsExportServiceASGIApplication(ConnectASGIApplication[MetricsExportService]): + + def __init__(self, service: MetricsExportService | AsyncGenerator[MetricsExportService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.metrics_export.MetricsExportService/ConfigureMetricsExport': Endpoint.unary(method=MethodInfo(name='ConfigureMetricsExport', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.ConfigureMetricsExportRequest, output=public_dot_metrics__export__pb2.ConfigureMetricsExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.configure_metrics_export), '/textql.rpc.public.metrics_export.MetricsExportService/GetMetricsExportConfig': Endpoint.unary(method=MethodInfo(name='GetMetricsExportConfig', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.GetMetricsExportConfigRequest, output=public_dot_metrics__export__pb2.GetMetricsExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_metrics_export_config), '/textql.rpc.public.metrics_export.MetricsExportService/DeleteMetricsExportConfig': Endpoint.unary(method=MethodInfo(name='DeleteMetricsExportConfig', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.DeleteMetricsExportConfigRequest, output=public_dot_metrics__export__pb2.DeleteMetricsExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_metrics_export_config), '/textql.rpc.public.metrics_export.MetricsExportService/TestMetricsExportConnection': Endpoint.unary(method=MethodInfo(name='TestMetricsExportConnection', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.TestMetricsExportConnectionRequest, output=public_dot_metrics__export__pb2.TestMetricsExportConnectionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.test_metrics_export_connection), '/textql.rpc.public.metrics_export.MetricsExportService/TriggerMetricsPush': Endpoint.unary(method=MethodInfo(name='TriggerMetricsPush', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.TriggerMetricsPushRequest, output=public_dot_metrics__export__pb2.TriggerMetricsPushResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.trigger_metrics_push)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.metrics_export.MetricsExportService' + +class MetricsExportServiceClient(ConnectClient): + + async def configure_metrics_export(self, request: public_dot_metrics__export__pb2.ConfigureMetricsExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_metrics__export__pb2.ConfigureMetricsExportResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ConfigureMetricsExport', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.ConfigureMetricsExportRequest, output=public_dot_metrics__export__pb2.ConfigureMetricsExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_metrics_export_config(self, request: public_dot_metrics__export__pb2.GetMetricsExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_metrics__export__pb2.GetMetricsExportConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMetricsExportConfig', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.GetMetricsExportConfigRequest, output=public_dot_metrics__export__pb2.GetMetricsExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def delete_metrics_export_config(self, request: public_dot_metrics__export__pb2.DeleteMetricsExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_metrics__export__pb2.DeleteMetricsExportConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteMetricsExportConfig', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.DeleteMetricsExportConfigRequest, output=public_dot_metrics__export__pb2.DeleteMetricsExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def test_metrics_export_connection(self, request: public_dot_metrics__export__pb2.TestMetricsExportConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_metrics__export__pb2.TestMetricsExportConnectionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestMetricsExportConnection', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.TestMetricsExportConnectionRequest, output=public_dot_metrics__export__pb2.TestMetricsExportConnectionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def trigger_metrics_push(self, request: public_dot_metrics__export__pb2.TriggerMetricsPushRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_metrics__export__pb2.TriggerMetricsPushResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TriggerMetricsPush', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.TriggerMetricsPushRequest, output=public_dot_metrics__export__pb2.TriggerMetricsPushResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class MetricsExportServiceSync(Protocol): + + def configure_metrics_export(self, request: public_dot_metrics__export__pb2.ConfigureMetricsExportRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.ConfigureMetricsExportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_metrics_export_config(self, request: public_dot_metrics__export__pb2.GetMetricsExportConfigRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.GetMetricsExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_metrics_export_config(self, request: public_dot_metrics__export__pb2.DeleteMetricsExportConfigRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.DeleteMetricsExportConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def test_metrics_export_connection(self, request: public_dot_metrics__export__pb2.TestMetricsExportConnectionRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.TestMetricsExportConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def trigger_metrics_push(self, request: public_dot_metrics__export__pb2.TriggerMetricsPushRequest, ctx: RequestContext) -> public_dot_metrics__export__pb2.TriggerMetricsPushResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class MetricsExportServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: MetricsExportServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.metrics_export.MetricsExportService/ConfigureMetricsExport': EndpointSync.unary(method=MethodInfo(name='ConfigureMetricsExport', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.ConfigureMetricsExportRequest, output=public_dot_metrics__export__pb2.ConfigureMetricsExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.configure_metrics_export), '/textql.rpc.public.metrics_export.MetricsExportService/GetMetricsExportConfig': EndpointSync.unary(method=MethodInfo(name='GetMetricsExportConfig', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.GetMetricsExportConfigRequest, output=public_dot_metrics__export__pb2.GetMetricsExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_metrics_export_config), '/textql.rpc.public.metrics_export.MetricsExportService/DeleteMetricsExportConfig': EndpointSync.unary(method=MethodInfo(name='DeleteMetricsExportConfig', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.DeleteMetricsExportConfigRequest, output=public_dot_metrics__export__pb2.DeleteMetricsExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_metrics_export_config), '/textql.rpc.public.metrics_export.MetricsExportService/TestMetricsExportConnection': EndpointSync.unary(method=MethodInfo(name='TestMetricsExportConnection', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.TestMetricsExportConnectionRequest, output=public_dot_metrics__export__pb2.TestMetricsExportConnectionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.test_metrics_export_connection), '/textql.rpc.public.metrics_export.MetricsExportService/TriggerMetricsPush': EndpointSync.unary(method=MethodInfo(name='TriggerMetricsPush', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.TriggerMetricsPushRequest, output=public_dot_metrics__export__pb2.TriggerMetricsPushResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.trigger_metrics_push)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.metrics_export.MetricsExportService' + +class MetricsExportServiceClientSync(ConnectClientSync): + + def configure_metrics_export(self, request: public_dot_metrics__export__pb2.ConfigureMetricsExportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_metrics__export__pb2.ConfigureMetricsExportResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ConfigureMetricsExport', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.ConfigureMetricsExportRequest, output=public_dot_metrics__export__pb2.ConfigureMetricsExportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_metrics_export_config(self, request: public_dot_metrics__export__pb2.GetMetricsExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_metrics__export__pb2.GetMetricsExportConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMetricsExportConfig', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.GetMetricsExportConfigRequest, output=public_dot_metrics__export__pb2.GetMetricsExportConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def delete_metrics_export_config(self, request: public_dot_metrics__export__pb2.DeleteMetricsExportConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_metrics__export__pb2.DeleteMetricsExportConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteMetricsExportConfig', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.DeleteMetricsExportConfigRequest, output=public_dot_metrics__export__pb2.DeleteMetricsExportConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def test_metrics_export_connection(self, request: public_dot_metrics__export__pb2.TestMetricsExportConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_metrics__export__pb2.TestMetricsExportConnectionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestMetricsExportConnection', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.TestMetricsExportConnectionRequest, output=public_dot_metrics__export__pb2.TestMetricsExportConnectionResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def trigger_metrics_push(self, request: public_dot_metrics__export__pb2.TriggerMetricsPushRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_metrics__export__pb2.TriggerMetricsPushResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TriggerMetricsPush', service_name='textql.rpc.public.metrics_export.MetricsExportService', input=public_dot_metrics__export__pb2.TriggerMetricsPushRequest, output=public_dot_metrics__export__pb2.TriggerMetricsPushResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/metrics_export_pb2.py b/src/textql_sdk/_connect/public/metrics_export_pb2.py new file mode 100644 index 0000000..2e033f6 --- /dev/null +++ b/src/textql_sdk/_connect/public/metrics_export_pb2.py @@ -0,0 +1,50 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/metrics_export.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpublic/metrics_export.proto\x12 textql.rpc.public.metrics_export\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\xde\x03\n\x13MetricsExportConfig\x12-\n\x12prometheus_enabled\x18\x01 \x01(\x08R\x11prometheusEnabled\x12!\n\x0cotlp_enabled\x18\x02 \x01(\x08R\x0botlpEnabled\x12#\n\rotlp_endpoint\x18\x03 \x01(\tR\x0cotlpEndpoint\x12\'\n\x0cotlp_headers\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x0botlpHeaders\x12#\n\rotlp_protocol\x18\x05 \x01(\tR\x0cotlpProtocol\x122\n\x15push_interval_seconds\x18\x06 \x01(\x05R\x13pushIntervalSeconds\x12E\n\x0elast_pushed_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x0clastPushedAt\x88\x01\x01\x129\n\ncreated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\x11\n\x0f_last_pushed_at"\x98\x02\n\x1dConfigureMetricsExportRequest\x12-\n\x12prometheus_enabled\x18\x01 \x01(\x08R\x11prometheusEnabled\x12!\n\x0cotlp_enabled\x18\x02 \x01(\x08R\x0botlpEnabled\x12#\n\rotlp_endpoint\x18\x03 \x01(\tR\x0cotlpEndpoint\x12\'\n\x0cotlp_headers\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\x0botlpHeaders\x12#\n\rotlp_protocol\x18\x05 \x01(\tR\x0cotlpProtocol\x122\n\x15push_interval_seconds\x18\x06 \x01(\x05R\x13pushIntervalSeconds"o\n\x1eConfigureMetricsExportResponse\x12M\n\x06config\x18\x01 \x01(\x0b25.textql.rpc.public.metrics_export.MetricsExportConfigR\x06config"\x1f\n\x1dGetMetricsExportConfigRequest"\x7f\n\x1eGetMetricsExportConfigResponse\x12R\n\x06config\x18\x01 \x01(\x0b25.textql.rpc.public.metrics_export.MetricsExportConfigH\x00R\x06config\x88\x01\x01B\t\n\x07_config""\n DeleteMetricsExportConfigRequest"#\n!DeleteMetricsExportConfigResponse"\x97\x01\n"TestMetricsExportConnectionRequest\x12#\n\rotlp_endpoint\x18\x01 \x01(\tR\x0cotlpEndpoint\x12\'\n\x0cotlp_headers\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0botlpHeaders\x12#\n\rotlp_protocol\x18\x03 \x01(\tR\x0cotlpProtocol"d\n#TestMetricsExportConnectionResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12#\n\rerror_message\x18\x02 \x01(\tR\x0cerrorMessage"\x1b\n\x19TriggerMetricsPushRequest":\n\x1aTriggerMetricsPushResponse\x12\x1c\n\ttriggered\x18\x01 \x01(\x08R\ttriggered2\xc8\x06\n\x14MetricsExportService\x12\x9d\x01\n\x16ConfigureMetricsExport\x12?.textql.rpc.public.metrics_export.ConfigureMetricsExportRequest\x1a@.textql.rpc.public.metrics_export.ConfigureMetricsExportResponse"\x00\x12\xa0\x01\n\x16GetMetricsExportConfig\x12?.textql.rpc.public.metrics_export.GetMetricsExportConfigRequest\x1a@.textql.rpc.public.metrics_export.GetMetricsExportConfigResponse"\x03\x90\x02\x01\x12\xa6\x01\n\x19DeleteMetricsExportConfig\x12B.textql.rpc.public.metrics_export.DeleteMetricsExportConfigRequest\x1aC.textql.rpc.public.metrics_export.DeleteMetricsExportConfigResponse"\x00\x12\xaf\x01\n\x1bTestMetricsExportConnection\x12D.textql.rpc.public.metrics_export.TestMetricsExportConnectionRequest\x1aE.textql.rpc.public.metrics_export.TestMetricsExportConnectionResponse"\x03\x90\x02\x01\x12\x91\x01\n\x12TriggerMetricsPush\x12;.textql.rpc.public.metrics_export.TriggerMetricsPushRequest\x1a<.textql.rpc.public.metrics_export.TriggerMetricsPushResponse"\x00b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.metrics_export_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_METRICSEXPORTCONFIG'].fields_by_name['otlp_headers']._loaded_options = None + _globals['_METRICSEXPORTCONFIG'].fields_by_name['otlp_headers']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_CONFIGUREMETRICSEXPORTREQUEST'].fields_by_name['otlp_headers']._loaded_options = None + _globals['_CONFIGUREMETRICSEXPORTREQUEST'].fields_by_name['otlp_headers']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_TESTMETRICSEXPORTCONNECTIONREQUEST'].fields_by_name['otlp_headers']._loaded_options = None + _globals['_TESTMETRICSEXPORTCONNECTIONREQUEST'].fields_by_name['otlp_headers']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_METRICSEXPORTSERVICE'].methods_by_name['GetMetricsExportConfig']._loaded_options = None + _globals['_METRICSEXPORTSERVICE'].methods_by_name['GetMetricsExportConfig']._serialized_options = b'\x90\x02\x01' + _globals['_METRICSEXPORTSERVICE'].methods_by_name['TestMetricsExportConnection']._loaded_options = None + _globals['_METRICSEXPORTSERVICE'].methods_by_name['TestMetricsExportConnection']._serialized_options = b'\x90\x02\x01' + _globals['_METRICSEXPORTCONFIG']._serialized_start = 121 + _globals['_METRICSEXPORTCONFIG']._serialized_end = 599 + _globals['_CONFIGUREMETRICSEXPORTREQUEST']._serialized_start = 602 + _globals['_CONFIGUREMETRICSEXPORTREQUEST']._serialized_end = 882 + _globals['_CONFIGUREMETRICSEXPORTRESPONSE']._serialized_start = 884 + _globals['_CONFIGUREMETRICSEXPORTRESPONSE']._serialized_end = 995 + _globals['_GETMETRICSEXPORTCONFIGREQUEST']._serialized_start = 997 + _globals['_GETMETRICSEXPORTCONFIGREQUEST']._serialized_end = 1028 + _globals['_GETMETRICSEXPORTCONFIGRESPONSE']._serialized_start = 1030 + _globals['_GETMETRICSEXPORTCONFIGRESPONSE']._serialized_end = 1157 + _globals['_DELETEMETRICSEXPORTCONFIGREQUEST']._serialized_start = 1159 + _globals['_DELETEMETRICSEXPORTCONFIGREQUEST']._serialized_end = 1193 + _globals['_DELETEMETRICSEXPORTCONFIGRESPONSE']._serialized_start = 1195 + _globals['_DELETEMETRICSEXPORTCONFIGRESPONSE']._serialized_end = 1230 + _globals['_TESTMETRICSEXPORTCONNECTIONREQUEST']._serialized_start = 1233 + _globals['_TESTMETRICSEXPORTCONNECTIONREQUEST']._serialized_end = 1384 + _globals['_TESTMETRICSEXPORTCONNECTIONRESPONSE']._serialized_start = 1386 + _globals['_TESTMETRICSEXPORTCONNECTIONRESPONSE']._serialized_end = 1486 + _globals['_TRIGGERMETRICSPUSHREQUEST']._serialized_start = 1488 + _globals['_TRIGGERMETRICSPUSHREQUEST']._serialized_end = 1515 + _globals['_TRIGGERMETRICSPUSHRESPONSE']._serialized_start = 1517 + _globals['_TRIGGERMETRICSPUSHRESPONSE']._serialized_end = 1575 + _globals['_METRICSEXPORTSERVICE']._serialized_start = 1578 + _globals['_METRICSEXPORTSERVICE']._serialized_end = 2418 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/metrics_export_pb2.pyi b/src/textql_sdk/_connect/public/metrics_export_pb2.pyi new file mode 100644 index 0000000..cbd2e1d --- /dev/null +++ b/src/textql_sdk/_connect/public/metrics_export_pb2.pyi @@ -0,0 +1,120 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class MetricsExportConfig(_message.Message): + __slots__ = ('prometheus_enabled', 'otlp_enabled', 'otlp_endpoint', 'otlp_headers', 'otlp_protocol', 'push_interval_seconds', 'last_pushed_at', 'created_at', 'updated_at') + PROMETHEUS_ENABLED_FIELD_NUMBER: _ClassVar[int] + OTLP_ENABLED_FIELD_NUMBER: _ClassVar[int] + OTLP_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + OTLP_HEADERS_FIELD_NUMBER: _ClassVar[int] + OTLP_PROTOCOL_FIELD_NUMBER: _ClassVar[int] + PUSH_INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int] + LAST_PUSHED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + prometheus_enabled: bool + otlp_enabled: bool + otlp_endpoint: str + otlp_headers: str + otlp_protocol: str + push_interval_seconds: int + last_pushed_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, prometheus_enabled: bool=..., otlp_enabled: bool=..., otlp_endpoint: _Optional[str]=..., otlp_headers: _Optional[str]=..., otlp_protocol: _Optional[str]=..., push_interval_seconds: _Optional[int]=..., last_pushed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ConfigureMetricsExportRequest(_message.Message): + __slots__ = ('prometheus_enabled', 'otlp_enabled', 'otlp_endpoint', 'otlp_headers', 'otlp_protocol', 'push_interval_seconds') + PROMETHEUS_ENABLED_FIELD_NUMBER: _ClassVar[int] + OTLP_ENABLED_FIELD_NUMBER: _ClassVar[int] + OTLP_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + OTLP_HEADERS_FIELD_NUMBER: _ClassVar[int] + OTLP_PROTOCOL_FIELD_NUMBER: _ClassVar[int] + PUSH_INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int] + prometheus_enabled: bool + otlp_enabled: bool + otlp_endpoint: str + otlp_headers: str + otlp_protocol: str + push_interval_seconds: int + + def __init__(self, prometheus_enabled: bool=..., otlp_enabled: bool=..., otlp_endpoint: _Optional[str]=..., otlp_headers: _Optional[str]=..., otlp_protocol: _Optional[str]=..., push_interval_seconds: _Optional[int]=...) -> None: + ... + +class ConfigureMetricsExportResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: MetricsExportConfig + + def __init__(self, config: _Optional[_Union[MetricsExportConfig, _Mapping]]=...) -> None: + ... + +class GetMetricsExportConfigRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMetricsExportConfigResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: MetricsExportConfig + + def __init__(self, config: _Optional[_Union[MetricsExportConfig, _Mapping]]=...) -> None: + ... + +class DeleteMetricsExportConfigRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class DeleteMetricsExportConfigResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class TestMetricsExportConnectionRequest(_message.Message): + __slots__ = ('otlp_endpoint', 'otlp_headers', 'otlp_protocol') + OTLP_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + OTLP_HEADERS_FIELD_NUMBER: _ClassVar[int] + OTLP_PROTOCOL_FIELD_NUMBER: _ClassVar[int] + otlp_endpoint: str + otlp_headers: str + otlp_protocol: str + + def __init__(self, otlp_endpoint: _Optional[str]=..., otlp_headers: _Optional[str]=..., otlp_protocol: _Optional[str]=...) -> None: + ... + +class TestMetricsExportConnectionResponse(_message.Message): + __slots__ = ('success', 'error_message') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + success: bool + error_message: str + + def __init__(self, success: bool=..., error_message: _Optional[str]=...) -> None: + ... + +class TriggerMetricsPushRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class TriggerMetricsPushResponse(_message.Message): + __slots__ = ('triggered',) + TRIGGERED_FIELD_NUMBER: _ClassVar[int] + triggered: bool + + def __init__(self, triggered: bool=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/microsoft365_oauth_connect.py b/src/textql_sdk/_connect/public/microsoft365_oauth_connect.py new file mode 100644 index 0000000..2ffedfb --- /dev/null +++ b/src/textql_sdk/_connect/public/microsoft365_oauth_connect.py @@ -0,0 +1,51 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import microsoft365_oauth_pb2 as public_dot_microsoft365__oauth__pb2 + +class Microsoft365OAuthService(Protocol): + + async def exchange_microsoft365_code(self, request: public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeRequest, ctx: RequestContext) -> public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class Microsoft365OAuthServiceASGIApplication(ConnectASGIApplication[Microsoft365OAuthService]): + + def __init__(self, service: Microsoft365OAuthService | AsyncGenerator[Microsoft365OAuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.microsoft365_oauth.Microsoft365OAuthService/ExchangeMicrosoft365Code': Endpoint.unary(method=MethodInfo(name='ExchangeMicrosoft365Code', service_name='textql.rpc.public.microsoft365_oauth.Microsoft365OAuthService', input=public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeRequest, output=public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_microsoft365_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.microsoft365_oauth.Microsoft365OAuthService' + +class Microsoft365OAuthServiceClient(ConnectClient): + + async def exchange_microsoft365_code(self, request: public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeMicrosoft365Code', service_name='textql.rpc.public.microsoft365_oauth.Microsoft365OAuthService', input=public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeRequest, output=public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class Microsoft365OAuthServiceSync(Protocol): + + def exchange_microsoft365_code(self, request: public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeRequest, ctx: RequestContext) -> public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class Microsoft365OAuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: Microsoft365OAuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.microsoft365_oauth.Microsoft365OAuthService/ExchangeMicrosoft365Code': EndpointSync.unary(method=MethodInfo(name='ExchangeMicrosoft365Code', service_name='textql.rpc.public.microsoft365_oauth.Microsoft365OAuthService', input=public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeRequest, output=public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_microsoft365_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.microsoft365_oauth.Microsoft365OAuthService' + +class Microsoft365OAuthServiceClientSync(ConnectClientSync): + + def exchange_microsoft365_code(self, request: public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeMicrosoft365Code', service_name='textql.rpc.public.microsoft365_oauth.Microsoft365OAuthService', input=public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeRequest, output=public_dot_microsoft365__oauth__pb2.ExchangeMicrosoft365CodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/microsoft365_oauth_pb2.py b/src/textql_sdk/_connect/public/microsoft365_oauth_pb2.py new file mode 100644 index 0000000..a38a165 --- /dev/null +++ b/src/textql_sdk/_connect/public/microsoft365_oauth_pb2.py @@ -0,0 +1,31 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/microsoft365_oauth.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fpublic/microsoft365_oauth.proto\x12$textql.rpc.public.microsoft365_oauth\x1a\x1cgoogle/protobuf/struct.proto\x1a\x14public/options.proto"\xb6\x01\n\x1fExchangeMicrosoft365CodeRequest\x12\x18\n\x04code\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\x12\x1b\n\ttenant_id\x18\x03 \x01(\tR\x08tenantId\x12\x1b\n\tclient_id\x18\x04 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret"\xbd\x02\n ExchangeMicrosoft365CodeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\'\n\x0caccess_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1d\n\nexpires_in\x18\x04 \x01(\x03R\texpiresIn\x12\x14\n\x05scope\x18\x05 \x01(\tR\x05scope\x12\x1d\n\ntoken_type\x18\x06 \x01(\tR\ttokenType\x12!\n\x0ctoken_expiry\x18\x07 \x01(\tR\x0btokenExpiry\x124\n\tuser_info\x18\x08 \x01(\x0b2\x17.google.protobuf.StructR\x08userInfo2\xc6\x01\n\x18Microsoft365OAuthService\x12\xa9\x01\n\x18ExchangeMicrosoft365Code\x12E.textql.rpc.public.microsoft365_oauth.ExchangeMicrosoft365CodeRequest\x1aF.textql.rpc.public.microsoft365_oauth.ExchangeMicrosoft365CodeResponseBGZ9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.microsoft365_oauth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNAL' + _globals['_EXCHANGEMICROSOFT365CODEREQUEST'].fields_by_name['code']._loaded_options = None + _globals['_EXCHANGEMICROSOFT365CODEREQUEST'].fields_by_name['code']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEMICROSOFT365CODEREQUEST'].fields_by_name['client_secret']._loaded_options = None + _globals['_EXCHANGEMICROSOFT365CODEREQUEST'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEMICROSOFT365CODERESPONSE'].fields_by_name['access_token']._loaded_options = None + _globals['_EXCHANGEMICROSOFT365CODERESPONSE'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEMICROSOFT365CODERESPONSE'].fields_by_name['refresh_token']._loaded_options = None + _globals['_EXCHANGEMICROSOFT365CODERESPONSE'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGEMICROSOFT365CODEREQUEST']._serialized_start = 126 + _globals['_EXCHANGEMICROSOFT365CODEREQUEST']._serialized_end = 308 + _globals['_EXCHANGEMICROSOFT365CODERESPONSE']._serialized_start = 311 + _globals['_EXCHANGEMICROSOFT365CODERESPONSE']._serialized_end = 628 + _globals['_MICROSOFT365OAUTHSERVICE']._serialized_start = 631 + _globals['_MICROSOFT365OAUTHSERVICE']._serialized_end = 829 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/microsoft365_oauth_pb2.pyi b/src/textql_sdk/_connect/public/microsoft365_oauth_pb2.pyi new file mode 100644 index 0000000..a618282 --- /dev/null +++ b/src/textql_sdk/_connect/public/microsoft365_oauth_pb2.pyi @@ -0,0 +1,45 @@ +from google.protobuf import struct_pb2 as _struct_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ExchangeMicrosoft365CodeRequest(_message.Message): + __slots__ = ('code', 'state', 'tenant_id', 'client_id', 'client_secret') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + tenant_id: str + client_id: str + client_secret: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=..., tenant_id: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=...) -> None: + ... + +class ExchangeMicrosoft365CodeResponse(_message.Message): + __slots__ = ('success', 'access_token', 'refresh_token', 'expires_in', 'scope', 'token_type', 'token_expiry', 'user_info') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + TOKEN_TYPE_FIELD_NUMBER: _ClassVar[int] + TOKEN_EXPIRY_FIELD_NUMBER: _ClassVar[int] + USER_INFO_FIELD_NUMBER: _ClassVar[int] + success: bool + access_token: str + refresh_token: str + expires_in: int + scope: str + token_type: str + token_expiry: str + user_info: _struct_pb2.Struct + + def __init__(self, success: bool=..., access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., expires_in: _Optional[int]=..., scope: _Optional[str]=..., token_type: _Optional[str]=..., token_expiry: _Optional[str]=..., user_info: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/notifications_connect.py b/src/textql_sdk/_connect/public/notifications_connect.py new file mode 100644 index 0000000..fc5849c --- /dev/null +++ b/src/textql_sdk/_connect/public/notifications_connect.py @@ -0,0 +1,188 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import notifications_pb2 as public_dot_notifications__pb2 + +class NotificationService(Protocol): + + async def get_notifications(self, request: public_dot_notifications__pb2.GetNotificationsRequest, ctx: RequestContext) -> public_dot_notifications__pb2.GetNotificationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def mark_notification_read(self, request: public_dot_notifications__pb2.MarkNotificationReadRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def mark_all_notifications_read(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_notifications(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> AsyncIterator[public_dot_notifications__pb2.NotificationEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_notification_rules(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_notifications__pb2.GetNotificationRulesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upsert_notification_rule(self, request: public_dot_notifications__pb2.UpsertNotificationRuleRequest, ctx: RequestContext) -> public_dot_notifications__pb2.NotificationRule: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class NotificationServiceASGIApplication(ConnectASGIApplication[NotificationService]): + + def __init__(self, service: NotificationService | AsyncGenerator[NotificationService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.notifications.NotificationService/GetNotifications': Endpoint.unary(method=MethodInfo(name='GetNotifications', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.GetNotificationsRequest, output=public_dot_notifications__pb2.GetNotificationsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_notifications), '/textql.rpc.public.notifications.NotificationService/MarkNotificationRead': Endpoint.unary(method=MethodInfo(name='MarkNotificationRead', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.MarkNotificationReadRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.mark_notification_read), '/textql.rpc.public.notifications.NotificationService/MarkAllNotificationsRead': Endpoint.unary(method=MethodInfo(name='MarkAllNotificationsRead', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.mark_all_notifications_read), '/textql.rpc.public.notifications.NotificationService/StreamNotifications': Endpoint.server_stream(method=MethodInfo(name='StreamNotifications', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_notifications__pb2.NotificationEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.stream_notifications), '/textql.rpc.public.notifications.NotificationService/GetNotificationRules': Endpoint.unary(method=MethodInfo(name='GetNotificationRules', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_notifications__pb2.GetNotificationRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_notification_rules), '/textql.rpc.public.notifications.NotificationService/UpsertNotificationRule': Endpoint.unary(method=MethodInfo(name='UpsertNotificationRule', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.UpsertNotificationRuleRequest, output=public_dot_notifications__pb2.NotificationRule, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upsert_notification_rule)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.notifications.NotificationService' + +class NotificationServiceClient(ConnectClient): + + async def get_notifications(self, request: public_dot_notifications__pb2.GetNotificationsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_notifications__pb2.GetNotificationsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetNotifications', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.GetNotificationsRequest, output=public_dot_notifications__pb2.GetNotificationsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def mark_notification_read(self, request: public_dot_notifications__pb2.MarkNotificationReadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='MarkNotificationRead', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.MarkNotificationReadRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def mark_all_notifications_read(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='MarkAllNotificationsRead', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def stream_notifications(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> AsyncIterator[public_dot_notifications__pb2.NotificationEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamNotifications', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_notifications__pb2.NotificationEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_notification_rules(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_notifications__pb2.GetNotificationRulesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetNotificationRules', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_notifications__pb2.GetNotificationRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def upsert_notification_rule(self, request: public_dot_notifications__pb2.UpsertNotificationRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_notifications__pb2.NotificationRule: + return await self.execute_unary(request=request, method=MethodInfo(name='UpsertNotificationRule', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.UpsertNotificationRuleRequest, output=public_dot_notifications__pb2.NotificationRule, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SystemAlertService(Protocol): + + async def create_broadcast(self, request: public_dot_notifications__pb2.CreateBroadcastRequest, ctx: RequestContext) -> public_dot_notifications__pb2.Broadcast: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_broadcasts(self, request: public_dot_notifications__pb2.ListBroadcastsRequest, ctx: RequestContext) -> public_dot_notifications__pb2.ListBroadcastsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def cancel_broadcast(self, request: public_dot_notifications__pb2.CancelBroadcastRequest, ctx: RequestContext) -> public_dot_notifications__pb2.Broadcast: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_broadcast(self, request: public_dot_notifications__pb2.UpdateBroadcastRequest, ctx: RequestContext) -> public_dot_notifications__pb2.Broadcast: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SystemAlertServiceASGIApplication(ConnectASGIApplication[SystemAlertService]): + + def __init__(self, service: SystemAlertService | AsyncGenerator[SystemAlertService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.notifications.SystemAlertService/CreateBroadcast': Endpoint.unary(method=MethodInfo(name='CreateBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.CreateBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_broadcast), '/textql.rpc.public.notifications.SystemAlertService/ListBroadcasts': Endpoint.unary(method=MethodInfo(name='ListBroadcasts', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.ListBroadcastsRequest, output=public_dot_notifications__pb2.ListBroadcastsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_broadcasts), '/textql.rpc.public.notifications.SystemAlertService/CancelBroadcast': Endpoint.unary(method=MethodInfo(name='CancelBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.CancelBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.cancel_broadcast), '/textql.rpc.public.notifications.SystemAlertService/UpdateBroadcast': Endpoint.unary(method=MethodInfo(name='UpdateBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.UpdateBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_broadcast)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.notifications.SystemAlertService' + +class SystemAlertServiceClient(ConnectClient): + + async def create_broadcast(self, request: public_dot_notifications__pb2.CreateBroadcastRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_notifications__pb2.Broadcast: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.CreateBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_broadcasts(self, request: public_dot_notifications__pb2.ListBroadcastsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_notifications__pb2.ListBroadcastsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListBroadcasts', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.ListBroadcastsRequest, output=public_dot_notifications__pb2.ListBroadcastsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def cancel_broadcast(self, request: public_dot_notifications__pb2.CancelBroadcastRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_notifications__pb2.Broadcast: + return await self.execute_unary(request=request, method=MethodInfo(name='CancelBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.CancelBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_broadcast(self, request: public_dot_notifications__pb2.UpdateBroadcastRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_notifications__pb2.Broadcast: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.UpdateBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class NotificationServiceSync(Protocol): + + def get_notifications(self, request: public_dot_notifications__pb2.GetNotificationsRequest, ctx: RequestContext) -> public_dot_notifications__pb2.GetNotificationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def mark_notification_read(self, request: public_dot_notifications__pb2.MarkNotificationReadRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def mark_all_notifications_read(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_notifications(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> Iterator[public_dot_notifications__pb2.NotificationEvent]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_notification_rules(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_notifications__pb2.GetNotificationRulesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upsert_notification_rule(self, request: public_dot_notifications__pb2.UpsertNotificationRuleRequest, ctx: RequestContext) -> public_dot_notifications__pb2.NotificationRule: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class NotificationServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: NotificationServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.notifications.NotificationService/GetNotifications': EndpointSync.unary(method=MethodInfo(name='GetNotifications', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.GetNotificationsRequest, output=public_dot_notifications__pb2.GetNotificationsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_notifications), '/textql.rpc.public.notifications.NotificationService/MarkNotificationRead': EndpointSync.unary(method=MethodInfo(name='MarkNotificationRead', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.MarkNotificationReadRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.mark_notification_read), '/textql.rpc.public.notifications.NotificationService/MarkAllNotificationsRead': EndpointSync.unary(method=MethodInfo(name='MarkAllNotificationsRead', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.mark_all_notifications_read), '/textql.rpc.public.notifications.NotificationService/StreamNotifications': EndpointSync.server_stream(method=MethodInfo(name='StreamNotifications', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_notifications__pb2.NotificationEvent, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.stream_notifications), '/textql.rpc.public.notifications.NotificationService/GetNotificationRules': EndpointSync.unary(method=MethodInfo(name='GetNotificationRules', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_notifications__pb2.GetNotificationRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_notification_rules), '/textql.rpc.public.notifications.NotificationService/UpsertNotificationRule': EndpointSync.unary(method=MethodInfo(name='UpsertNotificationRule', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.UpsertNotificationRuleRequest, output=public_dot_notifications__pb2.NotificationRule, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upsert_notification_rule)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.notifications.NotificationService' + +class NotificationServiceClientSync(ConnectClientSync): + + def get_notifications(self, request: public_dot_notifications__pb2.GetNotificationsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_notifications__pb2.GetNotificationsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetNotifications', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.GetNotificationsRequest, output=public_dot_notifications__pb2.GetNotificationsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def mark_notification_read(self, request: public_dot_notifications__pb2.MarkNotificationReadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='MarkNotificationRead', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.MarkNotificationReadRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def mark_all_notifications_read(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='MarkAllNotificationsRead', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def stream_notifications(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> Iterator[public_dot_notifications__pb2.NotificationEvent]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamNotifications', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_notifications__pb2.NotificationEvent, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_notification_rules(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_notifications__pb2.GetNotificationRulesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetNotificationRules', service_name='textql.rpc.public.notifications.NotificationService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_notifications__pb2.GetNotificationRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def upsert_notification_rule(self, request: public_dot_notifications__pb2.UpsertNotificationRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_notifications__pb2.NotificationRule: + return self.execute_unary(request=request, method=MethodInfo(name='UpsertNotificationRule', service_name='textql.rpc.public.notifications.NotificationService', input=public_dot_notifications__pb2.UpsertNotificationRuleRequest, output=public_dot_notifications__pb2.NotificationRule, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SystemAlertServiceSync(Protocol): + + def create_broadcast(self, request: public_dot_notifications__pb2.CreateBroadcastRequest, ctx: RequestContext) -> public_dot_notifications__pb2.Broadcast: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_broadcasts(self, request: public_dot_notifications__pb2.ListBroadcastsRequest, ctx: RequestContext) -> public_dot_notifications__pb2.ListBroadcastsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def cancel_broadcast(self, request: public_dot_notifications__pb2.CancelBroadcastRequest, ctx: RequestContext) -> public_dot_notifications__pb2.Broadcast: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_broadcast(self, request: public_dot_notifications__pb2.UpdateBroadcastRequest, ctx: RequestContext) -> public_dot_notifications__pb2.Broadcast: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SystemAlertServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SystemAlertServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.notifications.SystemAlertService/CreateBroadcast': EndpointSync.unary(method=MethodInfo(name='CreateBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.CreateBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_broadcast), '/textql.rpc.public.notifications.SystemAlertService/ListBroadcasts': EndpointSync.unary(method=MethodInfo(name='ListBroadcasts', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.ListBroadcastsRequest, output=public_dot_notifications__pb2.ListBroadcastsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_broadcasts), '/textql.rpc.public.notifications.SystemAlertService/CancelBroadcast': EndpointSync.unary(method=MethodInfo(name='CancelBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.CancelBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.cancel_broadcast), '/textql.rpc.public.notifications.SystemAlertService/UpdateBroadcast': EndpointSync.unary(method=MethodInfo(name='UpdateBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.UpdateBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_broadcast)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.notifications.SystemAlertService' + +class SystemAlertServiceClientSync(ConnectClientSync): + + def create_broadcast(self, request: public_dot_notifications__pb2.CreateBroadcastRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_notifications__pb2.Broadcast: + return self.execute_unary(request=request, method=MethodInfo(name='CreateBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.CreateBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_broadcasts(self, request: public_dot_notifications__pb2.ListBroadcastsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_notifications__pb2.ListBroadcastsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListBroadcasts', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.ListBroadcastsRequest, output=public_dot_notifications__pb2.ListBroadcastsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def cancel_broadcast(self, request: public_dot_notifications__pb2.CancelBroadcastRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_notifications__pb2.Broadcast: + return self.execute_unary(request=request, method=MethodInfo(name='CancelBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.CancelBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_broadcast(self, request: public_dot_notifications__pb2.UpdateBroadcastRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_notifications__pb2.Broadcast: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateBroadcast', service_name='textql.rpc.public.notifications.SystemAlertService', input=public_dot_notifications__pb2.UpdateBroadcastRequest, output=public_dot_notifications__pb2.Broadcast, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/notifications_pb2.py b/src/textql_sdk/_connect/public/notifications_pb2.py new file mode 100644 index 0000000..ae137bf --- /dev/null +++ b/src/textql_sdk/_connect/public/notifications_pb2.py @@ -0,0 +1,73 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/notifications.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1apublic/notifications.proto\x12\x1ftextql.rpc.public.notifications\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\xa1\x02\n\x0cNotification\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12^\n\x11notification_type\x18\x02 \x01(\x0e21.textql.rpc.public.notifications.NotificationTypeR\x10notificationType\x121\n\x07context\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x07context\x129\n\ncreated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x123\n\x07read_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x06readAt"\x89\x01\n\x11NotificationEvent\x12Q\n\x0cnotification\x18\x01 \x01(\x0b2-.textql.rpc.public.notifications.NotificationR\x0cnotification\x12!\n\x0cunread_count\x18\x02 \x01(\x05R\x0bunreadCount"m\n\x17GetNotificationsRequest\x12\x1f\n\x0bunread_only\x18\x01 \x01(\x08R\nunreadOnly\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x1b\n\tbefore_id\x18\x03 \x01(\tR\x08beforeId"\x92\x01\n\x18GetNotificationsResponse\x12S\n\rnotifications\x18\x01 \x03(\x0b2-.textql.rpc.public.notifications.NotificationR\rnotifications\x12!\n\x0cunread_count\x18\x02 \x01(\x05R\x0bunreadCount"F\n\x1bMarkNotificationReadRequest\x12\'\n\x0fnotification_id\x18\x01 \x01(\tR\x0enotificationId"\xdc\x01\n\x10NotificationRule\x12^\n\x11notification_type\x18\x01 \x01(\x0e21.textql.rpc.public.notifications.NotificationTypeR\x10notificationType\x12N\n\x07channel\x18\x02 \x01(\x0e24.textql.rpc.public.notifications.NotificationChannelR\x07channel\x12\x18\n\x07enabled\x18\x03 \x01(\x08R\x07enabled"\xb6\x01\n\x1cGetNotificationRulesResponse\x12G\n\x05rules\x18\x01 \x03(\x0b21.textql.rpc.public.notifications.NotificationRuleR\x05rules\x12M\n\x08defaults\x18\x02 \x03(\x0b21.textql.rpc.public.notifications.NotificationRuleR\x08defaults"\xe9\x01\n\x1dUpsertNotificationRuleRequest\x12^\n\x11notification_type\x18\x01 \x01(\x0e21.textql.rpc.public.notifications.NotificationTypeR\x10notificationType\x12N\n\x07channel\x18\x02 \x01(\x0e24.textql.rpc.public.notifications.NotificationChannelR\x07channel\x12\x18\n\x07enabled\x18\x03 \x01(\x08R\x07enabled"f\n\rAlertAudience\x12\x1d\n\nmember_ids\x18\x01 \x03(\tR\tmemberIds\x12\x1d\n\nrole_names\x18\x02 \x03(\tR\troleNames\x12\x17\n\x07all_org\x18\x03 \x01(\x08R\x06allOrg"\xa9\x06\n\tBroadcast\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05title\x18\x02 \x01(\tR\x05title\x12\x12\n\x04body\x18\x03 \x01(\tR\x04body\x12\x1a\n\x08category\x18\x04 \x01(\tR\x08category\x12\x1b\n\tdeep_link\x18\x05 \x01(\tR\x08deepLink\x12!\n\x0caction_label\x18\x06 \x01(\tR\x0bactionLabel\x12\x1d\n\naction_url\x18\x07 \x01(\tR\tactionUrl\x12J\n\x08audience\x18\x08 \x01(\x0b2..textql.rpc.public.notifications.AlertAudienceR\x08audience\x12T\n\x08metadata\x18\t \x03(\x0b28.textql.rpc.public.notifications.Broadcast.MetadataEntryR\x08metadata\x12$\n\x0etarget_org_ids\x18\n \x03(\tR\x0ctargetOrgIds\x12\x19\n\x08all_orgs\x18\x0b \x01(\x08R\x07allOrgs\x12=\n\x0cscheduled_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12H\n\x06status\x18\r \x01(\x0e20.textql.rpc.public.notifications.BroadcastStatusR\x06status\x12\x1d\n\ncreated_by\x18\x0e \x01(\tR\tcreatedBy\x129\n\ncreated_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12?\n\rdispatched_at\x18\x10 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0cdispatchedAt\x12#\n\rorgs_targeted\x18\x11 \x01(\x05R\x0corgsTargeted\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xa9\x04\n\x16CreateBroadcastRequest\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12\x12\n\x04body\x18\x02 \x01(\tR\x04body\x12\x1a\n\x08category\x18\x03 \x01(\tR\x08category\x12\x1b\n\tdeep_link\x18\x04 \x01(\tR\x08deepLink\x12!\n\x0caction_label\x18\x05 \x01(\tR\x0bactionLabel\x12\x1d\n\naction_url\x18\x06 \x01(\tR\tactionUrl\x12J\n\x08audience\x18\x07 \x01(\x0b2..textql.rpc.public.notifications.AlertAudienceR\x08audience\x12a\n\x08metadata\x18\x08 \x03(\x0b2E.textql.rpc.public.notifications.CreateBroadcastRequest.MetadataEntryR\x08metadata\x12$\n\x0etarget_org_ids\x18\n \x03(\tR\x0ctargetOrgIds\x12\x19\n\x08all_orgs\x18\x0b \x01(\x08R\x07allOrgs\x12=\n\x0cscheduled_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bscheduledAt\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\x98\x01\n\x15ListBroadcastsRequest\x12\x14\n\x05limit\x18\x01 \x01(\x05R\x05limit\x12\x1b\n\tbefore_id\x18\x02 \x01(\tR\x08beforeId\x12L\n\x08statuses\x18\x03 \x03(\x0e20.textql.rpc.public.notifications.BroadcastStatusR\x08statuses"d\n\x16ListBroadcastsResponse\x12J\n\nbroadcasts\x18\x01 \x03(\x0b2*.textql.rpc.public.notifications.BroadcastR\nbroadcasts";\n\x16CancelBroadcastRequest\x12!\n\x0cbroadcast_id\x18\x01 \x01(\tR\x0bbroadcastId"\xd7\x03\n\x16UpdateBroadcastRequest\x12!\n\x0cbroadcast_id\x18\x01 \x01(\tR\x0bbroadcastId\x12\x19\n\x05title\x18\x02 \x01(\tH\x00R\x05title\x88\x01\x01\x12\x17\n\x04body\x18\x03 \x01(\tH\x01R\x04body\x88\x01\x01\x12\x1f\n\x08category\x18\x04 \x01(\tH\x02R\x08category\x88\x01\x01\x12 \n\tdeep_link\x18\x05 \x01(\tH\x03R\x08deepLink\x88\x01\x01\x12&\n\x0caction_label\x18\x06 \x01(\tH\x04R\x0bactionLabel\x88\x01\x01\x12"\n\naction_url\x18\x07 \x01(\tH\x05R\tactionUrl\x88\x01\x01\x12J\n\x08audience\x18\x08 \x01(\x0b2..textql.rpc.public.notifications.AlertAudienceR\x08audience\x12=\n\x0cscheduled_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bscheduledAtB\x08\n\x06_titleB\x07\n\x05_bodyB\x0b\n\t_categoryB\x0c\n\n_deep_linkB\x0f\n\r_action_labelB\r\n\x0b_action_url*\x81\x06\n\x10NotificationType\x12!\n\x1dNOTIFICATION_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aNOTIFICATION_TYPE_FEED_TAG\x10\x01\x12\x1f\n\x1bNOTIFICATION_TYPE_FEED_POST\x10\x02\x12"\n\x1eNOTIFICATION_TYPE_FEED_COMMENT\x10\x03\x12)\n%NOTIFICATION_TYPE_LIBRARY_SYNC_FAILED\x10\n\x12(\n$NOTIFICATION_TYPE_LIBRARY_PATCH_OPEN\x10\x0b\x12,\n(NOTIFICATION_TYPE_LIBRARY_PATCH_APPROVED\x10\x0c\x12*\n&NOTIFICATION_TYPE_LIBRARY_PATCH_DENIED\x10\r\x12(\n$NOTIFICATION_TYPE_CONFIG_SYNC_FAILED\x10\x0e\x12(\n$NOTIFICATION_TYPE_CODEOWNER_ASSIGNED\x10\x0f\x12\'\n#NOTIFICATION_TYPE_CODEOWNER_REMOVED\x10\x10\x12,\n(NOTIFICATION_TYPE_LIBRARY_PATCH_REVERTED\x10\x11\x12!\n\x1dNOTIFICATION_TYPE_SHARE_GRANT\x10\x14\x12$\n NOTIFICATION_TYPE_REQUEST_ACCESS\x10\x15\x12-\n)NOTIFICATION_TYPE_REQUEST_ACCESS_APPROVED\x10\x16\x12+\n\'NOTIFICATION_TYPE_REQUEST_ACCESS_DENIED\x10\x17\x12"\n\x1eNOTIFICATION_TYPE_SYSTEM_ALERT\x10\x1e\x12$\n NOTIFICATION_TYPE_PLAYBOOK_RECAP\x10("\x04\x08\x04\x10\t"\x04\x08\x12\x10\x13"\x04\x08\x18\x10\x1d"\x04\x08\x1f\x10\'"\x04\x08)\x101*\xb9\x01\n\x13NotificationChannel\x12$\n NOTIFICATION_CHANNEL_UNSPECIFIED\x10\x00\x12\x1c\n\x18NOTIFICATION_CHANNEL_APP\x10\x01\x12\x1e\n\x1aNOTIFICATION_CHANNEL_SLACK\x10\x02\x12\x1e\n\x1aNOTIFICATION_CHANNEL_EMAIL\x10\x03\x12\x1e\n\x1aNOTIFICATION_CHANNEL_TEAMS\x10\x04*\x8e\x01\n\x0fBroadcastStatus\x12 \n\x1cBROADCAST_STATUS_UNSPECIFIED\x10\x00\x12\x1e\n\x1aBROADCAST_STATUS_SCHEDULED\x10\x01\x12\x19\n\x15BROADCAST_STATUS_SENT\x10\x02\x12\x1e\n\x1aBROADCAST_STATUS_CANCELLED\x10\x032\xc5\x05\n\x13NotificationService\x12\x8c\x01\n\x10GetNotifications\x128.textql.rpc.public.notifications.GetNotificationsRequest\x1a9.textql.rpc.public.notifications.GetNotificationsResponse"\x03\x90\x02\x01\x12l\n\x14MarkNotificationRead\x12<.textql.rpc.public.notifications.MarkNotificationReadRequest\x1a\x16.google.protobuf.Empty\x12J\n\x18MarkAllNotificationsRead\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\x12c\n\x13StreamNotifications\x12\x16.google.protobuf.Empty\x1a2.textql.rpc.public.notifications.NotificationEvent0\x01\x12r\n\x14GetNotificationRules\x12\x16.google.protobuf.Empty\x1a=.textql.rpc.public.notifications.GetNotificationRulesResponse"\x03\x90\x02\x01\x12\x8b\x01\n\x16UpsertNotificationRule\x12>.textql.rpc.public.notifications.UpsertNotificationRuleRequest\x1a1.textql.rpc.public.notifications.NotificationRule2\x85\x04\n\x12SystemAlertService\x12v\n\x0fCreateBroadcast\x127.textql.rpc.public.notifications.CreateBroadcastRequest\x1a*.textql.rpc.public.notifications.Broadcast\x12\x86\x01\n\x0eListBroadcasts\x126.textql.rpc.public.notifications.ListBroadcastsRequest\x1a7.textql.rpc.public.notifications.ListBroadcastsResponse"\x03\x90\x02\x01\x12v\n\x0fCancelBroadcast\x127.textql.rpc.public.notifications.CancelBroadcastRequest\x1a*.textql.rpc.public.notifications.Broadcast\x12v\n\x0fUpdateBroadcast\x127.textql.rpc.public.notifications.UpdateBroadcastRequest\x1a*.textql.rpc.public.notifications.BroadcastB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.notifications_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_BROADCAST_METADATAENTRY']._loaded_options = None + _globals['_BROADCAST_METADATAENTRY']._serialized_options = b'8\x01' + _globals['_CREATEBROADCASTREQUEST_METADATAENTRY']._loaded_options = None + _globals['_CREATEBROADCASTREQUEST_METADATAENTRY']._serialized_options = b'8\x01' + _globals['_NOTIFICATIONSERVICE'].methods_by_name['GetNotifications']._loaded_options = None + _globals['_NOTIFICATIONSERVICE'].methods_by_name['GetNotifications']._serialized_options = b'\x90\x02\x01' + _globals['_NOTIFICATIONSERVICE'].methods_by_name['GetNotificationRules']._loaded_options = None + _globals['_NOTIFICATIONSERVICE'].methods_by_name['GetNotificationRules']._serialized_options = b'\x90\x02\x01' + _globals['_SYSTEMALERTSERVICE'].methods_by_name['ListBroadcasts']._loaded_options = None + _globals['_SYSTEMALERTSERVICE'].methods_by_name['ListBroadcasts']._serialized_options = b'\x90\x02\x01' + _globals['_NOTIFICATIONTYPE']._serialized_start = 3850 + _globals['_NOTIFICATIONTYPE']._serialized_end = 4619 + _globals['_NOTIFICATIONCHANNEL']._serialized_start = 4622 + _globals['_NOTIFICATIONCHANNEL']._serialized_end = 4807 + _globals['_BROADCASTSTATUS']._serialized_start = 4810 + _globals['_BROADCASTSTATUS']._serialized_end = 4952 + _globals['_NOTIFICATION']._serialized_start = 178 + _globals['_NOTIFICATION']._serialized_end = 467 + _globals['_NOTIFICATIONEVENT']._serialized_start = 470 + _globals['_NOTIFICATIONEVENT']._serialized_end = 607 + _globals['_GETNOTIFICATIONSREQUEST']._serialized_start = 609 + _globals['_GETNOTIFICATIONSREQUEST']._serialized_end = 718 + _globals['_GETNOTIFICATIONSRESPONSE']._serialized_start = 721 + _globals['_GETNOTIFICATIONSRESPONSE']._serialized_end = 867 + _globals['_MARKNOTIFICATIONREADREQUEST']._serialized_start = 869 + _globals['_MARKNOTIFICATIONREADREQUEST']._serialized_end = 939 + _globals['_NOTIFICATIONRULE']._serialized_start = 942 + _globals['_NOTIFICATIONRULE']._serialized_end = 1162 + _globals['_GETNOTIFICATIONRULESRESPONSE']._serialized_start = 1165 + _globals['_GETNOTIFICATIONRULESRESPONSE']._serialized_end = 1347 + _globals['_UPSERTNOTIFICATIONRULEREQUEST']._serialized_start = 1350 + _globals['_UPSERTNOTIFICATIONRULEREQUEST']._serialized_end = 1583 + _globals['_ALERTAUDIENCE']._serialized_start = 1585 + _globals['_ALERTAUDIENCE']._serialized_end = 1687 + _globals['_BROADCAST']._serialized_start = 1690 + _globals['_BROADCAST']._serialized_end = 2499 + _globals['_BROADCAST_METADATAENTRY']._serialized_start = 2440 + _globals['_BROADCAST_METADATAENTRY']._serialized_end = 2499 + _globals['_CREATEBROADCASTREQUEST']._serialized_start = 2502 + _globals['_CREATEBROADCASTREQUEST']._serialized_end = 3055 + _globals['_CREATEBROADCASTREQUEST_METADATAENTRY']._serialized_start = 2440 + _globals['_CREATEBROADCASTREQUEST_METADATAENTRY']._serialized_end = 2499 + _globals['_LISTBROADCASTSREQUEST']._serialized_start = 3058 + _globals['_LISTBROADCASTSREQUEST']._serialized_end = 3210 + _globals['_LISTBROADCASTSRESPONSE']._serialized_start = 3212 + _globals['_LISTBROADCASTSRESPONSE']._serialized_end = 3312 + _globals['_CANCELBROADCASTREQUEST']._serialized_start = 3314 + _globals['_CANCELBROADCASTREQUEST']._serialized_end = 3373 + _globals['_UPDATEBROADCASTREQUEST']._serialized_start = 3376 + _globals['_UPDATEBROADCASTREQUEST']._serialized_end = 3847 + _globals['_NOTIFICATIONSERVICE']._serialized_start = 4955 + _globals['_NOTIFICATIONSERVICE']._serialized_end = 5664 + _globals['_SYSTEMALERTSERVICE']._serialized_start = 5667 + _globals['_SYSTEMALERTSERVICE']._serialized_end = 6184 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/notifications_pb2.pyi b/src/textql_sdk/_connect/public/notifications_pb2.pyi new file mode 100644 index 0000000..e8ef976 --- /dev/null +++ b/src/textql_sdk/_connect/public/notifications_pb2.pyi @@ -0,0 +1,317 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import struct_pb2 as _struct_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class NotificationType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + NOTIFICATION_TYPE_UNSPECIFIED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_FEED_TAG: _ClassVar[NotificationType] + NOTIFICATION_TYPE_FEED_POST: _ClassVar[NotificationType] + NOTIFICATION_TYPE_FEED_COMMENT: _ClassVar[NotificationType] + NOTIFICATION_TYPE_LIBRARY_SYNC_FAILED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_LIBRARY_PATCH_OPEN: _ClassVar[NotificationType] + NOTIFICATION_TYPE_LIBRARY_PATCH_APPROVED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_LIBRARY_PATCH_DENIED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_CONFIG_SYNC_FAILED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_CODEOWNER_ASSIGNED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_CODEOWNER_REMOVED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_LIBRARY_PATCH_REVERTED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_SHARE_GRANT: _ClassVar[NotificationType] + NOTIFICATION_TYPE_REQUEST_ACCESS: _ClassVar[NotificationType] + NOTIFICATION_TYPE_REQUEST_ACCESS_APPROVED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_REQUEST_ACCESS_DENIED: _ClassVar[NotificationType] + NOTIFICATION_TYPE_SYSTEM_ALERT: _ClassVar[NotificationType] + NOTIFICATION_TYPE_PLAYBOOK_RECAP: _ClassVar[NotificationType] + +class NotificationChannel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + NOTIFICATION_CHANNEL_UNSPECIFIED: _ClassVar[NotificationChannel] + NOTIFICATION_CHANNEL_APP: _ClassVar[NotificationChannel] + NOTIFICATION_CHANNEL_SLACK: _ClassVar[NotificationChannel] + NOTIFICATION_CHANNEL_EMAIL: _ClassVar[NotificationChannel] + NOTIFICATION_CHANNEL_TEAMS: _ClassVar[NotificationChannel] + +class BroadcastStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + BROADCAST_STATUS_UNSPECIFIED: _ClassVar[BroadcastStatus] + BROADCAST_STATUS_SCHEDULED: _ClassVar[BroadcastStatus] + BROADCAST_STATUS_SENT: _ClassVar[BroadcastStatus] + BROADCAST_STATUS_CANCELLED: _ClassVar[BroadcastStatus] +NOTIFICATION_TYPE_UNSPECIFIED: NotificationType +NOTIFICATION_TYPE_FEED_TAG: NotificationType +NOTIFICATION_TYPE_FEED_POST: NotificationType +NOTIFICATION_TYPE_FEED_COMMENT: NotificationType +NOTIFICATION_TYPE_LIBRARY_SYNC_FAILED: NotificationType +NOTIFICATION_TYPE_LIBRARY_PATCH_OPEN: NotificationType +NOTIFICATION_TYPE_LIBRARY_PATCH_APPROVED: NotificationType +NOTIFICATION_TYPE_LIBRARY_PATCH_DENIED: NotificationType +NOTIFICATION_TYPE_CONFIG_SYNC_FAILED: NotificationType +NOTIFICATION_TYPE_CODEOWNER_ASSIGNED: NotificationType +NOTIFICATION_TYPE_CODEOWNER_REMOVED: NotificationType +NOTIFICATION_TYPE_LIBRARY_PATCH_REVERTED: NotificationType +NOTIFICATION_TYPE_SHARE_GRANT: NotificationType +NOTIFICATION_TYPE_REQUEST_ACCESS: NotificationType +NOTIFICATION_TYPE_REQUEST_ACCESS_APPROVED: NotificationType +NOTIFICATION_TYPE_REQUEST_ACCESS_DENIED: NotificationType +NOTIFICATION_TYPE_SYSTEM_ALERT: NotificationType +NOTIFICATION_TYPE_PLAYBOOK_RECAP: NotificationType +NOTIFICATION_CHANNEL_UNSPECIFIED: NotificationChannel +NOTIFICATION_CHANNEL_APP: NotificationChannel +NOTIFICATION_CHANNEL_SLACK: NotificationChannel +NOTIFICATION_CHANNEL_EMAIL: NotificationChannel +NOTIFICATION_CHANNEL_TEAMS: NotificationChannel +BROADCAST_STATUS_UNSPECIFIED: BroadcastStatus +BROADCAST_STATUS_SCHEDULED: BroadcastStatus +BROADCAST_STATUS_SENT: BroadcastStatus +BROADCAST_STATUS_CANCELLED: BroadcastStatus + +class Notification(_message.Message): + __slots__ = ('id', 'notification_type', 'context', 'created_at', 'read_at') + ID_FIELD_NUMBER: _ClassVar[int] + NOTIFICATION_TYPE_FIELD_NUMBER: _ClassVar[int] + CONTEXT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + READ_AT_FIELD_NUMBER: _ClassVar[int] + id: str + notification_type: NotificationType + context: _struct_pb2.Struct + created_at: _timestamp_pb2.Timestamp + read_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., notification_type: _Optional[_Union[NotificationType, str]]=..., context: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., read_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class NotificationEvent(_message.Message): + __slots__ = ('notification', 'unread_count') + NOTIFICATION_FIELD_NUMBER: _ClassVar[int] + UNREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + notification: Notification + unread_count: int + + def __init__(self, notification: _Optional[_Union[Notification, _Mapping]]=..., unread_count: _Optional[int]=...) -> None: + ... + +class GetNotificationsRequest(_message.Message): + __slots__ = ('unread_only', 'limit', 'before_id') + UNREAD_ONLY_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + BEFORE_ID_FIELD_NUMBER: _ClassVar[int] + unread_only: bool + limit: int + before_id: str + + def __init__(self, unread_only: bool=..., limit: _Optional[int]=..., before_id: _Optional[str]=...) -> None: + ... + +class GetNotificationsResponse(_message.Message): + __slots__ = ('notifications', 'unread_count') + NOTIFICATIONS_FIELD_NUMBER: _ClassVar[int] + UNREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + notifications: _containers.RepeatedCompositeFieldContainer[Notification] + unread_count: int + + def __init__(self, notifications: _Optional[_Iterable[_Union[Notification, _Mapping]]]=..., unread_count: _Optional[int]=...) -> None: + ... + +class MarkNotificationReadRequest(_message.Message): + __slots__ = ('notification_id',) + NOTIFICATION_ID_FIELD_NUMBER: _ClassVar[int] + notification_id: str + + def __init__(self, notification_id: _Optional[str]=...) -> None: + ... + +class NotificationRule(_message.Message): + __slots__ = ('notification_type', 'channel', 'enabled') + NOTIFICATION_TYPE_FIELD_NUMBER: _ClassVar[int] + CHANNEL_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + notification_type: NotificationType + channel: NotificationChannel + enabled: bool + + def __init__(self, notification_type: _Optional[_Union[NotificationType, str]]=..., channel: _Optional[_Union[NotificationChannel, str]]=..., enabled: bool=...) -> None: + ... + +class GetNotificationRulesResponse(_message.Message): + __slots__ = ('rules', 'defaults') + RULES_FIELD_NUMBER: _ClassVar[int] + DEFAULTS_FIELD_NUMBER: _ClassVar[int] + rules: _containers.RepeatedCompositeFieldContainer[NotificationRule] + defaults: _containers.RepeatedCompositeFieldContainer[NotificationRule] + + def __init__(self, rules: _Optional[_Iterable[_Union[NotificationRule, _Mapping]]]=..., defaults: _Optional[_Iterable[_Union[NotificationRule, _Mapping]]]=...) -> None: + ... + +class UpsertNotificationRuleRequest(_message.Message): + __slots__ = ('notification_type', 'channel', 'enabled') + NOTIFICATION_TYPE_FIELD_NUMBER: _ClassVar[int] + CHANNEL_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + notification_type: NotificationType + channel: NotificationChannel + enabled: bool + + def __init__(self, notification_type: _Optional[_Union[NotificationType, str]]=..., channel: _Optional[_Union[NotificationChannel, str]]=..., enabled: bool=...) -> None: + ... + +class AlertAudience(_message.Message): + __slots__ = ('member_ids', 'role_names', 'all_org') + MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + ROLE_NAMES_FIELD_NUMBER: _ClassVar[int] + ALL_ORG_FIELD_NUMBER: _ClassVar[int] + member_ids: _containers.RepeatedScalarFieldContainer[str] + role_names: _containers.RepeatedScalarFieldContainer[str] + all_org: bool + + def __init__(self, member_ids: _Optional[_Iterable[str]]=..., role_names: _Optional[_Iterable[str]]=..., all_org: bool=...) -> None: + ... + +class Broadcast(_message.Message): + __slots__ = ('id', 'title', 'body', 'category', 'deep_link', 'action_label', 'action_url', 'audience', 'metadata', 'target_org_ids', 'all_orgs', 'scheduled_at', 'status', 'created_by', 'created_at', 'dispatched_at', 'orgs_targeted') + + class MetadataEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + ID_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + DEEP_LINK_FIELD_NUMBER: _ClassVar[int] + ACTION_LABEL_FIELD_NUMBER: _ClassVar[int] + ACTION_URL_FIELD_NUMBER: _ClassVar[int] + AUDIENCE_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + TARGET_ORG_IDS_FIELD_NUMBER: _ClassVar[int] + ALL_ORGS_FIELD_NUMBER: _ClassVar[int] + SCHEDULED_AT_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + DISPATCHED_AT_FIELD_NUMBER: _ClassVar[int] + ORGS_TARGETED_FIELD_NUMBER: _ClassVar[int] + id: str + title: str + body: str + category: str + deep_link: str + action_label: str + action_url: str + audience: AlertAudience + metadata: _containers.ScalarMap[str, str] + target_org_ids: _containers.RepeatedScalarFieldContainer[str] + all_orgs: bool + scheduled_at: _timestamp_pb2.Timestamp + status: BroadcastStatus + created_by: str + created_at: _timestamp_pb2.Timestamp + dispatched_at: _timestamp_pb2.Timestamp + orgs_targeted: int + + def __init__(self, id: _Optional[str]=..., title: _Optional[str]=..., body: _Optional[str]=..., category: _Optional[str]=..., deep_link: _Optional[str]=..., action_label: _Optional[str]=..., action_url: _Optional[str]=..., audience: _Optional[_Union[AlertAudience, _Mapping]]=..., metadata: _Optional[_Mapping[str, str]]=..., target_org_ids: _Optional[_Iterable[str]]=..., all_orgs: bool=..., scheduled_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., status: _Optional[_Union[BroadcastStatus, str]]=..., created_by: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., dispatched_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., orgs_targeted: _Optional[int]=...) -> None: + ... + +class CreateBroadcastRequest(_message.Message): + __slots__ = ('title', 'body', 'category', 'deep_link', 'action_label', 'action_url', 'audience', 'metadata', 'target_org_ids', 'all_orgs', 'scheduled_at') + + class MetadataEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + TITLE_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + DEEP_LINK_FIELD_NUMBER: _ClassVar[int] + ACTION_LABEL_FIELD_NUMBER: _ClassVar[int] + ACTION_URL_FIELD_NUMBER: _ClassVar[int] + AUDIENCE_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + TARGET_ORG_IDS_FIELD_NUMBER: _ClassVar[int] + ALL_ORGS_FIELD_NUMBER: _ClassVar[int] + SCHEDULED_AT_FIELD_NUMBER: _ClassVar[int] + title: str + body: str + category: str + deep_link: str + action_label: str + action_url: str + audience: AlertAudience + metadata: _containers.ScalarMap[str, str] + target_org_ids: _containers.RepeatedScalarFieldContainer[str] + all_orgs: bool + scheduled_at: _timestamp_pb2.Timestamp + + def __init__(self, title: _Optional[str]=..., body: _Optional[str]=..., category: _Optional[str]=..., deep_link: _Optional[str]=..., action_label: _Optional[str]=..., action_url: _Optional[str]=..., audience: _Optional[_Union[AlertAudience, _Mapping]]=..., metadata: _Optional[_Mapping[str, str]]=..., target_org_ids: _Optional[_Iterable[str]]=..., all_orgs: bool=..., scheduled_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListBroadcastsRequest(_message.Message): + __slots__ = ('limit', 'before_id', 'statuses') + LIMIT_FIELD_NUMBER: _ClassVar[int] + BEFORE_ID_FIELD_NUMBER: _ClassVar[int] + STATUSES_FIELD_NUMBER: _ClassVar[int] + limit: int + before_id: str + statuses: _containers.RepeatedScalarFieldContainer[BroadcastStatus] + + def __init__(self, limit: _Optional[int]=..., before_id: _Optional[str]=..., statuses: _Optional[_Iterable[_Union[BroadcastStatus, str]]]=...) -> None: + ... + +class ListBroadcastsResponse(_message.Message): + __slots__ = ('broadcasts',) + BROADCASTS_FIELD_NUMBER: _ClassVar[int] + broadcasts: _containers.RepeatedCompositeFieldContainer[Broadcast] + + def __init__(self, broadcasts: _Optional[_Iterable[_Union[Broadcast, _Mapping]]]=...) -> None: + ... + +class CancelBroadcastRequest(_message.Message): + __slots__ = ('broadcast_id',) + BROADCAST_ID_FIELD_NUMBER: _ClassVar[int] + broadcast_id: str + + def __init__(self, broadcast_id: _Optional[str]=...) -> None: + ... + +class UpdateBroadcastRequest(_message.Message): + __slots__ = ('broadcast_id', 'title', 'body', 'category', 'deep_link', 'action_label', 'action_url', 'audience', 'scheduled_at') + BROADCAST_ID_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + DEEP_LINK_FIELD_NUMBER: _ClassVar[int] + ACTION_LABEL_FIELD_NUMBER: _ClassVar[int] + ACTION_URL_FIELD_NUMBER: _ClassVar[int] + AUDIENCE_FIELD_NUMBER: _ClassVar[int] + SCHEDULED_AT_FIELD_NUMBER: _ClassVar[int] + broadcast_id: str + title: str + body: str + category: str + deep_link: str + action_label: str + action_url: str + audience: AlertAudience + scheduled_at: _timestamp_pb2.Timestamp + + def __init__(self, broadcast_id: _Optional[str]=..., title: _Optional[str]=..., body: _Optional[str]=..., category: _Optional[str]=..., deep_link: _Optional[str]=..., action_label: _Optional[str]=..., action_url: _Optional[str]=..., audience: _Optional[_Union[AlertAudience, _Mapping]]=..., scheduled_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/observe_connect.py b/src/textql_sdk/_connect/public/observe_connect.py new file mode 100644 index 0000000..9788700 --- /dev/null +++ b/src/textql_sdk/_connect/public/observe_connect.py @@ -0,0 +1,399 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import observe_pb2 as public_dot_observe__pb2 + +class ObservabilityService(Protocol): + + async def get_thread_warnings(self, request: public_dot_observe__pb2.GetThreadWarningsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetThreadWarningsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def fix_warning(self, request: public_dot_observe__pb2.FixWarningRequest, ctx: RequestContext) -> public_dot_observe__pb2.FixWarningResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def fix_check_record(self, request: public_dot_observe__pb2.FixCheckRecordRequest, ctx: RequestContext) -> public_dot_observe__pb2.FixCheckRecordResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_check_record_fix(self, request: public_dot_observe__pb2.GetCheckRecordFixRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetCheckRecordFixResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_observability_stats(self, request: public_dot_observe__pb2.GetObservabilityStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetObservabilityStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_backfill_preview(self, request: public_dot_observe__pb2.GetBackfillPreviewRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetBackfillPreviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def backfill_thread_warnings(self, request: public_dot_observe__pb2.BackfillThreadWarningsRequest, ctx: RequestContext) -> public_dot_observe__pb2.BackfillThreadWarningsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_backfill_status(self, request: public_dot_observe__pb2.GetBackfillStatusRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetBackfillStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_billing_stats(self, request: public_dot_observe__pb2.GetBillingStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetBillingStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_active_people_stats(self, request: public_dot_observe__pb2.GetActivePeopleStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetActivePeopleStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_chat_source_stats(self, request: public_dot_observe__pb2.GetChatSourceStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetChatSourceStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_active_people_trend(self, request: public_dot_observe__pb2.GetActivePeopleTrendRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetActivePeopleTrendResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_engagement_spectrum(self, request: public_dot_observe__pb2.GetEngagementSpectrumRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetEngagementSpectrumResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_access_method_stats(self, request: public_dot_observe__pb2.GetAccessMethodStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetAccessMethodStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_member_activity(self, request: public_dot_observe__pb2.GetMemberActivityRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetMemberActivityResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_member_signal_trend(self, request: public_dot_observe__pb2.GetMemberSignalTrendRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetMemberSignalTrendResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def export_observability_csv(self, request: public_dot_observe__pb2.ExportObservabilityCsvRequest, ctx: RequestContext) -> public_dot_observe__pb2.ExportObservabilityCsvResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def refine_topic_draft(self, request: public_dot_observe__pb2.RefineTopicDraftRequest, ctx: RequestContext) -> public_dot_observe__pb2.RefineTopicDraftResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_custom_topic(self, request: public_dot_observe__pb2.CreateCustomTopicRequest, ctx: RequestContext) -> public_dot_observe__pb2.CustomTopicResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def backfill_custom_topic(self, request: public_dot_observe__pb2.BackfillCustomTopicRequest, ctx: RequestContext) -> public_dot_observe__pb2.BackfillCustomTopicResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_custom_topic(self, request: public_dot_observe__pb2.GetCustomTopicRequest, ctx: RequestContext) -> public_dot_observe__pb2.CustomTopicResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_custom_topics(self, request: public_dot_observe__pb2.ListCustomTopicsRequest, ctx: RequestContext) -> public_dot_observe__pb2.ListCustomTopicsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_custom_topic_threads(self, request: public_dot_observe__pb2.GetCustomTopicThreadsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetCustomTopicThreadsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_custom_topic_people(self, request: public_dot_observe__pb2.GetCustomTopicPeopleRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetCustomTopicPeopleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_chat_topics(self, request: public_dot_observe__pb2.GetChatTopicsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetChatTopicsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_custom_topic(self, request: public_dot_observe__pb2.UpdateCustomTopicRequest, ctx: RequestContext) -> public_dot_observe__pb2.CustomTopicResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_topic_tag_feedback(self, request: public_dot_observe__pb2.SetTopicTagFeedbackRequest, ctx: RequestContext) -> public_dot_observe__pb2.SetTopicTagFeedbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def activate_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, ctx: RequestContext) -> public_dot_observe__pb2.TopicLifecycleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def deactivate_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, ctx: RequestContext) -> public_dot_observe__pb2.TopicLifecycleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, ctx: RequestContext) -> public_dot_observe__pb2.TopicLifecycleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ObservabilityServiceASGIApplication(ConnectASGIApplication[ObservabilityService]): + + def __init__(self, service: ObservabilityService | AsyncGenerator[ObservabilityService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.observe.ObservabilityService/GetThreadWarnings': Endpoint.unary(method=MethodInfo(name='GetThreadWarnings', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetThreadWarningsRequest, output=public_dot_observe__pb2.GetThreadWarningsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_thread_warnings), '/textql.rpc.public.observe.ObservabilityService/FixWarning': Endpoint.unary(method=MethodInfo(name='FixWarning', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.FixWarningRequest, output=public_dot_observe__pb2.FixWarningResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.fix_warning), '/textql.rpc.public.observe.ObservabilityService/FixCheckRecord': Endpoint.unary(method=MethodInfo(name='FixCheckRecord', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.FixCheckRecordRequest, output=public_dot_observe__pb2.FixCheckRecordResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.fix_check_record), '/textql.rpc.public.observe.ObservabilityService/GetCheckRecordFix': Endpoint.unary(method=MethodInfo(name='GetCheckRecordFix', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCheckRecordFixRequest, output=public_dot_observe__pb2.GetCheckRecordFixResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_check_record_fix), '/textql.rpc.public.observe.ObservabilityService/GetObservabilityStats': Endpoint.unary(method=MethodInfo(name='GetObservabilityStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetObservabilityStatsRequest, output=public_dot_observe__pb2.GetObservabilityStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_observability_stats), '/textql.rpc.public.observe.ObservabilityService/GetBackfillPreview': Endpoint.unary(method=MethodInfo(name='GetBackfillPreview', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBackfillPreviewRequest, output=public_dot_observe__pb2.GetBackfillPreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_backfill_preview), '/textql.rpc.public.observe.ObservabilityService/BackfillThreadWarnings': Endpoint.unary(method=MethodInfo(name='BackfillThreadWarnings', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.BackfillThreadWarningsRequest, output=public_dot_observe__pb2.BackfillThreadWarningsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.backfill_thread_warnings), '/textql.rpc.public.observe.ObservabilityService/GetBackfillStatus': Endpoint.unary(method=MethodInfo(name='GetBackfillStatus', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBackfillStatusRequest, output=public_dot_observe__pb2.GetBackfillStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_backfill_status), '/textql.rpc.public.observe.ObservabilityService/GetBillingStats': Endpoint.unary(method=MethodInfo(name='GetBillingStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBillingStatsRequest, output=public_dot_observe__pb2.GetBillingStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_billing_stats), '/textql.rpc.public.observe.ObservabilityService/GetActivePeopleStats': Endpoint.unary(method=MethodInfo(name='GetActivePeopleStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetActivePeopleStatsRequest, output=public_dot_observe__pb2.GetActivePeopleStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_active_people_stats), '/textql.rpc.public.observe.ObservabilityService/GetChatSourceStats': Endpoint.unary(method=MethodInfo(name='GetChatSourceStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetChatSourceStatsRequest, output=public_dot_observe__pb2.GetChatSourceStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_chat_source_stats), '/textql.rpc.public.observe.ObservabilityService/GetActivePeopleTrend': Endpoint.unary(method=MethodInfo(name='GetActivePeopleTrend', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetActivePeopleTrendRequest, output=public_dot_observe__pb2.GetActivePeopleTrendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_active_people_trend), '/textql.rpc.public.observe.ObservabilityService/GetEngagementSpectrum': Endpoint.unary(method=MethodInfo(name='GetEngagementSpectrum', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetEngagementSpectrumRequest, output=public_dot_observe__pb2.GetEngagementSpectrumResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_engagement_spectrum), '/textql.rpc.public.observe.ObservabilityService/GetAccessMethodStats': Endpoint.unary(method=MethodInfo(name='GetAccessMethodStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetAccessMethodStatsRequest, output=public_dot_observe__pb2.GetAccessMethodStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_access_method_stats), '/textql.rpc.public.observe.ObservabilityService/GetMemberActivity': Endpoint.unary(method=MethodInfo(name='GetMemberActivity', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetMemberActivityRequest, output=public_dot_observe__pb2.GetMemberActivityResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_member_activity), '/textql.rpc.public.observe.ObservabilityService/GetMemberSignalTrend': Endpoint.unary(method=MethodInfo(name='GetMemberSignalTrend', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetMemberSignalTrendRequest, output=public_dot_observe__pb2.GetMemberSignalTrendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_member_signal_trend), '/textql.rpc.public.observe.ObservabilityService/ExportObservabilityCsv': Endpoint.unary(method=MethodInfo(name='ExportObservabilityCsv', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.ExportObservabilityCsvRequest, output=public_dot_observe__pb2.ExportObservabilityCsvResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.export_observability_csv), '/textql.rpc.public.observe.ObservabilityService/RefineTopicDraft': Endpoint.unary(method=MethodInfo(name='RefineTopicDraft', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.RefineTopicDraftRequest, output=public_dot_observe__pb2.RefineTopicDraftResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.refine_topic_draft), '/textql.rpc.public.observe.ObservabilityService/CreateCustomTopic': Endpoint.unary(method=MethodInfo(name='CreateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.CreateCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_custom_topic), '/textql.rpc.public.observe.ObservabilityService/BackfillCustomTopic': Endpoint.unary(method=MethodInfo(name='BackfillCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.BackfillCustomTopicRequest, output=public_dot_observe__pb2.BackfillCustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.backfill_custom_topic), '/textql.rpc.public.observe.ObservabilityService/GetCustomTopic': Endpoint.unary(method=MethodInfo(name='GetCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_custom_topic), '/textql.rpc.public.observe.ObservabilityService/ListCustomTopics': Endpoint.unary(method=MethodInfo(name='ListCustomTopics', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.ListCustomTopicsRequest, output=public_dot_observe__pb2.ListCustomTopicsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_custom_topics), '/textql.rpc.public.observe.ObservabilityService/GetCustomTopicThreads': Endpoint.unary(method=MethodInfo(name='GetCustomTopicThreads', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicThreadsRequest, output=public_dot_observe__pb2.GetCustomTopicThreadsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_custom_topic_threads), '/textql.rpc.public.observe.ObservabilityService/GetCustomTopicPeople': Endpoint.unary(method=MethodInfo(name='GetCustomTopicPeople', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicPeopleRequest, output=public_dot_observe__pb2.GetCustomTopicPeopleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_custom_topic_people), '/textql.rpc.public.observe.ObservabilityService/GetChatTopics': Endpoint.unary(method=MethodInfo(name='GetChatTopics', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetChatTopicsRequest, output=public_dot_observe__pb2.GetChatTopicsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_chat_topics), '/textql.rpc.public.observe.ObservabilityService/UpdateCustomTopic': Endpoint.unary(method=MethodInfo(name='UpdateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.UpdateCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_custom_topic), '/textql.rpc.public.observe.ObservabilityService/SetTopicTagFeedback': Endpoint.unary(method=MethodInfo(name='SetTopicTagFeedback', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.SetTopicTagFeedbackRequest, output=public_dot_observe__pb2.SetTopicTagFeedbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_topic_tag_feedback), '/textql.rpc.public.observe.ObservabilityService/ActivateCustomTopic': Endpoint.unary(method=MethodInfo(name='ActivateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.activate_custom_topic), '/textql.rpc.public.observe.ObservabilityService/DeactivateCustomTopic': Endpoint.unary(method=MethodInfo(name='DeactivateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.deactivate_custom_topic), '/textql.rpc.public.observe.ObservabilityService/DeleteCustomTopic': Endpoint.unary(method=MethodInfo(name='DeleteCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_custom_topic)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.observe.ObservabilityService' + +class ObservabilityServiceClient(ConnectClient): + + async def get_thread_warnings(self, request: public_dot_observe__pb2.GetThreadWarningsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetThreadWarningsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetThreadWarnings', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetThreadWarningsRequest, output=public_dot_observe__pb2.GetThreadWarningsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def fix_warning(self, request: public_dot_observe__pb2.FixWarningRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.FixWarningResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='FixWarning', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.FixWarningRequest, output=public_dot_observe__pb2.FixWarningResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def fix_check_record(self, request: public_dot_observe__pb2.FixCheckRecordRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.FixCheckRecordResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='FixCheckRecord', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.FixCheckRecordRequest, output=public_dot_observe__pb2.FixCheckRecordResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_check_record_fix(self, request: public_dot_observe__pb2.GetCheckRecordFixRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetCheckRecordFixResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCheckRecordFix', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCheckRecordFixRequest, output=public_dot_observe__pb2.GetCheckRecordFixResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_observability_stats(self, request: public_dot_observe__pb2.GetObservabilityStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetObservabilityStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetObservabilityStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetObservabilityStatsRequest, output=public_dot_observe__pb2.GetObservabilityStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_backfill_preview(self, request: public_dot_observe__pb2.GetBackfillPreviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetBackfillPreviewResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetBackfillPreview', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBackfillPreviewRequest, output=public_dot_observe__pb2.GetBackfillPreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def backfill_thread_warnings(self, request: public_dot_observe__pb2.BackfillThreadWarningsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.BackfillThreadWarningsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='BackfillThreadWarnings', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.BackfillThreadWarningsRequest, output=public_dot_observe__pb2.BackfillThreadWarningsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_backfill_status(self, request: public_dot_observe__pb2.GetBackfillStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetBackfillStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetBackfillStatus', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBackfillStatusRequest, output=public_dot_observe__pb2.GetBackfillStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_billing_stats(self, request: public_dot_observe__pb2.GetBillingStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetBillingStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetBillingStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBillingStatsRequest, output=public_dot_observe__pb2.GetBillingStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_active_people_stats(self, request: public_dot_observe__pb2.GetActivePeopleStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetActivePeopleStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetActivePeopleStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetActivePeopleStatsRequest, output=public_dot_observe__pb2.GetActivePeopleStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_chat_source_stats(self, request: public_dot_observe__pb2.GetChatSourceStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetChatSourceStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetChatSourceStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetChatSourceStatsRequest, output=public_dot_observe__pb2.GetChatSourceStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_active_people_trend(self, request: public_dot_observe__pb2.GetActivePeopleTrendRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetActivePeopleTrendResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetActivePeopleTrend', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetActivePeopleTrendRequest, output=public_dot_observe__pb2.GetActivePeopleTrendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_engagement_spectrum(self, request: public_dot_observe__pb2.GetEngagementSpectrumRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetEngagementSpectrumResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetEngagementSpectrum', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetEngagementSpectrumRequest, output=public_dot_observe__pb2.GetEngagementSpectrumResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_access_method_stats(self, request: public_dot_observe__pb2.GetAccessMethodStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetAccessMethodStatsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetAccessMethodStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetAccessMethodStatsRequest, output=public_dot_observe__pb2.GetAccessMethodStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_member_activity(self, request: public_dot_observe__pb2.GetMemberActivityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetMemberActivityResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMemberActivity', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetMemberActivityRequest, output=public_dot_observe__pb2.GetMemberActivityResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_member_signal_trend(self, request: public_dot_observe__pb2.GetMemberSignalTrendRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetMemberSignalTrendResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMemberSignalTrend', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetMemberSignalTrendRequest, output=public_dot_observe__pb2.GetMemberSignalTrendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def export_observability_csv(self, request: public_dot_observe__pb2.ExportObservabilityCsvRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.ExportObservabilityCsvResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExportObservabilityCsv', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.ExportObservabilityCsvRequest, output=public_dot_observe__pb2.ExportObservabilityCsvResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def refine_topic_draft(self, request: public_dot_observe__pb2.RefineTopicDraftRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.RefineTopicDraftResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RefineTopicDraft', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.RefineTopicDraftRequest, output=public_dot_observe__pb2.RefineTopicDraftResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_custom_topic(self, request: public_dot_observe__pb2.CreateCustomTopicRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.CustomTopicResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.CreateCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def backfill_custom_topic(self, request: public_dot_observe__pb2.BackfillCustomTopicRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.BackfillCustomTopicResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='BackfillCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.BackfillCustomTopicRequest, output=public_dot_observe__pb2.BackfillCustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_custom_topic(self, request: public_dot_observe__pb2.GetCustomTopicRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.CustomTopicResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_custom_topics(self, request: public_dot_observe__pb2.ListCustomTopicsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.ListCustomTopicsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListCustomTopics', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.ListCustomTopicsRequest, output=public_dot_observe__pb2.ListCustomTopicsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_custom_topic_threads(self, request: public_dot_observe__pb2.GetCustomTopicThreadsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetCustomTopicThreadsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCustomTopicThreads', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicThreadsRequest, output=public_dot_observe__pb2.GetCustomTopicThreadsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_custom_topic_people(self, request: public_dot_observe__pb2.GetCustomTopicPeopleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetCustomTopicPeopleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCustomTopicPeople', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicPeopleRequest, output=public_dot_observe__pb2.GetCustomTopicPeopleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_chat_topics(self, request: public_dot_observe__pb2.GetChatTopicsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetChatTopicsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetChatTopics', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetChatTopicsRequest, output=public_dot_observe__pb2.GetChatTopicsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_custom_topic(self, request: public_dot_observe__pb2.UpdateCustomTopicRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.CustomTopicResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.UpdateCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def set_topic_tag_feedback(self, request: public_dot_observe__pb2.SetTopicTagFeedbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.SetTopicTagFeedbackResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetTopicTagFeedback', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.SetTopicTagFeedbackRequest, output=public_dot_observe__pb2.SetTopicTagFeedbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def activate_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.TopicLifecycleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ActivateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def deactivate_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.TopicLifecycleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeactivateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.TopicLifecycleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class ObservabilityServiceSync(Protocol): + + def get_thread_warnings(self, request: public_dot_observe__pb2.GetThreadWarningsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetThreadWarningsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def fix_warning(self, request: public_dot_observe__pb2.FixWarningRequest, ctx: RequestContext) -> public_dot_observe__pb2.FixWarningResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def fix_check_record(self, request: public_dot_observe__pb2.FixCheckRecordRequest, ctx: RequestContext) -> public_dot_observe__pb2.FixCheckRecordResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_check_record_fix(self, request: public_dot_observe__pb2.GetCheckRecordFixRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetCheckRecordFixResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_observability_stats(self, request: public_dot_observe__pb2.GetObservabilityStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetObservabilityStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_backfill_preview(self, request: public_dot_observe__pb2.GetBackfillPreviewRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetBackfillPreviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def backfill_thread_warnings(self, request: public_dot_observe__pb2.BackfillThreadWarningsRequest, ctx: RequestContext) -> public_dot_observe__pb2.BackfillThreadWarningsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_backfill_status(self, request: public_dot_observe__pb2.GetBackfillStatusRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetBackfillStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_billing_stats(self, request: public_dot_observe__pb2.GetBillingStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetBillingStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_active_people_stats(self, request: public_dot_observe__pb2.GetActivePeopleStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetActivePeopleStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_chat_source_stats(self, request: public_dot_observe__pb2.GetChatSourceStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetChatSourceStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_active_people_trend(self, request: public_dot_observe__pb2.GetActivePeopleTrendRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetActivePeopleTrendResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_engagement_spectrum(self, request: public_dot_observe__pb2.GetEngagementSpectrumRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetEngagementSpectrumResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_access_method_stats(self, request: public_dot_observe__pb2.GetAccessMethodStatsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetAccessMethodStatsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_member_activity(self, request: public_dot_observe__pb2.GetMemberActivityRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetMemberActivityResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_member_signal_trend(self, request: public_dot_observe__pb2.GetMemberSignalTrendRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetMemberSignalTrendResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def export_observability_csv(self, request: public_dot_observe__pb2.ExportObservabilityCsvRequest, ctx: RequestContext) -> public_dot_observe__pb2.ExportObservabilityCsvResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def refine_topic_draft(self, request: public_dot_observe__pb2.RefineTopicDraftRequest, ctx: RequestContext) -> public_dot_observe__pb2.RefineTopicDraftResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_custom_topic(self, request: public_dot_observe__pb2.CreateCustomTopicRequest, ctx: RequestContext) -> public_dot_observe__pb2.CustomTopicResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def backfill_custom_topic(self, request: public_dot_observe__pb2.BackfillCustomTopicRequest, ctx: RequestContext) -> public_dot_observe__pb2.BackfillCustomTopicResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_custom_topic(self, request: public_dot_observe__pb2.GetCustomTopicRequest, ctx: RequestContext) -> public_dot_observe__pb2.CustomTopicResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_custom_topics(self, request: public_dot_observe__pb2.ListCustomTopicsRequest, ctx: RequestContext) -> public_dot_observe__pb2.ListCustomTopicsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_custom_topic_threads(self, request: public_dot_observe__pb2.GetCustomTopicThreadsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetCustomTopicThreadsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_custom_topic_people(self, request: public_dot_observe__pb2.GetCustomTopicPeopleRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetCustomTopicPeopleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_chat_topics(self, request: public_dot_observe__pb2.GetChatTopicsRequest, ctx: RequestContext) -> public_dot_observe__pb2.GetChatTopicsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_custom_topic(self, request: public_dot_observe__pb2.UpdateCustomTopicRequest, ctx: RequestContext) -> public_dot_observe__pb2.CustomTopicResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_topic_tag_feedback(self, request: public_dot_observe__pb2.SetTopicTagFeedbackRequest, ctx: RequestContext) -> public_dot_observe__pb2.SetTopicTagFeedbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def activate_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, ctx: RequestContext) -> public_dot_observe__pb2.TopicLifecycleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def deactivate_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, ctx: RequestContext) -> public_dot_observe__pb2.TopicLifecycleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, ctx: RequestContext) -> public_dot_observe__pb2.TopicLifecycleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ObservabilityServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ObservabilityServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.observe.ObservabilityService/GetThreadWarnings': EndpointSync.unary(method=MethodInfo(name='GetThreadWarnings', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetThreadWarningsRequest, output=public_dot_observe__pb2.GetThreadWarningsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_thread_warnings), '/textql.rpc.public.observe.ObservabilityService/FixWarning': EndpointSync.unary(method=MethodInfo(name='FixWarning', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.FixWarningRequest, output=public_dot_observe__pb2.FixWarningResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.fix_warning), '/textql.rpc.public.observe.ObservabilityService/FixCheckRecord': EndpointSync.unary(method=MethodInfo(name='FixCheckRecord', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.FixCheckRecordRequest, output=public_dot_observe__pb2.FixCheckRecordResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.fix_check_record), '/textql.rpc.public.observe.ObservabilityService/GetCheckRecordFix': EndpointSync.unary(method=MethodInfo(name='GetCheckRecordFix', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCheckRecordFixRequest, output=public_dot_observe__pb2.GetCheckRecordFixResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_check_record_fix), '/textql.rpc.public.observe.ObservabilityService/GetObservabilityStats': EndpointSync.unary(method=MethodInfo(name='GetObservabilityStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetObservabilityStatsRequest, output=public_dot_observe__pb2.GetObservabilityStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_observability_stats), '/textql.rpc.public.observe.ObservabilityService/GetBackfillPreview': EndpointSync.unary(method=MethodInfo(name='GetBackfillPreview', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBackfillPreviewRequest, output=public_dot_observe__pb2.GetBackfillPreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_backfill_preview), '/textql.rpc.public.observe.ObservabilityService/BackfillThreadWarnings': EndpointSync.unary(method=MethodInfo(name='BackfillThreadWarnings', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.BackfillThreadWarningsRequest, output=public_dot_observe__pb2.BackfillThreadWarningsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.backfill_thread_warnings), '/textql.rpc.public.observe.ObservabilityService/GetBackfillStatus': EndpointSync.unary(method=MethodInfo(name='GetBackfillStatus', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBackfillStatusRequest, output=public_dot_observe__pb2.GetBackfillStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_backfill_status), '/textql.rpc.public.observe.ObservabilityService/GetBillingStats': EndpointSync.unary(method=MethodInfo(name='GetBillingStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBillingStatsRequest, output=public_dot_observe__pb2.GetBillingStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_billing_stats), '/textql.rpc.public.observe.ObservabilityService/GetActivePeopleStats': EndpointSync.unary(method=MethodInfo(name='GetActivePeopleStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetActivePeopleStatsRequest, output=public_dot_observe__pb2.GetActivePeopleStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_active_people_stats), '/textql.rpc.public.observe.ObservabilityService/GetChatSourceStats': EndpointSync.unary(method=MethodInfo(name='GetChatSourceStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetChatSourceStatsRequest, output=public_dot_observe__pb2.GetChatSourceStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_chat_source_stats), '/textql.rpc.public.observe.ObservabilityService/GetActivePeopleTrend': EndpointSync.unary(method=MethodInfo(name='GetActivePeopleTrend', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetActivePeopleTrendRequest, output=public_dot_observe__pb2.GetActivePeopleTrendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_active_people_trend), '/textql.rpc.public.observe.ObservabilityService/GetEngagementSpectrum': EndpointSync.unary(method=MethodInfo(name='GetEngagementSpectrum', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetEngagementSpectrumRequest, output=public_dot_observe__pb2.GetEngagementSpectrumResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_engagement_spectrum), '/textql.rpc.public.observe.ObservabilityService/GetAccessMethodStats': EndpointSync.unary(method=MethodInfo(name='GetAccessMethodStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetAccessMethodStatsRequest, output=public_dot_observe__pb2.GetAccessMethodStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_access_method_stats), '/textql.rpc.public.observe.ObservabilityService/GetMemberActivity': EndpointSync.unary(method=MethodInfo(name='GetMemberActivity', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetMemberActivityRequest, output=public_dot_observe__pb2.GetMemberActivityResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_member_activity), '/textql.rpc.public.observe.ObservabilityService/GetMemberSignalTrend': EndpointSync.unary(method=MethodInfo(name='GetMemberSignalTrend', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetMemberSignalTrendRequest, output=public_dot_observe__pb2.GetMemberSignalTrendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_member_signal_trend), '/textql.rpc.public.observe.ObservabilityService/ExportObservabilityCsv': EndpointSync.unary(method=MethodInfo(name='ExportObservabilityCsv', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.ExportObservabilityCsvRequest, output=public_dot_observe__pb2.ExportObservabilityCsvResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.export_observability_csv), '/textql.rpc.public.observe.ObservabilityService/RefineTopicDraft': EndpointSync.unary(method=MethodInfo(name='RefineTopicDraft', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.RefineTopicDraftRequest, output=public_dot_observe__pb2.RefineTopicDraftResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.refine_topic_draft), '/textql.rpc.public.observe.ObservabilityService/CreateCustomTopic': EndpointSync.unary(method=MethodInfo(name='CreateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.CreateCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_custom_topic), '/textql.rpc.public.observe.ObservabilityService/BackfillCustomTopic': EndpointSync.unary(method=MethodInfo(name='BackfillCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.BackfillCustomTopicRequest, output=public_dot_observe__pb2.BackfillCustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.backfill_custom_topic), '/textql.rpc.public.observe.ObservabilityService/GetCustomTopic': EndpointSync.unary(method=MethodInfo(name='GetCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_custom_topic), '/textql.rpc.public.observe.ObservabilityService/ListCustomTopics': EndpointSync.unary(method=MethodInfo(name='ListCustomTopics', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.ListCustomTopicsRequest, output=public_dot_observe__pb2.ListCustomTopicsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_custom_topics), '/textql.rpc.public.observe.ObservabilityService/GetCustomTopicThreads': EndpointSync.unary(method=MethodInfo(name='GetCustomTopicThreads', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicThreadsRequest, output=public_dot_observe__pb2.GetCustomTopicThreadsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_custom_topic_threads), '/textql.rpc.public.observe.ObservabilityService/GetCustomTopicPeople': EndpointSync.unary(method=MethodInfo(name='GetCustomTopicPeople', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicPeopleRequest, output=public_dot_observe__pb2.GetCustomTopicPeopleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_custom_topic_people), '/textql.rpc.public.observe.ObservabilityService/GetChatTopics': EndpointSync.unary(method=MethodInfo(name='GetChatTopics', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetChatTopicsRequest, output=public_dot_observe__pb2.GetChatTopicsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_chat_topics), '/textql.rpc.public.observe.ObservabilityService/UpdateCustomTopic': EndpointSync.unary(method=MethodInfo(name='UpdateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.UpdateCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_custom_topic), '/textql.rpc.public.observe.ObservabilityService/SetTopicTagFeedback': EndpointSync.unary(method=MethodInfo(name='SetTopicTagFeedback', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.SetTopicTagFeedbackRequest, output=public_dot_observe__pb2.SetTopicTagFeedbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_topic_tag_feedback), '/textql.rpc.public.observe.ObservabilityService/ActivateCustomTopic': EndpointSync.unary(method=MethodInfo(name='ActivateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.activate_custom_topic), '/textql.rpc.public.observe.ObservabilityService/DeactivateCustomTopic': EndpointSync.unary(method=MethodInfo(name='DeactivateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.deactivate_custom_topic), '/textql.rpc.public.observe.ObservabilityService/DeleteCustomTopic': EndpointSync.unary(method=MethodInfo(name='DeleteCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_custom_topic)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.observe.ObservabilityService' + +class ObservabilityServiceClientSync(ConnectClientSync): + + def get_thread_warnings(self, request: public_dot_observe__pb2.GetThreadWarningsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetThreadWarningsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetThreadWarnings', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetThreadWarningsRequest, output=public_dot_observe__pb2.GetThreadWarningsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def fix_warning(self, request: public_dot_observe__pb2.FixWarningRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.FixWarningResponse: + return self.execute_unary(request=request, method=MethodInfo(name='FixWarning', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.FixWarningRequest, output=public_dot_observe__pb2.FixWarningResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def fix_check_record(self, request: public_dot_observe__pb2.FixCheckRecordRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.FixCheckRecordResponse: + return self.execute_unary(request=request, method=MethodInfo(name='FixCheckRecord', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.FixCheckRecordRequest, output=public_dot_observe__pb2.FixCheckRecordResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_check_record_fix(self, request: public_dot_observe__pb2.GetCheckRecordFixRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetCheckRecordFixResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCheckRecordFix', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCheckRecordFixRequest, output=public_dot_observe__pb2.GetCheckRecordFixResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_observability_stats(self, request: public_dot_observe__pb2.GetObservabilityStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetObservabilityStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetObservabilityStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetObservabilityStatsRequest, output=public_dot_observe__pb2.GetObservabilityStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_backfill_preview(self, request: public_dot_observe__pb2.GetBackfillPreviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetBackfillPreviewResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetBackfillPreview', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBackfillPreviewRequest, output=public_dot_observe__pb2.GetBackfillPreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def backfill_thread_warnings(self, request: public_dot_observe__pb2.BackfillThreadWarningsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.BackfillThreadWarningsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='BackfillThreadWarnings', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.BackfillThreadWarningsRequest, output=public_dot_observe__pb2.BackfillThreadWarningsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_backfill_status(self, request: public_dot_observe__pb2.GetBackfillStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetBackfillStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetBackfillStatus', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBackfillStatusRequest, output=public_dot_observe__pb2.GetBackfillStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_billing_stats(self, request: public_dot_observe__pb2.GetBillingStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetBillingStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetBillingStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetBillingStatsRequest, output=public_dot_observe__pb2.GetBillingStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_active_people_stats(self, request: public_dot_observe__pb2.GetActivePeopleStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetActivePeopleStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetActivePeopleStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetActivePeopleStatsRequest, output=public_dot_observe__pb2.GetActivePeopleStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_chat_source_stats(self, request: public_dot_observe__pb2.GetChatSourceStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetChatSourceStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetChatSourceStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetChatSourceStatsRequest, output=public_dot_observe__pb2.GetChatSourceStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_active_people_trend(self, request: public_dot_observe__pb2.GetActivePeopleTrendRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetActivePeopleTrendResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetActivePeopleTrend', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetActivePeopleTrendRequest, output=public_dot_observe__pb2.GetActivePeopleTrendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_engagement_spectrum(self, request: public_dot_observe__pb2.GetEngagementSpectrumRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetEngagementSpectrumResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetEngagementSpectrum', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetEngagementSpectrumRequest, output=public_dot_observe__pb2.GetEngagementSpectrumResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_access_method_stats(self, request: public_dot_observe__pb2.GetAccessMethodStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetAccessMethodStatsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetAccessMethodStats', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetAccessMethodStatsRequest, output=public_dot_observe__pb2.GetAccessMethodStatsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_member_activity(self, request: public_dot_observe__pb2.GetMemberActivityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetMemberActivityResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMemberActivity', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetMemberActivityRequest, output=public_dot_observe__pb2.GetMemberActivityResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_member_signal_trend(self, request: public_dot_observe__pb2.GetMemberSignalTrendRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetMemberSignalTrendResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMemberSignalTrend', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetMemberSignalTrendRequest, output=public_dot_observe__pb2.GetMemberSignalTrendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def export_observability_csv(self, request: public_dot_observe__pb2.ExportObservabilityCsvRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.ExportObservabilityCsvResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExportObservabilityCsv', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.ExportObservabilityCsvRequest, output=public_dot_observe__pb2.ExportObservabilityCsvResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def refine_topic_draft(self, request: public_dot_observe__pb2.RefineTopicDraftRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.RefineTopicDraftResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RefineTopicDraft', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.RefineTopicDraftRequest, output=public_dot_observe__pb2.RefineTopicDraftResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_custom_topic(self, request: public_dot_observe__pb2.CreateCustomTopicRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.CustomTopicResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.CreateCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def backfill_custom_topic(self, request: public_dot_observe__pb2.BackfillCustomTopicRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.BackfillCustomTopicResponse: + return self.execute_unary(request=request, method=MethodInfo(name='BackfillCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.BackfillCustomTopicRequest, output=public_dot_observe__pb2.BackfillCustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_custom_topic(self, request: public_dot_observe__pb2.GetCustomTopicRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.CustomTopicResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_custom_topics(self, request: public_dot_observe__pb2.ListCustomTopicsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.ListCustomTopicsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListCustomTopics', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.ListCustomTopicsRequest, output=public_dot_observe__pb2.ListCustomTopicsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_custom_topic_threads(self, request: public_dot_observe__pb2.GetCustomTopicThreadsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetCustomTopicThreadsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCustomTopicThreads', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicThreadsRequest, output=public_dot_observe__pb2.GetCustomTopicThreadsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_custom_topic_people(self, request: public_dot_observe__pb2.GetCustomTopicPeopleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetCustomTopicPeopleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCustomTopicPeople', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetCustomTopicPeopleRequest, output=public_dot_observe__pb2.GetCustomTopicPeopleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_chat_topics(self, request: public_dot_observe__pb2.GetChatTopicsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_observe__pb2.GetChatTopicsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetChatTopics', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.GetChatTopicsRequest, output=public_dot_observe__pb2.GetChatTopicsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_custom_topic(self, request: public_dot_observe__pb2.UpdateCustomTopicRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.CustomTopicResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.UpdateCustomTopicRequest, output=public_dot_observe__pb2.CustomTopicResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def set_topic_tag_feedback(self, request: public_dot_observe__pb2.SetTopicTagFeedbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.SetTopicTagFeedbackResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetTopicTagFeedback', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.SetTopicTagFeedbackRequest, output=public_dot_observe__pb2.SetTopicTagFeedbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def activate_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.TopicLifecycleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ActivateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def deactivate_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.TopicLifecycleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeactivateCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_custom_topic(self, request: public_dot_observe__pb2.TopicLifecycleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_observe__pb2.TopicLifecycleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteCustomTopic', service_name='textql.rpc.public.observe.ObservabilityService', input=public_dot_observe__pb2.TopicLifecycleRequest, output=public_dot_observe__pb2.TopicLifecycleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/observe_pb2.py b/src/textql_sdk/_connect/public/observe_pb2.py new file mode 100644 index 0000000..412dc0f --- /dev/null +++ b/src/textql_sdk/_connect/public/observe_pb2.py @@ -0,0 +1,240 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/observe.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import chat_pb2 as public_dot_chat__pb2 +from ..public import warnings_pb2 as public_dot_warnings__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14public/observe.proto\x12\x19textql.rpc.public.observe\x1a\x1bgoogle/api/visibility.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x11public/chat.proto\x1a\x15public/warnings.proto"\xb0\x03\n\rThreadWarning\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId\x12L\n\x0cwarning_type\x18\x03 \x01(\x0e2).textql.rpc.public.chat.ThreadWarningTypeR\x0bwarningType\x12\x1a\n\x08severity\x18\x05 \x01(\tR\x08severity\x12\x16\n\x06detail\x18\x06 \x01(\tR\x06detail\x12#\n\x0bfix_chat_id\x18\x08 \x01(\tH\x00R\tfixChatId\x88\x01\x01\x12G\n\x0efix_patch_cell\x18\t \x01(\x0b2\x1c.textql.rpc.public.chat.CellH\x01R\x0cfixPatchCell\x88\x01\x01\x12$\n\x0efix_run_active\x18\n \x01(\x08R\x0cfixRunActive\x12"\n\nfix_status\x18\x0b \x01(\tH\x02R\tfixStatus\x88\x01\x01B\x0e\n\x0c_fix_chat_idB\x11\n\x0f_fix_patch_cellB\r\n\x0b_fix_statusJ\x04\x08\x04\x10\x05J\x04\x08\x07\x10\x08"Y\n\x11ThreadWarningList\x12D\n\x08warnings\x18\x01 \x03(\x0b2(.textql.rpc.public.observe.ThreadWarningR\x08warnings"5\n\x18GetThreadWarningsRequest\x12\x19\n\x08chat_ids\x18\x01 \x03(\tR\x07chatIds"\xac\x02\n\x19GetThreadWarningsResponse\x12r\n\x10warnings_by_chat\x18\x01 \x03(\x0b2H.textql.rpc.public.observe.GetThreadWarningsResponse.WarningsByChatEntryR\x0ewarningsByChat\x12*\n\x11analyzed_chat_ids\x18\x02 \x03(\tR\x0fanalyzedChatIds\x1ao\n\x13WarningsByChatEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12B\n\x05value\x18\x02 \x01(\x0b2,.textql.rpc.public.observe.ThreadWarningListR\x05value:\x028\x01"2\n\x11FixWarningRequest\x12\x1d\n\nwarning_id\x18\x01 \x01(\tR\twarningId"-\n\x12FixWarningResponse\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"4\n\x15FixCheckRecordRequest\x12\x1b\n\trecord_id\x18\x01 \x01(\tR\x08recordId"1\n\x16FixCheckRecordResponse\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"7\n\x18GetCheckRecordFixRequest\x12\x1b\n\trecord_id\x18\x01 \x01(\tR\x08recordId"\x85\x02\n\x19GetCheckRecordFixResponse\x12#\n\x0bfix_chat_id\x18\x01 \x01(\tH\x00R\tfixChatId\x88\x01\x01\x12G\n\x0efix_patch_cell\x18\x02 \x01(\x0b2\x1c.textql.rpc.public.chat.CellH\x01R\x0cfixPatchCell\x88\x01\x01\x12$\n\x0efix_run_active\x18\x03 \x01(\x08R\x0cfixRunActive\x12"\n\nfix_status\x18\x04 \x01(\tH\x02R\tfixStatus\x88\x01\x01B\x0e\n\x0c_fix_chat_idB\x11\n\x0f_fix_patch_cellB\r\n\x0b_fix_status"2\n\x1cGetObservabilityStatsRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days"\xdf\x03\n\x1dGetObservabilityStatsResponse\x12I\n\x07summary\x18\x01 \x01(\x0b2/.textql.rpc.public.observe.ObservabilitySummaryR\x07summary\x12N\n\x0cdaily_volume\x18\x02 \x03(\x0b2+.textql.rpc.public.observe.DailyVolumePointR\x0bdailyVolume\x12^\n\x14warning_distribution\x18\x03 \x03(\x0b2+.textql.rpc.public.observe.WarningTypeCountR\x13warningDistribution\x12S\n\x0fwarning_catalog\x18\x04 \x03(\x0b2*.textql.rpc.public.observe.WarningTypeMetaR\x0ewarningCatalog\x12n\n\x1awarning_daily_distribution\x18\x05 \x03(\x0b20.textql.rpc.public.observe.WarningTypeDailyCountR\x18warningDailyDistribution"\xad\x08\n\x14ObservabilitySummary\x12\x1d\n\ntotal_runs\x18\x01 \x01(\x05R\ttotalRuns\x12#\n\rtotal_threads\x18\x02 \x01(\x05R\x0ctotalThreads\x12\'\n\x0ftotal_playbooks\x18\x03 \x01(\x05R\x0etotalPlaybooks\x12%\n\x0etotal_warnings\x18\x04 \x01(\x05R\rtotalWarnings\x12"\n\rwarn_rate_pct\x18\x05 \x01(\x05R\x0bwarnRatePct\x12$\n\x0eruns_delta_pct\x18\x06 \x01(\x05R\x0crunsDeltaPct\x12*\n\x11threads_delta_pct\x18\x07 \x01(\x05R\x0fthreadsDeltaPct\x12.\n\x13playbooks_delta_pct\x18\x08 \x01(\x05R\x11playbooksDeltaPct\x12,\n\x12warnings_delta_pct\x18\t \x01(\x05R\x10warningsDeltaPct\x12%\n\x0eruns_sparkline\x18\n \x03(\x05R\rrunsSparkline\x12+\n\x11threads_sparkline\x18\x0b \x03(\x05R\x10threadsSparkline\x12/\n\x13playbooks_sparkline\x18\x0c \x03(\x05R\x12playbooksSparkline\x12-\n\x12warnings_sparkline\x18\r \x03(\x05R\x11warningsSparkline\x12*\n\x11total_feed_agents\x18\x0e \x01(\x05R\x0ftotalFeedAgents\x121\n\x15feed_agents_delta_pct\x18\x0f \x01(\x05R\x12feedAgentsDeltaPct\x122\n\x15feed_agents_sparkline\x18\x10 \x03(\x05R\x13feedAgentsSparkline\x12\x1f\n\x0btotal_slack\x18\x11 \x01(\x05R\ntotalSlack\x12&\n\x0fslack_delta_pct\x18\x12 \x01(\x05R\rslackDeltaPct\x12\'\n\x0fslack_sparkline\x18\x13 \x03(\x05R\x0eslackSparkline\x12\x1f\n\x0btotal_teams\x18\x14 \x01(\x05R\ntotalTeams\x12&\n\x0fteams_delta_pct\x18\x15 \x01(\x05R\rteamsDeltaPct\x12\'\n\x0fteams_sparkline\x18\x16 \x03(\x05R\x0eteamsSparkline\x12%\n\x0etotal_positive\x18\x17 \x01(\x05R\rtotalPositive\x12,\n\x12positive_delta_pct\x18\x18 \x01(\x05R\x10positiveDeltaPct\x12-\n\x12positive_sparkline\x18\x19 \x03(\x05R\x11positiveSparkline"\xab\x01\n\x10DailyVolumePoint\x12\x12\n\x04date\x18\x01 \x01(\tR\x04date\x12\x18\n\x07threads\x18\x02 \x01(\x05R\x07threads\x12\x1c\n\tplaybooks\x18\x03 \x01(\x05R\tplaybooks\x12\x1f\n\x0bfeed_agents\x18\x04 \x01(\x05R\nfeedAgents\x12\x14\n\x05slack\x18\x05 \x01(\x05R\x05slack\x12\x14\n\x05teams\x18\x06 \x01(\x05R\x05teams"|\n\x10WarningTypeCount\x12L\n\x0cwarning_type\x18\x01 \x01(\x0e2).textql.rpc.public.chat.ThreadWarningTypeR\x0bwarningType\x12\x14\n\x05total\x18\x03 \x01(\x05R\x05totalJ\x04\x08\x02\x10\x03"\xa4\x01\n\x0fWarningTypeMeta\x12L\n\x0cwarning_type\x18\x01 \x01(\x0e2).textql.rpc.public.chat.ThreadWarningTypeR\x0bwarningType\x12C\n\x08category\x18\x02 \x01(\x0e2\'.textql.rpc.public.chat.WarningCategoryR\x08category"\x8f\x01\n\x15WarningTypeDailyCount\x12\x12\n\x04date\x18\x01 \x01(\tR\x04date\x12L\n\x0cwarning_type\x18\x02 \x01(\x0e2).textql.rpc.public.chat.ThreadWarningTypeR\x0bwarningType\x12\x14\n\x05total\x18\x03 \x01(\x05R\x05total"\xac\x01\n\x16MemberSignalTrendPoint\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12!\n\x0cbucket_start\x18\x02 \x01(\tR\x0bbucketStart\x12\x1a\n\x08positive\x18\x03 \x01(\x05R\x08positive\x12\x1a\n\x08negative\x18\x04 \x01(\x05R\x08negative\x12\x1a\n\x08analyzed\x18\x05 \x01(\x05R\x08analyzed"1\n\x1bGetMemberSignalTrendRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days"i\n\x1cGetMemberSignalTrendResponse\x12I\n\x06points\x18\x01 \x03(\x0b21.textql.rpc.public.observe.MemberSignalTrendPointR\x06points"\x80\x01\n\x19GetBackfillPreviewRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days\x12\x1a\n\x06org_id\x18\x02 \x01(\tH\x00R\x05orgId\x88\x01\x01\x12(\n\x10redo_all_threads\x18\x03 \x01(\x08R\x0eredoAllThreadsB\t\n\x07_org_id"\x96\x01\n\x1aGetBackfillPreviewResponse\x12)\n\x10unanalyzed_count\x18\x01 \x01(\x05R\x0funanalyzedCount\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName\x122\n\x15eligible_thread_count\x18\x03 \x01(\x05R\x13eligibleThreadCount"\xa6\x01\n\x1dBackfillThreadWarningsRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days\x12 \n\x0bconcurrency\x18\x02 \x01(\x05R\x0bconcurrency\x12\x1a\n\x06org_id\x18\x03 \x01(\tH\x00R\x05orgId\x88\x01\x01\x12(\n\x10redo_all_threads\x18\x04 \x01(\x08R\x0eredoAllThreadsB\t\n\x07_org_id"n\n\x1eBackfillThreadWarningsResponse\x12#\n\rtotal_threads\x18\x01 \x01(\x05R\x0ctotalThreads\x12\'\n\x0falready_running\x18\x02 \x01(\x08R\x0ealreadyRunning"A\n\x18GetBackfillStatusRequest\x12\x1a\n\x06org_id\x18\x01 \x01(\tH\x00R\x05orgId\x88\x01\x01B\t\n\x07_org_id"\x81\x01\n\x19GetBackfillStatusResponse\x12\x18\n\x07running\x18\x01 \x01(\x08R\x07running\x12\x14\n\x05total\x18\x02 \x01(\x05R\x05total\x12\x1c\n\tprocessed\x18\x03 \x01(\x05R\tprocessed\x12\x16\n\x06failed\x18\x04 \x01(\x05R\x06failed",\n\x16GetBillingStatsRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days"\x8a\x07\n\x11MemberBillingStat\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x1f\n\x0bmember_name\x18\x02 \x01(\tR\nmemberName\x12\x14\n\x05email\x18\x03 \x01(\tR\x05email\x12\x1b\n\ttotal_acu\x18\x04 \x01(\x01R\x08totalAcu\x12g\n\x0facu_by_category\x18\x05 \x03(\x0b2?.textql.rpc.public.observe.MemberBillingStat.AcuByCategoryEntryR\racuByCategory\x12a\n\racu_by_source\x18\x06 \x03(\x0b2=.textql.rpc.public.observe.MemberBillingStat.AcuBySourceEntryR\x0bacuBySource\x12*\n\x11profile_image_url\x18\x07 \x01(\tR\x0fprofileImageUrl\x12!\n\x0cthread_count\x18\x08 \x01(\x05R\x0bthreadCount\x12%\n\x0eplaybook_count\x18\t \x01(\x05R\rplaybookCount\x12\'\n\x0fdashboard_count\x18\n \x01(\x05R\x0edashboardCount\x12\x1f\n\x0bagent_count\x18\x0b \x01(\x05R\nagentCount\x12(\n\x10is_former_member\x18\x0c \x01(\x08R\x0eisFormerMember\x122\n\x15positive_signal_count\x18\r \x01(\x05R\x13positiveSignalCount\x122\n\x15negative_signal_count\x18\x0e \x01(\x05R\x13negativeSignalCount\x120\n\x14flagged_thread_count\x18\x0f \x01(\x05R\x12flaggedThreadCount\x122\n\x15analyzed_thread_count\x18\x10 \x01(\x05R\x13analyzedThreadCount\x1a@\n\x12AcuByCategoryEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x01R\x05value:\x028\x01\x1a>\n\x10AcuBySourceEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x01R\x05value:\x028\x01"\x85\x01\n\x10AgentBillingStat\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId\x12#\n\restimated_acu\x18\x02 \x01(\x01R\x0cestimatedAcu\x121\n\x0bis_internal\x18\x03 \x01(\x08B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\nisInternal"\x83\x03\n\x13PlaybookBillingStat\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12#\n\rplaybook_name\x18\x02 \x01(\tR\x0cplaybookName\x12\x19\n\x08owner_id\x18\x03 \x01(\tR\x07ownerId\x12\x1d\n\nowner_name\x18\x04 \x01(\tR\townerName\x12\x1b\n\ttotal_acu\x18\x05 \x01(\x01R\x08totalAcu\x12\x17\n\x07llm_acu\x18\x06 \x01(\x01R\x06llmAcu\x12\x1f\n\x0bcompute_acu\x18\x07 \x01(\x01R\ncomputeAcu\x12\x1b\n\trun_count\x18\x08 \x01(\x05R\x08runCount\x121\n\x0bis_internal\x18\t \x01(\x08B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\nisInternal\x12(\n\x10daily_run_counts\x18\n \x03(\x05R\x0edailyRunCounts\x12\x1b\n\tis_active\x18\x0b \x01(\x08R\x08isActive"\xc3\x03\n\x14DashboardBillingStat\x12!\n\x0cdashboard_id\x18\x01 \x01(\tR\x0bdashboardId\x12%\n\x0edashboard_name\x18\x02 \x01(\tR\rdashboardName\x12\x19\n\x08owner_id\x18\x03 \x01(\tR\x07ownerId\x12\x1d\n\nowner_name\x18\x04 \x01(\tR\townerName\x12\x1f\n\x0bcompute_acu\x18\x05 \x01(\x01R\ncomputeAcu\x12#\n\rrefresh_count\x18\x06 \x01(\x05R\x0crefreshCount\x121\n\x0bis_internal\x18\x07 \x01(\x08B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\nisInternal\x12\x1d\n\nview_count\x18\x08 \x01(\x05R\tviewCount\x12@\n\x0elast_viewed_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\x0clastViewedAt\x12*\n\x11daily_view_counts\x18\n \x03(\x05R\x0fdailyViewCounts\x12!\n\x0cis_published\x18\x0b \x01(\x08R\x0bisPublished"\xa5\x03\n\x0eAppBillingStat\x12\x15\n\x06app_id\x18\x01 \x01(\tR\x05appId\x12\x19\n\x08app_name\x18\x02 \x01(\tR\x07appName\x12\x19\n\x08owner_id\x18\x03 \x01(\tR\x07ownerId\x12\x1d\n\nowner_name\x18\x04 \x01(\tR\townerName\x12\x1f\n\x0bcompute_acu\x18\x05 \x01(\x01R\ncomputeAcu\x12#\n\rrefresh_count\x18\x06 \x01(\x05R\x0crefreshCount\x121\n\x0bis_internal\x18\x07 \x01(\x08B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\nisInternal\x12\x1d\n\nview_count\x18\x08 \x01(\x05R\tviewCount\x12@\n\x0elast_viewed_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\x0clastViewedAt\x12*\n\x11daily_view_counts\x18\n \x03(\x05R\x0fdailyViewCounts\x12!\n\x0cis_published\x18\x0b \x01(\x08R\x0bisPublished"\xf9\x07\n\x17GetBillingStatsResponse\x12O\n\x0cmember_stats\x18\x01 \x03(\x0b2,.textql.rpc.public.observe.MemberBillingStatR\x0bmemberStats\x12L\n\x0bagent_stats\x18\x02 \x03(\x0b2+.textql.rpc.public.observe.AgentBillingStatR\nagentStats\x12$\n\x0etotal_feed_acu\x18\x03 \x01(\x01R\x0ctotalFeedAcu\x12U\n\x0eplaybook_stats\x18\x04 \x03(\x0b2..textql.rpc.public.observe.PlaybookBillingStatR\rplaybookStats\x12X\n\x0fdashboard_stats\x18\x05 \x03(\x0b2/.textql.rpc.public.observe.DashboardBillingStatR\x0edashboardStats\x12,\n\x12total_playbook_acu\x18\x06 \x01(\x01R\x10totalPlaybookAcu\x12.\n\x13total_dashboard_acu\x18\x07 \x01(\x01R\x11totalDashboardAcu\x122\n\x15unattributed_feed_acu\x18\x08 \x01(\x01R\x13unattributedFeedAcu\x12<\n\x1aunattributed_dashboard_acu\x18\t \x01(\x01R\x18unattributedDashboardAcu\x122\n\x15total_dashboard_count\x18\n \x01(\x05R\x13totalDashboardCount\x120\n\x14total_playbook_count\x18\x0b \x01(\x05R\x12totalPlaybookCount\x12:\n\x19unattributed_playbook_acu\x18\x0c \x01(\x01R\x17unattributedPlaybookAcu\x12F\n\tapp_stats\x18\r \x03(\x0b2).textql.rpc.public.observe.AppBillingStatR\x08appStats\x12"\n\rtotal_app_acu\x18\x0e \x01(\x01R\x0btotalAppAcu\x120\n\x14unattributed_app_acu\x18\x0f \x01(\x01R\x12unattributedAppAcu\x12&\n\x0ftotal_app_count\x18\x10 \x01(\x05R\rtotalAppCount\x120\n\x15acu_rate_per_1000_usd\x18\x11 \x01(\x01R\x11acuRatePer1000Usd"1\n\x1bGetActivePeopleStatsRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days"|\n\x1cGetActivePeopleStatsResponse\x12.\n\x13active_member_count\x18\x01 \x01(\x05R\x11activeMemberCount\x12,\n\x12total_member_count\x18\x02 \x01(\x05R\x10totalMemberCount"\xc8\x02\n\x19GetChatSourceStatsRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days\x12<\n\x0eexclude_textql\x18\x02 \x01(\x08B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\rexcludeTextql\x88\x01\x01\x12 \n\tmember_id\x18\x03 \x01(\tH\x01R\x08memberId\x88\x01\x01\x12>\n\nstart_date\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\tstartDate\x88\x01\x01\x12:\n\x08end_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampH\x03R\x07endDate\x88\x01\x01B\x11\n\x0f_exclude_textqlB\x0c\n\n_member_idB\r\n\x0b_start_dateB\x0b\n\t_end_date"c\n\x0fChatSourceCount\x12:\n\x06source\x18\x01 \x01(\x0e2".textql.rpc.public.chat.ChatSourceR\x06source\x12\x14\n\x05total\x18\x02 \x01(\x05R\x05total"\xc9\x01\n\x14MemberChatSourceStat\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x1f\n\x0bmember_name\x18\x02 \x01(\tR\nmemberName\x12\x14\n\x05email\x18\x03 \x01(\tR\x05email\x12\x14\n\x05total\x18\x04 \x01(\x05R\x05total\x12G\n\tby_source\x18\x05 \x03(\x0b2*.textql.rpc.public.observe.ChatSourceCountR\x08bySource"\xc0\x01\n\x1aGetChatSourceStatsResponse\x12N\n\rorg_by_source\x18\x01 \x03(\x0b2*.textql.rpc.public.observe.ChatSourceCountR\x0borgBySource\x12R\n\x0cmember_stats\x18\x02 \x03(\x0b2/.textql.rpc.public.observe.MemberChatSourceStatR\x0bmemberStats"\xc9\x01\n\x1bGetActivePeopleTrendRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days\x12>\n\nstart_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tstartDate\x88\x01\x01\x12:\n\x08end_date\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x07endDate\x88\x01\x01B\r\n\x0b_start_dateB\x0b\n\t_end_date"s\n\x11ActivePeoplePoint\x12!\n\x0cbucket_start\x18\x01 \x01(\tR\x0bbucketStart\x12\x1c\n\treturning\x18\x02 \x01(\x05R\treturning\x12\x1d\n\nnew_people\x18\x03 \x01(\x05R\tnewPeople"\xa4\x01\n\x1cGetActivePeopleTrendResponse\x12D\n\x06points\x18\x01 \x03(\x0b2,.textql.rpc.public.observe.ActivePeoplePointR\x06points\x12\x1d\n\ngrowth_pct\x18\x02 \x01(\x05R\tgrowthPct\x12\x1f\n\x0bbucket_unit\x18\x03 \x01(\tR\nbucketUnit"2\n\x1cGetEngagementSpectrumRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days"?\n\x13EngagementTierCount\x12\x12\n\x04tier\x18\x01 \x01(\tR\x04tier\x12\x14\n\x05count\x18\x02 \x01(\x05R\x05count"\x88\x01\n\x1dGetEngagementSpectrumResponse\x12D\n\x05tiers\x18\x01 \x03(\x0b2..textql.rpc.public.observe.EngagementTierCountR\x05tiers\x12!\n\x0ctotal_people\x18\x02 \x01(\x05R\x0btotalPeople"\xc9\x01\n\x1bGetAccessMethodStatsRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days\x12>\n\nstart_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tstartDate\x88\x01\x01\x12:\n\x08end_date\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x07endDate\x88\x01\x01B\r\n\x0b_start_dateB\x0b\n\t_end_date"A\n\x11AccessMethodCount\x12\x16\n\x06method\x18\x01 \x01(\tR\x06method\x12\x14\n\x05total\x18\x02 \x01(\x05R\x05total"f\n\x1cGetAccessMethodStatsResponse\x12F\n\x07methods\x18\x01 \x03(\x0b2,.textql.rpc.public.observe.AccessMethodCountR\x07methods".\n\x18GetMemberActivityRequest\x12\x12\n\x04days\x18\x01 \x01(\x05R\x04days"\xd5\x01\n\x0eMemberActivity\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12%\n\x0edaily_activity\x18\x02 \x03(\x05R\rdailyActivity\x12\x1f\n\x0bevent_count\x18\x03 \x01(\x05R\neventCount\x12!\n\x0cthread_count\x18\x04 \x01(\x05R\x0bthreadCount\x12;\n\x0blast_active\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\nlastActive"`\n\x19GetMemberActivityResponse\x12C\n\x07members\x18\x01 \x03(\x0b2).textql.rpc.public.observe.MemberActivityR\x07members"E\n\x1dExportObservabilityCsvRequest\x12\x10\n\x03tab\x18\x01 \x01(\tR\x03tab\x12\x12\n\x04days\x18\x02 \x01(\x05R\x04days"C\n\x1eExportObservabilityCsvResponse\x12!\n\x0cdownload_url\x18\x01 \x01(\tR\x0bdownloadUrl"\x9e\x05\n\x0bCustomTopic\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n\x0buser_prompt\x18\x03 \x01(\tR\nuserPrompt\x12\x16\n\x06covers\x18\x04 \x01(\tR\x06covers\x12\x1a\n\x08excludes\x18\x05 \x01(\tR\x08excludes\x12\x16\n\x06status\x18\x06 \x01(\tR\x06status\x12/\n\x14created_by_member_id\x18\x07 \x01(\tR\x11createdByMemberId\x12-\n\x10backfill_chat_id\x18\x08 \x01(\tH\x00R\x0ebackfillChatId\x88\x01\x01\x12,\n\x0fbackfill_status\x18\t \x01(\tH\x01R\x0ebackfillStatus\x88\x01\x01\x12*\n\x0ebackfill_error\x18\n \x01(\tH\x02R\rbackfillError\x88\x01\x01\x129\n\ncreated_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1b\n\ttag_count\x18\x0c \x01(\x03R\x08tagCount\x129\n\nupdated_at\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12(\n\x10created_by_email\x18\x0e \x01(\tR\x0ecreatedByEmail\x12(\n\x10daily_tag_counts\x18\x0f \x03(\x05R\x0edailyTagCounts\x12!\n\x0cpeople_count\x18\x10 \x01(\x03R\x0bpeopleCountB\x13\n\x11_backfill_chat_idB\x12\n\x10_backfill_statusB\x11\n\x0f_backfill_error"m\n\x17RefineTopicDraftRequest\x12\x16\n\x06prompt\x18\x01 \x01(\tR\x06prompt\x12\x1a\n\x08examples\x18\x02 \x03(\tR\x08examples\x12\x1e\n\nexclusions\x18\x03 \x03(\tR\nexclusions"2\n\x0cSimilarTopic\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"\xeb\x01\n\x18RefineTopicDraftResponse\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06covers\x18\x02 \x01(\tR\x06covers\x12\x1a\n\x08excludes\x18\x03 \x01(\tR\x08excludes\x12\x14\n\x05vague\x18\x04 \x01(\x08R\x05vague\x12!\n\x0cquality_hint\x18\x05 \x01(\tR\x0bqualityHint\x12N\n\x0esimilar_topics\x18\x06 \x03(\x0b2\'.textql.rpc.public.observe.SimilarTopicR\rsimilarTopics"\x83\x01\n\x18CreateCustomTopicRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0buser_prompt\x18\x02 \x01(\tR\nuserPrompt\x12\x16\n\x06covers\x18\x03 \x01(\tR\x06covers\x12\x1a\n\x08excludes\x18\x04 \x01(\tR\x08excludes"S\n\x13CustomTopicResponse\x12<\n\x05topic\x18\x01 \x01(\x0b2&.textql.rpc.public.observe.CustomTopicR\x05topic"\xa9\x01\n\x1aBackfillCustomTopicRequest\x12\x19\n\x08topic_id\x18\x01 \x01(\tR\x07topicId\x129\n\nstart_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartDate\x125\n\x08end_date\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endDate"\x1d\n\x1bBackfillCustomTopicResponse"\xa8\x01\n\x15GetCustomTopicRequest\x12\x19\n\x08topic_id\x18\x01 \x01(\tR\x07topicId\x12;\n\x0btrend_start\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ntrendStart\x127\n\ttrend_end\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08trendEnd"\x8f\x01\n\x17ListCustomTopicsRequest\x12;\n\x0btrend_start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\ntrendStart\x127\n\ttrend_end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08trendEnd"Z\n\x18ListCustomTopicsResponse\x12>\n\x06topics\x18\x01 \x03(\x0b2&.textql.rpc.public.observe.CustomTopicR\x06topics"\xac\x01\n\x1cGetCustomTopicThreadsRequest\x12\x19\n\x08topic_id\x18\x01 \x01(\tR\x07topicId\x12\x18\n\x07verdict\x18\x02 \x01(\tR\x07verdict\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken\x12\x1b\n\tpage_size\x18\x04 \x01(\x05R\x08pageSize\x12\x1b\n\tmember_id\x18\x05 \x01(\tR\x08memberId"8\n\x1bGetCustomTopicPeopleRequest\x12\x19\n\x08topic_id\x18\x01 \x01(\tR\x07topicId"}\n\x11CustomTopicPerson\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n\x05email\x18\x03 \x01(\tR\x05email\x12!\n\x0cthread_count\x18\x04 \x01(\x03R\x0bthreadCount"d\n\x1cGetCustomTopicPeopleResponse\x12D\n\x06people\x18\x01 \x03(\x0b2,.textql.rpc.public.observe.CustomTopicPersonR\x06people"1\n\x14GetChatTopicsRequest\x12\x19\n\x08chat_ids\x18\x01 \x03(\tR\x07chatIds"=\n\x0cChatTopicRef\x12\x19\n\x08topic_id\x18\x01 \x01(\tR\x07topicId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"P\n\rChatTopicList\x12?\n\x06topics\x18\x01 \x03(\x0b2\'.textql.rpc.public.observe.ChatTopicRefR\x06topics"\xec\x01\n\x15GetChatTopicsResponse\x12h\n\x0etopics_by_chat\x18\x01 \x03(\x0b2B.textql.rpc.public.observe.GetChatTopicsResponse.TopicsByChatEntryR\x0ctopicsByChat\x1ai\n\x11TopicsByChatEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0b2(.textql.rpc.public.observe.ChatTopicListR\x05value:\x028\x01"\xb5\x01\n\x11CustomTopicThread\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x14\n\x05title\x18\x02 \x01(\tR\x05title\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12\x1b\n\ttagged_by\x18\x04 \x01(\tR\x08taggedBy\x127\n\ttagged_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08taggedAt"\x8f\x01\n\x1dGetCustomTopicThreadsResponse\x12F\n\x07threads\x18\x01 \x03(\x0b2,.textql.rpc.public.observe.CustomTopicThreadR\x07threads\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"\x9f\x01\n\x18UpdateCustomTopicRequest\x12\x19\n\x08topic_id\x18\x01 \x01(\tR\x07topicId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n\x06covers\x18\x03 \x01(\tH\x00R\x06covers\x88\x01\x01\x12\x1f\n\x08excludes\x18\x04 \x01(\tH\x01R\x08excludes\x88\x01\x01B\t\n\x07_coversB\x0b\n\t_excludes"\x84\x01\n\x1aSetTopicTagFeedbackRequest\x12\x19\n\x08topic_id\x18\x01 \x01(\tR\x07topicId\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId\x12\x1a\n\x08excluded\x18\x03 \x01(\x08R\x08excluded\x12\x16\n\x06reason\x18\x04 \x01(\tR\x06reason"\x1d\n\x1bSetTopicTagFeedbackResponse"2\n\x15TopicLifecycleRequest\x12\x19\n\x08topic_id\x18\x01 \x01(\tR\x07topicId"\x18\n\x16TopicLifecycleResponse2\xbe\x1f\n\x14ObservabilityService\x12\x83\x01\n\x11GetThreadWarnings\x123.textql.rpc.public.observe.GetThreadWarningsRequest\x1a4.textql.rpc.public.observe.GetThreadWarningsResponse"\x03\x90\x02\x01\x12i\n\nFixWarning\x12,.textql.rpc.public.observe.FixWarningRequest\x1a-.textql.rpc.public.observe.FixWarningResponse\x12u\n\x0eFixCheckRecord\x120.textql.rpc.public.observe.FixCheckRecordRequest\x1a1.textql.rpc.public.observe.FixCheckRecordResponse\x12\x83\x01\n\x11GetCheckRecordFix\x123.textql.rpc.public.observe.GetCheckRecordFixRequest\x1a4.textql.rpc.public.observe.GetCheckRecordFixResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x15GetObservabilityStats\x127.textql.rpc.public.observe.GetObservabilityStatsRequest\x1a8.textql.rpc.public.observe.GetObservabilityStatsResponse"\x03\x90\x02\x01\x12\x86\x01\n\x12GetBackfillPreview\x124.textql.rpc.public.observe.GetBackfillPreviewRequest\x1a5.textql.rpc.public.observe.GetBackfillPreviewResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x16BackfillThreadWarnings\x128.textql.rpc.public.observe.BackfillThreadWarningsRequest\x1a9.textql.rpc.public.observe.BackfillThreadWarningsResponse"\x00\x12\x83\x01\n\x11GetBackfillStatus\x123.textql.rpc.public.observe.GetBackfillStatusRequest\x1a4.textql.rpc.public.observe.GetBackfillStatusResponse"\x03\x90\x02\x01\x12}\n\x0fGetBillingStats\x121.textql.rpc.public.observe.GetBillingStatsRequest\x1a2.textql.rpc.public.observe.GetBillingStatsResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x14GetActivePeopleStats\x126.textql.rpc.public.observe.GetActivePeopleStatsRequest\x1a7.textql.rpc.public.observe.GetActivePeopleStatsResponse"\x03\x90\x02\x01\x12\x86\x01\n\x12GetChatSourceStats\x124.textql.rpc.public.observe.GetChatSourceStatsRequest\x1a5.textql.rpc.public.observe.GetChatSourceStatsResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x14GetActivePeopleTrend\x126.textql.rpc.public.observe.GetActivePeopleTrendRequest\x1a7.textql.rpc.public.observe.GetActivePeopleTrendResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x15GetEngagementSpectrum\x127.textql.rpc.public.observe.GetEngagementSpectrumRequest\x1a8.textql.rpc.public.observe.GetEngagementSpectrumResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x14GetAccessMethodStats\x126.textql.rpc.public.observe.GetAccessMethodStatsRequest\x1a7.textql.rpc.public.observe.GetAccessMethodStatsResponse"\x03\x90\x02\x01\x12\x83\x01\n\x11GetMemberActivity\x123.textql.rpc.public.observe.GetMemberActivityRequest\x1a4.textql.rpc.public.observe.GetMemberActivityResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x14GetMemberSignalTrend\x126.textql.rpc.public.observe.GetMemberSignalTrendRequest\x1a7.textql.rpc.public.observe.GetMemberSignalTrendResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x16ExportObservabilityCsv\x128.textql.rpc.public.observe.ExportObservabilityCsvRequest\x1a9.textql.rpc.public.observe.ExportObservabilityCsvResponse"\x00\x12}\n\x10RefineTopicDraft\x122.textql.rpc.public.observe.RefineTopicDraftRequest\x1a3.textql.rpc.public.observe.RefineTopicDraftResponse"\x00\x12z\n\x11CreateCustomTopic\x123.textql.rpc.public.observe.CreateCustomTopicRequest\x1a..textql.rpc.public.observe.CustomTopicResponse"\x00\x12\x86\x01\n\x13BackfillCustomTopic\x125.textql.rpc.public.observe.BackfillCustomTopicRequest\x1a6.textql.rpc.public.observe.BackfillCustomTopicResponse"\x00\x12w\n\x0eGetCustomTopic\x120.textql.rpc.public.observe.GetCustomTopicRequest\x1a..textql.rpc.public.observe.CustomTopicResponse"\x03\x90\x02\x01\x12\x80\x01\n\x10ListCustomTopics\x122.textql.rpc.public.observe.ListCustomTopicsRequest\x1a3.textql.rpc.public.observe.ListCustomTopicsResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x15GetCustomTopicThreads\x127.textql.rpc.public.observe.GetCustomTopicThreadsRequest\x1a8.textql.rpc.public.observe.GetCustomTopicThreadsResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x14GetCustomTopicPeople\x126.textql.rpc.public.observe.GetCustomTopicPeopleRequest\x1a7.textql.rpc.public.observe.GetCustomTopicPeopleResponse"\x03\x90\x02\x01\x12w\n\rGetChatTopics\x12/.textql.rpc.public.observe.GetChatTopicsRequest\x1a0.textql.rpc.public.observe.GetChatTopicsResponse"\x03\x90\x02\x01\x12z\n\x11UpdateCustomTopic\x123.textql.rpc.public.observe.UpdateCustomTopicRequest\x1a..textql.rpc.public.observe.CustomTopicResponse"\x00\x12\x86\x01\n\x13SetTopicTagFeedback\x125.textql.rpc.public.observe.SetTopicTagFeedbackRequest\x1a6.textql.rpc.public.observe.SetTopicTagFeedbackResponse"\x00\x12|\n\x13ActivateCustomTopic\x120.textql.rpc.public.observe.TopicLifecycleRequest\x1a1.textql.rpc.public.observe.TopicLifecycleResponse"\x00\x12~\n\x15DeactivateCustomTopic\x120.textql.rpc.public.observe.TopicLifecycleRequest\x1a1.textql.rpc.public.observe.TopicLifecycleResponse"\x00\x12z\n\x11DeleteCustomTopic\x120.textql.rpc.public.observe.TopicLifecycleRequest\x1a1.textql.rpc.public.observe.TopicLifecycleResponse"\x00b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.observe_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GETTHREADWARNINGSRESPONSE_WARNINGSBYCHATENTRY']._loaded_options = None + _globals['_GETTHREADWARNINGSRESPONSE_WARNINGSBYCHATENTRY']._serialized_options = b'8\x01' + _globals['_MEMBERBILLINGSTAT_ACUBYCATEGORYENTRY']._loaded_options = None + _globals['_MEMBERBILLINGSTAT_ACUBYCATEGORYENTRY']._serialized_options = b'8\x01' + _globals['_MEMBERBILLINGSTAT_ACUBYSOURCEENTRY']._loaded_options = None + _globals['_MEMBERBILLINGSTAT_ACUBYSOURCEENTRY']._serialized_options = b'8\x01' + _globals['_AGENTBILLINGSTAT'].fields_by_name['is_internal']._loaded_options = None + _globals['_AGENTBILLINGSTAT'].fields_by_name['is_internal']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PLAYBOOKBILLINGSTAT'].fields_by_name['is_internal']._loaded_options = None + _globals['_PLAYBOOKBILLINGSTAT'].fields_by_name['is_internal']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_DASHBOARDBILLINGSTAT'].fields_by_name['is_internal']._loaded_options = None + _globals['_DASHBOARDBILLINGSTAT'].fields_by_name['is_internal']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_APPBILLINGSTAT'].fields_by_name['is_internal']._loaded_options = None + _globals['_APPBILLINGSTAT'].fields_by_name['is_internal']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_GETCHATSOURCESTATSREQUEST'].fields_by_name['exclude_textql']._loaded_options = None + _globals['_GETCHATSOURCESTATSREQUEST'].fields_by_name['exclude_textql']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_GETCHATTOPICSRESPONSE_TOPICSBYCHATENTRY']._loaded_options = None + _globals['_GETCHATTOPICSRESPONSE_TOPICSBYCHATENTRY']._serialized_options = b'8\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetThreadWarnings']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetThreadWarnings']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetCheckRecordFix']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetCheckRecordFix']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetObservabilityStats']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetObservabilityStats']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetBackfillPreview']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetBackfillPreview']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetBackfillStatus']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetBackfillStatus']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetBillingStats']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetBillingStats']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetActivePeopleStats']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetActivePeopleStats']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetChatSourceStats']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetChatSourceStats']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetActivePeopleTrend']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetActivePeopleTrend']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetEngagementSpectrum']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetEngagementSpectrum']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetAccessMethodStats']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetAccessMethodStats']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetMemberActivity']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetMemberActivity']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetMemberSignalTrend']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetMemberSignalTrend']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetCustomTopic']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetCustomTopic']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['ListCustomTopics']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['ListCustomTopics']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetCustomTopicThreads']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetCustomTopicThreads']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetCustomTopicPeople']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetCustomTopicPeople']._serialized_options = b'\x90\x02\x01' + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetChatTopics']._loaded_options = None + _globals['_OBSERVABILITYSERVICE'].methods_by_name['GetChatTopics']._serialized_options = b'\x90\x02\x01' + _globals['_THREADWARNING']._serialized_start = 156 + _globals['_THREADWARNING']._serialized_end = 588 + _globals['_THREADWARNINGLIST']._serialized_start = 590 + _globals['_THREADWARNINGLIST']._serialized_end = 679 + _globals['_GETTHREADWARNINGSREQUEST']._serialized_start = 681 + _globals['_GETTHREADWARNINGSREQUEST']._serialized_end = 734 + _globals['_GETTHREADWARNINGSRESPONSE']._serialized_start = 737 + _globals['_GETTHREADWARNINGSRESPONSE']._serialized_end = 1037 + _globals['_GETTHREADWARNINGSRESPONSE_WARNINGSBYCHATENTRY']._serialized_start = 926 + _globals['_GETTHREADWARNINGSRESPONSE_WARNINGSBYCHATENTRY']._serialized_end = 1037 + _globals['_FIXWARNINGREQUEST']._serialized_start = 1039 + _globals['_FIXWARNINGREQUEST']._serialized_end = 1089 + _globals['_FIXWARNINGRESPONSE']._serialized_start = 1091 + _globals['_FIXWARNINGRESPONSE']._serialized_end = 1136 + _globals['_FIXCHECKRECORDREQUEST']._serialized_start = 1138 + _globals['_FIXCHECKRECORDREQUEST']._serialized_end = 1190 + _globals['_FIXCHECKRECORDRESPONSE']._serialized_start = 1192 + _globals['_FIXCHECKRECORDRESPONSE']._serialized_end = 1241 + _globals['_GETCHECKRECORDFIXREQUEST']._serialized_start = 1243 + _globals['_GETCHECKRECORDFIXREQUEST']._serialized_end = 1298 + _globals['_GETCHECKRECORDFIXRESPONSE']._serialized_start = 1301 + _globals['_GETCHECKRECORDFIXRESPONSE']._serialized_end = 1562 + _globals['_GETOBSERVABILITYSTATSREQUEST']._serialized_start = 1564 + _globals['_GETOBSERVABILITYSTATSREQUEST']._serialized_end = 1614 + _globals['_GETOBSERVABILITYSTATSRESPONSE']._serialized_start = 1617 + _globals['_GETOBSERVABILITYSTATSRESPONSE']._serialized_end = 2096 + _globals['_OBSERVABILITYSUMMARY']._serialized_start = 2099 + _globals['_OBSERVABILITYSUMMARY']._serialized_end = 3168 + _globals['_DAILYVOLUMEPOINT']._serialized_start = 3171 + _globals['_DAILYVOLUMEPOINT']._serialized_end = 3342 + _globals['_WARNINGTYPECOUNT']._serialized_start = 3344 + _globals['_WARNINGTYPECOUNT']._serialized_end = 3468 + _globals['_WARNINGTYPEMETA']._serialized_start = 3471 + _globals['_WARNINGTYPEMETA']._serialized_end = 3635 + _globals['_WARNINGTYPEDAILYCOUNT']._serialized_start = 3638 + _globals['_WARNINGTYPEDAILYCOUNT']._serialized_end = 3781 + _globals['_MEMBERSIGNALTRENDPOINT']._serialized_start = 3784 + _globals['_MEMBERSIGNALTRENDPOINT']._serialized_end = 3956 + _globals['_GETMEMBERSIGNALTRENDREQUEST']._serialized_start = 3958 + _globals['_GETMEMBERSIGNALTRENDREQUEST']._serialized_end = 4007 + _globals['_GETMEMBERSIGNALTRENDRESPONSE']._serialized_start = 4009 + _globals['_GETMEMBERSIGNALTRENDRESPONSE']._serialized_end = 4114 + _globals['_GETBACKFILLPREVIEWREQUEST']._serialized_start = 4117 + _globals['_GETBACKFILLPREVIEWREQUEST']._serialized_end = 4245 + _globals['_GETBACKFILLPREVIEWRESPONSE']._serialized_start = 4248 + _globals['_GETBACKFILLPREVIEWRESPONSE']._serialized_end = 4398 + _globals['_BACKFILLTHREADWARNINGSREQUEST']._serialized_start = 4401 + _globals['_BACKFILLTHREADWARNINGSREQUEST']._serialized_end = 4567 + _globals['_BACKFILLTHREADWARNINGSRESPONSE']._serialized_start = 4569 + _globals['_BACKFILLTHREADWARNINGSRESPONSE']._serialized_end = 4679 + _globals['_GETBACKFILLSTATUSREQUEST']._serialized_start = 4681 + _globals['_GETBACKFILLSTATUSREQUEST']._serialized_end = 4746 + _globals['_GETBACKFILLSTATUSRESPONSE']._serialized_start = 4749 + _globals['_GETBACKFILLSTATUSRESPONSE']._serialized_end = 4878 + _globals['_GETBILLINGSTATSREQUEST']._serialized_start = 4880 + _globals['_GETBILLINGSTATSREQUEST']._serialized_end = 4924 + _globals['_MEMBERBILLINGSTAT']._serialized_start = 4927 + _globals['_MEMBERBILLINGSTAT']._serialized_end = 5833 + _globals['_MEMBERBILLINGSTAT_ACUBYCATEGORYENTRY']._serialized_start = 5705 + _globals['_MEMBERBILLINGSTAT_ACUBYCATEGORYENTRY']._serialized_end = 5769 + _globals['_MEMBERBILLINGSTAT_ACUBYSOURCEENTRY']._serialized_start = 5771 + _globals['_MEMBERBILLINGSTAT_ACUBYSOURCEENTRY']._serialized_end = 5833 + _globals['_AGENTBILLINGSTAT']._serialized_start = 5836 + _globals['_AGENTBILLINGSTAT']._serialized_end = 5969 + _globals['_PLAYBOOKBILLINGSTAT']._serialized_start = 5972 + _globals['_PLAYBOOKBILLINGSTAT']._serialized_end = 6359 + _globals['_DASHBOARDBILLINGSTAT']._serialized_start = 6362 + _globals['_DASHBOARDBILLINGSTAT']._serialized_end = 6813 + _globals['_APPBILLINGSTAT']._serialized_start = 6816 + _globals['_APPBILLINGSTAT']._serialized_end = 7237 + _globals['_GETBILLINGSTATSRESPONSE']._serialized_start = 7240 + _globals['_GETBILLINGSTATSRESPONSE']._serialized_end = 8257 + _globals['_GETACTIVEPEOPLESTATSREQUEST']._serialized_start = 8259 + _globals['_GETACTIVEPEOPLESTATSREQUEST']._serialized_end = 8308 + _globals['_GETACTIVEPEOPLESTATSRESPONSE']._serialized_start = 8310 + _globals['_GETACTIVEPEOPLESTATSRESPONSE']._serialized_end = 8434 + _globals['_GETCHATSOURCESTATSREQUEST']._serialized_start = 8437 + _globals['_GETCHATSOURCESTATSREQUEST']._serialized_end = 8765 + _globals['_CHATSOURCECOUNT']._serialized_start = 8767 + _globals['_CHATSOURCECOUNT']._serialized_end = 8866 + _globals['_MEMBERCHATSOURCESTAT']._serialized_start = 8869 + _globals['_MEMBERCHATSOURCESTAT']._serialized_end = 9070 + _globals['_GETCHATSOURCESTATSRESPONSE']._serialized_start = 9073 + _globals['_GETCHATSOURCESTATSRESPONSE']._serialized_end = 9265 + _globals['_GETACTIVEPEOPLETRENDREQUEST']._serialized_start = 9268 + _globals['_GETACTIVEPEOPLETRENDREQUEST']._serialized_end = 9469 + _globals['_ACTIVEPEOPLEPOINT']._serialized_start = 9471 + _globals['_ACTIVEPEOPLEPOINT']._serialized_end = 9586 + _globals['_GETACTIVEPEOPLETRENDRESPONSE']._serialized_start = 9589 + _globals['_GETACTIVEPEOPLETRENDRESPONSE']._serialized_end = 9753 + _globals['_GETENGAGEMENTSPECTRUMREQUEST']._serialized_start = 9755 + _globals['_GETENGAGEMENTSPECTRUMREQUEST']._serialized_end = 9805 + _globals['_ENGAGEMENTTIERCOUNT']._serialized_start = 9807 + _globals['_ENGAGEMENTTIERCOUNT']._serialized_end = 9870 + _globals['_GETENGAGEMENTSPECTRUMRESPONSE']._serialized_start = 9873 + _globals['_GETENGAGEMENTSPECTRUMRESPONSE']._serialized_end = 10009 + _globals['_GETACCESSMETHODSTATSREQUEST']._serialized_start = 10012 + _globals['_GETACCESSMETHODSTATSREQUEST']._serialized_end = 10213 + _globals['_ACCESSMETHODCOUNT']._serialized_start = 10215 + _globals['_ACCESSMETHODCOUNT']._serialized_end = 10280 + _globals['_GETACCESSMETHODSTATSRESPONSE']._serialized_start = 10282 + _globals['_GETACCESSMETHODSTATSRESPONSE']._serialized_end = 10384 + _globals['_GETMEMBERACTIVITYREQUEST']._serialized_start = 10386 + _globals['_GETMEMBERACTIVITYREQUEST']._serialized_end = 10432 + _globals['_MEMBERACTIVITY']._serialized_start = 10435 + _globals['_MEMBERACTIVITY']._serialized_end = 10648 + _globals['_GETMEMBERACTIVITYRESPONSE']._serialized_start = 10650 + _globals['_GETMEMBERACTIVITYRESPONSE']._serialized_end = 10746 + _globals['_EXPORTOBSERVABILITYCSVREQUEST']._serialized_start = 10748 + _globals['_EXPORTOBSERVABILITYCSVREQUEST']._serialized_end = 10817 + _globals['_EXPORTOBSERVABILITYCSVRESPONSE']._serialized_start = 10819 + _globals['_EXPORTOBSERVABILITYCSVRESPONSE']._serialized_end = 10886 + _globals['_CUSTOMTOPIC']._serialized_start = 10889 + _globals['_CUSTOMTOPIC']._serialized_end = 11559 + _globals['_REFINETOPICDRAFTREQUEST']._serialized_start = 11561 + _globals['_REFINETOPICDRAFTREQUEST']._serialized_end = 11670 + _globals['_SIMILARTOPIC']._serialized_start = 11672 + _globals['_SIMILARTOPIC']._serialized_end = 11722 + _globals['_REFINETOPICDRAFTRESPONSE']._serialized_start = 11725 + _globals['_REFINETOPICDRAFTRESPONSE']._serialized_end = 11960 + _globals['_CREATECUSTOMTOPICREQUEST']._serialized_start = 11963 + _globals['_CREATECUSTOMTOPICREQUEST']._serialized_end = 12094 + _globals['_CUSTOMTOPICRESPONSE']._serialized_start = 12096 + _globals['_CUSTOMTOPICRESPONSE']._serialized_end = 12179 + _globals['_BACKFILLCUSTOMTOPICREQUEST']._serialized_start = 12182 + _globals['_BACKFILLCUSTOMTOPICREQUEST']._serialized_end = 12351 + _globals['_BACKFILLCUSTOMTOPICRESPONSE']._serialized_start = 12353 + _globals['_BACKFILLCUSTOMTOPICRESPONSE']._serialized_end = 12382 + _globals['_GETCUSTOMTOPICREQUEST']._serialized_start = 12385 + _globals['_GETCUSTOMTOPICREQUEST']._serialized_end = 12553 + _globals['_LISTCUSTOMTOPICSREQUEST']._serialized_start = 12556 + _globals['_LISTCUSTOMTOPICSREQUEST']._serialized_end = 12699 + _globals['_LISTCUSTOMTOPICSRESPONSE']._serialized_start = 12701 + _globals['_LISTCUSTOMTOPICSRESPONSE']._serialized_end = 12791 + _globals['_GETCUSTOMTOPICTHREADSREQUEST']._serialized_start = 12794 + _globals['_GETCUSTOMTOPICTHREADSREQUEST']._serialized_end = 12966 + _globals['_GETCUSTOMTOPICPEOPLEREQUEST']._serialized_start = 12968 + _globals['_GETCUSTOMTOPICPEOPLEREQUEST']._serialized_end = 13024 + _globals['_CUSTOMTOPICPERSON']._serialized_start = 13026 + _globals['_CUSTOMTOPICPERSON']._serialized_end = 13151 + _globals['_GETCUSTOMTOPICPEOPLERESPONSE']._serialized_start = 13153 + _globals['_GETCUSTOMTOPICPEOPLERESPONSE']._serialized_end = 13253 + _globals['_GETCHATTOPICSREQUEST']._serialized_start = 13255 + _globals['_GETCHATTOPICSREQUEST']._serialized_end = 13304 + _globals['_CHATTOPICREF']._serialized_start = 13306 + _globals['_CHATTOPICREF']._serialized_end = 13367 + _globals['_CHATTOPICLIST']._serialized_start = 13369 + _globals['_CHATTOPICLIST']._serialized_end = 13449 + _globals['_GETCHATTOPICSRESPONSE']._serialized_start = 13452 + _globals['_GETCHATTOPICSRESPONSE']._serialized_end = 13688 + _globals['_GETCHATTOPICSRESPONSE_TOPICSBYCHATENTRY']._serialized_start = 13583 + _globals['_GETCHATTOPICSRESPONSE_TOPICSBYCHATENTRY']._serialized_end = 13688 + _globals['_CUSTOMTOPICTHREAD']._serialized_start = 13691 + _globals['_CUSTOMTOPICTHREAD']._serialized_end = 13872 + _globals['_GETCUSTOMTOPICTHREADSRESPONSE']._serialized_start = 13875 + _globals['_GETCUSTOMTOPICTHREADSRESPONSE']._serialized_end = 14018 + _globals['_UPDATECUSTOMTOPICREQUEST']._serialized_start = 14021 + _globals['_UPDATECUSTOMTOPICREQUEST']._serialized_end = 14180 + _globals['_SETTOPICTAGFEEDBACKREQUEST']._serialized_start = 14183 + _globals['_SETTOPICTAGFEEDBACKREQUEST']._serialized_end = 14315 + _globals['_SETTOPICTAGFEEDBACKRESPONSE']._serialized_start = 14317 + _globals['_SETTOPICTAGFEEDBACKRESPONSE']._serialized_end = 14346 + _globals['_TOPICLIFECYCLEREQUEST']._serialized_start = 14348 + _globals['_TOPICLIFECYCLEREQUEST']._serialized_end = 14398 + _globals['_TOPICLIFECYCLERESPONSE']._serialized_start = 14400 + _globals['_TOPICLIFECYCLERESPONSE']._serialized_end = 14424 + _globals['_OBSERVABILITYSERVICE']._serialized_start = 14427 + _globals['_OBSERVABILITYSERVICE']._serialized_end = 18457 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/observe_pb2.pyi b/src/textql_sdk/_connect/public/observe_pb2.pyi new file mode 100644 index 0000000..ef08987 --- /dev/null +++ b/src/textql_sdk/_connect/public/observe_pb2.pyi @@ -0,0 +1,1085 @@ +import datetime +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import chat_pb2 as _chat_pb2 +from public import warnings_pb2 as _warnings_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ThreadWarning(_message.Message): + __slots__ = ('id', 'chat_id', 'warning_type', 'severity', 'detail', 'fix_chat_id', 'fix_patch_cell', 'fix_run_active', 'fix_status') + ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + WARNING_TYPE_FIELD_NUMBER: _ClassVar[int] + SEVERITY_FIELD_NUMBER: _ClassVar[int] + DETAIL_FIELD_NUMBER: _ClassVar[int] + FIX_CHAT_ID_FIELD_NUMBER: _ClassVar[int] + FIX_PATCH_CELL_FIELD_NUMBER: _ClassVar[int] + FIX_RUN_ACTIVE_FIELD_NUMBER: _ClassVar[int] + FIX_STATUS_FIELD_NUMBER: _ClassVar[int] + id: str + chat_id: str + warning_type: _warnings_pb2.ThreadWarningType + severity: str + detail: str + fix_chat_id: str + fix_patch_cell: _chat_pb2.Cell + fix_run_active: bool + fix_status: str + + def __init__(self, id: _Optional[str]=..., chat_id: _Optional[str]=..., warning_type: _Optional[_Union[_warnings_pb2.ThreadWarningType, str]]=..., severity: _Optional[str]=..., detail: _Optional[str]=..., fix_chat_id: _Optional[str]=..., fix_patch_cell: _Optional[_Union[_chat_pb2.Cell, _Mapping]]=..., fix_run_active: bool=..., fix_status: _Optional[str]=...) -> None: + ... + +class ThreadWarningList(_message.Message): + __slots__ = ('warnings',) + WARNINGS_FIELD_NUMBER: _ClassVar[int] + warnings: _containers.RepeatedCompositeFieldContainer[ThreadWarning] + + def __init__(self, warnings: _Optional[_Iterable[_Union[ThreadWarning, _Mapping]]]=...) -> None: + ... + +class GetThreadWarningsRequest(_message.Message): + __slots__ = ('chat_ids',) + CHAT_IDS_FIELD_NUMBER: _ClassVar[int] + chat_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, chat_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetThreadWarningsResponse(_message.Message): + __slots__ = ('warnings_by_chat', 'analyzed_chat_ids') + + class WarningsByChatEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: ThreadWarningList + + def __init__(self, key: _Optional[str]=..., value: _Optional[_Union[ThreadWarningList, _Mapping]]=...) -> None: + ... + WARNINGS_BY_CHAT_FIELD_NUMBER: _ClassVar[int] + ANALYZED_CHAT_IDS_FIELD_NUMBER: _ClassVar[int] + warnings_by_chat: _containers.MessageMap[str, ThreadWarningList] + analyzed_chat_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, warnings_by_chat: _Optional[_Mapping[str, ThreadWarningList]]=..., analyzed_chat_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class FixWarningRequest(_message.Message): + __slots__ = ('warning_id',) + WARNING_ID_FIELD_NUMBER: _ClassVar[int] + warning_id: str + + def __init__(self, warning_id: _Optional[str]=...) -> None: + ... + +class FixWarningResponse(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class FixCheckRecordRequest(_message.Message): + __slots__ = ('record_id',) + RECORD_ID_FIELD_NUMBER: _ClassVar[int] + record_id: str + + def __init__(self, record_id: _Optional[str]=...) -> None: + ... + +class FixCheckRecordResponse(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class GetCheckRecordFixRequest(_message.Message): + __slots__ = ('record_id',) + RECORD_ID_FIELD_NUMBER: _ClassVar[int] + record_id: str + + def __init__(self, record_id: _Optional[str]=...) -> None: + ... + +class GetCheckRecordFixResponse(_message.Message): + __slots__ = ('fix_chat_id', 'fix_patch_cell', 'fix_run_active', 'fix_status') + FIX_CHAT_ID_FIELD_NUMBER: _ClassVar[int] + FIX_PATCH_CELL_FIELD_NUMBER: _ClassVar[int] + FIX_RUN_ACTIVE_FIELD_NUMBER: _ClassVar[int] + FIX_STATUS_FIELD_NUMBER: _ClassVar[int] + fix_chat_id: str + fix_patch_cell: _chat_pb2.Cell + fix_run_active: bool + fix_status: str + + def __init__(self, fix_chat_id: _Optional[str]=..., fix_patch_cell: _Optional[_Union[_chat_pb2.Cell, _Mapping]]=..., fix_run_active: bool=..., fix_status: _Optional[str]=...) -> None: + ... + +class GetObservabilityStatsRequest(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: int + + def __init__(self, days: _Optional[int]=...) -> None: + ... + +class GetObservabilityStatsResponse(_message.Message): + __slots__ = ('summary', 'daily_volume', 'warning_distribution', 'warning_catalog', 'warning_daily_distribution') + SUMMARY_FIELD_NUMBER: _ClassVar[int] + DAILY_VOLUME_FIELD_NUMBER: _ClassVar[int] + WARNING_DISTRIBUTION_FIELD_NUMBER: _ClassVar[int] + WARNING_CATALOG_FIELD_NUMBER: _ClassVar[int] + WARNING_DAILY_DISTRIBUTION_FIELD_NUMBER: _ClassVar[int] + summary: ObservabilitySummary + daily_volume: _containers.RepeatedCompositeFieldContainer[DailyVolumePoint] + warning_distribution: _containers.RepeatedCompositeFieldContainer[WarningTypeCount] + warning_catalog: _containers.RepeatedCompositeFieldContainer[WarningTypeMeta] + warning_daily_distribution: _containers.RepeatedCompositeFieldContainer[WarningTypeDailyCount] + + def __init__(self, summary: _Optional[_Union[ObservabilitySummary, _Mapping]]=..., daily_volume: _Optional[_Iterable[_Union[DailyVolumePoint, _Mapping]]]=..., warning_distribution: _Optional[_Iterable[_Union[WarningTypeCount, _Mapping]]]=..., warning_catalog: _Optional[_Iterable[_Union[WarningTypeMeta, _Mapping]]]=..., warning_daily_distribution: _Optional[_Iterable[_Union[WarningTypeDailyCount, _Mapping]]]=...) -> None: + ... + +class ObservabilitySummary(_message.Message): + __slots__ = ('total_runs', 'total_threads', 'total_playbooks', 'total_warnings', 'warn_rate_pct', 'runs_delta_pct', 'threads_delta_pct', 'playbooks_delta_pct', 'warnings_delta_pct', 'runs_sparkline', 'threads_sparkline', 'playbooks_sparkline', 'warnings_sparkline', 'total_feed_agents', 'feed_agents_delta_pct', 'feed_agents_sparkline', 'total_slack', 'slack_delta_pct', 'slack_sparkline', 'total_teams', 'teams_delta_pct', 'teams_sparkline', 'total_positive', 'positive_delta_pct', 'positive_sparkline') + TOTAL_RUNS_FIELD_NUMBER: _ClassVar[int] + TOTAL_THREADS_FIELD_NUMBER: _ClassVar[int] + TOTAL_PLAYBOOKS_FIELD_NUMBER: _ClassVar[int] + TOTAL_WARNINGS_FIELD_NUMBER: _ClassVar[int] + WARN_RATE_PCT_FIELD_NUMBER: _ClassVar[int] + RUNS_DELTA_PCT_FIELD_NUMBER: _ClassVar[int] + THREADS_DELTA_PCT_FIELD_NUMBER: _ClassVar[int] + PLAYBOOKS_DELTA_PCT_FIELD_NUMBER: _ClassVar[int] + WARNINGS_DELTA_PCT_FIELD_NUMBER: _ClassVar[int] + RUNS_SPARKLINE_FIELD_NUMBER: _ClassVar[int] + THREADS_SPARKLINE_FIELD_NUMBER: _ClassVar[int] + PLAYBOOKS_SPARKLINE_FIELD_NUMBER: _ClassVar[int] + WARNINGS_SPARKLINE_FIELD_NUMBER: _ClassVar[int] + TOTAL_FEED_AGENTS_FIELD_NUMBER: _ClassVar[int] + FEED_AGENTS_DELTA_PCT_FIELD_NUMBER: _ClassVar[int] + FEED_AGENTS_SPARKLINE_FIELD_NUMBER: _ClassVar[int] + TOTAL_SLACK_FIELD_NUMBER: _ClassVar[int] + SLACK_DELTA_PCT_FIELD_NUMBER: _ClassVar[int] + SLACK_SPARKLINE_FIELD_NUMBER: _ClassVar[int] + TOTAL_TEAMS_FIELD_NUMBER: _ClassVar[int] + TEAMS_DELTA_PCT_FIELD_NUMBER: _ClassVar[int] + TEAMS_SPARKLINE_FIELD_NUMBER: _ClassVar[int] + TOTAL_POSITIVE_FIELD_NUMBER: _ClassVar[int] + POSITIVE_DELTA_PCT_FIELD_NUMBER: _ClassVar[int] + POSITIVE_SPARKLINE_FIELD_NUMBER: _ClassVar[int] + total_runs: int + total_threads: int + total_playbooks: int + total_warnings: int + warn_rate_pct: int + runs_delta_pct: int + threads_delta_pct: int + playbooks_delta_pct: int + warnings_delta_pct: int + runs_sparkline: _containers.RepeatedScalarFieldContainer[int] + threads_sparkline: _containers.RepeatedScalarFieldContainer[int] + playbooks_sparkline: _containers.RepeatedScalarFieldContainer[int] + warnings_sparkline: _containers.RepeatedScalarFieldContainer[int] + total_feed_agents: int + feed_agents_delta_pct: int + feed_agents_sparkline: _containers.RepeatedScalarFieldContainer[int] + total_slack: int + slack_delta_pct: int + slack_sparkline: _containers.RepeatedScalarFieldContainer[int] + total_teams: int + teams_delta_pct: int + teams_sparkline: _containers.RepeatedScalarFieldContainer[int] + total_positive: int + positive_delta_pct: int + positive_sparkline: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, total_runs: _Optional[int]=..., total_threads: _Optional[int]=..., total_playbooks: _Optional[int]=..., total_warnings: _Optional[int]=..., warn_rate_pct: _Optional[int]=..., runs_delta_pct: _Optional[int]=..., threads_delta_pct: _Optional[int]=..., playbooks_delta_pct: _Optional[int]=..., warnings_delta_pct: _Optional[int]=..., runs_sparkline: _Optional[_Iterable[int]]=..., threads_sparkline: _Optional[_Iterable[int]]=..., playbooks_sparkline: _Optional[_Iterable[int]]=..., warnings_sparkline: _Optional[_Iterable[int]]=..., total_feed_agents: _Optional[int]=..., feed_agents_delta_pct: _Optional[int]=..., feed_agents_sparkline: _Optional[_Iterable[int]]=..., total_slack: _Optional[int]=..., slack_delta_pct: _Optional[int]=..., slack_sparkline: _Optional[_Iterable[int]]=..., total_teams: _Optional[int]=..., teams_delta_pct: _Optional[int]=..., teams_sparkline: _Optional[_Iterable[int]]=..., total_positive: _Optional[int]=..., positive_delta_pct: _Optional[int]=..., positive_sparkline: _Optional[_Iterable[int]]=...) -> None: + ... + +class DailyVolumePoint(_message.Message): + __slots__ = ('date', 'threads', 'playbooks', 'feed_agents', 'slack', 'teams') + DATE_FIELD_NUMBER: _ClassVar[int] + THREADS_FIELD_NUMBER: _ClassVar[int] + PLAYBOOKS_FIELD_NUMBER: _ClassVar[int] + FEED_AGENTS_FIELD_NUMBER: _ClassVar[int] + SLACK_FIELD_NUMBER: _ClassVar[int] + TEAMS_FIELD_NUMBER: _ClassVar[int] + date: str + threads: int + playbooks: int + feed_agents: int + slack: int + teams: int + + def __init__(self, date: _Optional[str]=..., threads: _Optional[int]=..., playbooks: _Optional[int]=..., feed_agents: _Optional[int]=..., slack: _Optional[int]=..., teams: _Optional[int]=...) -> None: + ... + +class WarningTypeCount(_message.Message): + __slots__ = ('warning_type', 'total') + WARNING_TYPE_FIELD_NUMBER: _ClassVar[int] + TOTAL_FIELD_NUMBER: _ClassVar[int] + warning_type: _warnings_pb2.ThreadWarningType + total: int + + def __init__(self, warning_type: _Optional[_Union[_warnings_pb2.ThreadWarningType, str]]=..., total: _Optional[int]=...) -> None: + ... + +class WarningTypeMeta(_message.Message): + __slots__ = ('warning_type', 'category') + WARNING_TYPE_FIELD_NUMBER: _ClassVar[int] + CATEGORY_FIELD_NUMBER: _ClassVar[int] + warning_type: _warnings_pb2.ThreadWarningType + category: _warnings_pb2.WarningCategory + + def __init__(self, warning_type: _Optional[_Union[_warnings_pb2.ThreadWarningType, str]]=..., category: _Optional[_Union[_warnings_pb2.WarningCategory, str]]=...) -> None: + ... + +class WarningTypeDailyCount(_message.Message): + __slots__ = ('date', 'warning_type', 'total') + DATE_FIELD_NUMBER: _ClassVar[int] + WARNING_TYPE_FIELD_NUMBER: _ClassVar[int] + TOTAL_FIELD_NUMBER: _ClassVar[int] + date: str + warning_type: _warnings_pb2.ThreadWarningType + total: int + + def __init__(self, date: _Optional[str]=..., warning_type: _Optional[_Union[_warnings_pb2.ThreadWarningType, str]]=..., total: _Optional[int]=...) -> None: + ... + +class MemberSignalTrendPoint(_message.Message): + __slots__ = ('member_id', 'bucket_start', 'positive', 'negative', 'analyzed') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + BUCKET_START_FIELD_NUMBER: _ClassVar[int] + POSITIVE_FIELD_NUMBER: _ClassVar[int] + NEGATIVE_FIELD_NUMBER: _ClassVar[int] + ANALYZED_FIELD_NUMBER: _ClassVar[int] + member_id: str + bucket_start: str + positive: int + negative: int + analyzed: int + + def __init__(self, member_id: _Optional[str]=..., bucket_start: _Optional[str]=..., positive: _Optional[int]=..., negative: _Optional[int]=..., analyzed: _Optional[int]=...) -> None: + ... + +class GetMemberSignalTrendRequest(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: int + + def __init__(self, days: _Optional[int]=...) -> None: + ... + +class GetMemberSignalTrendResponse(_message.Message): + __slots__ = ('points',) + POINTS_FIELD_NUMBER: _ClassVar[int] + points: _containers.RepeatedCompositeFieldContainer[MemberSignalTrendPoint] + + def __init__(self, points: _Optional[_Iterable[_Union[MemberSignalTrendPoint, _Mapping]]]=...) -> None: + ... + +class GetBackfillPreviewRequest(_message.Message): + __slots__ = ('days', 'org_id', 'redo_all_threads') + DAYS_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + REDO_ALL_THREADS_FIELD_NUMBER: _ClassVar[int] + days: int + org_id: str + redo_all_threads: bool + + def __init__(self, days: _Optional[int]=..., org_id: _Optional[str]=..., redo_all_threads: bool=...) -> None: + ... + +class GetBackfillPreviewResponse(_message.Message): + __slots__ = ('unanalyzed_count', 'org_name', 'eligible_thread_count') + UNANALYZED_COUNT_FIELD_NUMBER: _ClassVar[int] + ORG_NAME_FIELD_NUMBER: _ClassVar[int] + ELIGIBLE_THREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + unanalyzed_count: int + org_name: str + eligible_thread_count: int + + def __init__(self, unanalyzed_count: _Optional[int]=..., org_name: _Optional[str]=..., eligible_thread_count: _Optional[int]=...) -> None: + ... + +class BackfillThreadWarningsRequest(_message.Message): + __slots__ = ('days', 'concurrency', 'org_id', 'redo_all_threads') + DAYS_FIELD_NUMBER: _ClassVar[int] + CONCURRENCY_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + REDO_ALL_THREADS_FIELD_NUMBER: _ClassVar[int] + days: int + concurrency: int + org_id: str + redo_all_threads: bool + + def __init__(self, days: _Optional[int]=..., concurrency: _Optional[int]=..., org_id: _Optional[str]=..., redo_all_threads: bool=...) -> None: + ... + +class BackfillThreadWarningsResponse(_message.Message): + __slots__ = ('total_threads', 'already_running') + TOTAL_THREADS_FIELD_NUMBER: _ClassVar[int] + ALREADY_RUNNING_FIELD_NUMBER: _ClassVar[int] + total_threads: int + already_running: bool + + def __init__(self, total_threads: _Optional[int]=..., already_running: bool=...) -> None: + ... + +class GetBackfillStatusRequest(_message.Message): + __slots__ = ('org_id',) + ORG_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + + def __init__(self, org_id: _Optional[str]=...) -> None: + ... + +class GetBackfillStatusResponse(_message.Message): + __slots__ = ('running', 'total', 'processed', 'failed') + RUNNING_FIELD_NUMBER: _ClassVar[int] + TOTAL_FIELD_NUMBER: _ClassVar[int] + PROCESSED_FIELD_NUMBER: _ClassVar[int] + FAILED_FIELD_NUMBER: _ClassVar[int] + running: bool + total: int + processed: int + failed: int + + def __init__(self, running: bool=..., total: _Optional[int]=..., processed: _Optional[int]=..., failed: _Optional[int]=...) -> None: + ... + +class GetBillingStatsRequest(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: int + + def __init__(self, days: _Optional[int]=...) -> None: + ... + +class MemberBillingStat(_message.Message): + __slots__ = ('member_id', 'member_name', 'email', 'total_acu', 'acu_by_category', 'acu_by_source', 'profile_image_url', 'thread_count', 'playbook_count', 'dashboard_count', 'agent_count', 'is_former_member', 'positive_signal_count', 'negative_signal_count', 'flagged_thread_count', 'analyzed_thread_count') + + class AcuByCategoryEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: float + + def __init__(self, key: _Optional[str]=..., value: _Optional[float]=...) -> None: + ... + + class AcuBySourceEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: float + + def __init__(self, key: _Optional[str]=..., value: _Optional[float]=...) -> None: + ... + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + TOTAL_ACU_FIELD_NUMBER: _ClassVar[int] + ACU_BY_CATEGORY_FIELD_NUMBER: _ClassVar[int] + ACU_BY_SOURCE_FIELD_NUMBER: _ClassVar[int] + PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + THREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_COUNT_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_COUNT_FIELD_NUMBER: _ClassVar[int] + AGENT_COUNT_FIELD_NUMBER: _ClassVar[int] + IS_FORMER_MEMBER_FIELD_NUMBER: _ClassVar[int] + POSITIVE_SIGNAL_COUNT_FIELD_NUMBER: _ClassVar[int] + NEGATIVE_SIGNAL_COUNT_FIELD_NUMBER: _ClassVar[int] + FLAGGED_THREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + ANALYZED_THREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + member_id: str + member_name: str + email: str + total_acu: float + acu_by_category: _containers.ScalarMap[str, float] + acu_by_source: _containers.ScalarMap[str, float] + profile_image_url: str + thread_count: int + playbook_count: int + dashboard_count: int + agent_count: int + is_former_member: bool + positive_signal_count: int + negative_signal_count: int + flagged_thread_count: int + analyzed_thread_count: int + + def __init__(self, member_id: _Optional[str]=..., member_name: _Optional[str]=..., email: _Optional[str]=..., total_acu: _Optional[float]=..., acu_by_category: _Optional[_Mapping[str, float]]=..., acu_by_source: _Optional[_Mapping[str, float]]=..., profile_image_url: _Optional[str]=..., thread_count: _Optional[int]=..., playbook_count: _Optional[int]=..., dashboard_count: _Optional[int]=..., agent_count: _Optional[int]=..., is_former_member: bool=..., positive_signal_count: _Optional[int]=..., negative_signal_count: _Optional[int]=..., flagged_thread_count: _Optional[int]=..., analyzed_thread_count: _Optional[int]=...) -> None: + ... + +class AgentBillingStat(_message.Message): + __slots__ = ('agent_id', 'estimated_acu', 'is_internal') + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + ESTIMATED_ACU_FIELD_NUMBER: _ClassVar[int] + IS_INTERNAL_FIELD_NUMBER: _ClassVar[int] + agent_id: str + estimated_acu: float + is_internal: bool + + def __init__(self, agent_id: _Optional[str]=..., estimated_acu: _Optional[float]=..., is_internal: bool=...) -> None: + ... + +class PlaybookBillingStat(_message.Message): + __slots__ = ('playbook_id', 'playbook_name', 'owner_id', 'owner_name', 'total_acu', 'llm_acu', 'compute_acu', 'run_count', 'is_internal', 'daily_run_counts', 'is_active') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_NAME_FIELD_NUMBER: _ClassVar[int] + OWNER_ID_FIELD_NUMBER: _ClassVar[int] + OWNER_NAME_FIELD_NUMBER: _ClassVar[int] + TOTAL_ACU_FIELD_NUMBER: _ClassVar[int] + LLM_ACU_FIELD_NUMBER: _ClassVar[int] + COMPUTE_ACU_FIELD_NUMBER: _ClassVar[int] + RUN_COUNT_FIELD_NUMBER: _ClassVar[int] + IS_INTERNAL_FIELD_NUMBER: _ClassVar[int] + DAILY_RUN_COUNTS_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + playbook_name: str + owner_id: str + owner_name: str + total_acu: float + llm_acu: float + compute_acu: float + run_count: int + is_internal: bool + daily_run_counts: _containers.RepeatedScalarFieldContainer[int] + is_active: bool + + def __init__(self, playbook_id: _Optional[str]=..., playbook_name: _Optional[str]=..., owner_id: _Optional[str]=..., owner_name: _Optional[str]=..., total_acu: _Optional[float]=..., llm_acu: _Optional[float]=..., compute_acu: _Optional[float]=..., run_count: _Optional[int]=..., is_internal: bool=..., daily_run_counts: _Optional[_Iterable[int]]=..., is_active: bool=...) -> None: + ... + +class DashboardBillingStat(_message.Message): + __slots__ = ('dashboard_id', 'dashboard_name', 'owner_id', 'owner_name', 'compute_acu', 'refresh_count', 'is_internal', 'view_count', 'last_viewed_at', 'daily_view_counts', 'is_published') + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_NAME_FIELD_NUMBER: _ClassVar[int] + OWNER_ID_FIELD_NUMBER: _ClassVar[int] + OWNER_NAME_FIELD_NUMBER: _ClassVar[int] + COMPUTE_ACU_FIELD_NUMBER: _ClassVar[int] + REFRESH_COUNT_FIELD_NUMBER: _ClassVar[int] + IS_INTERNAL_FIELD_NUMBER: _ClassVar[int] + VIEW_COUNT_FIELD_NUMBER: _ClassVar[int] + LAST_VIEWED_AT_FIELD_NUMBER: _ClassVar[int] + DAILY_VIEW_COUNTS_FIELD_NUMBER: _ClassVar[int] + IS_PUBLISHED_FIELD_NUMBER: _ClassVar[int] + dashboard_id: str + dashboard_name: str + owner_id: str + owner_name: str + compute_acu: float + refresh_count: int + is_internal: bool + view_count: int + last_viewed_at: _timestamp_pb2.Timestamp + daily_view_counts: _containers.RepeatedScalarFieldContainer[int] + is_published: bool + + def __init__(self, dashboard_id: _Optional[str]=..., dashboard_name: _Optional[str]=..., owner_id: _Optional[str]=..., owner_name: _Optional[str]=..., compute_acu: _Optional[float]=..., refresh_count: _Optional[int]=..., is_internal: bool=..., view_count: _Optional[int]=..., last_viewed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., daily_view_counts: _Optional[_Iterable[int]]=..., is_published: bool=...) -> None: + ... + +class AppBillingStat(_message.Message): + __slots__ = ('app_id', 'app_name', 'owner_id', 'owner_name', 'compute_acu', 'refresh_count', 'is_internal', 'view_count', 'last_viewed_at', 'daily_view_counts', 'is_published') + APP_ID_FIELD_NUMBER: _ClassVar[int] + APP_NAME_FIELD_NUMBER: _ClassVar[int] + OWNER_ID_FIELD_NUMBER: _ClassVar[int] + OWNER_NAME_FIELD_NUMBER: _ClassVar[int] + COMPUTE_ACU_FIELD_NUMBER: _ClassVar[int] + REFRESH_COUNT_FIELD_NUMBER: _ClassVar[int] + IS_INTERNAL_FIELD_NUMBER: _ClassVar[int] + VIEW_COUNT_FIELD_NUMBER: _ClassVar[int] + LAST_VIEWED_AT_FIELD_NUMBER: _ClassVar[int] + DAILY_VIEW_COUNTS_FIELD_NUMBER: _ClassVar[int] + IS_PUBLISHED_FIELD_NUMBER: _ClassVar[int] + app_id: str + app_name: str + owner_id: str + owner_name: str + compute_acu: float + refresh_count: int + is_internal: bool + view_count: int + last_viewed_at: _timestamp_pb2.Timestamp + daily_view_counts: _containers.RepeatedScalarFieldContainer[int] + is_published: bool + + def __init__(self, app_id: _Optional[str]=..., app_name: _Optional[str]=..., owner_id: _Optional[str]=..., owner_name: _Optional[str]=..., compute_acu: _Optional[float]=..., refresh_count: _Optional[int]=..., is_internal: bool=..., view_count: _Optional[int]=..., last_viewed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., daily_view_counts: _Optional[_Iterable[int]]=..., is_published: bool=...) -> None: + ... + +class GetBillingStatsResponse(_message.Message): + __slots__ = ('member_stats', 'agent_stats', 'total_feed_acu', 'playbook_stats', 'dashboard_stats', 'total_playbook_acu', 'total_dashboard_acu', 'unattributed_feed_acu', 'unattributed_dashboard_acu', 'total_dashboard_count', 'total_playbook_count', 'unattributed_playbook_acu', 'app_stats', 'total_app_acu', 'unattributed_app_acu', 'total_app_count', 'acu_rate_per_1000_usd') + MEMBER_STATS_FIELD_NUMBER: _ClassVar[int] + AGENT_STATS_FIELD_NUMBER: _ClassVar[int] + TOTAL_FEED_ACU_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_STATS_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_STATS_FIELD_NUMBER: _ClassVar[int] + TOTAL_PLAYBOOK_ACU_FIELD_NUMBER: _ClassVar[int] + TOTAL_DASHBOARD_ACU_FIELD_NUMBER: _ClassVar[int] + UNATTRIBUTED_FEED_ACU_FIELD_NUMBER: _ClassVar[int] + UNATTRIBUTED_DASHBOARD_ACU_FIELD_NUMBER: _ClassVar[int] + TOTAL_DASHBOARD_COUNT_FIELD_NUMBER: _ClassVar[int] + TOTAL_PLAYBOOK_COUNT_FIELD_NUMBER: _ClassVar[int] + UNATTRIBUTED_PLAYBOOK_ACU_FIELD_NUMBER: _ClassVar[int] + APP_STATS_FIELD_NUMBER: _ClassVar[int] + TOTAL_APP_ACU_FIELD_NUMBER: _ClassVar[int] + UNATTRIBUTED_APP_ACU_FIELD_NUMBER: _ClassVar[int] + TOTAL_APP_COUNT_FIELD_NUMBER: _ClassVar[int] + ACU_RATE_PER_1000_USD_FIELD_NUMBER: _ClassVar[int] + member_stats: _containers.RepeatedCompositeFieldContainer[MemberBillingStat] + agent_stats: _containers.RepeatedCompositeFieldContainer[AgentBillingStat] + total_feed_acu: float + playbook_stats: _containers.RepeatedCompositeFieldContainer[PlaybookBillingStat] + dashboard_stats: _containers.RepeatedCompositeFieldContainer[DashboardBillingStat] + total_playbook_acu: float + total_dashboard_acu: float + unattributed_feed_acu: float + unattributed_dashboard_acu: float + total_dashboard_count: int + total_playbook_count: int + unattributed_playbook_acu: float + app_stats: _containers.RepeatedCompositeFieldContainer[AppBillingStat] + total_app_acu: float + unattributed_app_acu: float + total_app_count: int + acu_rate_per_1000_usd: float + + def __init__(self, member_stats: _Optional[_Iterable[_Union[MemberBillingStat, _Mapping]]]=..., agent_stats: _Optional[_Iterable[_Union[AgentBillingStat, _Mapping]]]=..., total_feed_acu: _Optional[float]=..., playbook_stats: _Optional[_Iterable[_Union[PlaybookBillingStat, _Mapping]]]=..., dashboard_stats: _Optional[_Iterable[_Union[DashboardBillingStat, _Mapping]]]=..., total_playbook_acu: _Optional[float]=..., total_dashboard_acu: _Optional[float]=..., unattributed_feed_acu: _Optional[float]=..., unattributed_dashboard_acu: _Optional[float]=..., total_dashboard_count: _Optional[int]=..., total_playbook_count: _Optional[int]=..., unattributed_playbook_acu: _Optional[float]=..., app_stats: _Optional[_Iterable[_Union[AppBillingStat, _Mapping]]]=..., total_app_acu: _Optional[float]=..., unattributed_app_acu: _Optional[float]=..., total_app_count: _Optional[int]=..., acu_rate_per_1000_usd: _Optional[float]=...) -> None: + ... + +class GetActivePeopleStatsRequest(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: int + + def __init__(self, days: _Optional[int]=...) -> None: + ... + +class GetActivePeopleStatsResponse(_message.Message): + __slots__ = ('active_member_count', 'total_member_count') + ACTIVE_MEMBER_COUNT_FIELD_NUMBER: _ClassVar[int] + TOTAL_MEMBER_COUNT_FIELD_NUMBER: _ClassVar[int] + active_member_count: int + total_member_count: int + + def __init__(self, active_member_count: _Optional[int]=..., total_member_count: _Optional[int]=...) -> None: + ... + +class GetChatSourceStatsRequest(_message.Message): + __slots__ = ('days', 'exclude_textql', 'member_id', 'start_date', 'end_date') + DAYS_FIELD_NUMBER: _ClassVar[int] + EXCLUDE_TEXTQL_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + START_DATE_FIELD_NUMBER: _ClassVar[int] + END_DATE_FIELD_NUMBER: _ClassVar[int] + days: int + exclude_textql: bool + member_id: str + start_date: _timestamp_pb2.Timestamp + end_date: _timestamp_pb2.Timestamp + + def __init__(self, days: _Optional[int]=..., exclude_textql: bool=..., member_id: _Optional[str]=..., start_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., end_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ChatSourceCount(_message.Message): + __slots__ = ('source', 'total') + SOURCE_FIELD_NUMBER: _ClassVar[int] + TOTAL_FIELD_NUMBER: _ClassVar[int] + source: _chat_pb2.ChatSource + total: int + + def __init__(self, source: _Optional[_Union[_chat_pb2.ChatSource, str]]=..., total: _Optional[int]=...) -> None: + ... + +class MemberChatSourceStat(_message.Message): + __slots__ = ('member_id', 'member_name', 'email', 'total', 'by_source') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + TOTAL_FIELD_NUMBER: _ClassVar[int] + BY_SOURCE_FIELD_NUMBER: _ClassVar[int] + member_id: str + member_name: str + email: str + total: int + by_source: _containers.RepeatedCompositeFieldContainer[ChatSourceCount] + + def __init__(self, member_id: _Optional[str]=..., member_name: _Optional[str]=..., email: _Optional[str]=..., total: _Optional[int]=..., by_source: _Optional[_Iterable[_Union[ChatSourceCount, _Mapping]]]=...) -> None: + ... + +class GetChatSourceStatsResponse(_message.Message): + __slots__ = ('org_by_source', 'member_stats') + ORG_BY_SOURCE_FIELD_NUMBER: _ClassVar[int] + MEMBER_STATS_FIELD_NUMBER: _ClassVar[int] + org_by_source: _containers.RepeatedCompositeFieldContainer[ChatSourceCount] + member_stats: _containers.RepeatedCompositeFieldContainer[MemberChatSourceStat] + + def __init__(self, org_by_source: _Optional[_Iterable[_Union[ChatSourceCount, _Mapping]]]=..., member_stats: _Optional[_Iterable[_Union[MemberChatSourceStat, _Mapping]]]=...) -> None: + ... + +class GetActivePeopleTrendRequest(_message.Message): + __slots__ = ('days', 'start_date', 'end_date') + DAYS_FIELD_NUMBER: _ClassVar[int] + START_DATE_FIELD_NUMBER: _ClassVar[int] + END_DATE_FIELD_NUMBER: _ClassVar[int] + days: int + start_date: _timestamp_pb2.Timestamp + end_date: _timestamp_pb2.Timestamp + + def __init__(self, days: _Optional[int]=..., start_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., end_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ActivePeoplePoint(_message.Message): + __slots__ = ('bucket_start', 'returning', 'new_people') + BUCKET_START_FIELD_NUMBER: _ClassVar[int] + RETURNING_FIELD_NUMBER: _ClassVar[int] + NEW_PEOPLE_FIELD_NUMBER: _ClassVar[int] + bucket_start: str + returning: int + new_people: int + + def __init__(self, bucket_start: _Optional[str]=..., returning: _Optional[int]=..., new_people: _Optional[int]=...) -> None: + ... + +class GetActivePeopleTrendResponse(_message.Message): + __slots__ = ('points', 'growth_pct', 'bucket_unit') + POINTS_FIELD_NUMBER: _ClassVar[int] + GROWTH_PCT_FIELD_NUMBER: _ClassVar[int] + BUCKET_UNIT_FIELD_NUMBER: _ClassVar[int] + points: _containers.RepeatedCompositeFieldContainer[ActivePeoplePoint] + growth_pct: int + bucket_unit: str + + def __init__(self, points: _Optional[_Iterable[_Union[ActivePeoplePoint, _Mapping]]]=..., growth_pct: _Optional[int]=..., bucket_unit: _Optional[str]=...) -> None: + ... + +class GetEngagementSpectrumRequest(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: int + + def __init__(self, days: _Optional[int]=...) -> None: + ... + +class EngagementTierCount(_message.Message): + __slots__ = ('tier', 'count') + TIER_FIELD_NUMBER: _ClassVar[int] + COUNT_FIELD_NUMBER: _ClassVar[int] + tier: str + count: int + + def __init__(self, tier: _Optional[str]=..., count: _Optional[int]=...) -> None: + ... + +class GetEngagementSpectrumResponse(_message.Message): + __slots__ = ('tiers', 'total_people') + TIERS_FIELD_NUMBER: _ClassVar[int] + TOTAL_PEOPLE_FIELD_NUMBER: _ClassVar[int] + tiers: _containers.RepeatedCompositeFieldContainer[EngagementTierCount] + total_people: int + + def __init__(self, tiers: _Optional[_Iterable[_Union[EngagementTierCount, _Mapping]]]=..., total_people: _Optional[int]=...) -> None: + ... + +class GetAccessMethodStatsRequest(_message.Message): + __slots__ = ('days', 'start_date', 'end_date') + DAYS_FIELD_NUMBER: _ClassVar[int] + START_DATE_FIELD_NUMBER: _ClassVar[int] + END_DATE_FIELD_NUMBER: _ClassVar[int] + days: int + start_date: _timestamp_pb2.Timestamp + end_date: _timestamp_pb2.Timestamp + + def __init__(self, days: _Optional[int]=..., start_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., end_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class AccessMethodCount(_message.Message): + __slots__ = ('method', 'total') + METHOD_FIELD_NUMBER: _ClassVar[int] + TOTAL_FIELD_NUMBER: _ClassVar[int] + method: str + total: int + + def __init__(self, method: _Optional[str]=..., total: _Optional[int]=...) -> None: + ... + +class GetAccessMethodStatsResponse(_message.Message): + __slots__ = ('methods',) + METHODS_FIELD_NUMBER: _ClassVar[int] + methods: _containers.RepeatedCompositeFieldContainer[AccessMethodCount] + + def __init__(self, methods: _Optional[_Iterable[_Union[AccessMethodCount, _Mapping]]]=...) -> None: + ... + +class GetMemberActivityRequest(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: int + + def __init__(self, days: _Optional[int]=...) -> None: + ... + +class MemberActivity(_message.Message): + __slots__ = ('member_id', 'daily_activity', 'event_count', 'thread_count', 'last_active') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + DAILY_ACTIVITY_FIELD_NUMBER: _ClassVar[int] + EVENT_COUNT_FIELD_NUMBER: _ClassVar[int] + THREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + LAST_ACTIVE_FIELD_NUMBER: _ClassVar[int] + member_id: str + daily_activity: _containers.RepeatedScalarFieldContainer[int] + event_count: int + thread_count: int + last_active: _timestamp_pb2.Timestamp + + def __init__(self, member_id: _Optional[str]=..., daily_activity: _Optional[_Iterable[int]]=..., event_count: _Optional[int]=..., thread_count: _Optional[int]=..., last_active: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetMemberActivityResponse(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[MemberActivity] + + def __init__(self, members: _Optional[_Iterable[_Union[MemberActivity, _Mapping]]]=...) -> None: + ... + +class ExportObservabilityCsvRequest(_message.Message): + __slots__ = ('tab', 'days') + TAB_FIELD_NUMBER: _ClassVar[int] + DAYS_FIELD_NUMBER: _ClassVar[int] + tab: str + days: int + + def __init__(self, tab: _Optional[str]=..., days: _Optional[int]=...) -> None: + ... + +class ExportObservabilityCsvResponse(_message.Message): + __slots__ = ('download_url',) + DOWNLOAD_URL_FIELD_NUMBER: _ClassVar[int] + download_url: str + + def __init__(self, download_url: _Optional[str]=...) -> None: + ... + +class CustomTopic(_message.Message): + __slots__ = ('id', 'name', 'user_prompt', 'covers', 'excludes', 'status', 'created_by_member_id', 'backfill_chat_id', 'backfill_status', 'backfill_error', 'created_at', 'tag_count', 'updated_at', 'created_by_email', 'daily_tag_counts', 'people_count') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + USER_PROMPT_FIELD_NUMBER: _ClassVar[int] + COVERS_FIELD_NUMBER: _ClassVar[int] + EXCLUDES_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + BACKFILL_CHAT_ID_FIELD_NUMBER: _ClassVar[int] + BACKFILL_STATUS_FIELD_NUMBER: _ClassVar[int] + BACKFILL_ERROR_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + TAG_COUNT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_EMAIL_FIELD_NUMBER: _ClassVar[int] + DAILY_TAG_COUNTS_FIELD_NUMBER: _ClassVar[int] + PEOPLE_COUNT_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + user_prompt: str + covers: str + excludes: str + status: str + created_by_member_id: str + backfill_chat_id: str + backfill_status: str + backfill_error: str + created_at: _timestamp_pb2.Timestamp + tag_count: int + updated_at: _timestamp_pb2.Timestamp + created_by_email: str + daily_tag_counts: _containers.RepeatedScalarFieldContainer[int] + people_count: int + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., user_prompt: _Optional[str]=..., covers: _Optional[str]=..., excludes: _Optional[str]=..., status: _Optional[str]=..., created_by_member_id: _Optional[str]=..., backfill_chat_id: _Optional[str]=..., backfill_status: _Optional[str]=..., backfill_error: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., tag_count: _Optional[int]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_by_email: _Optional[str]=..., daily_tag_counts: _Optional[_Iterable[int]]=..., people_count: _Optional[int]=...) -> None: + ... + +class RefineTopicDraftRequest(_message.Message): + __slots__ = ('prompt', 'examples', 'exclusions') + PROMPT_FIELD_NUMBER: _ClassVar[int] + EXAMPLES_FIELD_NUMBER: _ClassVar[int] + EXCLUSIONS_FIELD_NUMBER: _ClassVar[int] + prompt: str + examples: _containers.RepeatedScalarFieldContainer[str] + exclusions: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, prompt: _Optional[str]=..., examples: _Optional[_Iterable[str]]=..., exclusions: _Optional[_Iterable[str]]=...) -> None: + ... + +class SimilarTopic(_message.Message): + __slots__ = ('id', 'name') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class RefineTopicDraftResponse(_message.Message): + __slots__ = ('name', 'covers', 'excludes', 'vague', 'quality_hint', 'similar_topics') + NAME_FIELD_NUMBER: _ClassVar[int] + COVERS_FIELD_NUMBER: _ClassVar[int] + EXCLUDES_FIELD_NUMBER: _ClassVar[int] + VAGUE_FIELD_NUMBER: _ClassVar[int] + QUALITY_HINT_FIELD_NUMBER: _ClassVar[int] + SIMILAR_TOPICS_FIELD_NUMBER: _ClassVar[int] + name: str + covers: str + excludes: str + vague: bool + quality_hint: str + similar_topics: _containers.RepeatedCompositeFieldContainer[SimilarTopic] + + def __init__(self, name: _Optional[str]=..., covers: _Optional[str]=..., excludes: _Optional[str]=..., vague: bool=..., quality_hint: _Optional[str]=..., similar_topics: _Optional[_Iterable[_Union[SimilarTopic, _Mapping]]]=...) -> None: + ... + +class CreateCustomTopicRequest(_message.Message): + __slots__ = ('name', 'user_prompt', 'covers', 'excludes') + NAME_FIELD_NUMBER: _ClassVar[int] + USER_PROMPT_FIELD_NUMBER: _ClassVar[int] + COVERS_FIELD_NUMBER: _ClassVar[int] + EXCLUDES_FIELD_NUMBER: _ClassVar[int] + name: str + user_prompt: str + covers: str + excludes: str + + def __init__(self, name: _Optional[str]=..., user_prompt: _Optional[str]=..., covers: _Optional[str]=..., excludes: _Optional[str]=...) -> None: + ... + +class CustomTopicResponse(_message.Message): + __slots__ = ('topic',) + TOPIC_FIELD_NUMBER: _ClassVar[int] + topic: CustomTopic + + def __init__(self, topic: _Optional[_Union[CustomTopic, _Mapping]]=...) -> None: + ... + +class BackfillCustomTopicRequest(_message.Message): + __slots__ = ('topic_id', 'start_date', 'end_date') + TOPIC_ID_FIELD_NUMBER: _ClassVar[int] + START_DATE_FIELD_NUMBER: _ClassVar[int] + END_DATE_FIELD_NUMBER: _ClassVar[int] + topic_id: str + start_date: _timestamp_pb2.Timestamp + end_date: _timestamp_pb2.Timestamp + + def __init__(self, topic_id: _Optional[str]=..., start_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., end_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class BackfillCustomTopicResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetCustomTopicRequest(_message.Message): + __slots__ = ('topic_id', 'trend_start', 'trend_end') + TOPIC_ID_FIELD_NUMBER: _ClassVar[int] + TREND_START_FIELD_NUMBER: _ClassVar[int] + TREND_END_FIELD_NUMBER: _ClassVar[int] + topic_id: str + trend_start: _timestamp_pb2.Timestamp + trend_end: _timestamp_pb2.Timestamp + + def __init__(self, topic_id: _Optional[str]=..., trend_start: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., trend_end: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListCustomTopicsRequest(_message.Message): + __slots__ = ('trend_start', 'trend_end') + TREND_START_FIELD_NUMBER: _ClassVar[int] + TREND_END_FIELD_NUMBER: _ClassVar[int] + trend_start: _timestamp_pb2.Timestamp + trend_end: _timestamp_pb2.Timestamp + + def __init__(self, trend_start: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., trend_end: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListCustomTopicsResponse(_message.Message): + __slots__ = ('topics',) + TOPICS_FIELD_NUMBER: _ClassVar[int] + topics: _containers.RepeatedCompositeFieldContainer[CustomTopic] + + def __init__(self, topics: _Optional[_Iterable[_Union[CustomTopic, _Mapping]]]=...) -> None: + ... + +class GetCustomTopicThreadsRequest(_message.Message): + __slots__ = ('topic_id', 'verdict', 'page_token', 'page_size', 'member_id') + TOPIC_ID_FIELD_NUMBER: _ClassVar[int] + VERDICT_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + topic_id: str + verdict: str + page_token: str + page_size: int + member_id: str + + def __init__(self, topic_id: _Optional[str]=..., verdict: _Optional[str]=..., page_token: _Optional[str]=..., page_size: _Optional[int]=..., member_id: _Optional[str]=...) -> None: + ... + +class GetCustomTopicPeopleRequest(_message.Message): + __slots__ = ('topic_id',) + TOPIC_ID_FIELD_NUMBER: _ClassVar[int] + topic_id: str + + def __init__(self, topic_id: _Optional[str]=...) -> None: + ... + +class CustomTopicPerson(_message.Message): + __slots__ = ('member_id', 'name', 'email', 'thread_count') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + THREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + member_id: str + name: str + email: str + thread_count: int + + def __init__(self, member_id: _Optional[str]=..., name: _Optional[str]=..., email: _Optional[str]=..., thread_count: _Optional[int]=...) -> None: + ... + +class GetCustomTopicPeopleResponse(_message.Message): + __slots__ = ('people',) + PEOPLE_FIELD_NUMBER: _ClassVar[int] + people: _containers.RepeatedCompositeFieldContainer[CustomTopicPerson] + + def __init__(self, people: _Optional[_Iterable[_Union[CustomTopicPerson, _Mapping]]]=...) -> None: + ... + +class GetChatTopicsRequest(_message.Message): + __slots__ = ('chat_ids',) + CHAT_IDS_FIELD_NUMBER: _ClassVar[int] + chat_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, chat_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class ChatTopicRef(_message.Message): + __slots__ = ('topic_id', 'name') + TOPIC_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + topic_id: str + name: str + + def __init__(self, topic_id: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class ChatTopicList(_message.Message): + __slots__ = ('topics',) + TOPICS_FIELD_NUMBER: _ClassVar[int] + topics: _containers.RepeatedCompositeFieldContainer[ChatTopicRef] + + def __init__(self, topics: _Optional[_Iterable[_Union[ChatTopicRef, _Mapping]]]=...) -> None: + ... + +class GetChatTopicsResponse(_message.Message): + __slots__ = ('topics_by_chat',) + + class TopicsByChatEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: ChatTopicList + + def __init__(self, key: _Optional[str]=..., value: _Optional[_Union[ChatTopicList, _Mapping]]=...) -> None: + ... + TOPICS_BY_CHAT_FIELD_NUMBER: _ClassVar[int] + topics_by_chat: _containers.MessageMap[str, ChatTopicList] + + def __init__(self, topics_by_chat: _Optional[_Mapping[str, ChatTopicList]]=...) -> None: + ... + +class CustomTopicThread(_message.Message): + __slots__ = ('chat_id', 'title', 'member_id', 'tagged_by', 'tagged_at') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + TAGGED_BY_FIELD_NUMBER: _ClassVar[int] + TAGGED_AT_FIELD_NUMBER: _ClassVar[int] + chat_id: str + title: str + member_id: str + tagged_by: str + tagged_at: _timestamp_pb2.Timestamp + + def __init__(self, chat_id: _Optional[str]=..., title: _Optional[str]=..., member_id: _Optional[str]=..., tagged_by: _Optional[str]=..., tagged_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetCustomTopicThreadsResponse(_message.Message): + __slots__ = ('threads', 'next_page_token') + THREADS_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + threads: _containers.RepeatedCompositeFieldContainer[CustomTopicThread] + next_page_token: str + + def __init__(self, threads: _Optional[_Iterable[_Union[CustomTopicThread, _Mapping]]]=..., next_page_token: _Optional[str]=...) -> None: + ... + +class UpdateCustomTopicRequest(_message.Message): + __slots__ = ('topic_id', 'name', 'covers', 'excludes') + TOPIC_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + COVERS_FIELD_NUMBER: _ClassVar[int] + EXCLUDES_FIELD_NUMBER: _ClassVar[int] + topic_id: str + name: str + covers: str + excludes: str + + def __init__(self, topic_id: _Optional[str]=..., name: _Optional[str]=..., covers: _Optional[str]=..., excludes: _Optional[str]=...) -> None: + ... + +class SetTopicTagFeedbackRequest(_message.Message): + __slots__ = ('topic_id', 'chat_id', 'excluded', 'reason') + TOPIC_ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + EXCLUDED_FIELD_NUMBER: _ClassVar[int] + REASON_FIELD_NUMBER: _ClassVar[int] + topic_id: str + chat_id: str + excluded: bool + reason: str + + def __init__(self, topic_id: _Optional[str]=..., chat_id: _Optional[str]=..., excluded: bool=..., reason: _Optional[str]=...) -> None: + ... + +class SetTopicTagFeedbackResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class TopicLifecycleRequest(_message.Message): + __slots__ = ('topic_id',) + TOPIC_ID_FIELD_NUMBER: _ClassVar[int] + topic_id: str + + def __init__(self, topic_id: _Optional[str]=...) -> None: + ... + +class TopicLifecycleResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/ontology_connect.py b/src/textql_sdk/_connect/public/ontology_connect.py new file mode 100644 index 0000000..16d4738 --- /dev/null +++ b/src/textql_sdk/_connect/public/ontology_connect.py @@ -0,0 +1,579 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import ontology_pb2 as public_dot_ontology__pb2 + +class OntologyServiceDeprecated(Protocol): + + async def create_ontology(self, request: public_dot_ontology__pb2.CreateOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology(self, request: public_dot_ontology__pb2.GetOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_by_id(self, request: public_dot_ontology__pb2.GetOntologyByIdRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetOntologyByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontologies(self, request: public_dot_ontology__pb2.GetOntologiesRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetOntologiesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontologies_summary(self, request: public_dot_ontology__pb2.GetOntologiesSummaryRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetOntologiesSummaryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_ontology_name(self, request: public_dot_ontology__pb2.UpdateOntologyNameRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateOntologyNameResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_ontology_description(self, request: public_dot_ontology__pb2.UpdateOntologyDescriptionRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateOntologyDescriptionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_ontology(self, request: public_dot_ontology__pb2.DeleteOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_object(self, request: public_dot_ontology__pb2.CreateObjectRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateObjectResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_object(self, request: public_dot_ontology__pb2.UpdateObjectRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateObjectResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_object(self, request: public_dot_ontology__pb2.DeleteObjectRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteObjectResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_object_by_id(self, request: public_dot_ontology__pb2.GetObjectByIdRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetObjectByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_object_graph_properties(self, request: public_dot_ontology__pb2.UpdateObjectGraphPropertiesRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateObjectGraphPropertiesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_attribute(self, request: public_dot_ontology__pb2.CreateAttributeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateAttributeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_attribute(self, request: public_dot_ontology__pb2.UpdateAttributeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateAttributeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_attribute(self, request: public_dot_ontology__pb2.DeleteAttributeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteAttributeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_attribute_by_id(self, request: public_dot_ontology__pb2.GetAttributeByIdRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetAttributeByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_metric(self, request: public_dot_ontology__pb2.CreateMetricRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateMetricResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_metric(self, request: public_dot_ontology__pb2.UpdateMetricRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateMetricResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_metric(self, request: public_dot_ontology__pb2.DeleteMetricRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteMetricResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_relation(self, request: public_dot_ontology__pb2.CreateRelationRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateRelationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_relation(self, request: public_dot_ontology__pb2.UpdateRelationRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateRelationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_relation(self, request: public_dot_ontology__pb2.DeleteRelationRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteRelationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_filter_rule(self, request: public_dot_ontology__pb2.CreateFilterRuleRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateFilterRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_filter_rule(self, request: public_dot_ontology__pb2.DeleteFilterRuleRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteFilterRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_filter_rule(self, request: public_dot_ontology__pb2.GetFilterRuleRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetFilterRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_object_access_time(self, request: public_dot_ontology__pb2.UpdateObjectAccessTimeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateObjectAccessTimeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_attribute_access_time(self, request: public_dot_ontology__pb2.UpdateAttributeAccessTimeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateAttributeAccessTimeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_metric_access_time(self, request: public_dot_ontology__pb2.UpdateMetricAccessTimeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateMetricAccessTimeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def save_metric_query(self, request: public_dot_ontology__pb2.SaveMetricQueryRequest, ctx: RequestContext) -> public_dot_ontology__pb2.SaveMetricQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_metric_query(self, request: public_dot_ontology__pb2.GetMetricQueryRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetMetricQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_metric_queries(self, request: public_dot_ontology__pb2.GetMetricQueriesRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetMetricQueriesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_metric_query(self, request: public_dot_ontology__pb2.DeleteMetricQueryRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteMetricQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_object_view_settings(self, request: public_dot_ontology__pb2.CreateObjectViewSettingsRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateObjectViewSettingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_object_view_settings(self, request: public_dot_ontology__pb2.GetObjectViewSettingsRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetObjectViewSettingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_object_view_settings(self, request: public_dot_ontology__pb2.UpdateObjectViewSettingsRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateObjectViewSettingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def test_ontology_objects(self, request: public_dot_ontology__pb2.TestOntologyObjectsRequest, ctx: RequestContext) -> public_dot_ontology__pb2.TestOntologyObjectsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def test_ontology_attributes(self, request: public_dot_ontology__pb2.TestOntologyAttributesRequest, ctx: RequestContext) -> public_dot_ontology__pb2.TestOntologyAttributesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def export_ontology(self, request: public_dot_ontology__pb2.ExportOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.ExportOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def import_ontology(self, request: public_dot_ontology__pb2.ImportOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.ImportOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def clear_ontology(self, request: public_dot_ontology__pb2.ClearOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.ClearOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def register_example_ontology(self, request: public_dot_ontology__pb2.RegisterExampleOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.RegisterExampleOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unregister_example_ontology(self, request: public_dot_ontology__pb2.UnregisterExampleOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UnregisterExampleOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def generate_samples_for_ontology(self, request: public_dot_ontology__pb2.GenerateSamplesForOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GenerateSamplesForOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_table_row_count(self, request: public_dot_ontology__pb2.GetTableRowCountRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetTableRowCountResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class OntologyServiceDeprecatedASGIApplication(ConnectASGIApplication[OntologyServiceDeprecated]): + + def __init__(self, service: OntologyServiceDeprecated | AsyncGenerator[OntologyServiceDeprecated], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateOntology': Endpoint.unary(method=MethodInfo(name='CreateOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateOntologyRequest, output=public_dot_ontology__pb2.CreateOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetOntology': Endpoint.unary(method=MethodInfo(name='GetOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologyRequest, output=public_dot_ontology__pb2.GetOntologyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetOntologyById': Endpoint.unary(method=MethodInfo(name='GetOntologyById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologyByIdRequest, output=public_dot_ontology__pb2.GetOntologyByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_by_id), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetOntologies': Endpoint.unary(method=MethodInfo(name='GetOntologies', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologiesRequest, output=public_dot_ontology__pb2.GetOntologiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontologies), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetOntologiesSummary': Endpoint.unary(method=MethodInfo(name='GetOntologiesSummary', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologiesSummaryRequest, output=public_dot_ontology__pb2.GetOntologiesSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontologies_summary), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateOntologyName': Endpoint.unary(method=MethodInfo(name='UpdateOntologyName', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateOntologyNameRequest, output=public_dot_ontology__pb2.UpdateOntologyNameResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_ontology_name), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateOntologyDescription': Endpoint.unary(method=MethodInfo(name='UpdateOntologyDescription', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateOntologyDescriptionRequest, output=public_dot_ontology__pb2.UpdateOntologyDescriptionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_ontology_description), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteOntology': Endpoint.unary(method=MethodInfo(name='DeleteOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteOntologyRequest, output=public_dot_ontology__pb2.DeleteOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateObject': Endpoint.unary(method=MethodInfo(name='CreateObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateObjectRequest, output=public_dot_ontology__pb2.CreateObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_object), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateObject': Endpoint.unary(method=MethodInfo(name='UpdateObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectRequest, output=public_dot_ontology__pb2.UpdateObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_object), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteObject': Endpoint.unary(method=MethodInfo(name='DeleteObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteObjectRequest, output=public_dot_ontology__pb2.DeleteObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_object), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetObjectById': Endpoint.unary(method=MethodInfo(name='GetObjectById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetObjectByIdRequest, output=public_dot_ontology__pb2.GetObjectByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_object_by_id), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateObjectGraphProperties': Endpoint.unary(method=MethodInfo(name='UpdateObjectGraphProperties', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectGraphPropertiesRequest, output=public_dot_ontology__pb2.UpdateObjectGraphPropertiesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_object_graph_properties), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateAttribute': Endpoint.unary(method=MethodInfo(name='CreateAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateAttributeRequest, output=public_dot_ontology__pb2.CreateAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_attribute), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateAttribute': Endpoint.unary(method=MethodInfo(name='UpdateAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateAttributeRequest, output=public_dot_ontology__pb2.UpdateAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_attribute), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteAttribute': Endpoint.unary(method=MethodInfo(name='DeleteAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteAttributeRequest, output=public_dot_ontology__pb2.DeleteAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_attribute), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetAttributeById': Endpoint.unary(method=MethodInfo(name='GetAttributeById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetAttributeByIdRequest, output=public_dot_ontology__pb2.GetAttributeByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_attribute_by_id), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateMetric': Endpoint.unary(method=MethodInfo(name='CreateMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateMetricRequest, output=public_dot_ontology__pb2.CreateMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_metric), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateMetric': Endpoint.unary(method=MethodInfo(name='UpdateMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateMetricRequest, output=public_dot_ontology__pb2.UpdateMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_metric), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteMetric': Endpoint.unary(method=MethodInfo(name='DeleteMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteMetricRequest, output=public_dot_ontology__pb2.DeleteMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_metric), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateRelation': Endpoint.unary(method=MethodInfo(name='CreateRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateRelationRequest, output=public_dot_ontology__pb2.CreateRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_relation), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateRelation': Endpoint.unary(method=MethodInfo(name='UpdateRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateRelationRequest, output=public_dot_ontology__pb2.UpdateRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_relation), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteRelation': Endpoint.unary(method=MethodInfo(name='DeleteRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteRelationRequest, output=public_dot_ontology__pb2.DeleteRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_relation), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateFilterRule': Endpoint.unary(method=MethodInfo(name='CreateFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateFilterRuleRequest, output=public_dot_ontology__pb2.CreateFilterRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_filter_rule), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteFilterRule': Endpoint.unary(method=MethodInfo(name='DeleteFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteFilterRuleRequest, output=public_dot_ontology__pb2.DeleteFilterRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_filter_rule), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetFilterRule': Endpoint.unary(method=MethodInfo(name='GetFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetFilterRuleRequest, output=public_dot_ontology__pb2.GetFilterRuleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_filter_rule), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateObjectAccessTime': Endpoint.unary(method=MethodInfo(name='UpdateObjectAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectAccessTimeRequest, output=public_dot_ontology__pb2.UpdateObjectAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_object_access_time), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateAttributeAccessTime': Endpoint.unary(method=MethodInfo(name='UpdateAttributeAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateAttributeAccessTimeRequest, output=public_dot_ontology__pb2.UpdateAttributeAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_attribute_access_time), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateMetricAccessTime': Endpoint.unary(method=MethodInfo(name='UpdateMetricAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateMetricAccessTimeRequest, output=public_dot_ontology__pb2.UpdateMetricAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_metric_access_time), '/textql.rpc.public.ontology.OntologyServiceDeprecated/SaveMetricQuery': Endpoint.unary(method=MethodInfo(name='SaveMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.SaveMetricQueryRequest, output=public_dot_ontology__pb2.SaveMetricQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.save_metric_query), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetMetricQuery': Endpoint.unary(method=MethodInfo(name='GetMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetMetricQueryRequest, output=public_dot_ontology__pb2.GetMetricQueryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_metric_query), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetMetricQueries': Endpoint.unary(method=MethodInfo(name='GetMetricQueries', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetMetricQueriesRequest, output=public_dot_ontology__pb2.GetMetricQueriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_metric_queries), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteMetricQuery': Endpoint.unary(method=MethodInfo(name='DeleteMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteMetricQueryRequest, output=public_dot_ontology__pb2.DeleteMetricQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_metric_query), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateObjectViewSettings': Endpoint.unary(method=MethodInfo(name='CreateObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateObjectViewSettingsRequest, output=public_dot_ontology__pb2.CreateObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_object_view_settings), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetObjectViewSettings': Endpoint.unary(method=MethodInfo(name='GetObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetObjectViewSettingsRequest, output=public_dot_ontology__pb2.GetObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_object_view_settings), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateObjectViewSettings': Endpoint.unary(method=MethodInfo(name='UpdateObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectViewSettingsRequest, output=public_dot_ontology__pb2.UpdateObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_object_view_settings), '/textql.rpc.public.ontology.OntologyServiceDeprecated/TestOntologyObjects': Endpoint.unary(method=MethodInfo(name='TestOntologyObjects', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.TestOntologyObjectsRequest, output=public_dot_ontology__pb2.TestOntologyObjectsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.test_ontology_objects), '/textql.rpc.public.ontology.OntologyServiceDeprecated/TestOntologyAttributes': Endpoint.unary(method=MethodInfo(name='TestOntologyAttributes', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.TestOntologyAttributesRequest, output=public_dot_ontology__pb2.TestOntologyAttributesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.test_ontology_attributes), '/textql.rpc.public.ontology.OntologyServiceDeprecated/ExportOntology': Endpoint.unary(method=MethodInfo(name='ExportOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ExportOntologyRequest, output=public_dot_ontology__pb2.ExportOntologyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.export_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/ImportOntology': Endpoint.unary(method=MethodInfo(name='ImportOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ImportOntologyRequest, output=public_dot_ontology__pb2.ImportOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.import_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/ClearOntology': Endpoint.unary(method=MethodInfo(name='ClearOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ClearOntologyRequest, output=public_dot_ontology__pb2.ClearOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.clear_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/RegisterExampleOntology': Endpoint.unary(method=MethodInfo(name='RegisterExampleOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.RegisterExampleOntologyRequest, output=public_dot_ontology__pb2.RegisterExampleOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.register_example_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UnregisterExampleOntology': Endpoint.unary(method=MethodInfo(name='UnregisterExampleOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UnregisterExampleOntologyRequest, output=public_dot_ontology__pb2.UnregisterExampleOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.unregister_example_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GenerateSamplesForOntology': Endpoint.unary(method=MethodInfo(name='GenerateSamplesForOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GenerateSamplesForOntologyRequest, output=public_dot_ontology__pb2.GenerateSamplesForOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.generate_samples_for_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetTableRowCount': Endpoint.unary(method=MethodInfo(name='GetTableRowCount', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetTableRowCountRequest, output=public_dot_ontology__pb2.GetTableRowCountResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_table_row_count)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.ontology.OntologyServiceDeprecated' + +class OntologyServiceDeprecatedClient(ConnectClient): + + async def create_ontology(self, request: public_dot_ontology__pb2.CreateOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateOntologyRequest, output=public_dot_ontology__pb2.CreateOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_ontology(self, request: public_dot_ontology__pb2.GetOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologyRequest, output=public_dot_ontology__pb2.GetOntologyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontology_by_id(self, request: public_dot_ontology__pb2.GetOntologyByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetOntologyByIdResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologyByIdRequest, output=public_dot_ontology__pb2.GetOntologyByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontologies(self, request: public_dot_ontology__pb2.GetOntologiesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetOntologiesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologies', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologiesRequest, output=public_dot_ontology__pb2.GetOntologiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontologies_summary(self, request: public_dot_ontology__pb2.GetOntologiesSummaryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetOntologiesSummaryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologiesSummary', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologiesSummaryRequest, output=public_dot_ontology__pb2.GetOntologiesSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_ontology_name(self, request: public_dot_ontology__pb2.UpdateOntologyNameRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateOntologyNameResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOntologyName', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateOntologyNameRequest, output=public_dot_ontology__pb2.UpdateOntologyNameResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_ontology_description(self, request: public_dot_ontology__pb2.UpdateOntologyDescriptionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateOntologyDescriptionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOntologyDescription', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateOntologyDescriptionRequest, output=public_dot_ontology__pb2.UpdateOntologyDescriptionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_ontology(self, request: public_dot_ontology__pb2.DeleteOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteOntologyRequest, output=public_dot_ontology__pb2.DeleteOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_object(self, request: public_dot_ontology__pb2.CreateObjectRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateObjectResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateObjectRequest, output=public_dot_ontology__pb2.CreateObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_object(self, request: public_dot_ontology__pb2.UpdateObjectRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateObjectResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectRequest, output=public_dot_ontology__pb2.UpdateObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_object(self, request: public_dot_ontology__pb2.DeleteObjectRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteObjectResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteObjectRequest, output=public_dot_ontology__pb2.DeleteObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_object_by_id(self, request: public_dot_ontology__pb2.GetObjectByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetObjectByIdResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetObjectById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetObjectByIdRequest, output=public_dot_ontology__pb2.GetObjectByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_object_graph_properties(self, request: public_dot_ontology__pb2.UpdateObjectGraphPropertiesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateObjectGraphPropertiesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectGraphProperties', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectGraphPropertiesRequest, output=public_dot_ontology__pb2.UpdateObjectGraphPropertiesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_attribute(self, request: public_dot_ontology__pb2.CreateAttributeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateAttributeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateAttributeRequest, output=public_dot_ontology__pb2.CreateAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_attribute(self, request: public_dot_ontology__pb2.UpdateAttributeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateAttributeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateAttributeRequest, output=public_dot_ontology__pb2.UpdateAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_attribute(self, request: public_dot_ontology__pb2.DeleteAttributeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteAttributeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteAttributeRequest, output=public_dot_ontology__pb2.DeleteAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_attribute_by_id(self, request: public_dot_ontology__pb2.GetAttributeByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetAttributeByIdResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetAttributeById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetAttributeByIdRequest, output=public_dot_ontology__pb2.GetAttributeByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_metric(self, request: public_dot_ontology__pb2.CreateMetricRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateMetricResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateMetricRequest, output=public_dot_ontology__pb2.CreateMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_metric(self, request: public_dot_ontology__pb2.UpdateMetricRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateMetricResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateMetricRequest, output=public_dot_ontology__pb2.UpdateMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_metric(self, request: public_dot_ontology__pb2.DeleteMetricRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteMetricResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteMetricRequest, output=public_dot_ontology__pb2.DeleteMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_relation(self, request: public_dot_ontology__pb2.CreateRelationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateRelationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateRelationRequest, output=public_dot_ontology__pb2.CreateRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_relation(self, request: public_dot_ontology__pb2.UpdateRelationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateRelationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateRelationRequest, output=public_dot_ontology__pb2.UpdateRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_relation(self, request: public_dot_ontology__pb2.DeleteRelationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteRelationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteRelationRequest, output=public_dot_ontology__pb2.DeleteRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_filter_rule(self, request: public_dot_ontology__pb2.CreateFilterRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateFilterRuleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateFilterRuleRequest, output=public_dot_ontology__pb2.CreateFilterRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_filter_rule(self, request: public_dot_ontology__pb2.DeleteFilterRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteFilterRuleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteFilterRuleRequest, output=public_dot_ontology__pb2.DeleteFilterRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_filter_rule(self, request: public_dot_ontology__pb2.GetFilterRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetFilterRuleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetFilterRuleRequest, output=public_dot_ontology__pb2.GetFilterRuleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_object_access_time(self, request: public_dot_ontology__pb2.UpdateObjectAccessTimeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateObjectAccessTimeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectAccessTimeRequest, output=public_dot_ontology__pb2.UpdateObjectAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_attribute_access_time(self, request: public_dot_ontology__pb2.UpdateAttributeAccessTimeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateAttributeAccessTimeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateAttributeAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateAttributeAccessTimeRequest, output=public_dot_ontology__pb2.UpdateAttributeAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_metric_access_time(self, request: public_dot_ontology__pb2.UpdateMetricAccessTimeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateMetricAccessTimeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateMetricAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateMetricAccessTimeRequest, output=public_dot_ontology__pb2.UpdateMetricAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def save_metric_query(self, request: public_dot_ontology__pb2.SaveMetricQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.SaveMetricQueryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SaveMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.SaveMetricQueryRequest, output=public_dot_ontology__pb2.SaveMetricQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_metric_query(self, request: public_dot_ontology__pb2.GetMetricQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetMetricQueryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetMetricQueryRequest, output=public_dot_ontology__pb2.GetMetricQueryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_metric_queries(self, request: public_dot_ontology__pb2.GetMetricQueriesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetMetricQueriesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMetricQueries', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetMetricQueriesRequest, output=public_dot_ontology__pb2.GetMetricQueriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def delete_metric_query(self, request: public_dot_ontology__pb2.DeleteMetricQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteMetricQueryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteMetricQueryRequest, output=public_dot_ontology__pb2.DeleteMetricQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_object_view_settings(self, request: public_dot_ontology__pb2.CreateObjectViewSettingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateObjectViewSettingsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateObjectViewSettingsRequest, output=public_dot_ontology__pb2.CreateObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_object_view_settings(self, request: public_dot_ontology__pb2.GetObjectViewSettingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetObjectViewSettingsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetObjectViewSettingsRequest, output=public_dot_ontology__pb2.GetObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_object_view_settings(self, request: public_dot_ontology__pb2.UpdateObjectViewSettingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateObjectViewSettingsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectViewSettingsRequest, output=public_dot_ontology__pb2.UpdateObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def test_ontology_objects(self, request: public_dot_ontology__pb2.TestOntologyObjectsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.TestOntologyObjectsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestOntologyObjects', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.TestOntologyObjectsRequest, output=public_dot_ontology__pb2.TestOntologyObjectsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def test_ontology_attributes(self, request: public_dot_ontology__pb2.TestOntologyAttributesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.TestOntologyAttributesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestOntologyAttributes', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.TestOntologyAttributesRequest, output=public_dot_ontology__pb2.TestOntologyAttributesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def export_ontology(self, request: public_dot_ontology__pb2.ExportOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.ExportOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExportOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ExportOntologyRequest, output=public_dot_ontology__pb2.ExportOntologyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def import_ontology(self, request: public_dot_ontology__pb2.ImportOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.ImportOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ImportOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ImportOntologyRequest, output=public_dot_ontology__pb2.ImportOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def clear_ontology(self, request: public_dot_ontology__pb2.ClearOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.ClearOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ClearOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ClearOntologyRequest, output=public_dot_ontology__pb2.ClearOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def register_example_ontology(self, request: public_dot_ontology__pb2.RegisterExampleOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.RegisterExampleOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RegisterExampleOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.RegisterExampleOntologyRequest, output=public_dot_ontology__pb2.RegisterExampleOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def unregister_example_ontology(self, request: public_dot_ontology__pb2.UnregisterExampleOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UnregisterExampleOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UnregisterExampleOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UnregisterExampleOntologyRequest, output=public_dot_ontology__pb2.UnregisterExampleOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def generate_samples_for_ontology(self, request: public_dot_ontology__pb2.GenerateSamplesForOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.GenerateSamplesForOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GenerateSamplesForOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GenerateSamplesForOntologyRequest, output=public_dot_ontology__pb2.GenerateSamplesForOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_table_row_count(self, request: public_dot_ontology__pb2.GetTableRowCountRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetTableRowCountResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetTableRowCount', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetTableRowCountRequest, output=public_dot_ontology__pb2.GetTableRowCountResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class OntologyServiceDeprecatedSync(Protocol): + + def create_ontology(self, request: public_dot_ontology__pb2.CreateOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology(self, request: public_dot_ontology__pb2.GetOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_by_id(self, request: public_dot_ontology__pb2.GetOntologyByIdRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetOntologyByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontologies(self, request: public_dot_ontology__pb2.GetOntologiesRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetOntologiesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontologies_summary(self, request: public_dot_ontology__pb2.GetOntologiesSummaryRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetOntologiesSummaryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_ontology_name(self, request: public_dot_ontology__pb2.UpdateOntologyNameRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateOntologyNameResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_ontology_description(self, request: public_dot_ontology__pb2.UpdateOntologyDescriptionRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateOntologyDescriptionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_ontology(self, request: public_dot_ontology__pb2.DeleteOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_object(self, request: public_dot_ontology__pb2.CreateObjectRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateObjectResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_object(self, request: public_dot_ontology__pb2.UpdateObjectRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateObjectResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_object(self, request: public_dot_ontology__pb2.DeleteObjectRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteObjectResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_object_by_id(self, request: public_dot_ontology__pb2.GetObjectByIdRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetObjectByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_object_graph_properties(self, request: public_dot_ontology__pb2.UpdateObjectGraphPropertiesRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateObjectGraphPropertiesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_attribute(self, request: public_dot_ontology__pb2.CreateAttributeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateAttributeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_attribute(self, request: public_dot_ontology__pb2.UpdateAttributeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateAttributeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_attribute(self, request: public_dot_ontology__pb2.DeleteAttributeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteAttributeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_attribute_by_id(self, request: public_dot_ontology__pb2.GetAttributeByIdRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetAttributeByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_metric(self, request: public_dot_ontology__pb2.CreateMetricRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateMetricResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_metric(self, request: public_dot_ontology__pb2.UpdateMetricRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateMetricResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_metric(self, request: public_dot_ontology__pb2.DeleteMetricRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteMetricResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_relation(self, request: public_dot_ontology__pb2.CreateRelationRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateRelationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_relation(self, request: public_dot_ontology__pb2.UpdateRelationRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateRelationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_relation(self, request: public_dot_ontology__pb2.DeleteRelationRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteRelationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_filter_rule(self, request: public_dot_ontology__pb2.CreateFilterRuleRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateFilterRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_filter_rule(self, request: public_dot_ontology__pb2.DeleteFilterRuleRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteFilterRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_filter_rule(self, request: public_dot_ontology__pb2.GetFilterRuleRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetFilterRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_object_access_time(self, request: public_dot_ontology__pb2.UpdateObjectAccessTimeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateObjectAccessTimeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_attribute_access_time(self, request: public_dot_ontology__pb2.UpdateAttributeAccessTimeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateAttributeAccessTimeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_metric_access_time(self, request: public_dot_ontology__pb2.UpdateMetricAccessTimeRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateMetricAccessTimeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def save_metric_query(self, request: public_dot_ontology__pb2.SaveMetricQueryRequest, ctx: RequestContext) -> public_dot_ontology__pb2.SaveMetricQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_metric_query(self, request: public_dot_ontology__pb2.GetMetricQueryRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetMetricQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_metric_queries(self, request: public_dot_ontology__pb2.GetMetricQueriesRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetMetricQueriesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_metric_query(self, request: public_dot_ontology__pb2.DeleteMetricQueryRequest, ctx: RequestContext) -> public_dot_ontology__pb2.DeleteMetricQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_object_view_settings(self, request: public_dot_ontology__pb2.CreateObjectViewSettingsRequest, ctx: RequestContext) -> public_dot_ontology__pb2.CreateObjectViewSettingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_object_view_settings(self, request: public_dot_ontology__pb2.GetObjectViewSettingsRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetObjectViewSettingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_object_view_settings(self, request: public_dot_ontology__pb2.UpdateObjectViewSettingsRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UpdateObjectViewSettingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def test_ontology_objects(self, request: public_dot_ontology__pb2.TestOntologyObjectsRequest, ctx: RequestContext) -> public_dot_ontology__pb2.TestOntologyObjectsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def test_ontology_attributes(self, request: public_dot_ontology__pb2.TestOntologyAttributesRequest, ctx: RequestContext) -> public_dot_ontology__pb2.TestOntologyAttributesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def export_ontology(self, request: public_dot_ontology__pb2.ExportOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.ExportOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def import_ontology(self, request: public_dot_ontology__pb2.ImportOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.ImportOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def clear_ontology(self, request: public_dot_ontology__pb2.ClearOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.ClearOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def register_example_ontology(self, request: public_dot_ontology__pb2.RegisterExampleOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.RegisterExampleOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unregister_example_ontology(self, request: public_dot_ontology__pb2.UnregisterExampleOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.UnregisterExampleOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def generate_samples_for_ontology(self, request: public_dot_ontology__pb2.GenerateSamplesForOntologyRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GenerateSamplesForOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_table_row_count(self, request: public_dot_ontology__pb2.GetTableRowCountRequest, ctx: RequestContext) -> public_dot_ontology__pb2.GetTableRowCountResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class OntologyServiceDeprecatedWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: OntologyServiceDeprecatedSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateOntology': EndpointSync.unary(method=MethodInfo(name='CreateOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateOntologyRequest, output=public_dot_ontology__pb2.CreateOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetOntology': EndpointSync.unary(method=MethodInfo(name='GetOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologyRequest, output=public_dot_ontology__pb2.GetOntologyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetOntologyById': EndpointSync.unary(method=MethodInfo(name='GetOntologyById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologyByIdRequest, output=public_dot_ontology__pb2.GetOntologyByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_by_id), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetOntologies': EndpointSync.unary(method=MethodInfo(name='GetOntologies', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologiesRequest, output=public_dot_ontology__pb2.GetOntologiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontologies), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetOntologiesSummary': EndpointSync.unary(method=MethodInfo(name='GetOntologiesSummary', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologiesSummaryRequest, output=public_dot_ontology__pb2.GetOntologiesSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontologies_summary), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateOntologyName': EndpointSync.unary(method=MethodInfo(name='UpdateOntologyName', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateOntologyNameRequest, output=public_dot_ontology__pb2.UpdateOntologyNameResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_ontology_name), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateOntologyDescription': EndpointSync.unary(method=MethodInfo(name='UpdateOntologyDescription', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateOntologyDescriptionRequest, output=public_dot_ontology__pb2.UpdateOntologyDescriptionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_ontology_description), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteOntology': EndpointSync.unary(method=MethodInfo(name='DeleteOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteOntologyRequest, output=public_dot_ontology__pb2.DeleteOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateObject': EndpointSync.unary(method=MethodInfo(name='CreateObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateObjectRequest, output=public_dot_ontology__pb2.CreateObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_object), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateObject': EndpointSync.unary(method=MethodInfo(name='UpdateObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectRequest, output=public_dot_ontology__pb2.UpdateObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_object), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteObject': EndpointSync.unary(method=MethodInfo(name='DeleteObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteObjectRequest, output=public_dot_ontology__pb2.DeleteObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_object), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetObjectById': EndpointSync.unary(method=MethodInfo(name='GetObjectById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetObjectByIdRequest, output=public_dot_ontology__pb2.GetObjectByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_object_by_id), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateObjectGraphProperties': EndpointSync.unary(method=MethodInfo(name='UpdateObjectGraphProperties', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectGraphPropertiesRequest, output=public_dot_ontology__pb2.UpdateObjectGraphPropertiesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_object_graph_properties), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateAttribute': EndpointSync.unary(method=MethodInfo(name='CreateAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateAttributeRequest, output=public_dot_ontology__pb2.CreateAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_attribute), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateAttribute': EndpointSync.unary(method=MethodInfo(name='UpdateAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateAttributeRequest, output=public_dot_ontology__pb2.UpdateAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_attribute), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteAttribute': EndpointSync.unary(method=MethodInfo(name='DeleteAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteAttributeRequest, output=public_dot_ontology__pb2.DeleteAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_attribute), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetAttributeById': EndpointSync.unary(method=MethodInfo(name='GetAttributeById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetAttributeByIdRequest, output=public_dot_ontology__pb2.GetAttributeByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_attribute_by_id), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateMetric': EndpointSync.unary(method=MethodInfo(name='CreateMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateMetricRequest, output=public_dot_ontology__pb2.CreateMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_metric), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateMetric': EndpointSync.unary(method=MethodInfo(name='UpdateMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateMetricRequest, output=public_dot_ontology__pb2.UpdateMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_metric), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteMetric': EndpointSync.unary(method=MethodInfo(name='DeleteMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteMetricRequest, output=public_dot_ontology__pb2.DeleteMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_metric), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateRelation': EndpointSync.unary(method=MethodInfo(name='CreateRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateRelationRequest, output=public_dot_ontology__pb2.CreateRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_relation), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateRelation': EndpointSync.unary(method=MethodInfo(name='UpdateRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateRelationRequest, output=public_dot_ontology__pb2.UpdateRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_relation), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteRelation': EndpointSync.unary(method=MethodInfo(name='DeleteRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteRelationRequest, output=public_dot_ontology__pb2.DeleteRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_relation), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateFilterRule': EndpointSync.unary(method=MethodInfo(name='CreateFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateFilterRuleRequest, output=public_dot_ontology__pb2.CreateFilterRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_filter_rule), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteFilterRule': EndpointSync.unary(method=MethodInfo(name='DeleteFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteFilterRuleRequest, output=public_dot_ontology__pb2.DeleteFilterRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_filter_rule), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetFilterRule': EndpointSync.unary(method=MethodInfo(name='GetFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetFilterRuleRequest, output=public_dot_ontology__pb2.GetFilterRuleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_filter_rule), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateObjectAccessTime': EndpointSync.unary(method=MethodInfo(name='UpdateObjectAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectAccessTimeRequest, output=public_dot_ontology__pb2.UpdateObjectAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_object_access_time), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateAttributeAccessTime': EndpointSync.unary(method=MethodInfo(name='UpdateAttributeAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateAttributeAccessTimeRequest, output=public_dot_ontology__pb2.UpdateAttributeAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_attribute_access_time), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateMetricAccessTime': EndpointSync.unary(method=MethodInfo(name='UpdateMetricAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateMetricAccessTimeRequest, output=public_dot_ontology__pb2.UpdateMetricAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_metric_access_time), '/textql.rpc.public.ontology.OntologyServiceDeprecated/SaveMetricQuery': EndpointSync.unary(method=MethodInfo(name='SaveMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.SaveMetricQueryRequest, output=public_dot_ontology__pb2.SaveMetricQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.save_metric_query), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetMetricQuery': EndpointSync.unary(method=MethodInfo(name='GetMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetMetricQueryRequest, output=public_dot_ontology__pb2.GetMetricQueryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_metric_query), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetMetricQueries': EndpointSync.unary(method=MethodInfo(name='GetMetricQueries', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetMetricQueriesRequest, output=public_dot_ontology__pb2.GetMetricQueriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_metric_queries), '/textql.rpc.public.ontology.OntologyServiceDeprecated/DeleteMetricQuery': EndpointSync.unary(method=MethodInfo(name='DeleteMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteMetricQueryRequest, output=public_dot_ontology__pb2.DeleteMetricQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_metric_query), '/textql.rpc.public.ontology.OntologyServiceDeprecated/CreateObjectViewSettings': EndpointSync.unary(method=MethodInfo(name='CreateObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateObjectViewSettingsRequest, output=public_dot_ontology__pb2.CreateObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_object_view_settings), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetObjectViewSettings': EndpointSync.unary(method=MethodInfo(name='GetObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetObjectViewSettingsRequest, output=public_dot_ontology__pb2.GetObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_object_view_settings), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UpdateObjectViewSettings': EndpointSync.unary(method=MethodInfo(name='UpdateObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectViewSettingsRequest, output=public_dot_ontology__pb2.UpdateObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_object_view_settings), '/textql.rpc.public.ontology.OntologyServiceDeprecated/TestOntologyObjects': EndpointSync.unary(method=MethodInfo(name='TestOntologyObjects', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.TestOntologyObjectsRequest, output=public_dot_ontology__pb2.TestOntologyObjectsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.test_ontology_objects), '/textql.rpc.public.ontology.OntologyServiceDeprecated/TestOntologyAttributes': EndpointSync.unary(method=MethodInfo(name='TestOntologyAttributes', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.TestOntologyAttributesRequest, output=public_dot_ontology__pb2.TestOntologyAttributesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.test_ontology_attributes), '/textql.rpc.public.ontology.OntologyServiceDeprecated/ExportOntology': EndpointSync.unary(method=MethodInfo(name='ExportOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ExportOntologyRequest, output=public_dot_ontology__pb2.ExportOntologyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.export_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/ImportOntology': EndpointSync.unary(method=MethodInfo(name='ImportOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ImportOntologyRequest, output=public_dot_ontology__pb2.ImportOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.import_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/ClearOntology': EndpointSync.unary(method=MethodInfo(name='ClearOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ClearOntologyRequest, output=public_dot_ontology__pb2.ClearOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.clear_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/RegisterExampleOntology': EndpointSync.unary(method=MethodInfo(name='RegisterExampleOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.RegisterExampleOntologyRequest, output=public_dot_ontology__pb2.RegisterExampleOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.register_example_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/UnregisterExampleOntology': EndpointSync.unary(method=MethodInfo(name='UnregisterExampleOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UnregisterExampleOntologyRequest, output=public_dot_ontology__pb2.UnregisterExampleOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.unregister_example_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GenerateSamplesForOntology': EndpointSync.unary(method=MethodInfo(name='GenerateSamplesForOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GenerateSamplesForOntologyRequest, output=public_dot_ontology__pb2.GenerateSamplesForOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.generate_samples_for_ontology), '/textql.rpc.public.ontology.OntologyServiceDeprecated/GetTableRowCount': EndpointSync.unary(method=MethodInfo(name='GetTableRowCount', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetTableRowCountRequest, output=public_dot_ontology__pb2.GetTableRowCountResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_table_row_count)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.ontology.OntologyServiceDeprecated' + +class OntologyServiceDeprecatedClientSync(ConnectClientSync): + + def create_ontology(self, request: public_dot_ontology__pb2.CreateOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateOntologyRequest, output=public_dot_ontology__pb2.CreateOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_ontology(self, request: public_dot_ontology__pb2.GetOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologyRequest, output=public_dot_ontology__pb2.GetOntologyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontology_by_id(self, request: public_dot_ontology__pb2.GetOntologyByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetOntologyByIdResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologyByIdRequest, output=public_dot_ontology__pb2.GetOntologyByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontologies(self, request: public_dot_ontology__pb2.GetOntologiesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetOntologiesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologies', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologiesRequest, output=public_dot_ontology__pb2.GetOntologiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontologies_summary(self, request: public_dot_ontology__pb2.GetOntologiesSummaryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetOntologiesSummaryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologiesSummary', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetOntologiesSummaryRequest, output=public_dot_ontology__pb2.GetOntologiesSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_ontology_name(self, request: public_dot_ontology__pb2.UpdateOntologyNameRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateOntologyNameResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOntologyName', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateOntologyNameRequest, output=public_dot_ontology__pb2.UpdateOntologyNameResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_ontology_description(self, request: public_dot_ontology__pb2.UpdateOntologyDescriptionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateOntologyDescriptionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOntologyDescription', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateOntologyDescriptionRequest, output=public_dot_ontology__pb2.UpdateOntologyDescriptionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_ontology(self, request: public_dot_ontology__pb2.DeleteOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteOntologyRequest, output=public_dot_ontology__pb2.DeleteOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_object(self, request: public_dot_ontology__pb2.CreateObjectRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateObjectResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateObjectRequest, output=public_dot_ontology__pb2.CreateObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_object(self, request: public_dot_ontology__pb2.UpdateObjectRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateObjectResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectRequest, output=public_dot_ontology__pb2.UpdateObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_object(self, request: public_dot_ontology__pb2.DeleteObjectRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteObjectResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteObject', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteObjectRequest, output=public_dot_ontology__pb2.DeleteObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_object_by_id(self, request: public_dot_ontology__pb2.GetObjectByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetObjectByIdResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetObjectById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetObjectByIdRequest, output=public_dot_ontology__pb2.GetObjectByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_object_graph_properties(self, request: public_dot_ontology__pb2.UpdateObjectGraphPropertiesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateObjectGraphPropertiesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectGraphProperties', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectGraphPropertiesRequest, output=public_dot_ontology__pb2.UpdateObjectGraphPropertiesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_attribute(self, request: public_dot_ontology__pb2.CreateAttributeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateAttributeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateAttributeRequest, output=public_dot_ontology__pb2.CreateAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_attribute(self, request: public_dot_ontology__pb2.UpdateAttributeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateAttributeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateAttributeRequest, output=public_dot_ontology__pb2.UpdateAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_attribute(self, request: public_dot_ontology__pb2.DeleteAttributeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteAttributeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteAttribute', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteAttributeRequest, output=public_dot_ontology__pb2.DeleteAttributeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_attribute_by_id(self, request: public_dot_ontology__pb2.GetAttributeByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetAttributeByIdResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetAttributeById', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetAttributeByIdRequest, output=public_dot_ontology__pb2.GetAttributeByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_metric(self, request: public_dot_ontology__pb2.CreateMetricRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateMetricResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateMetricRequest, output=public_dot_ontology__pb2.CreateMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_metric(self, request: public_dot_ontology__pb2.UpdateMetricRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateMetricResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateMetricRequest, output=public_dot_ontology__pb2.UpdateMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_metric(self, request: public_dot_ontology__pb2.DeleteMetricRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteMetricResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteMetric', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteMetricRequest, output=public_dot_ontology__pb2.DeleteMetricResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_relation(self, request: public_dot_ontology__pb2.CreateRelationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateRelationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateRelationRequest, output=public_dot_ontology__pb2.CreateRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_relation(self, request: public_dot_ontology__pb2.UpdateRelationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateRelationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateRelationRequest, output=public_dot_ontology__pb2.UpdateRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_relation(self, request: public_dot_ontology__pb2.DeleteRelationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteRelationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteRelation', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteRelationRequest, output=public_dot_ontology__pb2.DeleteRelationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_filter_rule(self, request: public_dot_ontology__pb2.CreateFilterRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateFilterRuleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateFilterRuleRequest, output=public_dot_ontology__pb2.CreateFilterRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_filter_rule(self, request: public_dot_ontology__pb2.DeleteFilterRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteFilterRuleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteFilterRuleRequest, output=public_dot_ontology__pb2.DeleteFilterRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_filter_rule(self, request: public_dot_ontology__pb2.GetFilterRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetFilterRuleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetFilterRule', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetFilterRuleRequest, output=public_dot_ontology__pb2.GetFilterRuleResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_object_access_time(self, request: public_dot_ontology__pb2.UpdateObjectAccessTimeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateObjectAccessTimeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectAccessTimeRequest, output=public_dot_ontology__pb2.UpdateObjectAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_attribute_access_time(self, request: public_dot_ontology__pb2.UpdateAttributeAccessTimeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateAttributeAccessTimeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateAttributeAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateAttributeAccessTimeRequest, output=public_dot_ontology__pb2.UpdateAttributeAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_metric_access_time(self, request: public_dot_ontology__pb2.UpdateMetricAccessTimeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateMetricAccessTimeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateMetricAccessTime', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateMetricAccessTimeRequest, output=public_dot_ontology__pb2.UpdateMetricAccessTimeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def save_metric_query(self, request: public_dot_ontology__pb2.SaveMetricQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.SaveMetricQueryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SaveMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.SaveMetricQueryRequest, output=public_dot_ontology__pb2.SaveMetricQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_metric_query(self, request: public_dot_ontology__pb2.GetMetricQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetMetricQueryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetMetricQueryRequest, output=public_dot_ontology__pb2.GetMetricQueryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_metric_queries(self, request: public_dot_ontology__pb2.GetMetricQueriesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetMetricQueriesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMetricQueries', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetMetricQueriesRequest, output=public_dot_ontology__pb2.GetMetricQueriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def delete_metric_query(self, request: public_dot_ontology__pb2.DeleteMetricQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.DeleteMetricQueryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteMetricQuery', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.DeleteMetricQueryRequest, output=public_dot_ontology__pb2.DeleteMetricQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_object_view_settings(self, request: public_dot_ontology__pb2.CreateObjectViewSettingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.CreateObjectViewSettingsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.CreateObjectViewSettingsRequest, output=public_dot_ontology__pb2.CreateObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_object_view_settings(self, request: public_dot_ontology__pb2.GetObjectViewSettingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetObjectViewSettingsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetObjectViewSettingsRequest, output=public_dot_ontology__pb2.GetObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_object_view_settings(self, request: public_dot_ontology__pb2.UpdateObjectViewSettingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UpdateObjectViewSettingsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectViewSettings', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UpdateObjectViewSettingsRequest, output=public_dot_ontology__pb2.UpdateObjectViewSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def test_ontology_objects(self, request: public_dot_ontology__pb2.TestOntologyObjectsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.TestOntologyObjectsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestOntologyObjects', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.TestOntologyObjectsRequest, output=public_dot_ontology__pb2.TestOntologyObjectsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def test_ontology_attributes(self, request: public_dot_ontology__pb2.TestOntologyAttributesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.TestOntologyAttributesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestOntologyAttributes', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.TestOntologyAttributesRequest, output=public_dot_ontology__pb2.TestOntologyAttributesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def export_ontology(self, request: public_dot_ontology__pb2.ExportOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.ExportOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExportOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ExportOntologyRequest, output=public_dot_ontology__pb2.ExportOntologyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def import_ontology(self, request: public_dot_ontology__pb2.ImportOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.ImportOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ImportOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ImportOntologyRequest, output=public_dot_ontology__pb2.ImportOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def clear_ontology(self, request: public_dot_ontology__pb2.ClearOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.ClearOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ClearOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.ClearOntologyRequest, output=public_dot_ontology__pb2.ClearOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def register_example_ontology(self, request: public_dot_ontology__pb2.RegisterExampleOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.RegisterExampleOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RegisterExampleOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.RegisterExampleOntologyRequest, output=public_dot_ontology__pb2.RegisterExampleOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def unregister_example_ontology(self, request: public_dot_ontology__pb2.UnregisterExampleOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.UnregisterExampleOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UnregisterExampleOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.UnregisterExampleOntologyRequest, output=public_dot_ontology__pb2.UnregisterExampleOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def generate_samples_for_ontology(self, request: public_dot_ontology__pb2.GenerateSamplesForOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_ontology__pb2.GenerateSamplesForOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GenerateSamplesForOntology', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GenerateSamplesForOntologyRequest, output=public_dot_ontology__pb2.GenerateSamplesForOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_table_row_count(self, request: public_dot_ontology__pb2.GetTableRowCountRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_ontology__pb2.GetTableRowCountResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetTableRowCount', service_name='textql.rpc.public.ontology.OntologyServiceDeprecated', input=public_dot_ontology__pb2.GetTableRowCountRequest, output=public_dot_ontology__pb2.GetTableRowCountResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/ontology_pb2.py b/src/textql_sdk/_connect/public/ontology_pb2.py new file mode 100644 index 0000000..0164ef9 --- /dev/null +++ b/src/textql_sdk/_connect/public/ontology_pb2.py @@ -0,0 +1,270 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/ontology.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15public/ontology.proto\x12\x1atextql.rpc.public.ontology\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"U\n\tTableName\x12\x16\n\x06schema\x18\x01 \x01(\tR\x06schema\x12\x14\n\x05table\x18\x02 \x01(\tR\x05table\x12\x1a\n\x08database\x18\x03 \x01(\tR\x08database"3\n\x0cAttributeRef\x12#\n\rattribute_ref\x18\x01 \x01(\tR\x0cattributeRef"*\n\tObjectRef\x12\x1d\n\nobject_ref\x18\x01 \x01(\tR\tobjectRef"+\n\rGraphPosition\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y"\x82\x01\n\x0fGraphProperties\x12E\n\x08position\x18\x01 \x01(\x0b2).textql.rpc.public.ontology.GraphPositionR\x08position\x12\x12\n\x04icon\x18\x02 \x01(\tR\x04icon\x12\x14\n\x05color\x18\x03 \x01(\tR\x05color"\xb3\x01\n\rAttributeData\x12O\n\x08unlinked\x18\x01 \x01(\x0b21.textql.rpc.public.ontology.UnlinkedAttributeDataH\x00R\x08unlinked\x12I\n\x06linked\x18\x02 \x01(\x0b2/.textql.rpc.public.ontology.LinkedAttributeDataH\x00R\x06linkedB\x06\n\x04data"8\n\x15UnlinkedAttributeData\x12\x1f\n\x0bcolumn_name\x18\x01 \x01(\tR\ncolumnName"f\n\x13LinkedAttributeData\x12\x1f\n\x0brelation_id\x18\x01 \x01(\tR\nrelationId\x12.\n\x13target_attribute_id\x18\x02 \x01(\tR\x11targetAttributeId"u\n\x10IntermediateJoin\x12\x1d\n\ntable_name\x18\x01 \x01(\tR\ttableName\x12\x1f\n\x0bleft_column\x18\x02 \x01(\tR\nleftColumn\x12!\n\x0cright_column\x18\x03 \x01(\tR\x0brightColumn"\xfd\x04\n\x0eOntologyObject\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12L\n\rbacking_table\x18\x04 \x01(\x0b2%.textql.rpc.public.ontology.TableNameH\x00R\x0cbackingTable\x12%\n\rbacking_query\x18\x05 \x01(\tH\x00R\x0cbackingQuery\x12\\\n\x15primary_key_attribute\x18\x06 \x01(\x0b2(.textql.rpc.public.ontology.AttributeRefR\x13primaryKeyAttribute\x12Q\n\x0ftitle_attribute\x18\x07 \x01(\x0b2(.textql.rpc.public.ontology.AttributeRefR\x0etitleAttribute\x12_\n\x16interesting_attributes\x18\x08 \x03(\x0b2(.textql.rpc.public.ontology.AttributeRefR\x15interestingAttributes\x12V\n\x10graph_properties\x18\t \x01(\x0b2+.textql.rpc.public.ontology.GraphPropertiesR\x0fgraphProperties\x12;\n\x0baccess_time\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\naccessTimeB\t\n\x07backing"\x9c\x03\n\x11OntologyAttribute\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12E\n\x04type\x18\x05 \x01(\x0e21.textql.rpc.public.ontology.OntologyAttributeTypeR\x04type\x12\x1f\n\x0bis_inherent\x18\x06 \x01(\x08R\nisInherent\x12\x1d\n\nis_measure\x18\x07 \x01(\x08R\tisMeasure\x12!\n\x0cis_dimension\x18\x08 \x01(\x08R\x0bisDimension\x12=\n\x04data\x18\t \x01(\x0b2).textql.rpc.public.ontology.AttributeDataR\x04data\x12;\n\x0baccess_time\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\naccessTime"\x90\x04\n\x0eOntologyMetric\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12\x1b\n\tobject_id\x18\x04 \x01(\tR\x08objectId\x12F\n\tattribute\x18\x05 \x01(\x0b2(.textql.rpc.public.ontology.AttributeRefR\tattribute\x12\x18\n\x07formula\x18\x06 \x01(\tR\x07formula\x12O\n\x0etime_dimension\x18\x07 \x01(\x0b2(.textql.rpc.public.ontology.AttributeRefR\rtimeDimension\x12H\n\nbreakdowns\x18\x08 \x03(\x0b2(.textql.rpc.public.ontology.AttributeRefR\nbreakdowns\x12O\n\x0baggregation\x18\t \x01(\x0e2-.textql.rpc.public.ontology.MetricAggregationR\x0baggregation\x12\x10\n\x03lod\x18\n \x03(\tR\x03lod\x12;\n\x0baccess_time\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\naccessTime"\xa8\x04\n\x10OntologyRelation\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12<\n\x04type\x18\x04 \x01(\x0e2(.textql.rpc.public.ontology.RelationTypeR\x04type\x12@\n\x08object_a\x18\x05 \x01(\x0b2%.textql.rpc.public.ontology.ObjectRefR\x07objectA\x12@\n\x08object_b\x18\x06 \x01(\x0b2%.textql.rpc.public.ontology.ObjectRefR\x07objectB\x12F\n\njoin_key_a\x18\x07 \x01(\x0b2(.textql.rpc.public.ontology.AttributeRefR\x08joinKeyA\x12F\n\njoin_key_b\x18\x08 \x01(\x0b2(.textql.rpc.public.ontology.AttributeRefR\x08joinKeyB\x12Y\n\x11intermediate_join\x18\t \x01(\x0b2,.textql.rpc.public.ontology.IntermediateJoinR\x10intermediateJoin\x12!\n\x0cjoin_formula\x18\n \x01(\tR\x0bjoinFormula"\x90\x06\n\x08Ontology\x12\x0e\n\x02id\x18\x01 \x01(\x05R\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12!\n\x0cconnector_id\x18\x04 \x01(\x05R\x0bconnectorId\x12%\n\x0econnector_name\x18\x05 \x01(\tR\rconnectorName\x12\x1d\n\nis_example\x18\x06 \x01(\x08R\tisExample\x12D\n\x07objects\x18\x07 \x03(\x0b2*.textql.rpc.public.ontology.OntologyObjectR\x07objects\x12M\n\nattributes\x18\x08 \x03(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\nattributes\x12D\n\x07metrics\x18\t \x03(\x0b2*.textql.rpc.public.ontology.OntologyMetricR\x07metrics\x12J\n\trelations\x18\n \x03(\x0b2,.textql.rpc.public.ontology.OntologyRelationR\trelations\x12D\n\x08measures\x18\x0b \x03(\x0b2(.textql.rpc.public.ontology.AttributeRefR\x08measures\x12H\n\ndimensions\x18\x0c \x03(\x0b2(.textql.rpc.public.ontology.AttributeRefR\ndimensions\x12b\n\x1atemporary_core_fact_object\x18\r \x01(\x0b2%.textql.rpc.public.ontology.ObjectRefR\x17temporaryCoreFactObject\x12:\n\x0cfilter_rules\x18\x0e \x03(\x0b2\x17.google.protobuf.StructR\x0bfilterRules"\x8b\x05\n\x15CreateOntologyRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12D\n\x07objects\x18\x04 \x03(\x0b2*.textql.rpc.public.ontology.OntologyObjectR\x07objects\x12M\n\nattributes\x18\x05 \x03(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\nattributes\x12D\n\x07metrics\x18\x06 \x03(\x0b2*.textql.rpc.public.ontology.OntologyMetricR\x07metrics\x12J\n\trelations\x18\x07 \x03(\x0b2,.textql.rpc.public.ontology.OntologyRelationR\trelations\x12D\n\x08measures\x18\x08 \x03(\x0b2(.textql.rpc.public.ontology.AttributeRefR\x08measures\x12H\n\ndimensions\x18\t \x03(\x0b2(.textql.rpc.public.ontology.AttributeRefR\ndimensions\x12b\n\x1atemporary_core_fact_object\x18\n \x01(\x0b2%.textql.rpc.public.ontology.ObjectRefR\x17temporaryCoreFactObject"Z\n\x16CreateOntologyResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"7\n\x12GetOntologyRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"W\n\x13GetOntologyResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"9\n\x16GetOntologyByIdRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId"[\n\x17GetOntologyByIdResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"A\n\x14GetOntologiesRequest\x12)\n\x10include_examples\x18\x01 \x01(\x08R\x0fincludeExamples"]\n\x15GetOntologiesResponse\x12D\n\nontologies\x18\x01 \x03(\x0b2$.textql.rpc.public.ontology.OntologyR\nontologies"\xc0\x01\n\x0fOntologySummary\x12\x0e\n\x02id\x18\x01 \x01(\x05R\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12!\n\x0cconnector_id\x18\x04 \x01(\x05R\x0bconnectorId\x12%\n\x0econnector_name\x18\x05 \x01(\tR\rconnectorName\x12\x1d\n\nis_example\x18\x06 \x01(\x08R\tisExample"H\n\x1bGetOntologiesSummaryRequest\x12)\n\x10include_examples\x18\x01 \x01(\x08R\x0fincludeExamples"k\n\x1cGetOntologiesSummaryResponse\x12K\n\nontologies\x18\x01 \x03(\x0b2+.textql.rpc.public.ontology.OntologySummaryR\nontologies"P\n\x19UpdateOntologyNameRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"^\n\x1aUpdateOntologyNameResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"e\n UpdateOntologyDescriptionRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription"e\n!UpdateOntologyDescriptionResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"8\n\x15DeleteOntologyRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId"2\n\x16DeleteOntologyResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xad\x02\n\x13CreateObjectRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12B\n\x06object\x18\x02 \x01(\x0b2*.textql.rpc.public.ontology.OntologyObjectR\x06object\x12M\n\nattributes\x18\x03 \x03(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\nattributes\x12b\n\x1atemporary_core_fact_object\x18\x04 \x01(\x0b2%.textql.rpc.public.ontology.ObjectRefR\x17temporaryCoreFactObject"X\n\x14CreateObjectResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"\xda\x03\n\x13UpdateObjectRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x12B\n\x06object\x18\x03 \x01(\x0b2*.textql.rpc.public.ontology.OntologyObjectR\x06object\x12M\n\nattributes\x18\x04 \x03(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\nattributes\x12D\n\x08measures\x18\x05 \x03(\x0b2(.textql.rpc.public.ontology.AttributeRefR\x08measures\x12H\n\ndimensions\x18\x06 \x03(\x0b2(.textql.rpc.public.ontology.AttributeRefR\ndimensions\x12b\n\x1atemporary_core_fact_object\x18\x07 \x01(\x0b2%.textql.rpc.public.ontology.ObjectRefR\x17temporaryCoreFactObject"\x89\x02\n\x14UpdateObjectResponse\x12B\n\x06object\x18\x01 \x01(\x0b2*.textql.rpc.public.ontology.OntologyObjectR\x06object\x12M\n\nattributes\x18\x02 \x03(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\nattributes\x12,\n\x12deleted_metric_ids\x18\x03 \x03(\tR\x10deletedMetricIds\x120\n\x14deleted_relation_ids\x18\x04 \x03(\tR\x12deletedRelationIds"S\n\x13DeleteObjectRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId"X\n\x14DeleteObjectResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"3\n\x14GetObjectByIdRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId"\xec\x01\n\x15GetObjectByIdResponse\x12B\n\x06object\x18\x01 \x01(\x0b2*.textql.rpc.public.ontology.OntologyObjectR\x06object\x12@\n\x08ontology\x18\x02 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology\x12M\n\nattributes\x18\x03 \x03(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\nattributes"\x98\x01\n"UpdateObjectGraphPropertiesRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12Q\n\x07updates\x18\x02 \x03(\x0b27.textql.rpc.public.ontology.ObjectGraphPropertiesUpdateR\x07updates"\x92\x01\n\x1bObjectGraphPropertiesUpdate\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12V\n\x10graph_properties\x18\x02 \x01(\x0b2+.textql.rpc.public.ontology.GraphPropertiesR\x0fgraphProperties"?\n#UpdateObjectGraphPropertiesResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x86\x01\n\x16CreateAttributeRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12K\n\tattribute\x18\x02 \x01(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\tattribute"[\n\x17CreateAttributeResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"\xa9\x01\n\x16UpdateAttributeRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12!\n\x0cattribute_id\x18\x02 \x01(\tR\x0battributeId\x12K\n\tattribute\x18\x03 \x01(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\tattribute"[\n\x17UpdateAttributeResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"\\\n\x16DeleteAttributeRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12!\n\x0cattribute_id\x18\x02 \x01(\tR\x0battributeId"[\n\x17DeleteAttributeResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"<\n\x17GetAttributeByIdRequest\x12!\n\x0cattribute_id\x18\x01 \x01(\tR\x0battributeId"g\n\x18GetAttributeByIdResponse\x12K\n\tattribute\x18\x01 \x01(\x0b2-.textql.rpc.public.ontology.OntologyAttributeR\tattribute"|\n\x13CreateMetricRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12D\n\x07metrics\x18\x02 \x03(\x0b2*.textql.rpc.public.ontology.OntologyMetricR\x07metrics"X\n\x14CreateMetricResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"\x97\x01\n\x13UpdateMetricRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x1b\n\tmetric_id\x18\x02 \x01(\tR\x08metricId\x12B\n\x06metric\x18\x03 \x01(\x0b2*.textql.rpc.public.ontology.OntologyMetricR\x06metric"X\n\x14UpdateMetricResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"S\n\x13DeleteMetricRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x1b\n\tmetric_id\x18\x02 \x01(\tR\x08metricId"X\n\x14DeleteMetricResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"\x82\x01\n\x15CreateRelationRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12H\n\x08relation\x18\x02 \x01(\x0b2,.textql.rpc.public.ontology.OntologyRelationR\x08relation"Z\n\x16CreateRelationResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"\xa3\x01\n\x15UpdateRelationRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x1f\n\x0brelation_id\x18\x02 \x01(\tR\nrelationId\x12H\n\x08relation\x18\x03 \x01(\x0b2,.textql.rpc.public.ontology.OntologyRelationR\x08relation"Z\n\x16UpdateRelationResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"Y\n\x15DeleteRelationRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x1f\n\x0brelation_id\x18\x02 \x01(\tR\nrelationId"Z\n\x16DeleteRelationResponse\x12@\n\x08ontology\x18\x01 \x01(\x0b2$.textql.rpc.public.ontology.OntologyR\x08ontology"|\n\x17CreateFilterRuleRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12!\n\x0cattribute_id\x18\x02 \x01(\tR\x0battributeId\x12\x1d\n\nrule_value\x18\x03 \x01(\tR\truleValue"4\n\x18CreateFilterRuleResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"]\n\x17DeleteFilterRuleRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12!\n\x0cattribute_id\x18\x02 \x01(\tR\x0battributeId"4\n\x18DeleteFilterRuleResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"Z\n\x14GetFilterRuleRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12!\n\x0cattribute_id\x18\x02 \x01(\tR\x0battributeId"Q\n\x15GetFilterRuleResponse\x12\x19\n\x08has_rule\x18\x01 \x01(\x08R\x07hasRule\x12\x1d\n\nrule_value\x18\x02 \x01(\tR\truleValue"]\n\x1dUpdateObjectAccessTimeRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId":\n\x1eUpdateObjectAccessTimeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"f\n UpdateAttributeAccessTimeRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12!\n\x0cattribute_id\x18\x02 \x01(\tR\x0battributeId"=\n!UpdateAttributeAccessTimeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"]\n\x1dUpdateMetricAccessTimeRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x1b\n\tmetric_id\x18\x02 \x01(\tR\x08metricId":\n\x1eUpdateMetricAccessTimeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x97\x01\n\x16SaveMetricQueryRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12-\n\x05query\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x05query\x12\x19\n\x08query_id\x18\x04 \x01(\tR\x07queryId"4\n\x17SaveMetricQueryResponse\x12\x19\n\x08query_id\x18\x01 \x01(\tR\x07queryId"2\n\x15GetMetricQueryRequest\x12\x19\n\x08query_id\x18\x01 \x01(\tR\x07queryId"\xbf\x02\n\x16GetMetricQueryResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12-\n\x05query\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x05query\x12\x1f\n\x0bontology_id\x18\x04 \x01(\x05R\nontologyId\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12;\n\x0baccess_time\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\naccessTime"a\n\x17GetMetricQueriesRequest\x12\x1b\n\tquery_ids\x18\x01 \x03(\tR\x08queryIds\x12)\n\x10verify_ownership\x18\x02 \x01(\x08R\x0fverifyOwnership"h\n\x18GetMetricQueriesResponse\x12L\n\x07queries\x18\x01 \x03(\x0b22.textql.rpc.public.ontology.GetMetricQueryResponseR\x07queries"5\n\x18DeleteMetricQueryRequest\x12\x19\n\x08query_id\x18\x01 \x01(\tR\x07queryId"5\n\x19DeleteMetricQueryResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"s\n\x1fCreateObjectViewSettingsRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x123\n\x08settings\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x08settings"W\n CreateObjectViewSettingsResponse\x123\n\x08settings\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x08settings";\n\x1cGetObjectViewSettingsRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId"T\n\x1dGetObjectViewSettingsResponse\x123\n\x08settings\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x08settings"s\n\x1fUpdateObjectViewSettingsRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x123\n\x08settings\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x08settings"W\n UpdateObjectViewSettingsResponse\x123\n\x08settings\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x08settings"\xdd\x01\n\nTestResult\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12E\n\x06status\x18\x02 \x01(\x0e2-.textql.rpc.public.ontology.TestResult.StatusR\x06status\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message"Z\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x12\n\x0eSTATUS_SUCCESS\x10\x01\x12\x10\n\x0cSTATUS_ERROR\x10\x02\x12\x12\n\x0eSTATUS_SKIPPED\x10\x03"=\n\x1aTestOntologyObjectsRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId"_\n\x1bTestOntologyObjectsResponse\x12@\n\x07results\x18\x01 \x03(\x0b2&.textql.rpc.public.ontology.TestResultR\x07results"@\n\x1dTestOntologyAttributesRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId"b\n\x1eTestOntologyAttributesResponse\x12@\n\x07results\x18\x01 \x03(\x0b2&.textql.rpc.public.ontology.TestResultR\x07results"8\n\x15ExportOntologyRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId"M\n\x16ExportOntologyResponse\x123\n\x08ontology\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x08ontology"\x90\x01\n\x15ImportOntologyRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x123\n\x08ontology\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x08ontology\x12!\n\x0cconnector_id\x18\x03 \x01(\x05R\x0bconnectorId"2\n\x16ImportOntologyResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"7\n\x14ClearOntologyRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId"1\n\x15ClearOntologyResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"A\n\x1eRegisterExampleOntologyRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId";\n\x1fRegisterExampleOntologyResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"C\n UnregisterExampleOntologyRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId"=\n!UnregisterExampleOntologyResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"D\n!GenerateSamplesForOntologyRequest\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId"X\n"GenerateSamplesForOntologyResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"Y\n\x17GetTableRowCountRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12!\n\x0cconnector_id\x18\x02 \x01(\x05R\x0bconnectorId"Q\n\x18GetTableRowCountResponse\x12\x1b\n\trow_count\x18\x01 \x01(\x03R\x08rowCount\x12\x18\n\x07success\x18\x02 \x01(\x08R\x07success*\xc7\x03\n\x15OntologyAttributeType\x12\'\n#ONTOLOGY_ATTRIBUTE_TYPE_UNSPECIFIED\x10\x00\x12"\n\x1eONTOLOGY_ATTRIBUTE_TYPE_STRING\x10\x01\x12"\n\x1eONTOLOGY_ATTRIBUTE_TYPE_NUMBER\x10\x02\x12\x1f\n\x1bONTOLOGY_ATTRIBUTE_TYPE_INT\x10\x03\x12#\n\x1fONTOLOGY_ATTRIBUTE_TYPE_BOOLEAN\x10\x04\x12 \n\x1cONTOLOGY_ATTRIBUTE_TYPE_DATE\x10\x05\x12%\n!ONTOLOGY_ATTRIBUTE_TYPE_DATE_TIME\x10\x06\x12%\n!ONTOLOGY_ATTRIBUTE_TYPE_TIMESTAMP\x10\x07\x12 \n\x1cONTOLOGY_ATTRIBUTE_TYPE_ENUM\x10\x08\x12 \n\x1cONTOLOGY_ATTRIBUTE_TYPE_JSON\x10\t\x12!\n\x1dONTOLOGY_ATTRIBUTE_TYPE_JSONB\x10\n\x12 \n\x1cONTOLOGY_ATTRIBUTE_TYPE_UUID\x10\x0b*\xa9\x01\n\x0cRelationType\x12\x1d\n\x19RELATION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19RELATION_TYPE_ONE_TO_MANY\x10\x01\x12\x1d\n\x19RELATION_TYPE_MANY_TO_ONE\x10\x02\x12\x1c\n\x18RELATION_TYPE_ONE_TO_ONE\x10\x03\x12\x1e\n\x1aRELATION_TYPE_MANY_TO_MANY\x10\x04*\x89\x02\n\x11MetricAggregation\x12\x1a\n\x16METRIC_AGGREGATION_SUM\x10\x00\x12\x1c\n\x18METRIC_AGGREGATION_COUNT\x10\x01\x12\x1a\n\x16METRIC_AGGREGATION_AVG\x10\x02\x12\x1a\n\x16METRIC_AGGREGATION_MIN\x10\x03\x12\x1a\n\x16METRIC_AGGREGATION_MAX\x10\x04\x12%\n!METRIC_AGGREGATION_COUNT_DISTINCT\x10\x05\x12\x1d\n\x19METRIC_AGGREGATION_MEDIAN\x10\x06\x12 \n\x1cMETRIC_AGGREGATION_ARRAY_AGG\x10\x072\xc5.\n\x19OntologyServiceDeprecated\x12w\n\x0eCreateOntology\x121.textql.rpc.public.ontology.CreateOntologyRequest\x1a2.textql.rpc.public.ontology.CreateOntologyResponse\x12s\n\x0bGetOntology\x12..textql.rpc.public.ontology.GetOntologyRequest\x1a/.textql.rpc.public.ontology.GetOntologyResponse"\x03\x90\x02\x01\x12\x7f\n\x0fGetOntologyById\x122.textql.rpc.public.ontology.GetOntologyByIdRequest\x1a3.textql.rpc.public.ontology.GetOntologyByIdResponse"\x03\x90\x02\x01\x12y\n\rGetOntologies\x120.textql.rpc.public.ontology.GetOntologiesRequest\x1a1.textql.rpc.public.ontology.GetOntologiesResponse"\x03\x90\x02\x01\x12\x8e\x01\n\x14GetOntologiesSummary\x127.textql.rpc.public.ontology.GetOntologiesSummaryRequest\x1a8.textql.rpc.public.ontology.GetOntologiesSummaryResponse"\x03\x90\x02\x01\x12\x83\x01\n\x12UpdateOntologyName\x125.textql.rpc.public.ontology.UpdateOntologyNameRequest\x1a6.textql.rpc.public.ontology.UpdateOntologyNameResponse\x12\x98\x01\n\x19UpdateOntologyDescription\x12<.textql.rpc.public.ontology.UpdateOntologyDescriptionRequest\x1a=.textql.rpc.public.ontology.UpdateOntologyDescriptionResponse\x12w\n\x0eDeleteOntology\x121.textql.rpc.public.ontology.DeleteOntologyRequest\x1a2.textql.rpc.public.ontology.DeleteOntologyResponse\x12q\n\x0cCreateObject\x12/.textql.rpc.public.ontology.CreateObjectRequest\x1a0.textql.rpc.public.ontology.CreateObjectResponse\x12q\n\x0cUpdateObject\x12/.textql.rpc.public.ontology.UpdateObjectRequest\x1a0.textql.rpc.public.ontology.UpdateObjectResponse\x12q\n\x0cDeleteObject\x12/.textql.rpc.public.ontology.DeleteObjectRequest\x1a0.textql.rpc.public.ontology.DeleteObjectResponse\x12y\n\rGetObjectById\x120.textql.rpc.public.ontology.GetObjectByIdRequest\x1a1.textql.rpc.public.ontology.GetObjectByIdResponse"\x03\x90\x02\x01\x12\x9e\x01\n\x1bUpdateObjectGraphProperties\x12>.textql.rpc.public.ontology.UpdateObjectGraphPropertiesRequest\x1a?.textql.rpc.public.ontology.UpdateObjectGraphPropertiesResponse\x12z\n\x0fCreateAttribute\x122.textql.rpc.public.ontology.CreateAttributeRequest\x1a3.textql.rpc.public.ontology.CreateAttributeResponse\x12z\n\x0fUpdateAttribute\x122.textql.rpc.public.ontology.UpdateAttributeRequest\x1a3.textql.rpc.public.ontology.UpdateAttributeResponse\x12z\n\x0fDeleteAttribute\x122.textql.rpc.public.ontology.DeleteAttributeRequest\x1a3.textql.rpc.public.ontology.DeleteAttributeResponse\x12\x82\x01\n\x10GetAttributeById\x123.textql.rpc.public.ontology.GetAttributeByIdRequest\x1a4.textql.rpc.public.ontology.GetAttributeByIdResponse"\x03\x90\x02\x01\x12q\n\x0cCreateMetric\x12/.textql.rpc.public.ontology.CreateMetricRequest\x1a0.textql.rpc.public.ontology.CreateMetricResponse\x12q\n\x0cUpdateMetric\x12/.textql.rpc.public.ontology.UpdateMetricRequest\x1a0.textql.rpc.public.ontology.UpdateMetricResponse\x12q\n\x0cDeleteMetric\x12/.textql.rpc.public.ontology.DeleteMetricRequest\x1a0.textql.rpc.public.ontology.DeleteMetricResponse\x12w\n\x0eCreateRelation\x121.textql.rpc.public.ontology.CreateRelationRequest\x1a2.textql.rpc.public.ontology.CreateRelationResponse\x12w\n\x0eUpdateRelation\x121.textql.rpc.public.ontology.UpdateRelationRequest\x1a2.textql.rpc.public.ontology.UpdateRelationResponse\x12w\n\x0eDeleteRelation\x121.textql.rpc.public.ontology.DeleteRelationRequest\x1a2.textql.rpc.public.ontology.DeleteRelationResponse\x12}\n\x10CreateFilterRule\x123.textql.rpc.public.ontology.CreateFilterRuleRequest\x1a4.textql.rpc.public.ontology.CreateFilterRuleResponse\x12}\n\x10DeleteFilterRule\x123.textql.rpc.public.ontology.DeleteFilterRuleRequest\x1a4.textql.rpc.public.ontology.DeleteFilterRuleResponse\x12y\n\rGetFilterRule\x120.textql.rpc.public.ontology.GetFilterRuleRequest\x1a1.textql.rpc.public.ontology.GetFilterRuleResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x16UpdateObjectAccessTime\x129.textql.rpc.public.ontology.UpdateObjectAccessTimeRequest\x1a:.textql.rpc.public.ontology.UpdateObjectAccessTimeResponse\x12\x98\x01\n\x19UpdateAttributeAccessTime\x12<.textql.rpc.public.ontology.UpdateAttributeAccessTimeRequest\x1a=.textql.rpc.public.ontology.UpdateAttributeAccessTimeResponse\x12\x8f\x01\n\x16UpdateMetricAccessTime\x129.textql.rpc.public.ontology.UpdateMetricAccessTimeRequest\x1a:.textql.rpc.public.ontology.UpdateMetricAccessTimeResponse\x12z\n\x0fSaveMetricQuery\x122.textql.rpc.public.ontology.SaveMetricQueryRequest\x1a3.textql.rpc.public.ontology.SaveMetricQueryResponse\x12|\n\x0eGetMetricQuery\x121.textql.rpc.public.ontology.GetMetricQueryRequest\x1a2.textql.rpc.public.ontology.GetMetricQueryResponse"\x03\x90\x02\x01\x12\x82\x01\n\x10GetMetricQueries\x123.textql.rpc.public.ontology.GetMetricQueriesRequest\x1a4.textql.rpc.public.ontology.GetMetricQueriesResponse"\x03\x90\x02\x01\x12\x80\x01\n\x11DeleteMetricQuery\x124.textql.rpc.public.ontology.DeleteMetricQueryRequest\x1a5.textql.rpc.public.ontology.DeleteMetricQueryResponse\x12\x95\x01\n\x18CreateObjectViewSettings\x12;.textql.rpc.public.ontology.CreateObjectViewSettingsRequest\x1a<.textql.rpc.public.ontology.CreateObjectViewSettingsResponse\x12\x91\x01\n\x15GetObjectViewSettings\x128.textql.rpc.public.ontology.GetObjectViewSettingsRequest\x1a9.textql.rpc.public.ontology.GetObjectViewSettingsResponse"\x03\x90\x02\x01\x12\x95\x01\n\x18UpdateObjectViewSettings\x12;.textql.rpc.public.ontology.UpdateObjectViewSettingsRequest\x1a<.textql.rpc.public.ontology.UpdateObjectViewSettingsResponse\x12\x8b\x01\n\x13TestOntologyObjects\x126.textql.rpc.public.ontology.TestOntologyObjectsRequest\x1a7.textql.rpc.public.ontology.TestOntologyObjectsResponse"\x03\x90\x02\x01\x12\x94\x01\n\x16TestOntologyAttributes\x129.textql.rpc.public.ontology.TestOntologyAttributesRequest\x1a:.textql.rpc.public.ontology.TestOntologyAttributesResponse"\x03\x90\x02\x01\x12|\n\x0eExportOntology\x121.textql.rpc.public.ontology.ExportOntologyRequest\x1a2.textql.rpc.public.ontology.ExportOntologyResponse"\x03\x90\x02\x01\x12w\n\x0eImportOntology\x121.textql.rpc.public.ontology.ImportOntologyRequest\x1a2.textql.rpc.public.ontology.ImportOntologyResponse\x12t\n\rClearOntology\x120.textql.rpc.public.ontology.ClearOntologyRequest\x1a1.textql.rpc.public.ontology.ClearOntologyResponse\x12\x92\x01\n\x17RegisterExampleOntology\x12:.textql.rpc.public.ontology.RegisterExampleOntologyRequest\x1a;.textql.rpc.public.ontology.RegisterExampleOntologyResponse\x12\x98\x01\n\x19UnregisterExampleOntology\x12<.textql.rpc.public.ontology.UnregisterExampleOntologyRequest\x1a=.textql.rpc.public.ontology.UnregisterExampleOntologyResponse\x12\x9b\x01\n\x1aGenerateSamplesForOntology\x12=.textql.rpc.public.ontology.GenerateSamplesForOntologyRequest\x1a>.textql.rpc.public.ontology.GenerateSamplesForOntologyResponse\x12\x82\x01\n\x10GetTableRowCount\x123.textql.rpc.public.ontology.GetTableRowCountRequest\x1a4.textql.rpc.public.ontology.GetTableRowCountResponse"\x03\x90\x02\x01B\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.ontology_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetOntology']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetOntology']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetOntologyById']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetOntologyById']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetOntologies']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetOntologies']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetOntologiesSummary']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetOntologiesSummary']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetObjectById']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetObjectById']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetAttributeById']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetAttributeById']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetFilterRule']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetFilterRule']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetMetricQuery']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetMetricQuery']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetMetricQueries']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetMetricQueries']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetObjectViewSettings']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetObjectViewSettings']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['TestOntologyObjects']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['TestOntologyObjects']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['TestOntologyAttributes']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['TestOntologyAttributes']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['ExportOntology']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['ExportOntology']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetTableRowCount']._loaded_options = None + _globals['_ONTOLOGYSERVICEDEPRECATED'].methods_by_name['GetTableRowCount']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYATTRIBUTETYPE']._serialized_start = 14120 + _globals['_ONTOLOGYATTRIBUTETYPE']._serialized_end = 14575 + _globals['_RELATIONTYPE']._serialized_start = 14578 + _globals['_RELATIONTYPE']._serialized_end = 14747 + _globals['_METRICAGGREGATION']._serialized_start = 14750 + _globals['_METRICAGGREGATION']._serialized_end = 15015 + _globals['_TABLENAME']._serialized_start = 138 + _globals['_TABLENAME']._serialized_end = 223 + _globals['_ATTRIBUTEREF']._serialized_start = 225 + _globals['_ATTRIBUTEREF']._serialized_end = 276 + _globals['_OBJECTREF']._serialized_start = 278 + _globals['_OBJECTREF']._serialized_end = 320 + _globals['_GRAPHPOSITION']._serialized_start = 322 + _globals['_GRAPHPOSITION']._serialized_end = 365 + _globals['_GRAPHPROPERTIES']._serialized_start = 368 + _globals['_GRAPHPROPERTIES']._serialized_end = 498 + _globals['_ATTRIBUTEDATA']._serialized_start = 501 + _globals['_ATTRIBUTEDATA']._serialized_end = 680 + _globals['_UNLINKEDATTRIBUTEDATA']._serialized_start = 682 + _globals['_UNLINKEDATTRIBUTEDATA']._serialized_end = 738 + _globals['_LINKEDATTRIBUTEDATA']._serialized_start = 740 + _globals['_LINKEDATTRIBUTEDATA']._serialized_end = 842 + _globals['_INTERMEDIATEJOIN']._serialized_start = 844 + _globals['_INTERMEDIATEJOIN']._serialized_end = 961 + _globals['_ONTOLOGYOBJECT']._serialized_start = 964 + _globals['_ONTOLOGYOBJECT']._serialized_end = 1601 + _globals['_ONTOLOGYATTRIBUTE']._serialized_start = 1604 + _globals['_ONTOLOGYATTRIBUTE']._serialized_end = 2016 + _globals['_ONTOLOGYMETRIC']._serialized_start = 2019 + _globals['_ONTOLOGYMETRIC']._serialized_end = 2547 + _globals['_ONTOLOGYRELATION']._serialized_start = 2550 + _globals['_ONTOLOGYRELATION']._serialized_end = 3102 + _globals['_ONTOLOGY']._serialized_start = 3105 + _globals['_ONTOLOGY']._serialized_end = 3889 + _globals['_CREATEONTOLOGYREQUEST']._serialized_start = 3892 + _globals['_CREATEONTOLOGYREQUEST']._serialized_end = 4543 + _globals['_CREATEONTOLOGYRESPONSE']._serialized_start = 4545 + _globals['_CREATEONTOLOGYRESPONSE']._serialized_end = 4635 + _globals['_GETONTOLOGYREQUEST']._serialized_start = 4637 + _globals['_GETONTOLOGYREQUEST']._serialized_end = 4692 + _globals['_GETONTOLOGYRESPONSE']._serialized_start = 4694 + _globals['_GETONTOLOGYRESPONSE']._serialized_end = 4781 + _globals['_GETONTOLOGYBYIDREQUEST']._serialized_start = 4783 + _globals['_GETONTOLOGYBYIDREQUEST']._serialized_end = 4840 + _globals['_GETONTOLOGYBYIDRESPONSE']._serialized_start = 4842 + _globals['_GETONTOLOGYBYIDRESPONSE']._serialized_end = 4933 + _globals['_GETONTOLOGIESREQUEST']._serialized_start = 4935 + _globals['_GETONTOLOGIESREQUEST']._serialized_end = 5000 + _globals['_GETONTOLOGIESRESPONSE']._serialized_start = 5002 + _globals['_GETONTOLOGIESRESPONSE']._serialized_end = 5095 + _globals['_ONTOLOGYSUMMARY']._serialized_start = 5098 + _globals['_ONTOLOGYSUMMARY']._serialized_end = 5290 + _globals['_GETONTOLOGIESSUMMARYREQUEST']._serialized_start = 5292 + _globals['_GETONTOLOGIESSUMMARYREQUEST']._serialized_end = 5364 + _globals['_GETONTOLOGIESSUMMARYRESPONSE']._serialized_start = 5366 + _globals['_GETONTOLOGIESSUMMARYRESPONSE']._serialized_end = 5473 + _globals['_UPDATEONTOLOGYNAMEREQUEST']._serialized_start = 5475 + _globals['_UPDATEONTOLOGYNAMEREQUEST']._serialized_end = 5555 + _globals['_UPDATEONTOLOGYNAMERESPONSE']._serialized_start = 5557 + _globals['_UPDATEONTOLOGYNAMERESPONSE']._serialized_end = 5651 + _globals['_UPDATEONTOLOGYDESCRIPTIONREQUEST']._serialized_start = 5653 + _globals['_UPDATEONTOLOGYDESCRIPTIONREQUEST']._serialized_end = 5754 + _globals['_UPDATEONTOLOGYDESCRIPTIONRESPONSE']._serialized_start = 5756 + _globals['_UPDATEONTOLOGYDESCRIPTIONRESPONSE']._serialized_end = 5857 + _globals['_DELETEONTOLOGYREQUEST']._serialized_start = 5859 + _globals['_DELETEONTOLOGYREQUEST']._serialized_end = 5915 + _globals['_DELETEONTOLOGYRESPONSE']._serialized_start = 5917 + _globals['_DELETEONTOLOGYRESPONSE']._serialized_end = 5967 + _globals['_CREATEOBJECTREQUEST']._serialized_start = 5970 + _globals['_CREATEOBJECTREQUEST']._serialized_end = 6271 + _globals['_CREATEOBJECTRESPONSE']._serialized_start = 6273 + _globals['_CREATEOBJECTRESPONSE']._serialized_end = 6361 + _globals['_UPDATEOBJECTREQUEST']._serialized_start = 6364 + _globals['_UPDATEOBJECTREQUEST']._serialized_end = 6838 + _globals['_UPDATEOBJECTRESPONSE']._serialized_start = 6841 + _globals['_UPDATEOBJECTRESPONSE']._serialized_end = 7106 + _globals['_DELETEOBJECTREQUEST']._serialized_start = 7108 + _globals['_DELETEOBJECTREQUEST']._serialized_end = 7191 + _globals['_DELETEOBJECTRESPONSE']._serialized_start = 7193 + _globals['_DELETEOBJECTRESPONSE']._serialized_end = 7281 + _globals['_GETOBJECTBYIDREQUEST']._serialized_start = 7283 + _globals['_GETOBJECTBYIDREQUEST']._serialized_end = 7334 + _globals['_GETOBJECTBYIDRESPONSE']._serialized_start = 7337 + _globals['_GETOBJECTBYIDRESPONSE']._serialized_end = 7573 + _globals['_UPDATEOBJECTGRAPHPROPERTIESREQUEST']._serialized_start = 7576 + _globals['_UPDATEOBJECTGRAPHPROPERTIESREQUEST']._serialized_end = 7728 + _globals['_OBJECTGRAPHPROPERTIESUPDATE']._serialized_start = 7731 + _globals['_OBJECTGRAPHPROPERTIESUPDATE']._serialized_end = 7877 + _globals['_UPDATEOBJECTGRAPHPROPERTIESRESPONSE']._serialized_start = 7879 + _globals['_UPDATEOBJECTGRAPHPROPERTIESRESPONSE']._serialized_end = 7942 + _globals['_CREATEATTRIBUTEREQUEST']._serialized_start = 7945 + _globals['_CREATEATTRIBUTEREQUEST']._serialized_end = 8079 + _globals['_CREATEATTRIBUTERESPONSE']._serialized_start = 8081 + _globals['_CREATEATTRIBUTERESPONSE']._serialized_end = 8172 + _globals['_UPDATEATTRIBUTEREQUEST']._serialized_start = 8175 + _globals['_UPDATEATTRIBUTEREQUEST']._serialized_end = 8344 + _globals['_UPDATEATTRIBUTERESPONSE']._serialized_start = 8346 + _globals['_UPDATEATTRIBUTERESPONSE']._serialized_end = 8437 + _globals['_DELETEATTRIBUTEREQUEST']._serialized_start = 8439 + _globals['_DELETEATTRIBUTEREQUEST']._serialized_end = 8531 + _globals['_DELETEATTRIBUTERESPONSE']._serialized_start = 8533 + _globals['_DELETEATTRIBUTERESPONSE']._serialized_end = 8624 + _globals['_GETATTRIBUTEBYIDREQUEST']._serialized_start = 8626 + _globals['_GETATTRIBUTEBYIDREQUEST']._serialized_end = 8686 + _globals['_GETATTRIBUTEBYIDRESPONSE']._serialized_start = 8688 + _globals['_GETATTRIBUTEBYIDRESPONSE']._serialized_end = 8791 + _globals['_CREATEMETRICREQUEST']._serialized_start = 8793 + _globals['_CREATEMETRICREQUEST']._serialized_end = 8917 + _globals['_CREATEMETRICRESPONSE']._serialized_start = 8919 + _globals['_CREATEMETRICRESPONSE']._serialized_end = 9007 + _globals['_UPDATEMETRICREQUEST']._serialized_start = 9010 + _globals['_UPDATEMETRICREQUEST']._serialized_end = 9161 + _globals['_UPDATEMETRICRESPONSE']._serialized_start = 9163 + _globals['_UPDATEMETRICRESPONSE']._serialized_end = 9251 + _globals['_DELETEMETRICREQUEST']._serialized_start = 9253 + _globals['_DELETEMETRICREQUEST']._serialized_end = 9336 + _globals['_DELETEMETRICRESPONSE']._serialized_start = 9338 + _globals['_DELETEMETRICRESPONSE']._serialized_end = 9426 + _globals['_CREATERELATIONREQUEST']._serialized_start = 9429 + _globals['_CREATERELATIONREQUEST']._serialized_end = 9559 + _globals['_CREATERELATIONRESPONSE']._serialized_start = 9561 + _globals['_CREATERELATIONRESPONSE']._serialized_end = 9651 + _globals['_UPDATERELATIONREQUEST']._serialized_start = 9654 + _globals['_UPDATERELATIONREQUEST']._serialized_end = 9817 + _globals['_UPDATERELATIONRESPONSE']._serialized_start = 9819 + _globals['_UPDATERELATIONRESPONSE']._serialized_end = 9909 + _globals['_DELETERELATIONREQUEST']._serialized_start = 9911 + _globals['_DELETERELATIONREQUEST']._serialized_end = 10000 + _globals['_DELETERELATIONRESPONSE']._serialized_start = 10002 + _globals['_DELETERELATIONRESPONSE']._serialized_end = 10092 + _globals['_CREATEFILTERRULEREQUEST']._serialized_start = 10094 + _globals['_CREATEFILTERRULEREQUEST']._serialized_end = 10218 + _globals['_CREATEFILTERRULERESPONSE']._serialized_start = 10220 + _globals['_CREATEFILTERRULERESPONSE']._serialized_end = 10272 + _globals['_DELETEFILTERRULEREQUEST']._serialized_start = 10274 + _globals['_DELETEFILTERRULEREQUEST']._serialized_end = 10367 + _globals['_DELETEFILTERRULERESPONSE']._serialized_start = 10369 + _globals['_DELETEFILTERRULERESPONSE']._serialized_end = 10421 + _globals['_GETFILTERRULEREQUEST']._serialized_start = 10423 + _globals['_GETFILTERRULEREQUEST']._serialized_end = 10513 + _globals['_GETFILTERRULERESPONSE']._serialized_start = 10515 + _globals['_GETFILTERRULERESPONSE']._serialized_end = 10596 + _globals['_UPDATEOBJECTACCESSTIMEREQUEST']._serialized_start = 10598 + _globals['_UPDATEOBJECTACCESSTIMEREQUEST']._serialized_end = 10691 + _globals['_UPDATEOBJECTACCESSTIMERESPONSE']._serialized_start = 10693 + _globals['_UPDATEOBJECTACCESSTIMERESPONSE']._serialized_end = 10751 + _globals['_UPDATEATTRIBUTEACCESSTIMEREQUEST']._serialized_start = 10753 + _globals['_UPDATEATTRIBUTEACCESSTIMEREQUEST']._serialized_end = 10855 + _globals['_UPDATEATTRIBUTEACCESSTIMERESPONSE']._serialized_start = 10857 + _globals['_UPDATEATTRIBUTEACCESSTIMERESPONSE']._serialized_end = 10918 + _globals['_UPDATEMETRICACCESSTIMEREQUEST']._serialized_start = 10920 + _globals['_UPDATEMETRICACCESSTIMEREQUEST']._serialized_end = 11013 + _globals['_UPDATEMETRICACCESSTIMERESPONSE']._serialized_start = 11015 + _globals['_UPDATEMETRICACCESSTIMERESPONSE']._serialized_end = 11073 + _globals['_SAVEMETRICQUERYREQUEST']._serialized_start = 11076 + _globals['_SAVEMETRICQUERYREQUEST']._serialized_end = 11227 + _globals['_SAVEMETRICQUERYRESPONSE']._serialized_start = 11229 + _globals['_SAVEMETRICQUERYRESPONSE']._serialized_end = 11281 + _globals['_GETMETRICQUERYREQUEST']._serialized_start = 11283 + _globals['_GETMETRICQUERYREQUEST']._serialized_end = 11333 + _globals['_GETMETRICQUERYRESPONSE']._serialized_start = 11336 + _globals['_GETMETRICQUERYRESPONSE']._serialized_end = 11655 + _globals['_GETMETRICQUERIESREQUEST']._serialized_start = 11657 + _globals['_GETMETRICQUERIESREQUEST']._serialized_end = 11754 + _globals['_GETMETRICQUERIESRESPONSE']._serialized_start = 11756 + _globals['_GETMETRICQUERIESRESPONSE']._serialized_end = 11860 + _globals['_DELETEMETRICQUERYREQUEST']._serialized_start = 11862 + _globals['_DELETEMETRICQUERYREQUEST']._serialized_end = 11915 + _globals['_DELETEMETRICQUERYRESPONSE']._serialized_start = 11917 + _globals['_DELETEMETRICQUERYRESPONSE']._serialized_end = 11970 + _globals['_CREATEOBJECTVIEWSETTINGSREQUEST']._serialized_start = 11972 + _globals['_CREATEOBJECTVIEWSETTINGSREQUEST']._serialized_end = 12087 + _globals['_CREATEOBJECTVIEWSETTINGSRESPONSE']._serialized_start = 12089 + _globals['_CREATEOBJECTVIEWSETTINGSRESPONSE']._serialized_end = 12176 + _globals['_GETOBJECTVIEWSETTINGSREQUEST']._serialized_start = 12178 + _globals['_GETOBJECTVIEWSETTINGSREQUEST']._serialized_end = 12237 + _globals['_GETOBJECTVIEWSETTINGSRESPONSE']._serialized_start = 12239 + _globals['_GETOBJECTVIEWSETTINGSRESPONSE']._serialized_end = 12323 + _globals['_UPDATEOBJECTVIEWSETTINGSREQUEST']._serialized_start = 12325 + _globals['_UPDATEOBJECTVIEWSETTINGSREQUEST']._serialized_end = 12440 + _globals['_UPDATEOBJECTVIEWSETTINGSRESPONSE']._serialized_start = 12442 + _globals['_UPDATEOBJECTVIEWSETTINGSRESPONSE']._serialized_end = 12529 + _globals['_TESTRESULT']._serialized_start = 12532 + _globals['_TESTRESULT']._serialized_end = 12753 + _globals['_TESTRESULT_STATUS']._serialized_start = 12663 + _globals['_TESTRESULT_STATUS']._serialized_end = 12753 + _globals['_TESTONTOLOGYOBJECTSREQUEST']._serialized_start = 12755 + _globals['_TESTONTOLOGYOBJECTSREQUEST']._serialized_end = 12816 + _globals['_TESTONTOLOGYOBJECTSRESPONSE']._serialized_start = 12818 + _globals['_TESTONTOLOGYOBJECTSRESPONSE']._serialized_end = 12913 + _globals['_TESTONTOLOGYATTRIBUTESREQUEST']._serialized_start = 12915 + _globals['_TESTONTOLOGYATTRIBUTESREQUEST']._serialized_end = 12979 + _globals['_TESTONTOLOGYATTRIBUTESRESPONSE']._serialized_start = 12981 + _globals['_TESTONTOLOGYATTRIBUTESRESPONSE']._serialized_end = 13079 + _globals['_EXPORTONTOLOGYREQUEST']._serialized_start = 13081 + _globals['_EXPORTONTOLOGYREQUEST']._serialized_end = 13137 + _globals['_EXPORTONTOLOGYRESPONSE']._serialized_start = 13139 + _globals['_EXPORTONTOLOGYRESPONSE']._serialized_end = 13216 + _globals['_IMPORTONTOLOGYREQUEST']._serialized_start = 13219 + _globals['_IMPORTONTOLOGYREQUEST']._serialized_end = 13363 + _globals['_IMPORTONTOLOGYRESPONSE']._serialized_start = 13365 + _globals['_IMPORTONTOLOGYRESPONSE']._serialized_end = 13415 + _globals['_CLEARONTOLOGYREQUEST']._serialized_start = 13417 + _globals['_CLEARONTOLOGYREQUEST']._serialized_end = 13472 + _globals['_CLEARONTOLOGYRESPONSE']._serialized_start = 13474 + _globals['_CLEARONTOLOGYRESPONSE']._serialized_end = 13523 + _globals['_REGISTEREXAMPLEONTOLOGYREQUEST']._serialized_start = 13525 + _globals['_REGISTEREXAMPLEONTOLOGYREQUEST']._serialized_end = 13590 + _globals['_REGISTEREXAMPLEONTOLOGYRESPONSE']._serialized_start = 13592 + _globals['_REGISTEREXAMPLEONTOLOGYRESPONSE']._serialized_end = 13651 + _globals['_UNREGISTEREXAMPLEONTOLOGYREQUEST']._serialized_start = 13653 + _globals['_UNREGISTEREXAMPLEONTOLOGYREQUEST']._serialized_end = 13720 + _globals['_UNREGISTEREXAMPLEONTOLOGYRESPONSE']._serialized_start = 13722 + _globals['_UNREGISTEREXAMPLEONTOLOGYRESPONSE']._serialized_end = 13783 + _globals['_GENERATESAMPLESFORONTOLOGYREQUEST']._serialized_start = 13785 + _globals['_GENERATESAMPLESFORONTOLOGYREQUEST']._serialized_end = 13853 + _globals['_GENERATESAMPLESFORONTOLOGYRESPONSE']._serialized_start = 13855 + _globals['_GENERATESAMPLESFORONTOLOGYRESPONSE']._serialized_end = 13943 + _globals['_GETTABLEROWCOUNTREQUEST']._serialized_start = 13945 + _globals['_GETTABLEROWCOUNTREQUEST']._serialized_end = 14034 + _globals['_GETTABLEROWCOUNTRESPONSE']._serialized_start = 14036 + _globals['_GETTABLEROWCOUNTRESPONSE']._serialized_end = 14117 + _globals['_ONTOLOGYSERVICEDEPRECATED']._serialized_start = 15018 + _globals['_ONTOLOGYSERVICEDEPRECATED']._serialized_end = 20975 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/ontology_pb2.pyi b/src/textql_sdk/_connect/public/ontology_pb2.pyi new file mode 100644 index 0000000..ce7239d --- /dev/null +++ b/src/textql_sdk/_connect/public/ontology_pb2.pyi @@ -0,0 +1,1199 @@ +import datetime +from google.protobuf import struct_pb2 as _struct_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class OntologyAttributeType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ONTOLOGY_ATTRIBUTE_TYPE_UNSPECIFIED: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_STRING: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_NUMBER: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_INT: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_BOOLEAN: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_DATE: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_DATE_TIME: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_TIMESTAMP: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_ENUM: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_JSON: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_JSONB: _ClassVar[OntologyAttributeType] + ONTOLOGY_ATTRIBUTE_TYPE_UUID: _ClassVar[OntologyAttributeType] + +class RelationType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + RELATION_TYPE_UNSPECIFIED: _ClassVar[RelationType] + RELATION_TYPE_ONE_TO_MANY: _ClassVar[RelationType] + RELATION_TYPE_MANY_TO_ONE: _ClassVar[RelationType] + RELATION_TYPE_ONE_TO_ONE: _ClassVar[RelationType] + RELATION_TYPE_MANY_TO_MANY: _ClassVar[RelationType] + +class MetricAggregation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + METRIC_AGGREGATION_SUM: _ClassVar[MetricAggregation] + METRIC_AGGREGATION_COUNT: _ClassVar[MetricAggregation] + METRIC_AGGREGATION_AVG: _ClassVar[MetricAggregation] + METRIC_AGGREGATION_MIN: _ClassVar[MetricAggregation] + METRIC_AGGREGATION_MAX: _ClassVar[MetricAggregation] + METRIC_AGGREGATION_COUNT_DISTINCT: _ClassVar[MetricAggregation] + METRIC_AGGREGATION_MEDIAN: _ClassVar[MetricAggregation] + METRIC_AGGREGATION_ARRAY_AGG: _ClassVar[MetricAggregation] +ONTOLOGY_ATTRIBUTE_TYPE_UNSPECIFIED: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_STRING: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_NUMBER: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_INT: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_BOOLEAN: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_DATE: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_DATE_TIME: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_TIMESTAMP: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_ENUM: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_JSON: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_JSONB: OntologyAttributeType +ONTOLOGY_ATTRIBUTE_TYPE_UUID: OntologyAttributeType +RELATION_TYPE_UNSPECIFIED: RelationType +RELATION_TYPE_ONE_TO_MANY: RelationType +RELATION_TYPE_MANY_TO_ONE: RelationType +RELATION_TYPE_ONE_TO_ONE: RelationType +RELATION_TYPE_MANY_TO_MANY: RelationType +METRIC_AGGREGATION_SUM: MetricAggregation +METRIC_AGGREGATION_COUNT: MetricAggregation +METRIC_AGGREGATION_AVG: MetricAggregation +METRIC_AGGREGATION_MIN: MetricAggregation +METRIC_AGGREGATION_MAX: MetricAggregation +METRIC_AGGREGATION_COUNT_DISTINCT: MetricAggregation +METRIC_AGGREGATION_MEDIAN: MetricAggregation +METRIC_AGGREGATION_ARRAY_AGG: MetricAggregation + +class TableName(_message.Message): + __slots__ = ('schema', 'table', 'database') + SCHEMA_FIELD_NUMBER: _ClassVar[int] + TABLE_FIELD_NUMBER: _ClassVar[int] + DATABASE_FIELD_NUMBER: _ClassVar[int] + schema: str + table: str + database: str + + def __init__(self, schema: _Optional[str]=..., table: _Optional[str]=..., database: _Optional[str]=...) -> None: + ... + +class AttributeRef(_message.Message): + __slots__ = ('attribute_ref',) + ATTRIBUTE_REF_FIELD_NUMBER: _ClassVar[int] + attribute_ref: str + + def __init__(self, attribute_ref: _Optional[str]=...) -> None: + ... + +class ObjectRef(_message.Message): + __slots__ = ('object_ref',) + OBJECT_REF_FIELD_NUMBER: _ClassVar[int] + object_ref: str + + def __init__(self, object_ref: _Optional[str]=...) -> None: + ... + +class GraphPosition(_message.Message): + __slots__ = ('x', 'y') + X_FIELD_NUMBER: _ClassVar[int] + Y_FIELD_NUMBER: _ClassVar[int] + x: float + y: float + + def __init__(self, x: _Optional[float]=..., y: _Optional[float]=...) -> None: + ... + +class GraphProperties(_message.Message): + __slots__ = ('position', 'icon', 'color') + POSITION_FIELD_NUMBER: _ClassVar[int] + ICON_FIELD_NUMBER: _ClassVar[int] + COLOR_FIELD_NUMBER: _ClassVar[int] + position: GraphPosition + icon: str + color: str + + def __init__(self, position: _Optional[_Union[GraphPosition, _Mapping]]=..., icon: _Optional[str]=..., color: _Optional[str]=...) -> None: + ... + +class AttributeData(_message.Message): + __slots__ = ('unlinked', 'linked') + UNLINKED_FIELD_NUMBER: _ClassVar[int] + LINKED_FIELD_NUMBER: _ClassVar[int] + unlinked: UnlinkedAttributeData + linked: LinkedAttributeData + + def __init__(self, unlinked: _Optional[_Union[UnlinkedAttributeData, _Mapping]]=..., linked: _Optional[_Union[LinkedAttributeData, _Mapping]]=...) -> None: + ... + +class UnlinkedAttributeData(_message.Message): + __slots__ = ('column_name',) + COLUMN_NAME_FIELD_NUMBER: _ClassVar[int] + column_name: str + + def __init__(self, column_name: _Optional[str]=...) -> None: + ... + +class LinkedAttributeData(_message.Message): + __slots__ = ('relation_id', 'target_attribute_id') + RELATION_ID_FIELD_NUMBER: _ClassVar[int] + TARGET_ATTRIBUTE_ID_FIELD_NUMBER: _ClassVar[int] + relation_id: str + target_attribute_id: str + + def __init__(self, relation_id: _Optional[str]=..., target_attribute_id: _Optional[str]=...) -> None: + ... + +class IntermediateJoin(_message.Message): + __slots__ = ('table_name', 'left_column', 'right_column') + TABLE_NAME_FIELD_NUMBER: _ClassVar[int] + LEFT_COLUMN_FIELD_NUMBER: _ClassVar[int] + RIGHT_COLUMN_FIELD_NUMBER: _ClassVar[int] + table_name: str + left_column: str + right_column: str + + def __init__(self, table_name: _Optional[str]=..., left_column: _Optional[str]=..., right_column: _Optional[str]=...) -> None: + ... + +class OntologyObject(_message.Message): + __slots__ = ('id', 'name', 'description', 'backing_table', 'backing_query', 'primary_key_attribute', 'title_attribute', 'interesting_attributes', 'graph_properties', 'access_time') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + BACKING_TABLE_FIELD_NUMBER: _ClassVar[int] + BACKING_QUERY_FIELD_NUMBER: _ClassVar[int] + PRIMARY_KEY_ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + TITLE_ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + INTERESTING_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + GRAPH_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + ACCESS_TIME_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + backing_table: TableName + backing_query: str + primary_key_attribute: AttributeRef + title_attribute: AttributeRef + interesting_attributes: _containers.RepeatedCompositeFieldContainer[AttributeRef] + graph_properties: GraphProperties + access_time: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., backing_table: _Optional[_Union[TableName, _Mapping]]=..., backing_query: _Optional[str]=..., primary_key_attribute: _Optional[_Union[AttributeRef, _Mapping]]=..., title_attribute: _Optional[_Union[AttributeRef, _Mapping]]=..., interesting_attributes: _Optional[_Iterable[_Union[AttributeRef, _Mapping]]]=..., graph_properties: _Optional[_Union[GraphProperties, _Mapping]]=..., access_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class OntologyAttribute(_message.Message): + __slots__ = ('id', 'object_id', 'name', 'description', 'type', 'is_inherent', 'is_measure', 'is_dimension', 'data', 'access_time') + ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + IS_INHERENT_FIELD_NUMBER: _ClassVar[int] + IS_MEASURE_FIELD_NUMBER: _ClassVar[int] + IS_DIMENSION_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + ACCESS_TIME_FIELD_NUMBER: _ClassVar[int] + id: str + object_id: str + name: str + description: str + type: OntologyAttributeType + is_inherent: bool + is_measure: bool + is_dimension: bool + data: AttributeData + access_time: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., object_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., type: _Optional[_Union[OntologyAttributeType, str]]=..., is_inherent: bool=..., is_measure: bool=..., is_dimension: bool=..., data: _Optional[_Union[AttributeData, _Mapping]]=..., access_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class OntologyMetric(_message.Message): + __slots__ = ('id', 'name', 'description', 'object_id', 'attribute', 'formula', 'time_dimension', 'breakdowns', 'aggregation', 'lod', 'access_time') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + FORMULA_FIELD_NUMBER: _ClassVar[int] + TIME_DIMENSION_FIELD_NUMBER: _ClassVar[int] + BREAKDOWNS_FIELD_NUMBER: _ClassVar[int] + AGGREGATION_FIELD_NUMBER: _ClassVar[int] + LOD_FIELD_NUMBER: _ClassVar[int] + ACCESS_TIME_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + object_id: str + attribute: AttributeRef + formula: str + time_dimension: AttributeRef + breakdowns: _containers.RepeatedCompositeFieldContainer[AttributeRef] + aggregation: MetricAggregation + lod: _containers.RepeatedScalarFieldContainer[str] + access_time: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., object_id: _Optional[str]=..., attribute: _Optional[_Union[AttributeRef, _Mapping]]=..., formula: _Optional[str]=..., time_dimension: _Optional[_Union[AttributeRef, _Mapping]]=..., breakdowns: _Optional[_Iterable[_Union[AttributeRef, _Mapping]]]=..., aggregation: _Optional[_Union[MetricAggregation, str]]=..., lod: _Optional[_Iterable[str]]=..., access_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class OntologyRelation(_message.Message): + __slots__ = ('id', 'name', 'description', 'type', 'object_a', 'object_b', 'join_key_a', 'join_key_b', 'intermediate_join', 'join_formula') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_A_FIELD_NUMBER: _ClassVar[int] + OBJECT_B_FIELD_NUMBER: _ClassVar[int] + JOIN_KEY_A_FIELD_NUMBER: _ClassVar[int] + JOIN_KEY_B_FIELD_NUMBER: _ClassVar[int] + INTERMEDIATE_JOIN_FIELD_NUMBER: _ClassVar[int] + JOIN_FORMULA_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + type: RelationType + object_a: ObjectRef + object_b: ObjectRef + join_key_a: AttributeRef + join_key_b: AttributeRef + intermediate_join: IntermediateJoin + join_formula: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., type: _Optional[_Union[RelationType, str]]=..., object_a: _Optional[_Union[ObjectRef, _Mapping]]=..., object_b: _Optional[_Union[ObjectRef, _Mapping]]=..., join_key_a: _Optional[_Union[AttributeRef, _Mapping]]=..., join_key_b: _Optional[_Union[AttributeRef, _Mapping]]=..., intermediate_join: _Optional[_Union[IntermediateJoin, _Mapping]]=..., join_formula: _Optional[str]=...) -> None: + ... + +class Ontology(_message.Message): + __slots__ = ('id', 'name', 'description', 'connector_id', 'connector_name', 'is_example', 'objects', 'attributes', 'metrics', 'relations', 'measures', 'dimensions', 'temporary_core_fact_object', 'filter_rules') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_NAME_FIELD_NUMBER: _ClassVar[int] + IS_EXAMPLE_FIELD_NUMBER: _ClassVar[int] + OBJECTS_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + METRICS_FIELD_NUMBER: _ClassVar[int] + RELATIONS_FIELD_NUMBER: _ClassVar[int] + MEASURES_FIELD_NUMBER: _ClassVar[int] + DIMENSIONS_FIELD_NUMBER: _ClassVar[int] + TEMPORARY_CORE_FACT_OBJECT_FIELD_NUMBER: _ClassVar[int] + FILTER_RULES_FIELD_NUMBER: _ClassVar[int] + id: int + name: str + description: str + connector_id: int + connector_name: str + is_example: bool + objects: _containers.RepeatedCompositeFieldContainer[OntologyObject] + attributes: _containers.RepeatedCompositeFieldContainer[OntologyAttribute] + metrics: _containers.RepeatedCompositeFieldContainer[OntologyMetric] + relations: _containers.RepeatedCompositeFieldContainer[OntologyRelation] + measures: _containers.RepeatedCompositeFieldContainer[AttributeRef] + dimensions: _containers.RepeatedCompositeFieldContainer[AttributeRef] + temporary_core_fact_object: ObjectRef + filter_rules: _containers.RepeatedCompositeFieldContainer[_struct_pb2.Struct] + + def __init__(self, id: _Optional[int]=..., name: _Optional[str]=..., description: _Optional[str]=..., connector_id: _Optional[int]=..., connector_name: _Optional[str]=..., is_example: bool=..., objects: _Optional[_Iterable[_Union[OntologyObject, _Mapping]]]=..., attributes: _Optional[_Iterable[_Union[OntologyAttribute, _Mapping]]]=..., metrics: _Optional[_Iterable[_Union[OntologyMetric, _Mapping]]]=..., relations: _Optional[_Iterable[_Union[OntologyRelation, _Mapping]]]=..., measures: _Optional[_Iterable[_Union[AttributeRef, _Mapping]]]=..., dimensions: _Optional[_Iterable[_Union[AttributeRef, _Mapping]]]=..., temporary_core_fact_object: _Optional[_Union[ObjectRef, _Mapping]]=..., filter_rules: _Optional[_Iterable[_Union[_struct_pb2.Struct, _Mapping]]]=...) -> None: + ... + +class CreateOntologyRequest(_message.Message): + __slots__ = ('connector_id', 'name', 'description', 'objects', 'attributes', 'metrics', 'relations', 'measures', 'dimensions', 'temporary_core_fact_object') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + OBJECTS_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + METRICS_FIELD_NUMBER: _ClassVar[int] + RELATIONS_FIELD_NUMBER: _ClassVar[int] + MEASURES_FIELD_NUMBER: _ClassVar[int] + DIMENSIONS_FIELD_NUMBER: _ClassVar[int] + TEMPORARY_CORE_FACT_OBJECT_FIELD_NUMBER: _ClassVar[int] + connector_id: int + name: str + description: str + objects: _containers.RepeatedCompositeFieldContainer[OntologyObject] + attributes: _containers.RepeatedCompositeFieldContainer[OntologyAttribute] + metrics: _containers.RepeatedCompositeFieldContainer[OntologyMetric] + relations: _containers.RepeatedCompositeFieldContainer[OntologyRelation] + measures: _containers.RepeatedCompositeFieldContainer[AttributeRef] + dimensions: _containers.RepeatedCompositeFieldContainer[AttributeRef] + temporary_core_fact_object: ObjectRef + + def __init__(self, connector_id: _Optional[int]=..., name: _Optional[str]=..., description: _Optional[str]=..., objects: _Optional[_Iterable[_Union[OntologyObject, _Mapping]]]=..., attributes: _Optional[_Iterable[_Union[OntologyAttribute, _Mapping]]]=..., metrics: _Optional[_Iterable[_Union[OntologyMetric, _Mapping]]]=..., relations: _Optional[_Iterable[_Union[OntologyRelation, _Mapping]]]=..., measures: _Optional[_Iterable[_Union[AttributeRef, _Mapping]]]=..., dimensions: _Optional[_Iterable[_Union[AttributeRef, _Mapping]]]=..., temporary_core_fact_object: _Optional[_Union[ObjectRef, _Mapping]]=...) -> None: + ... + +class CreateOntologyResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class GetOntologyRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class GetOntologyResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class GetOntologyByIdRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class GetOntologyByIdResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class GetOntologiesRequest(_message.Message): + __slots__ = ('include_examples',) + INCLUDE_EXAMPLES_FIELD_NUMBER: _ClassVar[int] + include_examples: bool + + def __init__(self, include_examples: bool=...) -> None: + ... + +class GetOntologiesResponse(_message.Message): + __slots__ = ('ontologies',) + ONTOLOGIES_FIELD_NUMBER: _ClassVar[int] + ontologies: _containers.RepeatedCompositeFieldContainer[Ontology] + + def __init__(self, ontologies: _Optional[_Iterable[_Union[Ontology, _Mapping]]]=...) -> None: + ... + +class OntologySummary(_message.Message): + __slots__ = ('id', 'name', 'description', 'connector_id', 'connector_name', 'is_example') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_NAME_FIELD_NUMBER: _ClassVar[int] + IS_EXAMPLE_FIELD_NUMBER: _ClassVar[int] + id: int + name: str + description: str + connector_id: int + connector_name: str + is_example: bool + + def __init__(self, id: _Optional[int]=..., name: _Optional[str]=..., description: _Optional[str]=..., connector_id: _Optional[int]=..., connector_name: _Optional[str]=..., is_example: bool=...) -> None: + ... + +class GetOntologiesSummaryRequest(_message.Message): + __slots__ = ('include_examples',) + INCLUDE_EXAMPLES_FIELD_NUMBER: _ClassVar[int] + include_examples: bool + + def __init__(self, include_examples: bool=...) -> None: + ... + +class GetOntologiesSummaryResponse(_message.Message): + __slots__ = ('ontologies',) + ONTOLOGIES_FIELD_NUMBER: _ClassVar[int] + ontologies: _containers.RepeatedCompositeFieldContainer[OntologySummary] + + def __init__(self, ontologies: _Optional[_Iterable[_Union[OntologySummary, _Mapping]]]=...) -> None: + ... + +class UpdateOntologyNameRequest(_message.Message): + __slots__ = ('ontology_id', 'name') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + name: str + + def __init__(self, ontology_id: _Optional[int]=..., name: _Optional[str]=...) -> None: + ... + +class UpdateOntologyNameResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class UpdateOntologyDescriptionRequest(_message.Message): + __slots__ = ('ontology_id', 'description') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + description: str + + def __init__(self, ontology_id: _Optional[int]=..., description: _Optional[str]=...) -> None: + ... + +class UpdateOntologyDescriptionResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class DeleteOntologyRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class DeleteOntologyResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class CreateObjectRequest(_message.Message): + __slots__ = ('ontology_id', 'object', 'attributes', 'temporary_core_fact_object') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + TEMPORARY_CORE_FACT_OBJECT_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + object: OntologyObject + attributes: _containers.RepeatedCompositeFieldContainer[OntologyAttribute] + temporary_core_fact_object: ObjectRef + + def __init__(self, ontology_id: _Optional[int]=..., object: _Optional[_Union[OntologyObject, _Mapping]]=..., attributes: _Optional[_Iterable[_Union[OntologyAttribute, _Mapping]]]=..., temporary_core_fact_object: _Optional[_Union[ObjectRef, _Mapping]]=...) -> None: + ... + +class CreateObjectResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class UpdateObjectRequest(_message.Message): + __slots__ = ('ontology_id', 'object_id', 'object', 'attributes', 'measures', 'dimensions', 'temporary_core_fact_object') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + MEASURES_FIELD_NUMBER: _ClassVar[int] + DIMENSIONS_FIELD_NUMBER: _ClassVar[int] + TEMPORARY_CORE_FACT_OBJECT_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + object_id: str + object: OntologyObject + attributes: _containers.RepeatedCompositeFieldContainer[OntologyAttribute] + measures: _containers.RepeatedCompositeFieldContainer[AttributeRef] + dimensions: _containers.RepeatedCompositeFieldContainer[AttributeRef] + temporary_core_fact_object: ObjectRef + + def __init__(self, ontology_id: _Optional[int]=..., object_id: _Optional[str]=..., object: _Optional[_Union[OntologyObject, _Mapping]]=..., attributes: _Optional[_Iterable[_Union[OntologyAttribute, _Mapping]]]=..., measures: _Optional[_Iterable[_Union[AttributeRef, _Mapping]]]=..., dimensions: _Optional[_Iterable[_Union[AttributeRef, _Mapping]]]=..., temporary_core_fact_object: _Optional[_Union[ObjectRef, _Mapping]]=...) -> None: + ... + +class UpdateObjectResponse(_message.Message): + __slots__ = ('object', 'attributes', 'deleted_metric_ids', 'deleted_relation_ids') + OBJECT_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + DELETED_METRIC_IDS_FIELD_NUMBER: _ClassVar[int] + DELETED_RELATION_IDS_FIELD_NUMBER: _ClassVar[int] + object: OntologyObject + attributes: _containers.RepeatedCompositeFieldContainer[OntologyAttribute] + deleted_metric_ids: _containers.RepeatedScalarFieldContainer[str] + deleted_relation_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, object: _Optional[_Union[OntologyObject, _Mapping]]=..., attributes: _Optional[_Iterable[_Union[OntologyAttribute, _Mapping]]]=..., deleted_metric_ids: _Optional[_Iterable[str]]=..., deleted_relation_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class DeleteObjectRequest(_message.Message): + __slots__ = ('ontology_id', 'object_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + object_id: str + + def __init__(self, ontology_id: _Optional[int]=..., object_id: _Optional[str]=...) -> None: + ... + +class DeleteObjectResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class GetObjectByIdRequest(_message.Message): + __slots__ = ('object_id',) + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + + def __init__(self, object_id: _Optional[str]=...) -> None: + ... + +class GetObjectByIdResponse(_message.Message): + __slots__ = ('object', 'ontology', 'attributes') + OBJECT_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + object: OntologyObject + ontology: Ontology + attributes: _containers.RepeatedCompositeFieldContainer[OntologyAttribute] + + def __init__(self, object: _Optional[_Union[OntologyObject, _Mapping]]=..., ontology: _Optional[_Union[Ontology, _Mapping]]=..., attributes: _Optional[_Iterable[_Union[OntologyAttribute, _Mapping]]]=...) -> None: + ... + +class UpdateObjectGraphPropertiesRequest(_message.Message): + __slots__ = ('ontology_id', 'updates') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + UPDATES_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + updates: _containers.RepeatedCompositeFieldContainer[ObjectGraphPropertiesUpdate] + + def __init__(self, ontology_id: _Optional[int]=..., updates: _Optional[_Iterable[_Union[ObjectGraphPropertiesUpdate, _Mapping]]]=...) -> None: + ... + +class ObjectGraphPropertiesUpdate(_message.Message): + __slots__ = ('object_id', 'graph_properties') + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + GRAPH_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + object_id: str + graph_properties: GraphProperties + + def __init__(self, object_id: _Optional[str]=..., graph_properties: _Optional[_Union[GraphProperties, _Mapping]]=...) -> None: + ... + +class UpdateObjectGraphPropertiesResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class CreateAttributeRequest(_message.Message): + __slots__ = ('ontology_id', 'attribute') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + attribute: OntologyAttribute + + def __init__(self, ontology_id: _Optional[int]=..., attribute: _Optional[_Union[OntologyAttribute, _Mapping]]=...) -> None: + ... + +class CreateAttributeResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class UpdateAttributeRequest(_message.Message): + __slots__ = ('ontology_id', 'attribute_id', 'attribute') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + attribute_id: str + attribute: OntologyAttribute + + def __init__(self, ontology_id: _Optional[int]=..., attribute_id: _Optional[str]=..., attribute: _Optional[_Union[OntologyAttribute, _Mapping]]=...) -> None: + ... + +class UpdateAttributeResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class DeleteAttributeRequest(_message.Message): + __slots__ = ('ontology_id', 'attribute_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + attribute_id: str + + def __init__(self, ontology_id: _Optional[int]=..., attribute_id: _Optional[str]=...) -> None: + ... + +class DeleteAttributeResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class GetAttributeByIdRequest(_message.Message): + __slots__ = ('attribute_id',) + ATTRIBUTE_ID_FIELD_NUMBER: _ClassVar[int] + attribute_id: str + + def __init__(self, attribute_id: _Optional[str]=...) -> None: + ... + +class GetAttributeByIdResponse(_message.Message): + __slots__ = ('attribute',) + ATTRIBUTE_FIELD_NUMBER: _ClassVar[int] + attribute: OntologyAttribute + + def __init__(self, attribute: _Optional[_Union[OntologyAttribute, _Mapping]]=...) -> None: + ... + +class CreateMetricRequest(_message.Message): + __slots__ = ('ontology_id', 'metrics') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + METRICS_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + metrics: _containers.RepeatedCompositeFieldContainer[OntologyMetric] + + def __init__(self, ontology_id: _Optional[int]=..., metrics: _Optional[_Iterable[_Union[OntologyMetric, _Mapping]]]=...) -> None: + ... + +class CreateMetricResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class UpdateMetricRequest(_message.Message): + __slots__ = ('ontology_id', 'metric_id', 'metric') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + METRIC_ID_FIELD_NUMBER: _ClassVar[int] + METRIC_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + metric_id: str + metric: OntologyMetric + + def __init__(self, ontology_id: _Optional[int]=..., metric_id: _Optional[str]=..., metric: _Optional[_Union[OntologyMetric, _Mapping]]=...) -> None: + ... + +class UpdateMetricResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class DeleteMetricRequest(_message.Message): + __slots__ = ('ontology_id', 'metric_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + METRIC_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + metric_id: str + + def __init__(self, ontology_id: _Optional[int]=..., metric_id: _Optional[str]=...) -> None: + ... + +class DeleteMetricResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class CreateRelationRequest(_message.Message): + __slots__ = ('ontology_id', 'relation') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + RELATION_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + relation: OntologyRelation + + def __init__(self, ontology_id: _Optional[int]=..., relation: _Optional[_Union[OntologyRelation, _Mapping]]=...) -> None: + ... + +class CreateRelationResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class UpdateRelationRequest(_message.Message): + __slots__ = ('ontology_id', 'relation_id', 'relation') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + RELATION_ID_FIELD_NUMBER: _ClassVar[int] + RELATION_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + relation_id: str + relation: OntologyRelation + + def __init__(self, ontology_id: _Optional[int]=..., relation_id: _Optional[str]=..., relation: _Optional[_Union[OntologyRelation, _Mapping]]=...) -> None: + ... + +class UpdateRelationResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class DeleteRelationRequest(_message.Message): + __slots__ = ('ontology_id', 'relation_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + RELATION_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + relation_id: str + + def __init__(self, ontology_id: _Optional[int]=..., relation_id: _Optional[str]=...) -> None: + ... + +class DeleteRelationResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: Ontology + + def __init__(self, ontology: _Optional[_Union[Ontology, _Mapping]]=...) -> None: + ... + +class CreateFilterRuleRequest(_message.Message): + __slots__ = ('ontology_id', 'attribute_id', 'rule_value') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_ID_FIELD_NUMBER: _ClassVar[int] + RULE_VALUE_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + attribute_id: str + rule_value: str + + def __init__(self, ontology_id: _Optional[int]=..., attribute_id: _Optional[str]=..., rule_value: _Optional[str]=...) -> None: + ... + +class CreateFilterRuleResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class DeleteFilterRuleRequest(_message.Message): + __slots__ = ('ontology_id', 'attribute_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + attribute_id: str + + def __init__(self, ontology_id: _Optional[int]=..., attribute_id: _Optional[str]=...) -> None: + ... + +class DeleteFilterRuleResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetFilterRuleRequest(_message.Message): + __slots__ = ('ontology_id', 'attribute_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + attribute_id: str + + def __init__(self, ontology_id: _Optional[int]=..., attribute_id: _Optional[str]=...) -> None: + ... + +class GetFilterRuleResponse(_message.Message): + __slots__ = ('has_rule', 'rule_value') + HAS_RULE_FIELD_NUMBER: _ClassVar[int] + RULE_VALUE_FIELD_NUMBER: _ClassVar[int] + has_rule: bool + rule_value: str + + def __init__(self, has_rule: bool=..., rule_value: _Optional[str]=...) -> None: + ... + +class UpdateObjectAccessTimeRequest(_message.Message): + __slots__ = ('ontology_id', 'object_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + object_id: str + + def __init__(self, ontology_id: _Optional[int]=..., object_id: _Optional[str]=...) -> None: + ... + +class UpdateObjectAccessTimeResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UpdateAttributeAccessTimeRequest(_message.Message): + __slots__ = ('ontology_id', 'attribute_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + attribute_id: str + + def __init__(self, ontology_id: _Optional[int]=..., attribute_id: _Optional[str]=...) -> None: + ... + +class UpdateAttributeAccessTimeResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UpdateMetricAccessTimeRequest(_message.Message): + __slots__ = ('ontology_id', 'metric_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + METRIC_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + metric_id: str + + def __init__(self, ontology_id: _Optional[int]=..., metric_id: _Optional[str]=...) -> None: + ... + +class UpdateMetricAccessTimeResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class SaveMetricQueryRequest(_message.Message): + __slots__ = ('ontology_id', 'name', 'query', 'query_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + QUERY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + name: str + query: _struct_pb2.Struct + query_id: str + + def __init__(self, ontology_id: _Optional[int]=..., name: _Optional[str]=..., query: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., query_id: _Optional[str]=...) -> None: + ... + +class SaveMetricQueryResponse(_message.Message): + __slots__ = ('query_id',) + QUERY_ID_FIELD_NUMBER: _ClassVar[int] + query_id: str + + def __init__(self, query_id: _Optional[str]=...) -> None: + ... + +class GetMetricQueryRequest(_message.Message): + __slots__ = ('query_id',) + QUERY_ID_FIELD_NUMBER: _ClassVar[int] + query_id: str + + def __init__(self, query_id: _Optional[str]=...) -> None: + ... + +class GetMetricQueryResponse(_message.Message): + __slots__ = ('id', 'name', 'query', 'ontology_id', 'created_at', 'updated_at', 'access_time') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + ACCESS_TIME_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + query: _struct_pb2.Struct + ontology_id: int + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + access_time: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., query: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., ontology_id: _Optional[int]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., access_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetMetricQueriesRequest(_message.Message): + __slots__ = ('query_ids', 'verify_ownership') + QUERY_IDS_FIELD_NUMBER: _ClassVar[int] + VERIFY_OWNERSHIP_FIELD_NUMBER: _ClassVar[int] + query_ids: _containers.RepeatedScalarFieldContainer[str] + verify_ownership: bool + + def __init__(self, query_ids: _Optional[_Iterable[str]]=..., verify_ownership: bool=...) -> None: + ... + +class GetMetricQueriesResponse(_message.Message): + __slots__ = ('queries',) + QUERIES_FIELD_NUMBER: _ClassVar[int] + queries: _containers.RepeatedCompositeFieldContainer[GetMetricQueryResponse] + + def __init__(self, queries: _Optional[_Iterable[_Union[GetMetricQueryResponse, _Mapping]]]=...) -> None: + ... + +class DeleteMetricQueryRequest(_message.Message): + __slots__ = ('query_id',) + QUERY_ID_FIELD_NUMBER: _ClassVar[int] + query_id: str + + def __init__(self, query_id: _Optional[str]=...) -> None: + ... + +class DeleteMetricQueryResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class CreateObjectViewSettingsRequest(_message.Message): + __slots__ = ('object_id', 'settings') + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + SETTINGS_FIELD_NUMBER: _ClassVar[int] + object_id: str + settings: _struct_pb2.Struct + + def __init__(self, object_id: _Optional[str]=..., settings: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class CreateObjectViewSettingsResponse(_message.Message): + __slots__ = ('settings',) + SETTINGS_FIELD_NUMBER: _ClassVar[int] + settings: _struct_pb2.Struct + + def __init__(self, settings: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class GetObjectViewSettingsRequest(_message.Message): + __slots__ = ('object_id',) + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + + def __init__(self, object_id: _Optional[str]=...) -> None: + ... + +class GetObjectViewSettingsResponse(_message.Message): + __slots__ = ('settings',) + SETTINGS_FIELD_NUMBER: _ClassVar[int] + settings: _struct_pb2.Struct + + def __init__(self, settings: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class UpdateObjectViewSettingsRequest(_message.Message): + __slots__ = ('object_id', 'settings') + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + SETTINGS_FIELD_NUMBER: _ClassVar[int] + object_id: str + settings: _struct_pb2.Struct + + def __init__(self, object_id: _Optional[str]=..., settings: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class UpdateObjectViewSettingsResponse(_message.Message): + __slots__ = ('settings',) + SETTINGS_FIELD_NUMBER: _ClassVar[int] + settings: _struct_pb2.Struct + + def __init__(self, settings: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class TestResult(_message.Message): + __slots__ = ('name', 'status', 'message') + + class Status(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + STATUS_UNSPECIFIED: _ClassVar[TestResult.Status] + STATUS_SUCCESS: _ClassVar[TestResult.Status] + STATUS_ERROR: _ClassVar[TestResult.Status] + STATUS_SKIPPED: _ClassVar[TestResult.Status] + STATUS_UNSPECIFIED: TestResult.Status + STATUS_SUCCESS: TestResult.Status + STATUS_ERROR: TestResult.Status + STATUS_SKIPPED: TestResult.Status + NAME_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + name: str + status: TestResult.Status + message: str + + def __init__(self, name: _Optional[str]=..., status: _Optional[_Union[TestResult.Status, str]]=..., message: _Optional[str]=...) -> None: + ... + +class TestOntologyObjectsRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class TestOntologyObjectsResponse(_message.Message): + __slots__ = ('results',) + RESULTS_FIELD_NUMBER: _ClassVar[int] + results: _containers.RepeatedCompositeFieldContainer[TestResult] + + def __init__(self, results: _Optional[_Iterable[_Union[TestResult, _Mapping]]]=...) -> None: + ... + +class TestOntologyAttributesRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class TestOntologyAttributesResponse(_message.Message): + __slots__ = ('results',) + RESULTS_FIELD_NUMBER: _ClassVar[int] + results: _containers.RepeatedCompositeFieldContainer[TestResult] + + def __init__(self, results: _Optional[_Iterable[_Union[TestResult, _Mapping]]]=...) -> None: + ... + +class ExportOntologyRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class ExportOntologyResponse(_message.Message): + __slots__ = ('ontology',) + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + ontology: _struct_pb2.Struct + + def __init__(self, ontology: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class ImportOntologyRequest(_message.Message): + __slots__ = ('ontology_id', 'ontology', 'connector_id') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + ontology: _struct_pb2.Struct + connector_id: int + + def __init__(self, ontology_id: _Optional[int]=..., ontology: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., connector_id: _Optional[int]=...) -> None: + ... + +class ImportOntologyResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ClearOntologyRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class ClearOntologyResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RegisterExampleOntologyRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class RegisterExampleOntologyResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UnregisterExampleOntologyRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class UnregisterExampleOntologyResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GenerateSamplesForOntologyRequest(_message.Message): + __slots__ = ('ontology_id',) + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + + def __init__(self, ontology_id: _Optional[int]=...) -> None: + ... + +class GenerateSamplesForOntologyResponse(_message.Message): + __slots__ = ('success', 'message') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + success: bool + message: str + + def __init__(self, success: bool=..., message: _Optional[str]=...) -> None: + ... + +class GetTableRowCountRequest(_message.Message): + __slots__ = ('object_id', 'connector_id') + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + connector_id: int + + def __init__(self, object_id: _Optional[str]=..., connector_id: _Optional[int]=...) -> None: + ... + +class GetTableRowCountResponse(_message.Message): + __slots__ = ('row_count', 'success') + ROW_COUNT_FIELD_NUMBER: _ClassVar[int] + SUCCESS_FIELD_NUMBER: _ClassVar[int] + row_count: int + success: bool + + def __init__(self, row_count: _Optional[int]=..., success: bool=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/options_pb2.py b/src/textql_sdk/_connect/public/options_pb2.py new file mode 100644 index 0000000..3f39824 --- /dev/null +++ b/src/textql_sdk/_connect/public/options_pb2.py @@ -0,0 +1,16 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/options.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14public/options.proto\x12\x19textql.rpc.public.options\x1a google/protobuf/descriptor.proto:C\n\x0cconfidential\x12\x1d.google.protobuf.FieldOptions\x18\xd1\x86\x03 \x01(\x08R\x0cconfidential:G\n\x0ffile_visibility\x12\x1c.google.protobuf.FileOptions\x18\xd2\x86\x03 \x01(\tR\x0efileVisibilityBGZ9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.options_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNAL' \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/options_pb2.pyi b/src/textql_sdk/_connect/public/options_pb2.pyi new file mode 100644 index 0000000..2f6fdf7 --- /dev/null +++ b/src/textql_sdk/_connect/public/options_pb2.pyi @@ -0,0 +1,8 @@ +from google.protobuf import descriptor_pb2 as _descriptor_pb2 +from google.protobuf import descriptor as _descriptor +from typing import ClassVar as _ClassVar +DESCRIPTOR: _descriptor.FileDescriptor +CONFIDENTIAL_FIELD_NUMBER: _ClassVar[int] +confidential: _descriptor.FieldDescriptor +FILE_VISIBILITY_FIELD_NUMBER: _ClassVar[int] +file_visibility: _descriptor.FieldDescriptor \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/packages_connect.py b/src/textql_sdk/_connect/public/packages_connect.py new file mode 100644 index 0000000..bf6fcd0 --- /dev/null +++ b/src/textql_sdk/_connect/public/packages_connect.py @@ -0,0 +1,111 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import packages_pb2 as public_dot_packages__pb2 + +class OrgPackageService(Protocol): + + async def list_org_packages(self, request: public_dot_packages__pb2.ListOrgPackagesRequest, ctx: RequestContext) -> public_dot_packages__pb2.ListOrgPackagesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def install_org_package(self, request: public_dot_packages__pb2.InstallOrgPackageRequest, ctx: RequestContext) -> public_dot_packages__pb2.InstallOrgPackageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_org_package(self, request: public_dot_packages__pb2.RemoveOrgPackageRequest, ctx: RequestContext) -> public_dot_packages__pb2.RemoveOrgPackageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_org_package_status(self, request: public_dot_packages__pb2.GetOrgPackageStatusRequest, ctx: RequestContext) -> public_dot_packages__pb2.GetOrgPackageStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def retry_install_org_package(self, request: public_dot_packages__pb2.RetryInstallOrgPackageRequest, ctx: RequestContext) -> public_dot_packages__pb2.RetryInstallOrgPackageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_org_package_version(self, request: public_dot_packages__pb2.UpdateOrgPackageVersionRequest, ctx: RequestContext) -> public_dot_packages__pb2.UpdateOrgPackageVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class OrgPackageServiceASGIApplication(ConnectASGIApplication[OrgPackageService]): + + def __init__(self, service: OrgPackageService | AsyncGenerator[OrgPackageService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.packages.OrgPackageService/ListOrgPackages': Endpoint.unary(method=MethodInfo(name='ListOrgPackages', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.ListOrgPackagesRequest, output=public_dot_packages__pb2.ListOrgPackagesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_org_packages), '/textql.rpc.public.packages.OrgPackageService/InstallOrgPackage': Endpoint.unary(method=MethodInfo(name='InstallOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.InstallOrgPackageRequest, output=public_dot_packages__pb2.InstallOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.install_org_package), '/textql.rpc.public.packages.OrgPackageService/RemoveOrgPackage': Endpoint.unary(method=MethodInfo(name='RemoveOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.RemoveOrgPackageRequest, output=public_dot_packages__pb2.RemoveOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_org_package), '/textql.rpc.public.packages.OrgPackageService/GetOrgPackageStatus': Endpoint.unary(method=MethodInfo(name='GetOrgPackageStatus', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.GetOrgPackageStatusRequest, output=public_dot_packages__pb2.GetOrgPackageStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_org_package_status), '/textql.rpc.public.packages.OrgPackageService/RetryInstallOrgPackage': Endpoint.unary(method=MethodInfo(name='RetryInstallOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.RetryInstallOrgPackageRequest, output=public_dot_packages__pb2.RetryInstallOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.retry_install_org_package), '/textql.rpc.public.packages.OrgPackageService/UpdateOrgPackageVersion': Endpoint.unary(method=MethodInfo(name='UpdateOrgPackageVersion', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.UpdateOrgPackageVersionRequest, output=public_dot_packages__pb2.UpdateOrgPackageVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_org_package_version)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.packages.OrgPackageService' + +class OrgPackageServiceClient(ConnectClient): + + async def list_org_packages(self, request: public_dot_packages__pb2.ListOrgPackagesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.ListOrgPackagesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOrgPackages', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.ListOrgPackagesRequest, output=public_dot_packages__pb2.ListOrgPackagesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def install_org_package(self, request: public_dot_packages__pb2.InstallOrgPackageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.InstallOrgPackageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='InstallOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.InstallOrgPackageRequest, output=public_dot_packages__pb2.InstallOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_org_package(self, request: public_dot_packages__pb2.RemoveOrgPackageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.RemoveOrgPackageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.RemoveOrgPackageRequest, output=public_dot_packages__pb2.RemoveOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_org_package_status(self, request: public_dot_packages__pb2.GetOrgPackageStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.GetOrgPackageStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOrgPackageStatus', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.GetOrgPackageStatusRequest, output=public_dot_packages__pb2.GetOrgPackageStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def retry_install_org_package(self, request: public_dot_packages__pb2.RetryInstallOrgPackageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.RetryInstallOrgPackageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RetryInstallOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.RetryInstallOrgPackageRequest, output=public_dot_packages__pb2.RetryInstallOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_org_package_version(self, request: public_dot_packages__pb2.UpdateOrgPackageVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.UpdateOrgPackageVersionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgPackageVersion', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.UpdateOrgPackageVersionRequest, output=public_dot_packages__pb2.UpdateOrgPackageVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class OrgPackageServiceSync(Protocol): + + def list_org_packages(self, request: public_dot_packages__pb2.ListOrgPackagesRequest, ctx: RequestContext) -> public_dot_packages__pb2.ListOrgPackagesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def install_org_package(self, request: public_dot_packages__pb2.InstallOrgPackageRequest, ctx: RequestContext) -> public_dot_packages__pb2.InstallOrgPackageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_org_package(self, request: public_dot_packages__pb2.RemoveOrgPackageRequest, ctx: RequestContext) -> public_dot_packages__pb2.RemoveOrgPackageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_org_package_status(self, request: public_dot_packages__pb2.GetOrgPackageStatusRequest, ctx: RequestContext) -> public_dot_packages__pb2.GetOrgPackageStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def retry_install_org_package(self, request: public_dot_packages__pb2.RetryInstallOrgPackageRequest, ctx: RequestContext) -> public_dot_packages__pb2.RetryInstallOrgPackageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_org_package_version(self, request: public_dot_packages__pb2.UpdateOrgPackageVersionRequest, ctx: RequestContext) -> public_dot_packages__pb2.UpdateOrgPackageVersionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class OrgPackageServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: OrgPackageServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.packages.OrgPackageService/ListOrgPackages': EndpointSync.unary(method=MethodInfo(name='ListOrgPackages', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.ListOrgPackagesRequest, output=public_dot_packages__pb2.ListOrgPackagesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_org_packages), '/textql.rpc.public.packages.OrgPackageService/InstallOrgPackage': EndpointSync.unary(method=MethodInfo(name='InstallOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.InstallOrgPackageRequest, output=public_dot_packages__pb2.InstallOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.install_org_package), '/textql.rpc.public.packages.OrgPackageService/RemoveOrgPackage': EndpointSync.unary(method=MethodInfo(name='RemoveOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.RemoveOrgPackageRequest, output=public_dot_packages__pb2.RemoveOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_org_package), '/textql.rpc.public.packages.OrgPackageService/GetOrgPackageStatus': EndpointSync.unary(method=MethodInfo(name='GetOrgPackageStatus', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.GetOrgPackageStatusRequest, output=public_dot_packages__pb2.GetOrgPackageStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_org_package_status), '/textql.rpc.public.packages.OrgPackageService/RetryInstallOrgPackage': EndpointSync.unary(method=MethodInfo(name='RetryInstallOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.RetryInstallOrgPackageRequest, output=public_dot_packages__pb2.RetryInstallOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.retry_install_org_package), '/textql.rpc.public.packages.OrgPackageService/UpdateOrgPackageVersion': EndpointSync.unary(method=MethodInfo(name='UpdateOrgPackageVersion', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.UpdateOrgPackageVersionRequest, output=public_dot_packages__pb2.UpdateOrgPackageVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_org_package_version)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.packages.OrgPackageService' + +class OrgPackageServiceClientSync(ConnectClientSync): + + def list_org_packages(self, request: public_dot_packages__pb2.ListOrgPackagesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.ListOrgPackagesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOrgPackages', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.ListOrgPackagesRequest, output=public_dot_packages__pb2.ListOrgPackagesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def install_org_package(self, request: public_dot_packages__pb2.InstallOrgPackageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.InstallOrgPackageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='InstallOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.InstallOrgPackageRequest, output=public_dot_packages__pb2.InstallOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_org_package(self, request: public_dot_packages__pb2.RemoveOrgPackageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.RemoveOrgPackageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.RemoveOrgPackageRequest, output=public_dot_packages__pb2.RemoveOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_org_package_status(self, request: public_dot_packages__pb2.GetOrgPackageStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.GetOrgPackageStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOrgPackageStatus', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.GetOrgPackageStatusRequest, output=public_dot_packages__pb2.GetOrgPackageStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def retry_install_org_package(self, request: public_dot_packages__pb2.RetryInstallOrgPackageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.RetryInstallOrgPackageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RetryInstallOrgPackage', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.RetryInstallOrgPackageRequest, output=public_dot_packages__pb2.RetryInstallOrgPackageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_org_package_version(self, request: public_dot_packages__pb2.UpdateOrgPackageVersionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_packages__pb2.UpdateOrgPackageVersionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOrgPackageVersion', service_name='textql.rpc.public.packages.OrgPackageService', input=public_dot_packages__pb2.UpdateOrgPackageVersionRequest, output=public_dot_packages__pb2.UpdateOrgPackageVersionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/packages_pb2.py b/src/textql_sdk/_connect/public/packages_pb2.py new file mode 100644 index 0000000..56ce171 --- /dev/null +++ b/src/textql_sdk/_connect/public/packages_pb2.py @@ -0,0 +1,44 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/packages.proto') +_sym_db = _symbol_database.Default() +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15public/packages.proto\x12\x1atextql.rpc.public.packages\x1a\x14public/options.proto"\xbb\x02\n\nOrgPackage\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12!\n\x0cpackage_name\x18\x03 \x01(\tR\x0bpackageName\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12+\n\x11installed_version\x18\x05 \x01(\tR\x10installedVersion\x12\x16\n\x06status\x18\x06 \x01(\tR\x06status\x12#\n\rerror_message\x18\x07 \x01(\tR\x0cerrorMessage\x12!\n\x0cinstalled_by\x18\x08 \x01(\tR\x0binstalledBy\x12\x1d\n\ncreated_at\x18\t \x01(\tR\tcreatedAt\x12\x1d\n\nupdated_at\x18\n \x01(\tR\tupdatedAt"/\n\x16ListOrgPackagesRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"]\n\x17ListOrgPackagesResponse\x12B\n\x08packages\x18\x01 \x03(\x0b2&.textql.rpc.public.packages.OrgPackageR\x08packages"n\n\x18InstallOrgPackageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12!\n\x0cpackage_name\x18\x02 \x01(\tR\x0bpackageName\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version"]\n\x19InstallOrgPackageResponse\x12@\n\x07package\x18\x01 \x01(\x0b2&.textql.rpc.public.packages.OrgPackageR\x07package"O\n\x17RemoveOrgPackageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1d\n\npackage_id\x18\x02 \x01(\tR\tpackageId"4\n\x18RemoveOrgPackageResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"R\n\x1aGetOrgPackageStatusRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1d\n\npackage_id\x18\x02 \x01(\tR\tpackageId"_\n\x1bGetOrgPackageStatusResponse\x12@\n\x07package\x18\x01 \x01(\x0b2&.textql.rpc.public.packages.OrgPackageR\x07package"U\n\x1dRetryInstallOrgPackageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1d\n\npackage_id\x18\x02 \x01(\tR\tpackageId"b\n\x1eRetryInstallOrgPackageResponse\x12@\n\x07package\x18\x01 \x01(\x0b2&.textql.rpc.public.packages.OrgPackageR\x07package"p\n\x1eUpdateOrgPackageVersionRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1d\n\npackage_id\x18\x02 \x01(\tR\tpackageId\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version"c\n\x1fUpdateOrgPackageVersionResponse\x12@\n\x07package\x18\x01 \x01(\x0b2&.textql.rpc.public.packages.OrgPackageR\x07package2\xc1\x06\n\x11OrgPackageService\x12z\n\x0fListOrgPackages\x122.textql.rpc.public.packages.ListOrgPackagesRequest\x1a3.textql.rpc.public.packages.ListOrgPackagesResponse\x12\x80\x01\n\x11InstallOrgPackage\x124.textql.rpc.public.packages.InstallOrgPackageRequest\x1a5.textql.rpc.public.packages.InstallOrgPackageResponse\x12}\n\x10RemoveOrgPackage\x123.textql.rpc.public.packages.RemoveOrgPackageRequest\x1a4.textql.rpc.public.packages.RemoveOrgPackageResponse\x12\x86\x01\n\x13GetOrgPackageStatus\x126.textql.rpc.public.packages.GetOrgPackageStatusRequest\x1a7.textql.rpc.public.packages.GetOrgPackageStatusResponse\x12\x8f\x01\n\x16RetryInstallOrgPackage\x129.textql.rpc.public.packages.RetryInstallOrgPackageRequest\x1a:.textql.rpc.public.packages.RetryInstallOrgPackageResponse\x12\x92\x01\n\x17UpdateOrgPackageVersion\x12:.textql.rpc.public.packages.UpdateOrgPackageVersionRequest\x1a;.textql.rpc.public.packages.UpdateOrgPackageVersionResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.packages_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_ORGPACKAGE']._serialized_start = 76 + _globals['_ORGPACKAGE']._serialized_end = 391 + _globals['_LISTORGPACKAGESREQUEST']._serialized_start = 393 + _globals['_LISTORGPACKAGESREQUEST']._serialized_end = 440 + _globals['_LISTORGPACKAGESRESPONSE']._serialized_start = 442 + _globals['_LISTORGPACKAGESRESPONSE']._serialized_end = 535 + _globals['_INSTALLORGPACKAGEREQUEST']._serialized_start = 537 + _globals['_INSTALLORGPACKAGEREQUEST']._serialized_end = 647 + _globals['_INSTALLORGPACKAGERESPONSE']._serialized_start = 649 + _globals['_INSTALLORGPACKAGERESPONSE']._serialized_end = 742 + _globals['_REMOVEORGPACKAGEREQUEST']._serialized_start = 744 + _globals['_REMOVEORGPACKAGEREQUEST']._serialized_end = 823 + _globals['_REMOVEORGPACKAGERESPONSE']._serialized_start = 825 + _globals['_REMOVEORGPACKAGERESPONSE']._serialized_end = 877 + _globals['_GETORGPACKAGESTATUSREQUEST']._serialized_start = 879 + _globals['_GETORGPACKAGESTATUSREQUEST']._serialized_end = 961 + _globals['_GETORGPACKAGESTATUSRESPONSE']._serialized_start = 963 + _globals['_GETORGPACKAGESTATUSRESPONSE']._serialized_end = 1058 + _globals['_RETRYINSTALLORGPACKAGEREQUEST']._serialized_start = 1060 + _globals['_RETRYINSTALLORGPACKAGEREQUEST']._serialized_end = 1145 + _globals['_RETRYINSTALLORGPACKAGERESPONSE']._serialized_start = 1147 + _globals['_RETRYINSTALLORGPACKAGERESPONSE']._serialized_end = 1245 + _globals['_UPDATEORGPACKAGEVERSIONREQUEST']._serialized_start = 1247 + _globals['_UPDATEORGPACKAGEVERSIONREQUEST']._serialized_end = 1359 + _globals['_UPDATEORGPACKAGEVERSIONRESPONSE']._serialized_start = 1361 + _globals['_UPDATEORGPACKAGEVERSIONRESPONSE']._serialized_end = 1460 + _globals['_ORGPACKAGESERVICE']._serialized_start = 1463 + _globals['_ORGPACKAGESERVICE']._serialized_end = 2296 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/packages_pb2.pyi b/src/textql_sdk/_connect/public/packages_pb2.pyi new file mode 100644 index 0000000..212f46b --- /dev/null +++ b/src/textql_sdk/_connect/public/packages_pb2.pyi @@ -0,0 +1,143 @@ +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class OrgPackage(_message.Message): + __slots__ = ('id', 'org_id', 'package_name', 'version', 'installed_version', 'status', 'error_message', 'installed_by', 'created_at', 'updated_at') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + INSTALLED_VERSION_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + INSTALLED_BY_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + package_name: str + version: str + installed_version: str + status: str + error_message: str + installed_by: str + created_at: str + updated_at: str + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., package_name: _Optional[str]=..., version: _Optional[str]=..., installed_version: _Optional[str]=..., status: _Optional[str]=..., error_message: _Optional[str]=..., installed_by: _Optional[str]=..., created_at: _Optional[str]=..., updated_at: _Optional[str]=...) -> None: + ... + +class ListOrgPackagesRequest(_message.Message): + __slots__ = ('org_id',) + ORG_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + + def __init__(self, org_id: _Optional[str]=...) -> None: + ... + +class ListOrgPackagesResponse(_message.Message): + __slots__ = ('packages',) + PACKAGES_FIELD_NUMBER: _ClassVar[int] + packages: _containers.RepeatedCompositeFieldContainer[OrgPackage] + + def __init__(self, packages: _Optional[_Iterable[_Union[OrgPackage, _Mapping]]]=...) -> None: + ... + +class InstallOrgPackageRequest(_message.Message): + __slots__ = ('org_id', 'package_name', 'version') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + org_id: str + package_name: str + version: str + + def __init__(self, org_id: _Optional[str]=..., package_name: _Optional[str]=..., version: _Optional[str]=...) -> None: + ... + +class InstallOrgPackageResponse(_message.Message): + __slots__ = ('package',) + PACKAGE_FIELD_NUMBER: _ClassVar[int] + package: OrgPackage + + def __init__(self, package: _Optional[_Union[OrgPackage, _Mapping]]=...) -> None: + ... + +class RemoveOrgPackageRequest(_message.Message): + __slots__ = ('org_id', 'package_id') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PACKAGE_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + package_id: str + + def __init__(self, org_id: _Optional[str]=..., package_id: _Optional[str]=...) -> None: + ... + +class RemoveOrgPackageResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetOrgPackageStatusRequest(_message.Message): + __slots__ = ('org_id', 'package_id') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PACKAGE_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + package_id: str + + def __init__(self, org_id: _Optional[str]=..., package_id: _Optional[str]=...) -> None: + ... + +class GetOrgPackageStatusResponse(_message.Message): + __slots__ = ('package',) + PACKAGE_FIELD_NUMBER: _ClassVar[int] + package: OrgPackage + + def __init__(self, package: _Optional[_Union[OrgPackage, _Mapping]]=...) -> None: + ... + +class RetryInstallOrgPackageRequest(_message.Message): + __slots__ = ('org_id', 'package_id') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PACKAGE_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + package_id: str + + def __init__(self, org_id: _Optional[str]=..., package_id: _Optional[str]=...) -> None: + ... + +class RetryInstallOrgPackageResponse(_message.Message): + __slots__ = ('package',) + PACKAGE_FIELD_NUMBER: _ClassVar[int] + package: OrgPackage + + def __init__(self, package: _Optional[_Union[OrgPackage, _Mapping]]=...) -> None: + ... + +class UpdateOrgPackageVersionRequest(_message.Message): + __slots__ = ('org_id', 'package_id', 'version') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + PACKAGE_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + org_id: str + package_id: str + version: str + + def __init__(self, org_id: _Optional[str]=..., package_id: _Optional[str]=..., version: _Optional[str]=...) -> None: + ... + +class UpdateOrgPackageVersionResponse(_message.Message): + __slots__ = ('package',) + PACKAGE_FIELD_NUMBER: _ClassVar[int] + package: OrgPackage + + def __init__(self, package: _Optional[_Union[OrgPackage, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/paradigm_pb2.py b/src/textql_sdk/_connect/public/paradigm_pb2.py new file mode 100644 index 0000000..742d5c5 --- /dev/null +++ b/src/textql_sdk/_connect/public/paradigm_pb2.py @@ -0,0 +1,75 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/paradigm.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from .. import paradigm_params_pb2 as paradigm__params__pb2 +from .. import powerbi_selection_pb2 as powerbi__selection__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15public/paradigm.proto\x12\x1atextql.rpc.public.paradigm\x1a\x1bgoogle/api/visibility.proto\x1a\x15paradigm_params.proto\x1a\x17powerbi_selection.proto"\xa9\x01\n\x08Paradigm\x12<\n\x04type\x18\x01 \x01(\x0e2(.textql.rpc.paradigm_params.ParadigmTypeR\x04type\x12\x18\n\x07version\x18\x02 \x01(\x05R\x07version\x12E\n\x07options\x18\x03 \x01(\x0b2+.textql.rpc.public.paradigm.ParadigmOptionsR\x07options"\xca\x06\n\x0fParadigmOptions\x12L\n\x03sql\x18\x01 \x01(\x0b2&.textql.rpc.public.paradigm.SqlOptionsB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\x03sql\x12[\n\x08research\x18\x02 \x01(\x0b2+.textql.rpc.public.paradigm.ResearchOptionsB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\x08research\x12[\n\x08ontology\x18\x03 \x01(\x0b2+.textql.rpc.public.paradigm.OntologyOptionsB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\x08ontology\x12R\n\x05basic\x18\x04 \x01(\x0b2(.textql.rpc.public.paradigm.BasicOptionsB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\x05basic\x12X\n\x07tableau\x18\x05 \x01(\x0b2*.textql.rpc.public.paradigm.TableauOptionsB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\x07tableau\x12g\n\x0cexperimental\x18\x06 \x01(\x0b2/.textql.rpc.public.paradigm.ExperimentalOptionsB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\x0cexperimental\x12L\n\tuniversal\x18\x07 \x01(\x0b2,.textql.rpc.public.paradigm.UniversalOptionsH\x00R\tuniversal\x12b\n\x0bpublic_demo\x18\x08 \x01(\x0b2-.textql.rpc.public.paradigm.PublicDemoOptionsB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\npublicDemo\x12[\n\x08template\x18\t \x01(\x0b2+.textql.rpc.public.paradigm.TemplateOptionsB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALH\x00R\x08templateB\t\n\x07options"C\n\nSqlOptions\x12#\n\rconnector_ids\x18\x01 \x03(\x05R\x0cconnectorIds:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"\xaf\x01\n\x0fResearchOptions\x12#\n\rconnector_ids\x18\x01 \x03(\x05R\x0cconnectorIds\x12.\n\x10background_color\x18\x02 \x01(\tH\x00R\x0fbackgroundColor\x88\x01\x01\x12\x17\n\x04logo\x18\x03 \x01(\tH\x01R\x04logo\x88\x01\x01:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALB\x13\n\x11_background_colorB\x07\n\x05_logo"~\n\x13ExperimentalOptions\x12#\n\rconnector_ids\x18\x01 \x03(\x05R\x0cconnectorIds\x120\n\x14auto_approve_enabled\x18\x02 \x01(\x08R\x12autoApproveEnabled:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL" \n\x0cBasicOptions:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"k\n\x0fOntologyOptions\x12#\n\rconnector_ids\x18\x01 \x03(\x05R\x0cconnectorIds\x12!\n\x0contology_ids\x18\x02 \x03(\x05R\x0bontologyIds:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"A\n\x0eTableauOptions\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"\x8a\x0b\n\x10UniversalOptions\x12#\n\rconnector_ids\x18\x01 \x03(\x05R\x0cconnectorIds\x12"\n\ndataset_id\x18\x02 \x01(\tH\x00R\tdatasetId\x88\x01\x01\x12,\n\x12web_search_enabled\x18\x03 \x01(\x08R\x10webSearchEnabled\x12\x1f\n\x0bsql_enabled\x18\x04 \x01(\x08R\nsqlEnabled\x12)\n\x10ontology_enabled\x18\x05 \x01(\x08R\x0fontologyEnabled\x128\n\x18ontology_editing_enabled\x18\x06 \x01(\x08R\x16ontologyEditingEnabled\x12%\n\x0epython_enabled\x18\x07 \x01(\x08R\rpythonEnabled\x120\n\x14auto_approve_enabled\x18\x08 \x01(\x08R\x12autoApproveEnabled\x120\n\x14google_drive_enabled\x18\t \x01(\x08R\x12googleDriveEnabled\x12\'\n\x0fpowerbi_enabled\x18\n \x01(\x08R\x0epowerbiEnabled\x126\n\x17context_editing_enabled\x18\x0b \x01(\x08R\x15contextEditingEnabled\x12.\n\x13form_editor_enabled\x18\x0c \x01(\x08R\x11formEditorEnabled\x124\n\x16playbook_tools_enabled\x18\r \x01(\x08R\x14playbookToolsEnabled\x121\n\x14microsoft365_enabled\x18\x0e \x01(\x08R\x13microsoft365Enabled\x122\n\x15feed_explorer_enabled\x18\x0f \x01(\x08R\x13feedExplorerEnabled\x12!\n\x0cbash_enabled\x18\x10 \x01(\x08R\x0bbashEnabled\x12-\n\x12javascript_enabled\x18\x11 \x01(\x08R\x11javascriptEnabled\x12*\n\x11feed_post_enabled\x18\x12 \x01(\x08R\x0ffeedPostEnabled\x120\n\x14feed_comment_enabled\x18\x13 \x01(\x08R\x12feedCommentEnabled\x12.\n\x13feed_engage_enabled\x18\x14 \x01(\x08R\x11feedEngageEnabled\x12+\n\x11streamlit_enabled\x18\x15 \x01(\x08R\x10streamlitEnabled\x12/\n\x13compaction_disabled\x18\x16 \x01(\x08R\x12compactionDisabled\x12#\n\rgmail_enabled\x18\x17 \x01(\x08R\x0cgmailEnabled\x12=\n\x1bchat_history_search_enabled\x18\x18 \x01(\x08R\x18chatHistorySearchEnabled\x126\n\x17google_calendar_enabled\x18\x19 \x01(\x08R\x15googleCalendarEnabled\x120\n\x14email_output_enabled\x18\x1a \x01(\x08R\x12emailOutputEnabled\x12]\n\x12powerbi_selections\x18\x1b \x03(\x0b2..textql.rpc.powerbi_selection.PowerBISelectionR\x11powerbiSelections\x12\x19\n\x08sms_mode\x18\x1c \x01(\x08R\x07smsMode\x12+\n\x12api_access_key_ids\x18\x1d \x03(\tR\x0fapiAccessKeyIdsB\r\n\x0b_dataset_id"I\n\x12GoogleDriveOptions\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"H\n\x11PublicDemoOptions\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"H\n\x0fTemplateOptions\x12#\n\rcapture_tools\x18\x01 \x03(\tR\x0ccaptureTools:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.paradigm_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['sql']._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['sql']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMOPTIONS'].fields_by_name['research']._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['research']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMOPTIONS'].fields_by_name['ontology']._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['ontology']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMOPTIONS'].fields_by_name['basic']._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['basic']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMOPTIONS'].fields_by_name['tableau']._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['tableau']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMOPTIONS'].fields_by_name['experimental']._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['experimental']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMOPTIONS'].fields_by_name['public_demo']._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['public_demo']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGMOPTIONS'].fields_by_name['template']._loaded_options = None + _globals['_PARADIGMOPTIONS'].fields_by_name['template']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SQLOPTIONS']._loaded_options = None + _globals['_SQLOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_RESEARCHOPTIONS']._loaded_options = None + _globals['_RESEARCHOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_EXPERIMENTALOPTIONS']._loaded_options = None + _globals['_EXPERIMENTALOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_BASICOPTIONS']._loaded_options = None + _globals['_BASICOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_ONTOLOGYOPTIONS']._loaded_options = None + _globals['_ONTOLOGYOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_TABLEAUOPTIONS']._loaded_options = None + _globals['_TABLEAUOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_GOOGLEDRIVEOPTIONS']._loaded_options = None + _globals['_GOOGLEDRIVEOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PUBLICDEMOOPTIONS']._loaded_options = None + _globals['_PUBLICDEMOOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_TEMPLATEOPTIONS']._loaded_options = None + _globals['_TEMPLATEOPTIONS']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PARADIGM']._serialized_start = 131 + _globals['_PARADIGM']._serialized_end = 300 + _globals['_PARADIGMOPTIONS']._serialized_start = 303 + _globals['_PARADIGMOPTIONS']._serialized_end = 1145 + _globals['_SQLOPTIONS']._serialized_start = 1147 + _globals['_SQLOPTIONS']._serialized_end = 1214 + _globals['_RESEARCHOPTIONS']._serialized_start = 1217 + _globals['_RESEARCHOPTIONS']._serialized_end = 1392 + _globals['_EXPERIMENTALOPTIONS']._serialized_start = 1394 + _globals['_EXPERIMENTALOPTIONS']._serialized_end = 1520 + _globals['_BASICOPTIONS']._serialized_start = 1522 + _globals['_BASICOPTIONS']._serialized_end = 1554 + _globals['_ONTOLOGYOPTIONS']._serialized_start = 1556 + _globals['_ONTOLOGYOPTIONS']._serialized_end = 1663 + _globals['_TABLEAUOPTIONS']._serialized_start = 1665 + _globals['_TABLEAUOPTIONS']._serialized_end = 1730 + _globals['_UNIVERSALOPTIONS']._serialized_start = 1733 + _globals['_UNIVERSALOPTIONS']._serialized_end = 3151 + _globals['_GOOGLEDRIVEOPTIONS']._serialized_start = 3153 + _globals['_GOOGLEDRIVEOPTIONS']._serialized_end = 3226 + _globals['_PUBLICDEMOOPTIONS']._serialized_start = 3228 + _globals['_PUBLICDEMOOPTIONS']._serialized_end = 3300 + _globals['_TEMPLATEOPTIONS']._serialized_start = 3302 + _globals['_TEMPLATEOPTIONS']._serialized_end = 3374 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/paradigm_pb2.pyi b/src/textql_sdk/_connect/public/paradigm_pb2.pyi new file mode 100644 index 0000000..02f9317 --- /dev/null +++ b/src/textql_sdk/_connect/public/paradigm_pb2.pyi @@ -0,0 +1,187 @@ +from google.api import visibility_pb2 as _visibility_pb2 +import paradigm_params_pb2 as _paradigm_params_pb2 +import powerbi_selection_pb2 as _powerbi_selection_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class Paradigm(_message.Message): + __slots__ = ('type', 'version', 'options') + TYPE_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + OPTIONS_FIELD_NUMBER: _ClassVar[int] + type: _paradigm_params_pb2.ParadigmType + version: int + options: ParadigmOptions + + def __init__(self, type: _Optional[_Union[_paradigm_params_pb2.ParadigmType, str]]=..., version: _Optional[int]=..., options: _Optional[_Union[ParadigmOptions, _Mapping]]=...) -> None: + ... + +class ParadigmOptions(_message.Message): + __slots__ = ('sql', 'research', 'ontology', 'basic', 'tableau', 'experimental', 'universal', 'public_demo', 'template') + SQL_FIELD_NUMBER: _ClassVar[int] + RESEARCH_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_FIELD_NUMBER: _ClassVar[int] + BASIC_FIELD_NUMBER: _ClassVar[int] + TABLEAU_FIELD_NUMBER: _ClassVar[int] + EXPERIMENTAL_FIELD_NUMBER: _ClassVar[int] + UNIVERSAL_FIELD_NUMBER: _ClassVar[int] + PUBLIC_DEMO_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_FIELD_NUMBER: _ClassVar[int] + sql: SqlOptions + research: ResearchOptions + ontology: OntologyOptions + basic: BasicOptions + tableau: TableauOptions + experimental: ExperimentalOptions + universal: UniversalOptions + public_demo: PublicDemoOptions + template: TemplateOptions + + def __init__(self, sql: _Optional[_Union[SqlOptions, _Mapping]]=..., research: _Optional[_Union[ResearchOptions, _Mapping]]=..., ontology: _Optional[_Union[OntologyOptions, _Mapping]]=..., basic: _Optional[_Union[BasicOptions, _Mapping]]=..., tableau: _Optional[_Union[TableauOptions, _Mapping]]=..., experimental: _Optional[_Union[ExperimentalOptions, _Mapping]]=..., universal: _Optional[_Union[UniversalOptions, _Mapping]]=..., public_demo: _Optional[_Union[PublicDemoOptions, _Mapping]]=..., template: _Optional[_Union[TemplateOptions, _Mapping]]=...) -> None: + ... + +class SqlOptions(_message.Message): + __slots__ = ('connector_ids',) + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, connector_ids: _Optional[_Iterable[int]]=...) -> None: + ... + +class ResearchOptions(_message.Message): + __slots__ = ('connector_ids', 'background_color', 'logo') + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + BACKGROUND_COLOR_FIELD_NUMBER: _ClassVar[int] + LOGO_FIELD_NUMBER: _ClassVar[int] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + background_color: str + logo: str + + def __init__(self, connector_ids: _Optional[_Iterable[int]]=..., background_color: _Optional[str]=..., logo: _Optional[str]=...) -> None: + ... + +class ExperimentalOptions(_message.Message): + __slots__ = ('connector_ids', 'auto_approve_enabled') + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + AUTO_APPROVE_ENABLED_FIELD_NUMBER: _ClassVar[int] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + auto_approve_enabled: bool + + def __init__(self, connector_ids: _Optional[_Iterable[int]]=..., auto_approve_enabled: bool=...) -> None: + ... + +class BasicOptions(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class OntologyOptions(_message.Message): + __slots__ = ('connector_ids', 'ontology_ids') + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_IDS_FIELD_NUMBER: _ClassVar[int] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + ontology_ids: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, connector_ids: _Optional[_Iterable[int]]=..., ontology_ids: _Optional[_Iterable[int]]=...) -> None: + ... + +class TableauOptions(_message.Message): + __slots__ = ('dataset_id',) + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + + def __init__(self, dataset_id: _Optional[str]=...) -> None: + ... + +class UniversalOptions(_message.Message): + __slots__ = ('connector_ids', 'dataset_id', 'web_search_enabled', 'sql_enabled', 'ontology_enabled', 'ontology_editing_enabled', 'python_enabled', 'auto_approve_enabled', 'google_drive_enabled', 'powerbi_enabled', 'context_editing_enabled', 'form_editor_enabled', 'playbook_tools_enabled', 'microsoft365_enabled', 'feed_explorer_enabled', 'bash_enabled', 'javascript_enabled', 'feed_post_enabled', 'feed_comment_enabled', 'feed_engage_enabled', 'streamlit_enabled', 'compaction_disabled', 'gmail_enabled', 'chat_history_search_enabled', 'google_calendar_enabled', 'email_output_enabled', 'powerbi_selections', 'sms_mode', 'api_access_key_ids') + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + WEB_SEARCH_ENABLED_FIELD_NUMBER: _ClassVar[int] + SQL_ENABLED_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_ENABLED_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_EDITING_ENABLED_FIELD_NUMBER: _ClassVar[int] + PYTHON_ENABLED_FIELD_NUMBER: _ClassVar[int] + AUTO_APPROVE_ENABLED_FIELD_NUMBER: _ClassVar[int] + GOOGLE_DRIVE_ENABLED_FIELD_NUMBER: _ClassVar[int] + POWERBI_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONTEXT_EDITING_ENABLED_FIELD_NUMBER: _ClassVar[int] + FORM_EDITOR_ENABLED_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_TOOLS_ENABLED_FIELD_NUMBER: _ClassVar[int] + MICROSOFT365_ENABLED_FIELD_NUMBER: _ClassVar[int] + FEED_EXPLORER_ENABLED_FIELD_NUMBER: _ClassVar[int] + BASH_ENABLED_FIELD_NUMBER: _ClassVar[int] + JAVASCRIPT_ENABLED_FIELD_NUMBER: _ClassVar[int] + FEED_POST_ENABLED_FIELD_NUMBER: _ClassVar[int] + FEED_COMMENT_ENABLED_FIELD_NUMBER: _ClassVar[int] + FEED_ENGAGE_ENABLED_FIELD_NUMBER: _ClassVar[int] + STREAMLIT_ENABLED_FIELD_NUMBER: _ClassVar[int] + COMPACTION_DISABLED_FIELD_NUMBER: _ClassVar[int] + GMAIL_ENABLED_FIELD_NUMBER: _ClassVar[int] + CHAT_HISTORY_SEARCH_ENABLED_FIELD_NUMBER: _ClassVar[int] + GOOGLE_CALENDAR_ENABLED_FIELD_NUMBER: _ClassVar[int] + EMAIL_OUTPUT_ENABLED_FIELD_NUMBER: _ClassVar[int] + POWERBI_SELECTIONS_FIELD_NUMBER: _ClassVar[int] + SMS_MODE_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_IDS_FIELD_NUMBER: _ClassVar[int] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + dataset_id: str + web_search_enabled: bool + sql_enabled: bool + ontology_enabled: bool + ontology_editing_enabled: bool + python_enabled: bool + auto_approve_enabled: bool + google_drive_enabled: bool + powerbi_enabled: bool + context_editing_enabled: bool + form_editor_enabled: bool + playbook_tools_enabled: bool + microsoft365_enabled: bool + feed_explorer_enabled: bool + bash_enabled: bool + javascript_enabled: bool + feed_post_enabled: bool + feed_comment_enabled: bool + feed_engage_enabled: bool + streamlit_enabled: bool + compaction_disabled: bool + gmail_enabled: bool + chat_history_search_enabled: bool + google_calendar_enabled: bool + email_output_enabled: bool + powerbi_selections: _containers.RepeatedCompositeFieldContainer[_powerbi_selection_pb2.PowerBISelection] + sms_mode: bool + api_access_key_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, connector_ids: _Optional[_Iterable[int]]=..., dataset_id: _Optional[str]=..., web_search_enabled: bool=..., sql_enabled: bool=..., ontology_enabled: bool=..., ontology_editing_enabled: bool=..., python_enabled: bool=..., auto_approve_enabled: bool=..., google_drive_enabled: bool=..., powerbi_enabled: bool=..., context_editing_enabled: bool=..., form_editor_enabled: bool=..., playbook_tools_enabled: bool=..., microsoft365_enabled: bool=..., feed_explorer_enabled: bool=..., bash_enabled: bool=..., javascript_enabled: bool=..., feed_post_enabled: bool=..., feed_comment_enabled: bool=..., feed_engage_enabled: bool=..., streamlit_enabled: bool=..., compaction_disabled: bool=..., gmail_enabled: bool=..., chat_history_search_enabled: bool=..., google_calendar_enabled: bool=..., email_output_enabled: bool=..., powerbi_selections: _Optional[_Iterable[_Union[_powerbi_selection_pb2.PowerBISelection, _Mapping]]]=..., sms_mode: bool=..., api_access_key_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class GoogleDriveOptions(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class PublicDemoOptions(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class TemplateOptions(_message.Message): + __slots__ = ('capture_tools',) + CAPTURE_TOOLS_FIELD_NUMBER: _ClassVar[int] + capture_tools: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, capture_tools: _Optional[_Iterable[str]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/patches_connect.py b/src/textql_sdk/_connect/public/patches_connect.py new file mode 100644 index 0000000..3370d97 --- /dev/null +++ b/src/textql_sdk/_connect/public/patches_connect.py @@ -0,0 +1,916 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import patches_pb2 as public_dot_patches__pb2 + +class OntologyManagementService(Protocol): + + async def list_patches(self, request: public_dot_patches__pb2.ListPatchesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListPatchesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_patch(self, request: public_dot_patches__pb2.GetPatchRequest, ctx: RequestContext) -> public_dot_patches__pb2.Patch: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_patch_by_number(self, request: public_dot_patches__pb2.GetPatchByNumberRequest, ctx: RequestContext) -> public_dot_patches__pb2.Patch: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_raw_patch(self, request: public_dot_patches__pb2.GetRawPatchRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetRawPatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def validate_config(self, request: public_dot_patches__pb2.ValidateConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.ValidateConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def approve_patch(self, request: public_dot_patches__pb2.ApprovePatchRequest, ctx: RequestContext) -> public_dot_patches__pb2.ApprovePatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def request_patch_review(self, request: public_dot_patches__pb2.RequestPatchReviewRequest, ctx: RequestContext) -> public_dot_patches__pb2.RequestPatchReviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_patch_reviewers(self, request: public_dot_patches__pb2.ListPatchReviewersRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListPatchReviewersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def deny_patch(self, request: public_dot_patches__pb2.DenyPatchRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def restore_patch(self, request: public_dot_patches__pb2.RestorePatchRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revert_patch(self, request: public_dot_patches__pb2.RevertPatchRequest, ctx: RequestContext) -> public_dot_patches__pb2.RevertPatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def save_object_as_config(self, request: public_dot_patches__pb2.SaveObjectAsConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.SaveObjectAsConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def save_all_objects_as_config(self, request: public_dot_patches__pb2.SaveAllObjectsAsConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.SaveAllObjectsAsConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_config_export_capabilities(self, request: public_dot_patches__pb2.GetConfigExportCapabilitiesRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetConfigExportCapabilitiesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_patch_capabilities(self, request: public_dot_patches__pb2.GetPatchCapabilitiesRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetPatchCapabilitiesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_ontology_entries(self, request: public_dot_patches__pb2.ListOntologyEntriesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologyEntriesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_file(self, request: public_dot_patches__pb2.GetOntologyFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_ontology_file_upload_url(self, request: public_dot_patches__pb2.CreateOntologyFileUploadUrlRequest, ctx: RequestContext) -> public_dot_patches__pb2.CreateOntologyFileUploadUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def finalize_ontology_file_upload(self, request: public_dot_patches__pb2.FinalizeOntologyFileUploadRequest, ctx: RequestContext) -> public_dot_patches__pb2.FinalizeOntologyFileUploadResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_ontology_history(self, request: public_dot_patches__pb2.ListOntologyHistoryRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologyHistoryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_history_file_diff(self, request: public_dot_patches__pb2.GetOntologyHistoryFileDiffRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyHistoryFileDiffResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upsert_ontology_file(self, request: public_dot_patches__pb2.UpsertOntologyFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpsertOntologyFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_ontology_directory(self, request: public_dot_patches__pb2.CreateOntologyDirectoryRequest, ctx: RequestContext) -> public_dot_patches__pb2.CreateOntologyDirectoryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_ontology_directory(self, request: public_dot_patches__pb2.DeleteOntologyDirectoryRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def rename_ontology_file(self, request: public_dot_patches__pb2.RenameOntologyFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.RenameOntologyFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_ontology_file(self, request: public_dot_patches__pb2.DeleteOntologyFileRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_owners(self, request: public_dot_patches__pb2.GetOntologyOwnersRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyOwnersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_effective_ontology_owners(self, request: public_dot_patches__pb2.GetEffectiveOntologyOwnersRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetEffectiveOntologyOwnersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upsert_ontology_owners(self, request: public_dot_patches__pb2.UpsertOntologyOwnersRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpsertOntologyOwnersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_ontology_owners(self, request: public_dot_patches__pb2.DeleteOntologyOwnersRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_ana_config(self, request: public_dot_patches__pb2.GetOntologyAnaConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyAnaConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upsert_ontology_ana_config(self, request: public_dot_patches__pb2.UpsertOntologyAnaConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpsertOntologyAnaConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_ontology_file_golden(self, request: public_dot_patches__pb2.SetOntologyFileGoldenRequest, ctx: RequestContext) -> public_dot_patches__pb2.SetOntologyFileGoldenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_golden_files(self, request: public_dot_patches__pb2.ListGoldenFilesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListGoldenFilesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_codeowner_coverage(self, request: public_dot_patches__pb2.GetCodeownerCoverageRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetCodeownerCoverageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_skills(self, request: public_dot_patches__pb2.ListSkillsRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListSkillsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_remote(self, request: public_dot_patches__pb2.GetOntologyRemoteRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyRemoteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def configure_ontology_remote(self, request: public_dot_patches__pb2.ConfigureOntologyRemoteRequest, ctx: RequestContext) -> public_dot_patches__pb2.ConfigureOntologyRemoteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_github_o_auth_u_r_l(self, request: public_dot_patches__pb2.GetOntologyGithubOAuthURLRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyGithubOAuthURLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_ontology_github_code(self, request: public_dot_patches__pb2.ExchangeOntologyGithubCodeRequest, ctx: RequestContext) -> public_dot_patches__pb2.ExchangeOntologyGithubCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_ontology_remote(self, request: public_dot_patches__pb2.RemoveOntologyRemoteRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def push_ontology_to_remote(self, request: public_dot_patches__pb2.PushOntologyToRemoteRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def pull_ontology_from_remote(self, request: public_dot_patches__pb2.PullOntologyFromRemoteRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def trigger_config_drift_reconcile(self, request: public_dot_patches__pb2.TriggerConfigDriftReconcileRequest, ctx: RequestContext) -> public_dot_patches__pb2.TriggerConfigDriftReconcileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def preview_ontology_pull_from_remote(self, request: public_dot_patches__pb2.PreviewOntologyPullFromRemoteRequest, ctx: RequestContext) -> public_dot_patches__pb2.PreviewOntologyPullFromRemoteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def recover_ontology(self, request: public_dot_patches__pb2.RecoverOntologyRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_ontology_sync_config(self, request: public_dot_patches__pb2.UpdateOntologySyncConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpdateOntologySyncConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_ontology_sync_runs(self, request: public_dot_patches__pb2.ListOntologySyncRunsRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologySyncRunsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_sync_conflicts(self, request: public_dot_patches__pb2.GetOntologySyncConflictsRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologySyncConflictsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def resolve_ontology_sync_conflict(self, request: public_dot_patches__pb2.ResolveOntologySyncConflictRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def migrate_legacy_context_to_ontology(self, request: public_dot_patches__pb2.MigrateLegacyContextToOntologyRequest, ctx: RequestContext) -> public_dot_patches__pb2.MigrateLegacyContextToOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def migrate_old_ontology_to_new_ontology(self, request: public_dot_patches__pb2.MigrateOntologyToOntologyRequest, ctx: RequestContext) -> public_dot_patches__pb2.MigrateOntologyToOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_migration_status(self, request: public_dot_patches__pb2.GetOntologyMigrationStatusRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyMigrationStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def plan_ontology_merge(self, request: public_dot_patches__pb2.PlanOntologyMergeRequest, ctx: RequestContext) -> public_dot_patches__pb2.PlanOntologyMergeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def add_ontology_submodule(self, request: public_dot_patches__pb2.AddOntologySubmoduleRequest, ctx: RequestContext) -> public_dot_patches__pb2.AddOntologySubmoduleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_ontology_submodule(self, request: public_dot_patches__pb2.RemoveOntologySubmoduleRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_ontology_submodules(self, request: public_dot_patches__pb2.ListOntologySubmodulesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologySubmodulesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_ontology_imports(self, request: public_dot_patches__pb2.ListOntologyImportsRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologyImportsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_context_patch_auto_approve_rules(self, request: public_dot_patches__pb2.ListContextPatchAutoApproveRulesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListContextPatchAutoApproveRulesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.CreateContextPatchAutoApproveRuleRequest, ctx: RequestContext) -> public_dot_patches__pb2.CreateContextPatchAutoApproveRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.DeleteContextPatchAutoApproveRuleRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_approval_rules(self, request: public_dot_patches__pb2.ListApprovalRulesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListApprovalRulesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_approval_rule(self, request: public_dot_patches__pb2.CreateApprovalRuleRequest, ctx: RequestContext) -> public_dot_patches__pb2.CreateApprovalRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_approval_rule(self, request: public_dot_patches__pb2.UpdateApprovalRuleRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpdateApprovalRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_approval_rule(self, request: public_dot_patches__pb2.DeleteApprovalRuleRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_file_usage(self, request: public_dot_patches__pb2.GetFileUsageRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetFileUsageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_usage_details_for_file(self, request: public_dot_patches__pb2.GetUsageDetailsForFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetUsageDetailsForFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_chats_for_file(self, request: public_dot_patches__pb2.ListChatsForFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListChatsForFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_file_usage_timeline(self, request: public_dot_patches__pb2.GetFileUsageTimelineRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetFileUsageTimelineResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_size_timeline(self, request: public_dot_patches__pb2.GetOntologySizeTimelineRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologySizeTimelineResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_ontology_usage_summary(self, request: public_dot_patches__pb2.GetOntologyUsageSummaryRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyUsageSummaryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_ontology_files(self, request: public_dot_patches__pb2.ListOntologyFilesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologyFilesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class OntologyManagementServiceASGIApplication(ConnectASGIApplication[OntologyManagementService]): + + def __init__(self, service: OntologyManagementService | AsyncGenerator[OntologyManagementService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.patches.OntologyManagementService/ListPatches': Endpoint.unary(method=MethodInfo(name='ListPatches', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListPatchesRequest, output=public_dot_patches__pb2.ListPatchesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_patches), '/textql.rpc.public.patches.OntologyManagementService/GetPatch': Endpoint.unary(method=MethodInfo(name='GetPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchRequest, output=public_dot_patches__pb2.Patch, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_patch), '/textql.rpc.public.patches.OntologyManagementService/GetPatchByNumber': Endpoint.unary(method=MethodInfo(name='GetPatchByNumber', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchByNumberRequest, output=public_dot_patches__pb2.Patch, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_patch_by_number), '/textql.rpc.public.patches.OntologyManagementService/GetRawPatch': Endpoint.unary(method=MethodInfo(name='GetRawPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetRawPatchRequest, output=public_dot_patches__pb2.GetRawPatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_raw_patch), '/textql.rpc.public.patches.OntologyManagementService/ValidateConfig': Endpoint.unary(method=MethodInfo(name='ValidateConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ValidateConfigRequest, output=public_dot_patches__pb2.ValidateConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.validate_config), '/textql.rpc.public.patches.OntologyManagementService/ApprovePatch': Endpoint.unary(method=MethodInfo(name='ApprovePatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ApprovePatchRequest, output=public_dot_patches__pb2.ApprovePatchResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.approve_patch), '/textql.rpc.public.patches.OntologyManagementService/RequestPatchReview': Endpoint.unary(method=MethodInfo(name='RequestPatchReview', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RequestPatchReviewRequest, output=public_dot_patches__pb2.RequestPatchReviewResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.request_patch_review), '/textql.rpc.public.patches.OntologyManagementService/ListPatchReviewers': Endpoint.unary(method=MethodInfo(name='ListPatchReviewers', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListPatchReviewersRequest, output=public_dot_patches__pb2.ListPatchReviewersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_patch_reviewers), '/textql.rpc.public.patches.OntologyManagementService/DenyPatch': Endpoint.unary(method=MethodInfo(name='DenyPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DenyPatchRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.deny_patch), '/textql.rpc.public.patches.OntologyManagementService/RestorePatch': Endpoint.unary(method=MethodInfo(name='RestorePatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RestorePatchRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.restore_patch), '/textql.rpc.public.patches.OntologyManagementService/RevertPatch': Endpoint.unary(method=MethodInfo(name='RevertPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RevertPatchRequest, output=public_dot_patches__pb2.RevertPatchResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revert_patch), '/textql.rpc.public.patches.OntologyManagementService/SaveObjectAsConfig': Endpoint.unary(method=MethodInfo(name='SaveObjectAsConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SaveObjectAsConfigRequest, output=public_dot_patches__pb2.SaveObjectAsConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.save_object_as_config), '/textql.rpc.public.patches.OntologyManagementService/SaveAllObjectsAsConfig': Endpoint.unary(method=MethodInfo(name='SaveAllObjectsAsConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SaveAllObjectsAsConfigRequest, output=public_dot_patches__pb2.SaveAllObjectsAsConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.save_all_objects_as_config), '/textql.rpc.public.patches.OntologyManagementService/GetConfigExportCapabilities': Endpoint.unary(method=MethodInfo(name='GetConfigExportCapabilities', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetConfigExportCapabilitiesRequest, output=public_dot_patches__pb2.GetConfigExportCapabilitiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_config_export_capabilities), '/textql.rpc.public.patches.OntologyManagementService/GetPatchCapabilities': Endpoint.unary(method=MethodInfo(name='GetPatchCapabilities', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchCapabilitiesRequest, output=public_dot_patches__pb2.GetPatchCapabilitiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_patch_capabilities), '/textql.rpc.public.patches.OntologyManagementService/ListOntologyEntries': Endpoint.unary(method=MethodInfo(name='ListOntologyEntries', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyEntriesRequest, output=public_dot_patches__pb2.ListOntologyEntriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_ontology_entries), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyFile': Endpoint.unary(method=MethodInfo(name='GetOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyFileRequest, output=public_dot_patches__pb2.GetOntologyFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_file), '/textql.rpc.public.patches.OntologyManagementService/CreateOntologyFileUploadUrl': Endpoint.unary(method=MethodInfo(name='CreateOntologyFileUploadUrl', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateOntologyFileUploadUrlRequest, output=public_dot_patches__pb2.CreateOntologyFileUploadUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_ontology_file_upload_url), '/textql.rpc.public.patches.OntologyManagementService/FinalizeOntologyFileUpload': Endpoint.unary(method=MethodInfo(name='FinalizeOntologyFileUpload', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.FinalizeOntologyFileUploadRequest, output=public_dot_patches__pb2.FinalizeOntologyFileUploadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.finalize_ontology_file_upload), '/textql.rpc.public.patches.OntologyManagementService/ListOntologyHistory': Endpoint.unary(method=MethodInfo(name='ListOntologyHistory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyHistoryRequest, output=public_dot_patches__pb2.ListOntologyHistoryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_ontology_history), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyHistoryFileDiff': Endpoint.unary(method=MethodInfo(name='GetOntologyHistoryFileDiff', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyHistoryFileDiffRequest, output=public_dot_patches__pb2.GetOntologyHistoryFileDiffResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_history_file_diff), '/textql.rpc.public.patches.OntologyManagementService/UpsertOntologyFile': Endpoint.unary(method=MethodInfo(name='UpsertOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyFileRequest, output=public_dot_patches__pb2.UpsertOntologyFileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upsert_ontology_file), '/textql.rpc.public.patches.OntologyManagementService/CreateOntologyDirectory': Endpoint.unary(method=MethodInfo(name='CreateOntologyDirectory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateOntologyDirectoryRequest, output=public_dot_patches__pb2.CreateOntologyDirectoryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_ontology_directory), '/textql.rpc.public.patches.OntologyManagementService/DeleteOntologyDirectory': Endpoint.unary(method=MethodInfo(name='DeleteOntologyDirectory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyDirectoryRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_ontology_directory), '/textql.rpc.public.patches.OntologyManagementService/RenameOntologyFile': Endpoint.unary(method=MethodInfo(name='RenameOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RenameOntologyFileRequest, output=public_dot_patches__pb2.RenameOntologyFileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.rename_ontology_file), '/textql.rpc.public.patches.OntologyManagementService/DeleteOntologyFile': Endpoint.unary(method=MethodInfo(name='DeleteOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyFileRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_ontology_file), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyOwners': Endpoint.unary(method=MethodInfo(name='GetOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyOwnersRequest, output=public_dot_patches__pb2.GetOntologyOwnersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_owners), '/textql.rpc.public.patches.OntologyManagementService/GetEffectiveOntologyOwners': Endpoint.unary(method=MethodInfo(name='GetEffectiveOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetEffectiveOntologyOwnersRequest, output=public_dot_patches__pb2.GetEffectiveOntologyOwnersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_effective_ontology_owners), '/textql.rpc.public.patches.OntologyManagementService/UpsertOntologyOwners': Endpoint.unary(method=MethodInfo(name='UpsertOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyOwnersRequest, output=public_dot_patches__pb2.UpsertOntologyOwnersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upsert_ontology_owners), '/textql.rpc.public.patches.OntologyManagementService/DeleteOntologyOwners': Endpoint.unary(method=MethodInfo(name='DeleteOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyOwnersRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_ontology_owners), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyAnaConfig': Endpoint.unary(method=MethodInfo(name='GetOntologyAnaConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyAnaConfigRequest, output=public_dot_patches__pb2.GetOntologyAnaConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_ana_config), '/textql.rpc.public.patches.OntologyManagementService/UpsertOntologyAnaConfig': Endpoint.unary(method=MethodInfo(name='UpsertOntologyAnaConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyAnaConfigRequest, output=public_dot_patches__pb2.UpsertOntologyAnaConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upsert_ontology_ana_config), '/textql.rpc.public.patches.OntologyManagementService/SetOntologyFileGolden': Endpoint.unary(method=MethodInfo(name='SetOntologyFileGolden', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SetOntologyFileGoldenRequest, output=public_dot_patches__pb2.SetOntologyFileGoldenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_ontology_file_golden), '/textql.rpc.public.patches.OntologyManagementService/ListGoldenFiles': Endpoint.unary(method=MethodInfo(name='ListGoldenFiles', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListGoldenFilesRequest, output=public_dot_patches__pb2.ListGoldenFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_golden_files), '/textql.rpc.public.patches.OntologyManagementService/GetCodeownerCoverage': Endpoint.unary(method=MethodInfo(name='GetCodeownerCoverage', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetCodeownerCoverageRequest, output=public_dot_patches__pb2.GetCodeownerCoverageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_codeowner_coverage), '/textql.rpc.public.patches.OntologyManagementService/ListSkills': Endpoint.unary(method=MethodInfo(name='ListSkills', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListSkillsRequest, output=public_dot_patches__pb2.ListSkillsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_skills), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyRemote': Endpoint.unary(method=MethodInfo(name='GetOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyRemoteRequest, output=public_dot_patches__pb2.GetOntologyRemoteResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_remote), '/textql.rpc.public.patches.OntologyManagementService/ConfigureOntologyRemote': Endpoint.unary(method=MethodInfo(name='ConfigureOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ConfigureOntologyRemoteRequest, output=public_dot_patches__pb2.ConfigureOntologyRemoteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.configure_ontology_remote), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyGithubOAuthURL': Endpoint.unary(method=MethodInfo(name='GetOntologyGithubOAuthURL', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyGithubOAuthURLRequest, output=public_dot_patches__pb2.GetOntologyGithubOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_ontology_github_o_auth_u_r_l), '/textql.rpc.public.patches.OntologyManagementService/ExchangeOntologyGithubCode': Endpoint.unary(method=MethodInfo(name='ExchangeOntologyGithubCode', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ExchangeOntologyGithubCodeRequest, output=public_dot_patches__pb2.ExchangeOntologyGithubCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_ontology_github_code), '/textql.rpc.public.patches.OntologyManagementService/RemoveOntologyRemote': Endpoint.unary(method=MethodInfo(name='RemoveOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RemoveOntologyRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_ontology_remote), '/textql.rpc.public.patches.OntologyManagementService/PushOntologyToRemote': Endpoint.unary(method=MethodInfo(name='PushOntologyToRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PushOntologyToRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.push_ontology_to_remote), '/textql.rpc.public.patches.OntologyManagementService/PullOntologyFromRemote': Endpoint.unary(method=MethodInfo(name='PullOntologyFromRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PullOntologyFromRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.pull_ontology_from_remote), '/textql.rpc.public.patches.OntologyManagementService/TriggerConfigDriftReconcile': Endpoint.unary(method=MethodInfo(name='TriggerConfigDriftReconcile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.TriggerConfigDriftReconcileRequest, output=public_dot_patches__pb2.TriggerConfigDriftReconcileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.trigger_config_drift_reconcile), '/textql.rpc.public.patches.OntologyManagementService/PreviewOntologyPullFromRemote': Endpoint.unary(method=MethodInfo(name='PreviewOntologyPullFromRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PreviewOntologyPullFromRemoteRequest, output=public_dot_patches__pb2.PreviewOntologyPullFromRemoteResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.preview_ontology_pull_from_remote), '/textql.rpc.public.patches.OntologyManagementService/RecoverOntology': Endpoint.unary(method=MethodInfo(name='RecoverOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RecoverOntologyRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.recover_ontology), '/textql.rpc.public.patches.OntologyManagementService/UpdateOntologySyncConfig': Endpoint.unary(method=MethodInfo(name='UpdateOntologySyncConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateOntologySyncConfigRequest, output=public_dot_patches__pb2.UpdateOntologySyncConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_ontology_sync_config), '/textql.rpc.public.patches.OntologyManagementService/ListOntologySyncRuns': Endpoint.unary(method=MethodInfo(name='ListOntologySyncRuns', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologySyncRunsRequest, output=public_dot_patches__pb2.ListOntologySyncRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_ontology_sync_runs), '/textql.rpc.public.patches.OntologyManagementService/GetOntologySyncConflicts': Endpoint.unary(method=MethodInfo(name='GetOntologySyncConflicts', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologySyncConflictsRequest, output=public_dot_patches__pb2.GetOntologySyncConflictsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_sync_conflicts), '/textql.rpc.public.patches.OntologyManagementService/ResolveOntologySyncConflict': Endpoint.unary(method=MethodInfo(name='ResolveOntologySyncConflict', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ResolveOntologySyncConflictRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.resolve_ontology_sync_conflict), '/textql.rpc.public.patches.OntologyManagementService/MigrateLegacyContextToOntology': Endpoint.unary(method=MethodInfo(name='MigrateLegacyContextToOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.MigrateLegacyContextToOntologyRequest, output=public_dot_patches__pb2.MigrateLegacyContextToOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.migrate_legacy_context_to_ontology), '/textql.rpc.public.patches.OntologyManagementService/MigrateOldOntologyToNewOntology': Endpoint.unary(method=MethodInfo(name='MigrateOldOntologyToNewOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.MigrateOntologyToOntologyRequest, output=public_dot_patches__pb2.MigrateOntologyToOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.migrate_old_ontology_to_new_ontology), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyMigrationStatus': Endpoint.unary(method=MethodInfo(name='GetOntologyMigrationStatus', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyMigrationStatusRequest, output=public_dot_patches__pb2.GetOntologyMigrationStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_migration_status), '/textql.rpc.public.patches.OntologyManagementService/PlanOntologyMerge': Endpoint.unary(method=MethodInfo(name='PlanOntologyMerge', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PlanOntologyMergeRequest, output=public_dot_patches__pb2.PlanOntologyMergeResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.plan_ontology_merge), '/textql.rpc.public.patches.OntologyManagementService/AddOntologySubmodule': Endpoint.unary(method=MethodInfo(name='AddOntologySubmodule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.AddOntologySubmoduleRequest, output=public_dot_patches__pb2.AddOntologySubmoduleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.add_ontology_submodule), '/textql.rpc.public.patches.OntologyManagementService/RemoveOntologySubmodule': Endpoint.unary(method=MethodInfo(name='RemoveOntologySubmodule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RemoveOntologySubmoduleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_ontology_submodule), '/textql.rpc.public.patches.OntologyManagementService/ListOntologySubmodules': Endpoint.unary(method=MethodInfo(name='ListOntologySubmodules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologySubmodulesRequest, output=public_dot_patches__pb2.ListOntologySubmodulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_ontology_submodules), '/textql.rpc.public.patches.OntologyManagementService/ListOntologyImports': Endpoint.unary(method=MethodInfo(name='ListOntologyImports', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyImportsRequest, output=public_dot_patches__pb2.ListOntologyImportsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_ontology_imports), '/textql.rpc.public.patches.OntologyManagementService/ListContextPatchAutoApproveRules': Endpoint.unary(method=MethodInfo(name='ListContextPatchAutoApproveRules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListContextPatchAutoApproveRulesRequest, output=public_dot_patches__pb2.ListContextPatchAutoApproveRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_context_patch_auto_approve_rules), '/textql.rpc.public.patches.OntologyManagementService/CreateContextPatchAutoApproveRule': Endpoint.unary(method=MethodInfo(name='CreateContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateContextPatchAutoApproveRuleRequest, output=public_dot_patches__pb2.CreateContextPatchAutoApproveRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_context_patch_auto_approve_rule), '/textql.rpc.public.patches.OntologyManagementService/UpdateContextPatchAutoApproveRule': Endpoint.unary(method=MethodInfo(name='UpdateContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleRequest, output=public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_context_patch_auto_approve_rule), '/textql.rpc.public.patches.OntologyManagementService/DeleteContextPatchAutoApproveRule': Endpoint.unary(method=MethodInfo(name='DeleteContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteContextPatchAutoApproveRuleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_context_patch_auto_approve_rule), '/textql.rpc.public.patches.OntologyManagementService/ListApprovalRules': Endpoint.unary(method=MethodInfo(name='ListApprovalRules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListApprovalRulesRequest, output=public_dot_patches__pb2.ListApprovalRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_approval_rules), '/textql.rpc.public.patches.OntologyManagementService/CreateApprovalRule': Endpoint.unary(method=MethodInfo(name='CreateApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateApprovalRuleRequest, output=public_dot_patches__pb2.CreateApprovalRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_approval_rule), '/textql.rpc.public.patches.OntologyManagementService/UpdateApprovalRule': Endpoint.unary(method=MethodInfo(name='UpdateApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateApprovalRuleRequest, output=public_dot_patches__pb2.UpdateApprovalRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_approval_rule), '/textql.rpc.public.patches.OntologyManagementService/DeleteApprovalRule': Endpoint.unary(method=MethodInfo(name='DeleteApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteApprovalRuleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_approval_rule), '/textql.rpc.public.patches.OntologyManagementService/GetFileUsage': Endpoint.unary(method=MethodInfo(name='GetFileUsage', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetFileUsageRequest, output=public_dot_patches__pb2.GetFileUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_file_usage), '/textql.rpc.public.patches.OntologyManagementService/GetUsageDetailsForFile': Endpoint.unary(method=MethodInfo(name='GetUsageDetailsForFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetUsageDetailsForFileRequest, output=public_dot_patches__pb2.GetUsageDetailsForFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_usage_details_for_file), '/textql.rpc.public.patches.OntologyManagementService/ListChatsForFile': Endpoint.unary(method=MethodInfo(name='ListChatsForFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListChatsForFileRequest, output=public_dot_patches__pb2.ListChatsForFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_chats_for_file), '/textql.rpc.public.patches.OntologyManagementService/GetFileUsageTimeline': Endpoint.unary(method=MethodInfo(name='GetFileUsageTimeline', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetFileUsageTimelineRequest, output=public_dot_patches__pb2.GetFileUsageTimelineResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_file_usage_timeline), '/textql.rpc.public.patches.OntologyManagementService/GetOntologySizeTimeline': Endpoint.unary(method=MethodInfo(name='GetOntologySizeTimeline', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologySizeTimelineRequest, output=public_dot_patches__pb2.GetOntologySizeTimelineResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_size_timeline), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyUsageSummary': Endpoint.unary(method=MethodInfo(name='GetOntologyUsageSummary', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyUsageSummaryRequest, output=public_dot_patches__pb2.GetOntologyUsageSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_ontology_usage_summary), '/textql.rpc.public.patches.OntologyManagementService/ListOntologyFiles': Endpoint.unary(method=MethodInfo(name='ListOntologyFiles', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyFilesRequest, output=public_dot_patches__pb2.ListOntologyFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_ontology_files)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.patches.OntologyManagementService' + +class OntologyManagementServiceClient(ConnectClient): + + async def list_patches(self, request: public_dot_patches__pb2.ListPatchesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListPatchesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPatches', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListPatchesRequest, output=public_dot_patches__pb2.ListPatchesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_patch(self, request: public_dot_patches__pb2.GetPatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.Patch: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchRequest, output=public_dot_patches__pb2.Patch, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_patch_by_number(self, request: public_dot_patches__pb2.GetPatchByNumberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.Patch: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPatchByNumber', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchByNumberRequest, output=public_dot_patches__pb2.Patch, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_raw_patch(self, request: public_dot_patches__pb2.GetRawPatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetRawPatchResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetRawPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetRawPatchRequest, output=public_dot_patches__pb2.GetRawPatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def validate_config(self, request: public_dot_patches__pb2.ValidateConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ValidateConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ValidateConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ValidateConfigRequest, output=public_dot_patches__pb2.ValidateConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def approve_patch(self, request: public_dot_patches__pb2.ApprovePatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.ApprovePatchResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ApprovePatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ApprovePatchRequest, output=public_dot_patches__pb2.ApprovePatchResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def request_patch_review(self, request: public_dot_patches__pb2.RequestPatchReviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.RequestPatchReviewResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RequestPatchReview', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RequestPatchReviewRequest, output=public_dot_patches__pb2.RequestPatchReviewResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_patch_reviewers(self, request: public_dot_patches__pb2.ListPatchReviewersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListPatchReviewersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPatchReviewers', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListPatchReviewersRequest, output=public_dot_patches__pb2.ListPatchReviewersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def deny_patch(self, request: public_dot_patches__pb2.DenyPatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DenyPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DenyPatchRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def restore_patch(self, request: public_dot_patches__pb2.RestorePatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='RestorePatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RestorePatchRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def revert_patch(self, request: public_dot_patches__pb2.RevertPatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.RevertPatchResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevertPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RevertPatchRequest, output=public_dot_patches__pb2.RevertPatchResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def save_object_as_config(self, request: public_dot_patches__pb2.SaveObjectAsConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.SaveObjectAsConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SaveObjectAsConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SaveObjectAsConfigRequest, output=public_dot_patches__pb2.SaveObjectAsConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def save_all_objects_as_config(self, request: public_dot_patches__pb2.SaveAllObjectsAsConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.SaveAllObjectsAsConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SaveAllObjectsAsConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SaveAllObjectsAsConfigRequest, output=public_dot_patches__pb2.SaveAllObjectsAsConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_config_export_capabilities(self, request: public_dot_patches__pb2.GetConfigExportCapabilitiesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetConfigExportCapabilitiesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConfigExportCapabilities', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetConfigExportCapabilitiesRequest, output=public_dot_patches__pb2.GetConfigExportCapabilitiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_patch_capabilities(self, request: public_dot_patches__pb2.GetPatchCapabilitiesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetPatchCapabilitiesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPatchCapabilities', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchCapabilitiesRequest, output=public_dot_patches__pb2.GetPatchCapabilitiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_ontology_entries(self, request: public_dot_patches__pb2.ListOntologyEntriesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologyEntriesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOntologyEntries', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyEntriesRequest, output=public_dot_patches__pb2.ListOntologyEntriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontology_file(self, request: public_dot_patches__pb2.GetOntologyFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyFileResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyFileRequest, output=public_dot_patches__pb2.GetOntologyFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_ontology_file_upload_url(self, request: public_dot_patches__pb2.CreateOntologyFileUploadUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.CreateOntologyFileUploadUrlResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateOntologyFileUploadUrl', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateOntologyFileUploadUrlRequest, output=public_dot_patches__pb2.CreateOntologyFileUploadUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def finalize_ontology_file_upload(self, request: public_dot_patches__pb2.FinalizeOntologyFileUploadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.FinalizeOntologyFileUploadResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='FinalizeOntologyFileUpload', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.FinalizeOntologyFileUploadRequest, output=public_dot_patches__pb2.FinalizeOntologyFileUploadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_ontology_history(self, request: public_dot_patches__pb2.ListOntologyHistoryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologyHistoryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOntologyHistory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyHistoryRequest, output=public_dot_patches__pb2.ListOntologyHistoryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontology_history_file_diff(self, request: public_dot_patches__pb2.GetOntologyHistoryFileDiffRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyHistoryFileDiffResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyHistoryFileDiff', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyHistoryFileDiffRequest, output=public_dot_patches__pb2.GetOntologyHistoryFileDiffResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def upsert_ontology_file(self, request: public_dot_patches__pb2.UpsertOntologyFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpsertOntologyFileResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpsertOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyFileRequest, output=public_dot_patches__pb2.UpsertOntologyFileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_ontology_directory(self, request: public_dot_patches__pb2.CreateOntologyDirectoryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.CreateOntologyDirectoryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateOntologyDirectory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateOntologyDirectoryRequest, output=public_dot_patches__pb2.CreateOntologyDirectoryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_ontology_directory(self, request: public_dot_patches__pb2.DeleteOntologyDirectoryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOntologyDirectory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyDirectoryRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def rename_ontology_file(self, request: public_dot_patches__pb2.RenameOntologyFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.RenameOntologyFileResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RenameOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RenameOntologyFileRequest, output=public_dot_patches__pb2.RenameOntologyFileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_ontology_file(self, request: public_dot_patches__pb2.DeleteOntologyFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyFileRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_ontology_owners(self, request: public_dot_patches__pb2.GetOntologyOwnersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyOwnersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyOwnersRequest, output=public_dot_patches__pb2.GetOntologyOwnersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_effective_ontology_owners(self, request: public_dot_patches__pb2.GetEffectiveOntologyOwnersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetEffectiveOntologyOwnersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetEffectiveOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetEffectiveOntologyOwnersRequest, output=public_dot_patches__pb2.GetEffectiveOntologyOwnersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def upsert_ontology_owners(self, request: public_dot_patches__pb2.UpsertOntologyOwnersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpsertOntologyOwnersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpsertOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyOwnersRequest, output=public_dot_patches__pb2.UpsertOntologyOwnersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_ontology_owners(self, request: public_dot_patches__pb2.DeleteOntologyOwnersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyOwnersRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_ontology_ana_config(self, request: public_dot_patches__pb2.GetOntologyAnaConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyAnaConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyAnaConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyAnaConfigRequest, output=public_dot_patches__pb2.GetOntologyAnaConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def upsert_ontology_ana_config(self, request: public_dot_patches__pb2.UpsertOntologyAnaConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpsertOntologyAnaConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpsertOntologyAnaConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyAnaConfigRequest, output=public_dot_patches__pb2.UpsertOntologyAnaConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def set_ontology_file_golden(self, request: public_dot_patches__pb2.SetOntologyFileGoldenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.SetOntologyFileGoldenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetOntologyFileGolden', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SetOntologyFileGoldenRequest, output=public_dot_patches__pb2.SetOntologyFileGoldenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_golden_files(self, request: public_dot_patches__pb2.ListGoldenFilesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListGoldenFilesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListGoldenFiles', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListGoldenFilesRequest, output=public_dot_patches__pb2.ListGoldenFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_codeowner_coverage(self, request: public_dot_patches__pb2.GetCodeownerCoverageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetCodeownerCoverageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCodeownerCoverage', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetCodeownerCoverageRequest, output=public_dot_patches__pb2.GetCodeownerCoverageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_skills(self, request: public_dot_patches__pb2.ListSkillsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListSkillsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSkills', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListSkillsRequest, output=public_dot_patches__pb2.ListSkillsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontology_remote(self, request: public_dot_patches__pb2.GetOntologyRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyRemoteResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyRemoteRequest, output=public_dot_patches__pb2.GetOntologyRemoteResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def configure_ontology_remote(self, request: public_dot_patches__pb2.ConfigureOntologyRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.ConfigureOntologyRemoteResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ConfigureOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ConfigureOntologyRemoteRequest, output=public_dot_patches__pb2.ConfigureOntologyRemoteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_ontology_github_o_auth_u_r_l(self, request: public_dot_patches__pb2.GetOntologyGithubOAuthURLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.GetOntologyGithubOAuthURLResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyGithubOAuthURL', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyGithubOAuthURLRequest, output=public_dot_patches__pb2.GetOntologyGithubOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_ontology_github_code(self, request: public_dot_patches__pb2.ExchangeOntologyGithubCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.ExchangeOntologyGithubCodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeOntologyGithubCode', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ExchangeOntologyGithubCodeRequest, output=public_dot_patches__pb2.ExchangeOntologyGithubCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_ontology_remote(self, request: public_dot_patches__pb2.RemoveOntologyRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RemoveOntologyRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def push_ontology_to_remote(self, request: public_dot_patches__pb2.PushOntologyToRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='PushOntologyToRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PushOntologyToRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def pull_ontology_from_remote(self, request: public_dot_patches__pb2.PullOntologyFromRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='PullOntologyFromRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PullOntologyFromRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def trigger_config_drift_reconcile(self, request: public_dot_patches__pb2.TriggerConfigDriftReconcileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.TriggerConfigDriftReconcileResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TriggerConfigDriftReconcile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.TriggerConfigDriftReconcileRequest, output=public_dot_patches__pb2.TriggerConfigDriftReconcileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def preview_ontology_pull_from_remote(self, request: public_dot_patches__pb2.PreviewOntologyPullFromRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.PreviewOntologyPullFromRemoteResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PreviewOntologyPullFromRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PreviewOntologyPullFromRemoteRequest, output=public_dot_patches__pb2.PreviewOntologyPullFromRemoteResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def recover_ontology(self, request: public_dot_patches__pb2.RecoverOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='RecoverOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RecoverOntologyRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_ontology_sync_config(self, request: public_dot_patches__pb2.UpdateOntologySyncConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpdateOntologySyncConfigResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOntologySyncConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateOntologySyncConfigRequest, output=public_dot_patches__pb2.UpdateOntologySyncConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_ontology_sync_runs(self, request: public_dot_patches__pb2.ListOntologySyncRunsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologySyncRunsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOntologySyncRuns', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologySyncRunsRequest, output=public_dot_patches__pb2.ListOntologySyncRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontology_sync_conflicts(self, request: public_dot_patches__pb2.GetOntologySyncConflictsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologySyncConflictsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologySyncConflicts', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologySyncConflictsRequest, output=public_dot_patches__pb2.GetOntologySyncConflictsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def resolve_ontology_sync_conflict(self, request: public_dot_patches__pb2.ResolveOntologySyncConflictRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='ResolveOntologySyncConflict', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ResolveOntologySyncConflictRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def migrate_legacy_context_to_ontology(self, request: public_dot_patches__pb2.MigrateLegacyContextToOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.MigrateLegacyContextToOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MigrateLegacyContextToOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.MigrateLegacyContextToOntologyRequest, output=public_dot_patches__pb2.MigrateLegacyContextToOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def migrate_old_ontology_to_new_ontology(self, request: public_dot_patches__pb2.MigrateOntologyToOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.MigrateOntologyToOntologyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MigrateOldOntologyToNewOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.MigrateOntologyToOntologyRequest, output=public_dot_patches__pb2.MigrateOntologyToOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_ontology_migration_status(self, request: public_dot_patches__pb2.GetOntologyMigrationStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyMigrationStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyMigrationStatus', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyMigrationStatusRequest, output=public_dot_patches__pb2.GetOntologyMigrationStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def plan_ontology_merge(self, request: public_dot_patches__pb2.PlanOntologyMergeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.PlanOntologyMergeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PlanOntologyMerge', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PlanOntologyMergeRequest, output=public_dot_patches__pb2.PlanOntologyMergeResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def add_ontology_submodule(self, request: public_dot_patches__pb2.AddOntologySubmoduleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.AddOntologySubmoduleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AddOntologySubmodule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.AddOntologySubmoduleRequest, output=public_dot_patches__pb2.AddOntologySubmoduleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_ontology_submodule(self, request: public_dot_patches__pb2.RemoveOntologySubmoduleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveOntologySubmodule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RemoveOntologySubmoduleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_ontology_submodules(self, request: public_dot_patches__pb2.ListOntologySubmodulesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologySubmodulesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOntologySubmodules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologySubmodulesRequest, output=public_dot_patches__pb2.ListOntologySubmodulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_ontology_imports(self, request: public_dot_patches__pb2.ListOntologyImportsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologyImportsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOntologyImports', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyImportsRequest, output=public_dot_patches__pb2.ListOntologyImportsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_context_patch_auto_approve_rules(self, request: public_dot_patches__pb2.ListContextPatchAutoApproveRulesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListContextPatchAutoApproveRulesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListContextPatchAutoApproveRules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListContextPatchAutoApproveRulesRequest, output=public_dot_patches__pb2.ListContextPatchAutoApproveRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.CreateContextPatchAutoApproveRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.CreateContextPatchAutoApproveRuleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateContextPatchAutoApproveRuleRequest, output=public_dot_patches__pb2.CreateContextPatchAutoApproveRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleRequest, output=public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.DeleteContextPatchAutoApproveRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteContextPatchAutoApproveRuleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_approval_rules(self, request: public_dot_patches__pb2.ListApprovalRulesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListApprovalRulesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListApprovalRules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListApprovalRulesRequest, output=public_dot_patches__pb2.ListApprovalRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_approval_rule(self, request: public_dot_patches__pb2.CreateApprovalRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.CreateApprovalRuleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateApprovalRuleRequest, output=public_dot_patches__pb2.CreateApprovalRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_approval_rule(self, request: public_dot_patches__pb2.UpdateApprovalRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpdateApprovalRuleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateApprovalRuleRequest, output=public_dot_patches__pb2.UpdateApprovalRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_approval_rule(self, request: public_dot_patches__pb2.DeleteApprovalRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteApprovalRuleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_file_usage(self, request: public_dot_patches__pb2.GetFileUsageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetFileUsageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetFileUsage', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetFileUsageRequest, output=public_dot_patches__pb2.GetFileUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_usage_details_for_file(self, request: public_dot_patches__pb2.GetUsageDetailsForFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetUsageDetailsForFileResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetUsageDetailsForFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetUsageDetailsForFileRequest, output=public_dot_patches__pb2.GetUsageDetailsForFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_chats_for_file(self, request: public_dot_patches__pb2.ListChatsForFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListChatsForFileResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListChatsForFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListChatsForFileRequest, output=public_dot_patches__pb2.ListChatsForFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_file_usage_timeline(self, request: public_dot_patches__pb2.GetFileUsageTimelineRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetFileUsageTimelineResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetFileUsageTimeline', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetFileUsageTimelineRequest, output=public_dot_patches__pb2.GetFileUsageTimelineResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontology_size_timeline(self, request: public_dot_patches__pb2.GetOntologySizeTimelineRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologySizeTimelineResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologySizeTimeline', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologySizeTimelineRequest, output=public_dot_patches__pb2.GetOntologySizeTimelineResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_ontology_usage_summary(self, request: public_dot_patches__pb2.GetOntologyUsageSummaryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyUsageSummaryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetOntologyUsageSummary', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyUsageSummaryRequest, output=public_dot_patches__pb2.GetOntologyUsageSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_ontology_files(self, request: public_dot_patches__pb2.ListOntologyFilesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologyFilesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOntologyFiles', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyFilesRequest, output=public_dot_patches__pb2.ListOntologyFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class OntologyManagementServiceSync(Protocol): + + def list_patches(self, request: public_dot_patches__pb2.ListPatchesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListPatchesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_patch(self, request: public_dot_patches__pb2.GetPatchRequest, ctx: RequestContext) -> public_dot_patches__pb2.Patch: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_patch_by_number(self, request: public_dot_patches__pb2.GetPatchByNumberRequest, ctx: RequestContext) -> public_dot_patches__pb2.Patch: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_raw_patch(self, request: public_dot_patches__pb2.GetRawPatchRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetRawPatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def validate_config(self, request: public_dot_patches__pb2.ValidateConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.ValidateConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def approve_patch(self, request: public_dot_patches__pb2.ApprovePatchRequest, ctx: RequestContext) -> public_dot_patches__pb2.ApprovePatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def request_patch_review(self, request: public_dot_patches__pb2.RequestPatchReviewRequest, ctx: RequestContext) -> public_dot_patches__pb2.RequestPatchReviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_patch_reviewers(self, request: public_dot_patches__pb2.ListPatchReviewersRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListPatchReviewersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def deny_patch(self, request: public_dot_patches__pb2.DenyPatchRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def restore_patch(self, request: public_dot_patches__pb2.RestorePatchRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revert_patch(self, request: public_dot_patches__pb2.RevertPatchRequest, ctx: RequestContext) -> public_dot_patches__pb2.RevertPatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def save_object_as_config(self, request: public_dot_patches__pb2.SaveObjectAsConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.SaveObjectAsConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def save_all_objects_as_config(self, request: public_dot_patches__pb2.SaveAllObjectsAsConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.SaveAllObjectsAsConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_config_export_capabilities(self, request: public_dot_patches__pb2.GetConfigExportCapabilitiesRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetConfigExportCapabilitiesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_patch_capabilities(self, request: public_dot_patches__pb2.GetPatchCapabilitiesRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetPatchCapabilitiesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_ontology_entries(self, request: public_dot_patches__pb2.ListOntologyEntriesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologyEntriesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_file(self, request: public_dot_patches__pb2.GetOntologyFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_ontology_file_upload_url(self, request: public_dot_patches__pb2.CreateOntologyFileUploadUrlRequest, ctx: RequestContext) -> public_dot_patches__pb2.CreateOntologyFileUploadUrlResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def finalize_ontology_file_upload(self, request: public_dot_patches__pb2.FinalizeOntologyFileUploadRequest, ctx: RequestContext) -> public_dot_patches__pb2.FinalizeOntologyFileUploadResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_ontology_history(self, request: public_dot_patches__pb2.ListOntologyHistoryRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologyHistoryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_history_file_diff(self, request: public_dot_patches__pb2.GetOntologyHistoryFileDiffRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyHistoryFileDiffResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upsert_ontology_file(self, request: public_dot_patches__pb2.UpsertOntologyFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpsertOntologyFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_ontology_directory(self, request: public_dot_patches__pb2.CreateOntologyDirectoryRequest, ctx: RequestContext) -> public_dot_patches__pb2.CreateOntologyDirectoryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_ontology_directory(self, request: public_dot_patches__pb2.DeleteOntologyDirectoryRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def rename_ontology_file(self, request: public_dot_patches__pb2.RenameOntologyFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.RenameOntologyFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_ontology_file(self, request: public_dot_patches__pb2.DeleteOntologyFileRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_owners(self, request: public_dot_patches__pb2.GetOntologyOwnersRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyOwnersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_effective_ontology_owners(self, request: public_dot_patches__pb2.GetEffectiveOntologyOwnersRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetEffectiveOntologyOwnersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upsert_ontology_owners(self, request: public_dot_patches__pb2.UpsertOntologyOwnersRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpsertOntologyOwnersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_ontology_owners(self, request: public_dot_patches__pb2.DeleteOntologyOwnersRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_ana_config(self, request: public_dot_patches__pb2.GetOntologyAnaConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyAnaConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upsert_ontology_ana_config(self, request: public_dot_patches__pb2.UpsertOntologyAnaConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpsertOntologyAnaConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_ontology_file_golden(self, request: public_dot_patches__pb2.SetOntologyFileGoldenRequest, ctx: RequestContext) -> public_dot_patches__pb2.SetOntologyFileGoldenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_golden_files(self, request: public_dot_patches__pb2.ListGoldenFilesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListGoldenFilesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_codeowner_coverage(self, request: public_dot_patches__pb2.GetCodeownerCoverageRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetCodeownerCoverageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_skills(self, request: public_dot_patches__pb2.ListSkillsRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListSkillsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_remote(self, request: public_dot_patches__pb2.GetOntologyRemoteRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyRemoteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def configure_ontology_remote(self, request: public_dot_patches__pb2.ConfigureOntologyRemoteRequest, ctx: RequestContext) -> public_dot_patches__pb2.ConfigureOntologyRemoteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_github_o_auth_u_r_l(self, request: public_dot_patches__pb2.GetOntologyGithubOAuthURLRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyGithubOAuthURLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_ontology_github_code(self, request: public_dot_patches__pb2.ExchangeOntologyGithubCodeRequest, ctx: RequestContext) -> public_dot_patches__pb2.ExchangeOntologyGithubCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_ontology_remote(self, request: public_dot_patches__pb2.RemoveOntologyRemoteRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def push_ontology_to_remote(self, request: public_dot_patches__pb2.PushOntologyToRemoteRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def pull_ontology_from_remote(self, request: public_dot_patches__pb2.PullOntologyFromRemoteRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def trigger_config_drift_reconcile(self, request: public_dot_patches__pb2.TriggerConfigDriftReconcileRequest, ctx: RequestContext) -> public_dot_patches__pb2.TriggerConfigDriftReconcileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def preview_ontology_pull_from_remote(self, request: public_dot_patches__pb2.PreviewOntologyPullFromRemoteRequest, ctx: RequestContext) -> public_dot_patches__pb2.PreviewOntologyPullFromRemoteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def recover_ontology(self, request: public_dot_patches__pb2.RecoverOntologyRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_ontology_sync_config(self, request: public_dot_patches__pb2.UpdateOntologySyncConfigRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpdateOntologySyncConfigResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_ontology_sync_runs(self, request: public_dot_patches__pb2.ListOntologySyncRunsRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologySyncRunsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_sync_conflicts(self, request: public_dot_patches__pb2.GetOntologySyncConflictsRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologySyncConflictsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def resolve_ontology_sync_conflict(self, request: public_dot_patches__pb2.ResolveOntologySyncConflictRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def migrate_legacy_context_to_ontology(self, request: public_dot_patches__pb2.MigrateLegacyContextToOntologyRequest, ctx: RequestContext) -> public_dot_patches__pb2.MigrateLegacyContextToOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def migrate_old_ontology_to_new_ontology(self, request: public_dot_patches__pb2.MigrateOntologyToOntologyRequest, ctx: RequestContext) -> public_dot_patches__pb2.MigrateOntologyToOntologyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_migration_status(self, request: public_dot_patches__pb2.GetOntologyMigrationStatusRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyMigrationStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def plan_ontology_merge(self, request: public_dot_patches__pb2.PlanOntologyMergeRequest, ctx: RequestContext) -> public_dot_patches__pb2.PlanOntologyMergeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def add_ontology_submodule(self, request: public_dot_patches__pb2.AddOntologySubmoduleRequest, ctx: RequestContext) -> public_dot_patches__pb2.AddOntologySubmoduleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_ontology_submodule(self, request: public_dot_patches__pb2.RemoveOntologySubmoduleRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_ontology_submodules(self, request: public_dot_patches__pb2.ListOntologySubmodulesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologySubmodulesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_ontology_imports(self, request: public_dot_patches__pb2.ListOntologyImportsRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologyImportsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_context_patch_auto_approve_rules(self, request: public_dot_patches__pb2.ListContextPatchAutoApproveRulesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListContextPatchAutoApproveRulesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.CreateContextPatchAutoApproveRuleRequest, ctx: RequestContext) -> public_dot_patches__pb2.CreateContextPatchAutoApproveRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.DeleteContextPatchAutoApproveRuleRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_approval_rules(self, request: public_dot_patches__pb2.ListApprovalRulesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListApprovalRulesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_approval_rule(self, request: public_dot_patches__pb2.CreateApprovalRuleRequest, ctx: RequestContext) -> public_dot_patches__pb2.CreateApprovalRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_approval_rule(self, request: public_dot_patches__pb2.UpdateApprovalRuleRequest, ctx: RequestContext) -> public_dot_patches__pb2.UpdateApprovalRuleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_approval_rule(self, request: public_dot_patches__pb2.DeleteApprovalRuleRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_file_usage(self, request: public_dot_patches__pb2.GetFileUsageRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetFileUsageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_usage_details_for_file(self, request: public_dot_patches__pb2.GetUsageDetailsForFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetUsageDetailsForFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_chats_for_file(self, request: public_dot_patches__pb2.ListChatsForFileRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListChatsForFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_file_usage_timeline(self, request: public_dot_patches__pb2.GetFileUsageTimelineRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetFileUsageTimelineResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_size_timeline(self, request: public_dot_patches__pb2.GetOntologySizeTimelineRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologySizeTimelineResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_ontology_usage_summary(self, request: public_dot_patches__pb2.GetOntologyUsageSummaryRequest, ctx: RequestContext) -> public_dot_patches__pb2.GetOntologyUsageSummaryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_ontology_files(self, request: public_dot_patches__pb2.ListOntologyFilesRequest, ctx: RequestContext) -> public_dot_patches__pb2.ListOntologyFilesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class OntologyManagementServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: OntologyManagementServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.patches.OntologyManagementService/ListPatches': EndpointSync.unary(method=MethodInfo(name='ListPatches', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListPatchesRequest, output=public_dot_patches__pb2.ListPatchesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_patches), '/textql.rpc.public.patches.OntologyManagementService/GetPatch': EndpointSync.unary(method=MethodInfo(name='GetPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchRequest, output=public_dot_patches__pb2.Patch, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_patch), '/textql.rpc.public.patches.OntologyManagementService/GetPatchByNumber': EndpointSync.unary(method=MethodInfo(name='GetPatchByNumber', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchByNumberRequest, output=public_dot_patches__pb2.Patch, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_patch_by_number), '/textql.rpc.public.patches.OntologyManagementService/GetRawPatch': EndpointSync.unary(method=MethodInfo(name='GetRawPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetRawPatchRequest, output=public_dot_patches__pb2.GetRawPatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_raw_patch), '/textql.rpc.public.patches.OntologyManagementService/ValidateConfig': EndpointSync.unary(method=MethodInfo(name='ValidateConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ValidateConfigRequest, output=public_dot_patches__pb2.ValidateConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.validate_config), '/textql.rpc.public.patches.OntologyManagementService/ApprovePatch': EndpointSync.unary(method=MethodInfo(name='ApprovePatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ApprovePatchRequest, output=public_dot_patches__pb2.ApprovePatchResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.approve_patch), '/textql.rpc.public.patches.OntologyManagementService/RequestPatchReview': EndpointSync.unary(method=MethodInfo(name='RequestPatchReview', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RequestPatchReviewRequest, output=public_dot_patches__pb2.RequestPatchReviewResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.request_patch_review), '/textql.rpc.public.patches.OntologyManagementService/ListPatchReviewers': EndpointSync.unary(method=MethodInfo(name='ListPatchReviewers', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListPatchReviewersRequest, output=public_dot_patches__pb2.ListPatchReviewersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_patch_reviewers), '/textql.rpc.public.patches.OntologyManagementService/DenyPatch': EndpointSync.unary(method=MethodInfo(name='DenyPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DenyPatchRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.deny_patch), '/textql.rpc.public.patches.OntologyManagementService/RestorePatch': EndpointSync.unary(method=MethodInfo(name='RestorePatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RestorePatchRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.restore_patch), '/textql.rpc.public.patches.OntologyManagementService/RevertPatch': EndpointSync.unary(method=MethodInfo(name='RevertPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RevertPatchRequest, output=public_dot_patches__pb2.RevertPatchResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revert_patch), '/textql.rpc.public.patches.OntologyManagementService/SaveObjectAsConfig': EndpointSync.unary(method=MethodInfo(name='SaveObjectAsConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SaveObjectAsConfigRequest, output=public_dot_patches__pb2.SaveObjectAsConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.save_object_as_config), '/textql.rpc.public.patches.OntologyManagementService/SaveAllObjectsAsConfig': EndpointSync.unary(method=MethodInfo(name='SaveAllObjectsAsConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SaveAllObjectsAsConfigRequest, output=public_dot_patches__pb2.SaveAllObjectsAsConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.save_all_objects_as_config), '/textql.rpc.public.patches.OntologyManagementService/GetConfigExportCapabilities': EndpointSync.unary(method=MethodInfo(name='GetConfigExportCapabilities', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetConfigExportCapabilitiesRequest, output=public_dot_patches__pb2.GetConfigExportCapabilitiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_config_export_capabilities), '/textql.rpc.public.patches.OntologyManagementService/GetPatchCapabilities': EndpointSync.unary(method=MethodInfo(name='GetPatchCapabilities', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchCapabilitiesRequest, output=public_dot_patches__pb2.GetPatchCapabilitiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_patch_capabilities), '/textql.rpc.public.patches.OntologyManagementService/ListOntologyEntries': EndpointSync.unary(method=MethodInfo(name='ListOntologyEntries', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyEntriesRequest, output=public_dot_patches__pb2.ListOntologyEntriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_ontology_entries), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyFile': EndpointSync.unary(method=MethodInfo(name='GetOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyFileRequest, output=public_dot_patches__pb2.GetOntologyFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_file), '/textql.rpc.public.patches.OntologyManagementService/CreateOntologyFileUploadUrl': EndpointSync.unary(method=MethodInfo(name='CreateOntologyFileUploadUrl', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateOntologyFileUploadUrlRequest, output=public_dot_patches__pb2.CreateOntologyFileUploadUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_ontology_file_upload_url), '/textql.rpc.public.patches.OntologyManagementService/FinalizeOntologyFileUpload': EndpointSync.unary(method=MethodInfo(name='FinalizeOntologyFileUpload', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.FinalizeOntologyFileUploadRequest, output=public_dot_patches__pb2.FinalizeOntologyFileUploadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.finalize_ontology_file_upload), '/textql.rpc.public.patches.OntologyManagementService/ListOntologyHistory': EndpointSync.unary(method=MethodInfo(name='ListOntologyHistory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyHistoryRequest, output=public_dot_patches__pb2.ListOntologyHistoryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_ontology_history), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyHistoryFileDiff': EndpointSync.unary(method=MethodInfo(name='GetOntologyHistoryFileDiff', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyHistoryFileDiffRequest, output=public_dot_patches__pb2.GetOntologyHistoryFileDiffResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_history_file_diff), '/textql.rpc.public.patches.OntologyManagementService/UpsertOntologyFile': EndpointSync.unary(method=MethodInfo(name='UpsertOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyFileRequest, output=public_dot_patches__pb2.UpsertOntologyFileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upsert_ontology_file), '/textql.rpc.public.patches.OntologyManagementService/CreateOntologyDirectory': EndpointSync.unary(method=MethodInfo(name='CreateOntologyDirectory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateOntologyDirectoryRequest, output=public_dot_patches__pb2.CreateOntologyDirectoryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_ontology_directory), '/textql.rpc.public.patches.OntologyManagementService/DeleteOntologyDirectory': EndpointSync.unary(method=MethodInfo(name='DeleteOntologyDirectory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyDirectoryRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_ontology_directory), '/textql.rpc.public.patches.OntologyManagementService/RenameOntologyFile': EndpointSync.unary(method=MethodInfo(name='RenameOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RenameOntologyFileRequest, output=public_dot_patches__pb2.RenameOntologyFileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.rename_ontology_file), '/textql.rpc.public.patches.OntologyManagementService/DeleteOntologyFile': EndpointSync.unary(method=MethodInfo(name='DeleteOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyFileRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_ontology_file), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyOwners': EndpointSync.unary(method=MethodInfo(name='GetOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyOwnersRequest, output=public_dot_patches__pb2.GetOntologyOwnersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_owners), '/textql.rpc.public.patches.OntologyManagementService/GetEffectiveOntologyOwners': EndpointSync.unary(method=MethodInfo(name='GetEffectiveOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetEffectiveOntologyOwnersRequest, output=public_dot_patches__pb2.GetEffectiveOntologyOwnersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_effective_ontology_owners), '/textql.rpc.public.patches.OntologyManagementService/UpsertOntologyOwners': EndpointSync.unary(method=MethodInfo(name='UpsertOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyOwnersRequest, output=public_dot_patches__pb2.UpsertOntologyOwnersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upsert_ontology_owners), '/textql.rpc.public.patches.OntologyManagementService/DeleteOntologyOwners': EndpointSync.unary(method=MethodInfo(name='DeleteOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyOwnersRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_ontology_owners), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyAnaConfig': EndpointSync.unary(method=MethodInfo(name='GetOntologyAnaConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyAnaConfigRequest, output=public_dot_patches__pb2.GetOntologyAnaConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_ana_config), '/textql.rpc.public.patches.OntologyManagementService/UpsertOntologyAnaConfig': EndpointSync.unary(method=MethodInfo(name='UpsertOntologyAnaConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyAnaConfigRequest, output=public_dot_patches__pb2.UpsertOntologyAnaConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upsert_ontology_ana_config), '/textql.rpc.public.patches.OntologyManagementService/SetOntologyFileGolden': EndpointSync.unary(method=MethodInfo(name='SetOntologyFileGolden', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SetOntologyFileGoldenRequest, output=public_dot_patches__pb2.SetOntologyFileGoldenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_ontology_file_golden), '/textql.rpc.public.patches.OntologyManagementService/ListGoldenFiles': EndpointSync.unary(method=MethodInfo(name='ListGoldenFiles', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListGoldenFilesRequest, output=public_dot_patches__pb2.ListGoldenFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_golden_files), '/textql.rpc.public.patches.OntologyManagementService/GetCodeownerCoverage': EndpointSync.unary(method=MethodInfo(name='GetCodeownerCoverage', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetCodeownerCoverageRequest, output=public_dot_patches__pb2.GetCodeownerCoverageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_codeowner_coverage), '/textql.rpc.public.patches.OntologyManagementService/ListSkills': EndpointSync.unary(method=MethodInfo(name='ListSkills', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListSkillsRequest, output=public_dot_patches__pb2.ListSkillsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_skills), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyRemote': EndpointSync.unary(method=MethodInfo(name='GetOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyRemoteRequest, output=public_dot_patches__pb2.GetOntologyRemoteResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_remote), '/textql.rpc.public.patches.OntologyManagementService/ConfigureOntologyRemote': EndpointSync.unary(method=MethodInfo(name='ConfigureOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ConfigureOntologyRemoteRequest, output=public_dot_patches__pb2.ConfigureOntologyRemoteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.configure_ontology_remote), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyGithubOAuthURL': EndpointSync.unary(method=MethodInfo(name='GetOntologyGithubOAuthURL', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyGithubOAuthURLRequest, output=public_dot_patches__pb2.GetOntologyGithubOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_ontology_github_o_auth_u_r_l), '/textql.rpc.public.patches.OntologyManagementService/ExchangeOntologyGithubCode': EndpointSync.unary(method=MethodInfo(name='ExchangeOntologyGithubCode', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ExchangeOntologyGithubCodeRequest, output=public_dot_patches__pb2.ExchangeOntologyGithubCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_ontology_github_code), '/textql.rpc.public.patches.OntologyManagementService/RemoveOntologyRemote': EndpointSync.unary(method=MethodInfo(name='RemoveOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RemoveOntologyRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_ontology_remote), '/textql.rpc.public.patches.OntologyManagementService/PushOntologyToRemote': EndpointSync.unary(method=MethodInfo(name='PushOntologyToRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PushOntologyToRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.push_ontology_to_remote), '/textql.rpc.public.patches.OntologyManagementService/PullOntologyFromRemote': EndpointSync.unary(method=MethodInfo(name='PullOntologyFromRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PullOntologyFromRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.pull_ontology_from_remote), '/textql.rpc.public.patches.OntologyManagementService/TriggerConfigDriftReconcile': EndpointSync.unary(method=MethodInfo(name='TriggerConfigDriftReconcile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.TriggerConfigDriftReconcileRequest, output=public_dot_patches__pb2.TriggerConfigDriftReconcileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.trigger_config_drift_reconcile), '/textql.rpc.public.patches.OntologyManagementService/PreviewOntologyPullFromRemote': EndpointSync.unary(method=MethodInfo(name='PreviewOntologyPullFromRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PreviewOntologyPullFromRemoteRequest, output=public_dot_patches__pb2.PreviewOntologyPullFromRemoteResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.preview_ontology_pull_from_remote), '/textql.rpc.public.patches.OntologyManagementService/RecoverOntology': EndpointSync.unary(method=MethodInfo(name='RecoverOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RecoverOntologyRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.recover_ontology), '/textql.rpc.public.patches.OntologyManagementService/UpdateOntologySyncConfig': EndpointSync.unary(method=MethodInfo(name='UpdateOntologySyncConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateOntologySyncConfigRequest, output=public_dot_patches__pb2.UpdateOntologySyncConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_ontology_sync_config), '/textql.rpc.public.patches.OntologyManagementService/ListOntologySyncRuns': EndpointSync.unary(method=MethodInfo(name='ListOntologySyncRuns', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologySyncRunsRequest, output=public_dot_patches__pb2.ListOntologySyncRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_ontology_sync_runs), '/textql.rpc.public.patches.OntologyManagementService/GetOntologySyncConflicts': EndpointSync.unary(method=MethodInfo(name='GetOntologySyncConflicts', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologySyncConflictsRequest, output=public_dot_patches__pb2.GetOntologySyncConflictsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_sync_conflicts), '/textql.rpc.public.patches.OntologyManagementService/ResolveOntologySyncConflict': EndpointSync.unary(method=MethodInfo(name='ResolveOntologySyncConflict', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ResolveOntologySyncConflictRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.resolve_ontology_sync_conflict), '/textql.rpc.public.patches.OntologyManagementService/MigrateLegacyContextToOntology': EndpointSync.unary(method=MethodInfo(name='MigrateLegacyContextToOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.MigrateLegacyContextToOntologyRequest, output=public_dot_patches__pb2.MigrateLegacyContextToOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.migrate_legacy_context_to_ontology), '/textql.rpc.public.patches.OntologyManagementService/MigrateOldOntologyToNewOntology': EndpointSync.unary(method=MethodInfo(name='MigrateOldOntologyToNewOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.MigrateOntologyToOntologyRequest, output=public_dot_patches__pb2.MigrateOntologyToOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.migrate_old_ontology_to_new_ontology), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyMigrationStatus': EndpointSync.unary(method=MethodInfo(name='GetOntologyMigrationStatus', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyMigrationStatusRequest, output=public_dot_patches__pb2.GetOntologyMigrationStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_migration_status), '/textql.rpc.public.patches.OntologyManagementService/PlanOntologyMerge': EndpointSync.unary(method=MethodInfo(name='PlanOntologyMerge', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PlanOntologyMergeRequest, output=public_dot_patches__pb2.PlanOntologyMergeResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.plan_ontology_merge), '/textql.rpc.public.patches.OntologyManagementService/AddOntologySubmodule': EndpointSync.unary(method=MethodInfo(name='AddOntologySubmodule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.AddOntologySubmoduleRequest, output=public_dot_patches__pb2.AddOntologySubmoduleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.add_ontology_submodule), '/textql.rpc.public.patches.OntologyManagementService/RemoveOntologySubmodule': EndpointSync.unary(method=MethodInfo(name='RemoveOntologySubmodule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RemoveOntologySubmoduleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_ontology_submodule), '/textql.rpc.public.patches.OntologyManagementService/ListOntologySubmodules': EndpointSync.unary(method=MethodInfo(name='ListOntologySubmodules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologySubmodulesRequest, output=public_dot_patches__pb2.ListOntologySubmodulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_ontology_submodules), '/textql.rpc.public.patches.OntologyManagementService/ListOntologyImports': EndpointSync.unary(method=MethodInfo(name='ListOntologyImports', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyImportsRequest, output=public_dot_patches__pb2.ListOntologyImportsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_ontology_imports), '/textql.rpc.public.patches.OntologyManagementService/ListContextPatchAutoApproveRules': EndpointSync.unary(method=MethodInfo(name='ListContextPatchAutoApproveRules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListContextPatchAutoApproveRulesRequest, output=public_dot_patches__pb2.ListContextPatchAutoApproveRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_context_patch_auto_approve_rules), '/textql.rpc.public.patches.OntologyManagementService/CreateContextPatchAutoApproveRule': EndpointSync.unary(method=MethodInfo(name='CreateContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateContextPatchAutoApproveRuleRequest, output=public_dot_patches__pb2.CreateContextPatchAutoApproveRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_context_patch_auto_approve_rule), '/textql.rpc.public.patches.OntologyManagementService/UpdateContextPatchAutoApproveRule': EndpointSync.unary(method=MethodInfo(name='UpdateContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleRequest, output=public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_context_patch_auto_approve_rule), '/textql.rpc.public.patches.OntologyManagementService/DeleteContextPatchAutoApproveRule': EndpointSync.unary(method=MethodInfo(name='DeleteContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteContextPatchAutoApproveRuleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_context_patch_auto_approve_rule), '/textql.rpc.public.patches.OntologyManagementService/ListApprovalRules': EndpointSync.unary(method=MethodInfo(name='ListApprovalRules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListApprovalRulesRequest, output=public_dot_patches__pb2.ListApprovalRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_approval_rules), '/textql.rpc.public.patches.OntologyManagementService/CreateApprovalRule': EndpointSync.unary(method=MethodInfo(name='CreateApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateApprovalRuleRequest, output=public_dot_patches__pb2.CreateApprovalRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_approval_rule), '/textql.rpc.public.patches.OntologyManagementService/UpdateApprovalRule': EndpointSync.unary(method=MethodInfo(name='UpdateApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateApprovalRuleRequest, output=public_dot_patches__pb2.UpdateApprovalRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_approval_rule), '/textql.rpc.public.patches.OntologyManagementService/DeleteApprovalRule': EndpointSync.unary(method=MethodInfo(name='DeleteApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteApprovalRuleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_approval_rule), '/textql.rpc.public.patches.OntologyManagementService/GetFileUsage': EndpointSync.unary(method=MethodInfo(name='GetFileUsage', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetFileUsageRequest, output=public_dot_patches__pb2.GetFileUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_file_usage), '/textql.rpc.public.patches.OntologyManagementService/GetUsageDetailsForFile': EndpointSync.unary(method=MethodInfo(name='GetUsageDetailsForFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetUsageDetailsForFileRequest, output=public_dot_patches__pb2.GetUsageDetailsForFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_usage_details_for_file), '/textql.rpc.public.patches.OntologyManagementService/ListChatsForFile': EndpointSync.unary(method=MethodInfo(name='ListChatsForFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListChatsForFileRequest, output=public_dot_patches__pb2.ListChatsForFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_chats_for_file), '/textql.rpc.public.patches.OntologyManagementService/GetFileUsageTimeline': EndpointSync.unary(method=MethodInfo(name='GetFileUsageTimeline', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetFileUsageTimelineRequest, output=public_dot_patches__pb2.GetFileUsageTimelineResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_file_usage_timeline), '/textql.rpc.public.patches.OntologyManagementService/GetOntologySizeTimeline': EndpointSync.unary(method=MethodInfo(name='GetOntologySizeTimeline', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologySizeTimelineRequest, output=public_dot_patches__pb2.GetOntologySizeTimelineResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_size_timeline), '/textql.rpc.public.patches.OntologyManagementService/GetOntologyUsageSummary': EndpointSync.unary(method=MethodInfo(name='GetOntologyUsageSummary', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyUsageSummaryRequest, output=public_dot_patches__pb2.GetOntologyUsageSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_ontology_usage_summary), '/textql.rpc.public.patches.OntologyManagementService/ListOntologyFiles': EndpointSync.unary(method=MethodInfo(name='ListOntologyFiles', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyFilesRequest, output=public_dot_patches__pb2.ListOntologyFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_ontology_files)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.patches.OntologyManagementService' + +class OntologyManagementServiceClientSync(ConnectClientSync): + + def list_patches(self, request: public_dot_patches__pb2.ListPatchesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListPatchesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPatches', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListPatchesRequest, output=public_dot_patches__pb2.ListPatchesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_patch(self, request: public_dot_patches__pb2.GetPatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.Patch: + return self.execute_unary(request=request, method=MethodInfo(name='GetPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchRequest, output=public_dot_patches__pb2.Patch, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_patch_by_number(self, request: public_dot_patches__pb2.GetPatchByNumberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.Patch: + return self.execute_unary(request=request, method=MethodInfo(name='GetPatchByNumber', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchByNumberRequest, output=public_dot_patches__pb2.Patch, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_raw_patch(self, request: public_dot_patches__pb2.GetRawPatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetRawPatchResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetRawPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetRawPatchRequest, output=public_dot_patches__pb2.GetRawPatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def validate_config(self, request: public_dot_patches__pb2.ValidateConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ValidateConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ValidateConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ValidateConfigRequest, output=public_dot_patches__pb2.ValidateConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def approve_patch(self, request: public_dot_patches__pb2.ApprovePatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.ApprovePatchResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ApprovePatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ApprovePatchRequest, output=public_dot_patches__pb2.ApprovePatchResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def request_patch_review(self, request: public_dot_patches__pb2.RequestPatchReviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.RequestPatchReviewResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RequestPatchReview', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RequestPatchReviewRequest, output=public_dot_patches__pb2.RequestPatchReviewResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_patch_reviewers(self, request: public_dot_patches__pb2.ListPatchReviewersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListPatchReviewersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPatchReviewers', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListPatchReviewersRequest, output=public_dot_patches__pb2.ListPatchReviewersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def deny_patch(self, request: public_dot_patches__pb2.DenyPatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DenyPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DenyPatchRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def restore_patch(self, request: public_dot_patches__pb2.RestorePatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='RestorePatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RestorePatchRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def revert_patch(self, request: public_dot_patches__pb2.RevertPatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.RevertPatchResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevertPatch', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RevertPatchRequest, output=public_dot_patches__pb2.RevertPatchResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def save_object_as_config(self, request: public_dot_patches__pb2.SaveObjectAsConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.SaveObjectAsConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SaveObjectAsConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SaveObjectAsConfigRequest, output=public_dot_patches__pb2.SaveObjectAsConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def save_all_objects_as_config(self, request: public_dot_patches__pb2.SaveAllObjectsAsConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.SaveAllObjectsAsConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SaveAllObjectsAsConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SaveAllObjectsAsConfigRequest, output=public_dot_patches__pb2.SaveAllObjectsAsConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_config_export_capabilities(self, request: public_dot_patches__pb2.GetConfigExportCapabilitiesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetConfigExportCapabilitiesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConfigExportCapabilities', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetConfigExportCapabilitiesRequest, output=public_dot_patches__pb2.GetConfigExportCapabilitiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_patch_capabilities(self, request: public_dot_patches__pb2.GetPatchCapabilitiesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetPatchCapabilitiesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPatchCapabilities', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetPatchCapabilitiesRequest, output=public_dot_patches__pb2.GetPatchCapabilitiesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_ontology_entries(self, request: public_dot_patches__pb2.ListOntologyEntriesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologyEntriesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOntologyEntries', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyEntriesRequest, output=public_dot_patches__pb2.ListOntologyEntriesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontology_file(self, request: public_dot_patches__pb2.GetOntologyFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyFileResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyFileRequest, output=public_dot_patches__pb2.GetOntologyFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_ontology_file_upload_url(self, request: public_dot_patches__pb2.CreateOntologyFileUploadUrlRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.CreateOntologyFileUploadUrlResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateOntologyFileUploadUrl', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateOntologyFileUploadUrlRequest, output=public_dot_patches__pb2.CreateOntologyFileUploadUrlResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def finalize_ontology_file_upload(self, request: public_dot_patches__pb2.FinalizeOntologyFileUploadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.FinalizeOntologyFileUploadResponse: + return self.execute_unary(request=request, method=MethodInfo(name='FinalizeOntologyFileUpload', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.FinalizeOntologyFileUploadRequest, output=public_dot_patches__pb2.FinalizeOntologyFileUploadResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_ontology_history(self, request: public_dot_patches__pb2.ListOntologyHistoryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologyHistoryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOntologyHistory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyHistoryRequest, output=public_dot_patches__pb2.ListOntologyHistoryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontology_history_file_diff(self, request: public_dot_patches__pb2.GetOntologyHistoryFileDiffRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyHistoryFileDiffResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyHistoryFileDiff', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyHistoryFileDiffRequest, output=public_dot_patches__pb2.GetOntologyHistoryFileDiffResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def upsert_ontology_file(self, request: public_dot_patches__pb2.UpsertOntologyFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpsertOntologyFileResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpsertOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyFileRequest, output=public_dot_patches__pb2.UpsertOntologyFileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_ontology_directory(self, request: public_dot_patches__pb2.CreateOntologyDirectoryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.CreateOntologyDirectoryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateOntologyDirectory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateOntologyDirectoryRequest, output=public_dot_patches__pb2.CreateOntologyDirectoryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_ontology_directory(self, request: public_dot_patches__pb2.DeleteOntologyDirectoryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOntologyDirectory', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyDirectoryRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def rename_ontology_file(self, request: public_dot_patches__pb2.RenameOntologyFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.RenameOntologyFileResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RenameOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RenameOntologyFileRequest, output=public_dot_patches__pb2.RenameOntologyFileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_ontology_file(self, request: public_dot_patches__pb2.DeleteOntologyFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOntologyFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyFileRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_ontology_owners(self, request: public_dot_patches__pb2.GetOntologyOwnersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyOwnersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyOwnersRequest, output=public_dot_patches__pb2.GetOntologyOwnersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_effective_ontology_owners(self, request: public_dot_patches__pb2.GetEffectiveOntologyOwnersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetEffectiveOntologyOwnersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetEffectiveOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetEffectiveOntologyOwnersRequest, output=public_dot_patches__pb2.GetEffectiveOntologyOwnersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def upsert_ontology_owners(self, request: public_dot_patches__pb2.UpsertOntologyOwnersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpsertOntologyOwnersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpsertOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyOwnersRequest, output=public_dot_patches__pb2.UpsertOntologyOwnersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_ontology_owners(self, request: public_dot_patches__pb2.DeleteOntologyOwnersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOntologyOwners', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteOntologyOwnersRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_ontology_ana_config(self, request: public_dot_patches__pb2.GetOntologyAnaConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyAnaConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyAnaConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyAnaConfigRequest, output=public_dot_patches__pb2.GetOntologyAnaConfigResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def upsert_ontology_ana_config(self, request: public_dot_patches__pb2.UpsertOntologyAnaConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpsertOntologyAnaConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpsertOntologyAnaConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpsertOntologyAnaConfigRequest, output=public_dot_patches__pb2.UpsertOntologyAnaConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def set_ontology_file_golden(self, request: public_dot_patches__pb2.SetOntologyFileGoldenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.SetOntologyFileGoldenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetOntologyFileGolden', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.SetOntologyFileGoldenRequest, output=public_dot_patches__pb2.SetOntologyFileGoldenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_golden_files(self, request: public_dot_patches__pb2.ListGoldenFilesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListGoldenFilesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListGoldenFiles', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListGoldenFilesRequest, output=public_dot_patches__pb2.ListGoldenFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_codeowner_coverage(self, request: public_dot_patches__pb2.GetCodeownerCoverageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetCodeownerCoverageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCodeownerCoverage', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetCodeownerCoverageRequest, output=public_dot_patches__pb2.GetCodeownerCoverageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_skills(self, request: public_dot_patches__pb2.ListSkillsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListSkillsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSkills', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListSkillsRequest, output=public_dot_patches__pb2.ListSkillsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontology_remote(self, request: public_dot_patches__pb2.GetOntologyRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyRemoteResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyRemoteRequest, output=public_dot_patches__pb2.GetOntologyRemoteResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def configure_ontology_remote(self, request: public_dot_patches__pb2.ConfigureOntologyRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.ConfigureOntologyRemoteResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ConfigureOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ConfigureOntologyRemoteRequest, output=public_dot_patches__pb2.ConfigureOntologyRemoteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_ontology_github_o_auth_u_r_l(self, request: public_dot_patches__pb2.GetOntologyGithubOAuthURLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.GetOntologyGithubOAuthURLResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyGithubOAuthURL', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyGithubOAuthURLRequest, output=public_dot_patches__pb2.GetOntologyGithubOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_ontology_github_code(self, request: public_dot_patches__pb2.ExchangeOntologyGithubCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.ExchangeOntologyGithubCodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeOntologyGithubCode', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ExchangeOntologyGithubCodeRequest, output=public_dot_patches__pb2.ExchangeOntologyGithubCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_ontology_remote(self, request: public_dot_patches__pb2.RemoveOntologyRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveOntologyRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RemoveOntologyRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def push_ontology_to_remote(self, request: public_dot_patches__pb2.PushOntologyToRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='PushOntologyToRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PushOntologyToRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def pull_ontology_from_remote(self, request: public_dot_patches__pb2.PullOntologyFromRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='PullOntologyFromRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PullOntologyFromRemoteRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def trigger_config_drift_reconcile(self, request: public_dot_patches__pb2.TriggerConfigDriftReconcileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.TriggerConfigDriftReconcileResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TriggerConfigDriftReconcile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.TriggerConfigDriftReconcileRequest, output=public_dot_patches__pb2.TriggerConfigDriftReconcileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def preview_ontology_pull_from_remote(self, request: public_dot_patches__pb2.PreviewOntologyPullFromRemoteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.PreviewOntologyPullFromRemoteResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PreviewOntologyPullFromRemote', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PreviewOntologyPullFromRemoteRequest, output=public_dot_patches__pb2.PreviewOntologyPullFromRemoteResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def recover_ontology(self, request: public_dot_patches__pb2.RecoverOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='RecoverOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RecoverOntologyRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_ontology_sync_config(self, request: public_dot_patches__pb2.UpdateOntologySyncConfigRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpdateOntologySyncConfigResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOntologySyncConfig', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateOntologySyncConfigRequest, output=public_dot_patches__pb2.UpdateOntologySyncConfigResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_ontology_sync_runs(self, request: public_dot_patches__pb2.ListOntologySyncRunsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologySyncRunsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOntologySyncRuns', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologySyncRunsRequest, output=public_dot_patches__pb2.ListOntologySyncRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontology_sync_conflicts(self, request: public_dot_patches__pb2.GetOntologySyncConflictsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologySyncConflictsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologySyncConflicts', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologySyncConflictsRequest, output=public_dot_patches__pb2.GetOntologySyncConflictsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def resolve_ontology_sync_conflict(self, request: public_dot_patches__pb2.ResolveOntologySyncConflictRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='ResolveOntologySyncConflict', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ResolveOntologySyncConflictRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def migrate_legacy_context_to_ontology(self, request: public_dot_patches__pb2.MigrateLegacyContextToOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.MigrateLegacyContextToOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MigrateLegacyContextToOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.MigrateLegacyContextToOntologyRequest, output=public_dot_patches__pb2.MigrateLegacyContextToOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def migrate_old_ontology_to_new_ontology(self, request: public_dot_patches__pb2.MigrateOntologyToOntologyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.MigrateOntologyToOntologyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MigrateOldOntologyToNewOntology', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.MigrateOntologyToOntologyRequest, output=public_dot_patches__pb2.MigrateOntologyToOntologyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_ontology_migration_status(self, request: public_dot_patches__pb2.GetOntologyMigrationStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyMigrationStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyMigrationStatus', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyMigrationStatusRequest, output=public_dot_patches__pb2.GetOntologyMigrationStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def plan_ontology_merge(self, request: public_dot_patches__pb2.PlanOntologyMergeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.PlanOntologyMergeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PlanOntologyMerge', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.PlanOntologyMergeRequest, output=public_dot_patches__pb2.PlanOntologyMergeResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def add_ontology_submodule(self, request: public_dot_patches__pb2.AddOntologySubmoduleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.AddOntologySubmoduleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AddOntologySubmodule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.AddOntologySubmoduleRequest, output=public_dot_patches__pb2.AddOntologySubmoduleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_ontology_submodule(self, request: public_dot_patches__pb2.RemoveOntologySubmoduleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveOntologySubmodule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.RemoveOntologySubmoduleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_ontology_submodules(self, request: public_dot_patches__pb2.ListOntologySubmodulesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologySubmodulesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOntologySubmodules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologySubmodulesRequest, output=public_dot_patches__pb2.ListOntologySubmodulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_ontology_imports(self, request: public_dot_patches__pb2.ListOntologyImportsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologyImportsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOntologyImports', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyImportsRequest, output=public_dot_patches__pb2.ListOntologyImportsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_context_patch_auto_approve_rules(self, request: public_dot_patches__pb2.ListContextPatchAutoApproveRulesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListContextPatchAutoApproveRulesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListContextPatchAutoApproveRules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListContextPatchAutoApproveRulesRequest, output=public_dot_patches__pb2.ListContextPatchAutoApproveRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.CreateContextPatchAutoApproveRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.CreateContextPatchAutoApproveRuleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateContextPatchAutoApproveRuleRequest, output=public_dot_patches__pb2.CreateContextPatchAutoApproveRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleRequest, output=public_dot_patches__pb2.UpdateContextPatchAutoApproveRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_context_patch_auto_approve_rule(self, request: public_dot_patches__pb2.DeleteContextPatchAutoApproveRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteContextPatchAutoApproveRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteContextPatchAutoApproveRuleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_approval_rules(self, request: public_dot_patches__pb2.ListApprovalRulesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListApprovalRulesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListApprovalRules', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListApprovalRulesRequest, output=public_dot_patches__pb2.ListApprovalRulesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_approval_rule(self, request: public_dot_patches__pb2.CreateApprovalRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.CreateApprovalRuleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.CreateApprovalRuleRequest, output=public_dot_patches__pb2.CreateApprovalRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_approval_rule(self, request: public_dot_patches__pb2.UpdateApprovalRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_patches__pb2.UpdateApprovalRuleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.UpdateApprovalRuleRequest, output=public_dot_patches__pb2.UpdateApprovalRuleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_approval_rule(self, request: public_dot_patches__pb2.DeleteApprovalRuleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteApprovalRule', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.DeleteApprovalRuleRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_file_usage(self, request: public_dot_patches__pb2.GetFileUsageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetFileUsageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetFileUsage', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetFileUsageRequest, output=public_dot_patches__pb2.GetFileUsageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_usage_details_for_file(self, request: public_dot_patches__pb2.GetUsageDetailsForFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetUsageDetailsForFileResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetUsageDetailsForFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetUsageDetailsForFileRequest, output=public_dot_patches__pb2.GetUsageDetailsForFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_chats_for_file(self, request: public_dot_patches__pb2.ListChatsForFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListChatsForFileResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListChatsForFile', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListChatsForFileRequest, output=public_dot_patches__pb2.ListChatsForFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_file_usage_timeline(self, request: public_dot_patches__pb2.GetFileUsageTimelineRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetFileUsageTimelineResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetFileUsageTimeline', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetFileUsageTimelineRequest, output=public_dot_patches__pb2.GetFileUsageTimelineResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontology_size_timeline(self, request: public_dot_patches__pb2.GetOntologySizeTimelineRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologySizeTimelineResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologySizeTimeline', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologySizeTimelineRequest, output=public_dot_patches__pb2.GetOntologySizeTimelineResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_ontology_usage_summary(self, request: public_dot_patches__pb2.GetOntologyUsageSummaryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.GetOntologyUsageSummaryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetOntologyUsageSummary', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.GetOntologyUsageSummaryRequest, output=public_dot_patches__pb2.GetOntologyUsageSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_ontology_files(self, request: public_dot_patches__pb2.ListOntologyFilesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_patches__pb2.ListOntologyFilesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOntologyFiles', service_name='textql.rpc.public.patches.OntologyManagementService', input=public_dot_patches__pb2.ListOntologyFilesRequest, output=public_dot_patches__pb2.ListOntologyFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/patches_pb2.py b/src/textql_sdk/_connect/public/patches_pb2.py new file mode 100644 index 0000000..0ecedf9 --- /dev/null +++ b/src/textql_sdk/_connect/public/patches_pb2.py @@ -0,0 +1,467 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/patches.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import config_source_pb2 as public_dot_config__source__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14public/patches.proto\x12\x19textql.rpc.public.patches\x1a\x1bgoogle/api/visibility.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1apublic/config_source.proto"k\n\x05Skill\x12\x18\n\x07trigger\x18\x01 \x01(\tR\x07trigger\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12\x12\n\x04path\x18\x04 \x01(\tR\x04path"\x13\n\x11ListSkillsRequest"N\n\x12ListSkillsResponse\x128\n\x06skills\x18\x01 \x03(\x0b2 .textql.rpc.public.patches.SkillR\x06skills"W\n\tPatchLine\x126\n\x02op\x18\x01 \x01(\x0e2&.textql.rpc.public.patches.PatchLineOpR\x02op\x12\x12\n\x04line\x18\x02 \x01(\tR\x04line"\xfb\x02\n\tPatchHunk\x12\x18\n\x07comment\x18\x01 \x01(\tR\x07comment\x12!\n\x0cold_position\x18\x02 \x01(\x03R\x0boldPosition\x12\x1b\n\told_lines\x18\x03 \x01(\x03R\x08oldLines\x12!\n\x0cnew_position\x18\x04 \x01(\x03R\x0bnewPosition\x12\x1b\n\tnew_lines\x18\x05 \x01(\x03R\x08newLines\x12\x1f\n\x0blines_added\x18\x06 \x01(\x03R\nlinesAdded\x12#\n\rlines_deleted\x18\x07 \x01(\x03R\x0clinesDeleted\x12\'\n\x0fleading_context\x18\x08 \x01(\x03R\x0eleadingContext\x12)\n\x10trailing_context\x18\t \x01(\x03R\x0ftrailingContext\x12:\n\x05lines\x18\n \x03(\x0b2$.textql.rpc.public.patches.PatchLineR\x05lines"\xc0\x03\n\tPatchDiff\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n\x08old_path\x18\x02 \x01(\tR\x07oldPath\x12\x19\n\x08new_path\x18\x03 \x01(\tR\x07newPath\x12:\n\x05hunks\x18\x04 \x03(\x0b2$.textql.rpc.public.patches.PatchHunkR\x05hunks\x12\x1c\n\tadditions\x18\x05 \x01(\x03R\tadditions\x12\x1c\n\tdeletions\x18\x06 \x01(\x03R\tdeletions\x12\x1b\n\tis_binary\x18\x07 \x01(\x08R\x08isBinary\x12\x15\n\x06is_new\x18\x08 \x01(\x08R\x05isNew\x12\x17\n\x07is_copy\x18\t \x01(\x08R\x06isCopy\x12\x1b\n\tis_rename\x18\n \x01(\x08R\x08isRename\x12\x1b\n\tis_delete\x18\x0b \x01(\x08R\x08isDelete\x12$\n\x0bold_content\x18\x0c \x01(\tH\x00R\noldContent\x88\x01\x01\x12$\n\x0bnew_content\x18\r \x01(\tH\x01R\nnewContent\x88\x01\x01B\x0e\n\x0c_old_contentB\x0e\n\x0c_new_content"\xb6\x08\n\x05Patch\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06number\x18\x02 \x01(\x05R\x06number\x12\x1b\n\tauthor_id\x18\x03 \x01(\tR\x08authorId\x12\x14\n\x05title\x18\x04 \x01(\tR\x05title\x12 \n\x0bdescription\x18\x05 \x01(\tR\x0bdescription\x12\x1c\n\x07chat_id\x18\x06 \x01(\tH\x00R\x06chatId\x88\x01\x01\x12!\n\x0cai_generated\x18\x07 \x01(\x08R\x0baiGenerated\x12:\n\x05diffs\x18\x08 \x03(\x0b2$.textql.rpc.public.patches.PatchDiffR\x05diffs\x12>\n\x06status\x18\t \x01(\x0e2&.textql.rpc.public.patches.PatchStatusR\x06status\x12\x17\n\x07git_ref\x18\n \x01(\tR\x06gitRef\x12\x1a\n\x08revision\x18\x0b \x01(\x05R\x08revision\x12\'\n\rhead_at_merge\x18\x0c \x01(\tH\x01R\x0bheadAtMerge\x88\x01\x01\x12$\n\x0breviewer_id\x18\r \x01(\tH\x02R\nreviewerId\x88\x01\x01\x129\n\ncreated_at\x18\x0e \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12&\n\x0cauthor_email\x18\x10 \x01(\tH\x03R\x0bauthorEmail\x88\x01\x01\x12$\n\x0bauthor_name\x18\x11 \x01(\tH\x04R\nauthorName\x88\x01\x01\x12%\n\x0eapproval_count\x18\x13 \x01(\x05R\rapprovalCount\x12-\n\x12required_approvals\x18\x14 \x01(\x05R\x11requiredApprovals\x12U\n\x0ccapabilities\x18\x12 \x01(\x0b2,.textql.rpc.public.patches.PatchCapabilitiesH\x05R\x0ccapabilities\x88\x01\x01\x12[\n\x11code_owner_status\x18\x15 \x03(\x0b2/.textql.rpc.public.patches.PatchCodeownerStatusR\x0fcodeOwnerStatus\x12A\n\x1drequested_reviewer_member_ids\x18\x16 \x03(\tR\x1arequestedReviewerMemberIdsB\n\n\x08_chat_idB\x10\n\x0e_head_at_mergeB\x0e\n\x0c_reviewer_idB\x0f\n\r_author_emailB\x0e\n\x0c_author_nameB\x0f\n\r_capabilities"\xcc\x01\n\x14PatchCodeownerStatus\x12\x18\n\x07pattern\x18\x01 \x01(\tR\x07pattern\x12(\n\x10owner_member_ids\x18\x02 \x03(\tR\x0eownerMemberIds\x12+\n\x11require_approvals\x18\x03 \x01(\x05R\x10requireApprovals\x12%\n\x0eapproval_count\x18\x04 \x01(\x05R\rapprovalCount\x12\x1c\n\tsatisfied\x18\x05 \x01(\x08R\tsatisfied"\xe1\x01\n\x11PatchCapabilities\x12\x1f\n\x0bcan_approve\x18\x01 \x01(\x08R\ncanApprove\x12\x19\n\x08can_deny\x18\x02 \x01(\x08R\x07canDeny\x12\x1f\n\x0bcan_restore\x18\x03 \x01(\x08R\ncanRestore\x12\'\n\x0fcaller_approved\x18\x04 \x01(\x08R\x0ecallerApproved\x12F\n\x16approve_requires_admin\x18\x05 \x01(\x08B\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\x14approveRequiresAdmin"\x8e\x02\n\x12ListPatchesRequest\x12 \n\tpage_size\x18\x01 \x01(\x05H\x00R\x08pageSize\x88\x01\x01\x12"\n\npage_token\x18\x02 \x01(\tH\x01R\tpageToken\x88\x01\x01\x12B\n\x08statuses\x18\x03 \x03(\x0e2&.textql.rpc.public.patches.PatchStatusR\x08statuses\x127\n\x15include_auto_approved\x18\x04 \x01(\x08H\x02R\x13includeAutoApproved\x88\x01\x01B\x0c\n\n_page_sizeB\r\n\x0b_page_tokenB\x18\n\x16_include_auto_approved"\x97\x01\n\x11PatchStatusCounts\x12\x12\n\x04open\x18\x01 \x01(\x05R\x04open\x12\x1d\n\ndraft_mine\x18\x02 \x01(\x05R\tdraftMine\x12\x1a\n\x08approved\x18\x03 \x01(\x05R\x08approved\x12\x16\n\x06denied\x18\x04 \x01(\x05R\x06denied\x12\x1b\n\topen_mine\x18\x05 \x01(\x05R\x08openMine"\xe8\x01\n\x13ListPatchesResponse\x12:\n\x07patches\x18\x01 \x03(\x0b2 .textql.rpc.public.patches.PatchR\x07patches\x12+\n\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01\x12I\n\x06counts\x18\x03 \x01(\x0b2,.textql.rpc.public.patches.PatchStatusCountsH\x01R\x06counts\x88\x01\x01B\x12\n\x10_next_page_tokenB\t\n\x07_counts"Z\n\x13ApprovePatchRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId\x12(\n\x10expected_git_ref\x18\x02 \x01(\tR\x0eexpectedGitRef"\xaf\x01\n\x14ApprovePatchResponse\x12\x16\n\x06merged\x18\x01 \x01(\x08R\x06merged\x12%\n\x0eapproval_count\x18\x02 \x01(\x05R\rapprovalCount\x12-\n\x12required_approvals\x18\x03 \x01(\x05R\x11requiredApprovals\x12)\n\x10already_approved\x18\x04 \x01(\x08R\x0falreadyApproved"d\n\x19RequestPatchReviewRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId\x12,\n\x12reviewer_member_id\x18\x02 \x01(\tR\x10reviewerMemberId"0\n\x1aRequestPatchReviewResponse\x12\x12\n\x04sent\x18\x01 \x01(\x08R\x04sent"6\n\x19ListPatchReviewersRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId"\xc1\x01\n\rPatchReviewer\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n\x05email\x18\x03 \x01(\tR\x05email\x12*\n\x11profile_image_url\x18\x04 \x01(\tR\x0fprofileImageUrl\x12\x19\n\x08is_admin\x18\x05 \x01(\x08R\x07isAdmin\x12"\n\ris_code_owner\x18\x06 \x01(\x08R\x0bisCodeOwner"d\n\x1aListPatchReviewersResponse\x12F\n\treviewers\x18\x01 \x03(\x0b2(.textql.rpc.public.patches.PatchReviewerR\treviewers"W\n\x10DenyPatchRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId\x12(\n\x10expected_git_ref\x18\x02 \x01(\tR\x0eexpectedGitRef"Z\n\x13RestorePatchRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId\x12(\n\x10expected_git_ref\x18\x02 \x01(\tR\x0eexpectedGitRef"/\n\x12RevertPatchRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId"Z\n\x13RevertPatchResponse\x12C\n\x0crevert_patch\x18\x01 \x01(\x0b2 .textql.rpc.public.patches.PatchR\x0brevertPatch"Y\n\x19SaveObjectAsConfigRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId"q\n\x1aSaveObjectAsConfigResponse\x126\n\x05patch\x18\x01 \x01(\x0b2 .textql.rpc.public.patches.PatchR\x05patch\x12\x1b\n\tfile_path\x18\x02 \x01(\tR\x08filePath"@\n\x1dSaveAllObjectsAsConfigRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType"\xf5\x01\n\x1eSaveAllObjectsAsConfigResponse\x126\n\x05patch\x18\x01 \x01(\x0b2 .textql.rpc.public.patches.PatchR\x05patch\x12\x1d\n\nfile_paths\x18\x02 \x03(\tR\tfilePaths\x12H\n\x07skipped\x18\x03 \x03(\x0b2..textql.rpc.public.patches.SkippedConfigExportR\x07skipped\x122\n\x15already_managed_count\x18\x04 \x01(\x05R\x13alreadyManagedCount"k\n\x13SkippedConfigExport\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12\x1f\n\x0bobject_name\x18\x02 \x01(\tR\nobjectName\x12\x16\n\x06reason\x18\x03 \x01(\tR\x06reason"$\n"GetConfigExportCapabilitiesRequest"v\n#GetConfigExportCapabilitiesResponse\x12!\n\x0cobject_types\x18\x01 \x03(\tR\x0bobjectTypes\x12,\n\x12can_create_patches\x18\x02 \x01(\x08R\x10canCreatePatches"Z\n\x0fGetPatchRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId\x12\x1f\n\x08revision\x18\x02 \x01(\x05H\x00R\x08revision\x88\x01\x01B\x0b\n\t_revision"1\n\x17GetPatchByNumberRequest\x12\x16\n\x06number\x18\x01 \x01(\x05R\x06number"7\n\x12GetRawPatchRequest\x12!\n\x0cpatch_number\x18\x01 \x01(\x05R\x0bpatchNumber"2\n\x13GetRawPatchResponse\x12\x1b\n\traw_patch\x18\x01 \x01(\tR\x08rawPatch"2\n\x15ValidateConfigRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId"\x96\x01\n\x10ConfigDiagnostic\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12F\n\x05class\x18\x04 \x01(\x0e20.textql.rpc.public.patches.ConfigDiagnosticClassR\x05classJ\x04\x08\x01\x10\x02R\x06object"w\n\x16ValidateConfigResponse\x12\x0e\n\x02ok\x18\x01 \x01(\x08R\x02ok\x12M\n\x0bdiagnostics\x18\x02 \x03(\x0b2+.textql.rpc.public.patches.ConfigDiagnosticR\x0bdiagnostics"8\n\x1bGetPatchCapabilitiesRequest\x12\x19\n\x08patch_id\x18\x01 \x01(\tR\x07patchId"\xb0\x01\n\x1cGetPatchCapabilitiesResponse\x12P\n\x0ccapabilities\x18\x01 \x01(\x0b2,.textql.rpc.public.patches.PatchCapabilitiesR\x0ccapabilities\x12>\n\x06status\x18\x02 \x01(\x0e2&.textql.rpc.public.patches.PatchStatusR\x06status"\xf4\x03\n\rOntologyEntry\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x15\n\x06is_dir\x18\x03 \x01(\x08R\x05isDir\x12"\n\nsize_bytes\x18\x04 \x01(\x03H\x00R\tsizeBytes\x88\x01\x01\x12>\n\nupdated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\tupdatedAt\x88\x01\x01\x12\x1b\n\tcan_write\x18\x06 \x01(\x08R\x08canWrite\x12\x19\n\x08can_read\x18\x07 \x01(\x08R\x07canRead\x12_\n\x12config_sync_status\x18\x08 \x01(\x0e21.textql.rpc.public.config_source.ConfigSyncStatusR\x10configSyncStatus\x12-\n\x10config_object_id\x18\t \x01(\tH\x02R\x0econfigObjectId\x88\x01\x01\x12/\n\x11config_sync_error\x18\n \x01(\tH\x03R\x0fconfigSyncError\x88\x01\x01B\r\n\x0b_size_bytesB\r\n\x0b_updated_atB\x13\n\x11_config_object_idB\x14\n\x12_config_sync_error"\xcc\x02\n\x0cOntologyFile\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n\x07content\x18\x03 \x01(\tR\x07content\x129\n\nupdated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1b\n\tcan_write\x18\x05 \x01(\x08R\x08canWrite\x12?\n\x04kind\x18\x06 \x01(\x0e2+.textql.rpc.public.patches.OntologyFileKindR\x04kind\x12\x1b\n\tmime_type\x18\x07 \x01(\tR\x08mimeType\x12\x1d\n\nsize_bytes\x18\x08 \x01(\x03R\tsizeBytes\x12%\n\x0ebinary_content\x18\t \x01(\x0cR\rbinaryContent"\xc3\x01\n\x1aOntologyHistoryChangedFile\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12(\n\rprevious_path\x18\x02 \x01(\tH\x00R\x0cpreviousPath\x88\x01\x01\x12U\n\x0bchange_type\x18\x03 \x01(\x0e24.textql.rpc.public.patches.OntologyHistoryChangeTypeR\nchangeTypeB\x10\n\x0e_previous_path"\xbd\x02\n\x14OntologyHistoryEntry\x12\x1b\n\tcommit_id\x18\x01 \x01(\tR\x08commitId\x12=\n\x0ccommitted_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bcommittedAt\x12!\n\x0cauthor_email\x18\x03 \x01(\tR\x0bauthorEmail\x12\x1f\n\x0bauthor_name\x18\x04 \x01(\tR\nauthorName\x12\x1d\n\x07message\x18\x05 \x01(\tH\x00R\x07message\x88\x01\x01\x12Z\n\rchanged_files\x18\x06 \x03(\x0b25.textql.rpc.public.patches.OntologyHistoryChangedFileR\x0cchangedFilesB\n\n\x08_message"\xb4\x02\n\x0fAutoAttachEntry\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12!\n\x0cconnector_id\x18\x02 \x01(\x05R\x0bconnectorId\x12*\n\x11api_connector_ids\x18\x03 \x03(\tR\x0fapiConnectorIds\x12\x19\n\x08role_ids\x18\x04 \x03(\tR\x07roleIds\x12#\n\rconnector_ids\x18\x05 \x03(\x05R\x0cconnectorIds\x12,\n\x12match_no_connector\x18\x06 \x01(\x08R\x10matchNoConnector\x123\n\x16match_no_api_connector\x18\x07 \x01(\x08R\x13matchNoApiConnector\x12\x1b\n\tmatch_all\x18\x08 \x01(\x08R\x08matchAll"n\n\x0eCodeownerEntry\x12\x18\n\x07pattern\x18\x01 \x01(\tR\x07pattern\x12(\n\x10owner_member_ids\x18\x02 \x03(\tR\x0eownerMemberIds\x12\x12\n\x04area\x18\x04 \x01(\tR\x04areaJ\x04\x08\x03\x10\x04"\x8d\x01\n\x0bGoldenEntry\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\'\n\x10set_by_member_id\x18\x02 \x01(\tR\rsetByMemberId\x126\n\x06set_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x05setAt\x88\x01\x01B\t\n\x07_set_at"J\n\x1cSetOntologyFileGoldenRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x16\n\x06golden\x18\x02 \x01(\x08R\x06golden"_\n\x1dSetOntologyFileGoldenResponse\x12>\n\x06golden\x18\x01 \x03(\x0b2&.textql.rpc.public.patches.GoldenEntryR\x06golden"\x18\n\x16ListGoldenFilesRequest"Y\n\x17ListGoldenFilesResponse\x12>\n\x06golden\x18\x01 \x03(\x0b2&.textql.rpc.public.patches.GoldenEntryR\x06golden"\xab\x02\n\x11OntologyAnaConfig\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12K\n\x0bauto_attach\x18\x02 \x03(\x0b2*.textql.rpc.public.patches.AutoAttachEntryR\nautoAttach\x12\x1b\n\tcan_write\x18\x03 \x01(\x08R\x08canWrite\x12>\n\nupdated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tupdatedAt\x88\x01\x01\x12I\n\ncodeowners\x18\x05 \x03(\x0b2).textql.rpc.public.patches.CodeownerEntryR\ncodeownersB\r\n\x0b_updated_at"1\n\x1bGetOntologyAnaConfigRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path"d\n\x1cGetOntologyAnaConfigResponse\x12D\n\x06config\x18\x01 \x01(\x0b2,.textql.rpc.public.patches.OntologyAnaConfigR\x06config"\x8b\x02\n\x1eUpsertOntologyAnaConfigRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12K\n\x0bauto_attach\x18\x02 \x03(\x0b2*.textql.rpc.public.patches.AutoAttachEntryR\nautoAttach\x12*\n\x0ecommit_message\x18\x03 \x01(\tH\x00R\rcommitMessage\x88\x01\x01\x12I\n\ncodeowners\x18\x04 \x03(\x0b2).textql.rpc.public.patches.CodeownerEntryR\ncodeownersB\x11\n\x0f_commit_message"g\n\x1fUpsertOntologyAnaConfigResponse\x12D\n\x06config\x18\x01 \x01(\x0b2,.textql.rpc.public.patches.OntologyAnaConfigR\x06config"\x1d\n\x1bGetCodeownerCoverageRequest"\xb0\x01\n\x1cGetCodeownerCoverageResponse\x12\x1f\n\x0btotal_files\x18\x01 \x01(\x05R\ntotalFiles\x12#\n\rcovered_files\x18\x02 \x01(\x05R\x0ccoveredFiles\x12!\n\x0ccoverage_pct\x18\x03 \x01(\x01R\x0bcoveragePct\x12\'\n\x0funcovered_files\x18\x04 \x03(\tR\x0euncoveredFiles"|\n\x12OntologyOwnerEntry\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId\x12M\n\npermission\x18\x02 \x01(\x0e2-.textql.rpc.public.patches.OntologyPermissionR\npermission"\xc5\x01\n\x0eOntologyOwners\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12G\n\x07entries\x18\x02 \x03(\x0b2-.textql.rpc.public.patches.OntologyOwnerEntryR\x07entries\x12\x1b\n\tcan_write\x18\x03 \x01(\x08R\x08canWrite\x129\n\nupdated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt"\x91\x01\n\x1aListOntologyEntriesRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12!\n\trecursive\x18\x02 \x01(\x08H\x00R\trecursive\x88\x01\x01\x12.\n\x13include_debug_files\x18\x03 \x01(\x08R\x11includeDebugFilesB\x0c\n\n_recursive"a\n\x1bListOntologyEntriesResponse\x12B\n\x07entries\x18\x01 \x03(\x0b2(.textql.rpc.public.patches.OntologyEntryR\x07entries",\n\x16GetOntologyFileRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path"V\n\x17GetOntologyFileResponse\x12;\n\x04file\x18\x01 \x01(\x0b2\'.textql.rpc.public.patches.OntologyFileR\x04file"t\n"CreateOntologyFileUploadUrlRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12\x1d\n\nsize_bytes\x18\x03 \x01(\x03R\tsizeBytes"c\n#CreateOntologyFileUploadUrlResponse\x12\x1d\n\nupload_url\x18\x01 \x01(\tR\tuploadUrl\x12\x1d\n\nupload_key\x18\x02 \x01(\tR\tuploadKey"\x95\x01\n!FinalizeOntologyFileUploadRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x1d\n\nupload_key\x18\x02 \x01(\tR\tuploadKey\x12*\n\x0ecommit_message\x18\x03 \x01(\tH\x00R\rcommitMessage\x88\x01\x01B\x11\n\x0f_commit_message"a\n"FinalizeOntologyFileUploadResponse\x12;\n\x04file\x18\x01 \x01(\x0b2\'.textql.rpc.public.patches.OntologyFileR\x04file"\xa1\x01\n\x1aListOntologyHistoryRequest\x12 \n\tpage_size\x18\x01 \x01(\x05H\x00R\x08pageSize\x88\x01\x01\x12"\n\npage_token\x18\x02 \x01(\tH\x01R\tpageToken\x88\x01\x01\x12\x17\n\x04path\x18\x03 \x01(\tH\x02R\x04path\x88\x01\x01B\x0c\n\n_page_sizeB\r\n\x0b_page_tokenB\x07\n\x05_path"\xa9\x01\n\x1bListOntologyHistoryResponse\x12I\n\x07history\x18\x01 \x03(\x0b2/.textql.rpc.public.patches.OntologyHistoryEntryR\x07history\x12+\n\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01B\x12\n\x10_next_page_token"T\n!GetOntologyHistoryFileDiffRequest\x12\x1b\n\tcommit_id\x18\x01 \x01(\tR\x08commitId\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path"\xd1\x02\n"GetOntologyHistoryFileDiffResponse\x12\x1b\n\tcommit_id\x18\x01 \x01(\tR\x08commitId\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12(\n\rprevious_path\x18\x03 \x01(\tH\x00R\x0cpreviousPath\x88\x01\x01\x12U\n\x0bchange_type\x18\x04 \x01(\x0e24.textql.rpc.public.patches.OntologyHistoryChangeTypeR\nchangeType\x12%\n\x0ebefore_content\x18\x05 \x01(\tR\rbeforeContent\x12#\n\rafter_content\x18\x06 \x01(\tR\x0cafterContent\x12\x1b\n\tis_binary\x18\x07 \x01(\x08R\x08isBinaryB\x10\n\x0e_previous_path"\x88\x01\n\x19UpsertOntologyFileRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x18\n\x07content\x18\x02 \x01(\tR\x07content\x12*\n\x0ecommit_message\x18\x03 \x01(\tH\x00R\rcommitMessage\x88\x01\x01B\x11\n\x0f_commit_message"Y\n\x1aUpsertOntologyFileResponse\x12;\n\x04file\x18\x01 \x01(\x0b2\'.textql.rpc.public.patches.OntologyFileR\x04file"s\n\x1eCreateOntologyDirectoryRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12*\n\x0ecommit_message\x18\x02 \x01(\tH\x00R\rcommitMessage\x88\x01\x01B\x11\n\x0f_commit_message"a\n\x1fCreateOntologyDirectoryResponse\x12>\n\x05entry\x18\x01 \x01(\x0b2(.textql.rpc.public.patches.OntologyEntryR\x05entry"\x91\x01\n\x1eDeleteOntologyDirectoryRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12*\n\x0ecommit_message\x18\x02 \x01(\tH\x00R\rcommitMessage\x88\x01\x01\x12\x1c\n\trecursive\x18\x03 \x01(\x08R\trecursiveB\x11\n\x0f_commit_message"\x90\x01\n\x19RenameOntologyFileRequest\x12\x19\n\x08old_path\x18\x01 \x01(\tR\x07oldPath\x12\x19\n\x08new_path\x18\x02 \x01(\tR\x07newPath\x12*\n\x0ecommit_message\x18\x03 \x01(\tH\x00R\rcommitMessage\x88\x01\x01B\x11\n\x0f_commit_message"Y\n\x1aRenameOntologyFileResponse\x12;\n\x04file\x18\x01 \x01(\x0b2\'.textql.rpc.public.patches.OntologyFileR\x04file"n\n\x19DeleteOntologyFileRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12*\n\x0ecommit_message\x18\x02 \x01(\tH\x00R\rcommitMessage\x88\x01\x01B\x11\n\x0f_commit_message".\n\x18GetOntologyOwnersRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path"^\n\x19GetOntologyOwnersResponse\x12A\n\x06owners\x18\x01 \x01(\x0b2).textql.rpc.public.patches.OntologyOwnersR\x06owners"7\n!GetEffectiveOntologyOwnersRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path"\x81\x01\n"GetEffectiveOntologyOwnersResponse\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12G\n\x07entries\x18\x02 \x03(\x0b2-.textql.rpc.public.patches.OntologyOwnerEntryR\x07entries"\xdc\x01\n\x1bUpsertOntologyOwnersRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x19\n\x08role_ids\x18\x02 \x03(\tR\x07roleIds\x12O\n\x0bpermissions\x18\x03 \x03(\x0e2-.textql.rpc.public.patches.OntologyPermissionR\x0bpermissions\x12*\n\x0ecommit_message\x18\x04 \x01(\tH\x00R\rcommitMessage\x88\x01\x01B\x11\n\x0f_commit_message"a\n\x1cUpsertOntologyOwnersResponse\x12A\n\x06owners\x18\x01 \x01(\x0b2).textql.rpc.public.patches.OntologyOwnersR\x06owners"\x8b\x01\n\x1bDeleteOntologyOwnersRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x19\n\x08role_ids\x18\x02 \x03(\tR\x07roleIds\x12*\n\x0ecommit_message\x18\x03 \x01(\tH\x00R\rcommitMessage\x88\x01\x01B\x11\n\x0f_commit_message"\x87\x06\n\x0eOntologyRemote\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n\nremote_url\x18\x02 \x01(\tR\tremoteUrl\x12\x1b\n\tauth_type\x18\x03 \x01(\tR\x08authType\x12%\n\x0edefault_branch\x18\x04 \x01(\tR\rdefaultBranch\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12>\n\nupdated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tupdatedAt\x88\x01\x01\x12!\n\x0csync_enabled\x18\x07 \x01(\x08R\x0bsyncEnabled\x122\n\x15sync_interval_minutes\x18\x08 \x01(\x05R\x13syncIntervalMinutes\x12E\n\x0elast_synced_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x0clastSyncedAt\x88\x01\x01\x12+\n\x0flast_sync_error\x18\n \x01(\tH\x02R\rlastSyncError\x88\x01\x01\x12(\n\x10signing_key_type\x18\x0b \x01(\tR\x0esigningKeyType\x12\'\n\rgithub_app_id\x18\x0c \x01(\tH\x03R\x0bgithubAppId\x88\x01\x01\x12@\n\x1agithub_app_installation_id\x18\r \x01(\tH\x04R\x17githubAppInstallationId\x88\x01\x01\x12#\n\rhas_conflicts\x18\x0e \x01(\x08R\x0chasConflicts\x12\x1b\n\tpush_mode\x18\x0f \x01(\tR\x08pushModeB\r\n\x0b_updated_atB\x11\n\x0f_last_synced_atB\x12\n\x10_last_sync_errorB\x10\n\x0e_github_app_idB\x1d\n\x1b_github_app_installation_id"\x1a\n\x18GetOntologyRemoteRequest"\x82\x02\n\x19GetOntologyRemoteResponse\x12F\n\x06remote\x18\x01 \x01(\x0b2).textql.rpc.public.patches.OntologyRemoteH\x00R\x06remote\x88\x01\x01\x12=\n\x1bhosted_github_app_available\x18\x02 \x01(\x08R\x18hostedGithubAppAvailable\x128\n\x16hosted_github_app_slug\x18\x03 \x01(\tH\x01R\x13hostedGithubAppSlug\x88\x01\x01B\t\n\x07_remoteB\x19\n\x17_hosted_github_app_slug"\x93\x06\n\x1eConfigureOntologyRemoteRequest\x12\x1d\n\nremote_url\x18\x01 \x01(\tR\tremoteUrl\x12\x1b\n\tauth_type\x18\x02 \x01(\tR\x08authType\x12\x19\n\x05token\x18\x03 \x01(\tH\x00R\x05token\x88\x01\x01\x12+\n\x0fssh_private_key\x18\x04 \x01(\tH\x01R\rsshPrivateKey\x88\x01\x01\x12-\n\x10ssh_key_password\x18\x05 \x01(\tH\x02R\x0esshKeyPassword\x88\x01\x01\x12*\n\x0edefault_branch\x18\x06 \x01(\tH\x03R\rdefaultBranch\x88\x01\x01\x12\'\n\rgithub_app_id\x18\x07 \x01(\tH\x04R\x0bgithubAppId\x88\x01\x01\x12@\n\x1agithub_app_installation_id\x18\x08 \x01(\tH\x05R\x17githubAppInstallationId\x88\x01\x01\x128\n\x16github_app_private_key\x18\t \x01(\tH\x06R\x13githubAppPrivateKey\x88\x01\x01\x12-\n\x10signing_key_type\x18\n \x01(\tH\x07R\x0esigningKeyType\x88\x01\x01\x12$\n\x0bsigning_key\x18\x0b \x01(\tH\x08R\nsigningKey\x88\x01\x01\x12 \n\tpush_mode\x18\x0c \x01(\tH\tR\x08pushMode\x88\x01\x01\x121\n\x15use_hosted_github_app\x18\r \x01(\x08R\x12useHostedGithubAppB\x08\n\x06_tokenB\x12\n\x10_ssh_private_keyB\x13\n\x11_ssh_key_passwordB\x11\n\x0f_default_branchB\x10\n\x0e_github_app_idB\x1d\n\x1b_github_app_installation_idB\x19\n\x17_github_app_private_keyB\x13\n\x11_signing_key_typeB\x0e\n\x0c_signing_keyB\x0c\n\n_push_mode"d\n\x1fConfigureOntologyRemoteResponse\x12A\n\x06remote\x18\x01 \x01(\x0b2).textql.rpc.public.patches.OntologyRemoteR\x06remote"_\n GetOntologyGithubOAuthURLRequest\x12\x14\n\x05state\x18\x01 \x01(\tR\x05state\x12%\n\x0ecode_challenge\x18\x02 \x01(\tR\rcodeChallenge"\x87\x01\n!GetOntologyGithubOAuthURLResponse\x12#\n\rauthorize_url\x18\x01 \x01(\tR\x0cauthorizeUrl\x12\x1f\n\x0binstall_url\x18\x02 \x01(\tR\ninstallUrl\x12\x1c\n\tavailable\x18\x03 \x01(\x08R\tavailable"r\n!ExchangeOntologyGithubCodeRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\x12#\n\rcode_verifier\x18\x03 \x01(\tR\x0ccodeVerifier"\x93\x01\n"ExchangeOntologyGithubCodeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12S\n\rinstallations\x18\x02 \x03(\x0b2-.textql.rpc.public.patches.GithubInstallationR\rinstallations"\xa8\x01\n\x12GithubInstallation\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07account\x18\x02 \x01(\tR\x07account\x12G\n\x05repos\x18\x03 \x03(\x0b21.textql.rpc.public.patches.GithubInstallationRepoR\x05repos\x12\x1f\n\x0brepos_error\x18\x04 \x01(\tR\nreposError"\x93\x01\n\x16GithubInstallationRepo\x12\x1b\n\tfull_name\x18\x01 \x01(\tR\x08fullName\x12\x1b\n\tclone_url\x18\x02 \x01(\tR\x08cloneUrl\x12%\n\x0edefault_branch\x18\x03 \x01(\tR\rdefaultBranch\x12\x18\n\x07private\x18\x04 \x01(\x08R\x07private"\x1d\n\x1bRemoveOntologyRemoteRequest"\x1d\n\x1bPushOntologyToRemoteRequest"\xdb\x01\n\x1dPullOntologyFromRemoteRequest\x12F\n\x1facknowledge_unrelated_histories\x18\x01 \x01(\x08R\x1dacknowledgeUnrelatedHistories\x127\n\x18expected_local_head_hash\x18\x02 \x01(\tR\x15expectedLocalHeadHash\x129\n\x19expected_remote_head_hash\x18\x03 \x01(\tR\x16expectedRemoteHeadHash"$\n"TriggerConfigDriftReconcileRequest"?\n#TriggerConfigDriftReconcileResponse\x12\x18\n\x07drifted\x18\x01 \x01(\x08R\x07drifted"\xc7\x01\n\x18UnrelatedHistoriesDetail\x12&\n\x0flocal_head_hash\x18\x01 \x01(\tR\rlocalHeadHash\x12(\n\x10remote_head_hash\x18\x02 \x01(\tR\x0eremoteHeadHash\x122\n\x15remote_addition_paths\x18\x03 \x03(\tR\x13remoteAdditionPaths\x12%\n\x0econflict_paths\x18\x04 \x03(\tR\rconflictPaths"#\n!GetOntologyMigrationStatusRequest"e\n"GetOntologyMigrationStatusResponse\x12?\n\x1cpending_legacy_context_count\x18\x01 \x01(\x05R\x19pendingLegacyContextCount"\x1a\n\x18PlanOntologyMergeRequest"\x93\x02\n\x19PlanOntologyMergeResponse\x12I\n\x07outcome\x18\x01 \x01(\x0e2/.textql.rpc.public.patches.OntologyMergeOutcomeR\x07outcome\x12&\n\x0flocal_head_hash\x18\x02 \x01(\tR\rlocalHeadHash\x12(\n\x10remote_head_hash\x18\x03 \x01(\tR\x0eremoteHeadHash\x122\n\x15remote_addition_paths\x18\x04 \x03(\tR\x13remoteAdditionPaths\x12%\n\x0econflict_paths\x18\x05 \x03(\tR\rconflictPaths"&\n$PreviewOntologyPullFromRemoteRequest"_\n\x16RecoverOntologyRequest\x12E\n\x05level\x18\x01 \x01(\x0e2/.textql.rpc.public.patches.RecoverOntologyLevelR\x05level"^\n\x1cPreviewOntologyPullFolderRow\x12\x1f\n\x0bfolder_path\x18\x01 \x01(\tR\nfolderPath\x12\x1d\n\nfile_count\x18\x02 \x01(\x05R\tfileCount"\xa6\x03\n%PreviewOntologyPullFromRemoteResponse\x12\x1f\n\x0btotal_files\x18\x01 \x01(\x05R\ntotalFiles\x123\n\x16top_level_folder_count\x18\x02 \x01(\x05R\x13topLevelFolderCount\x12X\n\x0bfolder_rows\x18\x03 \x03(\x0b27.textql.rpc.public.patches.PreviewOntologyPullFolderRowR\nfolderRows\x12/\n\x13unrelated_histories\x18\x04 \x01(\x08R\x12unrelatedHistories\x12O\n$unrelated_histories_remote_additions\x18\x05 \x03(\tR!unrelatedHistoriesRemoteAdditions\x12K\n"unrelated_histories_conflict_paths\x18\x06 \x03(\tR\x1funrelatedHistoriesConflictPaths"x\n\x1fUpdateOntologySyncConfigRequest\x12!\n\x0csync_enabled\x18\x01 \x01(\x08R\x0bsyncEnabled\x122\n\x15sync_interval_minutes\x18\x02 \x01(\x05R\x13syncIntervalMinutes"e\n UpdateOntologySyncConfigResponse\x12A\n\x06remote\x18\x01 \x01(\x0b2).textql.rpc.public.patches.OntologyRemoteR\x06remote"\x98\x04\n\x0fOntologySyncRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12 \n\tremote_id\x18\x02 \x01(\tH\x00R\x08remoteId\x88\x01\x01\x12"\n\nremote_url\x18\x03 \x01(\tH\x01R\tremoteUrl\x88\x01\x01\x12*\n\x0edefault_branch\x18\x04 \x01(\tH\x02R\rdefaultBranch\x88\x01\x01\x12\x16\n\x06source\x18\x05 \x01(\tR\x06source\x12H\n\x06status\x18\x06 \x01(\x0e20.textql.rpc.public.patches.OntologySyncRunStatusR\x06status\x129\n\nstarted_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartedAt\x12B\n\x0ccompleted_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x03R\x0bcompletedAt\x88\x01\x01\x12(\n\rerror_message\x18\t \x01(\tH\x04R\x0cerrorMessage\x88\x01\x01\x12%\n\x0econflict_count\x18\n \x01(\x05R\rconflictCountB\x0c\n\n_remote_idB\r\n\x0b_remote_urlB\x11\n\x0f_default_branchB\x0f\n\r_completed_atB\x10\n\x0e_error_message"\x80\x01\n\x1bListOntologySyncRunsRequest\x12 \n\tpage_size\x18\x01 \x01(\x05H\x00R\x08pageSize\x88\x01\x01\x12"\n\npage_token\x18\x02 \x01(\tH\x01R\tpageToken\x88\x01\x01B\x0c\n\n_page_sizeB\r\n\x0b_page_token"\x9f\x01\n\x1cListOntologySyncRunsResponse\x12>\n\x04runs\x18\x01 \x03(\x0b2*.textql.rpc.public.patches.OntologySyncRunR\x04runs\x12+\n\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01B\x12\n\x10_next_page_token"\xeb\x01\n\x14OntologySyncConflict\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\tfile_path\x18\x02 \x01(\tR\x08filePath\x12!\n\x0cours_content\x18\x03 \x01(\tR\x0boursContent\x12%\n\x0etheirs_content\x18\x04 \x01(\tR\rtheirsContent\x12!\n\x0cbase_content\x18\x05 \x01(\tR\x0bbaseContent\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"!\n\x1fGetOntologySyncConflictsRequest"q\n GetOntologySyncConflictsResponse\x12M\n\tconflicts\x18\x01 \x03(\x0b2/.textql.rpc.public.patches.OntologySyncConflictR\tconflicts"p\n"ResolveOntologySyncConflictRequest\x12\x1f\n\x0bconflict_id\x18\x01 \x01(\tR\nconflictId\x12)\n\x10resolved_content\x18\x02 \x01(\tR\x0fresolvedContent"\x96\x01\n%MigrateLegacyContextToOntologyRequest\x12\x1c\n\x07dry_run\x18\x01 \x01(\x08H\x00R\x06dryRun\x88\x01\x01\x12.\n\x10include_inactive\x18\x02 \x01(\x08H\x01R\x0fincludeInactive\x88\x01\x01B\n\n\x08_dry_runB\x13\n\x11_include_inactive"\xd0\x02\n\x1bMigratedLegacyContextPrompt\x127\n\x18legacy_context_prompt_id\x18\x01 \x01(\tR\x15legacyContextPromptId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n\x0bfolder_path\x18\x03 \x01(\tR\nfolderPath\x12\x1b\n\tfile_path\x18\x04 \x01(\tR\x08filePath\x12\x18\n\x07created\x18\x05 \x01(\x08R\x07created\x12\x18\n\x07skipped\x18\x06 \x01(\x08R\x07skipped\x12$\n\x0bskip_reason\x18\x07 \x01(\tH\x00R\nskipReason\x88\x01\x01\x12\x1b\n\tis_public\x18\x08 \x01(\x08R\x08isPublic\x12\x1f\n\x0bauto_attach\x18\t \x01(\x08R\nautoAttachB\x0e\n\x0c_skip_reason"\x8b\x02\n&MigrateLegacyContextToOntologyResponse\x12P\n\x07prompts\x18\x01 \x03(\x0b26.textql.rpc.public.patches.MigratedLegacyContextPromptR\x07prompts\x12#\n\rcreated_count\x18\x02 \x01(\x05R\x0ccreatedCount\x12#\n\rskipped_count\x18\x03 \x01(\x05R\x0cskippedCount\x12,\n\x12total_legacy_count\x18\x04 \x01(\x05R\x10totalLegacyCount\x12\x17\n\x07dry_run\x18\x05 \x01(\x08R\x06dryRun"o\n MigrateOntologyToOntologyRequest\x12!\n\x0contology_ids\x18\x01 \x03(\x05R\x0bontologyIds\x12\x1c\n\x07dry_run\x18\x02 \x01(\x08H\x00R\x06dryRun\x88\x01\x01B\n\n\x08_dry_run"\xd3\x01\n\x14MigratedOntologyNoun\x12\x17\n\x07noun_id\x18\x01 \x01(\tR\x06nounId\x12\x1b\n\tnoun_name\x18\x02 \x01(\tR\x08nounName\x12\x1b\n\tfile_path\x18\x03 \x01(\tR\x08filePath\x12\x18\n\x07created\x18\x04 \x01(\x08R\x07created\x12\x18\n\x07skipped\x18\x05 \x01(\x08R\x07skipped\x12$\n\x0bskip_reason\x18\x06 \x01(\tH\x00R\nskipReason\x88\x01\x01B\x0e\n\x0c_skip_reason"\xba\x02\n\x1fMigrateOntologyToOntologyResult\x12\x1f\n\x0bontology_id\x18\x01 \x01(\x05R\nontologyId\x12#\n\rontology_name\x18\x02 \x01(\tR\x0contologyName\x12\x1f\n\x0bfolder_path\x18\x03 \x01(\tR\nfolderPath\x12E\n\x05nouns\x18\x04 \x03(\x0b2/.textql.rpc.public.patches.MigratedOntologyNounR\x05nouns\x12#\n\rcreated_count\x18\x05 \x01(\x05R\x0ccreatedCount\x12#\n\rskipped_count\x18\x06 \x01(\x05R\x0cskippedCount\x12\x1f\n\x0btotal_nouns\x18\x07 \x01(\x05R\ntotalNouns"\xdc\x01\n!MigrateOntologyToOntologyResponse\x12T\n\x07results\x18\x01 \x03(\x0b2:.textql.rpc.public.patches.MigrateOntologyToOntologyResultR\x07results\x12#\n\rtotal_created\x18\x02 \x01(\x05R\x0ctotalCreated\x12#\n\rtotal_skipped\x18\x03 \x01(\x05R\x0ctotalSkipped\x12\x17\n\x07dry_run\x18\x04 \x01(\x08R\x06dryRun"k\n\x1bAddOntologySubmoduleRequest\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1b\n\x06branch\x18\x03 \x01(\tH\x00R\x06branch\x88\x01\x01B\t\n\x07_branch"\\\n\x1cAddOntologySubmoduleResponse\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x16\n\x06branch\x18\x03 \x01(\tR\x06branch"4\n\x1eRemoveOntologySubmoduleRequest\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path"\x1f\n\x1dListOntologySubmodulesRequest"e\n\x11OntologySubmodule\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12\x16\n\x06branch\x18\x04 \x01(\tR\x06branch"n\n\x1eListOntologySubmodulesResponse\x12L\n\nsubmodules\x18\x01 \x03(\x0b2,.textql.rpc.public.patches.OntologySubmoduleR\nsubmodules"\xcc\x02\n\x1bContextPatchAutoApproveRule\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12%\n\x0edirectory_path\x18\x02 \x01(\tR\rdirectoryPath\x12.\n\x13always_auto_approve\x18\x03 \x01(\x08R\x11alwaysAutoApprove\x12\x19\n\x08role_ids\x18\x04 \x03(\tR\x07roleIds\x12\x1b\n\tagent_ids\x18\x05 \x03(\tR\x08agentIds\x12\x18\n\x07enabled\x18\x06 \x01(\x08R\x07enabled\x129\n\ncreated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt"\xdc\x01\n ContextPatchAutoApproveRuleInput\x12%\n\x0edirectory_path\x18\x01 \x01(\tR\rdirectoryPath\x12.\n\x13always_auto_approve\x18\x02 \x01(\x08R\x11alwaysAutoApprove\x12\x19\n\x08role_ids\x18\x03 \x03(\tR\x07roleIds\x12\x1b\n\tagent_ids\x18\x04 \x03(\tR\x08agentIds\x12\x1d\n\x07enabled\x18\x05 \x01(\x08H\x00R\x07enabled\x88\x01\x01B\n\n\x08_enabled")\n\'ListContextPatchAutoApproveRulesRequest"x\n(ListContextPatchAutoApproveRulesResponse\x12L\n\x05rules\x18\x01 \x03(\x0b26.textql.rpc.public.patches.ContextPatchAutoApproveRuleR\x05rules"{\n(CreateContextPatchAutoApproveRuleRequest\x12O\n\x04rule\x18\x01 \x01(\x0b2;.textql.rpc.public.patches.ContextPatchAutoApproveRuleInputR\x04rule"w\n)CreateContextPatchAutoApproveRuleResponse\x12J\n\x04rule\x18\x01 \x01(\x0b26.textql.rpc.public.patches.ContextPatchAutoApproveRuleR\x04rule"\x8b\x01\n(UpdateContextPatchAutoApproveRuleRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12O\n\x04rule\x18\x02 \x01(\x0b2;.textql.rpc.public.patches.ContextPatchAutoApproveRuleInputR\x04rule"w\n)UpdateContextPatchAutoApproveRuleResponse\x12J\n\x04rule\x18\x01 \x01(\x0b26.textql.rpc.public.patches.ContextPatchAutoApproveRuleR\x04rule":\n(DeleteContextPatchAutoApproveRuleRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x9f\x02\n\x0cApprovalRule\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12%\n\x0edirectory_path\x18\x02 \x01(\tR\rdirectoryPath\x12-\n\x12required_approvals\x18\x03 \x01(\x05R\x11requiredApprovals\x12\x19\n\x08role_ids\x18\x04 \x03(\tR\x07roleIds\x12\x18\n\x07enabled\x18\x05 \x01(\x08R\x07enabled\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt"\xaf\x01\n\x11ApprovalRuleInput\x12%\n\x0edirectory_path\x18\x01 \x01(\tR\rdirectoryPath\x12-\n\x12required_approvals\x18\x02 \x01(\x05R\x11requiredApprovals\x12\x19\n\x08role_ids\x18\x03 \x03(\tR\x07roleIds\x12\x1d\n\x07enabled\x18\x04 \x01(\x08H\x00R\x07enabled\x88\x01\x01B\n\n\x08_enabled"\x1a\n\x18ListApprovalRulesRequest"Z\n\x19ListApprovalRulesResponse\x12=\n\x05rules\x18\x01 \x03(\x0b2\'.textql.rpc.public.patches.ApprovalRuleR\x05rules"]\n\x19CreateApprovalRuleRequest\x12@\n\x04rule\x18\x01 \x01(\x0b2,.textql.rpc.public.patches.ApprovalRuleInputR\x04rule"Y\n\x1aCreateApprovalRuleResponse\x12;\n\x04rule\x18\x01 \x01(\x0b2\'.textql.rpc.public.patches.ApprovalRuleR\x04rule"m\n\x19UpdateApprovalRuleRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12@\n\x04rule\x18\x02 \x01(\x0b2,.textql.rpc.public.patches.ApprovalRuleInputR\x04rule"Y\n\x1aUpdateApprovalRuleResponse\x12;\n\x04rule\x18\x01 \x01(\x0b2\'.textql.rpc.public.patches.ApprovalRuleR\x04rule"+\n\x19DeleteApprovalRuleRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1c\n\x1aListOntologyImportsRequest"l\n\x12OntologyImportEdge\x12\x1f\n\x0bsource_path\x18\x01 \x01(\tR\nsourcePath\x12\x1f\n\x0btarget_path\x18\x02 \x01(\tR\ntargetPath\x12\x14\n\x05alias\x18\x03 \x01(\tR\x05alias"f\n\x1bListOntologyImportsResponse\x12G\n\x07imports\x18\x01 \x03(\x0b2-.textql.rpc.public.patches.OntologyImportEdgeR\x07imports"\xe5\x02\n\x13GetFileUsageRequest\x12$\n\x0bpath_prefix\x18\x01 \x01(\tH\x00R\npathPrefix\x88\x01\x01\x12B\n\x05order\x18\x02 \x01(\x0e2\'.textql.rpc.public.patches.UsageOrderByH\x01R\x05order\x88\x01\x01\x12M\n\x12observation_period\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationH\x02R\x11observationPeriod\x88\x01\x01\x12$\n\x0bpage_cursor\x18\x04 \x01(\tH\x03R\npageCursor\x88\x01\x01\x12 \n\tpage_size\x18\x05 \x01(\x05H\x04R\x08pageSize\x88\x01\x01B\x0e\n\x0c_path_prefixB\x08\n\x06_orderB\x15\n\x13_observation_periodB\x0e\n\x0c_page_cursorB\x0c\n\n_page_size"\xe2\x03\n\tFileUsage\x12\x1b\n\tfile_path\x18\x01 \x01(\tR\x08filePath\x12%\n\x0eaverage_tokens\x18\x02 \x01(\x05R\raverageTokens\x12G\n\x12average_query_time\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x10averageQueryTime\x12\x19\n\x08hit_rate\x18\x04 \x01(\x02R\x07hitRate\x12\x1d\n\nnum_errors\x18\x05 \x01(\x05R\tnumErrors\x12\x1f\n\x0bnum_empties\x18\x06 \x01(\x05R\nnumEmpties\x12!\n\x0cchats_pulled\x18\x07 \x01(\x05R\x0bchatsPulled\x12\x1d\n\nchats_used\x18\x08 \x01(\x05R\tchatsUsed\x12;\n\x0blast_pulled\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\nlastPulled\x125\n\x08last_run\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\x07lastRun\x127\n\tlast_used\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampR\x08lastUsed"\x96\x01\n\x14GetFileUsageResponse\x12:\n\x05files\x18\x01 \x03(\x0b2$.textql.rpc.public.patches.FileUsageR\x05files\x12-\n\x10next_page_cursor\x18\x02 \x01(\tH\x00R\x0enextPageCursor\x88\x01\x01B\x13\n\x11_next_page_cursor"\x86\x01\n\x1eGetOntologyUsageSummaryRequest\x12M\n\x12observation_period\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x11observationPeriod\x88\x01\x01B\x15\n\x13_observation_period"\xf6\x01\n\x1fGetOntologyUsageSummaryResponse\x12\x1f\n\x0btotal_files\x18\x01 \x01(\x05R\ntotalFiles\x12!\n\x0cpulled_files\x18\x02 \x01(\x05R\x0bpulledFiles\x12\x1d\n\ndead_files\x18\x03 \x01(\x05R\tdeadFiles\x12 \n\x0cavg_hit_rate\x18\x04 \x01(\x02R\navgHitRate\x12\x1f\n\x0berror_files\x18\x05 \x01(\x05R\nerrorFiles\x12-\n\x12reclaimable_tokens\x18\x06 \x01(\x03R\x11reclaimableTokens"\x92\x01\n\x18ListOntologyFilesRequest\x12M\n\x12observation_period\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x11observationPeriod\x88\x01\x01:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALB\x15\n\x13_observation_period"i\n\x19ListOntologyFilesResponse\x12:\n\x05files\x18\x01 \x03(\x0b2$.textql.rpc.public.patches.FileUsageR\x05files:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"B\n\x04Date\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03day\x18\x03 \x01(\x05R\x03day"\xd2\x02\n\x0eDailyFileUsage\x123\n\x04date\x18\x01 \x01(\x0b2\x1f.textql.rpc.public.patches.DateR\x04date\x12%\n\x0eaverage_tokens\x18\x02 \x01(\x05R\raverageTokens\x12G\n\x12average_query_time\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x10averageQueryTime\x12\x19\n\x08hit_rate\x18\x04 \x01(\x02R\x07hitRate\x12\x1d\n\nnum_errors\x18\x05 \x01(\x05R\tnumErrors\x12\x1f\n\x0bnum_empties\x18\x06 \x01(\x05R\nnumEmpties\x12!\n\x0cchats_pulled\x18\x07 \x01(\x05R\x0bchatsPulled\x12\x1d\n\nchats_used\x18\x08 \x01(\x05R\tchatsUsed"\xa2\x01\n\x1dGetUsageDetailsForFileRequest\x12\x1b\n\tfile_path\x18\x01 \x01(\tR\x08filePath\x12M\n\x12observation_period\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x11observationPeriod\x88\x01\x01B\x15\n\x13_observation_period"\x98\x01\n\x1eGetUsageDetailsForFileResponse\x127\n\tlast_used\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08lastUsed\x12=\n\x04days\x18\x02 \x03(\x0b2).textql.rpc.public.patches.DailyFileUsageR\x04days"\xc1\x01\n\x17ListChatsForFileRequest\x12\x1b\n\tfile_path\x18\x01 \x01(\tR\x08filePath\x12M\n\x12observation_period\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x11observationPeriod\x88\x01\x01\x12\x19\n\x05limit\x18\x03 \x01(\x05H\x01R\x05limit\x88\x01\x01B\x15\n\x13_observation_periodB\x08\n\x06_limit"\x8f\x01\n\rFileChatUsage\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x14\n\x05title\x18\x02 \x01(\tR\x05title\x12;\n\x0blast_pulled\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\nlastPulled\x12\x12\n\x04used\x18\x04 \x01(\x08R\x04used"Z\n\x18ListChatsForFileResponse\x12>\n\x05chats\x18\x01 \x03(\x0b2(.textql.rpc.public.patches.FileChatUsageR\x05chats"\xb9\x01\n\x1bGetFileUsageTimelineRequest\x12$\n\x0bpath_prefix\x18\x01 \x01(\tH\x00R\npathPrefix\x88\x01\x01\x12M\n\x12observation_period\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationH\x01R\x11observationPeriod\x88\x01\x01B\x0e\n\x0c_path_prefixB\x15\n\x13_observation_period"]\n\x1cGetFileUsageTimelineResponse\x12=\n\x04days\x18\x01 \x03(\x0b2).textql.rpc.public.patches.DailyFileUsageR\x04days"\x86\x01\n\x1eGetOntologySizeTimelineRequest\x12M\n\x12observation_period\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x11observationPeriod\x88\x01\x01B\x15\n\x13_observation_period"\x86\x01\n\x0fOntologySizeDay\x123\n\x04date\x18\x01 \x01(\x0b2\x1f.textql.rpc.public.patches.DateR\x04date\x12\x1f\n\x0btotal_bytes\x18\x02 \x01(\x03R\ntotalBytes\x12\x1d\n\nfile_count\x18\x03 \x01(\x05R\tfileCount"a\n\x1fGetOntologySizeTimelineResponse\x12>\n\x04days\x18\x01 \x03(\x0b2*.textql.rpc.public.patches.OntologySizeDayR\x04days*\xa5\x01\n\x0bPatchStatus\x12\x18\n\x14PATCH_STATUS_UNKNOWN\x10\x00\x12\x19\n\x15PATCH_STATUS_RESERVED\x10\x01\x12\x16\n\x12PATCH_STATUS_DRAFT\x10\x02\x12\x15\n\x11PATCH_STATUS_OPEN\x10\x03\x12\x19\n\x15PATCH_STATUS_APPROVED\x10\x04\x12\x17\n\x13PATCH_STATUS_DENIED\x10\x05*Y\n\x0bPatchLineOp\x12\x19\n\x15PATCH_LINE_OP_CONTEXT\x10\x00\x12\x18\n\x14PATCH_LINE_OP_DELETE\x10\x01\x12\x15\n\x11PATCH_LINE_OP_ADD\x10\x02*\x99\x01\n\x15ConfigDiagnosticClass\x12\'\n#CONFIG_DIAGNOSTIC_CLASS_UNSPECIFIED\x10\x00\x12(\n$CONFIG_DIAGNOSTIC_CLASS_EDIT_FIXABLE\x10\x01\x12-\n)CONFIG_DIAGNOSTIC_CLASS_ORG_STATE_FIXABLE\x10\x02*\xcb\x01\n\x10OntologyFileKind\x12"\n\x1eONTOLOGY_FILE_KIND_UNSPECIFIED\x10\x00\x12\x1b\n\x17ONTOLOGY_FILE_KIND_TEXT\x10\x01\x12\x1a\n\x16ONTOLOGY_FILE_KIND_PDF\x10\x02\x12\x1c\n\x18ONTOLOGY_FILE_KIND_IMAGE\x10\x03\x12\x1c\n\x18ONTOLOGY_FILE_KIND_ASSET\x10\x04\x12\x1e\n\x1aONTOLOGY_FILE_KIND_TABULAR\x10\x05*\xf0\x01\n\x19OntologyHistoryChangeType\x12,\n(ONTOLOGY_HISTORY_CHANGE_TYPE_UNSPECIFIED\x10\x00\x12&\n"ONTOLOGY_HISTORY_CHANGE_TYPE_ADDED\x10\x01\x12)\n%ONTOLOGY_HISTORY_CHANGE_TYPE_MODIFIED\x10\x02\x12(\n$ONTOLOGY_HISTORY_CHANGE_TYPE_DELETED\x10\x03\x12(\n$ONTOLOGY_HISTORY_CHANGE_TYPE_RENAMED\x10\x04*\xee\x01\n\x12OntologyPermission\x12#\n\x1fONTOLOGY_PERMISSION_UNSPECIFIED\x10\x00\x12\x1f\n\x1bONTOLOGY_PERMISSION_EXECUTE\x10\x01\x12\x1c\n\x18ONTOLOGY_PERMISSION_READ\x10\x04\x12$\n ONTOLOGY_PERMISSION_READ_EXECUTE\x10\x05\x12"\n\x1eONTOLOGY_PERMISSION_READ_WRITE\x10\x06\x12*\n&ONTOLOGY_PERMISSION_READ_WRITE_EXECUTE\x10\x07*\xc5\x02\n\x14OntologyMergeOutcome\x12&\n"ONTOLOGY_MERGE_OUTCOME_UNSPECIFIED\x10\x00\x12-\n)ONTOLOGY_MERGE_OUTCOME_ALREADY_UP_TO_DATE\x10\x01\x12&\n"ONTOLOGY_MERGE_OUTCOME_LOCAL_AHEAD\x10\x02\x12\'\n#ONTOLOGY_MERGE_OUTCOME_FAST_FORWARD\x10\x03\x12*\n&ONTOLOGY_MERGE_OUTCOME_BOOTSTRAP_ADOPT\x10\x04\x12)\n%ONTOLOGY_MERGE_OUTCOME_MERGE_REQUIRED\x10\x05\x12.\n*ONTOLOGY_MERGE_OUTCOME_UNRELATED_HISTORIES\x10\x06*\xb8\x01\n\x14RecoverOntologyLevel\x12&\n"RECOVER_ONTOLOGY_LEVEL_UNSPECIFIED\x10\x00\x12(\n$RECOVER_ONTOLOGY_LEVEL_DISCARD_LOCAL\x10\x01\x12*\n&RECOVER_ONTOLOGY_LEVEL_RESET_TO_REMOTE\x10\x02\x12"\n\x1eRECOVER_ONTOLOGY_LEVEL_RECLONE\x10\x03*\xe0\x01\n\x15OntologySyncRunStatus\x12(\n$ONTOLOGY_SYNC_RUN_STATUS_UNSPECIFIED\x10\x00\x12(\n$ONTOLOGY_SYNC_RUN_STATUS_IN_PROGRESS\x10\x01\x12&\n"ONTOLOGY_SYNC_RUN_STATUS_SUCCEEDED\x10\x02\x12#\n\x1fONTOLOGY_SYNC_RUN_STATUS_FAILED\x10\x03\x12&\n"ONTOLOGY_SYNC_RUN_STATUS_CONFLICTS\x10\x04*\xae\x01\n\x0cUsageOrderBy\x12\x14\n\x10ORDER_BY_UNKNOWN\x10\x00\x12\x1f\n\x1bORDER_BY_MOST_RECENTLY_USED\x10\x01\x12 \n\x1cORDER_BY_LEAST_RECENTLY_USED\x10\x02\x12!\n\x1dORDER_BY_MOST_FREQUENTLY_USED\x10\x03\x12"\n\x1eORDER_BY_LEAST_FREQUENTLY_USED\x10\x042\xddM\n\x19OntologyManagementService\x12q\n\x0bListPatches\x12-.textql.rpc.public.patches.ListPatchesRequest\x1a..textql.rpc.public.patches.ListPatchesResponse"\x03\x90\x02\x01\x12]\n\x08GetPatch\x12*.textql.rpc.public.patches.GetPatchRequest\x1a .textql.rpc.public.patches.Patch"\x03\x90\x02\x01\x12m\n\x10GetPatchByNumber\x122.textql.rpc.public.patches.GetPatchByNumberRequest\x1a .textql.rpc.public.patches.Patch"\x03\x90\x02\x01\x12q\n\x0bGetRawPatch\x12-.textql.rpc.public.patches.GetRawPatchRequest\x1a..textql.rpc.public.patches.GetRawPatchResponse"\x03\x90\x02\x01\x12z\n\x0eValidateConfig\x120.textql.rpc.public.patches.ValidateConfigRequest\x1a1.textql.rpc.public.patches.ValidateConfigResponse"\x03\x90\x02\x01\x12o\n\x0cApprovePatch\x12..textql.rpc.public.patches.ApprovePatchRequest\x1a/.textql.rpc.public.patches.ApprovePatchResponse\x12\x81\x01\n\x12RequestPatchReview\x124.textql.rpc.public.patches.RequestPatchReviewRequest\x1a5.textql.rpc.public.patches.RequestPatchReviewResponse\x12\x86\x01\n\x12ListPatchReviewers\x124.textql.rpc.public.patches.ListPatchReviewersRequest\x1a5.textql.rpc.public.patches.ListPatchReviewersResponse"\x03\x90\x02\x01\x12P\n\tDenyPatch\x12+.textql.rpc.public.patches.DenyPatchRequest\x1a\x16.google.protobuf.Empty\x12V\n\x0cRestorePatch\x12..textql.rpc.public.patches.RestorePatchRequest\x1a\x16.google.protobuf.Empty\x12l\n\x0bRevertPatch\x12-.textql.rpc.public.patches.RevertPatchRequest\x1a..textql.rpc.public.patches.RevertPatchResponse\x12\x81\x01\n\x12SaveObjectAsConfig\x124.textql.rpc.public.patches.SaveObjectAsConfigRequest\x1a5.textql.rpc.public.patches.SaveObjectAsConfigResponse\x12\x8d\x01\n\x16SaveAllObjectsAsConfig\x128.textql.rpc.public.patches.SaveAllObjectsAsConfigRequest\x1a9.textql.rpc.public.patches.SaveAllObjectsAsConfigResponse\x12\xa1\x01\n\x1bGetConfigExportCapabilities\x12=.textql.rpc.public.patches.GetConfigExportCapabilitiesRequest\x1a>.textql.rpc.public.patches.GetConfigExportCapabilitiesResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x14GetPatchCapabilities\x126.textql.rpc.public.patches.GetPatchCapabilitiesRequest\x1a7.textql.rpc.public.patches.GetPatchCapabilitiesResponse"\x03\x90\x02\x01\x12\x89\x01\n\x13ListOntologyEntries\x125.textql.rpc.public.patches.ListOntologyEntriesRequest\x1a6.textql.rpc.public.patches.ListOntologyEntriesResponse"\x03\x90\x02\x01\x12}\n\x0fGetOntologyFile\x121.textql.rpc.public.patches.GetOntologyFileRequest\x1a2.textql.rpc.public.patches.GetOntologyFileResponse"\x03\x90\x02\x01\x12\x9c\x01\n\x1bCreateOntologyFileUploadUrl\x12=.textql.rpc.public.patches.CreateOntologyFileUploadUrlRequest\x1a>.textql.rpc.public.patches.CreateOntologyFileUploadUrlResponse\x12\x99\x01\n\x1aFinalizeOntologyFileUpload\x12<.textql.rpc.public.patches.FinalizeOntologyFileUploadRequest\x1a=.textql.rpc.public.patches.FinalizeOntologyFileUploadResponse\x12\x89\x01\n\x13ListOntologyHistory\x125.textql.rpc.public.patches.ListOntologyHistoryRequest\x1a6.textql.rpc.public.patches.ListOntologyHistoryResponse"\x03\x90\x02\x01\x12\x9e\x01\n\x1aGetOntologyHistoryFileDiff\x12<.textql.rpc.public.patches.GetOntologyHistoryFileDiffRequest\x1a=.textql.rpc.public.patches.GetOntologyHistoryFileDiffResponse"\x03\x90\x02\x01\x12\x81\x01\n\x12UpsertOntologyFile\x124.textql.rpc.public.patches.UpsertOntologyFileRequest\x1a5.textql.rpc.public.patches.UpsertOntologyFileResponse\x12\x90\x01\n\x17CreateOntologyDirectory\x129.textql.rpc.public.patches.CreateOntologyDirectoryRequest\x1a:.textql.rpc.public.patches.CreateOntologyDirectoryResponse\x12l\n\x17DeleteOntologyDirectory\x129.textql.rpc.public.patches.DeleteOntologyDirectoryRequest\x1a\x16.google.protobuf.Empty\x12\x81\x01\n\x12RenameOntologyFile\x124.textql.rpc.public.patches.RenameOntologyFileRequest\x1a5.textql.rpc.public.patches.RenameOntologyFileResponse\x12b\n\x12DeleteOntologyFile\x124.textql.rpc.public.patches.DeleteOntologyFileRequest\x1a\x16.google.protobuf.Empty\x12\x83\x01\n\x11GetOntologyOwners\x123.textql.rpc.public.patches.GetOntologyOwnersRequest\x1a4.textql.rpc.public.patches.GetOntologyOwnersResponse"\x03\x90\x02\x01\x12\x9e\x01\n\x1aGetEffectiveOntologyOwners\x12<.textql.rpc.public.patches.GetEffectiveOntologyOwnersRequest\x1a=.textql.rpc.public.patches.GetEffectiveOntologyOwnersResponse"\x03\x90\x02\x01\x12\x87\x01\n\x14UpsertOntologyOwners\x126.textql.rpc.public.patches.UpsertOntologyOwnersRequest\x1a7.textql.rpc.public.patches.UpsertOntologyOwnersResponse\x12f\n\x14DeleteOntologyOwners\x126.textql.rpc.public.patches.DeleteOntologyOwnersRequest\x1a\x16.google.protobuf.Empty\x12\x8c\x01\n\x14GetOntologyAnaConfig\x126.textql.rpc.public.patches.GetOntologyAnaConfigRequest\x1a7.textql.rpc.public.patches.GetOntologyAnaConfigResponse"\x03\x90\x02\x01\x12\x90\x01\n\x17UpsertOntologyAnaConfig\x129.textql.rpc.public.patches.UpsertOntologyAnaConfigRequest\x1a:.textql.rpc.public.patches.UpsertOntologyAnaConfigResponse\x12\x8a\x01\n\x15SetOntologyFileGolden\x127.textql.rpc.public.patches.SetOntologyFileGoldenRequest\x1a8.textql.rpc.public.patches.SetOntologyFileGoldenResponse\x12}\n\x0fListGoldenFiles\x121.textql.rpc.public.patches.ListGoldenFilesRequest\x1a2.textql.rpc.public.patches.ListGoldenFilesResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x14GetCodeownerCoverage\x126.textql.rpc.public.patches.GetCodeownerCoverageRequest\x1a7.textql.rpc.public.patches.GetCodeownerCoverageResponse"\x03\x90\x02\x01\x12n\n\nListSkills\x12,.textql.rpc.public.patches.ListSkillsRequest\x1a-.textql.rpc.public.patches.ListSkillsResponse"\x03\x90\x02\x01\x12\x83\x01\n\x11GetOntologyRemote\x123.textql.rpc.public.patches.GetOntologyRemoteRequest\x1a4.textql.rpc.public.patches.GetOntologyRemoteResponse"\x03\x90\x02\x01\x12\x90\x01\n\x17ConfigureOntologyRemote\x129.textql.rpc.public.patches.ConfigureOntologyRemoteRequest\x1a:.textql.rpc.public.patches.ConfigureOntologyRemoteResponse\x12\x96\x01\n\x19GetOntologyGithubOAuthURL\x12;.textql.rpc.public.patches.GetOntologyGithubOAuthURLRequest\x1a<.textql.rpc.public.patches.GetOntologyGithubOAuthURLResponse\x12\x99\x01\n\x1aExchangeOntologyGithubCode\x12<.textql.rpc.public.patches.ExchangeOntologyGithubCodeRequest\x1a=.textql.rpc.public.patches.ExchangeOntologyGithubCodeResponse\x12f\n\x14RemoveOntologyRemote\x126.textql.rpc.public.patches.RemoveOntologyRemoteRequest\x1a\x16.google.protobuf.Empty\x12f\n\x14PushOntologyToRemote\x126.textql.rpc.public.patches.PushOntologyToRemoteRequest\x1a\x16.google.protobuf.Empty\x12j\n\x16PullOntologyFromRemote\x128.textql.rpc.public.patches.PullOntologyFromRemoteRequest\x1a\x16.google.protobuf.Empty\x12\x9c\x01\n\x1bTriggerConfigDriftReconcile\x12=.textql.rpc.public.patches.TriggerConfigDriftReconcileRequest\x1a>.textql.rpc.public.patches.TriggerConfigDriftReconcileResponse\x12\xa7\x01\n\x1dPreviewOntologyPullFromRemote\x12?.textql.rpc.public.patches.PreviewOntologyPullFromRemoteRequest\x1a@.textql.rpc.public.patches.PreviewOntologyPullFromRemoteResponse"\x03\x90\x02\x01\x12\\\n\x0fRecoverOntology\x121.textql.rpc.public.patches.RecoverOntologyRequest\x1a\x16.google.protobuf.Empty\x12\x93\x01\n\x18UpdateOntologySyncConfig\x12:.textql.rpc.public.patches.UpdateOntologySyncConfigRequest\x1a;.textql.rpc.public.patches.UpdateOntologySyncConfigResponse\x12\x8c\x01\n\x14ListOntologySyncRuns\x126.textql.rpc.public.patches.ListOntologySyncRunsRequest\x1a7.textql.rpc.public.patches.ListOntologySyncRunsResponse"\x03\x90\x02\x01\x12\x98\x01\n\x18GetOntologySyncConflicts\x12:.textql.rpc.public.patches.GetOntologySyncConflictsRequest\x1a;.textql.rpc.public.patches.GetOntologySyncConflictsResponse"\x03\x90\x02\x01\x12t\n\x1bResolveOntologySyncConflict\x12=.textql.rpc.public.patches.ResolveOntologySyncConflictRequest\x1a\x16.google.protobuf.Empty\x12\xb7\x01\n\x1eMigrateLegacyContextToOntology\x12@.textql.rpc.public.patches.MigrateLegacyContextToOntologyRequest\x1aA.textql.rpc.public.patches.MigrateLegacyContextToOntologyResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\xae\x01\n\x1fMigrateOldOntologyToNewOntology\x12;.textql.rpc.public.patches.MigrateOntologyToOntologyRequest\x1a<.textql.rpc.public.patches.MigrateOntologyToOntologyResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\xae\x01\n\x1aGetOntologyMigrationStatus\x12<.textql.rpc.public.patches.GetOntologyMigrationStatusRequest\x1a=.textql.rpc.public.patches.GetOntologyMigrationStatusResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x83\x01\n\x11PlanOntologyMerge\x123.textql.rpc.public.patches.PlanOntologyMergeRequest\x1a4.textql.rpc.public.patches.PlanOntologyMergeResponse"\x03\x90\x02\x01\x12\x87\x01\n\x14AddOntologySubmodule\x126.textql.rpc.public.patches.AddOntologySubmoduleRequest\x1a7.textql.rpc.public.patches.AddOntologySubmoduleResponse\x12l\n\x17RemoveOntologySubmodule\x129.textql.rpc.public.patches.RemoveOntologySubmoduleRequest\x1a\x16.google.protobuf.Empty\x12\x92\x01\n\x16ListOntologySubmodules\x128.textql.rpc.public.patches.ListOntologySubmodulesRequest\x1a9.textql.rpc.public.patches.ListOntologySubmodulesResponse"\x03\x90\x02\x01\x12\x89\x01\n\x13ListOntologyImports\x125.textql.rpc.public.patches.ListOntologyImportsRequest\x1a6.textql.rpc.public.patches.ListOntologyImportsResponse"\x03\x90\x02\x01\x12\xb0\x01\n ListContextPatchAutoApproveRules\x12B.textql.rpc.public.patches.ListContextPatchAutoApproveRulesRequest\x1aC.textql.rpc.public.patches.ListContextPatchAutoApproveRulesResponse"\x03\x90\x02\x01\x12\xae\x01\n!CreateContextPatchAutoApproveRule\x12C.textql.rpc.public.patches.CreateContextPatchAutoApproveRuleRequest\x1aD.textql.rpc.public.patches.CreateContextPatchAutoApproveRuleResponse\x12\xae\x01\n!UpdateContextPatchAutoApproveRule\x12C.textql.rpc.public.patches.UpdateContextPatchAutoApproveRuleRequest\x1aD.textql.rpc.public.patches.UpdateContextPatchAutoApproveRuleResponse\x12\x80\x01\n!DeleteContextPatchAutoApproveRule\x12C.textql.rpc.public.patches.DeleteContextPatchAutoApproveRuleRequest\x1a\x16.google.protobuf.Empty\x12\x83\x01\n\x11ListApprovalRules\x123.textql.rpc.public.patches.ListApprovalRulesRequest\x1a4.textql.rpc.public.patches.ListApprovalRulesResponse"\x03\x90\x02\x01\x12\x81\x01\n\x12CreateApprovalRule\x124.textql.rpc.public.patches.CreateApprovalRuleRequest\x1a5.textql.rpc.public.patches.CreateApprovalRuleResponse\x12\x81\x01\n\x12UpdateApprovalRule\x124.textql.rpc.public.patches.UpdateApprovalRuleRequest\x1a5.textql.rpc.public.patches.UpdateApprovalRuleResponse\x12b\n\x12DeleteApprovalRule\x124.textql.rpc.public.patches.DeleteApprovalRuleRequest\x1a\x16.google.protobuf.Empty\x12t\n\x0cGetFileUsage\x12..textql.rpc.public.patches.GetFileUsageRequest\x1a/.textql.rpc.public.patches.GetFileUsageResponse"\x03\x90\x02\x01\x12\x92\x01\n\x16GetUsageDetailsForFile\x128.textql.rpc.public.patches.GetUsageDetailsForFileRequest\x1a9.textql.rpc.public.patches.GetUsageDetailsForFileResponse"\x03\x90\x02\x01\x12\x80\x01\n\x10ListChatsForFile\x122.textql.rpc.public.patches.ListChatsForFileRequest\x1a3.textql.rpc.public.patches.ListChatsForFileResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x14GetFileUsageTimeline\x126.textql.rpc.public.patches.GetFileUsageTimelineRequest\x1a7.textql.rpc.public.patches.GetFileUsageTimelineResponse"\x03\x90\x02\x01\x12\x95\x01\n\x17GetOntologySizeTimeline\x129.textql.rpc.public.patches.GetOntologySizeTimelineRequest\x1a:.textql.rpc.public.patches.GetOntologySizeTimelineResponse"\x03\x90\x02\x01\x12\x95\x01\n\x17GetOntologyUsageSummary\x129.textql.rpc.public.patches.GetOntologyUsageSummaryRequest\x1a:.textql.rpc.public.patches.GetOntologyUsageSummaryResponse"\x03\x90\x02\x01\x12\x93\x01\n\x11ListOntologyFiles\x123.textql.rpc.public.patches.ListOntologyFilesRequest\x1a4.textql.rpc.public.patches.ListOntologyFilesResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.patches_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PATCHCAPABILITIES'].fields_by_name['approve_requires_admin']._loaded_options = None + _globals['_PATCHCAPABILITIES'].fields_by_name['approve_requires_admin']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_LISTONTOLOGYFILESREQUEST']._loaded_options = None + _globals['_LISTONTOLOGYFILESREQUEST']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_LISTONTOLOGYFILESRESPONSE']._loaded_options = None + _globals['_LISTONTOLOGYFILESRESPONSE']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListPatches']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListPatches']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetPatch']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetPatch']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetPatchByNumber']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetPatchByNumber']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetRawPatch']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetRawPatch']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ValidateConfig']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ValidateConfig']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListPatchReviewers']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListPatchReviewers']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetConfigExportCapabilities']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetConfigExportCapabilities']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetPatchCapabilities']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetPatchCapabilities']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologyEntries']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologyEntries']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyFile']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyFile']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologyHistory']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologyHistory']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyHistoryFileDiff']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyHistoryFileDiff']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyOwners']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyOwners']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetEffectiveOntologyOwners']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetEffectiveOntologyOwners']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyAnaConfig']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyAnaConfig']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListGoldenFiles']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListGoldenFiles']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetCodeownerCoverage']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetCodeownerCoverage']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListSkills']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListSkills']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyRemote']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyRemote']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['PreviewOntologyPullFromRemote']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['PreviewOntologyPullFromRemote']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologySyncRuns']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologySyncRuns']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologySyncConflicts']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologySyncConflicts']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['MigrateLegacyContextToOntology']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['MigrateLegacyContextToOntology']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['MigrateOldOntologyToNewOntology']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['MigrateOldOntologyToNewOntology']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyMigrationStatus']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyMigrationStatus']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['PlanOntologyMerge']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['PlanOntologyMerge']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologySubmodules']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologySubmodules']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologyImports']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologyImports']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListContextPatchAutoApproveRules']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListContextPatchAutoApproveRules']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListApprovalRules']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListApprovalRules']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetFileUsage']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetFileUsage']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetUsageDetailsForFile']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetUsageDetailsForFile']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListChatsForFile']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListChatsForFile']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetFileUsageTimeline']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetFileUsageTimeline']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologySizeTimeline']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologySizeTimeline']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyUsageSummary']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['GetOntologyUsageSummary']._serialized_options = b'\x90\x02\x01' + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologyFiles']._loaded_options = None + _globals['_ONTOLOGYMANAGEMENTSERVICE'].methods_by_name['ListOntologyFiles']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_PATCHSTATUS']._serialized_start = 27329 + _globals['_PATCHSTATUS']._serialized_end = 27494 + _globals['_PATCHLINEOP']._serialized_start = 27496 + _globals['_PATCHLINEOP']._serialized_end = 27585 + _globals['_CONFIGDIAGNOSTICCLASS']._serialized_start = 27588 + _globals['_CONFIGDIAGNOSTICCLASS']._serialized_end = 27741 + _globals['_ONTOLOGYFILEKIND']._serialized_start = 27744 + _globals['_ONTOLOGYFILEKIND']._serialized_end = 27947 + _globals['_ONTOLOGYHISTORYCHANGETYPE']._serialized_start = 27950 + _globals['_ONTOLOGYHISTORYCHANGETYPE']._serialized_end = 28190 + _globals['_ONTOLOGYPERMISSION']._serialized_start = 28193 + _globals['_ONTOLOGYPERMISSION']._serialized_end = 28431 + _globals['_ONTOLOGYMERGEOUTCOME']._serialized_start = 28434 + _globals['_ONTOLOGYMERGEOUTCOME']._serialized_end = 28759 + _globals['_RECOVERONTOLOGYLEVEL']._serialized_start = 28762 + _globals['_RECOVERONTOLOGYLEVEL']._serialized_end = 28946 + _globals['_ONTOLOGYSYNCRUNSTATUS']._serialized_start = 28949 + _globals['_ONTOLOGYSYNCRUNSTATUS']._serialized_end = 29173 + _globals['_USAGEORDERBY']._serialized_start = 29176 + _globals['_USAGEORDERBY']._serialized_end = 29350 + _globals['_SKILL']._serialized_start = 202 + _globals['_SKILL']._serialized_end = 309 + _globals['_LISTSKILLSREQUEST']._serialized_start = 311 + _globals['_LISTSKILLSREQUEST']._serialized_end = 330 + _globals['_LISTSKILLSRESPONSE']._serialized_start = 332 + _globals['_LISTSKILLSRESPONSE']._serialized_end = 410 + _globals['_PATCHLINE']._serialized_start = 412 + _globals['_PATCHLINE']._serialized_end = 499 + _globals['_PATCHHUNK']._serialized_start = 502 + _globals['_PATCHHUNK']._serialized_end = 881 + _globals['_PATCHDIFF']._serialized_start = 884 + _globals['_PATCHDIFF']._serialized_end = 1332 + _globals['_PATCH']._serialized_start = 1335 + _globals['_PATCH']._serialized_end = 2413 + _globals['_PATCHCODEOWNERSTATUS']._serialized_start = 2416 + _globals['_PATCHCODEOWNERSTATUS']._serialized_end = 2620 + _globals['_PATCHCAPABILITIES']._serialized_start = 2623 + _globals['_PATCHCAPABILITIES']._serialized_end = 2848 + _globals['_LISTPATCHESREQUEST']._serialized_start = 2851 + _globals['_LISTPATCHESREQUEST']._serialized_end = 3121 + _globals['_PATCHSTATUSCOUNTS']._serialized_start = 3124 + _globals['_PATCHSTATUSCOUNTS']._serialized_end = 3275 + _globals['_LISTPATCHESRESPONSE']._serialized_start = 3278 + _globals['_LISTPATCHESRESPONSE']._serialized_end = 3510 + _globals['_APPROVEPATCHREQUEST']._serialized_start = 3512 + _globals['_APPROVEPATCHREQUEST']._serialized_end = 3602 + _globals['_APPROVEPATCHRESPONSE']._serialized_start = 3605 + _globals['_APPROVEPATCHRESPONSE']._serialized_end = 3780 + _globals['_REQUESTPATCHREVIEWREQUEST']._serialized_start = 3782 + _globals['_REQUESTPATCHREVIEWREQUEST']._serialized_end = 3882 + _globals['_REQUESTPATCHREVIEWRESPONSE']._serialized_start = 3884 + _globals['_REQUESTPATCHREVIEWRESPONSE']._serialized_end = 3932 + _globals['_LISTPATCHREVIEWERSREQUEST']._serialized_start = 3934 + _globals['_LISTPATCHREVIEWERSREQUEST']._serialized_end = 3988 + _globals['_PATCHREVIEWER']._serialized_start = 3991 + _globals['_PATCHREVIEWER']._serialized_end = 4184 + _globals['_LISTPATCHREVIEWERSRESPONSE']._serialized_start = 4186 + _globals['_LISTPATCHREVIEWERSRESPONSE']._serialized_end = 4286 + _globals['_DENYPATCHREQUEST']._serialized_start = 4288 + _globals['_DENYPATCHREQUEST']._serialized_end = 4375 + _globals['_RESTOREPATCHREQUEST']._serialized_start = 4377 + _globals['_RESTOREPATCHREQUEST']._serialized_end = 4467 + _globals['_REVERTPATCHREQUEST']._serialized_start = 4469 + _globals['_REVERTPATCHREQUEST']._serialized_end = 4516 + _globals['_REVERTPATCHRESPONSE']._serialized_start = 4518 + _globals['_REVERTPATCHRESPONSE']._serialized_end = 4608 + _globals['_SAVEOBJECTASCONFIGREQUEST']._serialized_start = 4610 + _globals['_SAVEOBJECTASCONFIGREQUEST']._serialized_end = 4699 + _globals['_SAVEOBJECTASCONFIGRESPONSE']._serialized_start = 4701 + _globals['_SAVEOBJECTASCONFIGRESPONSE']._serialized_end = 4814 + _globals['_SAVEALLOBJECTSASCONFIGREQUEST']._serialized_start = 4816 + _globals['_SAVEALLOBJECTSASCONFIGREQUEST']._serialized_end = 4880 + _globals['_SAVEALLOBJECTSASCONFIGRESPONSE']._serialized_start = 4883 + _globals['_SAVEALLOBJECTSASCONFIGRESPONSE']._serialized_end = 5128 + _globals['_SKIPPEDCONFIGEXPORT']._serialized_start = 5130 + _globals['_SKIPPEDCONFIGEXPORT']._serialized_end = 5237 + _globals['_GETCONFIGEXPORTCAPABILITIESREQUEST']._serialized_start = 5239 + _globals['_GETCONFIGEXPORTCAPABILITIESREQUEST']._serialized_end = 5275 + _globals['_GETCONFIGEXPORTCAPABILITIESRESPONSE']._serialized_start = 5277 + _globals['_GETCONFIGEXPORTCAPABILITIESRESPONSE']._serialized_end = 5395 + _globals['_GETPATCHREQUEST']._serialized_start = 5397 + _globals['_GETPATCHREQUEST']._serialized_end = 5487 + _globals['_GETPATCHBYNUMBERREQUEST']._serialized_start = 5489 + _globals['_GETPATCHBYNUMBERREQUEST']._serialized_end = 5538 + _globals['_GETRAWPATCHREQUEST']._serialized_start = 5540 + _globals['_GETRAWPATCHREQUEST']._serialized_end = 5595 + _globals['_GETRAWPATCHRESPONSE']._serialized_start = 5597 + _globals['_GETRAWPATCHRESPONSE']._serialized_end = 5647 + _globals['_VALIDATECONFIGREQUEST']._serialized_start = 5649 + _globals['_VALIDATECONFIGREQUEST']._serialized_end = 5699 + _globals['_CONFIGDIAGNOSTIC']._serialized_start = 5702 + _globals['_CONFIGDIAGNOSTIC']._serialized_end = 5852 + _globals['_VALIDATECONFIGRESPONSE']._serialized_start = 5854 + _globals['_VALIDATECONFIGRESPONSE']._serialized_end = 5973 + _globals['_GETPATCHCAPABILITIESREQUEST']._serialized_start = 5975 + _globals['_GETPATCHCAPABILITIESREQUEST']._serialized_end = 6031 + _globals['_GETPATCHCAPABILITIESRESPONSE']._serialized_start = 6034 + _globals['_GETPATCHCAPABILITIESRESPONSE']._serialized_end = 6210 + _globals['_ONTOLOGYENTRY']._serialized_start = 6213 + _globals['_ONTOLOGYENTRY']._serialized_end = 6713 + _globals['_ONTOLOGYFILE']._serialized_start = 6716 + _globals['_ONTOLOGYFILE']._serialized_end = 7048 + _globals['_ONTOLOGYHISTORYCHANGEDFILE']._serialized_start = 7051 + _globals['_ONTOLOGYHISTORYCHANGEDFILE']._serialized_end = 7246 + _globals['_ONTOLOGYHISTORYENTRY']._serialized_start = 7249 + _globals['_ONTOLOGYHISTORYENTRY']._serialized_end = 7566 + _globals['_AUTOATTACHENTRY']._serialized_start = 7569 + _globals['_AUTOATTACHENTRY']._serialized_end = 7877 + _globals['_CODEOWNERENTRY']._serialized_start = 7879 + _globals['_CODEOWNERENTRY']._serialized_end = 7989 + _globals['_GOLDENENTRY']._serialized_start = 7992 + _globals['_GOLDENENTRY']._serialized_end = 8133 + _globals['_SETONTOLOGYFILEGOLDENREQUEST']._serialized_start = 8135 + _globals['_SETONTOLOGYFILEGOLDENREQUEST']._serialized_end = 8209 + _globals['_SETONTOLOGYFILEGOLDENRESPONSE']._serialized_start = 8211 + _globals['_SETONTOLOGYFILEGOLDENRESPONSE']._serialized_end = 8306 + _globals['_LISTGOLDENFILESREQUEST']._serialized_start = 8308 + _globals['_LISTGOLDENFILESREQUEST']._serialized_end = 8332 + _globals['_LISTGOLDENFILESRESPONSE']._serialized_start = 8334 + _globals['_LISTGOLDENFILESRESPONSE']._serialized_end = 8423 + _globals['_ONTOLOGYANACONFIG']._serialized_start = 8426 + _globals['_ONTOLOGYANACONFIG']._serialized_end = 8725 + _globals['_GETONTOLOGYANACONFIGREQUEST']._serialized_start = 8727 + _globals['_GETONTOLOGYANACONFIGREQUEST']._serialized_end = 8776 + _globals['_GETONTOLOGYANACONFIGRESPONSE']._serialized_start = 8778 + _globals['_GETONTOLOGYANACONFIGRESPONSE']._serialized_end = 8878 + _globals['_UPSERTONTOLOGYANACONFIGREQUEST']._serialized_start = 8881 + _globals['_UPSERTONTOLOGYANACONFIGREQUEST']._serialized_end = 9148 + _globals['_UPSERTONTOLOGYANACONFIGRESPONSE']._serialized_start = 9150 + _globals['_UPSERTONTOLOGYANACONFIGRESPONSE']._serialized_end = 9253 + _globals['_GETCODEOWNERCOVERAGEREQUEST']._serialized_start = 9255 + _globals['_GETCODEOWNERCOVERAGEREQUEST']._serialized_end = 9284 + _globals['_GETCODEOWNERCOVERAGERESPONSE']._serialized_start = 9287 + _globals['_GETCODEOWNERCOVERAGERESPONSE']._serialized_end = 9463 + _globals['_ONTOLOGYOWNERENTRY']._serialized_start = 9465 + _globals['_ONTOLOGYOWNERENTRY']._serialized_end = 9589 + _globals['_ONTOLOGYOWNERS']._serialized_start = 9592 + _globals['_ONTOLOGYOWNERS']._serialized_end = 9789 + _globals['_LISTONTOLOGYENTRIESREQUEST']._serialized_start = 9792 + _globals['_LISTONTOLOGYENTRIESREQUEST']._serialized_end = 9937 + _globals['_LISTONTOLOGYENTRIESRESPONSE']._serialized_start = 9939 + _globals['_LISTONTOLOGYENTRIESRESPONSE']._serialized_end = 10036 + _globals['_GETONTOLOGYFILEREQUEST']._serialized_start = 10038 + _globals['_GETONTOLOGYFILEREQUEST']._serialized_end = 10082 + _globals['_GETONTOLOGYFILERESPONSE']._serialized_start = 10084 + _globals['_GETONTOLOGYFILERESPONSE']._serialized_end = 10170 + _globals['_CREATEONTOLOGYFILEUPLOADURLREQUEST']._serialized_start = 10172 + _globals['_CREATEONTOLOGYFILEUPLOADURLREQUEST']._serialized_end = 10288 + _globals['_CREATEONTOLOGYFILEUPLOADURLRESPONSE']._serialized_start = 10290 + _globals['_CREATEONTOLOGYFILEUPLOADURLRESPONSE']._serialized_end = 10389 + _globals['_FINALIZEONTOLOGYFILEUPLOADREQUEST']._serialized_start = 10392 + _globals['_FINALIZEONTOLOGYFILEUPLOADREQUEST']._serialized_end = 10541 + _globals['_FINALIZEONTOLOGYFILEUPLOADRESPONSE']._serialized_start = 10543 + _globals['_FINALIZEONTOLOGYFILEUPLOADRESPONSE']._serialized_end = 10640 + _globals['_LISTONTOLOGYHISTORYREQUEST']._serialized_start = 10643 + _globals['_LISTONTOLOGYHISTORYREQUEST']._serialized_end = 10804 + _globals['_LISTONTOLOGYHISTORYRESPONSE']._serialized_start = 10807 + _globals['_LISTONTOLOGYHISTORYRESPONSE']._serialized_end = 10976 + _globals['_GETONTOLOGYHISTORYFILEDIFFREQUEST']._serialized_start = 10978 + _globals['_GETONTOLOGYHISTORYFILEDIFFREQUEST']._serialized_end = 11062 + _globals['_GETONTOLOGYHISTORYFILEDIFFRESPONSE']._serialized_start = 11065 + _globals['_GETONTOLOGYHISTORYFILEDIFFRESPONSE']._serialized_end = 11402 + _globals['_UPSERTONTOLOGYFILEREQUEST']._serialized_start = 11405 + _globals['_UPSERTONTOLOGYFILEREQUEST']._serialized_end = 11541 + _globals['_UPSERTONTOLOGYFILERESPONSE']._serialized_start = 11543 + _globals['_UPSERTONTOLOGYFILERESPONSE']._serialized_end = 11632 + _globals['_CREATEONTOLOGYDIRECTORYREQUEST']._serialized_start = 11634 + _globals['_CREATEONTOLOGYDIRECTORYREQUEST']._serialized_end = 11749 + _globals['_CREATEONTOLOGYDIRECTORYRESPONSE']._serialized_start = 11751 + _globals['_CREATEONTOLOGYDIRECTORYRESPONSE']._serialized_end = 11848 + _globals['_DELETEONTOLOGYDIRECTORYREQUEST']._serialized_start = 11851 + _globals['_DELETEONTOLOGYDIRECTORYREQUEST']._serialized_end = 11996 + _globals['_RENAMEONTOLOGYFILEREQUEST']._serialized_start = 11999 + _globals['_RENAMEONTOLOGYFILEREQUEST']._serialized_end = 12143 + _globals['_RENAMEONTOLOGYFILERESPONSE']._serialized_start = 12145 + _globals['_RENAMEONTOLOGYFILERESPONSE']._serialized_end = 12234 + _globals['_DELETEONTOLOGYFILEREQUEST']._serialized_start = 12236 + _globals['_DELETEONTOLOGYFILEREQUEST']._serialized_end = 12346 + _globals['_GETONTOLOGYOWNERSREQUEST']._serialized_start = 12348 + _globals['_GETONTOLOGYOWNERSREQUEST']._serialized_end = 12394 + _globals['_GETONTOLOGYOWNERSRESPONSE']._serialized_start = 12396 + _globals['_GETONTOLOGYOWNERSRESPONSE']._serialized_end = 12490 + _globals['_GETEFFECTIVEONTOLOGYOWNERSREQUEST']._serialized_start = 12492 + _globals['_GETEFFECTIVEONTOLOGYOWNERSREQUEST']._serialized_end = 12547 + _globals['_GETEFFECTIVEONTOLOGYOWNERSRESPONSE']._serialized_start = 12550 + _globals['_GETEFFECTIVEONTOLOGYOWNERSRESPONSE']._serialized_end = 12679 + _globals['_UPSERTONTOLOGYOWNERSREQUEST']._serialized_start = 12682 + _globals['_UPSERTONTOLOGYOWNERSREQUEST']._serialized_end = 12902 + _globals['_UPSERTONTOLOGYOWNERSRESPONSE']._serialized_start = 12904 + _globals['_UPSERTONTOLOGYOWNERSRESPONSE']._serialized_end = 13001 + _globals['_DELETEONTOLOGYOWNERSREQUEST']._serialized_start = 13004 + _globals['_DELETEONTOLOGYOWNERSREQUEST']._serialized_end = 13143 + _globals['_ONTOLOGYREMOTE']._serialized_start = 13146 + _globals['_ONTOLOGYREMOTE']._serialized_end = 13921 + _globals['_GETONTOLOGYREMOTEREQUEST']._serialized_start = 13923 + _globals['_GETONTOLOGYREMOTEREQUEST']._serialized_end = 13949 + _globals['_GETONTOLOGYREMOTERESPONSE']._serialized_start = 13952 + _globals['_GETONTOLOGYREMOTERESPONSE']._serialized_end = 14210 + _globals['_CONFIGUREONTOLOGYREMOTEREQUEST']._serialized_start = 14213 + _globals['_CONFIGUREONTOLOGYREMOTEREQUEST']._serialized_end = 15000 + _globals['_CONFIGUREONTOLOGYREMOTERESPONSE']._serialized_start = 15002 + _globals['_CONFIGUREONTOLOGYREMOTERESPONSE']._serialized_end = 15102 + _globals['_GETONTOLOGYGITHUBOAUTHURLREQUEST']._serialized_start = 15104 + _globals['_GETONTOLOGYGITHUBOAUTHURLREQUEST']._serialized_end = 15199 + _globals['_GETONTOLOGYGITHUBOAUTHURLRESPONSE']._serialized_start = 15202 + _globals['_GETONTOLOGYGITHUBOAUTHURLRESPONSE']._serialized_end = 15337 + _globals['_EXCHANGEONTOLOGYGITHUBCODEREQUEST']._serialized_start = 15339 + _globals['_EXCHANGEONTOLOGYGITHUBCODEREQUEST']._serialized_end = 15453 + _globals['_EXCHANGEONTOLOGYGITHUBCODERESPONSE']._serialized_start = 15456 + _globals['_EXCHANGEONTOLOGYGITHUBCODERESPONSE']._serialized_end = 15603 + _globals['_GITHUBINSTALLATION']._serialized_start = 15606 + _globals['_GITHUBINSTALLATION']._serialized_end = 15774 + _globals['_GITHUBINSTALLATIONREPO']._serialized_start = 15777 + _globals['_GITHUBINSTALLATIONREPO']._serialized_end = 15924 + _globals['_REMOVEONTOLOGYREMOTEREQUEST']._serialized_start = 15926 + _globals['_REMOVEONTOLOGYREMOTEREQUEST']._serialized_end = 15955 + _globals['_PUSHONTOLOGYTOREMOTEREQUEST']._serialized_start = 15957 + _globals['_PUSHONTOLOGYTOREMOTEREQUEST']._serialized_end = 15986 + _globals['_PULLONTOLOGYFROMREMOTEREQUEST']._serialized_start = 15989 + _globals['_PULLONTOLOGYFROMREMOTEREQUEST']._serialized_end = 16208 + _globals['_TRIGGERCONFIGDRIFTRECONCILEREQUEST']._serialized_start = 16210 + _globals['_TRIGGERCONFIGDRIFTRECONCILEREQUEST']._serialized_end = 16246 + _globals['_TRIGGERCONFIGDRIFTRECONCILERESPONSE']._serialized_start = 16248 + _globals['_TRIGGERCONFIGDRIFTRECONCILERESPONSE']._serialized_end = 16311 + _globals['_UNRELATEDHISTORIESDETAIL']._serialized_start = 16314 + _globals['_UNRELATEDHISTORIESDETAIL']._serialized_end = 16513 + _globals['_GETONTOLOGYMIGRATIONSTATUSREQUEST']._serialized_start = 16515 + _globals['_GETONTOLOGYMIGRATIONSTATUSREQUEST']._serialized_end = 16550 + _globals['_GETONTOLOGYMIGRATIONSTATUSRESPONSE']._serialized_start = 16552 + _globals['_GETONTOLOGYMIGRATIONSTATUSRESPONSE']._serialized_end = 16653 + _globals['_PLANONTOLOGYMERGEREQUEST']._serialized_start = 16655 + _globals['_PLANONTOLOGYMERGEREQUEST']._serialized_end = 16681 + _globals['_PLANONTOLOGYMERGERESPONSE']._serialized_start = 16684 + _globals['_PLANONTOLOGYMERGERESPONSE']._serialized_end = 16959 + _globals['_PREVIEWONTOLOGYPULLFROMREMOTEREQUEST']._serialized_start = 16961 + _globals['_PREVIEWONTOLOGYPULLFROMREMOTEREQUEST']._serialized_end = 16999 + _globals['_RECOVERONTOLOGYREQUEST']._serialized_start = 17001 + _globals['_RECOVERONTOLOGYREQUEST']._serialized_end = 17096 + _globals['_PREVIEWONTOLOGYPULLFOLDERROW']._serialized_start = 17098 + _globals['_PREVIEWONTOLOGYPULLFOLDERROW']._serialized_end = 17192 + _globals['_PREVIEWONTOLOGYPULLFROMREMOTERESPONSE']._serialized_start = 17195 + _globals['_PREVIEWONTOLOGYPULLFROMREMOTERESPONSE']._serialized_end = 17617 + _globals['_UPDATEONTOLOGYSYNCCONFIGREQUEST']._serialized_start = 17619 + _globals['_UPDATEONTOLOGYSYNCCONFIGREQUEST']._serialized_end = 17739 + _globals['_UPDATEONTOLOGYSYNCCONFIGRESPONSE']._serialized_start = 17741 + _globals['_UPDATEONTOLOGYSYNCCONFIGRESPONSE']._serialized_end = 17842 + _globals['_ONTOLOGYSYNCRUN']._serialized_start = 17845 + _globals['_ONTOLOGYSYNCRUN']._serialized_end = 18381 + _globals['_LISTONTOLOGYSYNCRUNSREQUEST']._serialized_start = 18384 + _globals['_LISTONTOLOGYSYNCRUNSREQUEST']._serialized_end = 18512 + _globals['_LISTONTOLOGYSYNCRUNSRESPONSE']._serialized_start = 18515 + _globals['_LISTONTOLOGYSYNCRUNSRESPONSE']._serialized_end = 18674 + _globals['_ONTOLOGYSYNCCONFLICT']._serialized_start = 18677 + _globals['_ONTOLOGYSYNCCONFLICT']._serialized_end = 18912 + _globals['_GETONTOLOGYSYNCCONFLICTSREQUEST']._serialized_start = 18914 + _globals['_GETONTOLOGYSYNCCONFLICTSREQUEST']._serialized_end = 18947 + _globals['_GETONTOLOGYSYNCCONFLICTSRESPONSE']._serialized_start = 18949 + _globals['_GETONTOLOGYSYNCCONFLICTSRESPONSE']._serialized_end = 19062 + _globals['_RESOLVEONTOLOGYSYNCCONFLICTREQUEST']._serialized_start = 19064 + _globals['_RESOLVEONTOLOGYSYNCCONFLICTREQUEST']._serialized_end = 19176 + _globals['_MIGRATELEGACYCONTEXTTOONTOLOGYREQUEST']._serialized_start = 19179 + _globals['_MIGRATELEGACYCONTEXTTOONTOLOGYREQUEST']._serialized_end = 19329 + _globals['_MIGRATEDLEGACYCONTEXTPROMPT']._serialized_start = 19332 + _globals['_MIGRATEDLEGACYCONTEXTPROMPT']._serialized_end = 19668 + _globals['_MIGRATELEGACYCONTEXTTOONTOLOGYRESPONSE']._serialized_start = 19671 + _globals['_MIGRATELEGACYCONTEXTTOONTOLOGYRESPONSE']._serialized_end = 19938 + _globals['_MIGRATEONTOLOGYTOONTOLOGYREQUEST']._serialized_start = 19940 + _globals['_MIGRATEONTOLOGYTOONTOLOGYREQUEST']._serialized_end = 20051 + _globals['_MIGRATEDONTOLOGYNOUN']._serialized_start = 20054 + _globals['_MIGRATEDONTOLOGYNOUN']._serialized_end = 20265 + _globals['_MIGRATEONTOLOGYTOONTOLOGYRESULT']._serialized_start = 20268 + _globals['_MIGRATEONTOLOGYTOONTOLOGYRESULT']._serialized_end = 20582 + _globals['_MIGRATEONTOLOGYTOONTOLOGYRESPONSE']._serialized_start = 20585 + _globals['_MIGRATEONTOLOGYTOONTOLOGYRESPONSE']._serialized_end = 20805 + _globals['_ADDONTOLOGYSUBMODULEREQUEST']._serialized_start = 20807 + _globals['_ADDONTOLOGYSUBMODULEREQUEST']._serialized_end = 20914 + _globals['_ADDONTOLOGYSUBMODULERESPONSE']._serialized_start = 20916 + _globals['_ADDONTOLOGYSUBMODULERESPONSE']._serialized_end = 21008 + _globals['_REMOVEONTOLOGYSUBMODULEREQUEST']._serialized_start = 21010 + _globals['_REMOVEONTOLOGYSUBMODULEREQUEST']._serialized_end = 21062 + _globals['_LISTONTOLOGYSUBMODULESREQUEST']._serialized_start = 21064 + _globals['_LISTONTOLOGYSUBMODULESREQUEST']._serialized_end = 21095 + _globals['_ONTOLOGYSUBMODULE']._serialized_start = 21097 + _globals['_ONTOLOGYSUBMODULE']._serialized_end = 21198 + _globals['_LISTONTOLOGYSUBMODULESRESPONSE']._serialized_start = 21200 + _globals['_LISTONTOLOGYSUBMODULESRESPONSE']._serialized_end = 21310 + _globals['_CONTEXTPATCHAUTOAPPROVERULE']._serialized_start = 21313 + _globals['_CONTEXTPATCHAUTOAPPROVERULE']._serialized_end = 21645 + _globals['_CONTEXTPATCHAUTOAPPROVERULEINPUT']._serialized_start = 21648 + _globals['_CONTEXTPATCHAUTOAPPROVERULEINPUT']._serialized_end = 21868 + _globals['_LISTCONTEXTPATCHAUTOAPPROVERULESREQUEST']._serialized_start = 21870 + _globals['_LISTCONTEXTPATCHAUTOAPPROVERULESREQUEST']._serialized_end = 21911 + _globals['_LISTCONTEXTPATCHAUTOAPPROVERULESRESPONSE']._serialized_start = 21913 + _globals['_LISTCONTEXTPATCHAUTOAPPROVERULESRESPONSE']._serialized_end = 22033 + _globals['_CREATECONTEXTPATCHAUTOAPPROVERULEREQUEST']._serialized_start = 22035 + _globals['_CREATECONTEXTPATCHAUTOAPPROVERULEREQUEST']._serialized_end = 22158 + _globals['_CREATECONTEXTPATCHAUTOAPPROVERULERESPONSE']._serialized_start = 22160 + _globals['_CREATECONTEXTPATCHAUTOAPPROVERULERESPONSE']._serialized_end = 22279 + _globals['_UPDATECONTEXTPATCHAUTOAPPROVERULEREQUEST']._serialized_start = 22282 + _globals['_UPDATECONTEXTPATCHAUTOAPPROVERULEREQUEST']._serialized_end = 22421 + _globals['_UPDATECONTEXTPATCHAUTOAPPROVERULERESPONSE']._serialized_start = 22423 + _globals['_UPDATECONTEXTPATCHAUTOAPPROVERULERESPONSE']._serialized_end = 22542 + _globals['_DELETECONTEXTPATCHAUTOAPPROVERULEREQUEST']._serialized_start = 22544 + _globals['_DELETECONTEXTPATCHAUTOAPPROVERULEREQUEST']._serialized_end = 22602 + _globals['_APPROVALRULE']._serialized_start = 22605 + _globals['_APPROVALRULE']._serialized_end = 22892 + _globals['_APPROVALRULEINPUT']._serialized_start = 22895 + _globals['_APPROVALRULEINPUT']._serialized_end = 23070 + _globals['_LISTAPPROVALRULESREQUEST']._serialized_start = 23072 + _globals['_LISTAPPROVALRULESREQUEST']._serialized_end = 23098 + _globals['_LISTAPPROVALRULESRESPONSE']._serialized_start = 23100 + _globals['_LISTAPPROVALRULESRESPONSE']._serialized_end = 23190 + _globals['_CREATEAPPROVALRULEREQUEST']._serialized_start = 23192 + _globals['_CREATEAPPROVALRULEREQUEST']._serialized_end = 23285 + _globals['_CREATEAPPROVALRULERESPONSE']._serialized_start = 23287 + _globals['_CREATEAPPROVALRULERESPONSE']._serialized_end = 23376 + _globals['_UPDATEAPPROVALRULEREQUEST']._serialized_start = 23378 + _globals['_UPDATEAPPROVALRULEREQUEST']._serialized_end = 23487 + _globals['_UPDATEAPPROVALRULERESPONSE']._serialized_start = 23489 + _globals['_UPDATEAPPROVALRULERESPONSE']._serialized_end = 23578 + _globals['_DELETEAPPROVALRULEREQUEST']._serialized_start = 23580 + _globals['_DELETEAPPROVALRULEREQUEST']._serialized_end = 23623 + _globals['_LISTONTOLOGYIMPORTSREQUEST']._serialized_start = 23625 + _globals['_LISTONTOLOGYIMPORTSREQUEST']._serialized_end = 23653 + _globals['_ONTOLOGYIMPORTEDGE']._serialized_start = 23655 + _globals['_ONTOLOGYIMPORTEDGE']._serialized_end = 23763 + _globals['_LISTONTOLOGYIMPORTSRESPONSE']._serialized_start = 23765 + _globals['_LISTONTOLOGYIMPORTSRESPONSE']._serialized_end = 23867 + _globals['_GETFILEUSAGEREQUEST']._serialized_start = 23870 + _globals['_GETFILEUSAGEREQUEST']._serialized_end = 24227 + _globals['_FILEUSAGE']._serialized_start = 24230 + _globals['_FILEUSAGE']._serialized_end = 24712 + _globals['_GETFILEUSAGERESPONSE']._serialized_start = 24715 + _globals['_GETFILEUSAGERESPONSE']._serialized_end = 24865 + _globals['_GETONTOLOGYUSAGESUMMARYREQUEST']._serialized_start = 24868 + _globals['_GETONTOLOGYUSAGESUMMARYREQUEST']._serialized_end = 25002 + _globals['_GETONTOLOGYUSAGESUMMARYRESPONSE']._serialized_start = 25005 + _globals['_GETONTOLOGYUSAGESUMMARYRESPONSE']._serialized_end = 25251 + _globals['_LISTONTOLOGYFILESREQUEST']._serialized_start = 25254 + _globals['_LISTONTOLOGYFILESREQUEST']._serialized_end = 25400 + _globals['_LISTONTOLOGYFILESRESPONSE']._serialized_start = 25402 + _globals['_LISTONTOLOGYFILESRESPONSE']._serialized_end = 25507 + _globals['_DATE']._serialized_start = 25509 + _globals['_DATE']._serialized_end = 25575 + _globals['_DAILYFILEUSAGE']._serialized_start = 25578 + _globals['_DAILYFILEUSAGE']._serialized_end = 25916 + _globals['_GETUSAGEDETAILSFORFILEREQUEST']._serialized_start = 25919 + _globals['_GETUSAGEDETAILSFORFILEREQUEST']._serialized_end = 26081 + _globals['_GETUSAGEDETAILSFORFILERESPONSE']._serialized_start = 26084 + _globals['_GETUSAGEDETAILSFORFILERESPONSE']._serialized_end = 26236 + _globals['_LISTCHATSFORFILEREQUEST']._serialized_start = 26239 + _globals['_LISTCHATSFORFILEREQUEST']._serialized_end = 26432 + _globals['_FILECHATUSAGE']._serialized_start = 26435 + _globals['_FILECHATUSAGE']._serialized_end = 26578 + _globals['_LISTCHATSFORFILERESPONSE']._serialized_start = 26580 + _globals['_LISTCHATSFORFILERESPONSE']._serialized_end = 26670 + _globals['_GETFILEUSAGETIMELINEREQUEST']._serialized_start = 26673 + _globals['_GETFILEUSAGETIMELINEREQUEST']._serialized_end = 26858 + _globals['_GETFILEUSAGETIMELINERESPONSE']._serialized_start = 26860 + _globals['_GETFILEUSAGETIMELINERESPONSE']._serialized_end = 26953 + _globals['_GETONTOLOGYSIZETIMELINEREQUEST']._serialized_start = 26956 + _globals['_GETONTOLOGYSIZETIMELINEREQUEST']._serialized_end = 27090 + _globals['_ONTOLOGYSIZEDAY']._serialized_start = 27093 + _globals['_ONTOLOGYSIZEDAY']._serialized_end = 27227 + _globals['_GETONTOLOGYSIZETIMELINERESPONSE']._serialized_start = 27229 + _globals['_GETONTOLOGYSIZETIMELINERESPONSE']._serialized_end = 27326 + _globals['_ONTOLOGYMANAGEMENTSERVICE']._serialized_start = 29353 + _globals['_ONTOLOGYMANAGEMENTSERVICE']._serialized_end = 39302 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/patches_pb2.pyi b/src/textql_sdk/_connect/public/patches_pb2.pyi new file mode 100644 index 0000000..67a4b68 --- /dev/null +++ b/src/textql_sdk/_connect/public/patches_pb2.pyi @@ -0,0 +1,2174 @@ +import datetime +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import duration_pb2 as _duration_pb2 +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import config_source_pb2 as _config_source_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class PatchStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PATCH_STATUS_UNKNOWN: _ClassVar[PatchStatus] + PATCH_STATUS_RESERVED: _ClassVar[PatchStatus] + PATCH_STATUS_DRAFT: _ClassVar[PatchStatus] + PATCH_STATUS_OPEN: _ClassVar[PatchStatus] + PATCH_STATUS_APPROVED: _ClassVar[PatchStatus] + PATCH_STATUS_DENIED: _ClassVar[PatchStatus] + +class PatchLineOp(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PATCH_LINE_OP_CONTEXT: _ClassVar[PatchLineOp] + PATCH_LINE_OP_DELETE: _ClassVar[PatchLineOp] + PATCH_LINE_OP_ADD: _ClassVar[PatchLineOp] + +class ConfigDiagnosticClass(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CONFIG_DIAGNOSTIC_CLASS_UNSPECIFIED: _ClassVar[ConfigDiagnosticClass] + CONFIG_DIAGNOSTIC_CLASS_EDIT_FIXABLE: _ClassVar[ConfigDiagnosticClass] + CONFIG_DIAGNOSTIC_CLASS_ORG_STATE_FIXABLE: _ClassVar[ConfigDiagnosticClass] + +class OntologyFileKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ONTOLOGY_FILE_KIND_UNSPECIFIED: _ClassVar[OntologyFileKind] + ONTOLOGY_FILE_KIND_TEXT: _ClassVar[OntologyFileKind] + ONTOLOGY_FILE_KIND_PDF: _ClassVar[OntologyFileKind] + ONTOLOGY_FILE_KIND_IMAGE: _ClassVar[OntologyFileKind] + ONTOLOGY_FILE_KIND_ASSET: _ClassVar[OntologyFileKind] + ONTOLOGY_FILE_KIND_TABULAR: _ClassVar[OntologyFileKind] + +class OntologyHistoryChangeType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ONTOLOGY_HISTORY_CHANGE_TYPE_UNSPECIFIED: _ClassVar[OntologyHistoryChangeType] + ONTOLOGY_HISTORY_CHANGE_TYPE_ADDED: _ClassVar[OntologyHistoryChangeType] + ONTOLOGY_HISTORY_CHANGE_TYPE_MODIFIED: _ClassVar[OntologyHistoryChangeType] + ONTOLOGY_HISTORY_CHANGE_TYPE_DELETED: _ClassVar[OntologyHistoryChangeType] + ONTOLOGY_HISTORY_CHANGE_TYPE_RENAMED: _ClassVar[OntologyHistoryChangeType] + +class OntologyPermission(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ONTOLOGY_PERMISSION_UNSPECIFIED: _ClassVar[OntologyPermission] + ONTOLOGY_PERMISSION_EXECUTE: _ClassVar[OntologyPermission] + ONTOLOGY_PERMISSION_READ: _ClassVar[OntologyPermission] + ONTOLOGY_PERMISSION_READ_EXECUTE: _ClassVar[OntologyPermission] + ONTOLOGY_PERMISSION_READ_WRITE: _ClassVar[OntologyPermission] + ONTOLOGY_PERMISSION_READ_WRITE_EXECUTE: _ClassVar[OntologyPermission] + +class OntologyMergeOutcome(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ONTOLOGY_MERGE_OUTCOME_UNSPECIFIED: _ClassVar[OntologyMergeOutcome] + ONTOLOGY_MERGE_OUTCOME_ALREADY_UP_TO_DATE: _ClassVar[OntologyMergeOutcome] + ONTOLOGY_MERGE_OUTCOME_LOCAL_AHEAD: _ClassVar[OntologyMergeOutcome] + ONTOLOGY_MERGE_OUTCOME_FAST_FORWARD: _ClassVar[OntologyMergeOutcome] + ONTOLOGY_MERGE_OUTCOME_BOOTSTRAP_ADOPT: _ClassVar[OntologyMergeOutcome] + ONTOLOGY_MERGE_OUTCOME_MERGE_REQUIRED: _ClassVar[OntologyMergeOutcome] + ONTOLOGY_MERGE_OUTCOME_UNRELATED_HISTORIES: _ClassVar[OntologyMergeOutcome] + +class RecoverOntologyLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + RECOVER_ONTOLOGY_LEVEL_UNSPECIFIED: _ClassVar[RecoverOntologyLevel] + RECOVER_ONTOLOGY_LEVEL_DISCARD_LOCAL: _ClassVar[RecoverOntologyLevel] + RECOVER_ONTOLOGY_LEVEL_RESET_TO_REMOTE: _ClassVar[RecoverOntologyLevel] + RECOVER_ONTOLOGY_LEVEL_RECLONE: _ClassVar[RecoverOntologyLevel] + +class OntologySyncRunStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ONTOLOGY_SYNC_RUN_STATUS_UNSPECIFIED: _ClassVar[OntologySyncRunStatus] + ONTOLOGY_SYNC_RUN_STATUS_IN_PROGRESS: _ClassVar[OntologySyncRunStatus] + ONTOLOGY_SYNC_RUN_STATUS_SUCCEEDED: _ClassVar[OntologySyncRunStatus] + ONTOLOGY_SYNC_RUN_STATUS_FAILED: _ClassVar[OntologySyncRunStatus] + ONTOLOGY_SYNC_RUN_STATUS_CONFLICTS: _ClassVar[OntologySyncRunStatus] + +class UsageOrderBy(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ORDER_BY_UNKNOWN: _ClassVar[UsageOrderBy] + ORDER_BY_MOST_RECENTLY_USED: _ClassVar[UsageOrderBy] + ORDER_BY_LEAST_RECENTLY_USED: _ClassVar[UsageOrderBy] + ORDER_BY_MOST_FREQUENTLY_USED: _ClassVar[UsageOrderBy] + ORDER_BY_LEAST_FREQUENTLY_USED: _ClassVar[UsageOrderBy] +PATCH_STATUS_UNKNOWN: PatchStatus +PATCH_STATUS_RESERVED: PatchStatus +PATCH_STATUS_DRAFT: PatchStatus +PATCH_STATUS_OPEN: PatchStatus +PATCH_STATUS_APPROVED: PatchStatus +PATCH_STATUS_DENIED: PatchStatus +PATCH_LINE_OP_CONTEXT: PatchLineOp +PATCH_LINE_OP_DELETE: PatchLineOp +PATCH_LINE_OP_ADD: PatchLineOp +CONFIG_DIAGNOSTIC_CLASS_UNSPECIFIED: ConfigDiagnosticClass +CONFIG_DIAGNOSTIC_CLASS_EDIT_FIXABLE: ConfigDiagnosticClass +CONFIG_DIAGNOSTIC_CLASS_ORG_STATE_FIXABLE: ConfigDiagnosticClass +ONTOLOGY_FILE_KIND_UNSPECIFIED: OntologyFileKind +ONTOLOGY_FILE_KIND_TEXT: OntologyFileKind +ONTOLOGY_FILE_KIND_PDF: OntologyFileKind +ONTOLOGY_FILE_KIND_IMAGE: OntologyFileKind +ONTOLOGY_FILE_KIND_ASSET: OntologyFileKind +ONTOLOGY_FILE_KIND_TABULAR: OntologyFileKind +ONTOLOGY_HISTORY_CHANGE_TYPE_UNSPECIFIED: OntologyHistoryChangeType +ONTOLOGY_HISTORY_CHANGE_TYPE_ADDED: OntologyHistoryChangeType +ONTOLOGY_HISTORY_CHANGE_TYPE_MODIFIED: OntologyHistoryChangeType +ONTOLOGY_HISTORY_CHANGE_TYPE_DELETED: OntologyHistoryChangeType +ONTOLOGY_HISTORY_CHANGE_TYPE_RENAMED: OntologyHistoryChangeType +ONTOLOGY_PERMISSION_UNSPECIFIED: OntologyPermission +ONTOLOGY_PERMISSION_EXECUTE: OntologyPermission +ONTOLOGY_PERMISSION_READ: OntologyPermission +ONTOLOGY_PERMISSION_READ_EXECUTE: OntologyPermission +ONTOLOGY_PERMISSION_READ_WRITE: OntologyPermission +ONTOLOGY_PERMISSION_READ_WRITE_EXECUTE: OntologyPermission +ONTOLOGY_MERGE_OUTCOME_UNSPECIFIED: OntologyMergeOutcome +ONTOLOGY_MERGE_OUTCOME_ALREADY_UP_TO_DATE: OntologyMergeOutcome +ONTOLOGY_MERGE_OUTCOME_LOCAL_AHEAD: OntologyMergeOutcome +ONTOLOGY_MERGE_OUTCOME_FAST_FORWARD: OntologyMergeOutcome +ONTOLOGY_MERGE_OUTCOME_BOOTSTRAP_ADOPT: OntologyMergeOutcome +ONTOLOGY_MERGE_OUTCOME_MERGE_REQUIRED: OntologyMergeOutcome +ONTOLOGY_MERGE_OUTCOME_UNRELATED_HISTORIES: OntologyMergeOutcome +RECOVER_ONTOLOGY_LEVEL_UNSPECIFIED: RecoverOntologyLevel +RECOVER_ONTOLOGY_LEVEL_DISCARD_LOCAL: RecoverOntologyLevel +RECOVER_ONTOLOGY_LEVEL_RESET_TO_REMOTE: RecoverOntologyLevel +RECOVER_ONTOLOGY_LEVEL_RECLONE: RecoverOntologyLevel +ONTOLOGY_SYNC_RUN_STATUS_UNSPECIFIED: OntologySyncRunStatus +ONTOLOGY_SYNC_RUN_STATUS_IN_PROGRESS: OntologySyncRunStatus +ONTOLOGY_SYNC_RUN_STATUS_SUCCEEDED: OntologySyncRunStatus +ONTOLOGY_SYNC_RUN_STATUS_FAILED: OntologySyncRunStatus +ONTOLOGY_SYNC_RUN_STATUS_CONFLICTS: OntologySyncRunStatus +ORDER_BY_UNKNOWN: UsageOrderBy +ORDER_BY_MOST_RECENTLY_USED: UsageOrderBy +ORDER_BY_LEAST_RECENTLY_USED: UsageOrderBy +ORDER_BY_MOST_FREQUENTLY_USED: UsageOrderBy +ORDER_BY_LEAST_FREQUENTLY_USED: UsageOrderBy + +class Skill(_message.Message): + __slots__ = ('trigger', 'name', 'description', 'path') + TRIGGER_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + trigger: str + name: str + description: str + path: str + + def __init__(self, trigger: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., path: _Optional[str]=...) -> None: + ... + +class ListSkillsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListSkillsResponse(_message.Message): + __slots__ = ('skills',) + SKILLS_FIELD_NUMBER: _ClassVar[int] + skills: _containers.RepeatedCompositeFieldContainer[Skill] + + def __init__(self, skills: _Optional[_Iterable[_Union[Skill, _Mapping]]]=...) -> None: + ... + +class PatchLine(_message.Message): + __slots__ = ('op', 'line') + OP_FIELD_NUMBER: _ClassVar[int] + LINE_FIELD_NUMBER: _ClassVar[int] + op: PatchLineOp + line: str + + def __init__(self, op: _Optional[_Union[PatchLineOp, str]]=..., line: _Optional[str]=...) -> None: + ... + +class PatchHunk(_message.Message): + __slots__ = ('comment', 'old_position', 'old_lines', 'new_position', 'new_lines', 'lines_added', 'lines_deleted', 'leading_context', 'trailing_context', 'lines') + COMMENT_FIELD_NUMBER: _ClassVar[int] + OLD_POSITION_FIELD_NUMBER: _ClassVar[int] + OLD_LINES_FIELD_NUMBER: _ClassVar[int] + NEW_POSITION_FIELD_NUMBER: _ClassVar[int] + NEW_LINES_FIELD_NUMBER: _ClassVar[int] + LINES_ADDED_FIELD_NUMBER: _ClassVar[int] + LINES_DELETED_FIELD_NUMBER: _ClassVar[int] + LEADING_CONTEXT_FIELD_NUMBER: _ClassVar[int] + TRAILING_CONTEXT_FIELD_NUMBER: _ClassVar[int] + LINES_FIELD_NUMBER: _ClassVar[int] + comment: str + old_position: int + old_lines: int + new_position: int + new_lines: int + lines_added: int + lines_deleted: int + leading_context: int + trailing_context: int + lines: _containers.RepeatedCompositeFieldContainer[PatchLine] + + def __init__(self, comment: _Optional[str]=..., old_position: _Optional[int]=..., old_lines: _Optional[int]=..., new_position: _Optional[int]=..., new_lines: _Optional[int]=..., lines_added: _Optional[int]=..., lines_deleted: _Optional[int]=..., leading_context: _Optional[int]=..., trailing_context: _Optional[int]=..., lines: _Optional[_Iterable[_Union[PatchLine, _Mapping]]]=...) -> None: + ... + +class PatchDiff(_message.Message): + __slots__ = ('name', 'old_path', 'new_path', 'hunks', 'additions', 'deletions', 'is_binary', 'is_new', 'is_copy', 'is_rename', 'is_delete', 'old_content', 'new_content') + NAME_FIELD_NUMBER: _ClassVar[int] + OLD_PATH_FIELD_NUMBER: _ClassVar[int] + NEW_PATH_FIELD_NUMBER: _ClassVar[int] + HUNKS_FIELD_NUMBER: _ClassVar[int] + ADDITIONS_FIELD_NUMBER: _ClassVar[int] + DELETIONS_FIELD_NUMBER: _ClassVar[int] + IS_BINARY_FIELD_NUMBER: _ClassVar[int] + IS_NEW_FIELD_NUMBER: _ClassVar[int] + IS_COPY_FIELD_NUMBER: _ClassVar[int] + IS_RENAME_FIELD_NUMBER: _ClassVar[int] + IS_DELETE_FIELD_NUMBER: _ClassVar[int] + OLD_CONTENT_FIELD_NUMBER: _ClassVar[int] + NEW_CONTENT_FIELD_NUMBER: _ClassVar[int] + name: str + old_path: str + new_path: str + hunks: _containers.RepeatedCompositeFieldContainer[PatchHunk] + additions: int + deletions: int + is_binary: bool + is_new: bool + is_copy: bool + is_rename: bool + is_delete: bool + old_content: str + new_content: str + + def __init__(self, name: _Optional[str]=..., old_path: _Optional[str]=..., new_path: _Optional[str]=..., hunks: _Optional[_Iterable[_Union[PatchHunk, _Mapping]]]=..., additions: _Optional[int]=..., deletions: _Optional[int]=..., is_binary: bool=..., is_new: bool=..., is_copy: bool=..., is_rename: bool=..., is_delete: bool=..., old_content: _Optional[str]=..., new_content: _Optional[str]=...) -> None: + ... + +class Patch(_message.Message): + __slots__ = ('id', 'number', 'author_id', 'title', 'description', 'chat_id', 'ai_generated', 'diffs', 'status', 'git_ref', 'revision', 'head_at_merge', 'reviewer_id', 'created_at', 'updated_at', 'author_email', 'author_name', 'approval_count', 'required_approvals', 'capabilities', 'code_owner_status', 'requested_reviewer_member_ids') + ID_FIELD_NUMBER: _ClassVar[int] + NUMBER_FIELD_NUMBER: _ClassVar[int] + AUTHOR_ID_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + AI_GENERATED_FIELD_NUMBER: _ClassVar[int] + DIFFS_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + GIT_REF_FIELD_NUMBER: _ClassVar[int] + REVISION_FIELD_NUMBER: _ClassVar[int] + HEAD_AT_MERGE_FIELD_NUMBER: _ClassVar[int] + REVIEWER_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + AUTHOR_EMAIL_FIELD_NUMBER: _ClassVar[int] + AUTHOR_NAME_FIELD_NUMBER: _ClassVar[int] + APPROVAL_COUNT_FIELD_NUMBER: _ClassVar[int] + REQUIRED_APPROVALS_FIELD_NUMBER: _ClassVar[int] + CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + CODE_OWNER_STATUS_FIELD_NUMBER: _ClassVar[int] + REQUESTED_REVIEWER_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + id: str + number: int + author_id: str + title: str + description: str + chat_id: str + ai_generated: bool + diffs: _containers.RepeatedCompositeFieldContainer[PatchDiff] + status: PatchStatus + git_ref: str + revision: int + head_at_merge: str + reviewer_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + author_email: str + author_name: str + approval_count: int + required_approvals: int + capabilities: PatchCapabilities + code_owner_status: _containers.RepeatedCompositeFieldContainer[PatchCodeownerStatus] + requested_reviewer_member_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, id: _Optional[str]=..., number: _Optional[int]=..., author_id: _Optional[str]=..., title: _Optional[str]=..., description: _Optional[str]=..., chat_id: _Optional[str]=..., ai_generated: bool=..., diffs: _Optional[_Iterable[_Union[PatchDiff, _Mapping]]]=..., status: _Optional[_Union[PatchStatus, str]]=..., git_ref: _Optional[str]=..., revision: _Optional[int]=..., head_at_merge: _Optional[str]=..., reviewer_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., author_email: _Optional[str]=..., author_name: _Optional[str]=..., approval_count: _Optional[int]=..., required_approvals: _Optional[int]=..., capabilities: _Optional[_Union[PatchCapabilities, _Mapping]]=..., code_owner_status: _Optional[_Iterable[_Union[PatchCodeownerStatus, _Mapping]]]=..., requested_reviewer_member_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class PatchCodeownerStatus(_message.Message): + __slots__ = ('pattern', 'owner_member_ids', 'require_approvals', 'approval_count', 'satisfied') + PATTERN_FIELD_NUMBER: _ClassVar[int] + OWNER_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + REQUIRE_APPROVALS_FIELD_NUMBER: _ClassVar[int] + APPROVAL_COUNT_FIELD_NUMBER: _ClassVar[int] + SATISFIED_FIELD_NUMBER: _ClassVar[int] + pattern: str + owner_member_ids: _containers.RepeatedScalarFieldContainer[str] + require_approvals: int + approval_count: int + satisfied: bool + + def __init__(self, pattern: _Optional[str]=..., owner_member_ids: _Optional[_Iterable[str]]=..., require_approvals: _Optional[int]=..., approval_count: _Optional[int]=..., satisfied: bool=...) -> None: + ... + +class PatchCapabilities(_message.Message): + __slots__ = ('can_approve', 'can_deny', 'can_restore', 'caller_approved', 'approve_requires_admin') + CAN_APPROVE_FIELD_NUMBER: _ClassVar[int] + CAN_DENY_FIELD_NUMBER: _ClassVar[int] + CAN_RESTORE_FIELD_NUMBER: _ClassVar[int] + CALLER_APPROVED_FIELD_NUMBER: _ClassVar[int] + APPROVE_REQUIRES_ADMIN_FIELD_NUMBER: _ClassVar[int] + can_approve: bool + can_deny: bool + can_restore: bool + caller_approved: bool + approve_requires_admin: bool + + def __init__(self, can_approve: bool=..., can_deny: bool=..., can_restore: bool=..., caller_approved: bool=..., approve_requires_admin: bool=...) -> None: + ... + +class ListPatchesRequest(_message.Message): + __slots__ = ('page_size', 'page_token', 'statuses', 'include_auto_approved') + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + STATUSES_FIELD_NUMBER: _ClassVar[int] + INCLUDE_AUTO_APPROVED_FIELD_NUMBER: _ClassVar[int] + page_size: int + page_token: str + statuses: _containers.RepeatedScalarFieldContainer[PatchStatus] + include_auto_approved: bool + + def __init__(self, page_size: _Optional[int]=..., page_token: _Optional[str]=..., statuses: _Optional[_Iterable[_Union[PatchStatus, str]]]=..., include_auto_approved: bool=...) -> None: + ... + +class PatchStatusCounts(_message.Message): + __slots__ = ('open', 'draft_mine', 'approved', 'denied', 'open_mine') + OPEN_FIELD_NUMBER: _ClassVar[int] + DRAFT_MINE_FIELD_NUMBER: _ClassVar[int] + APPROVED_FIELD_NUMBER: _ClassVar[int] + DENIED_FIELD_NUMBER: _ClassVar[int] + OPEN_MINE_FIELD_NUMBER: _ClassVar[int] + open: int + draft_mine: int + approved: int + denied: int + open_mine: int + + def __init__(self, open: _Optional[int]=..., draft_mine: _Optional[int]=..., approved: _Optional[int]=..., denied: _Optional[int]=..., open_mine: _Optional[int]=...) -> None: + ... + +class ListPatchesResponse(_message.Message): + __slots__ = ('patches', 'next_page_token', 'counts') + PATCHES_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + COUNTS_FIELD_NUMBER: _ClassVar[int] + patches: _containers.RepeatedCompositeFieldContainer[Patch] + next_page_token: str + counts: PatchStatusCounts + + def __init__(self, patches: _Optional[_Iterable[_Union[Patch, _Mapping]]]=..., next_page_token: _Optional[str]=..., counts: _Optional[_Union[PatchStatusCounts, _Mapping]]=...) -> None: + ... + +class ApprovePatchRequest(_message.Message): + __slots__ = ('patch_id', 'expected_git_ref') + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + EXPECTED_GIT_REF_FIELD_NUMBER: _ClassVar[int] + patch_id: str + expected_git_ref: str + + def __init__(self, patch_id: _Optional[str]=..., expected_git_ref: _Optional[str]=...) -> None: + ... + +class ApprovePatchResponse(_message.Message): + __slots__ = ('merged', 'approval_count', 'required_approvals', 'already_approved') + MERGED_FIELD_NUMBER: _ClassVar[int] + APPROVAL_COUNT_FIELD_NUMBER: _ClassVar[int] + REQUIRED_APPROVALS_FIELD_NUMBER: _ClassVar[int] + ALREADY_APPROVED_FIELD_NUMBER: _ClassVar[int] + merged: bool + approval_count: int + required_approvals: int + already_approved: bool + + def __init__(self, merged: bool=..., approval_count: _Optional[int]=..., required_approvals: _Optional[int]=..., already_approved: bool=...) -> None: + ... + +class RequestPatchReviewRequest(_message.Message): + __slots__ = ('patch_id', 'reviewer_member_id') + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + REVIEWER_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + patch_id: str + reviewer_member_id: str + + def __init__(self, patch_id: _Optional[str]=..., reviewer_member_id: _Optional[str]=...) -> None: + ... + +class RequestPatchReviewResponse(_message.Message): + __slots__ = ('sent',) + SENT_FIELD_NUMBER: _ClassVar[int] + sent: bool + + def __init__(self, sent: bool=...) -> None: + ... + +class ListPatchReviewersRequest(_message.Message): + __slots__ = ('patch_id',) + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + patch_id: str + + def __init__(self, patch_id: _Optional[str]=...) -> None: + ... + +class PatchReviewer(_message.Message): + __slots__ = ('member_id', 'name', 'email', 'profile_image_url', 'is_admin', 'is_code_owner') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + PROFILE_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + IS_ADMIN_FIELD_NUMBER: _ClassVar[int] + IS_CODE_OWNER_FIELD_NUMBER: _ClassVar[int] + member_id: str + name: str + email: str + profile_image_url: str + is_admin: bool + is_code_owner: bool + + def __init__(self, member_id: _Optional[str]=..., name: _Optional[str]=..., email: _Optional[str]=..., profile_image_url: _Optional[str]=..., is_admin: bool=..., is_code_owner: bool=...) -> None: + ... + +class ListPatchReviewersResponse(_message.Message): + __slots__ = ('reviewers',) + REVIEWERS_FIELD_NUMBER: _ClassVar[int] + reviewers: _containers.RepeatedCompositeFieldContainer[PatchReviewer] + + def __init__(self, reviewers: _Optional[_Iterable[_Union[PatchReviewer, _Mapping]]]=...) -> None: + ... + +class DenyPatchRequest(_message.Message): + __slots__ = ('patch_id', 'expected_git_ref') + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + EXPECTED_GIT_REF_FIELD_NUMBER: _ClassVar[int] + patch_id: str + expected_git_ref: str + + def __init__(self, patch_id: _Optional[str]=..., expected_git_ref: _Optional[str]=...) -> None: + ... + +class RestorePatchRequest(_message.Message): + __slots__ = ('patch_id', 'expected_git_ref') + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + EXPECTED_GIT_REF_FIELD_NUMBER: _ClassVar[int] + patch_id: str + expected_git_ref: str + + def __init__(self, patch_id: _Optional[str]=..., expected_git_ref: _Optional[str]=...) -> None: + ... + +class RevertPatchRequest(_message.Message): + __slots__ = ('patch_id',) + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + patch_id: str + + def __init__(self, patch_id: _Optional[str]=...) -> None: + ... + +class RevertPatchResponse(_message.Message): + __slots__ = ('revert_patch',) + REVERT_PATCH_FIELD_NUMBER: _ClassVar[int] + revert_patch: Patch + + def __init__(self, revert_patch: _Optional[_Union[Patch, _Mapping]]=...) -> None: + ... + +class SaveObjectAsConfigRequest(_message.Message): + __slots__ = ('object_type', 'object_id') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=...) -> None: + ... + +class SaveObjectAsConfigResponse(_message.Message): + __slots__ = ('patch', 'file_path') + PATCH_FIELD_NUMBER: _ClassVar[int] + FILE_PATH_FIELD_NUMBER: _ClassVar[int] + patch: Patch + file_path: str + + def __init__(self, patch: _Optional[_Union[Patch, _Mapping]]=..., file_path: _Optional[str]=...) -> None: + ... + +class SaveAllObjectsAsConfigRequest(_message.Message): + __slots__ = ('object_type',) + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + object_type: str + + def __init__(self, object_type: _Optional[str]=...) -> None: + ... + +class SaveAllObjectsAsConfigResponse(_message.Message): + __slots__ = ('patch', 'file_paths', 'skipped', 'already_managed_count') + PATCH_FIELD_NUMBER: _ClassVar[int] + FILE_PATHS_FIELD_NUMBER: _ClassVar[int] + SKIPPED_FIELD_NUMBER: _ClassVar[int] + ALREADY_MANAGED_COUNT_FIELD_NUMBER: _ClassVar[int] + patch: Patch + file_paths: _containers.RepeatedScalarFieldContainer[str] + skipped: _containers.RepeatedCompositeFieldContainer[SkippedConfigExport] + already_managed_count: int + + def __init__(self, patch: _Optional[_Union[Patch, _Mapping]]=..., file_paths: _Optional[_Iterable[str]]=..., skipped: _Optional[_Iterable[_Union[SkippedConfigExport, _Mapping]]]=..., already_managed_count: _Optional[int]=...) -> None: + ... + +class SkippedConfigExport(_message.Message): + __slots__ = ('object_id', 'object_name', 'reason') + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_NAME_FIELD_NUMBER: _ClassVar[int] + REASON_FIELD_NUMBER: _ClassVar[int] + object_id: str + object_name: str + reason: str + + def __init__(self, object_id: _Optional[str]=..., object_name: _Optional[str]=..., reason: _Optional[str]=...) -> None: + ... + +class GetConfigExportCapabilitiesRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetConfigExportCapabilitiesResponse(_message.Message): + __slots__ = ('object_types', 'can_create_patches') + OBJECT_TYPES_FIELD_NUMBER: _ClassVar[int] + CAN_CREATE_PATCHES_FIELD_NUMBER: _ClassVar[int] + object_types: _containers.RepeatedScalarFieldContainer[str] + can_create_patches: bool + + def __init__(self, object_types: _Optional[_Iterable[str]]=..., can_create_patches: bool=...) -> None: + ... + +class GetPatchRequest(_message.Message): + __slots__ = ('patch_id', 'revision') + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + REVISION_FIELD_NUMBER: _ClassVar[int] + patch_id: str + revision: int + + def __init__(self, patch_id: _Optional[str]=..., revision: _Optional[int]=...) -> None: + ... + +class GetPatchByNumberRequest(_message.Message): + __slots__ = ('number',) + NUMBER_FIELD_NUMBER: _ClassVar[int] + number: int + + def __init__(self, number: _Optional[int]=...) -> None: + ... + +class GetRawPatchRequest(_message.Message): + __slots__ = ('patch_number',) + PATCH_NUMBER_FIELD_NUMBER: _ClassVar[int] + patch_number: int + + def __init__(self, patch_number: _Optional[int]=...) -> None: + ... + +class GetRawPatchResponse(_message.Message): + __slots__ = ('raw_patch',) + RAW_PATCH_FIELD_NUMBER: _ClassVar[int] + raw_patch: str + + def __init__(self, raw_patch: _Optional[str]=...) -> None: + ... + +class ValidateConfigRequest(_message.Message): + __slots__ = ('patch_id',) + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + patch_id: str + + def __init__(self, patch_id: _Optional[str]=...) -> None: + ... + +class ConfigDiagnostic(_message.Message): + __slots__ = ('path', 'message') + PATH_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + CLASS_FIELD_NUMBER: _ClassVar[int] + path: str + message: str + + def __init__(self, path: _Optional[str]=..., message: _Optional[str]=..., **kwargs) -> None: + ... + +class ValidateConfigResponse(_message.Message): + __slots__ = ('ok', 'diagnostics') + OK_FIELD_NUMBER: _ClassVar[int] + DIAGNOSTICS_FIELD_NUMBER: _ClassVar[int] + ok: bool + diagnostics: _containers.RepeatedCompositeFieldContainer[ConfigDiagnostic] + + def __init__(self, ok: bool=..., diagnostics: _Optional[_Iterable[_Union[ConfigDiagnostic, _Mapping]]]=...) -> None: + ... + +class GetPatchCapabilitiesRequest(_message.Message): + __slots__ = ('patch_id',) + PATCH_ID_FIELD_NUMBER: _ClassVar[int] + patch_id: str + + def __init__(self, patch_id: _Optional[str]=...) -> None: + ... + +class GetPatchCapabilitiesResponse(_message.Message): + __slots__ = ('capabilities', 'status') + CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + capabilities: PatchCapabilities + status: PatchStatus + + def __init__(self, capabilities: _Optional[_Union[PatchCapabilities, _Mapping]]=..., status: _Optional[_Union[PatchStatus, str]]=...) -> None: + ... + +class OntologyEntry(_message.Message): + __slots__ = ('path', 'name', 'is_dir', 'size_bytes', 'updated_at', 'can_write', 'can_read', 'config_sync_status', 'config_object_id', 'config_sync_error') + PATH_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + IS_DIR_FIELD_NUMBER: _ClassVar[int] + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + CAN_WRITE_FIELD_NUMBER: _ClassVar[int] + CAN_READ_FIELD_NUMBER: _ClassVar[int] + CONFIG_SYNC_STATUS_FIELD_NUMBER: _ClassVar[int] + CONFIG_OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + CONFIG_SYNC_ERROR_FIELD_NUMBER: _ClassVar[int] + path: str + name: str + is_dir: bool + size_bytes: int + updated_at: _timestamp_pb2.Timestamp + can_write: bool + can_read: bool + config_sync_status: _config_source_pb2.ConfigSyncStatus + config_object_id: str + config_sync_error: str + + def __init__(self, path: _Optional[str]=..., name: _Optional[str]=..., is_dir: bool=..., size_bytes: _Optional[int]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., can_write: bool=..., can_read: bool=..., config_sync_status: _Optional[_Union[_config_source_pb2.ConfigSyncStatus, str]]=..., config_object_id: _Optional[str]=..., config_sync_error: _Optional[str]=...) -> None: + ... + +class OntologyFile(_message.Message): + __slots__ = ('path', 'name', 'content', 'updated_at', 'can_write', 'kind', 'mime_type', 'size_bytes', 'binary_content') + PATH_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + CAN_WRITE_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] + MIME_TYPE_FIELD_NUMBER: _ClassVar[int] + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + BINARY_CONTENT_FIELD_NUMBER: _ClassVar[int] + path: str + name: str + content: str + updated_at: _timestamp_pb2.Timestamp + can_write: bool + kind: OntologyFileKind + mime_type: str + size_bytes: int + binary_content: bytes + + def __init__(self, path: _Optional[str]=..., name: _Optional[str]=..., content: _Optional[str]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., can_write: bool=..., kind: _Optional[_Union[OntologyFileKind, str]]=..., mime_type: _Optional[str]=..., size_bytes: _Optional[int]=..., binary_content: _Optional[bytes]=...) -> None: + ... + +class OntologyHistoryChangedFile(_message.Message): + __slots__ = ('path', 'previous_path', 'change_type') + PATH_FIELD_NUMBER: _ClassVar[int] + PREVIOUS_PATH_FIELD_NUMBER: _ClassVar[int] + CHANGE_TYPE_FIELD_NUMBER: _ClassVar[int] + path: str + previous_path: str + change_type: OntologyHistoryChangeType + + def __init__(self, path: _Optional[str]=..., previous_path: _Optional[str]=..., change_type: _Optional[_Union[OntologyHistoryChangeType, str]]=...) -> None: + ... + +class OntologyHistoryEntry(_message.Message): + __slots__ = ('commit_id', 'committed_at', 'author_email', 'author_name', 'message', 'changed_files') + COMMIT_ID_FIELD_NUMBER: _ClassVar[int] + COMMITTED_AT_FIELD_NUMBER: _ClassVar[int] + AUTHOR_EMAIL_FIELD_NUMBER: _ClassVar[int] + AUTHOR_NAME_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + CHANGED_FILES_FIELD_NUMBER: _ClassVar[int] + commit_id: str + committed_at: _timestamp_pb2.Timestamp + author_email: str + author_name: str + message: str + changed_files: _containers.RepeatedCompositeFieldContainer[OntologyHistoryChangedFile] + + def __init__(self, commit_id: _Optional[str]=..., committed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., author_email: _Optional[str]=..., author_name: _Optional[str]=..., message: _Optional[str]=..., changed_files: _Optional[_Iterable[_Union[OntologyHistoryChangedFile, _Mapping]]]=...) -> None: + ... + +class AutoAttachEntry(_message.Message): + __slots__ = ('path', 'connector_id', 'api_connector_ids', 'role_ids', 'connector_ids', 'match_no_connector', 'match_no_api_connector', 'match_all') + PATH_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + API_CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + MATCH_NO_CONNECTOR_FIELD_NUMBER: _ClassVar[int] + MATCH_NO_API_CONNECTOR_FIELD_NUMBER: _ClassVar[int] + MATCH_ALL_FIELD_NUMBER: _ClassVar[int] + path: str + connector_id: int + api_connector_ids: _containers.RepeatedScalarFieldContainer[str] + role_ids: _containers.RepeatedScalarFieldContainer[str] + connector_ids: _containers.RepeatedScalarFieldContainer[int] + match_no_connector: bool + match_no_api_connector: bool + match_all: bool + + def __init__(self, path: _Optional[str]=..., connector_id: _Optional[int]=..., api_connector_ids: _Optional[_Iterable[str]]=..., role_ids: _Optional[_Iterable[str]]=..., connector_ids: _Optional[_Iterable[int]]=..., match_no_connector: bool=..., match_no_api_connector: bool=..., match_all: bool=...) -> None: + ... + +class CodeownerEntry(_message.Message): + __slots__ = ('pattern', 'owner_member_ids', 'area') + PATTERN_FIELD_NUMBER: _ClassVar[int] + OWNER_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + AREA_FIELD_NUMBER: _ClassVar[int] + pattern: str + owner_member_ids: _containers.RepeatedScalarFieldContainer[str] + area: str + + def __init__(self, pattern: _Optional[str]=..., owner_member_ids: _Optional[_Iterable[str]]=..., area: _Optional[str]=...) -> None: + ... + +class GoldenEntry(_message.Message): + __slots__ = ('path', 'set_by_member_id', 'set_at') + PATH_FIELD_NUMBER: _ClassVar[int] + SET_BY_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + SET_AT_FIELD_NUMBER: _ClassVar[int] + path: str + set_by_member_id: str + set_at: _timestamp_pb2.Timestamp + + def __init__(self, path: _Optional[str]=..., set_by_member_id: _Optional[str]=..., set_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class SetOntologyFileGoldenRequest(_message.Message): + __slots__ = ('path', 'golden') + PATH_FIELD_NUMBER: _ClassVar[int] + GOLDEN_FIELD_NUMBER: _ClassVar[int] + path: str + golden: bool + + def __init__(self, path: _Optional[str]=..., golden: bool=...) -> None: + ... + +class SetOntologyFileGoldenResponse(_message.Message): + __slots__ = ('golden',) + GOLDEN_FIELD_NUMBER: _ClassVar[int] + golden: _containers.RepeatedCompositeFieldContainer[GoldenEntry] + + def __init__(self, golden: _Optional[_Iterable[_Union[GoldenEntry, _Mapping]]]=...) -> None: + ... + +class ListGoldenFilesRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListGoldenFilesResponse(_message.Message): + __slots__ = ('golden',) + GOLDEN_FIELD_NUMBER: _ClassVar[int] + golden: _containers.RepeatedCompositeFieldContainer[GoldenEntry] + + def __init__(self, golden: _Optional[_Iterable[_Union[GoldenEntry, _Mapping]]]=...) -> None: + ... + +class OntologyAnaConfig(_message.Message): + __slots__ = ('path', 'auto_attach', 'can_write', 'updated_at', 'codeowners') + PATH_FIELD_NUMBER: _ClassVar[int] + AUTO_ATTACH_FIELD_NUMBER: _ClassVar[int] + CAN_WRITE_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + CODEOWNERS_FIELD_NUMBER: _ClassVar[int] + path: str + auto_attach: _containers.RepeatedCompositeFieldContainer[AutoAttachEntry] + can_write: bool + updated_at: _timestamp_pb2.Timestamp + codeowners: _containers.RepeatedCompositeFieldContainer[CodeownerEntry] + + def __init__(self, path: _Optional[str]=..., auto_attach: _Optional[_Iterable[_Union[AutoAttachEntry, _Mapping]]]=..., can_write: bool=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., codeowners: _Optional[_Iterable[_Union[CodeownerEntry, _Mapping]]]=...) -> None: + ... + +class GetOntologyAnaConfigRequest(_message.Message): + __slots__ = ('path',) + PATH_FIELD_NUMBER: _ClassVar[int] + path: str + + def __init__(self, path: _Optional[str]=...) -> None: + ... + +class GetOntologyAnaConfigResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: OntologyAnaConfig + + def __init__(self, config: _Optional[_Union[OntologyAnaConfig, _Mapping]]=...) -> None: + ... + +class UpsertOntologyAnaConfigRequest(_message.Message): + __slots__ = ('path', 'auto_attach', 'commit_message', 'codeowners') + PATH_FIELD_NUMBER: _ClassVar[int] + AUTO_ATTACH_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + CODEOWNERS_FIELD_NUMBER: _ClassVar[int] + path: str + auto_attach: _containers.RepeatedCompositeFieldContainer[AutoAttachEntry] + commit_message: str + codeowners: _containers.RepeatedCompositeFieldContainer[CodeownerEntry] + + def __init__(self, path: _Optional[str]=..., auto_attach: _Optional[_Iterable[_Union[AutoAttachEntry, _Mapping]]]=..., commit_message: _Optional[str]=..., codeowners: _Optional[_Iterable[_Union[CodeownerEntry, _Mapping]]]=...) -> None: + ... + +class UpsertOntologyAnaConfigResponse(_message.Message): + __slots__ = ('config',) + CONFIG_FIELD_NUMBER: _ClassVar[int] + config: OntologyAnaConfig + + def __init__(self, config: _Optional[_Union[OntologyAnaConfig, _Mapping]]=...) -> None: + ... + +class GetCodeownerCoverageRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetCodeownerCoverageResponse(_message.Message): + __slots__ = ('total_files', 'covered_files', 'coverage_pct', 'uncovered_files') + TOTAL_FILES_FIELD_NUMBER: _ClassVar[int] + COVERED_FILES_FIELD_NUMBER: _ClassVar[int] + COVERAGE_PCT_FIELD_NUMBER: _ClassVar[int] + UNCOVERED_FILES_FIELD_NUMBER: _ClassVar[int] + total_files: int + covered_files: int + coverage_pct: float + uncovered_files: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, total_files: _Optional[int]=..., covered_files: _Optional[int]=..., coverage_pct: _Optional[float]=..., uncovered_files: _Optional[_Iterable[str]]=...) -> None: + ... + +class OntologyOwnerEntry(_message.Message): + __slots__ = ('role_id', 'permission') + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + PERMISSION_FIELD_NUMBER: _ClassVar[int] + role_id: str + permission: OntologyPermission + + def __init__(self, role_id: _Optional[str]=..., permission: _Optional[_Union[OntologyPermission, str]]=...) -> None: + ... + +class OntologyOwners(_message.Message): + __slots__ = ('path', 'entries', 'can_write', 'updated_at') + PATH_FIELD_NUMBER: _ClassVar[int] + ENTRIES_FIELD_NUMBER: _ClassVar[int] + CAN_WRITE_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + path: str + entries: _containers.RepeatedCompositeFieldContainer[OntologyOwnerEntry] + can_write: bool + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, path: _Optional[str]=..., entries: _Optional[_Iterable[_Union[OntologyOwnerEntry, _Mapping]]]=..., can_write: bool=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListOntologyEntriesRequest(_message.Message): + __slots__ = ('path', 'recursive', 'include_debug_files') + PATH_FIELD_NUMBER: _ClassVar[int] + RECURSIVE_FIELD_NUMBER: _ClassVar[int] + INCLUDE_DEBUG_FILES_FIELD_NUMBER: _ClassVar[int] + path: str + recursive: bool + include_debug_files: bool + + def __init__(self, path: _Optional[str]=..., recursive: bool=..., include_debug_files: bool=...) -> None: + ... + +class ListOntologyEntriesResponse(_message.Message): + __slots__ = ('entries',) + ENTRIES_FIELD_NUMBER: _ClassVar[int] + entries: _containers.RepeatedCompositeFieldContainer[OntologyEntry] + + def __init__(self, entries: _Optional[_Iterable[_Union[OntologyEntry, _Mapping]]]=...) -> None: + ... + +class GetOntologyFileRequest(_message.Message): + __slots__ = ('path',) + PATH_FIELD_NUMBER: _ClassVar[int] + path: str + + def __init__(self, path: _Optional[str]=...) -> None: + ... + +class GetOntologyFileResponse(_message.Message): + __slots__ = ('file',) + FILE_FIELD_NUMBER: _ClassVar[int] + file: OntologyFile + + def __init__(self, file: _Optional[_Union[OntologyFile, _Mapping]]=...) -> None: + ... + +class CreateOntologyFileUploadUrlRequest(_message.Message): + __slots__ = ('path', 'mime_type', 'size_bytes') + PATH_FIELD_NUMBER: _ClassVar[int] + MIME_TYPE_FIELD_NUMBER: _ClassVar[int] + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + path: str + mime_type: str + size_bytes: int + + def __init__(self, path: _Optional[str]=..., mime_type: _Optional[str]=..., size_bytes: _Optional[int]=...) -> None: + ... + +class CreateOntologyFileUploadUrlResponse(_message.Message): + __slots__ = ('upload_url', 'upload_key') + UPLOAD_URL_FIELD_NUMBER: _ClassVar[int] + UPLOAD_KEY_FIELD_NUMBER: _ClassVar[int] + upload_url: str + upload_key: str + + def __init__(self, upload_url: _Optional[str]=..., upload_key: _Optional[str]=...) -> None: + ... + +class FinalizeOntologyFileUploadRequest(_message.Message): + __slots__ = ('path', 'upload_key', 'commit_message') + PATH_FIELD_NUMBER: _ClassVar[int] + UPLOAD_KEY_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + path: str + upload_key: str + commit_message: str + + def __init__(self, path: _Optional[str]=..., upload_key: _Optional[str]=..., commit_message: _Optional[str]=...) -> None: + ... + +class FinalizeOntologyFileUploadResponse(_message.Message): + __slots__ = ('file',) + FILE_FIELD_NUMBER: _ClassVar[int] + file: OntologyFile + + def __init__(self, file: _Optional[_Union[OntologyFile, _Mapping]]=...) -> None: + ... + +class ListOntologyHistoryRequest(_message.Message): + __slots__ = ('page_size', 'page_token', 'path') + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + page_size: int + page_token: str + path: str + + def __init__(self, page_size: _Optional[int]=..., page_token: _Optional[str]=..., path: _Optional[str]=...) -> None: + ... + +class ListOntologyHistoryResponse(_message.Message): + __slots__ = ('history', 'next_page_token') + HISTORY_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + history: _containers.RepeatedCompositeFieldContainer[OntologyHistoryEntry] + next_page_token: str + + def __init__(self, history: _Optional[_Iterable[_Union[OntologyHistoryEntry, _Mapping]]]=..., next_page_token: _Optional[str]=...) -> None: + ... + +class GetOntologyHistoryFileDiffRequest(_message.Message): + __slots__ = ('commit_id', 'path') + COMMIT_ID_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + commit_id: str + path: str + + def __init__(self, commit_id: _Optional[str]=..., path: _Optional[str]=...) -> None: + ... + +class GetOntologyHistoryFileDiffResponse(_message.Message): + __slots__ = ('commit_id', 'path', 'previous_path', 'change_type', 'before_content', 'after_content', 'is_binary') + COMMIT_ID_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + PREVIOUS_PATH_FIELD_NUMBER: _ClassVar[int] + CHANGE_TYPE_FIELD_NUMBER: _ClassVar[int] + BEFORE_CONTENT_FIELD_NUMBER: _ClassVar[int] + AFTER_CONTENT_FIELD_NUMBER: _ClassVar[int] + IS_BINARY_FIELD_NUMBER: _ClassVar[int] + commit_id: str + path: str + previous_path: str + change_type: OntologyHistoryChangeType + before_content: str + after_content: str + is_binary: bool + + def __init__(self, commit_id: _Optional[str]=..., path: _Optional[str]=..., previous_path: _Optional[str]=..., change_type: _Optional[_Union[OntologyHistoryChangeType, str]]=..., before_content: _Optional[str]=..., after_content: _Optional[str]=..., is_binary: bool=...) -> None: + ... + +class UpsertOntologyFileRequest(_message.Message): + __slots__ = ('path', 'content', 'commit_message') + PATH_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + path: str + content: str + commit_message: str + + def __init__(self, path: _Optional[str]=..., content: _Optional[str]=..., commit_message: _Optional[str]=...) -> None: + ... + +class UpsertOntologyFileResponse(_message.Message): + __slots__ = ('file',) + FILE_FIELD_NUMBER: _ClassVar[int] + file: OntologyFile + + def __init__(self, file: _Optional[_Union[OntologyFile, _Mapping]]=...) -> None: + ... + +class CreateOntologyDirectoryRequest(_message.Message): + __slots__ = ('path', 'commit_message') + PATH_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + path: str + commit_message: str + + def __init__(self, path: _Optional[str]=..., commit_message: _Optional[str]=...) -> None: + ... + +class CreateOntologyDirectoryResponse(_message.Message): + __slots__ = ('entry',) + ENTRY_FIELD_NUMBER: _ClassVar[int] + entry: OntologyEntry + + def __init__(self, entry: _Optional[_Union[OntologyEntry, _Mapping]]=...) -> None: + ... + +class DeleteOntologyDirectoryRequest(_message.Message): + __slots__ = ('path', 'commit_message', 'recursive') + PATH_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + RECURSIVE_FIELD_NUMBER: _ClassVar[int] + path: str + commit_message: str + recursive: bool + + def __init__(self, path: _Optional[str]=..., commit_message: _Optional[str]=..., recursive: bool=...) -> None: + ... + +class RenameOntologyFileRequest(_message.Message): + __slots__ = ('old_path', 'new_path', 'commit_message') + OLD_PATH_FIELD_NUMBER: _ClassVar[int] + NEW_PATH_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + old_path: str + new_path: str + commit_message: str + + def __init__(self, old_path: _Optional[str]=..., new_path: _Optional[str]=..., commit_message: _Optional[str]=...) -> None: + ... + +class RenameOntologyFileResponse(_message.Message): + __slots__ = ('file',) + FILE_FIELD_NUMBER: _ClassVar[int] + file: OntologyFile + + def __init__(self, file: _Optional[_Union[OntologyFile, _Mapping]]=...) -> None: + ... + +class DeleteOntologyFileRequest(_message.Message): + __slots__ = ('path', 'commit_message') + PATH_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + path: str + commit_message: str + + def __init__(self, path: _Optional[str]=..., commit_message: _Optional[str]=...) -> None: + ... + +class GetOntologyOwnersRequest(_message.Message): + __slots__ = ('path',) + PATH_FIELD_NUMBER: _ClassVar[int] + path: str + + def __init__(self, path: _Optional[str]=...) -> None: + ... + +class GetOntologyOwnersResponse(_message.Message): + __slots__ = ('owners',) + OWNERS_FIELD_NUMBER: _ClassVar[int] + owners: OntologyOwners + + def __init__(self, owners: _Optional[_Union[OntologyOwners, _Mapping]]=...) -> None: + ... + +class GetEffectiveOntologyOwnersRequest(_message.Message): + __slots__ = ('path',) + PATH_FIELD_NUMBER: _ClassVar[int] + path: str + + def __init__(self, path: _Optional[str]=...) -> None: + ... + +class GetEffectiveOntologyOwnersResponse(_message.Message): + __slots__ = ('path', 'entries') + PATH_FIELD_NUMBER: _ClassVar[int] + ENTRIES_FIELD_NUMBER: _ClassVar[int] + path: str + entries: _containers.RepeatedCompositeFieldContainer[OntologyOwnerEntry] + + def __init__(self, path: _Optional[str]=..., entries: _Optional[_Iterable[_Union[OntologyOwnerEntry, _Mapping]]]=...) -> None: + ... + +class UpsertOntologyOwnersRequest(_message.Message): + __slots__ = ('path', 'role_ids', 'permissions', 'commit_message') + PATH_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + path: str + role_ids: _containers.RepeatedScalarFieldContainer[str] + permissions: _containers.RepeatedScalarFieldContainer[OntologyPermission] + commit_message: str + + def __init__(self, path: _Optional[str]=..., role_ids: _Optional[_Iterable[str]]=..., permissions: _Optional[_Iterable[_Union[OntologyPermission, str]]]=..., commit_message: _Optional[str]=...) -> None: + ... + +class UpsertOntologyOwnersResponse(_message.Message): + __slots__ = ('owners',) + OWNERS_FIELD_NUMBER: _ClassVar[int] + owners: OntologyOwners + + def __init__(self, owners: _Optional[_Union[OntologyOwners, _Mapping]]=...) -> None: + ... + +class DeleteOntologyOwnersRequest(_message.Message): + __slots__ = ('path', 'role_ids', 'commit_message') + PATH_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + COMMIT_MESSAGE_FIELD_NUMBER: _ClassVar[int] + path: str + role_ids: _containers.RepeatedScalarFieldContainer[str] + commit_message: str + + def __init__(self, path: _Optional[str]=..., role_ids: _Optional[_Iterable[str]]=..., commit_message: _Optional[str]=...) -> None: + ... + +class OntologyRemote(_message.Message): + __slots__ = ('id', 'remote_url', 'auth_type', 'default_branch', 'created_at', 'updated_at', 'sync_enabled', 'sync_interval_minutes', 'last_synced_at', 'last_sync_error', 'signing_key_type', 'github_app_id', 'github_app_installation_id', 'has_conflicts', 'push_mode') + ID_FIELD_NUMBER: _ClassVar[int] + REMOTE_URL_FIELD_NUMBER: _ClassVar[int] + AUTH_TYPE_FIELD_NUMBER: _ClassVar[int] + DEFAULT_BRANCH_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + SYNC_ENABLED_FIELD_NUMBER: _ClassVar[int] + SYNC_INTERVAL_MINUTES_FIELD_NUMBER: _ClassVar[int] + LAST_SYNCED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_SYNC_ERROR_FIELD_NUMBER: _ClassVar[int] + SIGNING_KEY_TYPE_FIELD_NUMBER: _ClassVar[int] + GITHUB_APP_ID_FIELD_NUMBER: _ClassVar[int] + GITHUB_APP_INSTALLATION_ID_FIELD_NUMBER: _ClassVar[int] + HAS_CONFLICTS_FIELD_NUMBER: _ClassVar[int] + PUSH_MODE_FIELD_NUMBER: _ClassVar[int] + id: str + remote_url: str + auth_type: str + default_branch: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + sync_enabled: bool + sync_interval_minutes: int + last_synced_at: _timestamp_pb2.Timestamp + last_sync_error: str + signing_key_type: str + github_app_id: str + github_app_installation_id: str + has_conflicts: bool + push_mode: str + + def __init__(self, id: _Optional[str]=..., remote_url: _Optional[str]=..., auth_type: _Optional[str]=..., default_branch: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., sync_enabled: bool=..., sync_interval_minutes: _Optional[int]=..., last_synced_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_sync_error: _Optional[str]=..., signing_key_type: _Optional[str]=..., github_app_id: _Optional[str]=..., github_app_installation_id: _Optional[str]=..., has_conflicts: bool=..., push_mode: _Optional[str]=...) -> None: + ... + +class GetOntologyRemoteRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetOntologyRemoteResponse(_message.Message): + __slots__ = ('remote', 'hosted_github_app_available', 'hosted_github_app_slug') + REMOTE_FIELD_NUMBER: _ClassVar[int] + HOSTED_GITHUB_APP_AVAILABLE_FIELD_NUMBER: _ClassVar[int] + HOSTED_GITHUB_APP_SLUG_FIELD_NUMBER: _ClassVar[int] + remote: OntologyRemote + hosted_github_app_available: bool + hosted_github_app_slug: str + + def __init__(self, remote: _Optional[_Union[OntologyRemote, _Mapping]]=..., hosted_github_app_available: bool=..., hosted_github_app_slug: _Optional[str]=...) -> None: + ... + +class ConfigureOntologyRemoteRequest(_message.Message): + __slots__ = ('remote_url', 'auth_type', 'token', 'ssh_private_key', 'ssh_key_password', 'default_branch', 'github_app_id', 'github_app_installation_id', 'github_app_private_key', 'signing_key_type', 'signing_key', 'push_mode', 'use_hosted_github_app') + REMOTE_URL_FIELD_NUMBER: _ClassVar[int] + AUTH_TYPE_FIELD_NUMBER: _ClassVar[int] + TOKEN_FIELD_NUMBER: _ClassVar[int] + SSH_PRIVATE_KEY_FIELD_NUMBER: _ClassVar[int] + SSH_KEY_PASSWORD_FIELD_NUMBER: _ClassVar[int] + DEFAULT_BRANCH_FIELD_NUMBER: _ClassVar[int] + GITHUB_APP_ID_FIELD_NUMBER: _ClassVar[int] + GITHUB_APP_INSTALLATION_ID_FIELD_NUMBER: _ClassVar[int] + GITHUB_APP_PRIVATE_KEY_FIELD_NUMBER: _ClassVar[int] + SIGNING_KEY_TYPE_FIELD_NUMBER: _ClassVar[int] + SIGNING_KEY_FIELD_NUMBER: _ClassVar[int] + PUSH_MODE_FIELD_NUMBER: _ClassVar[int] + USE_HOSTED_GITHUB_APP_FIELD_NUMBER: _ClassVar[int] + remote_url: str + auth_type: str + token: str + ssh_private_key: str + ssh_key_password: str + default_branch: str + github_app_id: str + github_app_installation_id: str + github_app_private_key: str + signing_key_type: str + signing_key: str + push_mode: str + use_hosted_github_app: bool + + def __init__(self, remote_url: _Optional[str]=..., auth_type: _Optional[str]=..., token: _Optional[str]=..., ssh_private_key: _Optional[str]=..., ssh_key_password: _Optional[str]=..., default_branch: _Optional[str]=..., github_app_id: _Optional[str]=..., github_app_installation_id: _Optional[str]=..., github_app_private_key: _Optional[str]=..., signing_key_type: _Optional[str]=..., signing_key: _Optional[str]=..., push_mode: _Optional[str]=..., use_hosted_github_app: bool=...) -> None: + ... + +class ConfigureOntologyRemoteResponse(_message.Message): + __slots__ = ('remote',) + REMOTE_FIELD_NUMBER: _ClassVar[int] + remote: OntologyRemote + + def __init__(self, remote: _Optional[_Union[OntologyRemote, _Mapping]]=...) -> None: + ... + +class GetOntologyGithubOAuthURLRequest(_message.Message): + __slots__ = ('state', 'code_challenge') + STATE_FIELD_NUMBER: _ClassVar[int] + CODE_CHALLENGE_FIELD_NUMBER: _ClassVar[int] + state: str + code_challenge: str + + def __init__(self, state: _Optional[str]=..., code_challenge: _Optional[str]=...) -> None: + ... + +class GetOntologyGithubOAuthURLResponse(_message.Message): + __slots__ = ('authorize_url', 'install_url', 'available') + AUTHORIZE_URL_FIELD_NUMBER: _ClassVar[int] + INSTALL_URL_FIELD_NUMBER: _ClassVar[int] + AVAILABLE_FIELD_NUMBER: _ClassVar[int] + authorize_url: str + install_url: str + available: bool + + def __init__(self, authorize_url: _Optional[str]=..., install_url: _Optional[str]=..., available: bool=...) -> None: + ... + +class ExchangeOntologyGithubCodeRequest(_message.Message): + __slots__ = ('code', 'state', 'code_verifier') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + CODE_VERIFIER_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + code_verifier: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=..., code_verifier: _Optional[str]=...) -> None: + ... + +class ExchangeOntologyGithubCodeResponse(_message.Message): + __slots__ = ('success', 'installations') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + INSTALLATIONS_FIELD_NUMBER: _ClassVar[int] + success: bool + installations: _containers.RepeatedCompositeFieldContainer[GithubInstallation] + + def __init__(self, success: bool=..., installations: _Optional[_Iterable[_Union[GithubInstallation, _Mapping]]]=...) -> None: + ... + +class GithubInstallation(_message.Message): + __slots__ = ('id', 'account', 'repos', 'repos_error') + ID_FIELD_NUMBER: _ClassVar[int] + ACCOUNT_FIELD_NUMBER: _ClassVar[int] + REPOS_FIELD_NUMBER: _ClassVar[int] + REPOS_ERROR_FIELD_NUMBER: _ClassVar[int] + id: str + account: str + repos: _containers.RepeatedCompositeFieldContainer[GithubInstallationRepo] + repos_error: str + + def __init__(self, id: _Optional[str]=..., account: _Optional[str]=..., repos: _Optional[_Iterable[_Union[GithubInstallationRepo, _Mapping]]]=..., repos_error: _Optional[str]=...) -> None: + ... + +class GithubInstallationRepo(_message.Message): + __slots__ = ('full_name', 'clone_url', 'default_branch', 'private') + FULL_NAME_FIELD_NUMBER: _ClassVar[int] + CLONE_URL_FIELD_NUMBER: _ClassVar[int] + DEFAULT_BRANCH_FIELD_NUMBER: _ClassVar[int] + PRIVATE_FIELD_NUMBER: _ClassVar[int] + full_name: str + clone_url: str + default_branch: str + private: bool + + def __init__(self, full_name: _Optional[str]=..., clone_url: _Optional[str]=..., default_branch: _Optional[str]=..., private: bool=...) -> None: + ... + +class RemoveOntologyRemoteRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class PushOntologyToRemoteRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class PullOntologyFromRemoteRequest(_message.Message): + __slots__ = ('acknowledge_unrelated_histories', 'expected_local_head_hash', 'expected_remote_head_hash') + ACKNOWLEDGE_UNRELATED_HISTORIES_FIELD_NUMBER: _ClassVar[int] + EXPECTED_LOCAL_HEAD_HASH_FIELD_NUMBER: _ClassVar[int] + EXPECTED_REMOTE_HEAD_HASH_FIELD_NUMBER: _ClassVar[int] + acknowledge_unrelated_histories: bool + expected_local_head_hash: str + expected_remote_head_hash: str + + def __init__(self, acknowledge_unrelated_histories: bool=..., expected_local_head_hash: _Optional[str]=..., expected_remote_head_hash: _Optional[str]=...) -> None: + ... + +class TriggerConfigDriftReconcileRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class TriggerConfigDriftReconcileResponse(_message.Message): + __slots__ = ('drifted',) + DRIFTED_FIELD_NUMBER: _ClassVar[int] + drifted: bool + + def __init__(self, drifted: bool=...) -> None: + ... + +class UnrelatedHistoriesDetail(_message.Message): + __slots__ = ('local_head_hash', 'remote_head_hash', 'remote_addition_paths', 'conflict_paths') + LOCAL_HEAD_HASH_FIELD_NUMBER: _ClassVar[int] + REMOTE_HEAD_HASH_FIELD_NUMBER: _ClassVar[int] + REMOTE_ADDITION_PATHS_FIELD_NUMBER: _ClassVar[int] + CONFLICT_PATHS_FIELD_NUMBER: _ClassVar[int] + local_head_hash: str + remote_head_hash: str + remote_addition_paths: _containers.RepeatedScalarFieldContainer[str] + conflict_paths: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, local_head_hash: _Optional[str]=..., remote_head_hash: _Optional[str]=..., remote_addition_paths: _Optional[_Iterable[str]]=..., conflict_paths: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetOntologyMigrationStatusRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetOntologyMigrationStatusResponse(_message.Message): + __slots__ = ('pending_legacy_context_count',) + PENDING_LEGACY_CONTEXT_COUNT_FIELD_NUMBER: _ClassVar[int] + pending_legacy_context_count: int + + def __init__(self, pending_legacy_context_count: _Optional[int]=...) -> None: + ... + +class PlanOntologyMergeRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class PlanOntologyMergeResponse(_message.Message): + __slots__ = ('outcome', 'local_head_hash', 'remote_head_hash', 'remote_addition_paths', 'conflict_paths') + OUTCOME_FIELD_NUMBER: _ClassVar[int] + LOCAL_HEAD_HASH_FIELD_NUMBER: _ClassVar[int] + REMOTE_HEAD_HASH_FIELD_NUMBER: _ClassVar[int] + REMOTE_ADDITION_PATHS_FIELD_NUMBER: _ClassVar[int] + CONFLICT_PATHS_FIELD_NUMBER: _ClassVar[int] + outcome: OntologyMergeOutcome + local_head_hash: str + remote_head_hash: str + remote_addition_paths: _containers.RepeatedScalarFieldContainer[str] + conflict_paths: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, outcome: _Optional[_Union[OntologyMergeOutcome, str]]=..., local_head_hash: _Optional[str]=..., remote_head_hash: _Optional[str]=..., remote_addition_paths: _Optional[_Iterable[str]]=..., conflict_paths: _Optional[_Iterable[str]]=...) -> None: + ... + +class PreviewOntologyPullFromRemoteRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class RecoverOntologyRequest(_message.Message): + __slots__ = ('level',) + LEVEL_FIELD_NUMBER: _ClassVar[int] + level: RecoverOntologyLevel + + def __init__(self, level: _Optional[_Union[RecoverOntologyLevel, str]]=...) -> None: + ... + +class PreviewOntologyPullFolderRow(_message.Message): + __slots__ = ('folder_path', 'file_count') + FOLDER_PATH_FIELD_NUMBER: _ClassVar[int] + FILE_COUNT_FIELD_NUMBER: _ClassVar[int] + folder_path: str + file_count: int + + def __init__(self, folder_path: _Optional[str]=..., file_count: _Optional[int]=...) -> None: + ... + +class PreviewOntologyPullFromRemoteResponse(_message.Message): + __slots__ = ('total_files', 'top_level_folder_count', 'folder_rows', 'unrelated_histories', 'unrelated_histories_remote_additions', 'unrelated_histories_conflict_paths') + TOTAL_FILES_FIELD_NUMBER: _ClassVar[int] + TOP_LEVEL_FOLDER_COUNT_FIELD_NUMBER: _ClassVar[int] + FOLDER_ROWS_FIELD_NUMBER: _ClassVar[int] + UNRELATED_HISTORIES_FIELD_NUMBER: _ClassVar[int] + UNRELATED_HISTORIES_REMOTE_ADDITIONS_FIELD_NUMBER: _ClassVar[int] + UNRELATED_HISTORIES_CONFLICT_PATHS_FIELD_NUMBER: _ClassVar[int] + total_files: int + top_level_folder_count: int + folder_rows: _containers.RepeatedCompositeFieldContainer[PreviewOntologyPullFolderRow] + unrelated_histories: bool + unrelated_histories_remote_additions: _containers.RepeatedScalarFieldContainer[str] + unrelated_histories_conflict_paths: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, total_files: _Optional[int]=..., top_level_folder_count: _Optional[int]=..., folder_rows: _Optional[_Iterable[_Union[PreviewOntologyPullFolderRow, _Mapping]]]=..., unrelated_histories: bool=..., unrelated_histories_remote_additions: _Optional[_Iterable[str]]=..., unrelated_histories_conflict_paths: _Optional[_Iterable[str]]=...) -> None: + ... + +class UpdateOntologySyncConfigRequest(_message.Message): + __slots__ = ('sync_enabled', 'sync_interval_minutes') + SYNC_ENABLED_FIELD_NUMBER: _ClassVar[int] + SYNC_INTERVAL_MINUTES_FIELD_NUMBER: _ClassVar[int] + sync_enabled: bool + sync_interval_minutes: int + + def __init__(self, sync_enabled: bool=..., sync_interval_minutes: _Optional[int]=...) -> None: + ... + +class UpdateOntologySyncConfigResponse(_message.Message): + __slots__ = ('remote',) + REMOTE_FIELD_NUMBER: _ClassVar[int] + remote: OntologyRemote + + def __init__(self, remote: _Optional[_Union[OntologyRemote, _Mapping]]=...) -> None: + ... + +class OntologySyncRun(_message.Message): + __slots__ = ('id', 'remote_id', 'remote_url', 'default_branch', 'source', 'status', 'started_at', 'completed_at', 'error_message', 'conflict_count') + ID_FIELD_NUMBER: _ClassVar[int] + REMOTE_ID_FIELD_NUMBER: _ClassVar[int] + REMOTE_URL_FIELD_NUMBER: _ClassVar[int] + DEFAULT_BRANCH_FIELD_NUMBER: _ClassVar[int] + SOURCE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + STARTED_AT_FIELD_NUMBER: _ClassVar[int] + COMPLETED_AT_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + CONFLICT_COUNT_FIELD_NUMBER: _ClassVar[int] + id: str + remote_id: str + remote_url: str + default_branch: str + source: str + status: OntologySyncRunStatus + started_at: _timestamp_pb2.Timestamp + completed_at: _timestamp_pb2.Timestamp + error_message: str + conflict_count: int + + def __init__(self, id: _Optional[str]=..., remote_id: _Optional[str]=..., remote_url: _Optional[str]=..., default_branch: _Optional[str]=..., source: _Optional[str]=..., status: _Optional[_Union[OntologySyncRunStatus, str]]=..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., completed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., error_message: _Optional[str]=..., conflict_count: _Optional[int]=...) -> None: + ... + +class ListOntologySyncRunsRequest(_message.Message): + __slots__ = ('page_size', 'page_token') + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + page_size: int + page_token: str + + def __init__(self, page_size: _Optional[int]=..., page_token: _Optional[str]=...) -> None: + ... + +class ListOntologySyncRunsResponse(_message.Message): + __slots__ = ('runs', 'next_page_token') + RUNS_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + runs: _containers.RepeatedCompositeFieldContainer[OntologySyncRun] + next_page_token: str + + def __init__(self, runs: _Optional[_Iterable[_Union[OntologySyncRun, _Mapping]]]=..., next_page_token: _Optional[str]=...) -> None: + ... + +class OntologySyncConflict(_message.Message): + __slots__ = ('id', 'file_path', 'ours_content', 'theirs_content', 'base_content', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + FILE_PATH_FIELD_NUMBER: _ClassVar[int] + OURS_CONTENT_FIELD_NUMBER: _ClassVar[int] + THEIRS_CONTENT_FIELD_NUMBER: _ClassVar[int] + BASE_CONTENT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + file_path: str + ours_content: str + theirs_content: str + base_content: str + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., file_path: _Optional[str]=..., ours_content: _Optional[str]=..., theirs_content: _Optional[str]=..., base_content: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetOntologySyncConflictsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetOntologySyncConflictsResponse(_message.Message): + __slots__ = ('conflicts',) + CONFLICTS_FIELD_NUMBER: _ClassVar[int] + conflicts: _containers.RepeatedCompositeFieldContainer[OntologySyncConflict] + + def __init__(self, conflicts: _Optional[_Iterable[_Union[OntologySyncConflict, _Mapping]]]=...) -> None: + ... + +class ResolveOntologySyncConflictRequest(_message.Message): + __slots__ = ('conflict_id', 'resolved_content') + CONFLICT_ID_FIELD_NUMBER: _ClassVar[int] + RESOLVED_CONTENT_FIELD_NUMBER: _ClassVar[int] + conflict_id: str + resolved_content: str + + def __init__(self, conflict_id: _Optional[str]=..., resolved_content: _Optional[str]=...) -> None: + ... + +class MigrateLegacyContextToOntologyRequest(_message.Message): + __slots__ = ('dry_run', 'include_inactive') + DRY_RUN_FIELD_NUMBER: _ClassVar[int] + INCLUDE_INACTIVE_FIELD_NUMBER: _ClassVar[int] + dry_run: bool + include_inactive: bool + + def __init__(self, dry_run: bool=..., include_inactive: bool=...) -> None: + ... + +class MigratedLegacyContextPrompt(_message.Message): + __slots__ = ('legacy_context_prompt_id', 'name', 'folder_path', 'file_path', 'created', 'skipped', 'skip_reason', 'is_public', 'auto_attach') + LEGACY_CONTEXT_PROMPT_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + FOLDER_PATH_FIELD_NUMBER: _ClassVar[int] + FILE_PATH_FIELD_NUMBER: _ClassVar[int] + CREATED_FIELD_NUMBER: _ClassVar[int] + SKIPPED_FIELD_NUMBER: _ClassVar[int] + SKIP_REASON_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + AUTO_ATTACH_FIELD_NUMBER: _ClassVar[int] + legacy_context_prompt_id: str + name: str + folder_path: str + file_path: str + created: bool + skipped: bool + skip_reason: str + is_public: bool + auto_attach: bool + + def __init__(self, legacy_context_prompt_id: _Optional[str]=..., name: _Optional[str]=..., folder_path: _Optional[str]=..., file_path: _Optional[str]=..., created: bool=..., skipped: bool=..., skip_reason: _Optional[str]=..., is_public: bool=..., auto_attach: bool=...) -> None: + ... + +class MigrateLegacyContextToOntologyResponse(_message.Message): + __slots__ = ('prompts', 'created_count', 'skipped_count', 'total_legacy_count', 'dry_run') + PROMPTS_FIELD_NUMBER: _ClassVar[int] + CREATED_COUNT_FIELD_NUMBER: _ClassVar[int] + SKIPPED_COUNT_FIELD_NUMBER: _ClassVar[int] + TOTAL_LEGACY_COUNT_FIELD_NUMBER: _ClassVar[int] + DRY_RUN_FIELD_NUMBER: _ClassVar[int] + prompts: _containers.RepeatedCompositeFieldContainer[MigratedLegacyContextPrompt] + created_count: int + skipped_count: int + total_legacy_count: int + dry_run: bool + + def __init__(self, prompts: _Optional[_Iterable[_Union[MigratedLegacyContextPrompt, _Mapping]]]=..., created_count: _Optional[int]=..., skipped_count: _Optional[int]=..., total_legacy_count: _Optional[int]=..., dry_run: bool=...) -> None: + ... + +class MigrateOntologyToOntologyRequest(_message.Message): + __slots__ = ('ontology_ids', 'dry_run') + ONTOLOGY_IDS_FIELD_NUMBER: _ClassVar[int] + DRY_RUN_FIELD_NUMBER: _ClassVar[int] + ontology_ids: _containers.RepeatedScalarFieldContainer[int] + dry_run: bool + + def __init__(self, ontology_ids: _Optional[_Iterable[int]]=..., dry_run: bool=...) -> None: + ... + +class MigratedOntologyNoun(_message.Message): + __slots__ = ('noun_id', 'noun_name', 'file_path', 'created', 'skipped', 'skip_reason') + NOUN_ID_FIELD_NUMBER: _ClassVar[int] + NOUN_NAME_FIELD_NUMBER: _ClassVar[int] + FILE_PATH_FIELD_NUMBER: _ClassVar[int] + CREATED_FIELD_NUMBER: _ClassVar[int] + SKIPPED_FIELD_NUMBER: _ClassVar[int] + SKIP_REASON_FIELD_NUMBER: _ClassVar[int] + noun_id: str + noun_name: str + file_path: str + created: bool + skipped: bool + skip_reason: str + + def __init__(self, noun_id: _Optional[str]=..., noun_name: _Optional[str]=..., file_path: _Optional[str]=..., created: bool=..., skipped: bool=..., skip_reason: _Optional[str]=...) -> None: + ... + +class MigrateOntologyToOntologyResult(_message.Message): + __slots__ = ('ontology_id', 'ontology_name', 'folder_path', 'nouns', 'created_count', 'skipped_count', 'total_nouns') + ONTOLOGY_ID_FIELD_NUMBER: _ClassVar[int] + ONTOLOGY_NAME_FIELD_NUMBER: _ClassVar[int] + FOLDER_PATH_FIELD_NUMBER: _ClassVar[int] + NOUNS_FIELD_NUMBER: _ClassVar[int] + CREATED_COUNT_FIELD_NUMBER: _ClassVar[int] + SKIPPED_COUNT_FIELD_NUMBER: _ClassVar[int] + TOTAL_NOUNS_FIELD_NUMBER: _ClassVar[int] + ontology_id: int + ontology_name: str + folder_path: str + nouns: _containers.RepeatedCompositeFieldContainer[MigratedOntologyNoun] + created_count: int + skipped_count: int + total_nouns: int + + def __init__(self, ontology_id: _Optional[int]=..., ontology_name: _Optional[str]=..., folder_path: _Optional[str]=..., nouns: _Optional[_Iterable[_Union[MigratedOntologyNoun, _Mapping]]]=..., created_count: _Optional[int]=..., skipped_count: _Optional[int]=..., total_nouns: _Optional[int]=...) -> None: + ... + +class MigrateOntologyToOntologyResponse(_message.Message): + __slots__ = ('results', 'total_created', 'total_skipped', 'dry_run') + RESULTS_FIELD_NUMBER: _ClassVar[int] + TOTAL_CREATED_FIELD_NUMBER: _ClassVar[int] + TOTAL_SKIPPED_FIELD_NUMBER: _ClassVar[int] + DRY_RUN_FIELD_NUMBER: _ClassVar[int] + results: _containers.RepeatedCompositeFieldContainer[MigrateOntologyToOntologyResult] + total_created: int + total_skipped: int + dry_run: bool + + def __init__(self, results: _Optional[_Iterable[_Union[MigrateOntologyToOntologyResult, _Mapping]]]=..., total_created: _Optional[int]=..., total_skipped: _Optional[int]=..., dry_run: bool=...) -> None: + ... + +class AddOntologySubmoduleRequest(_message.Message): + __slots__ = ('url', 'path', 'branch') + URL_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + BRANCH_FIELD_NUMBER: _ClassVar[int] + url: str + path: str + branch: str + + def __init__(self, url: _Optional[str]=..., path: _Optional[str]=..., branch: _Optional[str]=...) -> None: + ... + +class AddOntologySubmoduleResponse(_message.Message): + __slots__ = ('path', 'url', 'branch') + PATH_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + BRANCH_FIELD_NUMBER: _ClassVar[int] + path: str + url: str + branch: str + + def __init__(self, path: _Optional[str]=..., url: _Optional[str]=..., branch: _Optional[str]=...) -> None: + ... + +class RemoveOntologySubmoduleRequest(_message.Message): + __slots__ = ('path',) + PATH_FIELD_NUMBER: _ClassVar[int] + path: str + + def __init__(self, path: _Optional[str]=...) -> None: + ... + +class ListOntologySubmodulesRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class OntologySubmodule(_message.Message): + __slots__ = ('name', 'path', 'url', 'branch') + NAME_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + BRANCH_FIELD_NUMBER: _ClassVar[int] + name: str + path: str + url: str + branch: str + + def __init__(self, name: _Optional[str]=..., path: _Optional[str]=..., url: _Optional[str]=..., branch: _Optional[str]=...) -> None: + ... + +class ListOntologySubmodulesResponse(_message.Message): + __slots__ = ('submodules',) + SUBMODULES_FIELD_NUMBER: _ClassVar[int] + submodules: _containers.RepeatedCompositeFieldContainer[OntologySubmodule] + + def __init__(self, submodules: _Optional[_Iterable[_Union[OntologySubmodule, _Mapping]]]=...) -> None: + ... + +class ContextPatchAutoApproveRule(_message.Message): + __slots__ = ('id', 'directory_path', 'always_auto_approve', 'role_ids', 'agent_ids', 'enabled', 'created_at', 'updated_at') + ID_FIELD_NUMBER: _ClassVar[int] + DIRECTORY_PATH_FIELD_NUMBER: _ClassVar[int] + ALWAYS_AUTO_APPROVE_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + AGENT_IDS_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + directory_path: str + always_auto_approve: bool + role_ids: _containers.RepeatedScalarFieldContainer[str] + agent_ids: _containers.RepeatedScalarFieldContainer[str] + enabled: bool + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., directory_path: _Optional[str]=..., always_auto_approve: bool=..., role_ids: _Optional[_Iterable[str]]=..., agent_ids: _Optional[_Iterable[str]]=..., enabled: bool=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ContextPatchAutoApproveRuleInput(_message.Message): + __slots__ = ('directory_path', 'always_auto_approve', 'role_ids', 'agent_ids', 'enabled') + DIRECTORY_PATH_FIELD_NUMBER: _ClassVar[int] + ALWAYS_AUTO_APPROVE_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + AGENT_IDS_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + directory_path: str + always_auto_approve: bool + role_ids: _containers.RepeatedScalarFieldContainer[str] + agent_ids: _containers.RepeatedScalarFieldContainer[str] + enabled: bool + + def __init__(self, directory_path: _Optional[str]=..., always_auto_approve: bool=..., role_ids: _Optional[_Iterable[str]]=..., agent_ids: _Optional[_Iterable[str]]=..., enabled: bool=...) -> None: + ... + +class ListContextPatchAutoApproveRulesRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListContextPatchAutoApproveRulesResponse(_message.Message): + __slots__ = ('rules',) + RULES_FIELD_NUMBER: _ClassVar[int] + rules: _containers.RepeatedCompositeFieldContainer[ContextPatchAutoApproveRule] + + def __init__(self, rules: _Optional[_Iterable[_Union[ContextPatchAutoApproveRule, _Mapping]]]=...) -> None: + ... + +class CreateContextPatchAutoApproveRuleRequest(_message.Message): + __slots__ = ('rule',) + RULE_FIELD_NUMBER: _ClassVar[int] + rule: ContextPatchAutoApproveRuleInput + + def __init__(self, rule: _Optional[_Union[ContextPatchAutoApproveRuleInput, _Mapping]]=...) -> None: + ... + +class CreateContextPatchAutoApproveRuleResponse(_message.Message): + __slots__ = ('rule',) + RULE_FIELD_NUMBER: _ClassVar[int] + rule: ContextPatchAutoApproveRule + + def __init__(self, rule: _Optional[_Union[ContextPatchAutoApproveRule, _Mapping]]=...) -> None: + ... + +class UpdateContextPatchAutoApproveRuleRequest(_message.Message): + __slots__ = ('id', 'rule') + ID_FIELD_NUMBER: _ClassVar[int] + RULE_FIELD_NUMBER: _ClassVar[int] + id: str + rule: ContextPatchAutoApproveRuleInput + + def __init__(self, id: _Optional[str]=..., rule: _Optional[_Union[ContextPatchAutoApproveRuleInput, _Mapping]]=...) -> None: + ... + +class UpdateContextPatchAutoApproveRuleResponse(_message.Message): + __slots__ = ('rule',) + RULE_FIELD_NUMBER: _ClassVar[int] + rule: ContextPatchAutoApproveRule + + def __init__(self, rule: _Optional[_Union[ContextPatchAutoApproveRule, _Mapping]]=...) -> None: + ... + +class DeleteContextPatchAutoApproveRuleRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class ApprovalRule(_message.Message): + __slots__ = ('id', 'directory_path', 'required_approvals', 'role_ids', 'enabled', 'created_at', 'updated_at') + ID_FIELD_NUMBER: _ClassVar[int] + DIRECTORY_PATH_FIELD_NUMBER: _ClassVar[int] + REQUIRED_APPROVALS_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + directory_path: str + required_approvals: int + role_ids: _containers.RepeatedScalarFieldContainer[str] + enabled: bool + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., directory_path: _Optional[str]=..., required_approvals: _Optional[int]=..., role_ids: _Optional[_Iterable[str]]=..., enabled: bool=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ApprovalRuleInput(_message.Message): + __slots__ = ('directory_path', 'required_approvals', 'role_ids', 'enabled') + DIRECTORY_PATH_FIELD_NUMBER: _ClassVar[int] + REQUIRED_APPROVALS_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + directory_path: str + required_approvals: int + role_ids: _containers.RepeatedScalarFieldContainer[str] + enabled: bool + + def __init__(self, directory_path: _Optional[str]=..., required_approvals: _Optional[int]=..., role_ids: _Optional[_Iterable[str]]=..., enabled: bool=...) -> None: + ... + +class ListApprovalRulesRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListApprovalRulesResponse(_message.Message): + __slots__ = ('rules',) + RULES_FIELD_NUMBER: _ClassVar[int] + rules: _containers.RepeatedCompositeFieldContainer[ApprovalRule] + + def __init__(self, rules: _Optional[_Iterable[_Union[ApprovalRule, _Mapping]]]=...) -> None: + ... + +class CreateApprovalRuleRequest(_message.Message): + __slots__ = ('rule',) + RULE_FIELD_NUMBER: _ClassVar[int] + rule: ApprovalRuleInput + + def __init__(self, rule: _Optional[_Union[ApprovalRuleInput, _Mapping]]=...) -> None: + ... + +class CreateApprovalRuleResponse(_message.Message): + __slots__ = ('rule',) + RULE_FIELD_NUMBER: _ClassVar[int] + rule: ApprovalRule + + def __init__(self, rule: _Optional[_Union[ApprovalRule, _Mapping]]=...) -> None: + ... + +class UpdateApprovalRuleRequest(_message.Message): + __slots__ = ('id', 'rule') + ID_FIELD_NUMBER: _ClassVar[int] + RULE_FIELD_NUMBER: _ClassVar[int] + id: str + rule: ApprovalRuleInput + + def __init__(self, id: _Optional[str]=..., rule: _Optional[_Union[ApprovalRuleInput, _Mapping]]=...) -> None: + ... + +class UpdateApprovalRuleResponse(_message.Message): + __slots__ = ('rule',) + RULE_FIELD_NUMBER: _ClassVar[int] + rule: ApprovalRule + + def __init__(self, rule: _Optional[_Union[ApprovalRule, _Mapping]]=...) -> None: + ... + +class DeleteApprovalRuleRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class ListOntologyImportsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class OntologyImportEdge(_message.Message): + __slots__ = ('source_path', 'target_path', 'alias') + SOURCE_PATH_FIELD_NUMBER: _ClassVar[int] + TARGET_PATH_FIELD_NUMBER: _ClassVar[int] + ALIAS_FIELD_NUMBER: _ClassVar[int] + source_path: str + target_path: str + alias: str + + def __init__(self, source_path: _Optional[str]=..., target_path: _Optional[str]=..., alias: _Optional[str]=...) -> None: + ... + +class ListOntologyImportsResponse(_message.Message): + __slots__ = ('imports',) + IMPORTS_FIELD_NUMBER: _ClassVar[int] + imports: _containers.RepeatedCompositeFieldContainer[OntologyImportEdge] + + def __init__(self, imports: _Optional[_Iterable[_Union[OntologyImportEdge, _Mapping]]]=...) -> None: + ... + +class GetFileUsageRequest(_message.Message): + __slots__ = ('path_prefix', 'order', 'observation_period', 'page_cursor', 'page_size') + PATH_PREFIX_FIELD_NUMBER: _ClassVar[int] + ORDER_FIELD_NUMBER: _ClassVar[int] + OBSERVATION_PERIOD_FIELD_NUMBER: _ClassVar[int] + PAGE_CURSOR_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + path_prefix: str + order: UsageOrderBy + observation_period: _duration_pb2.Duration + page_cursor: str + page_size: int + + def __init__(self, path_prefix: _Optional[str]=..., order: _Optional[_Union[UsageOrderBy, str]]=..., observation_period: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., page_cursor: _Optional[str]=..., page_size: _Optional[int]=...) -> None: + ... + +class FileUsage(_message.Message): + __slots__ = ('file_path', 'average_tokens', 'average_query_time', 'hit_rate', 'num_errors', 'num_empties', 'chats_pulled', 'chats_used', 'last_pulled', 'last_run', 'last_used') + FILE_PATH_FIELD_NUMBER: _ClassVar[int] + AVERAGE_TOKENS_FIELD_NUMBER: _ClassVar[int] + AVERAGE_QUERY_TIME_FIELD_NUMBER: _ClassVar[int] + HIT_RATE_FIELD_NUMBER: _ClassVar[int] + NUM_ERRORS_FIELD_NUMBER: _ClassVar[int] + NUM_EMPTIES_FIELD_NUMBER: _ClassVar[int] + CHATS_PULLED_FIELD_NUMBER: _ClassVar[int] + CHATS_USED_FIELD_NUMBER: _ClassVar[int] + LAST_PULLED_FIELD_NUMBER: _ClassVar[int] + LAST_RUN_FIELD_NUMBER: _ClassVar[int] + LAST_USED_FIELD_NUMBER: _ClassVar[int] + file_path: str + average_tokens: int + average_query_time: _duration_pb2.Duration + hit_rate: float + num_errors: int + num_empties: int + chats_pulled: int + chats_used: int + last_pulled: _timestamp_pb2.Timestamp + last_run: _timestamp_pb2.Timestamp + last_used: _timestamp_pb2.Timestamp + + def __init__(self, file_path: _Optional[str]=..., average_tokens: _Optional[int]=..., average_query_time: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., hit_rate: _Optional[float]=..., num_errors: _Optional[int]=..., num_empties: _Optional[int]=..., chats_pulled: _Optional[int]=..., chats_used: _Optional[int]=..., last_pulled: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_run: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_used: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetFileUsageResponse(_message.Message): + __slots__ = ('files', 'next_page_cursor') + FILES_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_CURSOR_FIELD_NUMBER: _ClassVar[int] + files: _containers.RepeatedCompositeFieldContainer[FileUsage] + next_page_cursor: str + + def __init__(self, files: _Optional[_Iterable[_Union[FileUsage, _Mapping]]]=..., next_page_cursor: _Optional[str]=...) -> None: + ... + +class GetOntologyUsageSummaryRequest(_message.Message): + __slots__ = ('observation_period',) + OBSERVATION_PERIOD_FIELD_NUMBER: _ClassVar[int] + observation_period: _duration_pb2.Duration + + def __init__(self, observation_period: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=...) -> None: + ... + +class GetOntologyUsageSummaryResponse(_message.Message): + __slots__ = ('total_files', 'pulled_files', 'dead_files', 'avg_hit_rate', 'error_files', 'reclaimable_tokens') + TOTAL_FILES_FIELD_NUMBER: _ClassVar[int] + PULLED_FILES_FIELD_NUMBER: _ClassVar[int] + DEAD_FILES_FIELD_NUMBER: _ClassVar[int] + AVG_HIT_RATE_FIELD_NUMBER: _ClassVar[int] + ERROR_FILES_FIELD_NUMBER: _ClassVar[int] + RECLAIMABLE_TOKENS_FIELD_NUMBER: _ClassVar[int] + total_files: int + pulled_files: int + dead_files: int + avg_hit_rate: float + error_files: int + reclaimable_tokens: int + + def __init__(self, total_files: _Optional[int]=..., pulled_files: _Optional[int]=..., dead_files: _Optional[int]=..., avg_hit_rate: _Optional[float]=..., error_files: _Optional[int]=..., reclaimable_tokens: _Optional[int]=...) -> None: + ... + +class ListOntologyFilesRequest(_message.Message): + __slots__ = ('observation_period',) + OBSERVATION_PERIOD_FIELD_NUMBER: _ClassVar[int] + observation_period: _duration_pb2.Duration + + def __init__(self, observation_period: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=...) -> None: + ... + +class ListOntologyFilesResponse(_message.Message): + __slots__ = ('files',) + FILES_FIELD_NUMBER: _ClassVar[int] + files: _containers.RepeatedCompositeFieldContainer[FileUsage] + + def __init__(self, files: _Optional[_Iterable[_Union[FileUsage, _Mapping]]]=...) -> None: + ... + +class Date(_message.Message): + __slots__ = ('year', 'month', 'day') + YEAR_FIELD_NUMBER: _ClassVar[int] + MONTH_FIELD_NUMBER: _ClassVar[int] + DAY_FIELD_NUMBER: _ClassVar[int] + year: int + month: int + day: int + + def __init__(self, year: _Optional[int]=..., month: _Optional[int]=..., day: _Optional[int]=...) -> None: + ... + +class DailyFileUsage(_message.Message): + __slots__ = ('date', 'average_tokens', 'average_query_time', 'hit_rate', 'num_errors', 'num_empties', 'chats_pulled', 'chats_used') + DATE_FIELD_NUMBER: _ClassVar[int] + AVERAGE_TOKENS_FIELD_NUMBER: _ClassVar[int] + AVERAGE_QUERY_TIME_FIELD_NUMBER: _ClassVar[int] + HIT_RATE_FIELD_NUMBER: _ClassVar[int] + NUM_ERRORS_FIELD_NUMBER: _ClassVar[int] + NUM_EMPTIES_FIELD_NUMBER: _ClassVar[int] + CHATS_PULLED_FIELD_NUMBER: _ClassVar[int] + CHATS_USED_FIELD_NUMBER: _ClassVar[int] + date: Date + average_tokens: int + average_query_time: _duration_pb2.Duration + hit_rate: float + num_errors: int + num_empties: int + chats_pulled: int + chats_used: int + + def __init__(self, date: _Optional[_Union[Date, _Mapping]]=..., average_tokens: _Optional[int]=..., average_query_time: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., hit_rate: _Optional[float]=..., num_errors: _Optional[int]=..., num_empties: _Optional[int]=..., chats_pulled: _Optional[int]=..., chats_used: _Optional[int]=...) -> None: + ... + +class GetUsageDetailsForFileRequest(_message.Message): + __slots__ = ('file_path', 'observation_period') + FILE_PATH_FIELD_NUMBER: _ClassVar[int] + OBSERVATION_PERIOD_FIELD_NUMBER: _ClassVar[int] + file_path: str + observation_period: _duration_pb2.Duration + + def __init__(self, file_path: _Optional[str]=..., observation_period: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=...) -> None: + ... + +class GetUsageDetailsForFileResponse(_message.Message): + __slots__ = ('last_used', 'days') + LAST_USED_FIELD_NUMBER: _ClassVar[int] + DAYS_FIELD_NUMBER: _ClassVar[int] + last_used: _timestamp_pb2.Timestamp + days: _containers.RepeatedCompositeFieldContainer[DailyFileUsage] + + def __init__(self, last_used: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., days: _Optional[_Iterable[_Union[DailyFileUsage, _Mapping]]]=...) -> None: + ... + +class ListChatsForFileRequest(_message.Message): + __slots__ = ('file_path', 'observation_period', 'limit') + FILE_PATH_FIELD_NUMBER: _ClassVar[int] + OBSERVATION_PERIOD_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + file_path: str + observation_period: _duration_pb2.Duration + limit: int + + def __init__(self, file_path: _Optional[str]=..., observation_period: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=..., limit: _Optional[int]=...) -> None: + ... + +class FileChatUsage(_message.Message): + __slots__ = ('chat_id', 'title', 'last_pulled', 'used') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + TITLE_FIELD_NUMBER: _ClassVar[int] + LAST_PULLED_FIELD_NUMBER: _ClassVar[int] + USED_FIELD_NUMBER: _ClassVar[int] + chat_id: str + title: str + last_pulled: _timestamp_pb2.Timestamp + used: bool + + def __init__(self, chat_id: _Optional[str]=..., title: _Optional[str]=..., last_pulled: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., used: bool=...) -> None: + ... + +class ListChatsForFileResponse(_message.Message): + __slots__ = ('chats',) + CHATS_FIELD_NUMBER: _ClassVar[int] + chats: _containers.RepeatedCompositeFieldContainer[FileChatUsage] + + def __init__(self, chats: _Optional[_Iterable[_Union[FileChatUsage, _Mapping]]]=...) -> None: + ... + +class GetFileUsageTimelineRequest(_message.Message): + __slots__ = ('path_prefix', 'observation_period') + PATH_PREFIX_FIELD_NUMBER: _ClassVar[int] + OBSERVATION_PERIOD_FIELD_NUMBER: _ClassVar[int] + path_prefix: str + observation_period: _duration_pb2.Duration + + def __init__(self, path_prefix: _Optional[str]=..., observation_period: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=...) -> None: + ... + +class GetFileUsageTimelineResponse(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: _containers.RepeatedCompositeFieldContainer[DailyFileUsage] + + def __init__(self, days: _Optional[_Iterable[_Union[DailyFileUsage, _Mapping]]]=...) -> None: + ... + +class GetOntologySizeTimelineRequest(_message.Message): + __slots__ = ('observation_period',) + OBSERVATION_PERIOD_FIELD_NUMBER: _ClassVar[int] + observation_period: _duration_pb2.Duration + + def __init__(self, observation_period: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]]=...) -> None: + ... + +class OntologySizeDay(_message.Message): + __slots__ = ('date', 'total_bytes', 'file_count') + DATE_FIELD_NUMBER: _ClassVar[int] + TOTAL_BYTES_FIELD_NUMBER: _ClassVar[int] + FILE_COUNT_FIELD_NUMBER: _ClassVar[int] + date: Date + total_bytes: int + file_count: int + + def __init__(self, date: _Optional[_Union[Date, _Mapping]]=..., total_bytes: _Optional[int]=..., file_count: _Optional[int]=...) -> None: + ... + +class GetOntologySizeTimelineResponse(_message.Message): + __slots__ = ('days',) + DAYS_FIELD_NUMBER: _ClassVar[int] + days: _containers.RepeatedCompositeFieldContainer[OntologySizeDay] + + def __init__(self, days: _Optional[_Iterable[_Union[OntologySizeDay, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/playbook_connect.py b/src/textql_sdk/_connect/public/playbook_connect.py new file mode 100644 index 0000000..e71d06a --- /dev/null +++ b/src/textql_sdk/_connect/public/playbook_connect.py @@ -0,0 +1,520 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import playbook_pb2 as public_dot_playbook__pb2 + +class PlaybookService(Protocol): + + async def create_playbook(self, request: public_dot_playbook__pb2.CreatePlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.CreatePlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook(self, request: public_dot_playbook__pb2.GetPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbooks(self, request: public_dot_playbook__pb2.GetPlaybooksRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_playbook(self, request: public_dot_playbook__pb2.UpdatePlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.UpdatePlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_playbook(self, request: public_dot_playbook__pb2.DeletePlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.DeletePlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def deploy_playbook(self, request: public_dot_playbook__pb2.DeployPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.DeployPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def deactivate_playbook(self, request: public_dot_playbook__pb2.DeactivatePlaybookRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def attach_dataset(self, request: public_dot_playbook__pb2.PlaybookAttachDatasetRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PlaybookAttachDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_dataset(self, request: public_dot_playbook__pb2.PlaybookRemoveDatasetRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PlaybookRemoveDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def attach_dashboard(self, request: public_dot_playbook__pb2.PlaybookAttachDashboardRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PlaybookAttachDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_dashboard(self, request: public_dot_playbook__pb2.PlaybookRemoveDashboardRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PlaybookRemoveDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_reports(self, request: public_dot_playbook__pb2.GetPlaybookReportsRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookReportsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def preview_slack_report(self, request: public_dot_playbook__pb2.PreviewSlackReportRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PreviewSlackReportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def run_playbook(self, request: public_dot_playbook__pb2.RunPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.RunPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def demo_playbook(self, request: public_dot_playbook__pb2.DemoPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.DemoPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_members_with_playbooks(self, request: public_dot_playbook__pb2.GetMembersWithPlaybooksRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetMembersWithPlaybooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def duplicate_playbook(self, request: public_dot_playbook__pb2.DuplicatePlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.DuplicatePlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_lineage(self, request: public_dot_playbook__pb2.GetPlaybookLineageRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookLineageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_reports_with_filters(self, request: public_dot_playbook__pb2.GetReportsWithFiltersRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetReportsWithFiltersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_chat_reports_summary(self, request: public_dot_playbook__pb2.GetChatReportsSummaryRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetChatReportsSummaryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbooks_previews(self, request: public_dot_playbook__pb2.GetPlaybooksPreviewsRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybooksPreviewsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def subscribe_to_playbook(self, request: public_dot_playbook__pb2.SubscribeToPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.SubscribeToPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unsubscribe_from_playbook(self, request: public_dot_playbook__pb2.UnsubscribeFromPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.UnsubscribeFromPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_active_subscribed_playbooks_count(self, request: public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_report_by_id(self, request: public_dot_playbook__pb2.GetReportByIdRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetReportByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def mark_report_as_read(self, request: public_dot_playbook__pb2.MarkReportAsReadRequest, ctx: RequestContext) -> public_dot_playbook__pb2.MarkReportAsReadResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def favorite_report(self, request: public_dot_playbook__pb2.FavoriteReportRequest, ctx: RequestContext) -> public_dot_playbook__pb2.FavoriteReportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_slack_channel_context_playbook(self, request: public_dot_playbook__pb2.SetSlackChannelContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.SetSlackChannelContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unset_slack_channel_context_playbook(self, request: public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_slack_channels_for_context_playbook(self, request: public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_all_slack_channel_context_playbooks(self, request: public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_teams_channel_context_playbook(self, request: public_dot_playbook__pb2.SetTeamsChannelContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.SetTeamsChannelContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unset_teams_channel_context_playbook(self, request: public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_teams_channels_for_context_playbook(self, request: public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_all_teams_channel_context_playbooks(self, request: public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_template_data_status(self, request: public_dot_playbook__pb2.StreamTemplateDataStatusRequest, ctx: RequestContext) -> AsyncIterator[public_dot_playbook__pb2.TemplateDataStatusUpdate]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def cancel_template_execution(self, request: public_dot_playbook__pb2.CancelTemplateExecutionRequest, ctx: RequestContext) -> public_dot_playbook__pb2.CancelTemplateExecutionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_batch_run(self, request: public_dot_playbook__pb2.GetPlaybookBatchRunRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookBatchRunResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_playbook_batch_runs(self, request: public_dot_playbook__pb2.ListPlaybookBatchRunsRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListPlaybookBatchRunsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_reports_batch(self, request: public_dot_playbook__pb2.GetPlaybookReportsBatchRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookReportsBatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class PlaybookServiceASGIApplication(ConnectASGIApplication[PlaybookService]): + + def __init__(self, service: PlaybookService | AsyncGenerator[PlaybookService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.playbook.PlaybookService/CreatePlaybook': Endpoint.unary(method=MethodInfo(name='CreatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.CreatePlaybookRequest, output=public_dot_playbook__pb2.CreatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_playbook), '/textql.rpc.public.playbook.PlaybookService/GetPlaybook': Endpoint.unary(method=MethodInfo(name='GetPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookRequest, output=public_dot_playbook__pb2.GetPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_playbook), '/textql.rpc.public.playbook.PlaybookService/GetPlaybooks': Endpoint.unary(method=MethodInfo(name='GetPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybooksRequest, output=public_dot_playbook__pb2.GetPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbooks), '/textql.rpc.public.playbook.PlaybookService/UpdatePlaybook': Endpoint.unary(method=MethodInfo(name='UpdatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UpdatePlaybookRequest, output=public_dot_playbook__pb2.UpdatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_playbook), '/textql.rpc.public.playbook.PlaybookService/DeletePlaybook': Endpoint.unary(method=MethodInfo(name='DeletePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeletePlaybookRequest, output=public_dot_playbook__pb2.DeletePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_playbook), '/textql.rpc.public.playbook.PlaybookService/DeployPlaybook': Endpoint.unary(method=MethodInfo(name='DeployPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeployPlaybookRequest, output=public_dot_playbook__pb2.DeployPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.deploy_playbook), '/textql.rpc.public.playbook.PlaybookService/DeactivatePlaybook': Endpoint.unary(method=MethodInfo(name='DeactivatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeactivatePlaybookRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.deactivate_playbook), '/textql.rpc.public.playbook.PlaybookService/AttachDataset': Endpoint.unary(method=MethodInfo(name='AttachDataset', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookAttachDatasetRequest, output=public_dot_playbook__pb2.PlaybookAttachDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.attach_dataset), '/textql.rpc.public.playbook.PlaybookService/RemoveDataset': Endpoint.unary(method=MethodInfo(name='RemoveDataset', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookRemoveDatasetRequest, output=public_dot_playbook__pb2.PlaybookRemoveDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_dataset), '/textql.rpc.public.playbook.PlaybookService/AttachDashboard': Endpoint.unary(method=MethodInfo(name='AttachDashboard', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookAttachDashboardRequest, output=public_dot_playbook__pb2.PlaybookAttachDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.attach_dashboard), '/textql.rpc.public.playbook.PlaybookService/RemoveDashboard': Endpoint.unary(method=MethodInfo(name='RemoveDashboard', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookRemoveDashboardRequest, output=public_dot_playbook__pb2.PlaybookRemoveDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_dashboard), '/textql.rpc.public.playbook.PlaybookService/GetPlaybookReports': Endpoint.unary(method=MethodInfo(name='GetPlaybookReports', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookReportsRequest, output=public_dot_playbook__pb2.GetPlaybookReportsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_reports), '/textql.rpc.public.playbook.PlaybookService/PreviewSlackReport': Endpoint.unary(method=MethodInfo(name='PreviewSlackReport', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PreviewSlackReportRequest, output=public_dot_playbook__pb2.PreviewSlackReportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.preview_slack_report), '/textql.rpc.public.playbook.PlaybookService/RunPlaybook': Endpoint.unary(method=MethodInfo(name='RunPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.RunPlaybookRequest, output=public_dot_playbook__pb2.RunPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.run_playbook), '/textql.rpc.public.playbook.PlaybookService/DemoPlaybook': Endpoint.unary(method=MethodInfo(name='DemoPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DemoPlaybookRequest, output=public_dot_playbook__pb2.DemoPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.demo_playbook), '/textql.rpc.public.playbook.PlaybookService/GetMembersWithPlaybooks': Endpoint.unary(method=MethodInfo(name='GetMembersWithPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetMembersWithPlaybooksRequest, output=public_dot_playbook__pb2.GetMembersWithPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_members_with_playbooks), '/textql.rpc.public.playbook.PlaybookService/DuplicatePlaybook': Endpoint.unary(method=MethodInfo(name='DuplicatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DuplicatePlaybookRequest, output=public_dot_playbook__pb2.DuplicatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.duplicate_playbook), '/textql.rpc.public.playbook.PlaybookService/GetPlaybookLineage': Endpoint.unary(method=MethodInfo(name='GetPlaybookLineage', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookLineageRequest, output=public_dot_playbook__pb2.GetPlaybookLineageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_lineage), '/textql.rpc.public.playbook.PlaybookService/GetReportsWithFilters': Endpoint.unary(method=MethodInfo(name='GetReportsWithFilters', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetReportsWithFiltersRequest, output=public_dot_playbook__pb2.GetReportsWithFiltersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_reports_with_filters), '/textql.rpc.public.playbook.PlaybookService/GetChatReportsSummary': Endpoint.unary(method=MethodInfo(name='GetChatReportsSummary', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetChatReportsSummaryRequest, output=public_dot_playbook__pb2.GetChatReportsSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_chat_reports_summary), '/textql.rpc.public.playbook.PlaybookService/GetPlaybooksPreviews': Endpoint.unary(method=MethodInfo(name='GetPlaybooksPreviews', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybooksPreviewsRequest, output=public_dot_playbook__pb2.GetPlaybooksPreviewsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbooks_previews), '/textql.rpc.public.playbook.PlaybookService/SubscribeToPlaybook': Endpoint.unary(method=MethodInfo(name='SubscribeToPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SubscribeToPlaybookRequest, output=public_dot_playbook__pb2.SubscribeToPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.subscribe_to_playbook), '/textql.rpc.public.playbook.PlaybookService/UnsubscribeFromPlaybook': Endpoint.unary(method=MethodInfo(name='UnsubscribeFromPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsubscribeFromPlaybookRequest, output=public_dot_playbook__pb2.UnsubscribeFromPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.unsubscribe_from_playbook), '/textql.rpc.public.playbook.PlaybookService/GetActiveSubscribedPlaybooksCount': Endpoint.unary(method=MethodInfo(name='GetActiveSubscribedPlaybooksCount', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountRequest, output=public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_active_subscribed_playbooks_count), '/textql.rpc.public.playbook.PlaybookService/GetReportById': Endpoint.unary(method=MethodInfo(name='GetReportById', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetReportByIdRequest, output=public_dot_playbook__pb2.GetReportByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_report_by_id), '/textql.rpc.public.playbook.PlaybookService/MarkReportAsRead': Endpoint.unary(method=MethodInfo(name='MarkReportAsRead', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.MarkReportAsReadRequest, output=public_dot_playbook__pb2.MarkReportAsReadResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.mark_report_as_read), '/textql.rpc.public.playbook.PlaybookService/FavoriteReport': Endpoint.unary(method=MethodInfo(name='FavoriteReport', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.FavoriteReportRequest, output=public_dot_playbook__pb2.FavoriteReportResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.favorite_report), '/textql.rpc.public.playbook.PlaybookService/SetSlackChannelContextPlaybook': Endpoint.unary(method=MethodInfo(name='SetSlackChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SetSlackChannelContextPlaybookRequest, output=public_dot_playbook__pb2.SetSlackChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.set_slack_channel_context_playbook), '/textql.rpc.public.playbook.PlaybookService/UnsetSlackChannelContextPlaybook': Endpoint.unary(method=MethodInfo(name='UnsetSlackChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookRequest, output=public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.unset_slack_channel_context_playbook), '/textql.rpc.public.playbook.PlaybookService/ListSlackChannelsForContextPlaybook': Endpoint.unary(method=MethodInfo(name='ListSlackChannelsForContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookRequest, output=public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_slack_channels_for_context_playbook), '/textql.rpc.public.playbook.PlaybookService/ListAllSlackChannelContextPlaybooks': Endpoint.unary(method=MethodInfo(name='ListAllSlackChannelContextPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksRequest, output=public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_all_slack_channel_context_playbooks), '/textql.rpc.public.playbook.PlaybookService/SetTeamsChannelContextPlaybook': Endpoint.unary(method=MethodInfo(name='SetTeamsChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SetTeamsChannelContextPlaybookRequest, output=public_dot_playbook__pb2.SetTeamsChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.set_teams_channel_context_playbook), '/textql.rpc.public.playbook.PlaybookService/UnsetTeamsChannelContextPlaybook': Endpoint.unary(method=MethodInfo(name='UnsetTeamsChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookRequest, output=public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.unset_teams_channel_context_playbook), '/textql.rpc.public.playbook.PlaybookService/ListTeamsChannelsForContextPlaybook': Endpoint.unary(method=MethodInfo(name='ListTeamsChannelsForContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookRequest, output=public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_teams_channels_for_context_playbook), '/textql.rpc.public.playbook.PlaybookService/ListAllTeamsChannelContextPlaybooks': Endpoint.unary(method=MethodInfo(name='ListAllTeamsChannelContextPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksRequest, output=public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_all_teams_channel_context_playbooks), '/textql.rpc.public.playbook.PlaybookService/StreamTemplateDataStatus': Endpoint.server_stream(method=MethodInfo(name='StreamTemplateDataStatus', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.StreamTemplateDataStatusRequest, output=public_dot_playbook__pb2.TemplateDataStatusUpdate, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.stream_template_data_status), '/textql.rpc.public.playbook.PlaybookService/CancelTemplateExecution': Endpoint.unary(method=MethodInfo(name='CancelTemplateExecution', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.CancelTemplateExecutionRequest, output=public_dot_playbook__pb2.CancelTemplateExecutionResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.cancel_template_execution), '/textql.rpc.public.playbook.PlaybookService/GetPlaybookBatchRun': Endpoint.unary(method=MethodInfo(name='GetPlaybookBatchRun', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookBatchRunRequest, output=public_dot_playbook__pb2.GetPlaybookBatchRunResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_batch_run), '/textql.rpc.public.playbook.PlaybookService/ListPlaybookBatchRuns': Endpoint.unary(method=MethodInfo(name='ListPlaybookBatchRuns', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListPlaybookBatchRunsRequest, output=public_dot_playbook__pb2.ListPlaybookBatchRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_playbook_batch_runs), '/textql.rpc.public.playbook.PlaybookService/GetPlaybookReportsBatch': Endpoint.unary(method=MethodInfo(name='GetPlaybookReportsBatch', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookReportsBatchRequest, output=public_dot_playbook__pb2.GetPlaybookReportsBatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_reports_batch)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.playbook.PlaybookService' + +class PlaybookServiceClient(ConnectClient): + + async def create_playbook(self, request: public_dot_playbook__pb2.CreatePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.CreatePlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.CreatePlaybookRequest, output=public_dot_playbook__pb2.CreatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_playbook(self, request: public_dot_playbook__pb2.GetPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.GetPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookRequest, output=public_dot_playbook__pb2.GetPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_playbooks(self, request: public_dot_playbook__pb2.GetPlaybooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybooksResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybooksRequest, output=public_dot_playbook__pb2.GetPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_playbook(self, request: public_dot_playbook__pb2.UpdatePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.UpdatePlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UpdatePlaybookRequest, output=public_dot_playbook__pb2.UpdatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_playbook(self, request: public_dot_playbook__pb2.DeletePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.DeletePlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeletePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeletePlaybookRequest, output=public_dot_playbook__pb2.DeletePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def deploy_playbook(self, request: public_dot_playbook__pb2.DeployPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.DeployPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeployPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeployPlaybookRequest, output=public_dot_playbook__pb2.DeployPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def deactivate_playbook(self, request: public_dot_playbook__pb2.DeactivatePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeactivatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeactivatePlaybookRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def attach_dataset(self, request: public_dot_playbook__pb2.PlaybookAttachDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PlaybookAttachDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AttachDataset', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookAttachDatasetRequest, output=public_dot_playbook__pb2.PlaybookAttachDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_dataset(self, request: public_dot_playbook__pb2.PlaybookRemoveDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PlaybookRemoveDatasetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveDataset', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookRemoveDatasetRequest, output=public_dot_playbook__pb2.PlaybookRemoveDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def attach_dashboard(self, request: public_dot_playbook__pb2.PlaybookAttachDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PlaybookAttachDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AttachDashboard', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookAttachDashboardRequest, output=public_dot_playbook__pb2.PlaybookAttachDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_dashboard(self, request: public_dot_playbook__pb2.PlaybookRemoveDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PlaybookRemoveDashboardResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveDashboard', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookRemoveDashboardRequest, output=public_dot_playbook__pb2.PlaybookRemoveDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_playbook_reports(self, request: public_dot_playbook__pb2.GetPlaybookReportsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybookReportsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookReports', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookReportsRequest, output=public_dot_playbook__pb2.GetPlaybookReportsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def preview_slack_report(self, request: public_dot_playbook__pb2.PreviewSlackReportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PreviewSlackReportResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PreviewSlackReport', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PreviewSlackReportRequest, output=public_dot_playbook__pb2.PreviewSlackReportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def run_playbook(self, request: public_dot_playbook__pb2.RunPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.RunPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RunPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.RunPlaybookRequest, output=public_dot_playbook__pb2.RunPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def demo_playbook(self, request: public_dot_playbook__pb2.DemoPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.DemoPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DemoPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DemoPlaybookRequest, output=public_dot_playbook__pb2.DemoPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_members_with_playbooks(self, request: public_dot_playbook__pb2.GetMembersWithPlaybooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetMembersWithPlaybooksResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetMembersWithPlaybooksRequest, output=public_dot_playbook__pb2.GetMembersWithPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def duplicate_playbook(self, request: public_dot_playbook__pb2.DuplicatePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.DuplicatePlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DuplicatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DuplicatePlaybookRequest, output=public_dot_playbook__pb2.DuplicatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_playbook_lineage(self, request: public_dot_playbook__pb2.GetPlaybookLineageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybookLineageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookLineage', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookLineageRequest, output=public_dot_playbook__pb2.GetPlaybookLineageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_reports_with_filters(self, request: public_dot_playbook__pb2.GetReportsWithFiltersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetReportsWithFiltersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetReportsWithFilters', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetReportsWithFiltersRequest, output=public_dot_playbook__pb2.GetReportsWithFiltersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_chat_reports_summary(self, request: public_dot_playbook__pb2.GetChatReportsSummaryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetChatReportsSummaryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetChatReportsSummary', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetChatReportsSummaryRequest, output=public_dot_playbook__pb2.GetChatReportsSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_playbooks_previews(self, request: public_dot_playbook__pb2.GetPlaybooksPreviewsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybooksPreviewsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybooksPreviews', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybooksPreviewsRequest, output=public_dot_playbook__pb2.GetPlaybooksPreviewsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def subscribe_to_playbook(self, request: public_dot_playbook__pb2.SubscribeToPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.SubscribeToPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SubscribeToPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SubscribeToPlaybookRequest, output=public_dot_playbook__pb2.SubscribeToPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def unsubscribe_from_playbook(self, request: public_dot_playbook__pb2.UnsubscribeFromPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.UnsubscribeFromPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UnsubscribeFromPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsubscribeFromPlaybookRequest, output=public_dot_playbook__pb2.UnsubscribeFromPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def get_active_subscribed_playbooks_count(self, request: public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetActiveSubscribedPlaybooksCount', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountRequest, output=public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_report_by_id(self, request: public_dot_playbook__pb2.GetReportByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetReportByIdResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetReportById', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetReportByIdRequest, output=public_dot_playbook__pb2.GetReportByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def mark_report_as_read(self, request: public_dot_playbook__pb2.MarkReportAsReadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.MarkReportAsReadResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MarkReportAsRead', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.MarkReportAsReadRequest, output=public_dot_playbook__pb2.MarkReportAsReadResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def favorite_report(self, request: public_dot_playbook__pb2.FavoriteReportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.FavoriteReportResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='FavoriteReport', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.FavoriteReportRequest, output=public_dot_playbook__pb2.FavoriteReportResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def set_slack_channel_context_playbook(self, request: public_dot_playbook__pb2.SetSlackChannelContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.SetSlackChannelContextPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetSlackChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SetSlackChannelContextPlaybookRequest, output=public_dot_playbook__pb2.SetSlackChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def unset_slack_channel_context_playbook(self, request: public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UnsetSlackChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookRequest, output=public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def list_slack_channels_for_context_playbook(self, request: public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSlackChannelsForContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookRequest, output=public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_all_slack_channel_context_playbooks(self, request: public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAllSlackChannelContextPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksRequest, output=public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def set_teams_channel_context_playbook(self, request: public_dot_playbook__pb2.SetTeamsChannelContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.SetTeamsChannelContextPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetTeamsChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SetTeamsChannelContextPlaybookRequest, output=public_dot_playbook__pb2.SetTeamsChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def unset_teams_channel_context_playbook(self, request: public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UnsetTeamsChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookRequest, output=public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def list_teams_channels_for_context_playbook(self, request: public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListTeamsChannelsForContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookRequest, output=public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_all_teams_channel_context_playbooks(self, request: public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAllTeamsChannelContextPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksRequest, output=public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def stream_template_data_status(self, request: public_dot_playbook__pb2.StreamTemplateDataStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> AsyncIterator[public_dot_playbook__pb2.TemplateDataStatusUpdate]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamTemplateDataStatus', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.StreamTemplateDataStatusRequest, output=public_dot_playbook__pb2.TemplateDataStatusUpdate, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def cancel_template_execution(self, request: public_dot_playbook__pb2.CancelTemplateExecutionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.CancelTemplateExecutionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CancelTemplateExecution', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.CancelTemplateExecutionRequest, output=public_dot_playbook__pb2.CancelTemplateExecutionResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def get_playbook_batch_run(self, request: public_dot_playbook__pb2.GetPlaybookBatchRunRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybookBatchRunResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookBatchRun', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookBatchRunRequest, output=public_dot_playbook__pb2.GetPlaybookBatchRunResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_playbook_batch_runs(self, request: public_dot_playbook__pb2.ListPlaybookBatchRunsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListPlaybookBatchRunsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPlaybookBatchRuns', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListPlaybookBatchRunsRequest, output=public_dot_playbook__pb2.ListPlaybookBatchRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_playbook_reports_batch(self, request: public_dot_playbook__pb2.GetPlaybookReportsBatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybookReportsBatchResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookReportsBatch', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookReportsBatchRequest, output=public_dot_playbook__pb2.GetPlaybookReportsBatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class PlaybookServiceSync(Protocol): + + def create_playbook(self, request: public_dot_playbook__pb2.CreatePlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.CreatePlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook(self, request: public_dot_playbook__pb2.GetPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbooks(self, request: public_dot_playbook__pb2.GetPlaybooksRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_playbook(self, request: public_dot_playbook__pb2.UpdatePlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.UpdatePlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_playbook(self, request: public_dot_playbook__pb2.DeletePlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.DeletePlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def deploy_playbook(self, request: public_dot_playbook__pb2.DeployPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.DeployPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def deactivate_playbook(self, request: public_dot_playbook__pb2.DeactivatePlaybookRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def attach_dataset(self, request: public_dot_playbook__pb2.PlaybookAttachDatasetRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PlaybookAttachDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_dataset(self, request: public_dot_playbook__pb2.PlaybookRemoveDatasetRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PlaybookRemoveDatasetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def attach_dashboard(self, request: public_dot_playbook__pb2.PlaybookAttachDashboardRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PlaybookAttachDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_dashboard(self, request: public_dot_playbook__pb2.PlaybookRemoveDashboardRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PlaybookRemoveDashboardResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_reports(self, request: public_dot_playbook__pb2.GetPlaybookReportsRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookReportsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def preview_slack_report(self, request: public_dot_playbook__pb2.PreviewSlackReportRequest, ctx: RequestContext) -> public_dot_playbook__pb2.PreviewSlackReportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def run_playbook(self, request: public_dot_playbook__pb2.RunPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.RunPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def demo_playbook(self, request: public_dot_playbook__pb2.DemoPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.DemoPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_members_with_playbooks(self, request: public_dot_playbook__pb2.GetMembersWithPlaybooksRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetMembersWithPlaybooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def duplicate_playbook(self, request: public_dot_playbook__pb2.DuplicatePlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.DuplicatePlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_lineage(self, request: public_dot_playbook__pb2.GetPlaybookLineageRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookLineageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_reports_with_filters(self, request: public_dot_playbook__pb2.GetReportsWithFiltersRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetReportsWithFiltersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_chat_reports_summary(self, request: public_dot_playbook__pb2.GetChatReportsSummaryRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetChatReportsSummaryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbooks_previews(self, request: public_dot_playbook__pb2.GetPlaybooksPreviewsRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybooksPreviewsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def subscribe_to_playbook(self, request: public_dot_playbook__pb2.SubscribeToPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.SubscribeToPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unsubscribe_from_playbook(self, request: public_dot_playbook__pb2.UnsubscribeFromPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.UnsubscribeFromPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_active_subscribed_playbooks_count(self, request: public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_report_by_id(self, request: public_dot_playbook__pb2.GetReportByIdRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetReportByIdResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def mark_report_as_read(self, request: public_dot_playbook__pb2.MarkReportAsReadRequest, ctx: RequestContext) -> public_dot_playbook__pb2.MarkReportAsReadResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def favorite_report(self, request: public_dot_playbook__pb2.FavoriteReportRequest, ctx: RequestContext) -> public_dot_playbook__pb2.FavoriteReportResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_slack_channel_context_playbook(self, request: public_dot_playbook__pb2.SetSlackChannelContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.SetSlackChannelContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unset_slack_channel_context_playbook(self, request: public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_slack_channels_for_context_playbook(self, request: public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_all_slack_channel_context_playbooks(self, request: public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_teams_channel_context_playbook(self, request: public_dot_playbook__pb2.SetTeamsChannelContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.SetTeamsChannelContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unset_teams_channel_context_playbook(self, request: public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_teams_channels_for_context_playbook(self, request: public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_all_teams_channel_context_playbooks(self, request: public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stream_template_data_status(self, request: public_dot_playbook__pb2.StreamTemplateDataStatusRequest, ctx: RequestContext) -> Iterator[public_dot_playbook__pb2.TemplateDataStatusUpdate]: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def cancel_template_execution(self, request: public_dot_playbook__pb2.CancelTemplateExecutionRequest, ctx: RequestContext) -> public_dot_playbook__pb2.CancelTemplateExecutionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_batch_run(self, request: public_dot_playbook__pb2.GetPlaybookBatchRunRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookBatchRunResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_playbook_batch_runs(self, request: public_dot_playbook__pb2.ListPlaybookBatchRunsRequest, ctx: RequestContext) -> public_dot_playbook__pb2.ListPlaybookBatchRunsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_reports_batch(self, request: public_dot_playbook__pb2.GetPlaybookReportsBatchRequest, ctx: RequestContext) -> public_dot_playbook__pb2.GetPlaybookReportsBatchResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class PlaybookServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: PlaybookServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.playbook.PlaybookService/CreatePlaybook': EndpointSync.unary(method=MethodInfo(name='CreatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.CreatePlaybookRequest, output=public_dot_playbook__pb2.CreatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_playbook), '/textql.rpc.public.playbook.PlaybookService/GetPlaybook': EndpointSync.unary(method=MethodInfo(name='GetPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookRequest, output=public_dot_playbook__pb2.GetPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_playbook), '/textql.rpc.public.playbook.PlaybookService/GetPlaybooks': EndpointSync.unary(method=MethodInfo(name='GetPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybooksRequest, output=public_dot_playbook__pb2.GetPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbooks), '/textql.rpc.public.playbook.PlaybookService/UpdatePlaybook': EndpointSync.unary(method=MethodInfo(name='UpdatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UpdatePlaybookRequest, output=public_dot_playbook__pb2.UpdatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_playbook), '/textql.rpc.public.playbook.PlaybookService/DeletePlaybook': EndpointSync.unary(method=MethodInfo(name='DeletePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeletePlaybookRequest, output=public_dot_playbook__pb2.DeletePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_playbook), '/textql.rpc.public.playbook.PlaybookService/DeployPlaybook': EndpointSync.unary(method=MethodInfo(name='DeployPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeployPlaybookRequest, output=public_dot_playbook__pb2.DeployPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.deploy_playbook), '/textql.rpc.public.playbook.PlaybookService/DeactivatePlaybook': EndpointSync.unary(method=MethodInfo(name='DeactivatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeactivatePlaybookRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.deactivate_playbook), '/textql.rpc.public.playbook.PlaybookService/AttachDataset': EndpointSync.unary(method=MethodInfo(name='AttachDataset', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookAttachDatasetRequest, output=public_dot_playbook__pb2.PlaybookAttachDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.attach_dataset), '/textql.rpc.public.playbook.PlaybookService/RemoveDataset': EndpointSync.unary(method=MethodInfo(name='RemoveDataset', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookRemoveDatasetRequest, output=public_dot_playbook__pb2.PlaybookRemoveDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_dataset), '/textql.rpc.public.playbook.PlaybookService/AttachDashboard': EndpointSync.unary(method=MethodInfo(name='AttachDashboard', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookAttachDashboardRequest, output=public_dot_playbook__pb2.PlaybookAttachDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.attach_dashboard), '/textql.rpc.public.playbook.PlaybookService/RemoveDashboard': EndpointSync.unary(method=MethodInfo(name='RemoveDashboard', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookRemoveDashboardRequest, output=public_dot_playbook__pb2.PlaybookRemoveDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_dashboard), '/textql.rpc.public.playbook.PlaybookService/GetPlaybookReports': EndpointSync.unary(method=MethodInfo(name='GetPlaybookReports', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookReportsRequest, output=public_dot_playbook__pb2.GetPlaybookReportsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_reports), '/textql.rpc.public.playbook.PlaybookService/PreviewSlackReport': EndpointSync.unary(method=MethodInfo(name='PreviewSlackReport', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PreviewSlackReportRequest, output=public_dot_playbook__pb2.PreviewSlackReportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.preview_slack_report), '/textql.rpc.public.playbook.PlaybookService/RunPlaybook': EndpointSync.unary(method=MethodInfo(name='RunPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.RunPlaybookRequest, output=public_dot_playbook__pb2.RunPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.run_playbook), '/textql.rpc.public.playbook.PlaybookService/DemoPlaybook': EndpointSync.unary(method=MethodInfo(name='DemoPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DemoPlaybookRequest, output=public_dot_playbook__pb2.DemoPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.demo_playbook), '/textql.rpc.public.playbook.PlaybookService/GetMembersWithPlaybooks': EndpointSync.unary(method=MethodInfo(name='GetMembersWithPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetMembersWithPlaybooksRequest, output=public_dot_playbook__pb2.GetMembersWithPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_members_with_playbooks), '/textql.rpc.public.playbook.PlaybookService/DuplicatePlaybook': EndpointSync.unary(method=MethodInfo(name='DuplicatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DuplicatePlaybookRequest, output=public_dot_playbook__pb2.DuplicatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.duplicate_playbook), '/textql.rpc.public.playbook.PlaybookService/GetPlaybookLineage': EndpointSync.unary(method=MethodInfo(name='GetPlaybookLineage', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookLineageRequest, output=public_dot_playbook__pb2.GetPlaybookLineageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_lineage), '/textql.rpc.public.playbook.PlaybookService/GetReportsWithFilters': EndpointSync.unary(method=MethodInfo(name='GetReportsWithFilters', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetReportsWithFiltersRequest, output=public_dot_playbook__pb2.GetReportsWithFiltersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_reports_with_filters), '/textql.rpc.public.playbook.PlaybookService/GetChatReportsSummary': EndpointSync.unary(method=MethodInfo(name='GetChatReportsSummary', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetChatReportsSummaryRequest, output=public_dot_playbook__pb2.GetChatReportsSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_chat_reports_summary), '/textql.rpc.public.playbook.PlaybookService/GetPlaybooksPreviews': EndpointSync.unary(method=MethodInfo(name='GetPlaybooksPreviews', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybooksPreviewsRequest, output=public_dot_playbook__pb2.GetPlaybooksPreviewsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbooks_previews), '/textql.rpc.public.playbook.PlaybookService/SubscribeToPlaybook': EndpointSync.unary(method=MethodInfo(name='SubscribeToPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SubscribeToPlaybookRequest, output=public_dot_playbook__pb2.SubscribeToPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.subscribe_to_playbook), '/textql.rpc.public.playbook.PlaybookService/UnsubscribeFromPlaybook': EndpointSync.unary(method=MethodInfo(name='UnsubscribeFromPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsubscribeFromPlaybookRequest, output=public_dot_playbook__pb2.UnsubscribeFromPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.unsubscribe_from_playbook), '/textql.rpc.public.playbook.PlaybookService/GetActiveSubscribedPlaybooksCount': EndpointSync.unary(method=MethodInfo(name='GetActiveSubscribedPlaybooksCount', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountRequest, output=public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_active_subscribed_playbooks_count), '/textql.rpc.public.playbook.PlaybookService/GetReportById': EndpointSync.unary(method=MethodInfo(name='GetReportById', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetReportByIdRequest, output=public_dot_playbook__pb2.GetReportByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_report_by_id), '/textql.rpc.public.playbook.PlaybookService/MarkReportAsRead': EndpointSync.unary(method=MethodInfo(name='MarkReportAsRead', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.MarkReportAsReadRequest, output=public_dot_playbook__pb2.MarkReportAsReadResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.mark_report_as_read), '/textql.rpc.public.playbook.PlaybookService/FavoriteReport': EndpointSync.unary(method=MethodInfo(name='FavoriteReport', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.FavoriteReportRequest, output=public_dot_playbook__pb2.FavoriteReportResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.favorite_report), '/textql.rpc.public.playbook.PlaybookService/SetSlackChannelContextPlaybook': EndpointSync.unary(method=MethodInfo(name='SetSlackChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SetSlackChannelContextPlaybookRequest, output=public_dot_playbook__pb2.SetSlackChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.set_slack_channel_context_playbook), '/textql.rpc.public.playbook.PlaybookService/UnsetSlackChannelContextPlaybook': EndpointSync.unary(method=MethodInfo(name='UnsetSlackChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookRequest, output=public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.unset_slack_channel_context_playbook), '/textql.rpc.public.playbook.PlaybookService/ListSlackChannelsForContextPlaybook': EndpointSync.unary(method=MethodInfo(name='ListSlackChannelsForContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookRequest, output=public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_slack_channels_for_context_playbook), '/textql.rpc.public.playbook.PlaybookService/ListAllSlackChannelContextPlaybooks': EndpointSync.unary(method=MethodInfo(name='ListAllSlackChannelContextPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksRequest, output=public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_all_slack_channel_context_playbooks), '/textql.rpc.public.playbook.PlaybookService/SetTeamsChannelContextPlaybook': EndpointSync.unary(method=MethodInfo(name='SetTeamsChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SetTeamsChannelContextPlaybookRequest, output=public_dot_playbook__pb2.SetTeamsChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.set_teams_channel_context_playbook), '/textql.rpc.public.playbook.PlaybookService/UnsetTeamsChannelContextPlaybook': EndpointSync.unary(method=MethodInfo(name='UnsetTeamsChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookRequest, output=public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.unset_teams_channel_context_playbook), '/textql.rpc.public.playbook.PlaybookService/ListTeamsChannelsForContextPlaybook': EndpointSync.unary(method=MethodInfo(name='ListTeamsChannelsForContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookRequest, output=public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_teams_channels_for_context_playbook), '/textql.rpc.public.playbook.PlaybookService/ListAllTeamsChannelContextPlaybooks': EndpointSync.unary(method=MethodInfo(name='ListAllTeamsChannelContextPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksRequest, output=public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_all_teams_channel_context_playbooks), '/textql.rpc.public.playbook.PlaybookService/StreamTemplateDataStatus': EndpointSync.server_stream(method=MethodInfo(name='StreamTemplateDataStatus', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.StreamTemplateDataStatusRequest, output=public_dot_playbook__pb2.TemplateDataStatusUpdate, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.stream_template_data_status), '/textql.rpc.public.playbook.PlaybookService/CancelTemplateExecution': EndpointSync.unary(method=MethodInfo(name='CancelTemplateExecution', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.CancelTemplateExecutionRequest, output=public_dot_playbook__pb2.CancelTemplateExecutionResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.cancel_template_execution), '/textql.rpc.public.playbook.PlaybookService/GetPlaybookBatchRun': EndpointSync.unary(method=MethodInfo(name='GetPlaybookBatchRun', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookBatchRunRequest, output=public_dot_playbook__pb2.GetPlaybookBatchRunResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_batch_run), '/textql.rpc.public.playbook.PlaybookService/ListPlaybookBatchRuns': EndpointSync.unary(method=MethodInfo(name='ListPlaybookBatchRuns', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListPlaybookBatchRunsRequest, output=public_dot_playbook__pb2.ListPlaybookBatchRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_playbook_batch_runs), '/textql.rpc.public.playbook.PlaybookService/GetPlaybookReportsBatch': EndpointSync.unary(method=MethodInfo(name='GetPlaybookReportsBatch', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookReportsBatchRequest, output=public_dot_playbook__pb2.GetPlaybookReportsBatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_reports_batch)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.playbook.PlaybookService' + +class PlaybookServiceClientSync(ConnectClientSync): + + def create_playbook(self, request: public_dot_playbook__pb2.CreatePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.CreatePlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.CreatePlaybookRequest, output=public_dot_playbook__pb2.CreatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_playbook(self, request: public_dot_playbook__pb2.GetPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.GetPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookRequest, output=public_dot_playbook__pb2.GetPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_playbooks(self, request: public_dot_playbook__pb2.GetPlaybooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybooksResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybooksRequest, output=public_dot_playbook__pb2.GetPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_playbook(self, request: public_dot_playbook__pb2.UpdatePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.UpdatePlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UpdatePlaybookRequest, output=public_dot_playbook__pb2.UpdatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_playbook(self, request: public_dot_playbook__pb2.DeletePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.DeletePlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeletePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeletePlaybookRequest, output=public_dot_playbook__pb2.DeletePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def deploy_playbook(self, request: public_dot_playbook__pb2.DeployPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.DeployPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeployPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeployPlaybookRequest, output=public_dot_playbook__pb2.DeployPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def deactivate_playbook(self, request: public_dot_playbook__pb2.DeactivatePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeactivatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DeactivatePlaybookRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def attach_dataset(self, request: public_dot_playbook__pb2.PlaybookAttachDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PlaybookAttachDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AttachDataset', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookAttachDatasetRequest, output=public_dot_playbook__pb2.PlaybookAttachDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_dataset(self, request: public_dot_playbook__pb2.PlaybookRemoveDatasetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PlaybookRemoveDatasetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveDataset', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookRemoveDatasetRequest, output=public_dot_playbook__pb2.PlaybookRemoveDatasetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def attach_dashboard(self, request: public_dot_playbook__pb2.PlaybookAttachDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PlaybookAttachDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AttachDashboard', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookAttachDashboardRequest, output=public_dot_playbook__pb2.PlaybookAttachDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_dashboard(self, request: public_dot_playbook__pb2.PlaybookRemoveDashboardRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PlaybookRemoveDashboardResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveDashboard', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PlaybookRemoveDashboardRequest, output=public_dot_playbook__pb2.PlaybookRemoveDashboardResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_playbook_reports(self, request: public_dot_playbook__pb2.GetPlaybookReportsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybookReportsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookReports', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookReportsRequest, output=public_dot_playbook__pb2.GetPlaybookReportsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def preview_slack_report(self, request: public_dot_playbook__pb2.PreviewSlackReportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.PreviewSlackReportResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PreviewSlackReport', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.PreviewSlackReportRequest, output=public_dot_playbook__pb2.PreviewSlackReportResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def run_playbook(self, request: public_dot_playbook__pb2.RunPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.RunPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RunPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.RunPlaybookRequest, output=public_dot_playbook__pb2.RunPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def demo_playbook(self, request: public_dot_playbook__pb2.DemoPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.DemoPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DemoPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DemoPlaybookRequest, output=public_dot_playbook__pb2.DemoPlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_members_with_playbooks(self, request: public_dot_playbook__pb2.GetMembersWithPlaybooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetMembersWithPlaybooksResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetMembersWithPlaybooksRequest, output=public_dot_playbook__pb2.GetMembersWithPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def duplicate_playbook(self, request: public_dot_playbook__pb2.DuplicatePlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.DuplicatePlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DuplicatePlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.DuplicatePlaybookRequest, output=public_dot_playbook__pb2.DuplicatePlaybookResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_playbook_lineage(self, request: public_dot_playbook__pb2.GetPlaybookLineageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybookLineageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookLineage', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookLineageRequest, output=public_dot_playbook__pb2.GetPlaybookLineageResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_reports_with_filters(self, request: public_dot_playbook__pb2.GetReportsWithFiltersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetReportsWithFiltersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetReportsWithFilters', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetReportsWithFiltersRequest, output=public_dot_playbook__pb2.GetReportsWithFiltersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_chat_reports_summary(self, request: public_dot_playbook__pb2.GetChatReportsSummaryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetChatReportsSummaryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetChatReportsSummary', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetChatReportsSummaryRequest, output=public_dot_playbook__pb2.GetChatReportsSummaryResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_playbooks_previews(self, request: public_dot_playbook__pb2.GetPlaybooksPreviewsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybooksPreviewsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybooksPreviews', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybooksPreviewsRequest, output=public_dot_playbook__pb2.GetPlaybooksPreviewsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def subscribe_to_playbook(self, request: public_dot_playbook__pb2.SubscribeToPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.SubscribeToPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SubscribeToPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SubscribeToPlaybookRequest, output=public_dot_playbook__pb2.SubscribeToPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def unsubscribe_from_playbook(self, request: public_dot_playbook__pb2.UnsubscribeFromPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.UnsubscribeFromPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UnsubscribeFromPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsubscribeFromPlaybookRequest, output=public_dot_playbook__pb2.UnsubscribeFromPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def get_active_subscribed_playbooks_count(self, request: public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetActiveSubscribedPlaybooksCount', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountRequest, output=public_dot_playbook__pb2.GetActiveSubscribedPlaybooksCountResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_report_by_id(self, request: public_dot_playbook__pb2.GetReportByIdRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetReportByIdResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetReportById', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetReportByIdRequest, output=public_dot_playbook__pb2.GetReportByIdResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def mark_report_as_read(self, request: public_dot_playbook__pb2.MarkReportAsReadRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.MarkReportAsReadResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MarkReportAsRead', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.MarkReportAsReadRequest, output=public_dot_playbook__pb2.MarkReportAsReadResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def favorite_report(self, request: public_dot_playbook__pb2.FavoriteReportRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.FavoriteReportResponse: + return self.execute_unary(request=request, method=MethodInfo(name='FavoriteReport', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.FavoriteReportRequest, output=public_dot_playbook__pb2.FavoriteReportResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def set_slack_channel_context_playbook(self, request: public_dot_playbook__pb2.SetSlackChannelContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.SetSlackChannelContextPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetSlackChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SetSlackChannelContextPlaybookRequest, output=public_dot_playbook__pb2.SetSlackChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def unset_slack_channel_context_playbook(self, request: public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UnsetSlackChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookRequest, output=public_dot_playbook__pb2.UnsetSlackChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def list_slack_channels_for_context_playbook(self, request: public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSlackChannelsForContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookRequest, output=public_dot_playbook__pb2.ListSlackChannelsForContextPlaybookResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_all_slack_channel_context_playbooks(self, request: public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAllSlackChannelContextPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksRequest, output=public_dot_playbook__pb2.ListAllSlackChannelContextPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def set_teams_channel_context_playbook(self, request: public_dot_playbook__pb2.SetTeamsChannelContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.SetTeamsChannelContextPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetTeamsChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.SetTeamsChannelContextPlaybookRequest, output=public_dot_playbook__pb2.SetTeamsChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def unset_teams_channel_context_playbook(self, request: public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UnsetTeamsChannelContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookRequest, output=public_dot_playbook__pb2.UnsetTeamsChannelContextPlaybookResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def list_teams_channels_for_context_playbook(self, request: public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListTeamsChannelsForContextPlaybook', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookRequest, output=public_dot_playbook__pb2.ListTeamsChannelsForContextPlaybookResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_all_teams_channel_context_playbooks(self, request: public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAllTeamsChannelContextPlaybooks', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksRequest, output=public_dot_playbook__pb2.ListAllTeamsChannelContextPlaybooksResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def stream_template_data_status(self, request: public_dot_playbook__pb2.StreamTemplateDataStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> Iterator[public_dot_playbook__pb2.TemplateDataStatusUpdate]: + return self.execute_server_stream(request=request, method=MethodInfo(name='StreamTemplateDataStatus', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.StreamTemplateDataStatusRequest, output=public_dot_playbook__pb2.TemplateDataStatusUpdate, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def cancel_template_execution(self, request: public_dot_playbook__pb2.CancelTemplateExecutionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_playbook__pb2.CancelTemplateExecutionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CancelTemplateExecution', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.CancelTemplateExecutionRequest, output=public_dot_playbook__pb2.CancelTemplateExecutionResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def get_playbook_batch_run(self, request: public_dot_playbook__pb2.GetPlaybookBatchRunRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybookBatchRunResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookBatchRun', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookBatchRunRequest, output=public_dot_playbook__pb2.GetPlaybookBatchRunResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_playbook_batch_runs(self, request: public_dot_playbook__pb2.ListPlaybookBatchRunsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.ListPlaybookBatchRunsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPlaybookBatchRuns', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.ListPlaybookBatchRunsRequest, output=public_dot_playbook__pb2.ListPlaybookBatchRunsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_playbook_reports_batch(self, request: public_dot_playbook__pb2.GetPlaybookReportsBatchRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_playbook__pb2.GetPlaybookReportsBatchResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookReportsBatch', service_name='textql.rpc.public.playbook.PlaybookService', input=public_dot_playbook__pb2.GetPlaybookReportsBatchRequest, output=public_dot_playbook__pb2.GetPlaybookReportsBatchResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/playbook_pb2.py b/src/textql_sdk/_connect/public/playbook_pb2.py new file mode 100644 index 0000000..31661be --- /dev/null +++ b/src/textql_sdk/_connect/public/playbook_pb2.py @@ -0,0 +1,292 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/playbook.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from .. import paradigm_params_pb2 as paradigm__params__pb2 +from ..public import cells_pb2 as public_dot_cells__pb2 +from ..public import common_pb2 as public_dot_common__pb2 +from ..public import config_source_pb2 as public_dot_config__source__pb2 +from ..public import dashboard_pb2 as public_dot_dashboard__pb2 +from ..public import dataset_pb2 as public_dot_dataset__pb2 +from ..public import identity_pb2 as public_dot_identity__pb2 +from ..public import llm_model_pb2 as public_dot_llm__model__pb2 +from ..public import paradigm_pb2 as public_dot_paradigm__pb2 +from ..public import report_pb2 as public_dot_report__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15public/playbook.proto\x12\x1atextql.rpc.public.playbook\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15paradigm_params.proto\x1a\x12public/cells.proto\x1a\x13public/common.proto\x1a\x1apublic/config_source.proto\x1a\x16public/dashboard.proto\x1a\x14public/dataset.proto\x1a\x15public/identity.proto\x1a\x16public/llm_model.proto\x1a\x15public/paradigm.proto\x1a\x13public/report.proto"\x8f\x01\n\x12ChatAccessOverride\x12 \n\tmember_id\x18\x01 \x01(\tH\x00R\x08memberId\x88\x01\x01\x12\x1c\n\x07role_id\x18\x02 \x01(\tH\x01R\x06roleId\x88\x01\x01\x12\x1f\n\x0baccess_type\x18\x03 \x01(\tR\naccessTypeB\x0c\n\n_member_idB\n\n\x08_role_id"^\n\x16ChatAccessOverrideList\x12D\n\x05items\x18\x01 \x03(\x0b2..textql.rpc.public.playbook.ChatAccessOverrideR\x05items"Y\n\x0fFilterCondition\x12\x14\n\x05field\x18\x01 \x01(\tR\x05field\x12\x1a\n\x08operator\x18\x02 \x01(\tR\x08operator\x12\x14\n\x05value\x18\x03 \x01(\tR\x05value"\xb9\x16\n\x08Playbook\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12 \n\tmember_id\x18\x03 \x01(\tH\x00R\x08memberId\x88\x01\x01\x12*\n\x0cconnector_id\x18\x04 \x01(\x05B\x02\x18\x01H\x01R\x0bconnectorId\x88\x01\x01\x12\x12\n\x04name\x18\x05 \x01(\tR\x04name\x12\x16\n\x06prompt\x18\x06 \x01(\tR\x06prompt\x129\n\ncreated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12B\n\x06status\x18\t \x01(\x0e2*.textql.rpc.public.playbook.PlaybookStatusR\x06status\x12R\n\x0ctrigger_type\x18\n \x01(\x0e2/.textql.rpc.public.playbook.PlaybookTriggerTypeR\x0btriggerType\x12$\n\x0bcron_string\x18\x0b \x01(\tH\x02R\ncronString\x88\x01\x01\x12\x1f\n\x0bdataset_ids\x18\x0c \x03(\tR\ndatasetIds\x123\n\x13reference_report_id\x18\r \x01(\tH\x03R\x11referenceReportId\x88\x01\x01\x12)\n\x0elatest_chat_id\x18\x0e \x01(\tH\x04R\x0clatestChatId\x88\x01\x01\x12\'\n\x0femail_addresses\x18\x0f \x03(\tR\x0eemailAddresses\x12-\n\x10slack_channel_id\x18\x10 \x01(\tH\x05R\x0eslackChannelId\x88\x01\x01\x121\n\x15tagged_slack_user_ids\x18\x11 \x03(\tR\x12taggedSlackUserIds\x12B\n\tllm_model\x18\x12 \x01(\x0e2 .textql.rpc.public.chat.LlmModelH\x06R\x08llmModel\x88\x01\x01\x12V\n\x10paradigm_options\x18\x13 \x01(\x0b2+.textql.rpc.public.paradigm.ParadigmOptionsR\x0fparadigmOptions\x12M\n\rparadigm_type\x18\x14 \x01(\x0e2(.textql.rpc.paradigm_params.ParadigmTypeR\x0cparadigmType\x12"\n\nis_running\x18\x15 \x01(\x08H\x07R\tisRunning\x88\x01\x01\x12=\n\x05owner\x18\x16 \x01(\x0b2".textql.rpc.identity.MemberPreviewH\x08R\x05owner\x88\x01\x01\x125\n\x14has_write_permission\x18\x17 \x01(\x08H\tR\x12hasWritePermission\x88\x01\x01\x12(\n\ris_subscribed\x18\x18 \x01(\x08H\nR\x0cisSubscribed\x88\x01\x01\x12_\n\x13report_output_style\x18\x19 \x01(\x0e2/.textql.rpc.public.playbook.PlaybookReportStyleR\x11reportOutputStyle\x121\n\x12template_header_id\x18\x1a \x01(\tH\x0bR\x10templateHeaderId\x88\x01\x01\x12;\n\x1aselected_template_data_ids\x18\x1b \x03(\tR\x17selectedTemplateDataIds\x12=\n\x18max_concurrent_templates\x18\x1c \x01(\x05H\x0cR\x16maxConcurrentTemplates\x88\x01\x01\x12?\n\x19auto_optimize_concurrency\x18\x1d \x01(\x08H\rR\x17autoOptimizeConcurrency\x88\x01\x01\x12#\n\rconnector_ids\x18\x1e \x03(\x05R\x0cconnectorIds\x12_\n\x15template_data_filters\x18\x1f \x03(\x0b2+.textql.rpc.public.playbook.FilterConditionR\x13templateDataFilters\x121\n\x12parent_playbook_id\x18 \x01(\tH\x0eR\x10parentPlaybookId\x88\x01\x01\x121\n\x12origin_playbook_id\x18! \x01(\tH\x0fR\x10originPlaybookId\x88\x01\x01\x12:\n\x17duplicated_by_member_id\x18" \x01(\tH\x10R\x14duplicatedByMemberId\x88\x01\x01\x12D\n\rduplicated_at\x18# \x01(\x0b2\x1a.google.protobuf.TimestampH\x11R\x0cduplicatedAt\x88\x01\x01\x12T\n\x10chat_access_mode\x18$ \x01(\x0e2*.textql.rpc.public.playbook.ChatAccessModeR\x0echatAccessMode\x12b\n\x15chat_access_overrides\x18% \x03(\x0b2..textql.rpc.public.playbook.ChatAccessOverrideR\x13chatAccessOverrides\x12$\n\x0echat_is_public\x18& \x01(\x08R\x0cchatIsPublic\x12#\n\rdashboard_ids\x18\' \x03(\tR\x0cdashboardIds\x129\n\x16recipient_email_column\x18( \x01(\tH\x12R\x14recipientEmailColumn\x88\x01\x01\x12-\n\x10teams_channel_id\x18) \x01(\tH\x13R\x0eteamsChannelId\x88\x01\x01\x128\n\x19tagged_teams_user_aad_ids\x18* \x03(\tR\x15taggedTeamsUserAadIds\x12W\n\rconfig_source\x18+ \x01(\x0b2-.textql.rpc.public.config_source.ConfigSourceH\x14R\x0cconfigSource\x88\x01\x01\x12+\n\x12api_access_key_ids\x18, \x03(\tR\x0fapiAccessKeyIdsB\x0c\n\n_member_idB\x0f\n\r_connector_idB\x0e\n\x0c_cron_stringB\x16\n\x14_reference_report_idB\x11\n\x0f_latest_chat_idB\x13\n\x11_slack_channel_idB\x0c\n\n_llm_modelB\r\n\x0b_is_runningB\x08\n\x06_ownerB\x17\n\x15_has_write_permissionB\x10\n\x0e_is_subscribedB\x15\n\x13_template_header_idB\x1b\n\x19_max_concurrent_templatesB\x1c\n\x1a_auto_optimize_concurrencyB\x15\n\x13_parent_playbook_idB\x15\n\x13_origin_playbook_idB\x1a\n\x18_duplicated_by_member_idB\x10\n\x0e_duplicated_atB\x19\n\x17_recipient_email_columnB\x13\n\x11_teams_channel_idB\x10\n\x0e_config_source"\x17\n\x15CreatePlaybookRequest"Z\n\x16CreatePlaybookResponse\x12@\n\x08playbook\x18\x01 \x01(\x0b2$.textql.rpc.public.playbook.PlaybookR\x08playbook"c\n\x12GetPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset"\xcd\x01\n\x13GetPlaybookResponse\x12@\n\x08playbook\x18\x01 \x01(\x0b2$.textql.rpc.public.playbook.PlaybookR\x08playbook\x12D\n\x07reports\x18\x02 \x03(\x0b2*.textql.rpc.public.playbook.PlaybookReportR\x07reports\x12.\n\x13total_reports_count\x18\x03 \x01(\x05R\x11totalReportsCount"\xef\x06\n\x13GetPlaybooksRequest\x12\x1f\n\x0bmember_only\x18\x01 \x01(\x08R\nmemberOnly\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12$\n\x0bsearch_term\x18\x04 \x01(\tH\x00R\nsearchTerm\x88\x01\x01\x12T\n\rstatus_filter\x18\x05 \x01(\x0e2*.textql.rpc.public.playbook.PlaybookStatusH\x01R\x0cstatusFilter\x88\x01\x01\x12/\n\x11creator_member_id\x18\x06 \x01(\tH\x02R\x0fcreatorMemberId\x88\x01\x01\x12F\n\x07sort_by\x18\x07 \x01(\x0e2-.textql.rpc.public.playbook.PlaybookSortFieldR\x06sortBy\x12N\n\x0esort_direction\x18\x08 \x01(\x0e2\'.textql.rpc.public.common.SortDirectionR\rsortDirection\x12.\n\x10subscribed_first\x18\t \x01(\x08H\x03R\x0fsubscribedFirst\x88\x01\x01\x12,\n\x0fonly_subscribed\x18\n \x01(\x08H\x04R\x0eonlySubscribed\x88\x01\x01\x12)\n\x0eshared_with_me\x18\x0b \x01(\x08H\x05R\x0csharedWithMe\x88\x01\x01\x127\n\x15include_shared_drafts\x18\x0c \x01(\x08H\x06R\x13includeSharedDrafts\x88\x01\x01\x12F\n\x08statuses\x18\r \x03(\x0e2*.textql.rpc.public.playbook.PlaybookStatusR\x08statuses\x12,\n\x12creator_member_ids\x18\x0e \x03(\tR\x10creatorMemberIdsB\x0e\n\x0c_search_termB\x10\n\x0e_status_filterB\x14\n\x12_creator_member_idB\x13\n\x11_subscribed_firstB\x12\n\x10_only_subscribedB\x11\n\x0f_shared_with_meB\x18\n\x16_include_shared_drafts"{\n\x14GetPlaybooksResponse\x12B\n\tplaybooks\x18\x01 \x03(\x0b2$.textql.rpc.public.playbook.PlaybookR\tplaybooks\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount""\n\nStringList\x12\x14\n\x05items\x18\x01 \x03(\tR\x05items"!\n\tInt32List\x12\x14\n\x05items\x18\x01 \x03(\x05R\x05items"X\n\x13FilterConditionList\x12A\n\x05items\x18\x01 \x03(\x0b2+.textql.rpc.public.playbook.FilterConditionR\x05items"\xcc\x15\n\x15UpdatePlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x1b\n\x06prompt\x18\x03 \x01(\tH\x01R\x06prompt\x88\x01\x01\x12G\n\x06status\x18\x04 \x01(\x0e2*.textql.rpc.public.playbook.PlaybookStatusH\x02R\x06status\x88\x01\x01\x12W\n\x0ctrigger_type\x18\x05 \x01(\x0e2/.textql.rpc.public.playbook.PlaybookTriggerTypeH\x03R\x0btriggerType\x88\x01\x01\x12$\n\x0bcron_string\x18\x06 \x01(\tH\x04R\ncronString\x88\x01\x01\x12L\n\x0bdataset_ids\x18\x07 \x01(\x0b2&.textql.rpc.public.playbook.StringListH\x05R\ndatasetIds\x88\x01\x01\x12*\n\x0cconnector_id\x18\x08 \x01(\x05B\x02\x18\x01H\x06R\x0bconnectorId\x88\x01\x01\x123\n\x13reference_report_id\x18\t \x01(\tH\x07R\x11referenceReportId\x88\x01\x01\x12[\n\x10paradigm_options\x18\n \x01(\x0b2+.textql.rpc.public.paradigm.ParadigmOptionsH\x08R\x0fparadigmOptions\x88\x01\x01\x12R\n\rparadigm_type\x18\x0b \x01(\x0e2(.textql.rpc.paradigm_params.ParadigmTypeH\tR\x0cparadigmType\x88\x01\x01\x12T\n\x0femail_addresses\x18\x0c \x01(\x0b2&.textql.rpc.public.playbook.StringListH\nR\x0eemailAddresses\x88\x01\x01\x12-\n\x10slack_channel_id\x18\r \x01(\tH\x0bR\x0eslackChannelId\x88\x01\x01\x12^\n\x15tagged_slack_user_ids\x18\x0e \x01(\x0b2&.textql.rpc.public.playbook.StringListH\x0cR\x12taggedSlackUserIds\x88\x01\x01\x12d\n\x13report_output_style\x18\x0f \x01(\x0e2/.textql.rpc.public.playbook.PlaybookReportStyleH\rR\x11reportOutputStyle\x88\x01\x01\x121\n\x12template_header_id\x18\x10 \x01(\tH\x0eR\x10templateHeaderId\x88\x01\x01\x12h\n\x1aselected_template_data_ids\x18\x11 \x01(\x0b2&.textql.rpc.public.playbook.StringListH\x0fR\x17selectedTemplateDataIds\x88\x01\x01\x12=\n\x18max_concurrent_templates\x18\x12 \x01(\x05H\x10R\x16maxConcurrentTemplates\x88\x01\x01\x12?\n\x19auto_optimize_concurrency\x18\x13 \x01(\x08H\x11R\x17autoOptimizeConcurrency\x88\x01\x01\x12O\n\rconnector_ids\x18\x14 \x01(\x0b2%.textql.rpc.public.playbook.Int32ListH\x12R\x0cconnectorIds\x88\x01\x01\x12h\n\x15template_data_filters\x18\x15 \x01(\x0b2/.textql.rpc.public.playbook.FilterConditionListH\x13R\x13templateDataFilters\x88\x01\x01\x12B\n\tllm_model\x18\x16 \x01(\x0e2 .textql.rpc.public.chat.LlmModelH\x14R\x08llmModel\x88\x01\x01\x12Y\n\x10chat_access_mode\x18\x17 \x01(\x0e2*.textql.rpc.public.playbook.ChatAccessModeH\x15R\x0echatAccessMode\x88\x01\x01\x12k\n\x15chat_access_overrides\x18\x18 \x01(\x0b22.textql.rpc.public.playbook.ChatAccessOverrideListH\x16R\x13chatAccessOverrides\x88\x01\x01\x12)\n\x0echat_is_public\x18\x19 \x01(\x08H\x17R\x0cchatIsPublic\x88\x01\x01\x12P\n\rdashboard_ids\x18\x1a \x01(\x0b2&.textql.rpc.public.playbook.StringListH\x18R\x0cdashboardIds\x88\x01\x01\x129\n\x16recipient_email_column\x18\x1b \x01(\tH\x19R\x14recipientEmailColumn\x88\x01\x01\x12-\n\x10teams_channel_id\x18\x1c \x01(\tH\x1aR\x0eteamsChannelId\x88\x01\x01\x12e\n\x19tagged_teams_user_aad_ids\x18\x1d \x01(\x0b2&.textql.rpc.public.playbook.StringListH\x1bR\x15taggedTeamsUserAadIds\x88\x01\x01\x12X\n\x12api_access_key_ids\x18\x1e \x01(\x0b2&.textql.rpc.public.playbook.StringListH\x1cR\x0fapiAccessKeyIds\x88\x01\x01B\x07\n\x05_nameB\t\n\x07_promptB\t\n\x07_statusB\x0f\n\r_trigger_typeB\x0e\n\x0c_cron_stringB\x0e\n\x0c_dataset_idsB\x0f\n\r_connector_idB\x16\n\x14_reference_report_idB\x13\n\x11_paradigm_optionsB\x10\n\x0e_paradigm_typeB\x12\n\x10_email_addressesB\x13\n\x11_slack_channel_idB\x18\n\x16_tagged_slack_user_idsB\x16\n\x14_report_output_styleB\x15\n\x13_template_header_idB\x1d\n\x1b_selected_template_data_idsB\x1b\n\x19_max_concurrent_templatesB\x1c\n\x1a_auto_optimize_concurrencyB\x10\n\x0e_connector_idsB\x18\n\x16_template_data_filtersB\x0c\n\n_llm_modelB\x13\n\x11_chat_access_modeB\x18\n\x16_chat_access_overridesB\x11\n\x0f_chat_is_publicB\x10\n\x0e_dashboard_idsB\x19\n\x17_recipient_email_columnB\x13\n\x11_teams_channel_idB\x1c\n\x1a_tagged_teams_user_aad_idsB\x15\n\x13_api_access_key_ids"Z\n\x16UpdatePlaybookResponse\x12@\n\x08playbook\x18\x01 \x01(\x0b2$.textql.rpc.public.playbook.PlaybookR\x08playbook"8\n\x15DeletePlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId"t\n\x16DeletePlaybookResponse\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x129\n\ndeleted_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdeletedAt"8\n\x15DeployPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId"v\n\x16DeployPlaybookResponse\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12;\n\x0bdeployed_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ndeployedAt"<\n\x19DeactivatePlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId"^\n\x1cPlaybookAttachDatasetRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"]\n\x1dPlaybookAttachDatasetResponse\x12<\n\x07dataset\x18\x01 \x01(\x0b2".textql.rpc.public.dataset.DatasetR\x07dataset"^\n\x1cPlaybookRemoveDatasetRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"9\n\x1dPlaybookRemoveDatasetResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"d\n\x1ePlaybookAttachDashboardRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12!\n\x0cdashboard_id\x18\x02 \x01(\tR\x0bdashboardId"g\n\x1fPlaybookAttachDashboardResponse\x12D\n\tdashboard\x18\x01 \x01(\x0b2&.textql.rpc.public.dashboard.DashboardR\tdashboard"d\n\x1ePlaybookRemoveDashboardRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12!\n\x0cdashboard_id\x18\x02 \x01(\tR\x0bdashboardId";\n\x1fPlaybookRemoveDashboardResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x90\x02\n\x19GetPlaybookReportsRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12\x1c\n\x07chat_id\x18\x04 \x01(\tH\x00R\x06chatId\x88\x01\x01\x12-\n\x10template_data_id\x18\x05 \x01(\tH\x01R\x0etemplateDataId\x88\x01\x01\x12%\n\x0cbatch_run_id\x18\x06 \x01(\tH\x02R\nbatchRunId\x88\x01\x01B\n\n\x08_chat_idB\x13\n\x11_template_data_idB\x0f\n\r_batch_run_id"\xe9\x03\n\x0ePlaybookReport\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId\x12\x17\n\x07cell_id\x18\x03 \x01(\tR\x06cellId\x129\n\ncreated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x18\n\x07subject\x18\x05 \x01(\tR\x07subject\x12\x18\n\x07summary\x18\x06 \x01(\tR\x07summary\x12>\n\x06blocks\x18\x07 \x03(\x0b2&.textql.rpc.public.reports.ReportBlockR\x06blocks\x12!\n\x0chtml_preview\x18\x08 \x01(\tR\x0bhtmlPreview\x12\x1f\n\x0bplaybook_id\x18\t \x01(\tR\nplaybookId\x128\n\x07read_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x06readAt\x88\x01\x01\x12>\n\x19playbook_template_data_id\x18\x0b \x01(\tH\x01R\x16playbookTemplateDataId\x88\x01\x01B\n\n\x08_read_atB\x1c\n\x1a_playbook_template_data_id"\x83\x01\n\x1aGetPlaybookReportsResponse\x12D\n\x07reports\x18\x01 \x03(\x0b2*.textql.rpc.public.playbook.PlaybookReportR\x07reports\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount"\xd3\x01\n\x1eGetPlaybookReportsBatchRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12*\n\x11template_data_ids\x18\x02 \x03(\tR\x0ftemplateDataIds\x12,\n\x12limit_per_template\x18\x03 \x01(\x05R\x10limitPerTemplate\x12%\n\x0cbatch_run_id\x18\x04 \x01(\tH\x00R\nbatchRunId\x88\x01\x01B\x0f\n\r_batch_run_id"\xf4\x01\n\x13TemplateDataReports\x12(\n\x10template_data_id\x18\x01 \x01(\tR\x0etemplateDataId\x12D\n\x07reports\x18\x02 \x03(\x0b2*.textql.rpc.public.playbook.PlaybookReportR\x07reports\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x05R\ntotalCount\x12L\n\rpreview_cells\x18\x04 \x03(\x0b2\'.textql.rpc.public.cells.PreviewCellRefR\x0cpreviewCells"\x86\x01\n\x1fGetPlaybookReportsBatchResponse\x12c\n\x15template_data_reports\x18\x01 \x03(\x0b2/.textql.rpc.public.playbook.TemplateDataReportsR\x13templateDataReports"\xb8\x01\n\x19PreviewSlackReportRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x127\n\x04cell\x18\x02 \x01(\x0b2#.textql.rpc.public.cells.ReportCellR\x04cell\x12\x17\n\x07chat_id\x18\x03 \x01(\tR\x06chatId\x12(\n\x10slack_channel_id\x18\x04 \x01(\tR\x0eslackChannelId"\x1c\n\x1aPreviewSlackReportResponse"\x84\x01\n\x12RunPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x17\n\x07dry_run\x18\x02 \x01(\x08R\x06dryRun\x12$\n\x0btemplate_id\x18\x03 \x01(\tH\x00R\ntemplateId\x88\x01\x01B\x0e\n\x0c_template_id".\n\x13RunPlaybookResponse\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"\x8f\x01\n\x13DemoPlaybookRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId\x12\x1f\n\x0bperson_name\x18\x02 \x01(\tR\npersonName\x12\x1b\n\tjob_title\x18\x03 \x01(\tR\x08jobTitle\x12!\n\x0ctarget_email\x18\x04 \x01(\tR\x0btargetEmail"\x16\n\x14DemoPlaybookResponse" \n\x1eGetMembersWithPlaybooksRequest"_\n\x1fGetMembersWithPlaybooksResponse\x12<\n\x07members\x18\x01 \x03(\x0b2".textql.rpc.identity.MemberPreviewR\x07members";\n\x18DuplicatePlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId"]\n\x19DuplicatePlaybookResponse\x12@\n\x08playbook\x18\x01 \x01(\x0b2$.textql.rpc.public.playbook.PlaybookR\x08playbook"<\n\x19GetPlaybookLineageRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId"\xc6\x02\n\x13PlaybookLineageNode\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12B\n\x06status\x18\x03 \x01(\x0e2*.textql.rpc.public.playbook.PlaybookStatusR\x06status\x12D\n\rduplicated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x0cduplicatedAt\x88\x01\x01\x12L\n\rduplicated_by\x18\x05 \x01(\x0b2".textql.rpc.identity.MemberPreviewH\x01R\x0cduplicatedBy\x88\x01\x01B\x10\n\x0e_duplicated_atB\x10\n\x0e_duplicated_by"\x90\x02\n\x1aGetPlaybookLineageResponse\x12L\n\x06parent\x18\x01 \x01(\x0b2/.textql.rpc.public.playbook.PlaybookLineageNodeH\x00R\x06parent\x88\x01\x01\x12O\n\nduplicates\x18\x02 \x03(\x0b2/.textql.rpc.public.playbook.PlaybookLineageNodeR\nduplicates\x121\n\x12origin_playbook_id\x18\x03 \x01(\tH\x01R\x10originPlaybookId\x88\x01\x01B\t\n\x07_parentB\x15\n\x13_origin_playbook_id"\xae\x05\n\rReportFilters\x12!\n\x0cplaybook_ids\x18\x01 \x03(\tR\x0bplaybookIds\x12$\n\x0bsearch_term\x18\x02 \x01(\tH\x00R\nsearchTerm\x88\x01\x01\x12>\n\nstart_time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\tstartTime\x88\x01\x01\x12:\n\x08end_time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x07endTime\x88\x01\x01\x12\x17\n\x07sort_by\x18\x05 \x01(\tR\x06sortBy\x12N\n\x0esort_direction\x18\x06 \x01(\x0e2\'.textql.rpc.public.common.SortDirectionR\rsortDirection\x12\x19\n\x05limit\x18\x07 \x01(\x05H\x03R\x05limit\x88\x01\x01\x12\x1b\n\x06offset\x18\x08 \x01(\x05H\x04R\x06offset\x88\x01\x01\x12,\n\x0fonly_subscribed\x18\t \x01(\x08H\x05R\x0eonlySubscribed\x88\x01\x01\x12*\n\x0einclude_header\x18\n \x01(\x08H\x06R\rincludeHeader\x88\x01\x01\x123\n\x13include_with_header\x18\x0b \x01(\x08H\x07R\x11includeWithHeader\x88\x01\x01\x12\x1c\n\x07chat_id\x18\x0c \x01(\tH\x08R\x06chatId\x88\x01\x01B\x0e\n\x0c_search_termB\r\n\x0b_start_timeB\x0b\n\t_end_timeB\x08\n\x06_limitB\t\n\x07_offsetB\x12\n\x10_only_subscribedB\x11\n\x0f_include_headerB\x16\n\x14_include_with_headerB\n\n\x08_chat_id"c\n\x1cGetReportsWithFiltersRequest\x12C\n\x07filters\x18\x01 \x01(\x0b2).textql.rpc.public.playbook.ReportFiltersR\x07filters"\x85\x02\n\x1dGetReportsWithFiltersResponse\x12D\n\x07reports\x18\x01 \x03(\x0b2*.textql.rpc.public.playbook.PlaybookReportR\x07reports\x12Z\n\x13reports_with_header\x18\x02 \x03(\x0b2*.textql.rpc.public.playbook.PlaybookReportR\x11reportsWithHeader\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x05R\ntotalCount\x12!\n\x0cunread_count\x18\x04 \x01(\x05R\x0bunreadCount"\xe9\x01\n\x11ChatReportSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x07chat_id\x18\x02 \x01(\tR\x06chatId\x12\x18\n\x07subject\x18\x03 \x01(\tR\x07subject\x12\x18\n\x07summary\x18\x04 \x01(\tR\x07summary\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12)\n\x0ehero_image_url\x18\x06 \x01(\tH\x00R\x0cheroImageUrl\x88\x01\x01B\x11\n\x0f_hero_image_url"7\n\x1cGetChatReportsSummaryRequest\x12\x17\n\x07chat_id\x18\x01 \x01(\tR\x06chatId"h\n\x1dGetChatReportsSummaryResponse\x12G\n\x07reports\x18\x01 \x03(\x0b2-.textql.rpc.public.playbook.ChatReportSummaryR\x07reports"3\n\x14GetReportByIdRequest\x12\x1b\n\treport_id\x18\x01 \x01(\tR\x08reportId"[\n\x15GetReportByIdResponse\x12B\n\x06report\x18\x01 \x01(\x0b2*.textql.rpc.public.playbook.PlaybookReportR\x06report"k\n$GetPlaybookReportsWithFiltersRequest\x12C\n\x07filters\x18\x01 \x01(\x0b2).textql.rpc.public.playbook.ReportFiltersR\x07filters"\x8e\x01\n%GetPlaybookReportsWithFiltersResponse\x12D\n\x07reports\x18\x01 \x03(\x0b2*.textql.rpc.public.playbook.PlaybookReportR\x07reports\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount"\xb4\x01\n\x0fPlaybookPreview\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12B\n\x06status\x18\x03 \x01(\x0e2*.textql.rpc.public.playbook.PlaybookStatusR\x06status\x129\n\ncreated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"\xae\x01\n\x1bGetPlaybooksPreviewsRequest\x12\'\n\x0fonly_subscribed\x18\x01 \x01(\x08R\x0eonlySubscribed\x12T\n\rstatus_filter\x18\x02 \x01(\x0e2*.textql.rpc.public.playbook.PlaybookStatusH\x00R\x0cstatusFilter\x88\x01\x01B\x10\n\x0e_status_filter"i\n\x1cGetPlaybooksPreviewsResponse\x12I\n\tplaybooks\x18\x01 \x03(\x0b2+.textql.rpc.public.playbook.PlaybookPreviewR\tplaybooks"=\n\x1aSubscribeToPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId"7\n\x1bSubscribeToPlaybookResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"A\n\x1eUnsubscribeFromPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId";\n\x1fUnsubscribeFromPlaybookResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"*\n(GetActiveSubscribedPlaybooksCountRequest"A\n)GetActiveSubscribedPlaybooksCountResponse\x12\x14\n\x05count\x18\x01 \x01(\x05R\x05count"6\n\x17MarkReportAsReadRequest\x12\x1b\n\treport_id\x18\x01 \x01(\tR\x08reportId"i\n\x18MarkReportAsReadResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x123\n\x07read_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x06readAt"U\n\x15FavoriteReportRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x1b\n\treport_id\x18\x02 \x01(\tR\x08reportId"2\n\x16FavoriteReportResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"r\n%SetSlackChannelContextPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12(\n\x10slack_channel_id\x18\x02 \x01(\tR\x0eslackChannelId"B\n&SetSlackChannelContextPlaybookResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"S\n\'UnsetSlackChannelContextPlaybookRequest\x12(\n\x10slack_channel_id\x18\x01 \x01(\tR\x0eslackChannelId"D\n(UnsetSlackChannelContextPlaybookResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"M\n*ListSlackChannelsForContextPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId"Y\n+ListSlackChannelsForContextPlaybookResponse\x12*\n\x11slack_channel_ids\x18\x01 \x03(\tR\x0fslackChannelIds"h\n\x1bSlackChannelPlaybookMapping\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12(\n\x10slack_channel_id\x18\x02 \x01(\tR\x0eslackChannelId",\n*ListAllSlackChannelContextPlaybooksRequest"\x82\x01\n+ListAllSlackChannelContextPlaybooksResponse\x12S\n\x08mappings\x18\x01 \x03(\x0b27.textql.rpc.public.playbook.SlackChannelPlaybookMappingR\x08mappings"r\n%SetTeamsChannelContextPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12(\n\x10teams_channel_id\x18\x02 \x01(\tR\x0eteamsChannelId"B\n&SetTeamsChannelContextPlaybookResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"S\n\'UnsetTeamsChannelContextPlaybookRequest\x12(\n\x10teams_channel_id\x18\x01 \x01(\tR\x0eteamsChannelId"D\n(UnsetTeamsChannelContextPlaybookResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"M\n*ListTeamsChannelsForContextPlaybookRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId"Y\n+ListTeamsChannelsForContextPlaybookResponse\x12*\n\x11teams_channel_ids\x18\x01 \x03(\tR\x0fteamsChannelIds"h\n\x1bTeamsChannelPlaybookMapping\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12(\n\x10teams_channel_id\x18\x02 \x01(\tR\x0eteamsChannelId",\n*ListAllTeamsChannelContextPlaybooksRequest"\x82\x01\n+ListAllTeamsChannelContextPlaybooksResponse\x12S\n\x08mappings\x18\x01 \x03(\x0b27.textql.rpc.public.playbook.TeamsChannelPlaybookMappingR\x08mappings"p\n\x1fStreamTemplateDataStatusRequest\x12,\n\x12template_header_id\x18\x01 \x01(\tR\x10templateHeaderId\x12\x1f\n\x0bplaybook_id\x18\x02 \x01(\tR\nplaybookId"\x9c\x04\n\x18TemplateDataStatusUpdate\x12(\n\x10template_data_id\x18\x01 \x01(\tR\x0etemplateDataId\x12b\n\x10execution_status\x18\x02 \x01(\x0e27.textql.rpc.public.playbook.TemplateDataExecutionStatusR\x0fexecutionStatus\x12Z\n\x19last_execution_started_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x16lastExecutionStartedAt\x88\x01\x01\x12^\n\x1blast_execution_completed_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x18lastExecutionCompletedAt\x88\x01\x01\x125\n\x14last_execution_error\x18\x05 \x01(\tH\x02R\x12lastExecutionError\x88\x01\x01\x12\x1c\n\x07chat_id\x18\x06 \x01(\tH\x03R\x06chatId\x88\x01\x01B\x1c\n\x1a_last_execution_started_atB\x1e\n\x1c_last_execution_completed_atB\x17\n\x15_last_execution_errorB\n\n\x08_chat_id"o\n\x1eCancelTemplateExecutionRequest\x12,\n\x12template_header_id\x18\x01 \x01(\tR\x10templateHeaderId\x12\x1f\n\x0bplaybook_id\x18\x02 \x01(\tR\nplaybookId"d\n\x1fCancelTemplateExecutionResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\'\n\x0fcancelled_count\x18\x02 \x01(\x05R\x0ecancelledCount"\xd8\x01\n\x10PlaybookBatchRun\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0bplaybook_id\x18\x02 \x01(\tR\nplaybookId\x12,\n\x12template_header_id\x18\x03 \x01(\tR\x10templateHeaderId\x12*\n\x11template_data_ids\x18\x04 \x03(\tR\x0ftemplateDataIds\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt">\n\x1aGetPlaybookBatchRunRequest\x12 \n\x0cbatch_run_id\x18\x01 \x01(\tR\nbatchRunId"h\n\x1bGetPlaybookBatchRunResponse\x12I\n\tbatch_run\x18\x01 \x01(\x0b2,.textql.rpc.public.playbook.PlaybookBatchRunR\x08batchRun"\x8c\x01\n\x1cListPlaybookBatchRunsRequest\x12\x1f\n\x0bplaybook_id\x18\x01 \x01(\tR\nplaybookId\x12\x19\n\x05limit\x18\x02 \x01(\x05H\x00R\x05limit\x88\x01\x01\x12\x1b\n\x06offset\x18\x03 \x01(\x05H\x01R\x06offset\x88\x01\x01B\x08\n\x06_limitB\t\n\x07_offset"\x8d\x01\n\x1dListPlaybookBatchRunsResponse\x12K\n\nbatch_runs\x18\x01 \x03(\x0b2,.textql.rpc.public.playbook.PlaybookBatchRunR\tbatchRuns\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount*q\n\x0ePlaybookStatus\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x00\x12\x11\n\rSTATUS_ACTIVE\x10\x01\x12\x13\n\x0fSTATUS_INACTIVE\x10\x02\x12\x10\n\x0cSTATUS_EMPTY\x10\x03\x12\x11\n\rALL_PLAYBOOKS\x10\x04*\xee\x01\n\x1bTemplateDataExecutionStatus\x12\x1c\n\x18EXECUTION_STATUS_UNKNOWN\x10\x00\x12\x19\n\x15EXECUTION_STATUS_IDLE\x10\x01\x12\x1b\n\x17EXECUTION_STATUS_QUEUED\x10\x02\x12\x1c\n\x18EXECUTION_STATUS_RUNNING\x10\x03\x12\x1e\n\x1aEXECUTION_STATUS_COMPLETED\x10\x04\x12\x1b\n\x17EXECUTION_STATUS_FAILED\x10\x05\x12\x1e\n\x1aEXECUTION_STATUS_CANCELLED\x10\x06*`\n\x13PlaybookTriggerType\x12\x18\n\x14TRIGGER_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11TRIGGER_TYPE_CRON\x10\x01\x12\x18\n\x14TRIGGER_TYPE_WEBHOOK\x10\x02*\x8f\x01\n\x11PlaybookSortField\x12\x16\n\x12SORT_FIELD_UNKNOWN\x10\x00\x12\x13\n\x0fSORT_FIELD_NAME\x10\x01\x12\x19\n\x15SORT_FIELD_CREATED_AT\x10\x02\x12\x19\n\x15SORT_FIELD_UPDATED_AT\x10\x03\x12\x17\n\x13SORT_FIELD_SCHEDULE\x10\x04*_\n\x13PlaybookReportStyle\x12\x18\n\x14REPORT_STYLE_UNKNOWN\x10\x00\x12\x14\n\x10EXECUTIVE_REPORT\x10\x01\x12\x0b\n\x07VERBOSE\x10\x02\x12\x0b\n\x07CONCISE\x10\x03*K\n\x0eChatAccessMode\x12\x1c\n\x18CHAT_ACCESS_MODE_INHERIT\x10\x00\x12\x1b\n\x17CHAT_ACCESS_MODE_CUSTOM\x10\x012\xcf-\n\x0fPlaybookService\x12w\n\x0eCreatePlaybook\x121.textql.rpc.public.playbook.CreatePlaybookRequest\x1a2.textql.rpc.public.playbook.CreatePlaybookResponse\x12n\n\x0bGetPlaybook\x12..textql.rpc.public.playbook.GetPlaybookRequest\x1a/.textql.rpc.public.playbook.GetPlaybookResponse\x12v\n\x0cGetPlaybooks\x12/.textql.rpc.public.playbook.GetPlaybooksRequest\x1a0.textql.rpc.public.playbook.GetPlaybooksResponse"\x03\x90\x02\x01\x12w\n\x0eUpdatePlaybook\x121.textql.rpc.public.playbook.UpdatePlaybookRequest\x1a2.textql.rpc.public.playbook.UpdatePlaybookResponse\x12w\n\x0eDeletePlaybook\x121.textql.rpc.public.playbook.DeletePlaybookRequest\x1a2.textql.rpc.public.playbook.DeletePlaybookResponse\x12|\n\x0eDeployPlaybook\x121.textql.rpc.public.playbook.DeployPlaybookRequest\x1a2.textql.rpc.public.playbook.DeployPlaybookResponse"\x03\x90\x02\x02\x12h\n\x12DeactivatePlaybook\x125.textql.rpc.public.playbook.DeactivatePlaybookRequest\x1a\x16.google.protobuf.Empty"\x03\x90\x02\x02\x12\x84\x01\n\rAttachDataset\x128.textql.rpc.public.playbook.PlaybookAttachDatasetRequest\x1a9.textql.rpc.public.playbook.PlaybookAttachDatasetResponse\x12\x84\x01\n\rRemoveDataset\x128.textql.rpc.public.playbook.PlaybookRemoveDatasetRequest\x1a9.textql.rpc.public.playbook.PlaybookRemoveDatasetResponse\x12\x8a\x01\n\x0fAttachDashboard\x12:.textql.rpc.public.playbook.PlaybookAttachDashboardRequest\x1a;.textql.rpc.public.playbook.PlaybookAttachDashboardResponse\x12\x8a\x01\n\x0fRemoveDashboard\x12:.textql.rpc.public.playbook.PlaybookRemoveDashboardRequest\x1a;.textql.rpc.public.playbook.PlaybookRemoveDashboardResponse\x12\x88\x01\n\x12GetPlaybookReports\x125.textql.rpc.public.playbook.GetPlaybookReportsRequest\x1a6.textql.rpc.public.playbook.GetPlaybookReportsResponse"\x03\x90\x02\x01\x12\x83\x01\n\x12PreviewSlackReport\x125.textql.rpc.public.playbook.PreviewSlackReportRequest\x1a6.textql.rpc.public.playbook.PreviewSlackReportResponse\x12n\n\x0bRunPlaybook\x12..textql.rpc.public.playbook.RunPlaybookRequest\x1a/.textql.rpc.public.playbook.RunPlaybookResponse\x12q\n\x0cDemoPlaybook\x12/.textql.rpc.public.playbook.DemoPlaybookRequest\x1a0.textql.rpc.public.playbook.DemoPlaybookResponse\x12\x97\x01\n\x17GetMembersWithPlaybooks\x12:.textql.rpc.public.playbook.GetMembersWithPlaybooksRequest\x1a;.textql.rpc.public.playbook.GetMembersWithPlaybooksResponse"\x03\x90\x02\x01\x12\x80\x01\n\x11DuplicatePlaybook\x124.textql.rpc.public.playbook.DuplicatePlaybookRequest\x1a5.textql.rpc.public.playbook.DuplicatePlaybookResponse\x12\x88\x01\n\x12GetPlaybookLineage\x125.textql.rpc.public.playbook.GetPlaybookLineageRequest\x1a6.textql.rpc.public.playbook.GetPlaybookLineageResponse"\x03\x90\x02\x01\x12\x91\x01\n\x15GetReportsWithFilters\x128.textql.rpc.public.playbook.GetReportsWithFiltersRequest\x1a9.textql.rpc.public.playbook.GetReportsWithFiltersResponse"\x03\x90\x02\x01\x12\x91\x01\n\x15GetChatReportsSummary\x128.textql.rpc.public.playbook.GetChatReportsSummaryRequest\x1a9.textql.rpc.public.playbook.GetChatReportsSummaryResponse"\x03\x90\x02\x01\x12\x8e\x01\n\x14GetPlaybooksPreviews\x127.textql.rpc.public.playbook.GetPlaybooksPreviewsRequest\x1a8.textql.rpc.public.playbook.GetPlaybooksPreviewsResponse"\x03\x90\x02\x01\x12\x8b\x01\n\x13SubscribeToPlaybook\x126.textql.rpc.public.playbook.SubscribeToPlaybookRequest\x1a7.textql.rpc.public.playbook.SubscribeToPlaybookResponse"\x03\x90\x02\x02\x12\x97\x01\n\x17UnsubscribeFromPlaybook\x12:.textql.rpc.public.playbook.UnsubscribeFromPlaybookRequest\x1a;.textql.rpc.public.playbook.UnsubscribeFromPlaybookResponse"\x03\x90\x02\x02\x12\xb5\x01\n!GetActiveSubscribedPlaybooksCount\x12D.textql.rpc.public.playbook.GetActiveSubscribedPlaybooksCountRequest\x1aE.textql.rpc.public.playbook.GetActiveSubscribedPlaybooksCountResponse"\x03\x90\x02\x01\x12y\n\rGetReportById\x120.textql.rpc.public.playbook.GetReportByIdRequest\x1a1.textql.rpc.public.playbook.GetReportByIdResponse"\x03\x90\x02\x01\x12\x82\x01\n\x10MarkReportAsRead\x123.textql.rpc.public.playbook.MarkReportAsReadRequest\x1a4.textql.rpc.public.playbook.MarkReportAsReadResponse"\x03\x90\x02\x02\x12|\n\x0eFavoriteReport\x121.textql.rpc.public.playbook.FavoriteReportRequest\x1a2.textql.rpc.public.playbook.FavoriteReportResponse"\x03\x90\x02\x02\x12\xac\x01\n\x1eSetSlackChannelContextPlaybook\x12A.textql.rpc.public.playbook.SetSlackChannelContextPlaybookRequest\x1aB.textql.rpc.public.playbook.SetSlackChannelContextPlaybookResponse"\x03\x90\x02\x02\x12\xb2\x01\n UnsetSlackChannelContextPlaybook\x12C.textql.rpc.public.playbook.UnsetSlackChannelContextPlaybookRequest\x1aD.textql.rpc.public.playbook.UnsetSlackChannelContextPlaybookResponse"\x03\x90\x02\x02\x12\xbb\x01\n#ListSlackChannelsForContextPlaybook\x12F.textql.rpc.public.playbook.ListSlackChannelsForContextPlaybookRequest\x1aG.textql.rpc.public.playbook.ListSlackChannelsForContextPlaybookResponse"\x03\x90\x02\x01\x12\xbb\x01\n#ListAllSlackChannelContextPlaybooks\x12F.textql.rpc.public.playbook.ListAllSlackChannelContextPlaybooksRequest\x1aG.textql.rpc.public.playbook.ListAllSlackChannelContextPlaybooksResponse"\x03\x90\x02\x01\x12\xac\x01\n\x1eSetTeamsChannelContextPlaybook\x12A.textql.rpc.public.playbook.SetTeamsChannelContextPlaybookRequest\x1aB.textql.rpc.public.playbook.SetTeamsChannelContextPlaybookResponse"\x03\x90\x02\x02\x12\xb2\x01\n UnsetTeamsChannelContextPlaybook\x12C.textql.rpc.public.playbook.UnsetTeamsChannelContextPlaybookRequest\x1aD.textql.rpc.public.playbook.UnsetTeamsChannelContextPlaybookResponse"\x03\x90\x02\x02\x12\xbb\x01\n#ListTeamsChannelsForContextPlaybook\x12F.textql.rpc.public.playbook.ListTeamsChannelsForContextPlaybookRequest\x1aG.textql.rpc.public.playbook.ListTeamsChannelsForContextPlaybookResponse"\x03\x90\x02\x01\x12\xbb\x01\n#ListAllTeamsChannelContextPlaybooks\x12F.textql.rpc.public.playbook.ListAllTeamsChannelContextPlaybooksRequest\x1aG.textql.rpc.public.playbook.ListAllTeamsChannelContextPlaybooksResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x18StreamTemplateDataStatus\x12;.textql.rpc.public.playbook.StreamTemplateDataStatusRequest\x1a4.textql.rpc.public.playbook.TemplateDataStatusUpdate0\x01\x12\x97\x01\n\x17CancelTemplateExecution\x12:.textql.rpc.public.playbook.CancelTemplateExecutionRequest\x1a;.textql.rpc.public.playbook.CancelTemplateExecutionResponse"\x03\x90\x02\x02\x12\x8b\x01\n\x13GetPlaybookBatchRun\x126.textql.rpc.public.playbook.GetPlaybookBatchRunRequest\x1a7.textql.rpc.public.playbook.GetPlaybookBatchRunResponse"\x03\x90\x02\x01\x12\x91\x01\n\x15ListPlaybookBatchRuns\x128.textql.rpc.public.playbook.ListPlaybookBatchRunsRequest\x1a9.textql.rpc.public.playbook.ListPlaybookBatchRunsResponse"\x03\x90\x02\x01\x12\x97\x01\n\x17GetPlaybookReportsBatch\x12:.textql.rpc.public.playbook.GetPlaybookReportsBatchRequest\x1a;.textql.rpc.public.playbook.GetPlaybookReportsBatchResponse"\x03\x90\x02\x01b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.playbook_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PLAYBOOK'].fields_by_name['connector_id']._loaded_options = None + _globals['_PLAYBOOK'].fields_by_name['connector_id']._serialized_options = b'\x18\x01' + _globals['_UPDATEPLAYBOOKREQUEST'].fields_by_name['connector_id']._loaded_options = None + _globals['_UPDATEPLAYBOOKREQUEST'].fields_by_name['connector_id']._serialized_options = b'\x18\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybooks']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybooks']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['DeployPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['DeployPlaybook']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['DeactivatePlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['DeactivatePlaybook']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybookReports']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybookReports']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetMembersWithPlaybooks']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetMembersWithPlaybooks']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybookLineage']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybookLineage']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetReportsWithFilters']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetReportsWithFilters']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetChatReportsSummary']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetChatReportsSummary']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybooksPreviews']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybooksPreviews']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['SubscribeToPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['SubscribeToPlaybook']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['UnsubscribeFromPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['UnsubscribeFromPlaybook']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetActiveSubscribedPlaybooksCount']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetActiveSubscribedPlaybooksCount']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetReportById']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetReportById']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['MarkReportAsRead']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['MarkReportAsRead']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['FavoriteReport']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['FavoriteReport']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['SetSlackChannelContextPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['SetSlackChannelContextPlaybook']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['UnsetSlackChannelContextPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['UnsetSlackChannelContextPlaybook']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListSlackChannelsForContextPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListSlackChannelsForContextPlaybook']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListAllSlackChannelContextPlaybooks']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListAllSlackChannelContextPlaybooks']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['SetTeamsChannelContextPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['SetTeamsChannelContextPlaybook']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['UnsetTeamsChannelContextPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['UnsetTeamsChannelContextPlaybook']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListTeamsChannelsForContextPlaybook']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListTeamsChannelsForContextPlaybook']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListAllTeamsChannelContextPlaybooks']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListAllTeamsChannelContextPlaybooks']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['CancelTemplateExecution']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['CancelTemplateExecution']._serialized_options = b'\x90\x02\x02' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybookBatchRun']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybookBatchRun']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListPlaybookBatchRuns']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['ListPlaybookBatchRuns']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybookReportsBatch']._loaded_options = None + _globals['_PLAYBOOKSERVICE'].methods_by_name['GetPlaybookReportsBatch']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKSTATUS']._serialized_start = 18277 + _globals['_PLAYBOOKSTATUS']._serialized_end = 18390 + _globals['_TEMPLATEDATAEXECUTIONSTATUS']._serialized_start = 18393 + _globals['_TEMPLATEDATAEXECUTIONSTATUS']._serialized_end = 18631 + _globals['_PLAYBOOKTRIGGERTYPE']._serialized_start = 18633 + _globals['_PLAYBOOKTRIGGERTYPE']._serialized_end = 18729 + _globals['_PLAYBOOKSORTFIELD']._serialized_start = 18732 + _globals['_PLAYBOOKSORTFIELD']._serialized_end = 18875 + _globals['_PLAYBOOKREPORTSTYLE']._serialized_start = 18877 + _globals['_PLAYBOOKREPORTSTYLE']._serialized_end = 18972 + _globals['_CHATACCESSMODE']._serialized_start = 18974 + _globals['_CHATACCESSMODE']._serialized_end = 19049 + _globals['_CHATACCESSOVERRIDE']._serialized_start = 345 + _globals['_CHATACCESSOVERRIDE']._serialized_end = 488 + _globals['_CHATACCESSOVERRIDELIST']._serialized_start = 490 + _globals['_CHATACCESSOVERRIDELIST']._serialized_end = 584 + _globals['_FILTERCONDITION']._serialized_start = 586 + _globals['_FILTERCONDITION']._serialized_end = 675 + _globals['_PLAYBOOK']._serialized_start = 678 + _globals['_PLAYBOOK']._serialized_end = 3551 + _globals['_CREATEPLAYBOOKREQUEST']._serialized_start = 3553 + _globals['_CREATEPLAYBOOKREQUEST']._serialized_end = 3576 + _globals['_CREATEPLAYBOOKRESPONSE']._serialized_start = 3578 + _globals['_CREATEPLAYBOOKRESPONSE']._serialized_end = 3668 + _globals['_GETPLAYBOOKREQUEST']._serialized_start = 3670 + _globals['_GETPLAYBOOKREQUEST']._serialized_end = 3769 + _globals['_GETPLAYBOOKRESPONSE']._serialized_start = 3772 + _globals['_GETPLAYBOOKRESPONSE']._serialized_end = 3977 + _globals['_GETPLAYBOOKSREQUEST']._serialized_start = 3980 + _globals['_GETPLAYBOOKSREQUEST']._serialized_end = 4859 + _globals['_GETPLAYBOOKSRESPONSE']._serialized_start = 4861 + _globals['_GETPLAYBOOKSRESPONSE']._serialized_end = 4984 + _globals['_STRINGLIST']._serialized_start = 4986 + _globals['_STRINGLIST']._serialized_end = 5020 + _globals['_INT32LIST']._serialized_start = 5022 + _globals['_INT32LIST']._serialized_end = 5055 + _globals['_FILTERCONDITIONLIST']._serialized_start = 5057 + _globals['_FILTERCONDITIONLIST']._serialized_end = 5145 + _globals['_UPDATEPLAYBOOKREQUEST']._serialized_start = 5148 + _globals['_UPDATEPLAYBOOKREQUEST']._serialized_end = 7912 + _globals['_UPDATEPLAYBOOKRESPONSE']._serialized_start = 7914 + _globals['_UPDATEPLAYBOOKRESPONSE']._serialized_end = 8004 + _globals['_DELETEPLAYBOOKREQUEST']._serialized_start = 8006 + _globals['_DELETEPLAYBOOKREQUEST']._serialized_end = 8062 + _globals['_DELETEPLAYBOOKRESPONSE']._serialized_start = 8064 + _globals['_DELETEPLAYBOOKRESPONSE']._serialized_end = 8180 + _globals['_DEPLOYPLAYBOOKREQUEST']._serialized_start = 8182 + _globals['_DEPLOYPLAYBOOKREQUEST']._serialized_end = 8238 + _globals['_DEPLOYPLAYBOOKRESPONSE']._serialized_start = 8240 + _globals['_DEPLOYPLAYBOOKRESPONSE']._serialized_end = 8358 + _globals['_DEACTIVATEPLAYBOOKREQUEST']._serialized_start = 8360 + _globals['_DEACTIVATEPLAYBOOKREQUEST']._serialized_end = 8420 + _globals['_PLAYBOOKATTACHDATASETREQUEST']._serialized_start = 8422 + _globals['_PLAYBOOKATTACHDATASETREQUEST']._serialized_end = 8516 + _globals['_PLAYBOOKATTACHDATASETRESPONSE']._serialized_start = 8518 + _globals['_PLAYBOOKATTACHDATASETRESPONSE']._serialized_end = 8611 + _globals['_PLAYBOOKREMOVEDATASETREQUEST']._serialized_start = 8613 + _globals['_PLAYBOOKREMOVEDATASETREQUEST']._serialized_end = 8707 + _globals['_PLAYBOOKREMOVEDATASETRESPONSE']._serialized_start = 8709 + _globals['_PLAYBOOKREMOVEDATASETRESPONSE']._serialized_end = 8766 + _globals['_PLAYBOOKATTACHDASHBOARDREQUEST']._serialized_start = 8768 + _globals['_PLAYBOOKATTACHDASHBOARDREQUEST']._serialized_end = 8868 + _globals['_PLAYBOOKATTACHDASHBOARDRESPONSE']._serialized_start = 8870 + _globals['_PLAYBOOKATTACHDASHBOARDRESPONSE']._serialized_end = 8973 + _globals['_PLAYBOOKREMOVEDASHBOARDREQUEST']._serialized_start = 8975 + _globals['_PLAYBOOKREMOVEDASHBOARDREQUEST']._serialized_end = 9075 + _globals['_PLAYBOOKREMOVEDASHBOARDRESPONSE']._serialized_start = 9077 + _globals['_PLAYBOOKREMOVEDASHBOARDRESPONSE']._serialized_end = 9136 + _globals['_GETPLAYBOOKREPORTSREQUEST']._serialized_start = 9139 + _globals['_GETPLAYBOOKREPORTSREQUEST']._serialized_end = 9411 + _globals['_PLAYBOOKREPORT']._serialized_start = 9414 + _globals['_PLAYBOOKREPORT']._serialized_end = 9903 + _globals['_GETPLAYBOOKREPORTSRESPONSE']._serialized_start = 9906 + _globals['_GETPLAYBOOKREPORTSRESPONSE']._serialized_end = 10037 + _globals['_GETPLAYBOOKREPORTSBATCHREQUEST']._serialized_start = 10040 + _globals['_GETPLAYBOOKREPORTSBATCHREQUEST']._serialized_end = 10251 + _globals['_TEMPLATEDATAREPORTS']._serialized_start = 10254 + _globals['_TEMPLATEDATAREPORTS']._serialized_end = 10498 + _globals['_GETPLAYBOOKREPORTSBATCHRESPONSE']._serialized_start = 10501 + _globals['_GETPLAYBOOKREPORTSBATCHRESPONSE']._serialized_end = 10635 + _globals['_PREVIEWSLACKREPORTREQUEST']._serialized_start = 10638 + _globals['_PREVIEWSLACKREPORTREQUEST']._serialized_end = 10822 + _globals['_PREVIEWSLACKREPORTRESPONSE']._serialized_start = 10824 + _globals['_PREVIEWSLACKREPORTRESPONSE']._serialized_end = 10852 + _globals['_RUNPLAYBOOKREQUEST']._serialized_start = 10855 + _globals['_RUNPLAYBOOKREQUEST']._serialized_end = 10987 + _globals['_RUNPLAYBOOKRESPONSE']._serialized_start = 10989 + _globals['_RUNPLAYBOOKRESPONSE']._serialized_end = 11035 + _globals['_DEMOPLAYBOOKREQUEST']._serialized_start = 11038 + _globals['_DEMOPLAYBOOKREQUEST']._serialized_end = 11181 + _globals['_DEMOPLAYBOOKRESPONSE']._serialized_start = 11183 + _globals['_DEMOPLAYBOOKRESPONSE']._serialized_end = 11205 + _globals['_GETMEMBERSWITHPLAYBOOKSREQUEST']._serialized_start = 11207 + _globals['_GETMEMBERSWITHPLAYBOOKSREQUEST']._serialized_end = 11239 + _globals['_GETMEMBERSWITHPLAYBOOKSRESPONSE']._serialized_start = 11241 + _globals['_GETMEMBERSWITHPLAYBOOKSRESPONSE']._serialized_end = 11336 + _globals['_DUPLICATEPLAYBOOKREQUEST']._serialized_start = 11338 + _globals['_DUPLICATEPLAYBOOKREQUEST']._serialized_end = 11397 + _globals['_DUPLICATEPLAYBOOKRESPONSE']._serialized_start = 11399 + _globals['_DUPLICATEPLAYBOOKRESPONSE']._serialized_end = 11492 + _globals['_GETPLAYBOOKLINEAGEREQUEST']._serialized_start = 11494 + _globals['_GETPLAYBOOKLINEAGEREQUEST']._serialized_end = 11554 + _globals['_PLAYBOOKLINEAGENODE']._serialized_start = 11557 + _globals['_PLAYBOOKLINEAGENODE']._serialized_end = 11883 + _globals['_GETPLAYBOOKLINEAGERESPONSE']._serialized_start = 11886 + _globals['_GETPLAYBOOKLINEAGERESPONSE']._serialized_end = 12158 + _globals['_REPORTFILTERS']._serialized_start = 12161 + _globals['_REPORTFILTERS']._serialized_end = 12847 + _globals['_GETREPORTSWITHFILTERSREQUEST']._serialized_start = 12849 + _globals['_GETREPORTSWITHFILTERSREQUEST']._serialized_end = 12948 + _globals['_GETREPORTSWITHFILTERSRESPONSE']._serialized_start = 12951 + _globals['_GETREPORTSWITHFILTERSRESPONSE']._serialized_end = 13212 + _globals['_CHATREPORTSUMMARY']._serialized_start = 13215 + _globals['_CHATREPORTSUMMARY']._serialized_end = 13448 + _globals['_GETCHATREPORTSSUMMARYREQUEST']._serialized_start = 13450 + _globals['_GETCHATREPORTSSUMMARYREQUEST']._serialized_end = 13505 + _globals['_GETCHATREPORTSSUMMARYRESPONSE']._serialized_start = 13507 + _globals['_GETCHATREPORTSSUMMARYRESPONSE']._serialized_end = 13611 + _globals['_GETREPORTBYIDREQUEST']._serialized_start = 13613 + _globals['_GETREPORTBYIDREQUEST']._serialized_end = 13664 + _globals['_GETREPORTBYIDRESPONSE']._serialized_start = 13666 + _globals['_GETREPORTBYIDRESPONSE']._serialized_end = 13757 + _globals['_GETPLAYBOOKREPORTSWITHFILTERSREQUEST']._serialized_start = 13759 + _globals['_GETPLAYBOOKREPORTSWITHFILTERSREQUEST']._serialized_end = 13866 + _globals['_GETPLAYBOOKREPORTSWITHFILTERSRESPONSE']._serialized_start = 13869 + _globals['_GETPLAYBOOKREPORTSWITHFILTERSRESPONSE']._serialized_end = 14011 + _globals['_PLAYBOOKPREVIEW']._serialized_start = 14014 + _globals['_PLAYBOOKPREVIEW']._serialized_end = 14194 + _globals['_GETPLAYBOOKSPREVIEWSREQUEST']._serialized_start = 14197 + _globals['_GETPLAYBOOKSPREVIEWSREQUEST']._serialized_end = 14371 + _globals['_GETPLAYBOOKSPREVIEWSRESPONSE']._serialized_start = 14373 + _globals['_GETPLAYBOOKSPREVIEWSRESPONSE']._serialized_end = 14478 + _globals['_SUBSCRIBETOPLAYBOOKREQUEST']._serialized_start = 14480 + _globals['_SUBSCRIBETOPLAYBOOKREQUEST']._serialized_end = 14541 + _globals['_SUBSCRIBETOPLAYBOOKRESPONSE']._serialized_start = 14543 + _globals['_SUBSCRIBETOPLAYBOOKRESPONSE']._serialized_end = 14598 + _globals['_UNSUBSCRIBEFROMPLAYBOOKREQUEST']._serialized_start = 14600 + _globals['_UNSUBSCRIBEFROMPLAYBOOKREQUEST']._serialized_end = 14665 + _globals['_UNSUBSCRIBEFROMPLAYBOOKRESPONSE']._serialized_start = 14667 + _globals['_UNSUBSCRIBEFROMPLAYBOOKRESPONSE']._serialized_end = 14726 + _globals['_GETACTIVESUBSCRIBEDPLAYBOOKSCOUNTREQUEST']._serialized_start = 14728 + _globals['_GETACTIVESUBSCRIBEDPLAYBOOKSCOUNTREQUEST']._serialized_end = 14770 + _globals['_GETACTIVESUBSCRIBEDPLAYBOOKSCOUNTRESPONSE']._serialized_start = 14772 + _globals['_GETACTIVESUBSCRIBEDPLAYBOOKSCOUNTRESPONSE']._serialized_end = 14837 + _globals['_MARKREPORTASREADREQUEST']._serialized_start = 14839 + _globals['_MARKREPORTASREADREQUEST']._serialized_end = 14893 + _globals['_MARKREPORTASREADRESPONSE']._serialized_start = 14895 + _globals['_MARKREPORTASREADRESPONSE']._serialized_end = 15000 + _globals['_FAVORITEREPORTREQUEST']._serialized_start = 15002 + _globals['_FAVORITEREPORTREQUEST']._serialized_end = 15087 + _globals['_FAVORITEREPORTRESPONSE']._serialized_start = 15089 + _globals['_FAVORITEREPORTRESPONSE']._serialized_end = 15139 + _globals['_SETSLACKCHANNELCONTEXTPLAYBOOKREQUEST']._serialized_start = 15141 + _globals['_SETSLACKCHANNELCONTEXTPLAYBOOKREQUEST']._serialized_end = 15255 + _globals['_SETSLACKCHANNELCONTEXTPLAYBOOKRESPONSE']._serialized_start = 15257 + _globals['_SETSLACKCHANNELCONTEXTPLAYBOOKRESPONSE']._serialized_end = 15323 + _globals['_UNSETSLACKCHANNELCONTEXTPLAYBOOKREQUEST']._serialized_start = 15325 + _globals['_UNSETSLACKCHANNELCONTEXTPLAYBOOKREQUEST']._serialized_end = 15408 + _globals['_UNSETSLACKCHANNELCONTEXTPLAYBOOKRESPONSE']._serialized_start = 15410 + _globals['_UNSETSLACKCHANNELCONTEXTPLAYBOOKRESPONSE']._serialized_end = 15478 + _globals['_LISTSLACKCHANNELSFORCONTEXTPLAYBOOKREQUEST']._serialized_start = 15480 + _globals['_LISTSLACKCHANNELSFORCONTEXTPLAYBOOKREQUEST']._serialized_end = 15557 + _globals['_LISTSLACKCHANNELSFORCONTEXTPLAYBOOKRESPONSE']._serialized_start = 15559 + _globals['_LISTSLACKCHANNELSFORCONTEXTPLAYBOOKRESPONSE']._serialized_end = 15648 + _globals['_SLACKCHANNELPLAYBOOKMAPPING']._serialized_start = 15650 + _globals['_SLACKCHANNELPLAYBOOKMAPPING']._serialized_end = 15754 + _globals['_LISTALLSLACKCHANNELCONTEXTPLAYBOOKSREQUEST']._serialized_start = 15756 + _globals['_LISTALLSLACKCHANNELCONTEXTPLAYBOOKSREQUEST']._serialized_end = 15800 + _globals['_LISTALLSLACKCHANNELCONTEXTPLAYBOOKSRESPONSE']._serialized_start = 15803 + _globals['_LISTALLSLACKCHANNELCONTEXTPLAYBOOKSRESPONSE']._serialized_end = 15933 + _globals['_SETTEAMSCHANNELCONTEXTPLAYBOOKREQUEST']._serialized_start = 15935 + _globals['_SETTEAMSCHANNELCONTEXTPLAYBOOKREQUEST']._serialized_end = 16049 + _globals['_SETTEAMSCHANNELCONTEXTPLAYBOOKRESPONSE']._serialized_start = 16051 + _globals['_SETTEAMSCHANNELCONTEXTPLAYBOOKRESPONSE']._serialized_end = 16117 + _globals['_UNSETTEAMSCHANNELCONTEXTPLAYBOOKREQUEST']._serialized_start = 16119 + _globals['_UNSETTEAMSCHANNELCONTEXTPLAYBOOKREQUEST']._serialized_end = 16202 + _globals['_UNSETTEAMSCHANNELCONTEXTPLAYBOOKRESPONSE']._serialized_start = 16204 + _globals['_UNSETTEAMSCHANNELCONTEXTPLAYBOOKRESPONSE']._serialized_end = 16272 + _globals['_LISTTEAMSCHANNELSFORCONTEXTPLAYBOOKREQUEST']._serialized_start = 16274 + _globals['_LISTTEAMSCHANNELSFORCONTEXTPLAYBOOKREQUEST']._serialized_end = 16351 + _globals['_LISTTEAMSCHANNELSFORCONTEXTPLAYBOOKRESPONSE']._serialized_start = 16353 + _globals['_LISTTEAMSCHANNELSFORCONTEXTPLAYBOOKRESPONSE']._serialized_end = 16442 + _globals['_TEAMSCHANNELPLAYBOOKMAPPING']._serialized_start = 16444 + _globals['_TEAMSCHANNELPLAYBOOKMAPPING']._serialized_end = 16548 + _globals['_LISTALLTEAMSCHANNELCONTEXTPLAYBOOKSREQUEST']._serialized_start = 16550 + _globals['_LISTALLTEAMSCHANNELCONTEXTPLAYBOOKSREQUEST']._serialized_end = 16594 + _globals['_LISTALLTEAMSCHANNELCONTEXTPLAYBOOKSRESPONSE']._serialized_start = 16597 + _globals['_LISTALLTEAMSCHANNELCONTEXTPLAYBOOKSRESPONSE']._serialized_end = 16727 + _globals['_STREAMTEMPLATEDATASTATUSREQUEST']._serialized_start = 16729 + _globals['_STREAMTEMPLATEDATASTATUSREQUEST']._serialized_end = 16841 + _globals['_TEMPLATEDATASTATUSUPDATE']._serialized_start = 16844 + _globals['_TEMPLATEDATASTATUSUPDATE']._serialized_end = 17384 + _globals['_CANCELTEMPLATEEXECUTIONREQUEST']._serialized_start = 17386 + _globals['_CANCELTEMPLATEEXECUTIONREQUEST']._serialized_end = 17497 + _globals['_CANCELTEMPLATEEXECUTIONRESPONSE']._serialized_start = 17499 + _globals['_CANCELTEMPLATEEXECUTIONRESPONSE']._serialized_end = 17599 + _globals['_PLAYBOOKBATCHRUN']._serialized_start = 17602 + _globals['_PLAYBOOKBATCHRUN']._serialized_end = 17818 + _globals['_GETPLAYBOOKBATCHRUNREQUEST']._serialized_start = 17820 + _globals['_GETPLAYBOOKBATCHRUNREQUEST']._serialized_end = 17882 + _globals['_GETPLAYBOOKBATCHRUNRESPONSE']._serialized_start = 17884 + _globals['_GETPLAYBOOKBATCHRUNRESPONSE']._serialized_end = 17988 + _globals['_LISTPLAYBOOKBATCHRUNSREQUEST']._serialized_start = 17991 + _globals['_LISTPLAYBOOKBATCHRUNSREQUEST']._serialized_end = 18131 + _globals['_LISTPLAYBOOKBATCHRUNSRESPONSE']._serialized_start = 18134 + _globals['_LISTPLAYBOOKBATCHRUNSRESPONSE']._serialized_end = 18275 + _globals['_PLAYBOOKSERVICE']._serialized_start = 19052 + _globals['_PLAYBOOKSERVICE']._serialized_end = 24891 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/playbook_pb2.pyi b/src/textql_sdk/_connect/public/playbook_pb2.pyi new file mode 100644 index 0000000..312bc97 --- /dev/null +++ b/src/textql_sdk/_connect/public/playbook_pb2.pyi @@ -0,0 +1,1214 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +import paradigm_params_pb2 as _paradigm_params_pb2 +from public import cells_pb2 as _cells_pb2 +from public import common_pb2 as _common_pb2 +from public import config_source_pb2 as _config_source_pb2 +from public import dashboard_pb2 as _dashboard_pb2 +from public import dataset_pb2 as _dataset_pb2 +from public import identity_pb2 as _identity_pb2 +from public import llm_model_pb2 as _llm_model_pb2 +from public import paradigm_pb2 as _paradigm_pb2 +from public import report_pb2 as _report_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class PlaybookStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + STATUS_UNKNOWN: _ClassVar[PlaybookStatus] + STATUS_ACTIVE: _ClassVar[PlaybookStatus] + STATUS_INACTIVE: _ClassVar[PlaybookStatus] + STATUS_EMPTY: _ClassVar[PlaybookStatus] + ALL_PLAYBOOKS: _ClassVar[PlaybookStatus] + +class TemplateDataExecutionStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + EXECUTION_STATUS_UNKNOWN: _ClassVar[TemplateDataExecutionStatus] + EXECUTION_STATUS_IDLE: _ClassVar[TemplateDataExecutionStatus] + EXECUTION_STATUS_QUEUED: _ClassVar[TemplateDataExecutionStatus] + EXECUTION_STATUS_RUNNING: _ClassVar[TemplateDataExecutionStatus] + EXECUTION_STATUS_COMPLETED: _ClassVar[TemplateDataExecutionStatus] + EXECUTION_STATUS_FAILED: _ClassVar[TemplateDataExecutionStatus] + EXECUTION_STATUS_CANCELLED: _ClassVar[TemplateDataExecutionStatus] + +class PlaybookTriggerType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + TRIGGER_TYPE_UNKNOWN: _ClassVar[PlaybookTriggerType] + TRIGGER_TYPE_CRON: _ClassVar[PlaybookTriggerType] + TRIGGER_TYPE_WEBHOOK: _ClassVar[PlaybookTriggerType] + +class PlaybookSortField(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SORT_FIELD_UNKNOWN: _ClassVar[PlaybookSortField] + SORT_FIELD_NAME: _ClassVar[PlaybookSortField] + SORT_FIELD_CREATED_AT: _ClassVar[PlaybookSortField] + SORT_FIELD_UPDATED_AT: _ClassVar[PlaybookSortField] + SORT_FIELD_SCHEDULE: _ClassVar[PlaybookSortField] + +class PlaybookReportStyle(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + REPORT_STYLE_UNKNOWN: _ClassVar[PlaybookReportStyle] + EXECUTIVE_REPORT: _ClassVar[PlaybookReportStyle] + VERBOSE: _ClassVar[PlaybookReportStyle] + CONCISE: _ClassVar[PlaybookReportStyle] + +class ChatAccessMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CHAT_ACCESS_MODE_INHERIT: _ClassVar[ChatAccessMode] + CHAT_ACCESS_MODE_CUSTOM: _ClassVar[ChatAccessMode] +STATUS_UNKNOWN: PlaybookStatus +STATUS_ACTIVE: PlaybookStatus +STATUS_INACTIVE: PlaybookStatus +STATUS_EMPTY: PlaybookStatus +ALL_PLAYBOOKS: PlaybookStatus +EXECUTION_STATUS_UNKNOWN: TemplateDataExecutionStatus +EXECUTION_STATUS_IDLE: TemplateDataExecutionStatus +EXECUTION_STATUS_QUEUED: TemplateDataExecutionStatus +EXECUTION_STATUS_RUNNING: TemplateDataExecutionStatus +EXECUTION_STATUS_COMPLETED: TemplateDataExecutionStatus +EXECUTION_STATUS_FAILED: TemplateDataExecutionStatus +EXECUTION_STATUS_CANCELLED: TemplateDataExecutionStatus +TRIGGER_TYPE_UNKNOWN: PlaybookTriggerType +TRIGGER_TYPE_CRON: PlaybookTriggerType +TRIGGER_TYPE_WEBHOOK: PlaybookTriggerType +SORT_FIELD_UNKNOWN: PlaybookSortField +SORT_FIELD_NAME: PlaybookSortField +SORT_FIELD_CREATED_AT: PlaybookSortField +SORT_FIELD_UPDATED_AT: PlaybookSortField +SORT_FIELD_SCHEDULE: PlaybookSortField +REPORT_STYLE_UNKNOWN: PlaybookReportStyle +EXECUTIVE_REPORT: PlaybookReportStyle +VERBOSE: PlaybookReportStyle +CONCISE: PlaybookReportStyle +CHAT_ACCESS_MODE_INHERIT: ChatAccessMode +CHAT_ACCESS_MODE_CUSTOM: ChatAccessMode + +class ChatAccessOverride(_message.Message): + __slots__ = ('member_id', 'role_id', 'access_type') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + member_id: str + role_id: str + access_type: str + + def __init__(self, member_id: _Optional[str]=..., role_id: _Optional[str]=..., access_type: _Optional[str]=...) -> None: + ... + +class ChatAccessOverrideList(_message.Message): + __slots__ = ('items',) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedCompositeFieldContainer[ChatAccessOverride] + + def __init__(self, items: _Optional[_Iterable[_Union[ChatAccessOverride, _Mapping]]]=...) -> None: + ... + +class FilterCondition(_message.Message): + __slots__ = ('field', 'operator', 'value') + FIELD_FIELD_NUMBER: _ClassVar[int] + OPERATOR_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + field: str + operator: str + value: str + + def __init__(self, field: _Optional[str]=..., operator: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + +class Playbook(_message.Message): + __slots__ = ('id', 'org_id', 'member_id', 'connector_id', 'name', 'prompt', 'created_at', 'updated_at', 'status', 'trigger_type', 'cron_string', 'dataset_ids', 'reference_report_id', 'latest_chat_id', 'email_addresses', 'slack_channel_id', 'tagged_slack_user_ids', 'llm_model', 'paradigm_options', 'paradigm_type', 'is_running', 'owner', 'has_write_permission', 'is_subscribed', 'report_output_style', 'template_header_id', 'selected_template_data_ids', 'max_concurrent_templates', 'auto_optimize_concurrency', 'connector_ids', 'template_data_filters', 'parent_playbook_id', 'origin_playbook_id', 'duplicated_by_member_id', 'duplicated_at', 'chat_access_mode', 'chat_access_overrides', 'chat_is_public', 'dashboard_ids', 'recipient_email_column', 'teams_channel_id', 'tagged_teams_user_aad_ids', 'config_source', 'api_access_key_ids') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + TRIGGER_TYPE_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + REFERENCE_REPORT_ID_FIELD_NUMBER: _ClassVar[int] + LATEST_CHAT_ID_FIELD_NUMBER: _ClassVar[int] + EMAIL_ADDRESSES_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TAGGED_SLACK_USER_IDS_FIELD_NUMBER: _ClassVar[int] + LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + PARADIGM_OPTIONS_FIELD_NUMBER: _ClassVar[int] + PARADIGM_TYPE_FIELD_NUMBER: _ClassVar[int] + IS_RUNNING_FIELD_NUMBER: _ClassVar[int] + OWNER_FIELD_NUMBER: _ClassVar[int] + HAS_WRITE_PERMISSION_FIELD_NUMBER: _ClassVar[int] + IS_SUBSCRIBED_FIELD_NUMBER: _ClassVar[int] + REPORT_OUTPUT_STYLE_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_HEADER_ID_FIELD_NUMBER: _ClassVar[int] + SELECTED_TEMPLATE_DATA_IDS_FIELD_NUMBER: _ClassVar[int] + MAX_CONCURRENT_TEMPLATES_FIELD_NUMBER: _ClassVar[int] + AUTO_OPTIMIZE_CONCURRENCY_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_DATA_FILTERS_FIELD_NUMBER: _ClassVar[int] + PARENT_PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + ORIGIN_PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + DUPLICATED_BY_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + DUPLICATED_AT_FIELD_NUMBER: _ClassVar[int] + CHAT_ACCESS_MODE_FIELD_NUMBER: _ClassVar[int] + CHAT_ACCESS_OVERRIDES_FIELD_NUMBER: _ClassVar[int] + CHAT_IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_IDS_FIELD_NUMBER: _ClassVar[int] + RECIPIENT_EMAIL_COLUMN_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TAGGED_TEAMS_USER_AAD_IDS_FIELD_NUMBER: _ClassVar[int] + CONFIG_SOURCE_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_IDS_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + member_id: str + connector_id: int + name: str + prompt: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + status: PlaybookStatus + trigger_type: PlaybookTriggerType + cron_string: str + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + reference_report_id: str + latest_chat_id: str + email_addresses: _containers.RepeatedScalarFieldContainer[str] + slack_channel_id: str + tagged_slack_user_ids: _containers.RepeatedScalarFieldContainer[str] + llm_model: _llm_model_pb2.LlmModel + paradigm_options: _paradigm_pb2.ParadigmOptions + paradigm_type: _paradigm_params_pb2.ParadigmType + is_running: bool + owner: _identity_pb2.MemberPreview + has_write_permission: bool + is_subscribed: bool + report_output_style: PlaybookReportStyle + template_header_id: str + selected_template_data_ids: _containers.RepeatedScalarFieldContainer[str] + max_concurrent_templates: int + auto_optimize_concurrency: bool + connector_ids: _containers.RepeatedScalarFieldContainer[int] + template_data_filters: _containers.RepeatedCompositeFieldContainer[FilterCondition] + parent_playbook_id: str + origin_playbook_id: str + duplicated_by_member_id: str + duplicated_at: _timestamp_pb2.Timestamp + chat_access_mode: ChatAccessMode + chat_access_overrides: _containers.RepeatedCompositeFieldContainer[ChatAccessOverride] + chat_is_public: bool + dashboard_ids: _containers.RepeatedScalarFieldContainer[str] + recipient_email_column: str + teams_channel_id: str + tagged_teams_user_aad_ids: _containers.RepeatedScalarFieldContainer[str] + config_source: _config_source_pb2.ConfigSource + api_access_key_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., member_id: _Optional[str]=..., connector_id: _Optional[int]=..., name: _Optional[str]=..., prompt: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., status: _Optional[_Union[PlaybookStatus, str]]=..., trigger_type: _Optional[_Union[PlaybookTriggerType, str]]=..., cron_string: _Optional[str]=..., dataset_ids: _Optional[_Iterable[str]]=..., reference_report_id: _Optional[str]=..., latest_chat_id: _Optional[str]=..., email_addresses: _Optional[_Iterable[str]]=..., slack_channel_id: _Optional[str]=..., tagged_slack_user_ids: _Optional[_Iterable[str]]=..., llm_model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., paradigm_options: _Optional[_Union[_paradigm_pb2.ParadigmOptions, _Mapping]]=..., paradigm_type: _Optional[_Union[_paradigm_params_pb2.ParadigmType, str]]=..., is_running: bool=..., owner: _Optional[_Union[_identity_pb2.MemberPreview, _Mapping]]=..., has_write_permission: bool=..., is_subscribed: bool=..., report_output_style: _Optional[_Union[PlaybookReportStyle, str]]=..., template_header_id: _Optional[str]=..., selected_template_data_ids: _Optional[_Iterable[str]]=..., max_concurrent_templates: _Optional[int]=..., auto_optimize_concurrency: bool=..., connector_ids: _Optional[_Iterable[int]]=..., template_data_filters: _Optional[_Iterable[_Union[FilterCondition, _Mapping]]]=..., parent_playbook_id: _Optional[str]=..., origin_playbook_id: _Optional[str]=..., duplicated_by_member_id: _Optional[str]=..., duplicated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., chat_access_mode: _Optional[_Union[ChatAccessMode, str]]=..., chat_access_overrides: _Optional[_Iterable[_Union[ChatAccessOverride, _Mapping]]]=..., chat_is_public: bool=..., dashboard_ids: _Optional[_Iterable[str]]=..., recipient_email_column: _Optional[str]=..., teams_channel_id: _Optional[str]=..., tagged_teams_user_aad_ids: _Optional[_Iterable[str]]=..., config_source: _Optional[_Union[_config_source_pb2.ConfigSource, _Mapping]]=..., api_access_key_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreatePlaybookRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class CreatePlaybookResponse(_message.Message): + __slots__ = ('playbook',) + PLAYBOOK_FIELD_NUMBER: _ClassVar[int] + playbook: Playbook + + def __init__(self, playbook: _Optional[_Union[Playbook, _Mapping]]=...) -> None: + ... + +class GetPlaybookRequest(_message.Message): + __slots__ = ('playbook_id', 'limit', 'offset') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + limit: int + offset: int + + def __init__(self, playbook_id: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class GetPlaybookResponse(_message.Message): + __slots__ = ('playbook', 'reports', 'total_reports_count') + PLAYBOOK_FIELD_NUMBER: _ClassVar[int] + REPORTS_FIELD_NUMBER: _ClassVar[int] + TOTAL_REPORTS_COUNT_FIELD_NUMBER: _ClassVar[int] + playbook: Playbook + reports: _containers.RepeatedCompositeFieldContainer[PlaybookReport] + total_reports_count: int + + def __init__(self, playbook: _Optional[_Union[Playbook, _Mapping]]=..., reports: _Optional[_Iterable[_Union[PlaybookReport, _Mapping]]]=..., total_reports_count: _Optional[int]=...) -> None: + ... + +class GetPlaybooksRequest(_message.Message): + __slots__ = ('member_only', 'limit', 'offset', 'search_term', 'status_filter', 'creator_member_id', 'sort_by', 'sort_direction', 'subscribed_first', 'only_subscribed', 'shared_with_me', 'include_shared_drafts', 'statuses', 'creator_member_ids') + MEMBER_ONLY_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + STATUS_FILTER_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + SORT_BY_FIELD_NUMBER: _ClassVar[int] + SORT_DIRECTION_FIELD_NUMBER: _ClassVar[int] + SUBSCRIBED_FIRST_FIELD_NUMBER: _ClassVar[int] + ONLY_SUBSCRIBED_FIELD_NUMBER: _ClassVar[int] + SHARED_WITH_ME_FIELD_NUMBER: _ClassVar[int] + INCLUDE_SHARED_DRAFTS_FIELD_NUMBER: _ClassVar[int] + STATUSES_FIELD_NUMBER: _ClassVar[int] + CREATOR_MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + member_only: bool + limit: int + offset: int + search_term: str + status_filter: PlaybookStatus + creator_member_id: str + sort_by: PlaybookSortField + sort_direction: _common_pb2.SortDirection + subscribed_first: bool + only_subscribed: bool + shared_with_me: bool + include_shared_drafts: bool + statuses: _containers.RepeatedScalarFieldContainer[PlaybookStatus] + creator_member_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, member_only: bool=..., limit: _Optional[int]=..., offset: _Optional[int]=..., search_term: _Optional[str]=..., status_filter: _Optional[_Union[PlaybookStatus, str]]=..., creator_member_id: _Optional[str]=..., sort_by: _Optional[_Union[PlaybookSortField, str]]=..., sort_direction: _Optional[_Union[_common_pb2.SortDirection, str]]=..., subscribed_first: bool=..., only_subscribed: bool=..., shared_with_me: bool=..., include_shared_drafts: bool=..., statuses: _Optional[_Iterable[_Union[PlaybookStatus, str]]]=..., creator_member_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetPlaybooksResponse(_message.Message): + __slots__ = ('playbooks', 'total_count') + PLAYBOOKS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + playbooks: _containers.RepeatedCompositeFieldContainer[Playbook] + total_count: int + + def __init__(self, playbooks: _Optional[_Iterable[_Union[Playbook, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class StringList(_message.Message): + __slots__ = ('items',) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, items: _Optional[_Iterable[str]]=...) -> None: + ... + +class Int32List(_message.Message): + __slots__ = ('items',) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedScalarFieldContainer[int] + + def __init__(self, items: _Optional[_Iterable[int]]=...) -> None: + ... + +class FilterConditionList(_message.Message): + __slots__ = ('items',) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedCompositeFieldContainer[FilterCondition] + + def __init__(self, items: _Optional[_Iterable[_Union[FilterCondition, _Mapping]]]=...) -> None: + ... + +class UpdatePlaybookRequest(_message.Message): + __slots__ = ('playbook_id', 'name', 'prompt', 'status', 'trigger_type', 'cron_string', 'dataset_ids', 'connector_id', 'reference_report_id', 'paradigm_options', 'paradigm_type', 'email_addresses', 'slack_channel_id', 'tagged_slack_user_ids', 'report_output_style', 'template_header_id', 'selected_template_data_ids', 'max_concurrent_templates', 'auto_optimize_concurrency', 'connector_ids', 'template_data_filters', 'llm_model', 'chat_access_mode', 'chat_access_overrides', 'chat_is_public', 'dashboard_ids', 'recipient_email_column', 'teams_channel_id', 'tagged_teams_user_aad_ids', 'api_access_key_ids') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROMPT_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + TRIGGER_TYPE_FIELD_NUMBER: _ClassVar[int] + CRON_STRING_FIELD_NUMBER: _ClassVar[int] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + REFERENCE_REPORT_ID_FIELD_NUMBER: _ClassVar[int] + PARADIGM_OPTIONS_FIELD_NUMBER: _ClassVar[int] + PARADIGM_TYPE_FIELD_NUMBER: _ClassVar[int] + EMAIL_ADDRESSES_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TAGGED_SLACK_USER_IDS_FIELD_NUMBER: _ClassVar[int] + REPORT_OUTPUT_STYLE_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_HEADER_ID_FIELD_NUMBER: _ClassVar[int] + SELECTED_TEMPLATE_DATA_IDS_FIELD_NUMBER: _ClassVar[int] + MAX_CONCURRENT_TEMPLATES_FIELD_NUMBER: _ClassVar[int] + AUTO_OPTIMIZE_CONCURRENCY_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_DATA_FILTERS_FIELD_NUMBER: _ClassVar[int] + LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + CHAT_ACCESS_MODE_FIELD_NUMBER: _ClassVar[int] + CHAT_ACCESS_OVERRIDES_FIELD_NUMBER: _ClassVar[int] + CHAT_IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_IDS_FIELD_NUMBER: _ClassVar[int] + RECIPIENT_EMAIL_COLUMN_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + TAGGED_TEAMS_USER_AAD_IDS_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_IDS_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + name: str + prompt: str + status: PlaybookStatus + trigger_type: PlaybookTriggerType + cron_string: str + dataset_ids: StringList + connector_id: int + reference_report_id: str + paradigm_options: _paradigm_pb2.ParadigmOptions + paradigm_type: _paradigm_params_pb2.ParadigmType + email_addresses: StringList + slack_channel_id: str + tagged_slack_user_ids: StringList + report_output_style: PlaybookReportStyle + template_header_id: str + selected_template_data_ids: StringList + max_concurrent_templates: int + auto_optimize_concurrency: bool + connector_ids: Int32List + template_data_filters: FilterConditionList + llm_model: _llm_model_pb2.LlmModel + chat_access_mode: ChatAccessMode + chat_access_overrides: ChatAccessOverrideList + chat_is_public: bool + dashboard_ids: StringList + recipient_email_column: str + teams_channel_id: str + tagged_teams_user_aad_ids: StringList + api_access_key_ids: StringList + + def __init__(self, playbook_id: _Optional[str]=..., name: _Optional[str]=..., prompt: _Optional[str]=..., status: _Optional[_Union[PlaybookStatus, str]]=..., trigger_type: _Optional[_Union[PlaybookTriggerType, str]]=..., cron_string: _Optional[str]=..., dataset_ids: _Optional[_Union[StringList, _Mapping]]=..., connector_id: _Optional[int]=..., reference_report_id: _Optional[str]=..., paradigm_options: _Optional[_Union[_paradigm_pb2.ParadigmOptions, _Mapping]]=..., paradigm_type: _Optional[_Union[_paradigm_params_pb2.ParadigmType, str]]=..., email_addresses: _Optional[_Union[StringList, _Mapping]]=..., slack_channel_id: _Optional[str]=..., tagged_slack_user_ids: _Optional[_Union[StringList, _Mapping]]=..., report_output_style: _Optional[_Union[PlaybookReportStyle, str]]=..., template_header_id: _Optional[str]=..., selected_template_data_ids: _Optional[_Union[StringList, _Mapping]]=..., max_concurrent_templates: _Optional[int]=..., auto_optimize_concurrency: bool=..., connector_ids: _Optional[_Union[Int32List, _Mapping]]=..., template_data_filters: _Optional[_Union[FilterConditionList, _Mapping]]=..., llm_model: _Optional[_Union[_llm_model_pb2.LlmModel, str]]=..., chat_access_mode: _Optional[_Union[ChatAccessMode, str]]=..., chat_access_overrides: _Optional[_Union[ChatAccessOverrideList, _Mapping]]=..., chat_is_public: bool=..., dashboard_ids: _Optional[_Union[StringList, _Mapping]]=..., recipient_email_column: _Optional[str]=..., teams_channel_id: _Optional[str]=..., tagged_teams_user_aad_ids: _Optional[_Union[StringList, _Mapping]]=..., api_access_key_ids: _Optional[_Union[StringList, _Mapping]]=...) -> None: + ... + +class UpdatePlaybookResponse(_message.Message): + __slots__ = ('playbook',) + PLAYBOOK_FIELD_NUMBER: _ClassVar[int] + playbook: Playbook + + def __init__(self, playbook: _Optional[_Union[Playbook, _Mapping]]=...) -> None: + ... + +class DeletePlaybookRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class DeletePlaybookResponse(_message.Message): + __slots__ = ('playbook_id', 'deleted_at') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + DELETED_AT_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + deleted_at: _timestamp_pb2.Timestamp + + def __init__(self, playbook_id: _Optional[str]=..., deleted_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class DeployPlaybookRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class DeployPlaybookResponse(_message.Message): + __slots__ = ('playbook_id', 'deployed_at') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + DEPLOYED_AT_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + deployed_at: _timestamp_pb2.Timestamp + + def __init__(self, playbook_id: _Optional[str]=..., deployed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class DeactivatePlaybookRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class PlaybookAttachDatasetRequest(_message.Message): + __slots__ = ('playbook_id', 'dataset_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + dataset_id: str + + def __init__(self, playbook_id: _Optional[str]=..., dataset_id: _Optional[str]=...) -> None: + ... + +class PlaybookAttachDatasetResponse(_message.Message): + __slots__ = ('dataset',) + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: _dataset_pb2.Dataset + + def __init__(self, dataset: _Optional[_Union[_dataset_pb2.Dataset, _Mapping]]=...) -> None: + ... + +class PlaybookRemoveDatasetRequest(_message.Message): + __slots__ = ('playbook_id', 'dataset_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + dataset_id: str + + def __init__(self, playbook_id: _Optional[str]=..., dataset_id: _Optional[str]=...) -> None: + ... + +class PlaybookRemoveDatasetResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class PlaybookAttachDashboardRequest(_message.Message): + __slots__ = ('playbook_id', 'dashboard_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + dashboard_id: str + + def __init__(self, playbook_id: _Optional[str]=..., dashboard_id: _Optional[str]=...) -> None: + ... + +class PlaybookAttachDashboardResponse(_message.Message): + __slots__ = ('dashboard',) + DASHBOARD_FIELD_NUMBER: _ClassVar[int] + dashboard: _dashboard_pb2.Dashboard + + def __init__(self, dashboard: _Optional[_Union[_dashboard_pb2.Dashboard, _Mapping]]=...) -> None: + ... + +class PlaybookRemoveDashboardRequest(_message.Message): + __slots__ = ('playbook_id', 'dashboard_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + DASHBOARD_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + dashboard_id: str + + def __init__(self, playbook_id: _Optional[str]=..., dashboard_id: _Optional[str]=...) -> None: + ... + +class PlaybookRemoveDashboardResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetPlaybookReportsRequest(_message.Message): + __slots__ = ('playbook_id', 'limit', 'offset', 'chat_id', 'template_data_id', 'batch_run_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_DATA_ID_FIELD_NUMBER: _ClassVar[int] + BATCH_RUN_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + limit: int + offset: int + chat_id: str + template_data_id: str + batch_run_id: str + + def __init__(self, playbook_id: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=..., chat_id: _Optional[str]=..., template_data_id: _Optional[str]=..., batch_run_id: _Optional[str]=...) -> None: + ... + +class PlaybookReport(_message.Message): + __slots__ = ('id', 'chat_id', 'cell_id', 'created_at', 'subject', 'summary', 'blocks', 'html_preview', 'playbook_id', 'read_at', 'playbook_template_data_id') + ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + BLOCKS_FIELD_NUMBER: _ClassVar[int] + HTML_PREVIEW_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + READ_AT_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_TEMPLATE_DATA_ID_FIELD_NUMBER: _ClassVar[int] + id: str + chat_id: str + cell_id: str + created_at: _timestamp_pb2.Timestamp + subject: str + summary: str + blocks: _containers.RepeatedCompositeFieldContainer[_report_pb2.ReportBlock] + html_preview: str + playbook_id: str + read_at: _timestamp_pb2.Timestamp + playbook_template_data_id: str + + def __init__(self, id: _Optional[str]=..., chat_id: _Optional[str]=..., cell_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., subject: _Optional[str]=..., summary: _Optional[str]=..., blocks: _Optional[_Iterable[_Union[_report_pb2.ReportBlock, _Mapping]]]=..., html_preview: _Optional[str]=..., playbook_id: _Optional[str]=..., read_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., playbook_template_data_id: _Optional[str]=...) -> None: + ... + +class GetPlaybookReportsResponse(_message.Message): + __slots__ = ('reports', 'total_count') + REPORTS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + reports: _containers.RepeatedCompositeFieldContainer[PlaybookReport] + total_count: int + + def __init__(self, reports: _Optional[_Iterable[_Union[PlaybookReport, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class GetPlaybookReportsBatchRequest(_message.Message): + __slots__ = ('playbook_id', 'template_data_ids', 'limit_per_template', 'batch_run_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_DATA_IDS_FIELD_NUMBER: _ClassVar[int] + LIMIT_PER_TEMPLATE_FIELD_NUMBER: _ClassVar[int] + BATCH_RUN_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + template_data_ids: _containers.RepeatedScalarFieldContainer[str] + limit_per_template: int + batch_run_id: str + + def __init__(self, playbook_id: _Optional[str]=..., template_data_ids: _Optional[_Iterable[str]]=..., limit_per_template: _Optional[int]=..., batch_run_id: _Optional[str]=...) -> None: + ... + +class TemplateDataReports(_message.Message): + __slots__ = ('template_data_id', 'reports', 'total_count', 'preview_cells') + TEMPLATE_DATA_ID_FIELD_NUMBER: _ClassVar[int] + REPORTS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + PREVIEW_CELLS_FIELD_NUMBER: _ClassVar[int] + template_data_id: str + reports: _containers.RepeatedCompositeFieldContainer[PlaybookReport] + total_count: int + preview_cells: _containers.RepeatedCompositeFieldContainer[_cells_pb2.PreviewCellRef] + + def __init__(self, template_data_id: _Optional[str]=..., reports: _Optional[_Iterable[_Union[PlaybookReport, _Mapping]]]=..., total_count: _Optional[int]=..., preview_cells: _Optional[_Iterable[_Union[_cells_pb2.PreviewCellRef, _Mapping]]]=...) -> None: + ... + +class GetPlaybookReportsBatchResponse(_message.Message): + __slots__ = ('template_data_reports',) + TEMPLATE_DATA_REPORTS_FIELD_NUMBER: _ClassVar[int] + template_data_reports: _containers.RepeatedCompositeFieldContainer[TemplateDataReports] + + def __init__(self, template_data_reports: _Optional[_Iterable[_Union[TemplateDataReports, _Mapping]]]=...) -> None: + ... + +class PreviewSlackReportRequest(_message.Message): + __slots__ = ('playbook_id', 'cell', 'chat_id', 'slack_channel_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + CELL_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + cell: _cells_pb2.ReportCell + chat_id: str + slack_channel_id: str + + def __init__(self, playbook_id: _Optional[str]=..., cell: _Optional[_Union[_cells_pb2.ReportCell, _Mapping]]=..., chat_id: _Optional[str]=..., slack_channel_id: _Optional[str]=...) -> None: + ... + +class PreviewSlackReportResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class RunPlaybookRequest(_message.Message): + __slots__ = ('playbook_id', 'dry_run', 'template_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + DRY_RUN_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + dry_run: bool + template_id: str + + def __init__(self, playbook_id: _Optional[str]=..., dry_run: bool=..., template_id: _Optional[str]=...) -> None: + ... + +class RunPlaybookResponse(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class DemoPlaybookRequest(_message.Message): + __slots__ = ('chat_id', 'person_name', 'job_title', 'target_email') + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + PERSON_NAME_FIELD_NUMBER: _ClassVar[int] + JOB_TITLE_FIELD_NUMBER: _ClassVar[int] + TARGET_EMAIL_FIELD_NUMBER: _ClassVar[int] + chat_id: str + person_name: str + job_title: str + target_email: str + + def __init__(self, chat_id: _Optional[str]=..., person_name: _Optional[str]=..., job_title: _Optional[str]=..., target_email: _Optional[str]=...) -> None: + ... + +class DemoPlaybookResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMembersWithPlaybooksRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMembersWithPlaybooksResponse(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[_identity_pb2.MemberPreview] + + def __init__(self, members: _Optional[_Iterable[_Union[_identity_pb2.MemberPreview, _Mapping]]]=...) -> None: + ... + +class DuplicatePlaybookRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class DuplicatePlaybookResponse(_message.Message): + __slots__ = ('playbook',) + PLAYBOOK_FIELD_NUMBER: _ClassVar[int] + playbook: Playbook + + def __init__(self, playbook: _Optional[_Union[Playbook, _Mapping]]=...) -> None: + ... + +class GetPlaybookLineageRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class PlaybookLineageNode(_message.Message): + __slots__ = ('playbook_id', 'name', 'status', 'duplicated_at', 'duplicated_by') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + DUPLICATED_AT_FIELD_NUMBER: _ClassVar[int] + DUPLICATED_BY_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + name: str + status: PlaybookStatus + duplicated_at: _timestamp_pb2.Timestamp + duplicated_by: _identity_pb2.MemberPreview + + def __init__(self, playbook_id: _Optional[str]=..., name: _Optional[str]=..., status: _Optional[_Union[PlaybookStatus, str]]=..., duplicated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., duplicated_by: _Optional[_Union[_identity_pb2.MemberPreview, _Mapping]]=...) -> None: + ... + +class GetPlaybookLineageResponse(_message.Message): + __slots__ = ('parent', 'duplicates', 'origin_playbook_id') + PARENT_FIELD_NUMBER: _ClassVar[int] + DUPLICATES_FIELD_NUMBER: _ClassVar[int] + ORIGIN_PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + parent: PlaybookLineageNode + duplicates: _containers.RepeatedCompositeFieldContainer[PlaybookLineageNode] + origin_playbook_id: str + + def __init__(self, parent: _Optional[_Union[PlaybookLineageNode, _Mapping]]=..., duplicates: _Optional[_Iterable[_Union[PlaybookLineageNode, _Mapping]]]=..., origin_playbook_id: _Optional[str]=...) -> None: + ... + +class ReportFilters(_message.Message): + __slots__ = ('playbook_ids', 'search_term', 'start_time', 'end_time', 'sort_by', 'sort_direction', 'limit', 'offset', 'only_subscribed', 'include_header', 'include_with_header', 'chat_id') + PLAYBOOK_IDS_FIELD_NUMBER: _ClassVar[int] + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + START_TIME_FIELD_NUMBER: _ClassVar[int] + END_TIME_FIELD_NUMBER: _ClassVar[int] + SORT_BY_FIELD_NUMBER: _ClassVar[int] + SORT_DIRECTION_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + ONLY_SUBSCRIBED_FIELD_NUMBER: _ClassVar[int] + INCLUDE_HEADER_FIELD_NUMBER: _ClassVar[int] + INCLUDE_WITH_HEADER_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + playbook_ids: _containers.RepeatedScalarFieldContainer[str] + search_term: str + start_time: _timestamp_pb2.Timestamp + end_time: _timestamp_pb2.Timestamp + sort_by: str + sort_direction: _common_pb2.SortDirection + limit: int + offset: int + only_subscribed: bool + include_header: bool + include_with_header: bool + chat_id: str + + def __init__(self, playbook_ids: _Optional[_Iterable[str]]=..., search_term: _Optional[str]=..., start_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., end_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., sort_by: _Optional[str]=..., sort_direction: _Optional[_Union[_common_pb2.SortDirection, str]]=..., limit: _Optional[int]=..., offset: _Optional[int]=..., only_subscribed: bool=..., include_header: bool=..., include_with_header: bool=..., chat_id: _Optional[str]=...) -> None: + ... + +class GetReportsWithFiltersRequest(_message.Message): + __slots__ = ('filters',) + FILTERS_FIELD_NUMBER: _ClassVar[int] + filters: ReportFilters + + def __init__(self, filters: _Optional[_Union[ReportFilters, _Mapping]]=...) -> None: + ... + +class GetReportsWithFiltersResponse(_message.Message): + __slots__ = ('reports', 'reports_with_header', 'total_count', 'unread_count') + REPORTS_FIELD_NUMBER: _ClassVar[int] + REPORTS_WITH_HEADER_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + UNREAD_COUNT_FIELD_NUMBER: _ClassVar[int] + reports: _containers.RepeatedCompositeFieldContainer[PlaybookReport] + reports_with_header: _containers.RepeatedCompositeFieldContainer[PlaybookReport] + total_count: int + unread_count: int + + def __init__(self, reports: _Optional[_Iterable[_Union[PlaybookReport, _Mapping]]]=..., reports_with_header: _Optional[_Iterable[_Union[PlaybookReport, _Mapping]]]=..., total_count: _Optional[int]=..., unread_count: _Optional[int]=...) -> None: + ... + +class ChatReportSummary(_message.Message): + __slots__ = ('id', 'chat_id', 'subject', 'summary', 'created_at', 'hero_image_url') + ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + SUMMARY_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + HERO_IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + id: str + chat_id: str + subject: str + summary: str + created_at: _timestamp_pb2.Timestamp + hero_image_url: str + + def __init__(self, id: _Optional[str]=..., chat_id: _Optional[str]=..., subject: _Optional[str]=..., summary: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., hero_image_url: _Optional[str]=...) -> None: + ... + +class GetChatReportsSummaryRequest(_message.Message): + __slots__ = ('chat_id',) + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + chat_id: str + + def __init__(self, chat_id: _Optional[str]=...) -> None: + ... + +class GetChatReportsSummaryResponse(_message.Message): + __slots__ = ('reports',) + REPORTS_FIELD_NUMBER: _ClassVar[int] + reports: _containers.RepeatedCompositeFieldContainer[ChatReportSummary] + + def __init__(self, reports: _Optional[_Iterable[_Union[ChatReportSummary, _Mapping]]]=...) -> None: + ... + +class GetReportByIdRequest(_message.Message): + __slots__ = ('report_id',) + REPORT_ID_FIELD_NUMBER: _ClassVar[int] + report_id: str + + def __init__(self, report_id: _Optional[str]=...) -> None: + ... + +class GetReportByIdResponse(_message.Message): + __slots__ = ('report',) + REPORT_FIELD_NUMBER: _ClassVar[int] + report: PlaybookReport + + def __init__(self, report: _Optional[_Union[PlaybookReport, _Mapping]]=...) -> None: + ... + +class GetPlaybookReportsWithFiltersRequest(_message.Message): + __slots__ = ('filters',) + FILTERS_FIELD_NUMBER: _ClassVar[int] + filters: ReportFilters + + def __init__(self, filters: _Optional[_Union[ReportFilters, _Mapping]]=...) -> None: + ... + +class GetPlaybookReportsWithFiltersResponse(_message.Message): + __slots__ = ('reports', 'total_count') + REPORTS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + reports: _containers.RepeatedCompositeFieldContainer[PlaybookReport] + total_count: int + + def __init__(self, reports: _Optional[_Iterable[_Union[PlaybookReport, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... + +class PlaybookPreview(_message.Message): + __slots__ = ('id', 'name', 'status', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + status: PlaybookStatus + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., status: _Optional[_Union[PlaybookStatus, str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetPlaybooksPreviewsRequest(_message.Message): + __slots__ = ('only_subscribed', 'status_filter') + ONLY_SUBSCRIBED_FIELD_NUMBER: _ClassVar[int] + STATUS_FILTER_FIELD_NUMBER: _ClassVar[int] + only_subscribed: bool + status_filter: PlaybookStatus + + def __init__(self, only_subscribed: bool=..., status_filter: _Optional[_Union[PlaybookStatus, str]]=...) -> None: + ... + +class GetPlaybooksPreviewsResponse(_message.Message): + __slots__ = ('playbooks',) + PLAYBOOKS_FIELD_NUMBER: _ClassVar[int] + playbooks: _containers.RepeatedCompositeFieldContainer[PlaybookPreview] + + def __init__(self, playbooks: _Optional[_Iterable[_Union[PlaybookPreview, _Mapping]]]=...) -> None: + ... + +class SubscribeToPlaybookRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class SubscribeToPlaybookResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UnsubscribeFromPlaybookRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class UnsubscribeFromPlaybookResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetActiveSubscribedPlaybooksCountRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetActiveSubscribedPlaybooksCountResponse(_message.Message): + __slots__ = ('count',) + COUNT_FIELD_NUMBER: _ClassVar[int] + count: int + + def __init__(self, count: _Optional[int]=...) -> None: + ... + +class MarkReportAsReadRequest(_message.Message): + __slots__ = ('report_id',) + REPORT_ID_FIELD_NUMBER: _ClassVar[int] + report_id: str + + def __init__(self, report_id: _Optional[str]=...) -> None: + ... + +class MarkReportAsReadResponse(_message.Message): + __slots__ = ('success', 'read_at') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + READ_AT_FIELD_NUMBER: _ClassVar[int] + success: bool + read_at: _timestamp_pb2.Timestamp + + def __init__(self, success: bool=..., read_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class FavoriteReportRequest(_message.Message): + __slots__ = ('playbook_id', 'report_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + REPORT_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + report_id: str + + def __init__(self, playbook_id: _Optional[str]=..., report_id: _Optional[str]=...) -> None: + ... + +class FavoriteReportResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class SetSlackChannelContextPlaybookRequest(_message.Message): + __slots__ = ('playbook_id', 'slack_channel_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + slack_channel_id: str + + def __init__(self, playbook_id: _Optional[str]=..., slack_channel_id: _Optional[str]=...) -> None: + ... + +class SetSlackChannelContextPlaybookResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UnsetSlackChannelContextPlaybookRequest(_message.Message): + __slots__ = ('slack_channel_id',) + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + slack_channel_id: str + + def __init__(self, slack_channel_id: _Optional[str]=...) -> None: + ... + +class UnsetSlackChannelContextPlaybookResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ListSlackChannelsForContextPlaybookRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class ListSlackChannelsForContextPlaybookResponse(_message.Message): + __slots__ = ('slack_channel_ids',) + SLACK_CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + slack_channel_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, slack_channel_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class SlackChannelPlaybookMapping(_message.Message): + __slots__ = ('playbook_id', 'slack_channel_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + SLACK_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + slack_channel_id: str + + def __init__(self, playbook_id: _Optional[str]=..., slack_channel_id: _Optional[str]=...) -> None: + ... + +class ListAllSlackChannelContextPlaybooksRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListAllSlackChannelContextPlaybooksResponse(_message.Message): + __slots__ = ('mappings',) + MAPPINGS_FIELD_NUMBER: _ClassVar[int] + mappings: _containers.RepeatedCompositeFieldContainer[SlackChannelPlaybookMapping] + + def __init__(self, mappings: _Optional[_Iterable[_Union[SlackChannelPlaybookMapping, _Mapping]]]=...) -> None: + ... + +class SetTeamsChannelContextPlaybookRequest(_message.Message): + __slots__ = ('playbook_id', 'teams_channel_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + teams_channel_id: str + + def __init__(self, playbook_id: _Optional[str]=..., teams_channel_id: _Optional[str]=...) -> None: + ... + +class SetTeamsChannelContextPlaybookResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UnsetTeamsChannelContextPlaybookRequest(_message.Message): + __slots__ = ('teams_channel_id',) + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + teams_channel_id: str + + def __init__(self, teams_channel_id: _Optional[str]=...) -> None: + ... + +class UnsetTeamsChannelContextPlaybookResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ListTeamsChannelsForContextPlaybookRequest(_message.Message): + __slots__ = ('playbook_id',) + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + + def __init__(self, playbook_id: _Optional[str]=...) -> None: + ... + +class ListTeamsChannelsForContextPlaybookResponse(_message.Message): + __slots__ = ('teams_channel_ids',) + TEAMS_CHANNEL_IDS_FIELD_NUMBER: _ClassVar[int] + teams_channel_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, teams_channel_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class TeamsChannelPlaybookMapping(_message.Message): + __slots__ = ('playbook_id', 'teams_channel_id') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + TEAMS_CHANNEL_ID_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + teams_channel_id: str + + def __init__(self, playbook_id: _Optional[str]=..., teams_channel_id: _Optional[str]=...) -> None: + ... + +class ListAllTeamsChannelContextPlaybooksRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListAllTeamsChannelContextPlaybooksResponse(_message.Message): + __slots__ = ('mappings',) + MAPPINGS_FIELD_NUMBER: _ClassVar[int] + mappings: _containers.RepeatedCompositeFieldContainer[TeamsChannelPlaybookMapping] + + def __init__(self, mappings: _Optional[_Iterable[_Union[TeamsChannelPlaybookMapping, _Mapping]]]=...) -> None: + ... + +class StreamTemplateDataStatusRequest(_message.Message): + __slots__ = ('template_header_id', 'playbook_id') + TEMPLATE_HEADER_ID_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + template_header_id: str + playbook_id: str + + def __init__(self, template_header_id: _Optional[str]=..., playbook_id: _Optional[str]=...) -> None: + ... + +class TemplateDataStatusUpdate(_message.Message): + __slots__ = ('template_data_id', 'execution_status', 'last_execution_started_at', 'last_execution_completed_at', 'last_execution_error', 'chat_id') + TEMPLATE_DATA_ID_FIELD_NUMBER: _ClassVar[int] + EXECUTION_STATUS_FIELD_NUMBER: _ClassVar[int] + LAST_EXECUTION_STARTED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_EXECUTION_COMPLETED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_EXECUTION_ERROR_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + template_data_id: str + execution_status: TemplateDataExecutionStatus + last_execution_started_at: _timestamp_pb2.Timestamp + last_execution_completed_at: _timestamp_pb2.Timestamp + last_execution_error: str + chat_id: str + + def __init__(self, template_data_id: _Optional[str]=..., execution_status: _Optional[_Union[TemplateDataExecutionStatus, str]]=..., last_execution_started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_execution_completed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_execution_error: _Optional[str]=..., chat_id: _Optional[str]=...) -> None: + ... + +class CancelTemplateExecutionRequest(_message.Message): + __slots__ = ('template_header_id', 'playbook_id') + TEMPLATE_HEADER_ID_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + template_header_id: str + playbook_id: str + + def __init__(self, template_header_id: _Optional[str]=..., playbook_id: _Optional[str]=...) -> None: + ... + +class CancelTemplateExecutionResponse(_message.Message): + __slots__ = ('success', 'cancelled_count') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + CANCELLED_COUNT_FIELD_NUMBER: _ClassVar[int] + success: bool + cancelled_count: int + + def __init__(self, success: bool=..., cancelled_count: _Optional[int]=...) -> None: + ... + +class PlaybookBatchRun(_message.Message): + __slots__ = ('id', 'playbook_id', 'template_header_id', 'template_data_ids', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_HEADER_ID_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_DATA_IDS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + playbook_id: str + template_header_id: str + template_data_ids: _containers.RepeatedScalarFieldContainer[str] + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., playbook_id: _Optional[str]=..., template_header_id: _Optional[str]=..., template_data_ids: _Optional[_Iterable[str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetPlaybookBatchRunRequest(_message.Message): + __slots__ = ('batch_run_id',) + BATCH_RUN_ID_FIELD_NUMBER: _ClassVar[int] + batch_run_id: str + + def __init__(self, batch_run_id: _Optional[str]=...) -> None: + ... + +class GetPlaybookBatchRunResponse(_message.Message): + __slots__ = ('batch_run',) + BATCH_RUN_FIELD_NUMBER: _ClassVar[int] + batch_run: PlaybookBatchRun + + def __init__(self, batch_run: _Optional[_Union[PlaybookBatchRun, _Mapping]]=...) -> None: + ... + +class ListPlaybookBatchRunsRequest(_message.Message): + __slots__ = ('playbook_id', 'limit', 'offset') + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + playbook_id: str + limit: int + offset: int + + def __init__(self, playbook_id: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class ListPlaybookBatchRunsResponse(_message.Message): + __slots__ = ('batch_runs', 'total_count') + BATCH_RUNS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + batch_runs: _containers.RepeatedCompositeFieldContainer[PlaybookBatchRun] + total_count: int + + def __init__(self, batch_runs: _Optional[_Iterable[_Union[PlaybookBatchRun, _Mapping]]]=..., total_count: _Optional[int]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/powerbi_connect.py b/src/textql_sdk/_connect/public/powerbi_connect.py new file mode 100644 index 0000000..5058128 --- /dev/null +++ b/src/textql_sdk/_connect/public/powerbi_connect.py @@ -0,0 +1,159 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import powerbi_pb2 as public_dot_powerbi__pb2 + +class PowerBIService(Protocol): + + async def test_power_b_i_connection(self, request: public_dot_powerbi__pb2.TestPowerBIConnectionRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.TestPowerBIConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_power_b_i_workspaces(self, request: public_dot_powerbi__pb2.ListPowerBIWorkspacesRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.ListPowerBIWorkspacesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_power_b_i_datasets(self, request: public_dot_powerbi__pb2.ListPowerBIDatasetsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.ListPowerBIDatasetsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_power_b_i_reports(self, request: public_dot_powerbi__pb2.ListPowerBIReportsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.ListPowerBIReportsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def export_power_b_i_report_image(self, request: public_dot_powerbi__pb2.ExportPowerBIReportImageRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.ExportPowerBIReportImageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def generate_power_b_i_embed_token(self, request: public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def sync_power_b_i_items(self, request: public_dot_powerbi__pb2.SyncPowerBIItemsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.SyncPowerBIItemsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unsync_power_b_i_items(self, request: public_dot_powerbi__pb2.UnsyncPowerBIItemsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.UnsyncPowerBIItemsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_synced_power_b_i_items(self, request: public_dot_powerbi__pb2.GetSyncedPowerBIItemsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.GetSyncedPowerBIItemsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_power_b_i_dataset_preview(self, request: public_dot_powerbi__pb2.GetPowerBIDatasetPreviewRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.GetPowerBIDatasetPreviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class PowerBIServiceASGIApplication(ConnectASGIApplication[PowerBIService]): + + def __init__(self, service: PowerBIService | AsyncGenerator[PowerBIService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.powerbi.PowerBIService/TestPowerBIConnection': Endpoint.unary(method=MethodInfo(name='TestPowerBIConnection', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.TestPowerBIConnectionRequest, output=public_dot_powerbi__pb2.TestPowerBIConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.test_power_b_i_connection), '/textql.rpc.public.powerbi.PowerBIService/ListPowerBIWorkspaces': Endpoint.unary(method=MethodInfo(name='ListPowerBIWorkspaces', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIWorkspacesRequest, output=public_dot_powerbi__pb2.ListPowerBIWorkspacesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_power_b_i_workspaces), '/textql.rpc.public.powerbi.PowerBIService/ListPowerBIDatasets': Endpoint.unary(method=MethodInfo(name='ListPowerBIDatasets', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIDatasetsRequest, output=public_dot_powerbi__pb2.ListPowerBIDatasetsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_power_b_i_datasets), '/textql.rpc.public.powerbi.PowerBIService/ListPowerBIReports': Endpoint.unary(method=MethodInfo(name='ListPowerBIReports', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIReportsRequest, output=public_dot_powerbi__pb2.ListPowerBIReportsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_power_b_i_reports), '/textql.rpc.public.powerbi.PowerBIService/ExportPowerBIReportImage': Endpoint.unary(method=MethodInfo(name='ExportPowerBIReportImage', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ExportPowerBIReportImageRequest, output=public_dot_powerbi__pb2.ExportPowerBIReportImageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.export_power_b_i_report_image), '/textql.rpc.public.powerbi.PowerBIService/GeneratePowerBIEmbedToken': Endpoint.unary(method=MethodInfo(name='GeneratePowerBIEmbedToken', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenRequest, output=public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.generate_power_b_i_embed_token), '/textql.rpc.public.powerbi.PowerBIService/SyncPowerBIItems': Endpoint.unary(method=MethodInfo(name='SyncPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.SyncPowerBIItemsRequest, output=public_dot_powerbi__pb2.SyncPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.sync_power_b_i_items), '/textql.rpc.public.powerbi.PowerBIService/UnsyncPowerBIItems': Endpoint.unary(method=MethodInfo(name='UnsyncPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.UnsyncPowerBIItemsRequest, output=public_dot_powerbi__pb2.UnsyncPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.unsync_power_b_i_items), '/textql.rpc.public.powerbi.PowerBIService/GetSyncedPowerBIItems': Endpoint.unary(method=MethodInfo(name='GetSyncedPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GetSyncedPowerBIItemsRequest, output=public_dot_powerbi__pb2.GetSyncedPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_synced_power_b_i_items), '/textql.rpc.public.powerbi.PowerBIService/GetPowerBIDatasetPreview': Endpoint.unary(method=MethodInfo(name='GetPowerBIDatasetPreview', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GetPowerBIDatasetPreviewRequest, output=public_dot_powerbi__pb2.GetPowerBIDatasetPreviewResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_power_b_i_dataset_preview)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.powerbi.PowerBIService' + +class PowerBIServiceClient(ConnectClient): + + async def test_power_b_i_connection(self, request: public_dot_powerbi__pb2.TestPowerBIConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.TestPowerBIConnectionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestPowerBIConnection', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.TestPowerBIConnectionRequest, output=public_dot_powerbi__pb2.TestPowerBIConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_power_b_i_workspaces(self, request: public_dot_powerbi__pb2.ListPowerBIWorkspacesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.ListPowerBIWorkspacesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPowerBIWorkspaces', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIWorkspacesRequest, output=public_dot_powerbi__pb2.ListPowerBIWorkspacesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_power_b_i_datasets(self, request: public_dot_powerbi__pb2.ListPowerBIDatasetsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.ListPowerBIDatasetsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPowerBIDatasets', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIDatasetsRequest, output=public_dot_powerbi__pb2.ListPowerBIDatasetsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_power_b_i_reports(self, request: public_dot_powerbi__pb2.ListPowerBIReportsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.ListPowerBIReportsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPowerBIReports', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIReportsRequest, output=public_dot_powerbi__pb2.ListPowerBIReportsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def export_power_b_i_report_image(self, request: public_dot_powerbi__pb2.ExportPowerBIReportImageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.ExportPowerBIReportImageResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExportPowerBIReportImage', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ExportPowerBIReportImageRequest, output=public_dot_powerbi__pb2.ExportPowerBIReportImageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def generate_power_b_i_embed_token(self, request: public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GeneratePowerBIEmbedToken', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenRequest, output=public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def sync_power_b_i_items(self, request: public_dot_powerbi__pb2.SyncPowerBIItemsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.SyncPowerBIItemsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SyncPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.SyncPowerBIItemsRequest, output=public_dot_powerbi__pb2.SyncPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def unsync_power_b_i_items(self, request: public_dot_powerbi__pb2.UnsyncPowerBIItemsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.UnsyncPowerBIItemsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UnsyncPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.UnsyncPowerBIItemsRequest, output=public_dot_powerbi__pb2.UnsyncPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_synced_power_b_i_items(self, request: public_dot_powerbi__pb2.GetSyncedPowerBIItemsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.GetSyncedPowerBIItemsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetSyncedPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GetSyncedPowerBIItemsRequest, output=public_dot_powerbi__pb2.GetSyncedPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_power_b_i_dataset_preview(self, request: public_dot_powerbi__pb2.GetPowerBIDatasetPreviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.GetPowerBIDatasetPreviewResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPowerBIDatasetPreview', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GetPowerBIDatasetPreviewRequest, output=public_dot_powerbi__pb2.GetPowerBIDatasetPreviewResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class PowerBIServiceSync(Protocol): + + def test_power_b_i_connection(self, request: public_dot_powerbi__pb2.TestPowerBIConnectionRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.TestPowerBIConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_power_b_i_workspaces(self, request: public_dot_powerbi__pb2.ListPowerBIWorkspacesRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.ListPowerBIWorkspacesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_power_b_i_datasets(self, request: public_dot_powerbi__pb2.ListPowerBIDatasetsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.ListPowerBIDatasetsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_power_b_i_reports(self, request: public_dot_powerbi__pb2.ListPowerBIReportsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.ListPowerBIReportsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def export_power_b_i_report_image(self, request: public_dot_powerbi__pb2.ExportPowerBIReportImageRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.ExportPowerBIReportImageResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def generate_power_b_i_embed_token(self, request: public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def sync_power_b_i_items(self, request: public_dot_powerbi__pb2.SyncPowerBIItemsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.SyncPowerBIItemsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unsync_power_b_i_items(self, request: public_dot_powerbi__pb2.UnsyncPowerBIItemsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.UnsyncPowerBIItemsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_synced_power_b_i_items(self, request: public_dot_powerbi__pb2.GetSyncedPowerBIItemsRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.GetSyncedPowerBIItemsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_power_b_i_dataset_preview(self, request: public_dot_powerbi__pb2.GetPowerBIDatasetPreviewRequest, ctx: RequestContext) -> public_dot_powerbi__pb2.GetPowerBIDatasetPreviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class PowerBIServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: PowerBIServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.powerbi.PowerBIService/TestPowerBIConnection': EndpointSync.unary(method=MethodInfo(name='TestPowerBIConnection', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.TestPowerBIConnectionRequest, output=public_dot_powerbi__pb2.TestPowerBIConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.test_power_b_i_connection), '/textql.rpc.public.powerbi.PowerBIService/ListPowerBIWorkspaces': EndpointSync.unary(method=MethodInfo(name='ListPowerBIWorkspaces', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIWorkspacesRequest, output=public_dot_powerbi__pb2.ListPowerBIWorkspacesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_power_b_i_workspaces), '/textql.rpc.public.powerbi.PowerBIService/ListPowerBIDatasets': EndpointSync.unary(method=MethodInfo(name='ListPowerBIDatasets', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIDatasetsRequest, output=public_dot_powerbi__pb2.ListPowerBIDatasetsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_power_b_i_datasets), '/textql.rpc.public.powerbi.PowerBIService/ListPowerBIReports': EndpointSync.unary(method=MethodInfo(name='ListPowerBIReports', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIReportsRequest, output=public_dot_powerbi__pb2.ListPowerBIReportsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_power_b_i_reports), '/textql.rpc.public.powerbi.PowerBIService/ExportPowerBIReportImage': EndpointSync.unary(method=MethodInfo(name='ExportPowerBIReportImage', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ExportPowerBIReportImageRequest, output=public_dot_powerbi__pb2.ExportPowerBIReportImageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.export_power_b_i_report_image), '/textql.rpc.public.powerbi.PowerBIService/GeneratePowerBIEmbedToken': EndpointSync.unary(method=MethodInfo(name='GeneratePowerBIEmbedToken', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenRequest, output=public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.generate_power_b_i_embed_token), '/textql.rpc.public.powerbi.PowerBIService/SyncPowerBIItems': EndpointSync.unary(method=MethodInfo(name='SyncPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.SyncPowerBIItemsRequest, output=public_dot_powerbi__pb2.SyncPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.sync_power_b_i_items), '/textql.rpc.public.powerbi.PowerBIService/UnsyncPowerBIItems': EndpointSync.unary(method=MethodInfo(name='UnsyncPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.UnsyncPowerBIItemsRequest, output=public_dot_powerbi__pb2.UnsyncPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.unsync_power_b_i_items), '/textql.rpc.public.powerbi.PowerBIService/GetSyncedPowerBIItems': EndpointSync.unary(method=MethodInfo(name='GetSyncedPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GetSyncedPowerBIItemsRequest, output=public_dot_powerbi__pb2.GetSyncedPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_synced_power_b_i_items), '/textql.rpc.public.powerbi.PowerBIService/GetPowerBIDatasetPreview': EndpointSync.unary(method=MethodInfo(name='GetPowerBIDatasetPreview', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GetPowerBIDatasetPreviewRequest, output=public_dot_powerbi__pb2.GetPowerBIDatasetPreviewResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_power_b_i_dataset_preview)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.powerbi.PowerBIService' + +class PowerBIServiceClientSync(ConnectClientSync): + + def test_power_b_i_connection(self, request: public_dot_powerbi__pb2.TestPowerBIConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.TestPowerBIConnectionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestPowerBIConnection', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.TestPowerBIConnectionRequest, output=public_dot_powerbi__pb2.TestPowerBIConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_power_b_i_workspaces(self, request: public_dot_powerbi__pb2.ListPowerBIWorkspacesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.ListPowerBIWorkspacesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPowerBIWorkspaces', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIWorkspacesRequest, output=public_dot_powerbi__pb2.ListPowerBIWorkspacesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_power_b_i_datasets(self, request: public_dot_powerbi__pb2.ListPowerBIDatasetsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.ListPowerBIDatasetsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPowerBIDatasets', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIDatasetsRequest, output=public_dot_powerbi__pb2.ListPowerBIDatasetsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_power_b_i_reports(self, request: public_dot_powerbi__pb2.ListPowerBIReportsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.ListPowerBIReportsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPowerBIReports', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ListPowerBIReportsRequest, output=public_dot_powerbi__pb2.ListPowerBIReportsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def export_power_b_i_report_image(self, request: public_dot_powerbi__pb2.ExportPowerBIReportImageRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.ExportPowerBIReportImageResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExportPowerBIReportImage', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.ExportPowerBIReportImageRequest, output=public_dot_powerbi__pb2.ExportPowerBIReportImageResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def generate_power_b_i_embed_token(self, request: public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GeneratePowerBIEmbedToken', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenRequest, output=public_dot_powerbi__pb2.GeneratePowerBIEmbedTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def sync_power_b_i_items(self, request: public_dot_powerbi__pb2.SyncPowerBIItemsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.SyncPowerBIItemsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SyncPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.SyncPowerBIItemsRequest, output=public_dot_powerbi__pb2.SyncPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def unsync_power_b_i_items(self, request: public_dot_powerbi__pb2.UnsyncPowerBIItemsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.UnsyncPowerBIItemsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UnsyncPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.UnsyncPowerBIItemsRequest, output=public_dot_powerbi__pb2.UnsyncPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_synced_power_b_i_items(self, request: public_dot_powerbi__pb2.GetSyncedPowerBIItemsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.GetSyncedPowerBIItemsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetSyncedPowerBIItems', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GetSyncedPowerBIItemsRequest, output=public_dot_powerbi__pb2.GetSyncedPowerBIItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_power_b_i_dataset_preview(self, request: public_dot_powerbi__pb2.GetPowerBIDatasetPreviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_powerbi__pb2.GetPowerBIDatasetPreviewResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPowerBIDatasetPreview', service_name='textql.rpc.public.powerbi.PowerBIService', input=public_dot_powerbi__pb2.GetPowerBIDatasetPreviewRequest, output=public_dot_powerbi__pb2.GetPowerBIDatasetPreviewResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/powerbi_pb2.py b/src/textql_sdk/_connect/public/powerbi_pb2.py new file mode 100644 index 0000000..fa76403 --- /dev/null +++ b/src/textql_sdk/_connect/public/powerbi_pb2.py @@ -0,0 +1,70 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/powerbi.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14public/powerbi.proto\x12\x19textql.rpc.public.powerbi\x1a\x1fgoogle/protobuf/timestamp.proto"\xf3\x01\n\x1cTestPowerBIConnectionRequest\x12&\n\x0cconnector_id\x18\x01 \x01(\x05H\x00R\x0bconnectorId\x88\x01\x01\x12 \n\ttenant_id\x18\x02 \x01(\tH\x01R\x08tenantId\x88\x01\x01\x12 \n\tclient_id\x18\x03 \x01(\tH\x02R\x08clientId\x88\x01\x01\x12(\n\rclient_secret\x18\x04 \x01(\tH\x03R\x0cclientSecret\x88\x01\x01B\x0f\n\r_connector_idB\x0c\n\n_tenant_idB\x0c\n\n_client_idB\x10\n\x0e_client_secret"O\n\x1dTestPowerBIConnectionResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"|\n\x10PowerBIWorkspace\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0cis_read_only\x18\x03 \x01(\x08R\nisReadOnly\x12"\n\ris_on_premium\x18\x04 \x01(\x08R\x0bisOnPremium"A\n\x1cListPowerBIWorkspacesRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"\x91\x01\n\x1dListPowerBIWorkspacesResponse\x12K\n\nworkspaces\x18\x01 \x03(\x0b2+.textql.rpc.public.powerbi.PowerBIWorkspaceR\nworkspaces\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"\xe4\x03\n\x0ePowerBIDataset\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x14add_rows_api_enabled\x18\x03 \x01(\x08R\x11addRowsApiEnabled\x12#\n\rconfigured_by\x18\x04 \x01(\tR\x0cconfiguredBy\x12%\n\x0eis_refreshable\x18\x05 \x01(\x08R\risRefreshable\x12C\n\x1eis_effective_identity_required\x18\x06 \x01(\x08R\x1bisEffectiveIdentityRequired\x12N\n$is_effective_identity_roles_required\x18\x07 \x01(\x08R isEffectiveIdentityRolesRequired\x12<\n\x1bis_on_prem_gateway_required\x18\x08 \x01(\x08R\x17isOnPremGatewayRequired\x12=\n\x0ccreated_date\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bcreatedDate\x12\x1f\n\x0btable_names\x18\n \x03(\tR\ntableNames"b\n\x1aListPowerBIDatasetsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12!\n\x0cworkspace_id\x18\x02 \x01(\tR\x0bworkspaceId"\x89\x01\n\x1bListPowerBIDatasetsResponse\x12E\n\x08datasets\x18\x01 \x03(\x0b2).textql.rpc.public.powerbi.PowerBIDatasetR\x08datasets\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"\xe6\x01\n\rPowerBIReport\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x17\n\x07web_url\x18\x03 \x01(\tR\x06webUrl\x12\x1b\n\tembed_url\x18\x04 \x01(\tR\x08embedUrl\x12\x1d\n\ndataset_id\x18\x05 \x01(\tR\tdatasetId\x12\x1d\n\ncreated_by\x18\x06 \x01(\tR\tcreatedBy\x12=\n\x0ccreated_date\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0bcreatedDate"a\n\x19ListPowerBIReportsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12!\n\x0cworkspace_id\x18\x02 \x01(\tR\x0bworkspaceId"\x85\x01\n\x1aListPowerBIReportsResponse\x12B\n\x07reports\x18\x01 \x03(\x0b2(.textql.rpc.public.powerbi.PowerBIReportR\x07reports\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"\x84\x01\n\x1fExportPowerBIReportImageRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12!\n\x0cworkspace_id\x18\x02 \x01(\tR\x0bworkspaceId\x12\x1b\n\treport_id\x18\x03 \x01(\tR\x08reportId"\x83\x01\n ExportPowerBIReportImageResponse\x12\x1d\n\nimage_data\x18\x01 \x01(\x0cR\timageData\x12\x1b\n\timage_url\x18\x02 \x01(\tR\x08imageUrl\x12\x19\n\x05error\x18\x03 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"\xa4\x01\n GeneratePowerBIEmbedTokenRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12!\n\x0cworkspace_id\x18\x02 \x01(\tR\x0bworkspaceId\x12\x1b\n\treport_id\x18\x03 \x01(\tR\x08reportId\x12\x1d\n\ndataset_id\x18\x04 \x01(\tR\tdatasetId"\x90\x01\n!GeneratePowerBIEmbedTokenResponse\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\x12\x19\n\x08token_id\x18\x02 \x01(\tR\x07tokenId\x12:\n\nexpiration\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\nexpiration"\x91\x02\n\x17SyncPowerBIItemsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12!\n\x0cworkspace_id\x18\x02 \x01(\tR\x0bworkspaceId\x12%\n\x0eworkspace_name\x18\x03 \x01(\tR\rworkspaceName\x12B\n\x07reports\x18\x04 \x03(\x0b2(.textql.rpc.public.powerbi.PowerBIReportR\x07reports\x12E\n\x08datasets\x18\x05 \x03(\x0b2).textql.rpc.public.powerbi.PowerBIDatasetR\x08datasets"\xb3\x01\n\x18SyncPowerBIItemsResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01\x12*\n\x11synced_report_ids\x18\x03 \x03(\tR\x0fsyncedReportIds\x12,\n\x12synced_dataset_ids\x18\x04 \x03(\tR\x10syncedDatasetIdsB\x08\n\x06_error"~\n\x19UnsyncPowerBIItemsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x1d\n\nreport_ids\x18\x02 \x03(\tR\treportIds\x12\x1f\n\x0bdataset_ids\x18\x03 \x03(\tR\ndatasetIds"[\n\x1aUnsyncPowerBIItemsResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"A\n\x1cGetSyncedPowerBIItemsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"\xb6\x01\n\x1dGetSyncedPowerBIItemsResponse\x12H\n\x07reports\x18\x01 \x03(\x0b2..textql.rpc.public.powerbi.SyncedPowerBIReportR\x07reports\x12K\n\x08datasets\x18\x02 \x03(\x0b2/.textql.rpc.public.powerbi.SyncedPowerBIDatasetR\x08datasets"\xda\x01\n\x13SyncedPowerBIReport\x12@\n\x06report\x18\x01 \x01(\x0b2(.textql.rpc.public.powerbi.PowerBIReportR\x06report\x12!\n\x0cworkspace_id\x18\x02 \x01(\tR\x0bworkspaceId\x12%\n\x0eworkspace_name\x18\x03 \x01(\tR\rworkspaceName\x127\n\tsynced_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08syncedAt"\xde\x01\n\x14SyncedPowerBIDataset\x12C\n\x07dataset\x18\x01 \x01(\x0b2).textql.rpc.public.powerbi.PowerBIDatasetR\x07dataset\x12!\n\x0cworkspace_id\x18\x02 \x01(\tR\x0bworkspaceId\x12%\n\x0eworkspace_name\x18\x03 \x01(\tR\rworkspaceName\x127\n\tsynced_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08syncedAt"\xbf\x01\n\x1fGetPowerBIDatasetPreviewRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12!\n\x0cworkspace_id\x18\x02 \x01(\tR\x0bworkspaceId\x12\x1d\n\ndataset_id\x18\x03 \x01(\tR\tdatasetId\x12!\n\x0cdataset_name\x18\x04 \x01(\tR\x0bdatasetName\x12\x14\n\x05limit\x18\x05 \x01(\x05R\x05limit"\x97\x01\n\x13PowerBITablePreview\x12\x1d\n\ntable_name\x18\x01 \x01(\tR\ttableName\x12\x1d\n\narrow_data\x18\x02 \x01(\x0cR\tarrowData\x12\x1d\n\ntotal_rows\x18\x03 \x01(\x03R\ttotalRows\x12\x19\n\x05error\x18\x04 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error"\xb8\x01\n GetPowerBIDatasetPreviewResponse\x12U\n\x0etable_previews\x18\x01 \x03(\x0b2..textql.rpc.public.powerbi.PowerBITablePreviewR\rtablePreviews\x12\x18\n\x07success\x18\x02 \x01(\x08R\x07success\x12\x19\n\x05error\x18\x03 \x01(\tH\x00R\x05error\x88\x01\x01B\x08\n\x06_error2\x9c\x0b\n\x0ePowerBIService\x12\x8c\x01\n\x15TestPowerBIConnection\x127.textql.rpc.public.powerbi.TestPowerBIConnectionRequest\x1a8.textql.rpc.public.powerbi.TestPowerBIConnectionResponse"\x00\x12\x8c\x01\n\x15ListPowerBIWorkspaces\x127.textql.rpc.public.powerbi.ListPowerBIWorkspacesRequest\x1a8.textql.rpc.public.powerbi.ListPowerBIWorkspacesResponse"\x00\x12\x86\x01\n\x13ListPowerBIDatasets\x125.textql.rpc.public.powerbi.ListPowerBIDatasetsRequest\x1a6.textql.rpc.public.powerbi.ListPowerBIDatasetsResponse"\x00\x12\x83\x01\n\x12ListPowerBIReports\x124.textql.rpc.public.powerbi.ListPowerBIReportsRequest\x1a5.textql.rpc.public.powerbi.ListPowerBIReportsResponse"\x00\x12\x95\x01\n\x18ExportPowerBIReportImage\x12:.textql.rpc.public.powerbi.ExportPowerBIReportImageRequest\x1a;.textql.rpc.public.powerbi.ExportPowerBIReportImageResponse"\x00\x12\x98\x01\n\x19GeneratePowerBIEmbedToken\x12;.textql.rpc.public.powerbi.GeneratePowerBIEmbedTokenRequest\x1a<.textql.rpc.public.powerbi.GeneratePowerBIEmbedTokenResponse"\x00\x12}\n\x10SyncPowerBIItems\x122.textql.rpc.public.powerbi.SyncPowerBIItemsRequest\x1a3.textql.rpc.public.powerbi.SyncPowerBIItemsResponse"\x00\x12\x83\x01\n\x12UnsyncPowerBIItems\x124.textql.rpc.public.powerbi.UnsyncPowerBIItemsRequest\x1a5.textql.rpc.public.powerbi.UnsyncPowerBIItemsResponse"\x00\x12\x8c\x01\n\x15GetSyncedPowerBIItems\x127.textql.rpc.public.powerbi.GetSyncedPowerBIItemsRequest\x1a8.textql.rpc.public.powerbi.GetSyncedPowerBIItemsResponse"\x00\x12\x95\x01\n\x18GetPowerBIDatasetPreview\x12:.textql.rpc.public.powerbi.GetPowerBIDatasetPreviewRequest\x1a;.textql.rpc.public.powerbi.GetPowerBIDatasetPreviewResponse"\x00B;Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/publicb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.powerbi_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public' + _globals['_TESTPOWERBICONNECTIONREQUEST']._serialized_start = 85 + _globals['_TESTPOWERBICONNECTIONREQUEST']._serialized_end = 328 + _globals['_TESTPOWERBICONNECTIONRESPONSE']._serialized_start = 330 + _globals['_TESTPOWERBICONNECTIONRESPONSE']._serialized_end = 409 + _globals['_POWERBIWORKSPACE']._serialized_start = 411 + _globals['_POWERBIWORKSPACE']._serialized_end = 535 + _globals['_LISTPOWERBIWORKSPACESREQUEST']._serialized_start = 537 + _globals['_LISTPOWERBIWORKSPACESREQUEST']._serialized_end = 602 + _globals['_LISTPOWERBIWORKSPACESRESPONSE']._serialized_start = 605 + _globals['_LISTPOWERBIWORKSPACESRESPONSE']._serialized_end = 750 + _globals['_POWERBIDATASET']._serialized_start = 753 + _globals['_POWERBIDATASET']._serialized_end = 1237 + _globals['_LISTPOWERBIDATASETSREQUEST']._serialized_start = 1239 + _globals['_LISTPOWERBIDATASETSREQUEST']._serialized_end = 1337 + _globals['_LISTPOWERBIDATASETSRESPONSE']._serialized_start = 1340 + _globals['_LISTPOWERBIDATASETSRESPONSE']._serialized_end = 1477 + _globals['_POWERBIREPORT']._serialized_start = 1480 + _globals['_POWERBIREPORT']._serialized_end = 1710 + _globals['_LISTPOWERBIREPORTSREQUEST']._serialized_start = 1712 + _globals['_LISTPOWERBIREPORTSREQUEST']._serialized_end = 1809 + _globals['_LISTPOWERBIREPORTSRESPONSE']._serialized_start = 1812 + _globals['_LISTPOWERBIREPORTSRESPONSE']._serialized_end = 1945 + _globals['_EXPORTPOWERBIREPORTIMAGEREQUEST']._serialized_start = 1948 + _globals['_EXPORTPOWERBIREPORTIMAGEREQUEST']._serialized_end = 2080 + _globals['_EXPORTPOWERBIREPORTIMAGERESPONSE']._serialized_start = 2083 + _globals['_EXPORTPOWERBIREPORTIMAGERESPONSE']._serialized_end = 2214 + _globals['_GENERATEPOWERBIEMBEDTOKENREQUEST']._serialized_start = 2217 + _globals['_GENERATEPOWERBIEMBEDTOKENREQUEST']._serialized_end = 2381 + _globals['_GENERATEPOWERBIEMBEDTOKENRESPONSE']._serialized_start = 2384 + _globals['_GENERATEPOWERBIEMBEDTOKENRESPONSE']._serialized_end = 2528 + _globals['_SYNCPOWERBIITEMSREQUEST']._serialized_start = 2531 + _globals['_SYNCPOWERBIITEMSREQUEST']._serialized_end = 2804 + _globals['_SYNCPOWERBIITEMSRESPONSE']._serialized_start = 2807 + _globals['_SYNCPOWERBIITEMSRESPONSE']._serialized_end = 2986 + _globals['_UNSYNCPOWERBIITEMSREQUEST']._serialized_start = 2988 + _globals['_UNSYNCPOWERBIITEMSREQUEST']._serialized_end = 3114 + _globals['_UNSYNCPOWERBIITEMSRESPONSE']._serialized_start = 3116 + _globals['_UNSYNCPOWERBIITEMSRESPONSE']._serialized_end = 3207 + _globals['_GETSYNCEDPOWERBIITEMSREQUEST']._serialized_start = 3209 + _globals['_GETSYNCEDPOWERBIITEMSREQUEST']._serialized_end = 3274 + _globals['_GETSYNCEDPOWERBIITEMSRESPONSE']._serialized_start = 3277 + _globals['_GETSYNCEDPOWERBIITEMSRESPONSE']._serialized_end = 3459 + _globals['_SYNCEDPOWERBIREPORT']._serialized_start = 3462 + _globals['_SYNCEDPOWERBIREPORT']._serialized_end = 3680 + _globals['_SYNCEDPOWERBIDATASET']._serialized_start = 3683 + _globals['_SYNCEDPOWERBIDATASET']._serialized_end = 3905 + _globals['_GETPOWERBIDATASETPREVIEWREQUEST']._serialized_start = 3908 + _globals['_GETPOWERBIDATASETPREVIEWREQUEST']._serialized_end = 4099 + _globals['_POWERBITABLEPREVIEW']._serialized_start = 4102 + _globals['_POWERBITABLEPREVIEW']._serialized_end = 4253 + _globals['_GETPOWERBIDATASETPREVIEWRESPONSE']._serialized_start = 4256 + _globals['_GETPOWERBIDATASETPREVIEWRESPONSE']._serialized_end = 4440 + _globals['_POWERBISERVICE']._serialized_start = 4443 + _globals['_POWERBISERVICE']._serialized_end = 5879 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/powerbi_pb2.pyi b/src/textql_sdk/_connect/public/powerbi_pb2.pyi new file mode 100644 index 0000000..b3cbedd --- /dev/null +++ b/src/textql_sdk/_connect/public/powerbi_pb2.pyi @@ -0,0 +1,340 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class TestPowerBIConnectionRequest(_message.Message): + __slots__ = ('connector_id', 'tenant_id', 'client_id', 'client_secret') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + connector_id: int + tenant_id: str + client_id: str + client_secret: str + + def __init__(self, connector_id: _Optional[int]=..., tenant_id: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=...) -> None: + ... + +class TestPowerBIConnectionResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class PowerBIWorkspace(_message.Message): + __slots__ = ('id', 'name', 'is_read_only', 'is_on_premium') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + IS_READ_ONLY_FIELD_NUMBER: _ClassVar[int] + IS_ON_PREMIUM_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + is_read_only: bool + is_on_premium: bool + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., is_read_only: bool=..., is_on_premium: bool=...) -> None: + ... + +class ListPowerBIWorkspacesRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class ListPowerBIWorkspacesResponse(_message.Message): + __slots__ = ('workspaces', 'error') + WORKSPACES_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + workspaces: _containers.RepeatedCompositeFieldContainer[PowerBIWorkspace] + error: str + + def __init__(self, workspaces: _Optional[_Iterable[_Union[PowerBIWorkspace, _Mapping]]]=..., error: _Optional[str]=...) -> None: + ... + +class PowerBIDataset(_message.Message): + __slots__ = ('id', 'name', 'add_rows_api_enabled', 'configured_by', 'is_refreshable', 'is_effective_identity_required', 'is_effective_identity_roles_required', 'is_on_prem_gateway_required', 'created_date', 'table_names') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + ADD_ROWS_API_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIGURED_BY_FIELD_NUMBER: _ClassVar[int] + IS_REFRESHABLE_FIELD_NUMBER: _ClassVar[int] + IS_EFFECTIVE_IDENTITY_REQUIRED_FIELD_NUMBER: _ClassVar[int] + IS_EFFECTIVE_IDENTITY_ROLES_REQUIRED_FIELD_NUMBER: _ClassVar[int] + IS_ON_PREM_GATEWAY_REQUIRED_FIELD_NUMBER: _ClassVar[int] + CREATED_DATE_FIELD_NUMBER: _ClassVar[int] + TABLE_NAMES_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + add_rows_api_enabled: bool + configured_by: str + is_refreshable: bool + is_effective_identity_required: bool + is_effective_identity_roles_required: bool + is_on_prem_gateway_required: bool + created_date: _timestamp_pb2.Timestamp + table_names: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., add_rows_api_enabled: bool=..., configured_by: _Optional[str]=..., is_refreshable: bool=..., is_effective_identity_required: bool=..., is_effective_identity_roles_required: bool=..., is_on_prem_gateway_required: bool=..., created_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., table_names: _Optional[_Iterable[str]]=...) -> None: + ... + +class ListPowerBIDatasetsRequest(_message.Message): + __slots__ = ('connector_id', 'workspace_id') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + workspace_id: str + + def __init__(self, connector_id: _Optional[int]=..., workspace_id: _Optional[str]=...) -> None: + ... + +class ListPowerBIDatasetsResponse(_message.Message): + __slots__ = ('datasets', 'error') + DATASETS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + datasets: _containers.RepeatedCompositeFieldContainer[PowerBIDataset] + error: str + + def __init__(self, datasets: _Optional[_Iterable[_Union[PowerBIDataset, _Mapping]]]=..., error: _Optional[str]=...) -> None: + ... + +class PowerBIReport(_message.Message): + __slots__ = ('id', 'name', 'web_url', 'embed_url', 'dataset_id', 'created_by', 'created_date') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + WEB_URL_FIELD_NUMBER: _ClassVar[int] + EMBED_URL_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + CREATED_DATE_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + web_url: str + embed_url: str + dataset_id: str + created_by: str + created_date: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., web_url: _Optional[str]=..., embed_url: _Optional[str]=..., dataset_id: _Optional[str]=..., created_by: _Optional[str]=..., created_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListPowerBIReportsRequest(_message.Message): + __slots__ = ('connector_id', 'workspace_id') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + workspace_id: str + + def __init__(self, connector_id: _Optional[int]=..., workspace_id: _Optional[str]=...) -> None: + ... + +class ListPowerBIReportsResponse(_message.Message): + __slots__ = ('reports', 'error') + REPORTS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + reports: _containers.RepeatedCompositeFieldContainer[PowerBIReport] + error: str + + def __init__(self, reports: _Optional[_Iterable[_Union[PowerBIReport, _Mapping]]]=..., error: _Optional[str]=...) -> None: + ... + +class ExportPowerBIReportImageRequest(_message.Message): + __slots__ = ('connector_id', 'workspace_id', 'report_id') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + REPORT_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + workspace_id: str + report_id: str + + def __init__(self, connector_id: _Optional[int]=..., workspace_id: _Optional[str]=..., report_id: _Optional[str]=...) -> None: + ... + +class ExportPowerBIReportImageResponse(_message.Message): + __slots__ = ('image_data', 'image_url', 'error') + IMAGE_DATA_FIELD_NUMBER: _ClassVar[int] + IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + image_data: bytes + image_url: str + error: str + + def __init__(self, image_data: _Optional[bytes]=..., image_url: _Optional[str]=..., error: _Optional[str]=...) -> None: + ... + +class GeneratePowerBIEmbedTokenRequest(_message.Message): + __slots__ = ('connector_id', 'workspace_id', 'report_id', 'dataset_id') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + REPORT_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + workspace_id: str + report_id: str + dataset_id: str + + def __init__(self, connector_id: _Optional[int]=..., workspace_id: _Optional[str]=..., report_id: _Optional[str]=..., dataset_id: _Optional[str]=...) -> None: + ... + +class GeneratePowerBIEmbedTokenResponse(_message.Message): + __slots__ = ('token', 'token_id', 'expiration') + TOKEN_FIELD_NUMBER: _ClassVar[int] + TOKEN_ID_FIELD_NUMBER: _ClassVar[int] + EXPIRATION_FIELD_NUMBER: _ClassVar[int] + token: str + token_id: str + expiration: _timestamp_pb2.Timestamp + + def __init__(self, token: _Optional[str]=..., token_id: _Optional[str]=..., expiration: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class SyncPowerBIItemsRequest(_message.Message): + __slots__ = ('connector_id', 'workspace_id', 'workspace_name', 'reports', 'datasets') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_NAME_FIELD_NUMBER: _ClassVar[int] + REPORTS_FIELD_NUMBER: _ClassVar[int] + DATASETS_FIELD_NUMBER: _ClassVar[int] + connector_id: int + workspace_id: str + workspace_name: str + reports: _containers.RepeatedCompositeFieldContainer[PowerBIReport] + datasets: _containers.RepeatedCompositeFieldContainer[PowerBIDataset] + + def __init__(self, connector_id: _Optional[int]=..., workspace_id: _Optional[str]=..., workspace_name: _Optional[str]=..., reports: _Optional[_Iterable[_Union[PowerBIReport, _Mapping]]]=..., datasets: _Optional[_Iterable[_Union[PowerBIDataset, _Mapping]]]=...) -> None: + ... + +class SyncPowerBIItemsResponse(_message.Message): + __slots__ = ('success', 'error', 'synced_report_ids', 'synced_dataset_ids') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + SYNCED_REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + SYNCED_DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + synced_report_ids: _containers.RepeatedScalarFieldContainer[str] + synced_dataset_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, success: bool=..., error: _Optional[str]=..., synced_report_ids: _Optional[_Iterable[str]]=..., synced_dataset_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class UnsyncPowerBIItemsRequest(_message.Message): + __slots__ = ('connector_id', 'report_ids', 'dataset_ids') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + REPORT_IDS_FIELD_NUMBER: _ClassVar[int] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + connector_id: int + report_ids: _containers.RepeatedScalarFieldContainer[str] + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, connector_id: _Optional[int]=..., report_ids: _Optional[_Iterable[str]]=..., dataset_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class UnsyncPowerBIItemsResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class GetSyncedPowerBIItemsRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class GetSyncedPowerBIItemsResponse(_message.Message): + __slots__ = ('reports', 'datasets') + REPORTS_FIELD_NUMBER: _ClassVar[int] + DATASETS_FIELD_NUMBER: _ClassVar[int] + reports: _containers.RepeatedCompositeFieldContainer[SyncedPowerBIReport] + datasets: _containers.RepeatedCompositeFieldContainer[SyncedPowerBIDataset] + + def __init__(self, reports: _Optional[_Iterable[_Union[SyncedPowerBIReport, _Mapping]]]=..., datasets: _Optional[_Iterable[_Union[SyncedPowerBIDataset, _Mapping]]]=...) -> None: + ... + +class SyncedPowerBIReport(_message.Message): + __slots__ = ('report', 'workspace_id', 'workspace_name', 'synced_at') + REPORT_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_NAME_FIELD_NUMBER: _ClassVar[int] + SYNCED_AT_FIELD_NUMBER: _ClassVar[int] + report: PowerBIReport + workspace_id: str + workspace_name: str + synced_at: _timestamp_pb2.Timestamp + + def __init__(self, report: _Optional[_Union[PowerBIReport, _Mapping]]=..., workspace_id: _Optional[str]=..., workspace_name: _Optional[str]=..., synced_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class SyncedPowerBIDataset(_message.Message): + __slots__ = ('dataset', 'workspace_id', 'workspace_name', 'synced_at') + DATASET_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_NAME_FIELD_NUMBER: _ClassVar[int] + SYNCED_AT_FIELD_NUMBER: _ClassVar[int] + dataset: PowerBIDataset + workspace_id: str + workspace_name: str + synced_at: _timestamp_pb2.Timestamp + + def __init__(self, dataset: _Optional[_Union[PowerBIDataset, _Mapping]]=..., workspace_id: _Optional[str]=..., workspace_name: _Optional[str]=..., synced_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetPowerBIDatasetPreviewRequest(_message.Message): + __slots__ = ('connector_id', 'workspace_id', 'dataset_id', 'dataset_name', 'limit') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_NAME_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + connector_id: int + workspace_id: str + dataset_id: str + dataset_name: str + limit: int + + def __init__(self, connector_id: _Optional[int]=..., workspace_id: _Optional[str]=..., dataset_id: _Optional[str]=..., dataset_name: _Optional[str]=..., limit: _Optional[int]=...) -> None: + ... + +class PowerBITablePreview(_message.Message): + __slots__ = ('table_name', 'arrow_data', 'total_rows', 'error') + TABLE_NAME_FIELD_NUMBER: _ClassVar[int] + ARROW_DATA_FIELD_NUMBER: _ClassVar[int] + TOTAL_ROWS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + table_name: str + arrow_data: bytes + total_rows: int + error: str + + def __init__(self, table_name: _Optional[str]=..., arrow_data: _Optional[bytes]=..., total_rows: _Optional[int]=..., error: _Optional[str]=...) -> None: + ... + +class GetPowerBIDatasetPreviewResponse(_message.Message): + __slots__ = ('table_previews', 'success', 'error') + TABLE_PREVIEWS_FIELD_NUMBER: _ClassVar[int] + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + table_previews: _containers.RepeatedCompositeFieldContainer[PowerBITablePreview] + success: bool + error: str + + def __init__(self, table_previews: _Optional[_Iterable[_Union[PowerBITablePreview, _Mapping]]]=..., success: bool=..., error: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/promotion_connect.py b/src/textql_sdk/_connect/public/promotion_connect.py new file mode 100644 index 0000000..e377dcf --- /dev/null +++ b/src/textql_sdk/_connect/public/promotion_connect.py @@ -0,0 +1,111 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import promotion_pb2 as public_dot_promotion__pb2 + +class PromotionService(Protocol): + + async def list_promotions(self, request: public_dot_promotion__pb2.ListPromotionsRequest, ctx: RequestContext) -> public_dot_promotion__pb2.ListPromotionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_promotion(self, request: public_dot_promotion__pb2.CreatePromotionRequest, ctx: RequestContext) -> public_dot_promotion__pb2.CreatePromotionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_promotion(self, request: public_dot_promotion__pb2.UpdatePromotionRequest, ctx: RequestContext) -> public_dot_promotion__pb2.UpdatePromotionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_promotion(self, request: public_dot_promotion__pb2.DeletePromotionRequest, ctx: RequestContext) -> public_dot_promotion__pb2.DeletePromotionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_promotion_grants(self, request: public_dot_promotion__pb2.ListPromotionGrantsRequest, ctx: RequestContext) -> public_dot_promotion__pb2.ListPromotionGrantsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_event_categories(self, request: public_dot_promotion__pb2.ListEventCategoriesRequest, ctx: RequestContext) -> public_dot_promotion__pb2.ListEventCategoriesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class PromotionServiceASGIApplication(ConnectASGIApplication[PromotionService]): + + def __init__(self, service: PromotionService | AsyncGenerator[PromotionService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.promotion.PromotionService/ListPromotions': Endpoint.unary(method=MethodInfo(name='ListPromotions', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListPromotionsRequest, output=public_dot_promotion__pb2.ListPromotionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_promotions), '/textql.rpc.public.promotion.PromotionService/CreatePromotion': Endpoint.unary(method=MethodInfo(name='CreatePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.CreatePromotionRequest, output=public_dot_promotion__pb2.CreatePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_promotion), '/textql.rpc.public.promotion.PromotionService/UpdatePromotion': Endpoint.unary(method=MethodInfo(name='UpdatePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.UpdatePromotionRequest, output=public_dot_promotion__pb2.UpdatePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_promotion), '/textql.rpc.public.promotion.PromotionService/DeletePromotion': Endpoint.unary(method=MethodInfo(name='DeletePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.DeletePromotionRequest, output=public_dot_promotion__pb2.DeletePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_promotion), '/textql.rpc.public.promotion.PromotionService/ListPromotionGrants': Endpoint.unary(method=MethodInfo(name='ListPromotionGrants', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListPromotionGrantsRequest, output=public_dot_promotion__pb2.ListPromotionGrantsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_promotion_grants), '/textql.rpc.public.promotion.PromotionService/ListEventCategories': Endpoint.unary(method=MethodInfo(name='ListEventCategories', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListEventCategoriesRequest, output=public_dot_promotion__pb2.ListEventCategoriesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_event_categories)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.promotion.PromotionService' + +class PromotionServiceClient(ConnectClient): + + async def list_promotions(self, request: public_dot_promotion__pb2.ListPromotionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.ListPromotionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPromotions', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListPromotionsRequest, output=public_dot_promotion__pb2.ListPromotionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_promotion(self, request: public_dot_promotion__pb2.CreatePromotionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.CreatePromotionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreatePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.CreatePromotionRequest, output=public_dot_promotion__pb2.CreatePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_promotion(self, request: public_dot_promotion__pb2.UpdatePromotionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.UpdatePromotionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdatePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.UpdatePromotionRequest, output=public_dot_promotion__pb2.UpdatePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_promotion(self, request: public_dot_promotion__pb2.DeletePromotionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.DeletePromotionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeletePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.DeletePromotionRequest, output=public_dot_promotion__pb2.DeletePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_promotion_grants(self, request: public_dot_promotion__pb2.ListPromotionGrantsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.ListPromotionGrantsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPromotionGrants', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListPromotionGrantsRequest, output=public_dot_promotion__pb2.ListPromotionGrantsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_event_categories(self, request: public_dot_promotion__pb2.ListEventCategoriesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.ListEventCategoriesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListEventCategories', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListEventCategoriesRequest, output=public_dot_promotion__pb2.ListEventCategoriesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class PromotionServiceSync(Protocol): + + def list_promotions(self, request: public_dot_promotion__pb2.ListPromotionsRequest, ctx: RequestContext) -> public_dot_promotion__pb2.ListPromotionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_promotion(self, request: public_dot_promotion__pb2.CreatePromotionRequest, ctx: RequestContext) -> public_dot_promotion__pb2.CreatePromotionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_promotion(self, request: public_dot_promotion__pb2.UpdatePromotionRequest, ctx: RequestContext) -> public_dot_promotion__pb2.UpdatePromotionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_promotion(self, request: public_dot_promotion__pb2.DeletePromotionRequest, ctx: RequestContext) -> public_dot_promotion__pb2.DeletePromotionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_promotion_grants(self, request: public_dot_promotion__pb2.ListPromotionGrantsRequest, ctx: RequestContext) -> public_dot_promotion__pb2.ListPromotionGrantsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_event_categories(self, request: public_dot_promotion__pb2.ListEventCategoriesRequest, ctx: RequestContext) -> public_dot_promotion__pb2.ListEventCategoriesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class PromotionServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: PromotionServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.promotion.PromotionService/ListPromotions': EndpointSync.unary(method=MethodInfo(name='ListPromotions', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListPromotionsRequest, output=public_dot_promotion__pb2.ListPromotionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_promotions), '/textql.rpc.public.promotion.PromotionService/CreatePromotion': EndpointSync.unary(method=MethodInfo(name='CreatePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.CreatePromotionRequest, output=public_dot_promotion__pb2.CreatePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_promotion), '/textql.rpc.public.promotion.PromotionService/UpdatePromotion': EndpointSync.unary(method=MethodInfo(name='UpdatePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.UpdatePromotionRequest, output=public_dot_promotion__pb2.UpdatePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_promotion), '/textql.rpc.public.promotion.PromotionService/DeletePromotion': EndpointSync.unary(method=MethodInfo(name='DeletePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.DeletePromotionRequest, output=public_dot_promotion__pb2.DeletePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_promotion), '/textql.rpc.public.promotion.PromotionService/ListPromotionGrants': EndpointSync.unary(method=MethodInfo(name='ListPromotionGrants', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListPromotionGrantsRequest, output=public_dot_promotion__pb2.ListPromotionGrantsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_promotion_grants), '/textql.rpc.public.promotion.PromotionService/ListEventCategories': EndpointSync.unary(method=MethodInfo(name='ListEventCategories', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListEventCategoriesRequest, output=public_dot_promotion__pb2.ListEventCategoriesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_event_categories)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.promotion.PromotionService' + +class PromotionServiceClientSync(ConnectClientSync): + + def list_promotions(self, request: public_dot_promotion__pb2.ListPromotionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.ListPromotionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPromotions', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListPromotionsRequest, output=public_dot_promotion__pb2.ListPromotionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_promotion(self, request: public_dot_promotion__pb2.CreatePromotionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.CreatePromotionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreatePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.CreatePromotionRequest, output=public_dot_promotion__pb2.CreatePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_promotion(self, request: public_dot_promotion__pb2.UpdatePromotionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.UpdatePromotionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdatePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.UpdatePromotionRequest, output=public_dot_promotion__pb2.UpdatePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_promotion(self, request: public_dot_promotion__pb2.DeletePromotionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.DeletePromotionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeletePromotion', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.DeletePromotionRequest, output=public_dot_promotion__pb2.DeletePromotionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_promotion_grants(self, request: public_dot_promotion__pb2.ListPromotionGrantsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.ListPromotionGrantsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPromotionGrants', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListPromotionGrantsRequest, output=public_dot_promotion__pb2.ListPromotionGrantsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_event_categories(self, request: public_dot_promotion__pb2.ListEventCategoriesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_promotion__pb2.ListEventCategoriesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListEventCategories', service_name='textql.rpc.public.promotion.PromotionService', input=public_dot_promotion__pb2.ListEventCategoriesRequest, output=public_dot_promotion__pb2.ListEventCategoriesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/promotion_pb2.py b/src/textql_sdk/_connect/public/promotion_pb2.py new file mode 100644 index 0000000..912caf6 --- /dev/null +++ b/src/textql_sdk/_connect/public/promotion_pb2.py @@ -0,0 +1,47 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/promotion.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16public/promotion.proto\x12\x1btextql.rpc.public.promotion\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto"\x9c\x06\n\tPromotion\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12%\n\x0eevent_category\x18\x04 \x01(\tR\reventCategory\x12!\n\x0camount_cents\x18\x05 \x01(\x03R\x0bamountCents\x12+\n\x12max_grants_per_org\x18\x06 \x01(\x05R\x0fmaxGrantsPerOrg\x121\n\x15max_grants_per_member\x18\x07 \x01(\x05R\x12maxGrantsPerMember\x12$\n\x0etarget_org_ids\x18\x08 \x03(\tR\x0ctargetOrgIds\x12,\n\x12target_user_groups\x18\t \x03(\tR\x10targetUserGroups\x12\x1b\n\tis_active\x18\n \x01(\x08R\x08isActive\x12<\n\tstarts_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x08startsAt\x88\x01\x01\x128\n\x07ends_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x06endsAt\x88\x01\x01\x12\x1d\n\ngrant_memo\x18\r \x01(\tR\tgrantMemo\x12!\n\x0cgrants_count\x18\x0e \x01(\x05R\x0bgrantsCount\x12!\n\x0cemail_events\x18\x0f \x03(\tR\x0bemailEvents\x12(\n\x10max_grants_total\x18\x10 \x01(\x05R\x0emaxGrantsTotal\x12*\n\x11target_plan_types\x18\x11 \x03(\tR\x0ftargetPlanTypes\x12K\n\x11credit_expires_at\x18\x12 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x0fcreditExpiresAt\x88\x01\x01B\x0c\n\n_starts_atB\n\n\x08_ends_atB\x14\n\x12_credit_expires_at"\xd0\x02\n\x0ePromotionGrant\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cpromotion_id\x18\x02 \x01(\tR\x0bpromotionId\x12\x15\n\x06org_id\x18\x03 \x01(\tR\x05orgId\x12\x1b\n\tmember_id\x18\x04 \x01(\tR\x08memberId\x12\x19\n\x08event_id\x18\x05 \x01(\tR\x07eventId\x12+\n\x11idempotency_token\x18\x06 \x01(\tR\x10idempotencyToken\x12\x16\n\x06status\x18\x07 \x01(\tR\x06status\x12!\n\x0cmember_email\x18\x08 \x01(\tR\x0bmemberEmail\x12\x19\n\x08org_name\x18\t \x01(\tR\x07orgName\x129\n\ncreated_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"\x17\n\x15ListPromotionsRequest"`\n\x16ListPromotionsResponse\x12F\n\npromotions\x18\x01 \x03(\x0b2&.textql.rpc.public.promotion.PromotionR\npromotions"\xf6\x05\n\x16CreatePromotionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12%\n\x0eevent_category\x18\x03 \x01(\tR\reventCategory\x12!\n\x0camount_cents\x18\x04 \x01(\x03R\x0bamountCents\x12+\n\x12max_grants_per_org\x18\x05 \x01(\x05R\x0fmaxGrantsPerOrg\x121\n\x15max_grants_per_member\x18\x06 \x01(\x05R\x12maxGrantsPerMember\x12$\n\x0etarget_org_ids\x18\x07 \x03(\tR\x0ctargetOrgIds\x12,\n\x12target_user_groups\x18\x08 \x03(\tR\x10targetUserGroups\x12\x1b\n\tis_active\x18\t \x01(\x08R\x08isActive\x12<\n\tstarts_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x08startsAt\x88\x01\x01\x128\n\x07ends_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x06endsAt\x88\x01\x01\x12\x1d\n\ngrant_memo\x18\x0c \x01(\tR\tgrantMemo\x12!\n\x0cemail_events\x18\r \x03(\tR\x0bemailEvents\x12(\n\x10max_grants_total\x18\x0e \x01(\x05R\x0emaxGrantsTotal\x12*\n\x11target_plan_types\x18\x0f \x03(\tR\x0ftargetPlanTypes\x12K\n\x11credit_expires_at\x18\x10 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x0fcreditExpiresAt\x88\x01\x01B\x0c\n\n_starts_atB\n\n\x08_ends_atB\x14\n\x12_credit_expires_at"_\n\x17CreatePromotionResponse\x12D\n\tpromotion\x18\x01 \x01(\x0b2&.textql.rpc.public.promotion.PromotionR\tpromotion"\x86\x06\n\x16UpdatePromotionRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12%\n\x0eevent_category\x18\x04 \x01(\tR\reventCategory\x12!\n\x0camount_cents\x18\x05 \x01(\x03R\x0bamountCents\x12+\n\x12max_grants_per_org\x18\x06 \x01(\x05R\x0fmaxGrantsPerOrg\x121\n\x15max_grants_per_member\x18\x07 \x01(\x05R\x12maxGrantsPerMember\x12$\n\x0etarget_org_ids\x18\x08 \x03(\tR\x0ctargetOrgIds\x12,\n\x12target_user_groups\x18\t \x03(\tR\x10targetUserGroups\x12\x1b\n\tis_active\x18\n \x01(\x08R\x08isActive\x12<\n\tstarts_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x08startsAt\x88\x01\x01\x128\n\x07ends_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x06endsAt\x88\x01\x01\x12\x1d\n\ngrant_memo\x18\r \x01(\tR\tgrantMemo\x12!\n\x0cemail_events\x18\x0e \x03(\tR\x0bemailEvents\x12(\n\x10max_grants_total\x18\x0f \x01(\x05R\x0emaxGrantsTotal\x12*\n\x11target_plan_types\x18\x10 \x03(\tR\x0ftargetPlanTypes\x12K\n\x11credit_expires_at\x18\x11 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\x0fcreditExpiresAt\x88\x01\x01B\x0c\n\n_starts_atB\n\n\x08_ends_atB\x14\n\x12_credit_expires_at"_\n\x17UpdatePromotionResponse\x12D\n\tpromotion\x18\x01 \x01(\x0b2&.textql.rpc.public.promotion.PromotionR\tpromotion"?\n\x1aListPromotionGrantsRequest\x12!\n\x0cpromotion_id\x18\x01 \x01(\tR\x0bpromotionId"b\n\x1bListPromotionGrantsResponse\x12C\n\x06grants\x18\x01 \x03(\x0b2+.textql.rpc.public.promotion.PromotionGrantR\x06grants"(\n\x16DeletePromotionRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x19\n\x17DeletePromotionResponse"\x1c\n\x1aListEventCategoriesRequest"=\n\x1bListEventCategoriesResponse\x12\x1e\n\ncategories\x18\x01 \x03(\tR\ncategories2\x9d\x06\n\x10PromotionService\x12y\n\x0eListPromotions\x122.textql.rpc.public.promotion.ListPromotionsRequest\x1a3.textql.rpc.public.promotion.ListPromotionsResponse\x12|\n\x0fCreatePromotion\x123.textql.rpc.public.promotion.CreatePromotionRequest\x1a4.textql.rpc.public.promotion.CreatePromotionResponse\x12|\n\x0fUpdatePromotion\x123.textql.rpc.public.promotion.UpdatePromotionRequest\x1a4.textql.rpc.public.promotion.UpdatePromotionResponse\x12|\n\x0fDeletePromotion\x123.textql.rpc.public.promotion.DeletePromotionRequest\x1a4.textql.rpc.public.promotion.DeletePromotionResponse\x12\x88\x01\n\x13ListPromotionGrants\x127.textql.rpc.public.promotion.ListPromotionGrantsRequest\x1a8.textql.rpc.public.promotion.ListPromotionGrantsResponse\x12\x88\x01\n\x13ListEventCategories\x127.textql.rpc.public.promotion.ListEventCategoriesRequest\x1a8.textql.rpc.public.promotion.ListEventCategoriesResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.promotion_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_PROMOTION']._serialized_start = 111 + _globals['_PROMOTION']._serialized_end = 907 + _globals['_PROMOTIONGRANT']._serialized_start = 910 + _globals['_PROMOTIONGRANT']._serialized_end = 1246 + _globals['_LISTPROMOTIONSREQUEST']._serialized_start = 1248 + _globals['_LISTPROMOTIONSREQUEST']._serialized_end = 1271 + _globals['_LISTPROMOTIONSRESPONSE']._serialized_start = 1273 + _globals['_LISTPROMOTIONSRESPONSE']._serialized_end = 1369 + _globals['_CREATEPROMOTIONREQUEST']._serialized_start = 1372 + _globals['_CREATEPROMOTIONREQUEST']._serialized_end = 2130 + _globals['_CREATEPROMOTIONRESPONSE']._serialized_start = 2132 + _globals['_CREATEPROMOTIONRESPONSE']._serialized_end = 2227 + _globals['_UPDATEPROMOTIONREQUEST']._serialized_start = 2230 + _globals['_UPDATEPROMOTIONREQUEST']._serialized_end = 3004 + _globals['_UPDATEPROMOTIONRESPONSE']._serialized_start = 3006 + _globals['_UPDATEPROMOTIONRESPONSE']._serialized_end = 3101 + _globals['_LISTPROMOTIONGRANTSREQUEST']._serialized_start = 3103 + _globals['_LISTPROMOTIONGRANTSREQUEST']._serialized_end = 3166 + _globals['_LISTPROMOTIONGRANTSRESPONSE']._serialized_start = 3168 + _globals['_LISTPROMOTIONGRANTSRESPONSE']._serialized_end = 3266 + _globals['_DELETEPROMOTIONREQUEST']._serialized_start = 3268 + _globals['_DELETEPROMOTIONREQUEST']._serialized_end = 3308 + _globals['_DELETEPROMOTIONRESPONSE']._serialized_start = 3310 + _globals['_DELETEPROMOTIONRESPONSE']._serialized_end = 3335 + _globals['_LISTEVENTCATEGORIESREQUEST']._serialized_start = 3337 + _globals['_LISTEVENTCATEGORIESREQUEST']._serialized_end = 3365 + _globals['_LISTEVENTCATEGORIESRESPONSE']._serialized_start = 3367 + _globals['_LISTEVENTCATEGORIESRESPONSE']._serialized_end = 3428 + _globals['_PROMOTIONSERVICE']._serialized_start = 3431 + _globals['_PROMOTIONSERVICE']._serialized_end = 4228 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/promotion_pb2.pyi b/src/textql_sdk/_connect/public/promotion_pb2.pyi new file mode 100644 index 0000000..62880cc --- /dev/null +++ b/src/textql_sdk/_connect/public/promotion_pb2.pyi @@ -0,0 +1,229 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class Promotion(_message.Message): + __slots__ = ('id', 'name', 'description', 'event_category', 'amount_cents', 'max_grants_per_org', 'max_grants_per_member', 'target_org_ids', 'target_user_groups', 'is_active', 'starts_at', 'ends_at', 'grant_memo', 'grants_count', 'email_events', 'max_grants_total', 'target_plan_types', 'credit_expires_at') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EVENT_CATEGORY_FIELD_NUMBER: _ClassVar[int] + AMOUNT_CENTS_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_PER_ORG_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_PER_MEMBER_FIELD_NUMBER: _ClassVar[int] + TARGET_ORG_IDS_FIELD_NUMBER: _ClassVar[int] + TARGET_USER_GROUPS_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + STARTS_AT_FIELD_NUMBER: _ClassVar[int] + ENDS_AT_FIELD_NUMBER: _ClassVar[int] + GRANT_MEMO_FIELD_NUMBER: _ClassVar[int] + GRANTS_COUNT_FIELD_NUMBER: _ClassVar[int] + EMAIL_EVENTS_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_TOTAL_FIELD_NUMBER: _ClassVar[int] + TARGET_PLAN_TYPES_FIELD_NUMBER: _ClassVar[int] + CREDIT_EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + event_category: str + amount_cents: int + max_grants_per_org: int + max_grants_per_member: int + target_org_ids: _containers.RepeatedScalarFieldContainer[str] + target_user_groups: _containers.RepeatedScalarFieldContainer[str] + is_active: bool + starts_at: _timestamp_pb2.Timestamp + ends_at: _timestamp_pb2.Timestamp + grant_memo: str + grants_count: int + email_events: _containers.RepeatedScalarFieldContainer[str] + max_grants_total: int + target_plan_types: _containers.RepeatedScalarFieldContainer[str] + credit_expires_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., event_category: _Optional[str]=..., amount_cents: _Optional[int]=..., max_grants_per_org: _Optional[int]=..., max_grants_per_member: _Optional[int]=..., target_org_ids: _Optional[_Iterable[str]]=..., target_user_groups: _Optional[_Iterable[str]]=..., is_active: bool=..., starts_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., ends_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., grant_memo: _Optional[str]=..., grants_count: _Optional[int]=..., email_events: _Optional[_Iterable[str]]=..., max_grants_total: _Optional[int]=..., target_plan_types: _Optional[_Iterable[str]]=..., credit_expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class PromotionGrant(_message.Message): + __slots__ = ('id', 'promotion_id', 'org_id', 'member_id', 'event_id', 'idempotency_token', 'status', 'member_email', 'org_name', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + PROMOTION_ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + EVENT_ID_FIELD_NUMBER: _ClassVar[int] + IDEMPOTENCY_TOKEN_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + MEMBER_EMAIL_FIELD_NUMBER: _ClassVar[int] + ORG_NAME_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + promotion_id: str + org_id: str + member_id: str + event_id: str + idempotency_token: str + status: str + member_email: str + org_name: str + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., promotion_id: _Optional[str]=..., org_id: _Optional[str]=..., member_id: _Optional[str]=..., event_id: _Optional[str]=..., idempotency_token: _Optional[str]=..., status: _Optional[str]=..., member_email: _Optional[str]=..., org_name: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListPromotionsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListPromotionsResponse(_message.Message): + __slots__ = ('promotions',) + PROMOTIONS_FIELD_NUMBER: _ClassVar[int] + promotions: _containers.RepeatedCompositeFieldContainer[Promotion] + + def __init__(self, promotions: _Optional[_Iterable[_Union[Promotion, _Mapping]]]=...) -> None: + ... + +class CreatePromotionRequest(_message.Message): + __slots__ = ('name', 'description', 'event_category', 'amount_cents', 'max_grants_per_org', 'max_grants_per_member', 'target_org_ids', 'target_user_groups', 'is_active', 'starts_at', 'ends_at', 'grant_memo', 'email_events', 'max_grants_total', 'target_plan_types', 'credit_expires_at') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EVENT_CATEGORY_FIELD_NUMBER: _ClassVar[int] + AMOUNT_CENTS_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_PER_ORG_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_PER_MEMBER_FIELD_NUMBER: _ClassVar[int] + TARGET_ORG_IDS_FIELD_NUMBER: _ClassVar[int] + TARGET_USER_GROUPS_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + STARTS_AT_FIELD_NUMBER: _ClassVar[int] + ENDS_AT_FIELD_NUMBER: _ClassVar[int] + GRANT_MEMO_FIELD_NUMBER: _ClassVar[int] + EMAIL_EVENTS_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_TOTAL_FIELD_NUMBER: _ClassVar[int] + TARGET_PLAN_TYPES_FIELD_NUMBER: _ClassVar[int] + CREDIT_EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + event_category: str + amount_cents: int + max_grants_per_org: int + max_grants_per_member: int + target_org_ids: _containers.RepeatedScalarFieldContainer[str] + target_user_groups: _containers.RepeatedScalarFieldContainer[str] + is_active: bool + starts_at: _timestamp_pb2.Timestamp + ends_at: _timestamp_pb2.Timestamp + grant_memo: str + email_events: _containers.RepeatedScalarFieldContainer[str] + max_grants_total: int + target_plan_types: _containers.RepeatedScalarFieldContainer[str] + credit_expires_at: _timestamp_pb2.Timestamp + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., event_category: _Optional[str]=..., amount_cents: _Optional[int]=..., max_grants_per_org: _Optional[int]=..., max_grants_per_member: _Optional[int]=..., target_org_ids: _Optional[_Iterable[str]]=..., target_user_groups: _Optional[_Iterable[str]]=..., is_active: bool=..., starts_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., ends_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., grant_memo: _Optional[str]=..., email_events: _Optional[_Iterable[str]]=..., max_grants_total: _Optional[int]=..., target_plan_types: _Optional[_Iterable[str]]=..., credit_expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class CreatePromotionResponse(_message.Message): + __slots__ = ('promotion',) + PROMOTION_FIELD_NUMBER: _ClassVar[int] + promotion: Promotion + + def __init__(self, promotion: _Optional[_Union[Promotion, _Mapping]]=...) -> None: + ... + +class UpdatePromotionRequest(_message.Message): + __slots__ = ('id', 'name', 'description', 'event_category', 'amount_cents', 'max_grants_per_org', 'max_grants_per_member', 'target_org_ids', 'target_user_groups', 'is_active', 'starts_at', 'ends_at', 'grant_memo', 'email_events', 'max_grants_total', 'target_plan_types', 'credit_expires_at') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EVENT_CATEGORY_FIELD_NUMBER: _ClassVar[int] + AMOUNT_CENTS_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_PER_ORG_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_PER_MEMBER_FIELD_NUMBER: _ClassVar[int] + TARGET_ORG_IDS_FIELD_NUMBER: _ClassVar[int] + TARGET_USER_GROUPS_FIELD_NUMBER: _ClassVar[int] + IS_ACTIVE_FIELD_NUMBER: _ClassVar[int] + STARTS_AT_FIELD_NUMBER: _ClassVar[int] + ENDS_AT_FIELD_NUMBER: _ClassVar[int] + GRANT_MEMO_FIELD_NUMBER: _ClassVar[int] + EMAIL_EVENTS_FIELD_NUMBER: _ClassVar[int] + MAX_GRANTS_TOTAL_FIELD_NUMBER: _ClassVar[int] + TARGET_PLAN_TYPES_FIELD_NUMBER: _ClassVar[int] + CREDIT_EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + event_category: str + amount_cents: int + max_grants_per_org: int + max_grants_per_member: int + target_org_ids: _containers.RepeatedScalarFieldContainer[str] + target_user_groups: _containers.RepeatedScalarFieldContainer[str] + is_active: bool + starts_at: _timestamp_pb2.Timestamp + ends_at: _timestamp_pb2.Timestamp + grant_memo: str + email_events: _containers.RepeatedScalarFieldContainer[str] + max_grants_total: int + target_plan_types: _containers.RepeatedScalarFieldContainer[str] + credit_expires_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., event_category: _Optional[str]=..., amount_cents: _Optional[int]=..., max_grants_per_org: _Optional[int]=..., max_grants_per_member: _Optional[int]=..., target_org_ids: _Optional[_Iterable[str]]=..., target_user_groups: _Optional[_Iterable[str]]=..., is_active: bool=..., starts_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., ends_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., grant_memo: _Optional[str]=..., email_events: _Optional[_Iterable[str]]=..., max_grants_total: _Optional[int]=..., target_plan_types: _Optional[_Iterable[str]]=..., credit_expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class UpdatePromotionResponse(_message.Message): + __slots__ = ('promotion',) + PROMOTION_FIELD_NUMBER: _ClassVar[int] + promotion: Promotion + + def __init__(self, promotion: _Optional[_Union[Promotion, _Mapping]]=...) -> None: + ... + +class ListPromotionGrantsRequest(_message.Message): + __slots__ = ('promotion_id',) + PROMOTION_ID_FIELD_NUMBER: _ClassVar[int] + promotion_id: str + + def __init__(self, promotion_id: _Optional[str]=...) -> None: + ... + +class ListPromotionGrantsResponse(_message.Message): + __slots__ = ('grants',) + GRANTS_FIELD_NUMBER: _ClassVar[int] + grants: _containers.RepeatedCompositeFieldContainer[PromotionGrant] + + def __init__(self, grants: _Optional[_Iterable[_Union[PromotionGrant, _Mapping]]]=...) -> None: + ... + +class DeletePromotionRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class DeletePromotionResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListEventCategoriesRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListEventCategoriesResponse(_message.Message): + __slots__ = ('categories',) + CATEGORIES_FIELD_NUMBER: _ClassVar[int] + categories: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, categories: _Optional[_Iterable[str]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/rbac_connect.py b/src/textql_sdk/_connect/public/rbac_connect.py new file mode 100644 index 0000000..960e0ae --- /dev/null +++ b/src/textql_sdk/_connect/public/rbac_connect.py @@ -0,0 +1,627 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import rbac_pb2 as public_dot_rbac__pb2 + +class RBACService(Protocol): + + async def create_role(self, request: public_dot_rbac__pb2.CreateRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.CreateRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_role(self, request: public_dot_rbac__pb2.GetRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_roles(self, request: public_dot_rbac__pb2.ListRolesRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListRolesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_role(self, request: public_dot_rbac__pb2.UpdateRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.UpdateRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_role(self, request: public_dot_rbac__pb2.DeleteRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.DeleteRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_permissions(self, request: public_dot_rbac__pb2.ListPermissionsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListPermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_role_permissions(self, request: public_dot_rbac__pb2.GetRolePermissionsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetRolePermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def assign_permission_to_role(self, request: public_dot_rbac__pb2.AssignPermissionToRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.AssignPermissionToRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_permission_from_role(self, request: public_dot_rbac__pb2.RemovePermissionFromRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RemovePermissionFromRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_role_permissions(self, request: public_dot_rbac__pb2.SetRolePermissionsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.SetRolePermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def assign_role_to_member(self, request: public_dot_rbac__pb2.AssignRoleToMemberRequest, ctx: RequestContext) -> public_dot_rbac__pb2.AssignRoleToMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_role_from_member(self, request: public_dot_rbac__pb2.RemoveRoleFromMemberRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RemoveRoleFromMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_member_roles(self, request: public_dot_rbac__pb2.GetMemberRolesRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetMemberRolesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_current_member_roles_and_permissions(self, request: public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_group(self, request: public_dot_rbac__pb2.CreateGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.CreateGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_group(self, request: public_dot_rbac__pb2.GetGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_groups(self, request: public_dot_rbac__pb2.ListGroupsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListGroupsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_group(self, request: public_dot_rbac__pb2.UpdateGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.UpdateGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_group(self, request: public_dot_rbac__pb2.DeleteGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.DeleteGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def add_group_member(self, request: public_dot_rbac__pb2.AddGroupMemberRequest, ctx: RequestContext) -> public_dot_rbac__pb2.AddGroupMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_group_member(self, request: public_dot_rbac__pb2.RemoveGroupMemberRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RemoveGroupMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_member_groups(self, request: public_dot_rbac__pb2.GetMemberGroupsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetMemberGroupsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def share_object_with_group(self, request: public_dot_rbac__pb2.ShareObjectWithGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ShareObjectWithGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_group_connectors(self, request: public_dot_rbac__pb2.ListGroupConnectorsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListGroupConnectorsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def migrate_scim_group_mapping_to_group(self, request: public_dot_rbac__pb2.MigrateScimGroupMappingToGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.MigrateScimGroupMappingToGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def migrate_all_scim_group_mappings(self, request: public_dot_rbac__pb2.MigrateAllScimGroupMappingsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.MigrateAllScimGroupMappingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revert_scim_group_mapping_to_role(self, request: public_dot_rbac__pb2.RevertScimGroupMappingToRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RevertScimGroupMappingToRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def convert_role_to_group(self, request: public_dot_rbac__pb2.ConvertRoleToGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ConvertRoleToGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_scim_group_mappings(self, request: public_dot_rbac__pb2.ListScimGroupMappingsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListScimGroupMappingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def share_object(self, request: public_dot_rbac__pb2.ShareObjectRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ShareObjectResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def share_object_with_role(self, request: public_dot_rbac__pb2.ShareObjectWithRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ShareObjectWithRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revoke_object_access(self, request: public_dot_rbac__pb2.RevokeObjectAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RevokeObjectAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_object_access(self, request: public_dot_rbac__pb2.GetObjectAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetObjectAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def has_object_access(self, request: public_dot_rbac__pb2.HasObjectAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.HasObjectAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_object_visibility(self, request: public_dot_rbac__pb2.UpdateObjectVisibilityRequest, ctx: RequestContext) -> public_dot_rbac__pb2.UpdateObjectVisibilityResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_object_access(self, request: public_dot_rbac__pb2.UpdateObjectAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.UpdateObjectAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def generate_share_link(self, request: public_dot_rbac__pb2.GenerateShareLinkRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GenerateShareLinkResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def request_access(self, request: public_dot_rbac__pb2.RequestAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RequestAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_access_requests(self, request: public_dot_rbac__pb2.ListAccessRequestsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListAccessRequestsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def approve_access_request(self, request: public_dot_rbac__pb2.ApproveAccessRequestRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ApproveAccessRequestResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def reject_access_request(self, request: public_dot_rbac__pb2.RejectAccessRequestRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RejectAccessRequestResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_api_key(self, request: public_dot_rbac__pb2.CreateApiKeyRequest, ctx: RequestContext) -> public_dot_rbac__pb2.CreateApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_api_keys(self, request: public_dot_rbac__pb2.ListApiKeysRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListApiKeysResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revoke_api_key(self, request: public_dot_rbac__pb2.RevokeApiKeyRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RevokeApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def rotate_api_key(self, request: public_dot_rbac__pb2.RotateApiKeyRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RotateApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_embed_user_api_key(self, request: public_dot_rbac__pb2.GetEmbedUserApiKeyRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetEmbedUserApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_service_account(self, request: public_dot_rbac__pb2.CreateServiceAccountRequest, ctx: RequestContext) -> public_dot_rbac__pb2.CreateServiceAccountResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_service_accounts(self, request: public_dot_rbac__pb2.ListServiceAccountsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListServiceAccountsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_service_account(self, request: public_dot_rbac__pb2.DeleteServiceAccountRequest, ctx: RequestContext) -> public_dot_rbac__pb2.DeleteServiceAccountResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class RBACServiceASGIApplication(ConnectASGIApplication[RBACService]): + + def __init__(self, service: RBACService | AsyncGenerator[RBACService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.rbac.RBACService/CreateRole': Endpoint.unary(method=MethodInfo(name='CreateRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateRoleRequest, output=public_dot_rbac__pb2.CreateRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_role), '/textql.rpc.public.rbac.RBACService/GetRole': Endpoint.unary(method=MethodInfo(name='GetRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetRoleRequest, output=public_dot_rbac__pb2.GetRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_role), '/textql.rpc.public.rbac.RBACService/ListRoles': Endpoint.unary(method=MethodInfo(name='ListRoles', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListRolesRequest, output=public_dot_rbac__pb2.ListRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_roles), '/textql.rpc.public.rbac.RBACService/UpdateRole': Endpoint.unary(method=MethodInfo(name='UpdateRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateRoleRequest, output=public_dot_rbac__pb2.UpdateRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_role), '/textql.rpc.public.rbac.RBACService/DeleteRole': Endpoint.unary(method=MethodInfo(name='DeleteRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteRoleRequest, output=public_dot_rbac__pb2.DeleteRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_role), '/textql.rpc.public.rbac.RBACService/ListPermissions': Endpoint.unary(method=MethodInfo(name='ListPermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListPermissionsRequest, output=public_dot_rbac__pb2.ListPermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_permissions), '/textql.rpc.public.rbac.RBACService/GetRolePermissions': Endpoint.unary(method=MethodInfo(name='GetRolePermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetRolePermissionsRequest, output=public_dot_rbac__pb2.GetRolePermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_role_permissions), '/textql.rpc.public.rbac.RBACService/AssignPermissionToRole': Endpoint.unary(method=MethodInfo(name='AssignPermissionToRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AssignPermissionToRoleRequest, output=public_dot_rbac__pb2.AssignPermissionToRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.assign_permission_to_role), '/textql.rpc.public.rbac.RBACService/RemovePermissionFromRole': Endpoint.unary(method=MethodInfo(name='RemovePermissionFromRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemovePermissionFromRoleRequest, output=public_dot_rbac__pb2.RemovePermissionFromRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_permission_from_role), '/textql.rpc.public.rbac.RBACService/SetRolePermissions': Endpoint.unary(method=MethodInfo(name='SetRolePermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.SetRolePermissionsRequest, output=public_dot_rbac__pb2.SetRolePermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_role_permissions), '/textql.rpc.public.rbac.RBACService/AssignRoleToMember': Endpoint.unary(method=MethodInfo(name='AssignRoleToMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AssignRoleToMemberRequest, output=public_dot_rbac__pb2.AssignRoleToMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.assign_role_to_member), '/textql.rpc.public.rbac.RBACService/RemoveRoleFromMember': Endpoint.unary(method=MethodInfo(name='RemoveRoleFromMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemoveRoleFromMemberRequest, output=public_dot_rbac__pb2.RemoveRoleFromMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_role_from_member), '/textql.rpc.public.rbac.RBACService/GetMemberRoles': Endpoint.unary(method=MethodInfo(name='GetMemberRoles', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetMemberRolesRequest, output=public_dot_rbac__pb2.GetMemberRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_member_roles), '/textql.rpc.public.rbac.RBACService/GetCurrentMemberRolesAndPermissions': Endpoint.unary(method=MethodInfo(name='GetCurrentMemberRolesAndPermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsRequest, output=public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_current_member_roles_and_permissions), '/textql.rpc.public.rbac.RBACService/CreateGroup': Endpoint.unary(method=MethodInfo(name='CreateGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateGroupRequest, output=public_dot_rbac__pb2.CreateGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_group), '/textql.rpc.public.rbac.RBACService/GetGroup': Endpoint.unary(method=MethodInfo(name='GetGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetGroupRequest, output=public_dot_rbac__pb2.GetGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_group), '/textql.rpc.public.rbac.RBACService/ListGroups': Endpoint.unary(method=MethodInfo(name='ListGroups', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListGroupsRequest, output=public_dot_rbac__pb2.ListGroupsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_groups), '/textql.rpc.public.rbac.RBACService/UpdateGroup': Endpoint.unary(method=MethodInfo(name='UpdateGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateGroupRequest, output=public_dot_rbac__pb2.UpdateGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_group), '/textql.rpc.public.rbac.RBACService/DeleteGroup': Endpoint.unary(method=MethodInfo(name='DeleteGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteGroupRequest, output=public_dot_rbac__pb2.DeleteGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_group), '/textql.rpc.public.rbac.RBACService/AddGroupMember': Endpoint.unary(method=MethodInfo(name='AddGroupMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AddGroupMemberRequest, output=public_dot_rbac__pb2.AddGroupMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.add_group_member), '/textql.rpc.public.rbac.RBACService/RemoveGroupMember': Endpoint.unary(method=MethodInfo(name='RemoveGroupMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemoveGroupMemberRequest, output=public_dot_rbac__pb2.RemoveGroupMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_group_member), '/textql.rpc.public.rbac.RBACService/GetMemberGroups': Endpoint.unary(method=MethodInfo(name='GetMemberGroups', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetMemberGroupsRequest, output=public_dot_rbac__pb2.GetMemberGroupsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_member_groups), '/textql.rpc.public.rbac.RBACService/ShareObjectWithGroup': Endpoint.unary(method=MethodInfo(name='ShareObjectWithGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectWithGroupRequest, output=public_dot_rbac__pb2.ShareObjectWithGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.share_object_with_group), '/textql.rpc.public.rbac.RBACService/ListGroupConnectors': Endpoint.unary(method=MethodInfo(name='ListGroupConnectors', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListGroupConnectorsRequest, output=public_dot_rbac__pb2.ListGroupConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_group_connectors), '/textql.rpc.public.rbac.RBACService/MigrateScimGroupMappingToGroup': Endpoint.unary(method=MethodInfo(name='MigrateScimGroupMappingToGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.MigrateScimGroupMappingToGroupRequest, output=public_dot_rbac__pb2.MigrateScimGroupMappingToGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.migrate_scim_group_mapping_to_group), '/textql.rpc.public.rbac.RBACService/MigrateAllScimGroupMappings': Endpoint.unary(method=MethodInfo(name='MigrateAllScimGroupMappings', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.MigrateAllScimGroupMappingsRequest, output=public_dot_rbac__pb2.MigrateAllScimGroupMappingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.migrate_all_scim_group_mappings), '/textql.rpc.public.rbac.RBACService/RevertScimGroupMappingToRole': Endpoint.unary(method=MethodInfo(name='RevertScimGroupMappingToRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevertScimGroupMappingToRoleRequest, output=public_dot_rbac__pb2.RevertScimGroupMappingToRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revert_scim_group_mapping_to_role), '/textql.rpc.public.rbac.RBACService/ConvertRoleToGroup': Endpoint.unary(method=MethodInfo(name='ConvertRoleToGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ConvertRoleToGroupRequest, output=public_dot_rbac__pb2.ConvertRoleToGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.convert_role_to_group), '/textql.rpc.public.rbac.RBACService/ListScimGroupMappings': Endpoint.unary(method=MethodInfo(name='ListScimGroupMappings', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListScimGroupMappingsRequest, output=public_dot_rbac__pb2.ListScimGroupMappingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_scim_group_mappings), '/textql.rpc.public.rbac.RBACService/ShareObject': Endpoint.unary(method=MethodInfo(name='ShareObject', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectRequest, output=public_dot_rbac__pb2.ShareObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.share_object), '/textql.rpc.public.rbac.RBACService/ShareObjectWithRole': Endpoint.unary(method=MethodInfo(name='ShareObjectWithRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectWithRoleRequest, output=public_dot_rbac__pb2.ShareObjectWithRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.share_object_with_role), '/textql.rpc.public.rbac.RBACService/RevokeObjectAccess': Endpoint.unary(method=MethodInfo(name='RevokeObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevokeObjectAccessRequest, output=public_dot_rbac__pb2.RevokeObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revoke_object_access), '/textql.rpc.public.rbac.RBACService/GetObjectAccess': Endpoint.unary(method=MethodInfo(name='GetObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetObjectAccessRequest, output=public_dot_rbac__pb2.GetObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_object_access), '/textql.rpc.public.rbac.RBACService/HasObjectAccess': Endpoint.unary(method=MethodInfo(name='HasObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.HasObjectAccessRequest, output=public_dot_rbac__pb2.HasObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.has_object_access), '/textql.rpc.public.rbac.RBACService/UpdateObjectVisibility': Endpoint.unary(method=MethodInfo(name='UpdateObjectVisibility', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateObjectVisibilityRequest, output=public_dot_rbac__pb2.UpdateObjectVisibilityResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_object_visibility), '/textql.rpc.public.rbac.RBACService/UpdateObjectAccess': Endpoint.unary(method=MethodInfo(name='UpdateObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateObjectAccessRequest, output=public_dot_rbac__pb2.UpdateObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_object_access), '/textql.rpc.public.rbac.RBACService/GenerateShareLink': Endpoint.unary(method=MethodInfo(name='GenerateShareLink', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GenerateShareLinkRequest, output=public_dot_rbac__pb2.GenerateShareLinkResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.generate_share_link), '/textql.rpc.public.rbac.RBACService/RequestAccess': Endpoint.unary(method=MethodInfo(name='RequestAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RequestAccessRequest, output=public_dot_rbac__pb2.RequestAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.request_access), '/textql.rpc.public.rbac.RBACService/ListAccessRequests': Endpoint.unary(method=MethodInfo(name='ListAccessRequests', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListAccessRequestsRequest, output=public_dot_rbac__pb2.ListAccessRequestsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_access_requests), '/textql.rpc.public.rbac.RBACService/ApproveAccessRequest': Endpoint.unary(method=MethodInfo(name='ApproveAccessRequest', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ApproveAccessRequestRequest, output=public_dot_rbac__pb2.ApproveAccessRequestResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.approve_access_request), '/textql.rpc.public.rbac.RBACService/RejectAccessRequest': Endpoint.unary(method=MethodInfo(name='RejectAccessRequest', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RejectAccessRequestRequest, output=public_dot_rbac__pb2.RejectAccessRequestResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.reject_access_request), '/textql.rpc.public.rbac.RBACService/CreateApiKey': Endpoint.unary(method=MethodInfo(name='CreateApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateApiKeyRequest, output=public_dot_rbac__pb2.CreateApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_api_key), '/textql.rpc.public.rbac.RBACService/ListApiKeys': Endpoint.unary(method=MethodInfo(name='ListApiKeys', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListApiKeysRequest, output=public_dot_rbac__pb2.ListApiKeysResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_api_keys), '/textql.rpc.public.rbac.RBACService/RevokeApiKey': Endpoint.unary(method=MethodInfo(name='RevokeApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevokeApiKeyRequest, output=public_dot_rbac__pb2.RevokeApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revoke_api_key), '/textql.rpc.public.rbac.RBACService/RotateApiKey': Endpoint.unary(method=MethodInfo(name='RotateApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RotateApiKeyRequest, output=public_dot_rbac__pb2.RotateApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.rotate_api_key), '/textql.rpc.public.rbac.RBACService/GetEmbedUserApiKey': Endpoint.unary(method=MethodInfo(name='GetEmbedUserApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetEmbedUserApiKeyRequest, output=public_dot_rbac__pb2.GetEmbedUserApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_embed_user_api_key), '/textql.rpc.public.rbac.RBACService/CreateServiceAccount': Endpoint.unary(method=MethodInfo(name='CreateServiceAccount', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateServiceAccountRequest, output=public_dot_rbac__pb2.CreateServiceAccountResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_service_account), '/textql.rpc.public.rbac.RBACService/ListServiceAccounts': Endpoint.unary(method=MethodInfo(name='ListServiceAccounts', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListServiceAccountsRequest, output=public_dot_rbac__pb2.ListServiceAccountsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_service_accounts), '/textql.rpc.public.rbac.RBACService/DeleteServiceAccount': Endpoint.unary(method=MethodInfo(name='DeleteServiceAccount', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteServiceAccountRequest, output=public_dot_rbac__pb2.DeleteServiceAccountResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_service_account)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.rbac.RBACService' + +class RBACServiceClient(ConnectClient): + + async def create_role(self, request: public_dot_rbac__pb2.CreateRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.CreateRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateRoleRequest, output=public_dot_rbac__pb2.CreateRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_role(self, request: public_dot_rbac__pb2.GetRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetRoleRequest, output=public_dot_rbac__pb2.GetRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_roles(self, request: public_dot_rbac__pb2.ListRolesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListRolesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListRoles', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListRolesRequest, output=public_dot_rbac__pb2.ListRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_role(self, request: public_dot_rbac__pb2.UpdateRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.UpdateRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateRoleRequest, output=public_dot_rbac__pb2.UpdateRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_role(self, request: public_dot_rbac__pb2.DeleteRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.DeleteRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteRoleRequest, output=public_dot_rbac__pb2.DeleteRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_permissions(self, request: public_dot_rbac__pb2.ListPermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListPermissionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListPermissionsRequest, output=public_dot_rbac__pb2.ListPermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_role_permissions(self, request: public_dot_rbac__pb2.GetRolePermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetRolePermissionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetRolePermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetRolePermissionsRequest, output=public_dot_rbac__pb2.GetRolePermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def assign_permission_to_role(self, request: public_dot_rbac__pb2.AssignPermissionToRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.AssignPermissionToRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AssignPermissionToRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AssignPermissionToRoleRequest, output=public_dot_rbac__pb2.AssignPermissionToRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_permission_from_role(self, request: public_dot_rbac__pb2.RemovePermissionFromRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RemovePermissionFromRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemovePermissionFromRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemovePermissionFromRoleRequest, output=public_dot_rbac__pb2.RemovePermissionFromRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def set_role_permissions(self, request: public_dot_rbac__pb2.SetRolePermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.SetRolePermissionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetRolePermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.SetRolePermissionsRequest, output=public_dot_rbac__pb2.SetRolePermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def assign_role_to_member(self, request: public_dot_rbac__pb2.AssignRoleToMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.AssignRoleToMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AssignRoleToMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AssignRoleToMemberRequest, output=public_dot_rbac__pb2.AssignRoleToMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_role_from_member(self, request: public_dot_rbac__pb2.RemoveRoleFromMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RemoveRoleFromMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveRoleFromMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemoveRoleFromMemberRequest, output=public_dot_rbac__pb2.RemoveRoleFromMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_member_roles(self, request: public_dot_rbac__pb2.GetMemberRolesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetMemberRolesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMemberRoles', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetMemberRolesRequest, output=public_dot_rbac__pb2.GetMemberRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_current_member_roles_and_permissions(self, request: public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCurrentMemberRolesAndPermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsRequest, output=public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_group(self, request: public_dot_rbac__pb2.CreateGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.CreateGroupResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateGroupRequest, output=public_dot_rbac__pb2.CreateGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_group(self, request: public_dot_rbac__pb2.GetGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetGroupResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetGroupRequest, output=public_dot_rbac__pb2.GetGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_groups(self, request: public_dot_rbac__pb2.ListGroupsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListGroupsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListGroups', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListGroupsRequest, output=public_dot_rbac__pb2.ListGroupsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_group(self, request: public_dot_rbac__pb2.UpdateGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.UpdateGroupResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateGroupRequest, output=public_dot_rbac__pb2.UpdateGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_group(self, request: public_dot_rbac__pb2.DeleteGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.DeleteGroupResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteGroupRequest, output=public_dot_rbac__pb2.DeleteGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def add_group_member(self, request: public_dot_rbac__pb2.AddGroupMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.AddGroupMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='AddGroupMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AddGroupMemberRequest, output=public_dot_rbac__pb2.AddGroupMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_group_member(self, request: public_dot_rbac__pb2.RemoveGroupMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RemoveGroupMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemoveGroupMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemoveGroupMemberRequest, output=public_dot_rbac__pb2.RemoveGroupMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_member_groups(self, request: public_dot_rbac__pb2.GetMemberGroupsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetMemberGroupsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMemberGroups', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetMemberGroupsRequest, output=public_dot_rbac__pb2.GetMemberGroupsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def share_object_with_group(self, request: public_dot_rbac__pb2.ShareObjectWithGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ShareObjectWithGroupResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ShareObjectWithGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectWithGroupRequest, output=public_dot_rbac__pb2.ShareObjectWithGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_group_connectors(self, request: public_dot_rbac__pb2.ListGroupConnectorsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListGroupConnectorsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListGroupConnectors', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListGroupConnectorsRequest, output=public_dot_rbac__pb2.ListGroupConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def migrate_scim_group_mapping_to_group(self, request: public_dot_rbac__pb2.MigrateScimGroupMappingToGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.MigrateScimGroupMappingToGroupResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MigrateScimGroupMappingToGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.MigrateScimGroupMappingToGroupRequest, output=public_dot_rbac__pb2.MigrateScimGroupMappingToGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def migrate_all_scim_group_mappings(self, request: public_dot_rbac__pb2.MigrateAllScimGroupMappingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.MigrateAllScimGroupMappingsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MigrateAllScimGroupMappings', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.MigrateAllScimGroupMappingsRequest, output=public_dot_rbac__pb2.MigrateAllScimGroupMappingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def revert_scim_group_mapping_to_role(self, request: public_dot_rbac__pb2.RevertScimGroupMappingToRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RevertScimGroupMappingToRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevertScimGroupMappingToRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevertScimGroupMappingToRoleRequest, output=public_dot_rbac__pb2.RevertScimGroupMappingToRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def convert_role_to_group(self, request: public_dot_rbac__pb2.ConvertRoleToGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ConvertRoleToGroupResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ConvertRoleToGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ConvertRoleToGroupRequest, output=public_dot_rbac__pb2.ConvertRoleToGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_scim_group_mappings(self, request: public_dot_rbac__pb2.ListScimGroupMappingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListScimGroupMappingsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListScimGroupMappings', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListScimGroupMappingsRequest, output=public_dot_rbac__pb2.ListScimGroupMappingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def share_object(self, request: public_dot_rbac__pb2.ShareObjectRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ShareObjectResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ShareObject', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectRequest, output=public_dot_rbac__pb2.ShareObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def share_object_with_role(self, request: public_dot_rbac__pb2.ShareObjectWithRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ShareObjectWithRoleResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ShareObjectWithRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectWithRoleRequest, output=public_dot_rbac__pb2.ShareObjectWithRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def revoke_object_access(self, request: public_dot_rbac__pb2.RevokeObjectAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RevokeObjectAccessResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevokeObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevokeObjectAccessRequest, output=public_dot_rbac__pb2.RevokeObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_object_access(self, request: public_dot_rbac__pb2.GetObjectAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetObjectAccessResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetObjectAccessRequest, output=public_dot_rbac__pb2.GetObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def has_object_access(self, request: public_dot_rbac__pb2.HasObjectAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.HasObjectAccessResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='HasObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.HasObjectAccessRequest, output=public_dot_rbac__pb2.HasObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_object_visibility(self, request: public_dot_rbac__pb2.UpdateObjectVisibilityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.UpdateObjectVisibilityResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectVisibility', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateObjectVisibilityRequest, output=public_dot_rbac__pb2.UpdateObjectVisibilityResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_object_access(self, request: public_dot_rbac__pb2.UpdateObjectAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.UpdateObjectAccessResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateObjectAccessRequest, output=public_dot_rbac__pb2.UpdateObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def generate_share_link(self, request: public_dot_rbac__pb2.GenerateShareLinkRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GenerateShareLinkResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GenerateShareLink', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GenerateShareLinkRequest, output=public_dot_rbac__pb2.GenerateShareLinkResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def request_access(self, request: public_dot_rbac__pb2.RequestAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RequestAccessResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RequestAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RequestAccessRequest, output=public_dot_rbac__pb2.RequestAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_access_requests(self, request: public_dot_rbac__pb2.ListAccessRequestsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListAccessRequestsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListAccessRequests', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListAccessRequestsRequest, output=public_dot_rbac__pb2.ListAccessRequestsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def approve_access_request(self, request: public_dot_rbac__pb2.ApproveAccessRequestRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ApproveAccessRequestResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ApproveAccessRequest', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ApproveAccessRequestRequest, output=public_dot_rbac__pb2.ApproveAccessRequestResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def reject_access_request(self, request: public_dot_rbac__pb2.RejectAccessRequestRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RejectAccessRequestResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RejectAccessRequest', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RejectAccessRequestRequest, output=public_dot_rbac__pb2.RejectAccessRequestResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_api_key(self, request: public_dot_rbac__pb2.CreateApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.CreateApiKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateApiKeyRequest, output=public_dot_rbac__pb2.CreateApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_api_keys(self, request: public_dot_rbac__pb2.ListApiKeysRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListApiKeysResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListApiKeys', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListApiKeysRequest, output=public_dot_rbac__pb2.ListApiKeysResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def revoke_api_key(self, request: public_dot_rbac__pb2.RevokeApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RevokeApiKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevokeApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevokeApiKeyRequest, output=public_dot_rbac__pb2.RevokeApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def rotate_api_key(self, request: public_dot_rbac__pb2.RotateApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RotateApiKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RotateApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RotateApiKeyRequest, output=public_dot_rbac__pb2.RotateApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_embed_user_api_key(self, request: public_dot_rbac__pb2.GetEmbedUserApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetEmbedUserApiKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetEmbedUserApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetEmbedUserApiKeyRequest, output=public_dot_rbac__pb2.GetEmbedUserApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_service_account(self, request: public_dot_rbac__pb2.CreateServiceAccountRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.CreateServiceAccountResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateServiceAccount', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateServiceAccountRequest, output=public_dot_rbac__pb2.CreateServiceAccountResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_service_accounts(self, request: public_dot_rbac__pb2.ListServiceAccountsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListServiceAccountsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListServiceAccounts', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListServiceAccountsRequest, output=public_dot_rbac__pb2.ListServiceAccountsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_service_account(self, request: public_dot_rbac__pb2.DeleteServiceAccountRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.DeleteServiceAccountResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteServiceAccount', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteServiceAccountRequest, output=public_dot_rbac__pb2.DeleteServiceAccountResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class RBACServiceSync(Protocol): + + def create_role(self, request: public_dot_rbac__pb2.CreateRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.CreateRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_role(self, request: public_dot_rbac__pb2.GetRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_roles(self, request: public_dot_rbac__pb2.ListRolesRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListRolesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_role(self, request: public_dot_rbac__pb2.UpdateRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.UpdateRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_role(self, request: public_dot_rbac__pb2.DeleteRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.DeleteRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_permissions(self, request: public_dot_rbac__pb2.ListPermissionsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListPermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_role_permissions(self, request: public_dot_rbac__pb2.GetRolePermissionsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetRolePermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def assign_permission_to_role(self, request: public_dot_rbac__pb2.AssignPermissionToRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.AssignPermissionToRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_permission_from_role(self, request: public_dot_rbac__pb2.RemovePermissionFromRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RemovePermissionFromRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_role_permissions(self, request: public_dot_rbac__pb2.SetRolePermissionsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.SetRolePermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def assign_role_to_member(self, request: public_dot_rbac__pb2.AssignRoleToMemberRequest, ctx: RequestContext) -> public_dot_rbac__pb2.AssignRoleToMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_role_from_member(self, request: public_dot_rbac__pb2.RemoveRoleFromMemberRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RemoveRoleFromMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_member_roles(self, request: public_dot_rbac__pb2.GetMemberRolesRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetMemberRolesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_current_member_roles_and_permissions(self, request: public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_group(self, request: public_dot_rbac__pb2.CreateGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.CreateGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_group(self, request: public_dot_rbac__pb2.GetGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_groups(self, request: public_dot_rbac__pb2.ListGroupsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListGroupsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_group(self, request: public_dot_rbac__pb2.UpdateGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.UpdateGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_group(self, request: public_dot_rbac__pb2.DeleteGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.DeleteGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def add_group_member(self, request: public_dot_rbac__pb2.AddGroupMemberRequest, ctx: RequestContext) -> public_dot_rbac__pb2.AddGroupMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_group_member(self, request: public_dot_rbac__pb2.RemoveGroupMemberRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RemoveGroupMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_member_groups(self, request: public_dot_rbac__pb2.GetMemberGroupsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetMemberGroupsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def share_object_with_group(self, request: public_dot_rbac__pb2.ShareObjectWithGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ShareObjectWithGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_group_connectors(self, request: public_dot_rbac__pb2.ListGroupConnectorsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListGroupConnectorsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def migrate_scim_group_mapping_to_group(self, request: public_dot_rbac__pb2.MigrateScimGroupMappingToGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.MigrateScimGroupMappingToGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def migrate_all_scim_group_mappings(self, request: public_dot_rbac__pb2.MigrateAllScimGroupMappingsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.MigrateAllScimGroupMappingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revert_scim_group_mapping_to_role(self, request: public_dot_rbac__pb2.RevertScimGroupMappingToRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RevertScimGroupMappingToRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def convert_role_to_group(self, request: public_dot_rbac__pb2.ConvertRoleToGroupRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ConvertRoleToGroupResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_scim_group_mappings(self, request: public_dot_rbac__pb2.ListScimGroupMappingsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListScimGroupMappingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def share_object(self, request: public_dot_rbac__pb2.ShareObjectRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ShareObjectResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def share_object_with_role(self, request: public_dot_rbac__pb2.ShareObjectWithRoleRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ShareObjectWithRoleResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revoke_object_access(self, request: public_dot_rbac__pb2.RevokeObjectAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RevokeObjectAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_object_access(self, request: public_dot_rbac__pb2.GetObjectAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetObjectAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def has_object_access(self, request: public_dot_rbac__pb2.HasObjectAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.HasObjectAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_object_visibility(self, request: public_dot_rbac__pb2.UpdateObjectVisibilityRequest, ctx: RequestContext) -> public_dot_rbac__pb2.UpdateObjectVisibilityResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_object_access(self, request: public_dot_rbac__pb2.UpdateObjectAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.UpdateObjectAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def generate_share_link(self, request: public_dot_rbac__pb2.GenerateShareLinkRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GenerateShareLinkResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def request_access(self, request: public_dot_rbac__pb2.RequestAccessRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RequestAccessResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_access_requests(self, request: public_dot_rbac__pb2.ListAccessRequestsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListAccessRequestsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def approve_access_request(self, request: public_dot_rbac__pb2.ApproveAccessRequestRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ApproveAccessRequestResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def reject_access_request(self, request: public_dot_rbac__pb2.RejectAccessRequestRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RejectAccessRequestResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_api_key(self, request: public_dot_rbac__pb2.CreateApiKeyRequest, ctx: RequestContext) -> public_dot_rbac__pb2.CreateApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_api_keys(self, request: public_dot_rbac__pb2.ListApiKeysRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListApiKeysResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revoke_api_key(self, request: public_dot_rbac__pb2.RevokeApiKeyRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RevokeApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def rotate_api_key(self, request: public_dot_rbac__pb2.RotateApiKeyRequest, ctx: RequestContext) -> public_dot_rbac__pb2.RotateApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_embed_user_api_key(self, request: public_dot_rbac__pb2.GetEmbedUserApiKeyRequest, ctx: RequestContext) -> public_dot_rbac__pb2.GetEmbedUserApiKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_service_account(self, request: public_dot_rbac__pb2.CreateServiceAccountRequest, ctx: RequestContext) -> public_dot_rbac__pb2.CreateServiceAccountResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_service_accounts(self, request: public_dot_rbac__pb2.ListServiceAccountsRequest, ctx: RequestContext) -> public_dot_rbac__pb2.ListServiceAccountsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_service_account(self, request: public_dot_rbac__pb2.DeleteServiceAccountRequest, ctx: RequestContext) -> public_dot_rbac__pb2.DeleteServiceAccountResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class RBACServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: RBACServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.rbac.RBACService/CreateRole': EndpointSync.unary(method=MethodInfo(name='CreateRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateRoleRequest, output=public_dot_rbac__pb2.CreateRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_role), '/textql.rpc.public.rbac.RBACService/GetRole': EndpointSync.unary(method=MethodInfo(name='GetRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetRoleRequest, output=public_dot_rbac__pb2.GetRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_role), '/textql.rpc.public.rbac.RBACService/ListRoles': EndpointSync.unary(method=MethodInfo(name='ListRoles', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListRolesRequest, output=public_dot_rbac__pb2.ListRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_roles), '/textql.rpc.public.rbac.RBACService/UpdateRole': EndpointSync.unary(method=MethodInfo(name='UpdateRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateRoleRequest, output=public_dot_rbac__pb2.UpdateRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_role), '/textql.rpc.public.rbac.RBACService/DeleteRole': EndpointSync.unary(method=MethodInfo(name='DeleteRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteRoleRequest, output=public_dot_rbac__pb2.DeleteRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_role), '/textql.rpc.public.rbac.RBACService/ListPermissions': EndpointSync.unary(method=MethodInfo(name='ListPermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListPermissionsRequest, output=public_dot_rbac__pb2.ListPermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_permissions), '/textql.rpc.public.rbac.RBACService/GetRolePermissions': EndpointSync.unary(method=MethodInfo(name='GetRolePermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetRolePermissionsRequest, output=public_dot_rbac__pb2.GetRolePermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_role_permissions), '/textql.rpc.public.rbac.RBACService/AssignPermissionToRole': EndpointSync.unary(method=MethodInfo(name='AssignPermissionToRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AssignPermissionToRoleRequest, output=public_dot_rbac__pb2.AssignPermissionToRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.assign_permission_to_role), '/textql.rpc.public.rbac.RBACService/RemovePermissionFromRole': EndpointSync.unary(method=MethodInfo(name='RemovePermissionFromRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemovePermissionFromRoleRequest, output=public_dot_rbac__pb2.RemovePermissionFromRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_permission_from_role), '/textql.rpc.public.rbac.RBACService/SetRolePermissions': EndpointSync.unary(method=MethodInfo(name='SetRolePermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.SetRolePermissionsRequest, output=public_dot_rbac__pb2.SetRolePermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_role_permissions), '/textql.rpc.public.rbac.RBACService/AssignRoleToMember': EndpointSync.unary(method=MethodInfo(name='AssignRoleToMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AssignRoleToMemberRequest, output=public_dot_rbac__pb2.AssignRoleToMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.assign_role_to_member), '/textql.rpc.public.rbac.RBACService/RemoveRoleFromMember': EndpointSync.unary(method=MethodInfo(name='RemoveRoleFromMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemoveRoleFromMemberRequest, output=public_dot_rbac__pb2.RemoveRoleFromMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_role_from_member), '/textql.rpc.public.rbac.RBACService/GetMemberRoles': EndpointSync.unary(method=MethodInfo(name='GetMemberRoles', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetMemberRolesRequest, output=public_dot_rbac__pb2.GetMemberRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_member_roles), '/textql.rpc.public.rbac.RBACService/GetCurrentMemberRolesAndPermissions': EndpointSync.unary(method=MethodInfo(name='GetCurrentMemberRolesAndPermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsRequest, output=public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_current_member_roles_and_permissions), '/textql.rpc.public.rbac.RBACService/CreateGroup': EndpointSync.unary(method=MethodInfo(name='CreateGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateGroupRequest, output=public_dot_rbac__pb2.CreateGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_group), '/textql.rpc.public.rbac.RBACService/GetGroup': EndpointSync.unary(method=MethodInfo(name='GetGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetGroupRequest, output=public_dot_rbac__pb2.GetGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_group), '/textql.rpc.public.rbac.RBACService/ListGroups': EndpointSync.unary(method=MethodInfo(name='ListGroups', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListGroupsRequest, output=public_dot_rbac__pb2.ListGroupsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_groups), '/textql.rpc.public.rbac.RBACService/UpdateGroup': EndpointSync.unary(method=MethodInfo(name='UpdateGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateGroupRequest, output=public_dot_rbac__pb2.UpdateGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_group), '/textql.rpc.public.rbac.RBACService/DeleteGroup': EndpointSync.unary(method=MethodInfo(name='DeleteGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteGroupRequest, output=public_dot_rbac__pb2.DeleteGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_group), '/textql.rpc.public.rbac.RBACService/AddGroupMember': EndpointSync.unary(method=MethodInfo(name='AddGroupMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AddGroupMemberRequest, output=public_dot_rbac__pb2.AddGroupMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.add_group_member), '/textql.rpc.public.rbac.RBACService/RemoveGroupMember': EndpointSync.unary(method=MethodInfo(name='RemoveGroupMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemoveGroupMemberRequest, output=public_dot_rbac__pb2.RemoveGroupMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_group_member), '/textql.rpc.public.rbac.RBACService/GetMemberGroups': EndpointSync.unary(method=MethodInfo(name='GetMemberGroups', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetMemberGroupsRequest, output=public_dot_rbac__pb2.GetMemberGroupsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_member_groups), '/textql.rpc.public.rbac.RBACService/ShareObjectWithGroup': EndpointSync.unary(method=MethodInfo(name='ShareObjectWithGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectWithGroupRequest, output=public_dot_rbac__pb2.ShareObjectWithGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.share_object_with_group), '/textql.rpc.public.rbac.RBACService/ListGroupConnectors': EndpointSync.unary(method=MethodInfo(name='ListGroupConnectors', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListGroupConnectorsRequest, output=public_dot_rbac__pb2.ListGroupConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_group_connectors), '/textql.rpc.public.rbac.RBACService/MigrateScimGroupMappingToGroup': EndpointSync.unary(method=MethodInfo(name='MigrateScimGroupMappingToGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.MigrateScimGroupMappingToGroupRequest, output=public_dot_rbac__pb2.MigrateScimGroupMappingToGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.migrate_scim_group_mapping_to_group), '/textql.rpc.public.rbac.RBACService/MigrateAllScimGroupMappings': EndpointSync.unary(method=MethodInfo(name='MigrateAllScimGroupMappings', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.MigrateAllScimGroupMappingsRequest, output=public_dot_rbac__pb2.MigrateAllScimGroupMappingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.migrate_all_scim_group_mappings), '/textql.rpc.public.rbac.RBACService/RevertScimGroupMappingToRole': EndpointSync.unary(method=MethodInfo(name='RevertScimGroupMappingToRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevertScimGroupMappingToRoleRequest, output=public_dot_rbac__pb2.RevertScimGroupMappingToRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revert_scim_group_mapping_to_role), '/textql.rpc.public.rbac.RBACService/ConvertRoleToGroup': EndpointSync.unary(method=MethodInfo(name='ConvertRoleToGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ConvertRoleToGroupRequest, output=public_dot_rbac__pb2.ConvertRoleToGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.convert_role_to_group), '/textql.rpc.public.rbac.RBACService/ListScimGroupMappings': EndpointSync.unary(method=MethodInfo(name='ListScimGroupMappings', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListScimGroupMappingsRequest, output=public_dot_rbac__pb2.ListScimGroupMappingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_scim_group_mappings), '/textql.rpc.public.rbac.RBACService/ShareObject': EndpointSync.unary(method=MethodInfo(name='ShareObject', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectRequest, output=public_dot_rbac__pb2.ShareObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.share_object), '/textql.rpc.public.rbac.RBACService/ShareObjectWithRole': EndpointSync.unary(method=MethodInfo(name='ShareObjectWithRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectWithRoleRequest, output=public_dot_rbac__pb2.ShareObjectWithRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.share_object_with_role), '/textql.rpc.public.rbac.RBACService/RevokeObjectAccess': EndpointSync.unary(method=MethodInfo(name='RevokeObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevokeObjectAccessRequest, output=public_dot_rbac__pb2.RevokeObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revoke_object_access), '/textql.rpc.public.rbac.RBACService/GetObjectAccess': EndpointSync.unary(method=MethodInfo(name='GetObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetObjectAccessRequest, output=public_dot_rbac__pb2.GetObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_object_access), '/textql.rpc.public.rbac.RBACService/HasObjectAccess': EndpointSync.unary(method=MethodInfo(name='HasObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.HasObjectAccessRequest, output=public_dot_rbac__pb2.HasObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.has_object_access), '/textql.rpc.public.rbac.RBACService/UpdateObjectVisibility': EndpointSync.unary(method=MethodInfo(name='UpdateObjectVisibility', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateObjectVisibilityRequest, output=public_dot_rbac__pb2.UpdateObjectVisibilityResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_object_visibility), '/textql.rpc.public.rbac.RBACService/UpdateObjectAccess': EndpointSync.unary(method=MethodInfo(name='UpdateObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateObjectAccessRequest, output=public_dot_rbac__pb2.UpdateObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_object_access), '/textql.rpc.public.rbac.RBACService/GenerateShareLink': EndpointSync.unary(method=MethodInfo(name='GenerateShareLink', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GenerateShareLinkRequest, output=public_dot_rbac__pb2.GenerateShareLinkResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.generate_share_link), '/textql.rpc.public.rbac.RBACService/RequestAccess': EndpointSync.unary(method=MethodInfo(name='RequestAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RequestAccessRequest, output=public_dot_rbac__pb2.RequestAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.request_access), '/textql.rpc.public.rbac.RBACService/ListAccessRequests': EndpointSync.unary(method=MethodInfo(name='ListAccessRequests', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListAccessRequestsRequest, output=public_dot_rbac__pb2.ListAccessRequestsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_access_requests), '/textql.rpc.public.rbac.RBACService/ApproveAccessRequest': EndpointSync.unary(method=MethodInfo(name='ApproveAccessRequest', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ApproveAccessRequestRequest, output=public_dot_rbac__pb2.ApproveAccessRequestResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.approve_access_request), '/textql.rpc.public.rbac.RBACService/RejectAccessRequest': EndpointSync.unary(method=MethodInfo(name='RejectAccessRequest', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RejectAccessRequestRequest, output=public_dot_rbac__pb2.RejectAccessRequestResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.reject_access_request), '/textql.rpc.public.rbac.RBACService/CreateApiKey': EndpointSync.unary(method=MethodInfo(name='CreateApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateApiKeyRequest, output=public_dot_rbac__pb2.CreateApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_api_key), '/textql.rpc.public.rbac.RBACService/ListApiKeys': EndpointSync.unary(method=MethodInfo(name='ListApiKeys', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListApiKeysRequest, output=public_dot_rbac__pb2.ListApiKeysResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_api_keys), '/textql.rpc.public.rbac.RBACService/RevokeApiKey': EndpointSync.unary(method=MethodInfo(name='RevokeApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevokeApiKeyRequest, output=public_dot_rbac__pb2.RevokeApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revoke_api_key), '/textql.rpc.public.rbac.RBACService/RotateApiKey': EndpointSync.unary(method=MethodInfo(name='RotateApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RotateApiKeyRequest, output=public_dot_rbac__pb2.RotateApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.rotate_api_key), '/textql.rpc.public.rbac.RBACService/GetEmbedUserApiKey': EndpointSync.unary(method=MethodInfo(name='GetEmbedUserApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetEmbedUserApiKeyRequest, output=public_dot_rbac__pb2.GetEmbedUserApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_embed_user_api_key), '/textql.rpc.public.rbac.RBACService/CreateServiceAccount': EndpointSync.unary(method=MethodInfo(name='CreateServiceAccount', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateServiceAccountRequest, output=public_dot_rbac__pb2.CreateServiceAccountResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_service_account), '/textql.rpc.public.rbac.RBACService/ListServiceAccounts': EndpointSync.unary(method=MethodInfo(name='ListServiceAccounts', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListServiceAccountsRequest, output=public_dot_rbac__pb2.ListServiceAccountsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_service_accounts), '/textql.rpc.public.rbac.RBACService/DeleteServiceAccount': EndpointSync.unary(method=MethodInfo(name='DeleteServiceAccount', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteServiceAccountRequest, output=public_dot_rbac__pb2.DeleteServiceAccountResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_service_account)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.rbac.RBACService' + +class RBACServiceClientSync(ConnectClientSync): + + def create_role(self, request: public_dot_rbac__pb2.CreateRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.CreateRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateRoleRequest, output=public_dot_rbac__pb2.CreateRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_role(self, request: public_dot_rbac__pb2.GetRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetRoleRequest, output=public_dot_rbac__pb2.GetRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_roles(self, request: public_dot_rbac__pb2.ListRolesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListRolesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListRoles', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListRolesRequest, output=public_dot_rbac__pb2.ListRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_role(self, request: public_dot_rbac__pb2.UpdateRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.UpdateRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateRoleRequest, output=public_dot_rbac__pb2.UpdateRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_role(self, request: public_dot_rbac__pb2.DeleteRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.DeleteRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteRoleRequest, output=public_dot_rbac__pb2.DeleteRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_permissions(self, request: public_dot_rbac__pb2.ListPermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListPermissionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListPermissionsRequest, output=public_dot_rbac__pb2.ListPermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_role_permissions(self, request: public_dot_rbac__pb2.GetRolePermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetRolePermissionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetRolePermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetRolePermissionsRequest, output=public_dot_rbac__pb2.GetRolePermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def assign_permission_to_role(self, request: public_dot_rbac__pb2.AssignPermissionToRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.AssignPermissionToRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AssignPermissionToRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AssignPermissionToRoleRequest, output=public_dot_rbac__pb2.AssignPermissionToRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_permission_from_role(self, request: public_dot_rbac__pb2.RemovePermissionFromRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RemovePermissionFromRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemovePermissionFromRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemovePermissionFromRoleRequest, output=public_dot_rbac__pb2.RemovePermissionFromRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def set_role_permissions(self, request: public_dot_rbac__pb2.SetRolePermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.SetRolePermissionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetRolePermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.SetRolePermissionsRequest, output=public_dot_rbac__pb2.SetRolePermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def assign_role_to_member(self, request: public_dot_rbac__pb2.AssignRoleToMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.AssignRoleToMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AssignRoleToMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AssignRoleToMemberRequest, output=public_dot_rbac__pb2.AssignRoleToMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_role_from_member(self, request: public_dot_rbac__pb2.RemoveRoleFromMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RemoveRoleFromMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveRoleFromMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemoveRoleFromMemberRequest, output=public_dot_rbac__pb2.RemoveRoleFromMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_member_roles(self, request: public_dot_rbac__pb2.GetMemberRolesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetMemberRolesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMemberRoles', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetMemberRolesRequest, output=public_dot_rbac__pb2.GetMemberRolesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_current_member_roles_and_permissions(self, request: public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCurrentMemberRolesAndPermissions', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsRequest, output=public_dot_rbac__pb2.GetCurrentMemberRolesAndPermissionsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_group(self, request: public_dot_rbac__pb2.CreateGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.CreateGroupResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateGroupRequest, output=public_dot_rbac__pb2.CreateGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_group(self, request: public_dot_rbac__pb2.GetGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetGroupResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetGroupRequest, output=public_dot_rbac__pb2.GetGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_groups(self, request: public_dot_rbac__pb2.ListGroupsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListGroupsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListGroups', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListGroupsRequest, output=public_dot_rbac__pb2.ListGroupsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_group(self, request: public_dot_rbac__pb2.UpdateGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.UpdateGroupResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateGroupRequest, output=public_dot_rbac__pb2.UpdateGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_group(self, request: public_dot_rbac__pb2.DeleteGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.DeleteGroupResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteGroupRequest, output=public_dot_rbac__pb2.DeleteGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def add_group_member(self, request: public_dot_rbac__pb2.AddGroupMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.AddGroupMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='AddGroupMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.AddGroupMemberRequest, output=public_dot_rbac__pb2.AddGroupMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_group_member(self, request: public_dot_rbac__pb2.RemoveGroupMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RemoveGroupMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemoveGroupMember', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RemoveGroupMemberRequest, output=public_dot_rbac__pb2.RemoveGroupMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_member_groups(self, request: public_dot_rbac__pb2.GetMemberGroupsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetMemberGroupsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMemberGroups', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetMemberGroupsRequest, output=public_dot_rbac__pb2.GetMemberGroupsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def share_object_with_group(self, request: public_dot_rbac__pb2.ShareObjectWithGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ShareObjectWithGroupResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ShareObjectWithGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectWithGroupRequest, output=public_dot_rbac__pb2.ShareObjectWithGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_group_connectors(self, request: public_dot_rbac__pb2.ListGroupConnectorsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListGroupConnectorsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListGroupConnectors', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListGroupConnectorsRequest, output=public_dot_rbac__pb2.ListGroupConnectorsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def migrate_scim_group_mapping_to_group(self, request: public_dot_rbac__pb2.MigrateScimGroupMappingToGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.MigrateScimGroupMappingToGroupResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MigrateScimGroupMappingToGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.MigrateScimGroupMappingToGroupRequest, output=public_dot_rbac__pb2.MigrateScimGroupMappingToGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def migrate_all_scim_group_mappings(self, request: public_dot_rbac__pb2.MigrateAllScimGroupMappingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.MigrateAllScimGroupMappingsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MigrateAllScimGroupMappings', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.MigrateAllScimGroupMappingsRequest, output=public_dot_rbac__pb2.MigrateAllScimGroupMappingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def revert_scim_group_mapping_to_role(self, request: public_dot_rbac__pb2.RevertScimGroupMappingToRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RevertScimGroupMappingToRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevertScimGroupMappingToRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevertScimGroupMappingToRoleRequest, output=public_dot_rbac__pb2.RevertScimGroupMappingToRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def convert_role_to_group(self, request: public_dot_rbac__pb2.ConvertRoleToGroupRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ConvertRoleToGroupResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ConvertRoleToGroup', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ConvertRoleToGroupRequest, output=public_dot_rbac__pb2.ConvertRoleToGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_scim_group_mappings(self, request: public_dot_rbac__pb2.ListScimGroupMappingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListScimGroupMappingsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListScimGroupMappings', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListScimGroupMappingsRequest, output=public_dot_rbac__pb2.ListScimGroupMappingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def share_object(self, request: public_dot_rbac__pb2.ShareObjectRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ShareObjectResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ShareObject', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectRequest, output=public_dot_rbac__pb2.ShareObjectResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def share_object_with_role(self, request: public_dot_rbac__pb2.ShareObjectWithRoleRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ShareObjectWithRoleResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ShareObjectWithRole', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ShareObjectWithRoleRequest, output=public_dot_rbac__pb2.ShareObjectWithRoleResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def revoke_object_access(self, request: public_dot_rbac__pb2.RevokeObjectAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RevokeObjectAccessResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevokeObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevokeObjectAccessRequest, output=public_dot_rbac__pb2.RevokeObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_object_access(self, request: public_dot_rbac__pb2.GetObjectAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetObjectAccessResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetObjectAccessRequest, output=public_dot_rbac__pb2.GetObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def has_object_access(self, request: public_dot_rbac__pb2.HasObjectAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.HasObjectAccessResponse: + return self.execute_unary(request=request, method=MethodInfo(name='HasObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.HasObjectAccessRequest, output=public_dot_rbac__pb2.HasObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_object_visibility(self, request: public_dot_rbac__pb2.UpdateObjectVisibilityRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.UpdateObjectVisibilityResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectVisibility', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateObjectVisibilityRequest, output=public_dot_rbac__pb2.UpdateObjectVisibilityResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_object_access(self, request: public_dot_rbac__pb2.UpdateObjectAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.UpdateObjectAccessResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateObjectAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.UpdateObjectAccessRequest, output=public_dot_rbac__pb2.UpdateObjectAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def generate_share_link(self, request: public_dot_rbac__pb2.GenerateShareLinkRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GenerateShareLinkResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GenerateShareLink', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GenerateShareLinkRequest, output=public_dot_rbac__pb2.GenerateShareLinkResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def request_access(self, request: public_dot_rbac__pb2.RequestAccessRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RequestAccessResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RequestAccess', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RequestAccessRequest, output=public_dot_rbac__pb2.RequestAccessResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_access_requests(self, request: public_dot_rbac__pb2.ListAccessRequestsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListAccessRequestsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListAccessRequests', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListAccessRequestsRequest, output=public_dot_rbac__pb2.ListAccessRequestsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def approve_access_request(self, request: public_dot_rbac__pb2.ApproveAccessRequestRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ApproveAccessRequestResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ApproveAccessRequest', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ApproveAccessRequestRequest, output=public_dot_rbac__pb2.ApproveAccessRequestResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def reject_access_request(self, request: public_dot_rbac__pb2.RejectAccessRequestRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RejectAccessRequestResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RejectAccessRequest', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RejectAccessRequestRequest, output=public_dot_rbac__pb2.RejectAccessRequestResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_api_key(self, request: public_dot_rbac__pb2.CreateApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.CreateApiKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateApiKeyRequest, output=public_dot_rbac__pb2.CreateApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_api_keys(self, request: public_dot_rbac__pb2.ListApiKeysRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListApiKeysResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListApiKeys', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListApiKeysRequest, output=public_dot_rbac__pb2.ListApiKeysResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def revoke_api_key(self, request: public_dot_rbac__pb2.RevokeApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RevokeApiKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevokeApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RevokeApiKeyRequest, output=public_dot_rbac__pb2.RevokeApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def rotate_api_key(self, request: public_dot_rbac__pb2.RotateApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.RotateApiKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RotateApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.RotateApiKeyRequest, output=public_dot_rbac__pb2.RotateApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_embed_user_api_key(self, request: public_dot_rbac__pb2.GetEmbedUserApiKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.GetEmbedUserApiKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetEmbedUserApiKey', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.GetEmbedUserApiKeyRequest, output=public_dot_rbac__pb2.GetEmbedUserApiKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_service_account(self, request: public_dot_rbac__pb2.CreateServiceAccountRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.CreateServiceAccountResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateServiceAccount', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.CreateServiceAccountRequest, output=public_dot_rbac__pb2.CreateServiceAccountResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_service_accounts(self, request: public_dot_rbac__pb2.ListServiceAccountsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.ListServiceAccountsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListServiceAccounts', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.ListServiceAccountsRequest, output=public_dot_rbac__pb2.ListServiceAccountsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_service_account(self, request: public_dot_rbac__pb2.DeleteServiceAccountRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_rbac__pb2.DeleteServiceAccountResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteServiceAccount', service_name='textql.rpc.public.rbac.RBACService', input=public_dot_rbac__pb2.DeleteServiceAccountRequest, output=public_dot_rbac__pb2.DeleteServiceAccountResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/rbac_pb2.py b/src/textql_sdk/_connect/public/rbac_pb2.py new file mode 100644 index 0000000..6bbc7c8 --- /dev/null +++ b/src/textql_sdk/_connect/public/rbac_pb2.py @@ -0,0 +1,253 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/rbac.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 +from ..public import common_pb2 as public_dot_common__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11public/rbac.proto\x12\x16textql.rpc.public.rbac\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x13public/common.proto"\xd8\x03\n\x04Role\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12\x1b\n\tis_system\x18\x05 \x01(\x08R\x08isSystem\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12-\n\x10default_model_id\x18\x08 \x01(\x05H\x00R\x0edefaultModelId\x88\x01\x01\x12*\n\x11allowed_model_ids\x18\t \x03(\x05R\x0fallowedModelIds\x121\n\x12allow_model_choice\x18\n \x01(\x08H\x01R\x10allowModelChoice\x88\x01\x01\x12&\n\x0fis_scim_managed\x18\x0b \x01(\x08R\risScimManagedB\x13\n\x11_default_model_idB\x15\n\x13_allow_model_choice"\xad\x01\n\nPermission\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n\x08resource\x18\x02 \x01(\tR\x08resource\x12\x16\n\x06action\x18\x03 \x01(\tR\x06action\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"\xe3\x04\n\x0cObjectAccess\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x1f\n\x0bobject_type\x18\x03 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x04 \x01(\tR\x08objectId\x12"\n\ncreated_by\x18\x05 \x01(\tH\x00R\tcreatedBy\x88\x01\x01\x12\x1b\n\tis_public\x18\x06 \x01(\x08R\x08isPublic\x12 \n\tmember_id\x18\x07 \x01(\tH\x01R\x08memberId\x88\x01\x01\x12\x1c\n\x07role_id\x18\x08 \x01(\tH\x02R\x06roleId\x88\x01\x01\x12\x1f\n\x0baccess_type\x18\t \x01(\tR\naccessType\x12"\n\ngranted_by\x18\n \x01(\tH\x03R\tgrantedBy\x88\x01\x01\x12>\n\nexpires_at\x18\x0b \x01(\x0b2\x1a.google.protobuf.TimestampH\x04R\texpiresAt\x88\x01\x01\x129\n\ncreated_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1e\n\x08group_id\x18\x0e \x01(\tH\x05R\x07groupId\x88\x01\x01B\r\n\x0b_created_byB\x0c\n\n_member_idB\n\n\x08_role_idB\r\n\x0b_granted_byB\r\n\x0b_expires_atB\x0b\n\t_group_id"\xeb\x02\n\x05Group\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12\x1b\n\tis_system\x18\x05 \x01(\x08R\x08isSystem\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12&\n\x0fis_scim_managed\x18\x08 \x01(\x08R\risScimManaged\x12!\n\x0cmember_count\x18\t \x01(\x05R\x0bmemberCount\x12\'\n\x0fconnector_count\x18\n \x01(\x05R\x0econnectorCount"I\n\x11CreateRoleRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription"F\n\x12CreateRoleResponse\x120\n\x04role\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.rbac.RoleR\x04role")\n\x0eGetRoleRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId"C\n\x0fGetRoleResponse\x120\n\x04role\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.rbac.RoleR\x04role"\x12\n\x10ListRolesRequest"G\n\x11ListRolesResponse\x122\n\x05roles\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.rbac.RoleR\x05roles"\xf0\x02\n\x11UpdateRoleRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12J\n\x10default_model_id\x18\x04 \x01(\x0b2\x1b.google.protobuf.Int32ValueH\x00R\x0edefaultModelId\x88\x01\x01\x12*\n\x11allowed_model_ids\x18\x05 \x03(\x05R\x0fallowedModelIds\x12H\n\x12allow_model_choice\x18\x06 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x10allowModelChoice\x125\n\x17clear_allowed_model_ids\x18\x07 \x01(\x08R\x14clearAllowedModelIdsB\x13\n\x11_default_model_id"F\n\x12UpdateRoleResponse\x120\n\x04role\x18\x01 \x01(\x0b2\x1c.textql.rpc.public.rbac.RoleR\x04role",\n\x11DeleteRoleRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId".\n\x12DeleteRoleResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x18\n\x16ListPermissionsRequest"_\n\x17ListPermissionsResponse\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".textql.rpc.public.rbac.PermissionR\x0bpermissions"4\n\x19GetRolePermissionsRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId"b\n\x1aGetRolePermissionsResponse\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".textql.rpc.public.rbac.PermissionR\x0bpermissions"]\n\x1dAssignPermissionToRoleRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId\x12#\n\rpermission_id\x18\x02 \x01(\tR\x0cpermissionId":\n\x1eAssignPermissionToRoleResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"_\n\x1fRemovePermissionFromRoleRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId\x12#\n\rpermission_id\x18\x02 \x01(\tR\x0cpermissionId"<\n RemovePermissionFromRoleResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x96\x01\n\x19SetRolePermissionsRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId\x12,\n\x12add_permission_ids\x18\x02 \x03(\tR\x10addPermissionIds\x122\n\x15remove_permission_ids\x18\x03 \x03(\tR\x13removePermissionIds"6\n\x1aSetRolePermissionsResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"Q\n\x19AssignRoleToMemberRequest\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x17\n\x07role_id\x18\x02 \x01(\tR\x06roleId"6\n\x1aAssignRoleToMemberResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"S\n\x1bRemoveRoleFromMemberRequest\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x17\n\x07role_id\x18\x02 \x01(\tR\x06roleId"8\n\x1cRemoveRoleFromMemberResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"6\n\x15GetMemberRolesRequest\x12\x1d\n\nmember_ids\x18\x01 \x03(\tR\tmemberIds"\xe1\x01\n\x16GetMemberRolesResponse\x12b\n\x0cmember_roles\x18\x01 \x03(\x0b2?.textql.rpc.public.rbac.GetMemberRolesResponse.MemberRolesEntryR\x0bmemberRoles\x1ac\n\x10MemberRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x129\n\x05value\x18\x02 \x01(\x0b2#.textql.rpc.public.rbac.MemberRolesR\x05value:\x028\x01"A\n\x0bMemberRoles\x122\n\x05roles\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.rbac.RoleR\x05roles",\n*GetCurrentMemberRolesAndPermissionsRequest"\xa7\x01\n+GetCurrentMemberRolesAndPermissionsResponse\x122\n\x05roles\x18\x01 \x03(\x0b2\x1c.textql.rpc.public.rbac.RoleR\x05roles\x12D\n\x0bpermissions\x18\x02 \x03(\x0b2".textql.rpc.public.rbac.PermissionR\x0bpermissions"\xfc\x01\n\x12ShareObjectRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12\x1f\n\x0baccess_type\x18\x04 \x01(\tR\naccessType\x12>\n\nexpires_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12\x1b\n\tis_public\x18\x06 \x01(\x08R\x08isPublicB\r\n\x0b_expires_at"/\n\x13ShareObjectResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x80\x02\n\x1aShareObjectWithRoleRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x12\x17\n\x07role_id\x18\x03 \x01(\tR\x06roleId\x12\x1f\n\x0baccess_type\x18\x04 \x01(\tR\naccessType\x12>\n\nexpires_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12\x1b\n\tis_public\x18\x06 \x01(\x08R\x08isPublicB\r\n\x0b_expires_at"7\n\x1bShareObjectWithRoleResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xe0\x01\n\x19RevokeObjectAccessRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x12 \n\tmember_id\x18\x03 \x01(\tH\x00R\x08memberId\x88\x01\x01\x12\x1c\n\x07role_id\x18\x04 \x01(\tH\x01R\x06roleId\x88\x01\x01\x12\x1e\n\x08group_id\x18\x05 \x01(\tH\x02R\x07groupId\x88\x01\x01B\x0c\n\n_member_idB\n\n\x08_role_idB\x0b\n\t_group_id"6\n\x1aRevokeObjectAccessResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"V\n\x16GetObjectAccessRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId"f\n\x17GetObjectAccessResponse\x12K\n\x0eaccess_entries\x18\x01 \x03(\x0b2$.textql.rpc.public.rbac.ObjectAccessR\raccessEntries"\xdd\x01\n\x16HasObjectAccessRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x12 \n\tmember_id\x18\x03 \x01(\tH\x00R\x08memberId\x88\x01\x01\x12\x1c\n\x07role_id\x18\x04 \x01(\tH\x01R\x06roleId\x88\x01\x01\x12\x1e\n\x08group_id\x18\x05 \x01(\tH\x02R\x07groupId\x88\x01\x01B\x0c\n\n_member_idB\n\n\x08_role_idB\x0b\n\t_group_id"8\n\x17HasObjectAccessResponse\x12\x1d\n\nhas_access\x18\x01 \x01(\x08R\thasAccess"z\n\x1dUpdateObjectVisibilityRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x12\x1b\n\tis_public\x18\x03 \x01(\x08R\x08isPublic":\n\x1eUpdateObjectVisibilityResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xa8\x01\n\x19UpdateObjectAccessRequest\x12\x1b\n\taccess_id\x18\x01 \x01(\tR\x08accessId\x12\x1f\n\x0baccess_type\x18\x02 \x01(\tR\naccessType\x12>\n\nexpires_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01B\r\n\x0b_expires_at"6\n\x1aUpdateObjectAccessResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"X\n\x18GenerateShareLinkRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId":\n\x19GenerateShareLinkResponse\x12\x1d\n\nshare_link\x18\x01 \x01(\tR\tshareLink"\xb6\x04\n\rAccessRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x1f\n\x0bobject_type\x18\x03 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x04 \x01(\tR\x08objectId\x12\x1b\n\tmember_id\x18\x05 \x01(\tR\x08memberId\x122\n\x15requested_access_type\x18\x06 \x01(\tR\x13requestedAccessType\x12$\n\rjustification\x18\x07 \x01(\tR\rjustification\x12,\n\x0frequest_message\x18\x08 \x01(\tH\x00R\x0erequestMessage\x88\x01\x01\x12\x16\n\x06status\x18\t \x01(\tR\x06status\x12$\n\x0breviewed_by\x18\n \x01(\tH\x01R\nreviewedBy\x88\x01\x01\x12.\n\x10rejection_reason\x18\x0b \x01(\tH\x02R\x0frejectionReason\x88\x01\x01\x129\n\ncreated_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\x12\n\x10_request_messageB\x0e\n\x0c_reviewed_byB\x13\n\x11_rejection_reason"\xf0\x01\n\x14RequestAccessRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x122\n\x15requested_access_type\x18\x03 \x01(\tR\x13requestedAccessType\x12$\n\rjustification\x18\x04 \x01(\tR\rjustification\x12,\n\x0frequest_message\x18\x05 \x01(\tH\x00R\x0erequestMessage\x88\x01\x01B\x12\n\x10_request_message"P\n\x15RequestAccessResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x1d\n\nrequest_id\x18\x02 \x01(\tR\trequestId"\xa9\x01\n\x19ListAccessRequestsRequest\x12$\n\x0bobject_type\x18\x01 \x01(\tH\x00R\nobjectType\x88\x01\x01\x12 \n\tobject_id\x18\x02 \x01(\tH\x01R\x08objectId\x88\x01\x01\x12\x1b\n\x06status\x18\x03 \x01(\tH\x02R\x06status\x88\x01\x01B\x0e\n\x0c_object_typeB\x0c\n\n_object_idB\t\n\x07_status"_\n\x1aListAccessRequestsResponse\x12A\n\x08requests\x18\x01 \x03(\x0b2%.textql.rpc.public.rbac.AccessRequestR\x08requests"<\n\x1bApproveAccessRequestRequest\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId"8\n\x1cApproveAccessRequestResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x80\x01\n\x1aRejectAccessRequestRequest\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12.\n\x10rejection_reason\x18\x02 \x01(\tH\x00R\x0frejectionReason\x88\x01\x01B\x13\n\x11_rejection_reason"7\n\x1bRejectAccessRequestResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"i\n\x12CreateGroupRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x1d\n\nmember_ids\x18\x03 \x03(\tR\tmemberIds"J\n\x13CreateGroupResponse\x123\n\x05group\x18\x01 \x01(\x0b2\x1d.textql.rpc.public.rbac.GroupR\x05group",\n\x0fGetGroupRequest\x12\x19\n\x08group_id\x18\x01 \x01(\tR\x07groupId"f\n\x10GetGroupResponse\x123\n\x05group\x18\x01 \x01(\x0b2\x1d.textql.rpc.public.rbac.GroupR\x05group\x12\x1d\n\nmember_ids\x18\x02 \x03(\tR\tmemberIds"\x13\n\x11ListGroupsRequest"K\n\x12ListGroupsResponse\x125\n\x06groups\x18\x01 \x03(\x0b2\x1d.textql.rpc.public.rbac.GroupR\x06groups"e\n\x12UpdateGroupRequest\x12\x19\n\x08group_id\x18\x01 \x01(\tR\x07groupId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription"J\n\x13UpdateGroupResponse\x123\n\x05group\x18\x01 \x01(\x0b2\x1d.textql.rpc.public.rbac.GroupR\x05group"/\n\x12DeleteGroupRequest\x12\x19\n\x08group_id\x18\x01 \x01(\tR\x07groupId"/\n\x13DeleteGroupResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"O\n\x15AddGroupMemberRequest\x12\x19\n\x08group_id\x18\x01 \x01(\tR\x07groupId\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId"2\n\x16AddGroupMemberResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"R\n\x18RemoveGroupMemberRequest\x12\x19\n\x08group_id\x18\x01 \x01(\tR\x07groupId\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId"5\n\x19RemoveGroupMemberResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"7\n\x16GetMemberGroupsRequest\x12\x1d\n\nmember_ids\x18\x01 \x03(\tR\tmemberIds"\xe8\x01\n\x17GetMemberGroupsResponse\x12f\n\rmember_groups\x18\x01 \x03(\x0b2A.textql.rpc.public.rbac.GetMemberGroupsResponse.MemberGroupsEntryR\x0cmemberGroups\x1ae\n\x11MemberGroupsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12:\n\x05value\x18\x02 \x01(\x0b2$.textql.rpc.public.rbac.MemberGroupsR\x05value:\x028\x01"E\n\x0cMemberGroups\x125\n\x06groups\x18\x01 \x03(\x0b2\x1d.textql.rpc.public.rbac.GroupR\x06groups"\x83\x02\n\x1bShareObjectWithGroupRequest\x12\x1f\n\x0bobject_type\x18\x01 \x01(\tR\nobjectType\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\x12\x19\n\x08group_id\x18\x03 \x01(\tR\x07groupId\x12\x1f\n\x0baccess_type\x18\x04 \x01(\tR\naccessType\x12>\n\nexpires_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12\x1b\n\tis_public\x18\x06 \x01(\x08R\x08isPublicB\r\n\x0b_expires_at"8\n\x1cShareObjectWithGroupResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"7\n\x1aListGroupConnectorsRequest\x12\x19\n\x08group_id\x18\x01 \x01(\tR\x07groupId"\x9e\x01\n\x14GroupConnectorAccess\x12\x1b\n\taccess_id\x18\x01 \x01(\tR\x08accessId\x12!\n\x0cconnector_id\x18\x02 \x01(\tR\x0bconnectorId\x12%\n\x0econnector_name\x18\x03 \x01(\tR\rconnectorName\x12\x1f\n\x0baccess_type\x18\x04 \x01(\tR\naccessType"k\n\x1bListGroupConnectorsResponse\x12L\n\nconnectors\x18\x01 \x03(\x0b2,.textql.rpc.public.rbac.GroupConnectorAccessR\nconnectors"F\n%MigrateScimGroupMappingToGroupRequest\x12\x1d\n\nmapping_id\x18\x01 \x01(\tR\tmappingId"(\n&MigrateScimGroupMappingToGroupResponse"$\n"MigrateAllScimGroupMappingsRequest"[\n#MigrateAllScimGroupMappingsResponse\x124\n\x16migrated_mapping_count\x18\x01 \x01(\x05R\x14migratedMappingCount"_\n\x19ConvertRoleToGroupRequest\x12\x17\n\x07role_id\x18\x01 \x01(\tR\x06roleId\x12)\n\x10drop_permissions\x18\x02 \x01(\x08R\x0fdropPermissions"k\n\x1aConvertRoleToGroupResponse\x12\x19\n\x08group_id\x18\x01 \x01(\tR\x07groupId\x122\n\x15migrated_member_count\x18\x02 \x01(\x05R\x13migratedMemberCount"\x1e\n\x1cListScimGroupMappingsRequest"\x9b\x02\n\x17ScimGroupMappingSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cdisplay_name\x18\x02 \x01(\tR\x0bdisplayName\x12\x1f\n\x0bexternal_id\x18\x03 \x01(\tR\nexternalId\x12\x17\n\x07role_id\x18\x04 \x01(\tR\x06roleId\x12\x1b\n\trole_name\x18\x05 \x01(\tR\x08roleName\x12\x19\n\x08group_id\x18\x06 \x01(\tR\x07groupId\x12\x1d\n\ngroup_name\x18\x07 \x01(\tR\tgroupName\x12\x1f\n\x0btarget_mode\x18\x08 \x01(\tR\ntargetMode\x12\x1b\n\tis_system\x18\t \x01(\x08R\x08isSystem"D\n#RevertScimGroupMappingToRoleRequest\x12\x1d\n\nmapping_id\x18\x01 \x01(\tR\tmappingId"@\n$RevertScimGroupMappingToRoleResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"l\n\x1dListScimGroupMappingsResponse\x12K\n\x08mappings\x18\x01 \x03(\x0b2/.textql.rpc.public.rbac.ScimGroupMappingSummaryR\x08mappings"\x9c\x05\n\x06ApiKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId\x12\x1b\n\tclient_id\x18\x03 \x01(\tR\x08clientId\x129\n\ncreated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\'\n\rapi_key_short\x18\x05 \x01(\tH\x00R\x0bapiKeyShort\x88\x01\x01\x12#\n\rassumed_roles\x18\x06 \x03(\tR\x0cassumedRoles\x12\x17\n\x04name\x18\x07 \x01(\tH\x01R\x04name\x88\x01\x01\x12>\n\nexpires_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x02R\texpiresAt\x88\x01\x01\x12>\n\nrevoked_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampH\x03R\trevokedAt\x88\x01\x01\x12<\n\x06status\x18\n \x01(\x0e2$.textql.rpc.public.rbac.ApiKeyStatusR\x06status\x121\n\x12owner_display_name\x18\x0b \x01(\tH\x04R\x10ownerDisplayName\x88\x01\x01\x12$\n\x0bowner_email\x18\x0c \x01(\tH\x05R\nownerEmail\x88\x01\x01\x12/\n\x13suppress_superadmin\x18\r \x01(\x08R\x12suppressSuperadminB\x10\n\x0e_api_key_shortB\x07\n\x05_nameB\r\n\x0b_expires_atB\r\n\x0b_revoked_atB\x15\n\x13_owner_display_nameB\x0e\n\x0c_owner_email"\x87\x03\n\x13CreateApiKeyRequest\x12*\n\x0eexpiry_seconds\x18\x01 \x01(\rH\x00R\rexpirySeconds\x88\x01\x01\x12#\n\rassumed_roles\x18\x02 \x03(\tR\x0cassumedRoles\x12/\n\x11inherit_all_roles\x18\x03 \x01(\x08H\x01R\x0finheritAllRoles\x88\x01\x01\x12\x17\n\x04name\x18\x04 \x01(\tH\x02R\x04name\x88\x01\x01\x12-\n\x10target_member_id\x18\x05 \x01(\tH\x03R\x0etargetMemberId\x88\x01\x01\x12 \n\tclient_id\x18\x06 \x01(\tH\x04R\x08clientId\x88\x01\x01\x12/\n\x13suppress_superadmin\x18\x07 \x01(\x08R\x12suppressSuperadminB\x11\n\x0f_expiry_secondsB\x14\n\x12_inherit_all_rolesB\x07\n\x05_nameB\x13\n\x11_target_member_idB\x0c\n\n_client_id"\x9b\x01\n\x14CreateApiKeyResponse\x127\n\x07api_key\x18\x01 \x01(\x0b2\x1e.textql.rpc.public.rbac.ApiKeyR\x06apiKey\x12$\n\x0eapi_key_secret\x18\x02 \x01(\tR\x0capiKeySecret\x12$\n\x0capi_key_hash\x18\x03 \x01(\tB\x02\x18\x01R\napiKeyHash"\xd2\x04\n\x12ListApiKeysRequest\x12>\n\x05scope\x18\x01 \x01(\x0e2#.textql.rpc.public.rbac.ApiKeyScopeH\x00R\x05scope\x88\x01\x01\x12>\n\x19service_account_member_id\x18\x02 \x01(\tH\x01R\x16serviceAccountMemberId\x88\x01\x01\x12,\n\x0finclude_revoked\x18\x03 \x01(\x08H\x02R\x0eincludeRevoked\x88\x01\x01\x12$\n\x0bsearch_term\x18\x04 \x01(\tH\x03R\nsearchTerm\x88\x01\x01\x12E\n\x07sort_by\x18\x05 \x01(\x0e2\'.textql.rpc.public.rbac.ApiKeySortFieldH\x04R\x06sortBy\x88\x01\x01\x12S\n\x0esort_direction\x18\x06 \x01(\x0e2\'.textql.rpc.public.common.SortDirectionH\x05R\rsortDirection\x88\x01\x01\x12 \n\tpage_size\x18\x07 \x01(\rH\x06R\x08pageSize\x88\x01\x01\x12"\n\npage_token\x18\x08 \x01(\tH\x07R\tpageToken\x88\x01\x01B\x08\n\x06_scopeB\x1c\n\x1a_service_account_member_idB\x12\n\x10_include_revokedB\x0e\n\x0c_search_termB\n\n\x08_sort_byB\x11\n\x0f_sort_directionB\x0c\n\n_page_sizeB\r\n\x0b_page_token"\x91\x01\n\x13ListApiKeysResponse\x129\n\x08api_keys\x18\x01 \x03(\x0b2\x1e.textql.rpc.public.rbac.ApiKeyR\x07apiKeys\x12+\n\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01B\x12\n\x10_next_page_token"3\n\x13RevokeApiKeyRequest\x12\x1c\n\napi_key_id\x18\x01 \x01(\tR\x08apiKeyId"0\n\x14RevokeApiKeyResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"3\n\x13RotateApiKeyRequest\x12\x1c\n\napi_key_id\x18\x01 \x01(\tR\x08apiKeyId"\xa2\x01\n\x14RotateApiKeyResponse\x127\n\x07api_key\x18\x01 \x01(\x0b2\x1e.textql.rpc.public.rbac.ApiKeyR\x06apiKey\x12$\n\x0eapi_key_secret\x18\x02 \x01(\tR\x0capiKeySecret\x12+\n\x12revoked_api_key_id\x18\x03 \x01(\tR\x0frevokedApiKeyId"8\n\x19GetEmbedUserApiKeyRequest\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId"\x9a\x01\n\x1aGetEmbedUserApiKeyResponse\x12$\n\x0eapi_key_base64\x18\x01 \x01(\tR\x0capiKeyBase64\x12"\n\rapi_key_short\x18\x02 \x01(\tR\x0bapiKeyShort\x122\n\x15service_account_email\x18\x03 \x01(\tR\x13serviceAccountEmail"\xc4\x01\n\x1bCreateServiceAccountRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0bdescription\x18\x02 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12+\n\x0fowner_member_id\x18\x03 \x01(\tH\x01R\rownerMemberId\x88\x01\x01\x12\x19\n\x08role_ids\x18\x04 \x03(\tR\x07roleIdsB\x0e\n\x0c_descriptionB\x12\n\x10_owner_member_id"Q\n\x1cCreateServiceAccountResponse\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"\xc6\x02\n\x0eServiceAccount\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12!\n\x0cdisplay_name\x18\x03 \x01(\tR\x0bdisplayName\x12%\n\x0bdescription\x18\x04 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12+\n\x0fowner_member_id\x18\x05 \x01(\tH\x01R\rownerMemberId\x88\x01\x01\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1e\n\x08agent_id\x18\x07 \x01(\tH\x02R\x07agentId\x88\x01\x01B\x0e\n\x0c_descriptionB\x12\n\x10_owner_member_idB\x0b\n\t_agent_id"\xb5\x01\n\x1aListServiceAccountsRequest\x12$\n\x0bsearch_term\x18\x01 \x01(\tH\x00R\nsearchTerm\x88\x01\x01\x12 \n\tpage_size\x18\x02 \x01(\rH\x01R\x08pageSize\x88\x01\x01\x12"\n\npage_token\x18\x03 \x01(\tH\x02R\tpageToken\x88\x01\x01B\x0e\n\x0c_search_termB\x0c\n\n_page_sizeB\r\n\x0b_page_token"\xb1\x01\n\x1bListServiceAccountsResponse\x12Q\n\x10service_accounts\x18\x01 \x03(\x0b2&.textql.rpc.public.rbac.ServiceAccountR\x0fserviceAccounts\x12+\n\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01B\x12\n\x10_next_page_token":\n\x1bDeleteServiceAccountRequest\x12\x1b\n\tmember_id\x18\x01 \x01(\tR\x08memberId"8\n\x1cDeleteServiceAccountResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success*\x83\x01\n\x0bApiKeyScope\x12\x1d\n\x19API_KEY_SCOPE_UNSPECIFIED\x10\x00\x12\x15\n\x11API_KEY_SCOPE_ALL\x10\x01\x12\x1a\n\x16API_KEY_SCOPE_PERSONAL\x10\x02\x12"\n\x1eAPI_KEY_SCOPE_SERVICE_ACCOUNTS\x10\x03*\x98\x01\n\x0fApiKeySortField\x12"\n\x1eAPI_KEY_SORT_FIELD_UNSPECIFIED\x10\x00\x12!\n\x1dAPI_KEY_SORT_FIELD_CREATED_AT\x10\x01\x12!\n\x1dAPI_KEY_SORT_FIELD_EXPIRES_AT\x10\x02\x12\x1b\n\x17API_KEY_SORT_FIELD_NAME\x10\x03*\x81\x01\n\x0cApiKeyStatus\x12\x1e\n\x1aAPI_KEY_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15API_KEY_STATUS_ACTIVE\x10\x01\x12\x1a\n\x16API_KEY_STATUS_EXPIRED\x10\x02\x12\x1a\n\x16API_KEY_STATUS_REVOKED\x10\x032\xca.\n\x0bRBACService\x12c\n\nCreateRole\x12).textql.rpc.public.rbac.CreateRoleRequest\x1a*.textql.rpc.public.rbac.CreateRoleResponse\x12Z\n\x07GetRole\x12&.textql.rpc.public.rbac.GetRoleRequest\x1a\'.textql.rpc.public.rbac.GetRoleResponse\x12`\n\tListRoles\x12(.textql.rpc.public.rbac.ListRolesRequest\x1a).textql.rpc.public.rbac.ListRolesResponse\x12c\n\nUpdateRole\x12).textql.rpc.public.rbac.UpdateRoleRequest\x1a*.textql.rpc.public.rbac.UpdateRoleResponse\x12c\n\nDeleteRole\x12).textql.rpc.public.rbac.DeleteRoleRequest\x1a*.textql.rpc.public.rbac.DeleteRoleResponse\x12r\n\x0fListPermissions\x12..textql.rpc.public.rbac.ListPermissionsRequest\x1a/.textql.rpc.public.rbac.ListPermissionsResponse\x12{\n\x12GetRolePermissions\x121.textql.rpc.public.rbac.GetRolePermissionsRequest\x1a2.textql.rpc.public.rbac.GetRolePermissionsResponse\x12\x87\x01\n\x16AssignPermissionToRole\x125.textql.rpc.public.rbac.AssignPermissionToRoleRequest\x1a6.textql.rpc.public.rbac.AssignPermissionToRoleResponse\x12\x8d\x01\n\x18RemovePermissionFromRole\x127.textql.rpc.public.rbac.RemovePermissionFromRoleRequest\x1a8.textql.rpc.public.rbac.RemovePermissionFromRoleResponse\x12{\n\x12SetRolePermissions\x121.textql.rpc.public.rbac.SetRolePermissionsRequest\x1a2.textql.rpc.public.rbac.SetRolePermissionsResponse\x12{\n\x12AssignRoleToMember\x121.textql.rpc.public.rbac.AssignRoleToMemberRequest\x1a2.textql.rpc.public.rbac.AssignRoleToMemberResponse\x12\x81\x01\n\x14RemoveRoleFromMember\x123.textql.rpc.public.rbac.RemoveRoleFromMemberRequest\x1a4.textql.rpc.public.rbac.RemoveRoleFromMemberResponse\x12o\n\x0eGetMemberRoles\x12-.textql.rpc.public.rbac.GetMemberRolesRequest\x1a..textql.rpc.public.rbac.GetMemberRolesResponse\x12\xae\x01\n#GetCurrentMemberRolesAndPermissions\x12B.textql.rpc.public.rbac.GetCurrentMemberRolesAndPermissionsRequest\x1aC.textql.rpc.public.rbac.GetCurrentMemberRolesAndPermissionsResponse\x12f\n\x0bCreateGroup\x12*.textql.rpc.public.rbac.CreateGroupRequest\x1a+.textql.rpc.public.rbac.CreateGroupResponse\x12]\n\x08GetGroup\x12\'.textql.rpc.public.rbac.GetGroupRequest\x1a(.textql.rpc.public.rbac.GetGroupResponse\x12c\n\nListGroups\x12).textql.rpc.public.rbac.ListGroupsRequest\x1a*.textql.rpc.public.rbac.ListGroupsResponse\x12f\n\x0bUpdateGroup\x12*.textql.rpc.public.rbac.UpdateGroupRequest\x1a+.textql.rpc.public.rbac.UpdateGroupResponse\x12f\n\x0bDeleteGroup\x12*.textql.rpc.public.rbac.DeleteGroupRequest\x1a+.textql.rpc.public.rbac.DeleteGroupResponse\x12o\n\x0eAddGroupMember\x12-.textql.rpc.public.rbac.AddGroupMemberRequest\x1a..textql.rpc.public.rbac.AddGroupMemberResponse\x12x\n\x11RemoveGroupMember\x120.textql.rpc.public.rbac.RemoveGroupMemberRequest\x1a1.textql.rpc.public.rbac.RemoveGroupMemberResponse\x12r\n\x0fGetMemberGroups\x12..textql.rpc.public.rbac.GetMemberGroupsRequest\x1a/.textql.rpc.public.rbac.GetMemberGroupsResponse\x12\x81\x01\n\x14ShareObjectWithGroup\x123.textql.rpc.public.rbac.ShareObjectWithGroupRequest\x1a4.textql.rpc.public.rbac.ShareObjectWithGroupResponse\x12~\n\x13ListGroupConnectors\x122.textql.rpc.public.rbac.ListGroupConnectorsRequest\x1a3.textql.rpc.public.rbac.ListGroupConnectorsResponse\x12\x9f\x01\n\x1eMigrateScimGroupMappingToGroup\x12=.textql.rpc.public.rbac.MigrateScimGroupMappingToGroupRequest\x1a>.textql.rpc.public.rbac.MigrateScimGroupMappingToGroupResponse\x12\x96\x01\n\x1bMigrateAllScimGroupMappings\x12:.textql.rpc.public.rbac.MigrateAllScimGroupMappingsRequest\x1a;.textql.rpc.public.rbac.MigrateAllScimGroupMappingsResponse\x12\x99\x01\n\x1cRevertScimGroupMappingToRole\x12;.textql.rpc.public.rbac.RevertScimGroupMappingToRoleRequest\x1a<.textql.rpc.public.rbac.RevertScimGroupMappingToRoleResponse\x12{\n\x12ConvertRoleToGroup\x121.textql.rpc.public.rbac.ConvertRoleToGroupRequest\x1a2.textql.rpc.public.rbac.ConvertRoleToGroupResponse\x12\x84\x01\n\x15ListScimGroupMappings\x124.textql.rpc.public.rbac.ListScimGroupMappingsRequest\x1a5.textql.rpc.public.rbac.ListScimGroupMappingsResponse\x12f\n\x0bShareObject\x12*.textql.rpc.public.rbac.ShareObjectRequest\x1a+.textql.rpc.public.rbac.ShareObjectResponse\x12~\n\x13ShareObjectWithRole\x122.textql.rpc.public.rbac.ShareObjectWithRoleRequest\x1a3.textql.rpc.public.rbac.ShareObjectWithRoleResponse\x12{\n\x12RevokeObjectAccess\x121.textql.rpc.public.rbac.RevokeObjectAccessRequest\x1a2.textql.rpc.public.rbac.RevokeObjectAccessResponse\x12r\n\x0fGetObjectAccess\x12..textql.rpc.public.rbac.GetObjectAccessRequest\x1a/.textql.rpc.public.rbac.GetObjectAccessResponse\x12r\n\x0fHasObjectAccess\x12..textql.rpc.public.rbac.HasObjectAccessRequest\x1a/.textql.rpc.public.rbac.HasObjectAccessResponse\x12\x87\x01\n\x16UpdateObjectVisibility\x125.textql.rpc.public.rbac.UpdateObjectVisibilityRequest\x1a6.textql.rpc.public.rbac.UpdateObjectVisibilityResponse\x12{\n\x12UpdateObjectAccess\x121.textql.rpc.public.rbac.UpdateObjectAccessRequest\x1a2.textql.rpc.public.rbac.UpdateObjectAccessResponse\x12x\n\x11GenerateShareLink\x120.textql.rpc.public.rbac.GenerateShareLinkRequest\x1a1.textql.rpc.public.rbac.GenerateShareLinkResponse\x12l\n\rRequestAccess\x12,.textql.rpc.public.rbac.RequestAccessRequest\x1a-.textql.rpc.public.rbac.RequestAccessResponse\x12{\n\x12ListAccessRequests\x121.textql.rpc.public.rbac.ListAccessRequestsRequest\x1a2.textql.rpc.public.rbac.ListAccessRequestsResponse\x12\x81\x01\n\x14ApproveAccessRequest\x123.textql.rpc.public.rbac.ApproveAccessRequestRequest\x1a4.textql.rpc.public.rbac.ApproveAccessRequestResponse\x12~\n\x13RejectAccessRequest\x122.textql.rpc.public.rbac.RejectAccessRequestRequest\x1a3.textql.rpc.public.rbac.RejectAccessRequestResponse\x12i\n\x0cCreateApiKey\x12+.textql.rpc.public.rbac.CreateApiKeyRequest\x1a,.textql.rpc.public.rbac.CreateApiKeyResponse\x12f\n\x0bListApiKeys\x12*.textql.rpc.public.rbac.ListApiKeysRequest\x1a+.textql.rpc.public.rbac.ListApiKeysResponse\x12i\n\x0cRevokeApiKey\x12+.textql.rpc.public.rbac.RevokeApiKeyRequest\x1a,.textql.rpc.public.rbac.RevokeApiKeyResponse\x12i\n\x0cRotateApiKey\x12+.textql.rpc.public.rbac.RotateApiKeyRequest\x1a,.textql.rpc.public.rbac.RotateApiKeyResponse\x12{\n\x12GetEmbedUserApiKey\x121.textql.rpc.public.rbac.GetEmbedUserApiKeyRequest\x1a2.textql.rpc.public.rbac.GetEmbedUserApiKeyResponse\x12\x81\x01\n\x14CreateServiceAccount\x123.textql.rpc.public.rbac.CreateServiceAccountRequest\x1a4.textql.rpc.public.rbac.CreateServiceAccountResponse\x12~\n\x13ListServiceAccounts\x122.textql.rpc.public.rbac.ListServiceAccountsRequest\x1a3.textql.rpc.public.rbac.ListServiceAccountsResponse\x12\x81\x01\n\x14DeleteServiceAccount\x123.textql.rpc.public.rbac.DeleteServiceAccountRequest\x1a4.textql.rpc.public.rbac.DeleteServiceAccountResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.rbac_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GETMEMBERROLESRESPONSE_MEMBERROLESENTRY']._loaded_options = None + _globals['_GETMEMBERROLESRESPONSE_MEMBERROLESENTRY']._serialized_options = b'8\x01' + _globals['_GETMEMBERGROUPSRESPONSE_MEMBERGROUPSENTRY']._loaded_options = None + _globals['_GETMEMBERGROUPSRESPONSE_MEMBERGROUPSENTRY']._serialized_options = b'8\x01' + _globals['_CREATEAPIKEYRESPONSE'].fields_by_name['api_key_hash']._loaded_options = None + _globals['_CREATEAPIKEYRESPONSE'].fields_by_name['api_key_hash']._serialized_options = b'\x18\x01' + _globals['_APIKEYSCOPE']._serialized_start = 14312 + _globals['_APIKEYSCOPE']._serialized_end = 14443 + _globals['_APIKEYSORTFIELD']._serialized_start = 14446 + _globals['_APIKEYSORTFIELD']._serialized_end = 14598 + _globals['_APIKEYSTATUS']._serialized_start = 14601 + _globals['_APIKEYSTATUS']._serialized_end = 14730 + _globals['_ROLE']._serialized_start = 132 + _globals['_ROLE']._serialized_end = 604 + _globals['_PERMISSION']._serialized_start = 607 + _globals['_PERMISSION']._serialized_end = 780 + _globals['_OBJECTACCESS']._serialized_start = 783 + _globals['_OBJECTACCESS']._serialized_end = 1394 + _globals['_GROUP']._serialized_start = 1397 + _globals['_GROUP']._serialized_end = 1760 + _globals['_CREATEROLEREQUEST']._serialized_start = 1762 + _globals['_CREATEROLEREQUEST']._serialized_end = 1835 + _globals['_CREATEROLERESPONSE']._serialized_start = 1837 + _globals['_CREATEROLERESPONSE']._serialized_end = 1907 + _globals['_GETROLEREQUEST']._serialized_start = 1909 + _globals['_GETROLEREQUEST']._serialized_end = 1950 + _globals['_GETROLERESPONSE']._serialized_start = 1952 + _globals['_GETROLERESPONSE']._serialized_end = 2019 + _globals['_LISTROLESREQUEST']._serialized_start = 2021 + _globals['_LISTROLESREQUEST']._serialized_end = 2039 + _globals['_LISTROLESRESPONSE']._serialized_start = 2041 + _globals['_LISTROLESRESPONSE']._serialized_end = 2112 + _globals['_UPDATEROLEREQUEST']._serialized_start = 2115 + _globals['_UPDATEROLEREQUEST']._serialized_end = 2483 + _globals['_UPDATEROLERESPONSE']._serialized_start = 2485 + _globals['_UPDATEROLERESPONSE']._serialized_end = 2555 + _globals['_DELETEROLEREQUEST']._serialized_start = 2557 + _globals['_DELETEROLEREQUEST']._serialized_end = 2601 + _globals['_DELETEROLERESPONSE']._serialized_start = 2603 + _globals['_DELETEROLERESPONSE']._serialized_end = 2649 + _globals['_LISTPERMISSIONSREQUEST']._serialized_start = 2651 + _globals['_LISTPERMISSIONSREQUEST']._serialized_end = 2675 + _globals['_LISTPERMISSIONSRESPONSE']._serialized_start = 2677 + _globals['_LISTPERMISSIONSRESPONSE']._serialized_end = 2772 + _globals['_GETROLEPERMISSIONSREQUEST']._serialized_start = 2774 + _globals['_GETROLEPERMISSIONSREQUEST']._serialized_end = 2826 + _globals['_GETROLEPERMISSIONSRESPONSE']._serialized_start = 2828 + _globals['_GETROLEPERMISSIONSRESPONSE']._serialized_end = 2926 + _globals['_ASSIGNPERMISSIONTOROLEREQUEST']._serialized_start = 2928 + _globals['_ASSIGNPERMISSIONTOROLEREQUEST']._serialized_end = 3021 + _globals['_ASSIGNPERMISSIONTOROLERESPONSE']._serialized_start = 3023 + _globals['_ASSIGNPERMISSIONTOROLERESPONSE']._serialized_end = 3081 + _globals['_REMOVEPERMISSIONFROMROLEREQUEST']._serialized_start = 3083 + _globals['_REMOVEPERMISSIONFROMROLEREQUEST']._serialized_end = 3178 + _globals['_REMOVEPERMISSIONFROMROLERESPONSE']._serialized_start = 3180 + _globals['_REMOVEPERMISSIONFROMROLERESPONSE']._serialized_end = 3240 + _globals['_SETROLEPERMISSIONSREQUEST']._serialized_start = 3243 + _globals['_SETROLEPERMISSIONSREQUEST']._serialized_end = 3393 + _globals['_SETROLEPERMISSIONSRESPONSE']._serialized_start = 3395 + _globals['_SETROLEPERMISSIONSRESPONSE']._serialized_end = 3449 + _globals['_ASSIGNROLETOMEMBERREQUEST']._serialized_start = 3451 + _globals['_ASSIGNROLETOMEMBERREQUEST']._serialized_end = 3532 + _globals['_ASSIGNROLETOMEMBERRESPONSE']._serialized_start = 3534 + _globals['_ASSIGNROLETOMEMBERRESPONSE']._serialized_end = 3588 + _globals['_REMOVEROLEFROMMEMBERREQUEST']._serialized_start = 3590 + _globals['_REMOVEROLEFROMMEMBERREQUEST']._serialized_end = 3673 + _globals['_REMOVEROLEFROMMEMBERRESPONSE']._serialized_start = 3675 + _globals['_REMOVEROLEFROMMEMBERRESPONSE']._serialized_end = 3731 + _globals['_GETMEMBERROLESREQUEST']._serialized_start = 3733 + _globals['_GETMEMBERROLESREQUEST']._serialized_end = 3787 + _globals['_GETMEMBERROLESRESPONSE']._serialized_start = 3790 + _globals['_GETMEMBERROLESRESPONSE']._serialized_end = 4015 + _globals['_GETMEMBERROLESRESPONSE_MEMBERROLESENTRY']._serialized_start = 3916 + _globals['_GETMEMBERROLESRESPONSE_MEMBERROLESENTRY']._serialized_end = 4015 + _globals['_MEMBERROLES']._serialized_start = 4017 + _globals['_MEMBERROLES']._serialized_end = 4082 + _globals['_GETCURRENTMEMBERROLESANDPERMISSIONSREQUEST']._serialized_start = 4084 + _globals['_GETCURRENTMEMBERROLESANDPERMISSIONSREQUEST']._serialized_end = 4128 + _globals['_GETCURRENTMEMBERROLESANDPERMISSIONSRESPONSE']._serialized_start = 4131 + _globals['_GETCURRENTMEMBERROLESANDPERMISSIONSRESPONSE']._serialized_end = 4298 + _globals['_SHAREOBJECTREQUEST']._serialized_start = 4301 + _globals['_SHAREOBJECTREQUEST']._serialized_end = 4553 + _globals['_SHAREOBJECTRESPONSE']._serialized_start = 4555 + _globals['_SHAREOBJECTRESPONSE']._serialized_end = 4602 + _globals['_SHAREOBJECTWITHROLEREQUEST']._serialized_start = 4605 + _globals['_SHAREOBJECTWITHROLEREQUEST']._serialized_end = 4861 + _globals['_SHAREOBJECTWITHROLERESPONSE']._serialized_start = 4863 + _globals['_SHAREOBJECTWITHROLERESPONSE']._serialized_end = 4918 + _globals['_REVOKEOBJECTACCESSREQUEST']._serialized_start = 4921 + _globals['_REVOKEOBJECTACCESSREQUEST']._serialized_end = 5145 + _globals['_REVOKEOBJECTACCESSRESPONSE']._serialized_start = 5147 + _globals['_REVOKEOBJECTACCESSRESPONSE']._serialized_end = 5201 + _globals['_GETOBJECTACCESSREQUEST']._serialized_start = 5203 + _globals['_GETOBJECTACCESSREQUEST']._serialized_end = 5289 + _globals['_GETOBJECTACCESSRESPONSE']._serialized_start = 5291 + _globals['_GETOBJECTACCESSRESPONSE']._serialized_end = 5393 + _globals['_HASOBJECTACCESSREQUEST']._serialized_start = 5396 + _globals['_HASOBJECTACCESSREQUEST']._serialized_end = 5617 + _globals['_HASOBJECTACCESSRESPONSE']._serialized_start = 5619 + _globals['_HASOBJECTACCESSRESPONSE']._serialized_end = 5675 + _globals['_UPDATEOBJECTVISIBILITYREQUEST']._serialized_start = 5677 + _globals['_UPDATEOBJECTVISIBILITYREQUEST']._serialized_end = 5799 + _globals['_UPDATEOBJECTVISIBILITYRESPONSE']._serialized_start = 5801 + _globals['_UPDATEOBJECTVISIBILITYRESPONSE']._serialized_end = 5859 + _globals['_UPDATEOBJECTACCESSREQUEST']._serialized_start = 5862 + _globals['_UPDATEOBJECTACCESSREQUEST']._serialized_end = 6030 + _globals['_UPDATEOBJECTACCESSRESPONSE']._serialized_start = 6032 + _globals['_UPDATEOBJECTACCESSRESPONSE']._serialized_end = 6086 + _globals['_GENERATESHARELINKREQUEST']._serialized_start = 6088 + _globals['_GENERATESHARELINKREQUEST']._serialized_end = 6176 + _globals['_GENERATESHARELINKRESPONSE']._serialized_start = 6178 + _globals['_GENERATESHARELINKRESPONSE']._serialized_end = 6236 + _globals['_ACCESSREQUEST']._serialized_start = 6239 + _globals['_ACCESSREQUEST']._serialized_end = 6805 + _globals['_REQUESTACCESSREQUEST']._serialized_start = 6808 + _globals['_REQUESTACCESSREQUEST']._serialized_end = 7048 + _globals['_REQUESTACCESSRESPONSE']._serialized_start = 7050 + _globals['_REQUESTACCESSRESPONSE']._serialized_end = 7130 + _globals['_LISTACCESSREQUESTSREQUEST']._serialized_start = 7133 + _globals['_LISTACCESSREQUESTSREQUEST']._serialized_end = 7302 + _globals['_LISTACCESSREQUESTSRESPONSE']._serialized_start = 7304 + _globals['_LISTACCESSREQUESTSRESPONSE']._serialized_end = 7399 + _globals['_APPROVEACCESSREQUESTREQUEST']._serialized_start = 7401 + _globals['_APPROVEACCESSREQUESTREQUEST']._serialized_end = 7461 + _globals['_APPROVEACCESSREQUESTRESPONSE']._serialized_start = 7463 + _globals['_APPROVEACCESSREQUESTRESPONSE']._serialized_end = 7519 + _globals['_REJECTACCESSREQUESTREQUEST']._serialized_start = 7522 + _globals['_REJECTACCESSREQUESTREQUEST']._serialized_end = 7650 + _globals['_REJECTACCESSREQUESTRESPONSE']._serialized_start = 7652 + _globals['_REJECTACCESSREQUESTRESPONSE']._serialized_end = 7707 + _globals['_CREATEGROUPREQUEST']._serialized_start = 7709 + _globals['_CREATEGROUPREQUEST']._serialized_end = 7814 + _globals['_CREATEGROUPRESPONSE']._serialized_start = 7816 + _globals['_CREATEGROUPRESPONSE']._serialized_end = 7890 + _globals['_GETGROUPREQUEST']._serialized_start = 7892 + _globals['_GETGROUPREQUEST']._serialized_end = 7936 + _globals['_GETGROUPRESPONSE']._serialized_start = 7938 + _globals['_GETGROUPRESPONSE']._serialized_end = 8040 + _globals['_LISTGROUPSREQUEST']._serialized_start = 8042 + _globals['_LISTGROUPSREQUEST']._serialized_end = 8061 + _globals['_LISTGROUPSRESPONSE']._serialized_start = 8063 + _globals['_LISTGROUPSRESPONSE']._serialized_end = 8138 + _globals['_UPDATEGROUPREQUEST']._serialized_start = 8140 + _globals['_UPDATEGROUPREQUEST']._serialized_end = 8241 + _globals['_UPDATEGROUPRESPONSE']._serialized_start = 8243 + _globals['_UPDATEGROUPRESPONSE']._serialized_end = 8317 + _globals['_DELETEGROUPREQUEST']._serialized_start = 8319 + _globals['_DELETEGROUPREQUEST']._serialized_end = 8366 + _globals['_DELETEGROUPRESPONSE']._serialized_start = 8368 + _globals['_DELETEGROUPRESPONSE']._serialized_end = 8415 + _globals['_ADDGROUPMEMBERREQUEST']._serialized_start = 8417 + _globals['_ADDGROUPMEMBERREQUEST']._serialized_end = 8496 + _globals['_ADDGROUPMEMBERRESPONSE']._serialized_start = 8498 + _globals['_ADDGROUPMEMBERRESPONSE']._serialized_end = 8548 + _globals['_REMOVEGROUPMEMBERREQUEST']._serialized_start = 8550 + _globals['_REMOVEGROUPMEMBERREQUEST']._serialized_end = 8632 + _globals['_REMOVEGROUPMEMBERRESPONSE']._serialized_start = 8634 + _globals['_REMOVEGROUPMEMBERRESPONSE']._serialized_end = 8687 + _globals['_GETMEMBERGROUPSREQUEST']._serialized_start = 8689 + _globals['_GETMEMBERGROUPSREQUEST']._serialized_end = 8744 + _globals['_GETMEMBERGROUPSRESPONSE']._serialized_start = 8747 + _globals['_GETMEMBERGROUPSRESPONSE']._serialized_end = 8979 + _globals['_GETMEMBERGROUPSRESPONSE_MEMBERGROUPSENTRY']._serialized_start = 8878 + _globals['_GETMEMBERGROUPSRESPONSE_MEMBERGROUPSENTRY']._serialized_end = 8979 + _globals['_MEMBERGROUPS']._serialized_start = 8981 + _globals['_MEMBERGROUPS']._serialized_end = 9050 + _globals['_SHAREOBJECTWITHGROUPREQUEST']._serialized_start = 9053 + _globals['_SHAREOBJECTWITHGROUPREQUEST']._serialized_end = 9312 + _globals['_SHAREOBJECTWITHGROUPRESPONSE']._serialized_start = 9314 + _globals['_SHAREOBJECTWITHGROUPRESPONSE']._serialized_end = 9370 + _globals['_LISTGROUPCONNECTORSREQUEST']._serialized_start = 9372 + _globals['_LISTGROUPCONNECTORSREQUEST']._serialized_end = 9427 + _globals['_GROUPCONNECTORACCESS']._serialized_start = 9430 + _globals['_GROUPCONNECTORACCESS']._serialized_end = 9588 + _globals['_LISTGROUPCONNECTORSRESPONSE']._serialized_start = 9590 + _globals['_LISTGROUPCONNECTORSRESPONSE']._serialized_end = 9697 + _globals['_MIGRATESCIMGROUPMAPPINGTOGROUPREQUEST']._serialized_start = 9699 + _globals['_MIGRATESCIMGROUPMAPPINGTOGROUPREQUEST']._serialized_end = 9769 + _globals['_MIGRATESCIMGROUPMAPPINGTOGROUPRESPONSE']._serialized_start = 9771 + _globals['_MIGRATESCIMGROUPMAPPINGTOGROUPRESPONSE']._serialized_end = 9811 + _globals['_MIGRATEALLSCIMGROUPMAPPINGSREQUEST']._serialized_start = 9813 + _globals['_MIGRATEALLSCIMGROUPMAPPINGSREQUEST']._serialized_end = 9849 + _globals['_MIGRATEALLSCIMGROUPMAPPINGSRESPONSE']._serialized_start = 9851 + _globals['_MIGRATEALLSCIMGROUPMAPPINGSRESPONSE']._serialized_end = 9942 + _globals['_CONVERTROLETOGROUPREQUEST']._serialized_start = 9944 + _globals['_CONVERTROLETOGROUPREQUEST']._serialized_end = 10039 + _globals['_CONVERTROLETOGROUPRESPONSE']._serialized_start = 10041 + _globals['_CONVERTROLETOGROUPRESPONSE']._serialized_end = 10148 + _globals['_LISTSCIMGROUPMAPPINGSREQUEST']._serialized_start = 10150 + _globals['_LISTSCIMGROUPMAPPINGSREQUEST']._serialized_end = 10180 + _globals['_SCIMGROUPMAPPINGSUMMARY']._serialized_start = 10183 + _globals['_SCIMGROUPMAPPINGSUMMARY']._serialized_end = 10466 + _globals['_REVERTSCIMGROUPMAPPINGTOROLEREQUEST']._serialized_start = 10468 + _globals['_REVERTSCIMGROUPMAPPINGTOROLEREQUEST']._serialized_end = 10536 + _globals['_REVERTSCIMGROUPMAPPINGTOROLERESPONSE']._serialized_start = 10538 + _globals['_REVERTSCIMGROUPMAPPINGTOROLERESPONSE']._serialized_end = 10602 + _globals['_LISTSCIMGROUPMAPPINGSRESPONSE']._serialized_start = 10604 + _globals['_LISTSCIMGROUPMAPPINGSRESPONSE']._serialized_end = 10712 + _globals['_APIKEY']._serialized_start = 10715 + _globals['_APIKEY']._serialized_end = 11383 + _globals['_CREATEAPIKEYREQUEST']._serialized_start = 11386 + _globals['_CREATEAPIKEYREQUEST']._serialized_end = 11777 + _globals['_CREATEAPIKEYRESPONSE']._serialized_start = 11780 + _globals['_CREATEAPIKEYRESPONSE']._serialized_end = 11935 + _globals['_LISTAPIKEYSREQUEST']._serialized_start = 11938 + _globals['_LISTAPIKEYSREQUEST']._serialized_end = 12532 + _globals['_LISTAPIKEYSRESPONSE']._serialized_start = 12535 + _globals['_LISTAPIKEYSRESPONSE']._serialized_end = 12680 + _globals['_REVOKEAPIKEYREQUEST']._serialized_start = 12682 + _globals['_REVOKEAPIKEYREQUEST']._serialized_end = 12733 + _globals['_REVOKEAPIKEYRESPONSE']._serialized_start = 12735 + _globals['_REVOKEAPIKEYRESPONSE']._serialized_end = 12783 + _globals['_ROTATEAPIKEYREQUEST']._serialized_start = 12785 + _globals['_ROTATEAPIKEYREQUEST']._serialized_end = 12836 + _globals['_ROTATEAPIKEYRESPONSE']._serialized_start = 12839 + _globals['_ROTATEAPIKEYRESPONSE']._serialized_end = 13001 + _globals['_GETEMBEDUSERAPIKEYREQUEST']._serialized_start = 13003 + _globals['_GETEMBEDUSERAPIKEYREQUEST']._serialized_end = 13059 + _globals['_GETEMBEDUSERAPIKEYRESPONSE']._serialized_start = 13062 + _globals['_GETEMBEDUSERAPIKEYRESPONSE']._serialized_end = 13216 + _globals['_CREATESERVICEACCOUNTREQUEST']._serialized_start = 13219 + _globals['_CREATESERVICEACCOUNTREQUEST']._serialized_end = 13415 + _globals['_CREATESERVICEACCOUNTRESPONSE']._serialized_start = 13417 + _globals['_CREATESERVICEACCOUNTRESPONSE']._serialized_end = 13498 + _globals['_SERVICEACCOUNT']._serialized_start = 13501 + _globals['_SERVICEACCOUNT']._serialized_end = 13827 + _globals['_LISTSERVICEACCOUNTSREQUEST']._serialized_start = 13830 + _globals['_LISTSERVICEACCOUNTSREQUEST']._serialized_end = 14011 + _globals['_LISTSERVICEACCOUNTSRESPONSE']._serialized_start = 14014 + _globals['_LISTSERVICEACCOUNTSRESPONSE']._serialized_end = 14191 + _globals['_DELETESERVICEACCOUNTREQUEST']._serialized_start = 14193 + _globals['_DELETESERVICEACCOUNTREQUEST']._serialized_end = 14251 + _globals['_DELETESERVICEACCOUNTRESPONSE']._serialized_start = 14253 + _globals['_DELETESERVICEACCOUNTRESPONSE']._serialized_end = 14309 + _globals['_RBACSERVICE']._serialized_start = 14733 + _globals['_RBACSERVICE']._serialized_end = 20695 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/rbac_pb2.pyi b/src/textql_sdk/_connect/public/rbac_pb2.pyi new file mode 100644 index 0000000..c03b3ac --- /dev/null +++ b/src/textql_sdk/_connect/public/rbac_pb2.pyi @@ -0,0 +1,1250 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf import wrappers_pb2 as _wrappers_pb2 +from public import common_pb2 as _common_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ApiKeyScope(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + API_KEY_SCOPE_UNSPECIFIED: _ClassVar[ApiKeyScope] + API_KEY_SCOPE_ALL: _ClassVar[ApiKeyScope] + API_KEY_SCOPE_PERSONAL: _ClassVar[ApiKeyScope] + API_KEY_SCOPE_SERVICE_ACCOUNTS: _ClassVar[ApiKeyScope] + +class ApiKeySortField(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + API_KEY_SORT_FIELD_UNSPECIFIED: _ClassVar[ApiKeySortField] + API_KEY_SORT_FIELD_CREATED_AT: _ClassVar[ApiKeySortField] + API_KEY_SORT_FIELD_EXPIRES_AT: _ClassVar[ApiKeySortField] + API_KEY_SORT_FIELD_NAME: _ClassVar[ApiKeySortField] + +class ApiKeyStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + API_KEY_STATUS_UNSPECIFIED: _ClassVar[ApiKeyStatus] + API_KEY_STATUS_ACTIVE: _ClassVar[ApiKeyStatus] + API_KEY_STATUS_EXPIRED: _ClassVar[ApiKeyStatus] + API_KEY_STATUS_REVOKED: _ClassVar[ApiKeyStatus] +API_KEY_SCOPE_UNSPECIFIED: ApiKeyScope +API_KEY_SCOPE_ALL: ApiKeyScope +API_KEY_SCOPE_PERSONAL: ApiKeyScope +API_KEY_SCOPE_SERVICE_ACCOUNTS: ApiKeyScope +API_KEY_SORT_FIELD_UNSPECIFIED: ApiKeySortField +API_KEY_SORT_FIELD_CREATED_AT: ApiKeySortField +API_KEY_SORT_FIELD_EXPIRES_AT: ApiKeySortField +API_KEY_SORT_FIELD_NAME: ApiKeySortField +API_KEY_STATUS_UNSPECIFIED: ApiKeyStatus +API_KEY_STATUS_ACTIVE: ApiKeyStatus +API_KEY_STATUS_EXPIRED: ApiKeyStatus +API_KEY_STATUS_REVOKED: ApiKeyStatus + +class Role(_message.Message): + __slots__ = ('id', 'org_id', 'name', 'description', 'is_system', 'created_at', 'updated_at', 'default_model_id', 'allowed_model_ids', 'allow_model_choice', 'is_scim_managed') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + IS_SYSTEM_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + DEFAULT_MODEL_ID_FIELD_NUMBER: _ClassVar[int] + ALLOWED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + ALLOW_MODEL_CHOICE_FIELD_NUMBER: _ClassVar[int] + IS_SCIM_MANAGED_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + name: str + description: str + is_system: bool + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + default_model_id: int + allowed_model_ids: _containers.RepeatedScalarFieldContainer[int] + allow_model_choice: bool + is_scim_managed: bool + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., is_system: bool=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., default_model_id: _Optional[int]=..., allowed_model_ids: _Optional[_Iterable[int]]=..., allow_model_choice: bool=..., is_scim_managed: bool=...) -> None: + ... + +class Permission(_message.Message): + __slots__ = ('id', 'resource', 'action', 'description', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + RESOURCE_FIELD_NUMBER: _ClassVar[int] + ACTION_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + resource: str + action: str + description: str + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., resource: _Optional[str]=..., action: _Optional[str]=..., description: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ObjectAccess(_message.Message): + __slots__ = ('id', 'org_id', 'object_type', 'object_id', 'created_by', 'is_public', 'member_id', 'role_id', 'access_type', 'granted_by', 'expires_at', 'created_at', 'updated_at', 'group_id') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + GRANTED_BY_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + object_type: str + object_id: str + created_by: str + is_public: bool + member_id: str + role_id: str + access_type: str + granted_by: str + expires_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + group_id: str + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., object_type: _Optional[str]=..., object_id: _Optional[str]=..., created_by: _Optional[str]=..., is_public: bool=..., member_id: _Optional[str]=..., role_id: _Optional[str]=..., access_type: _Optional[str]=..., granted_by: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., group_id: _Optional[str]=...) -> None: + ... + +class Group(_message.Message): + __slots__ = ('id', 'org_id', 'name', 'description', 'is_system', 'created_at', 'updated_at', 'is_scim_managed', 'member_count', 'connector_count') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + IS_SYSTEM_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + IS_SCIM_MANAGED_FIELD_NUMBER: _ClassVar[int] + MEMBER_COUNT_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_COUNT_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + name: str + description: str + is_system: bool + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + is_scim_managed: bool + member_count: int + connector_count: int + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., is_system: bool=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., is_scim_managed: bool=..., member_count: _Optional[int]=..., connector_count: _Optional[int]=...) -> None: + ... + +class CreateRoleRequest(_message.Message): + __slots__ = ('name', 'description') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=...) -> None: + ... + +class CreateRoleResponse(_message.Message): + __slots__ = ('role',) + ROLE_FIELD_NUMBER: _ClassVar[int] + role: Role + + def __init__(self, role: _Optional[_Union[Role, _Mapping]]=...) -> None: + ... + +class GetRoleRequest(_message.Message): + __slots__ = ('role_id',) + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + role_id: str + + def __init__(self, role_id: _Optional[str]=...) -> None: + ... + +class GetRoleResponse(_message.Message): + __slots__ = ('role',) + ROLE_FIELD_NUMBER: _ClassVar[int] + role: Role + + def __init__(self, role: _Optional[_Union[Role, _Mapping]]=...) -> None: + ... + +class ListRolesRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListRolesResponse(_message.Message): + __slots__ = ('roles',) + ROLES_FIELD_NUMBER: _ClassVar[int] + roles: _containers.RepeatedCompositeFieldContainer[Role] + + def __init__(self, roles: _Optional[_Iterable[_Union[Role, _Mapping]]]=...) -> None: + ... + +class UpdateRoleRequest(_message.Message): + __slots__ = ('role_id', 'name', 'description', 'default_model_id', 'allowed_model_ids', 'allow_model_choice', 'clear_allowed_model_ids') + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + DEFAULT_MODEL_ID_FIELD_NUMBER: _ClassVar[int] + ALLOWED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + ALLOW_MODEL_CHOICE_FIELD_NUMBER: _ClassVar[int] + CLEAR_ALLOWED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + role_id: str + name: str + description: str + default_model_id: _wrappers_pb2.Int32Value + allowed_model_ids: _containers.RepeatedScalarFieldContainer[int] + allow_model_choice: _wrappers_pb2.BoolValue + clear_allowed_model_ids: bool + + def __init__(self, role_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., default_model_id: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]]=..., allowed_model_ids: _Optional[_Iterable[int]]=..., allow_model_choice: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., clear_allowed_model_ids: bool=...) -> None: + ... + +class UpdateRoleResponse(_message.Message): + __slots__ = ('role',) + ROLE_FIELD_NUMBER: _ClassVar[int] + role: Role + + def __init__(self, role: _Optional[_Union[Role, _Mapping]]=...) -> None: + ... + +class DeleteRoleRequest(_message.Message): + __slots__ = ('role_id',) + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + role_id: str + + def __init__(self, role_id: _Optional[str]=...) -> None: + ... + +class DeleteRoleResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ListPermissionsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListPermissionsResponse(_message.Message): + __slots__ = ('permissions',) + PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + permissions: _containers.RepeatedCompositeFieldContainer[Permission] + + def __init__(self, permissions: _Optional[_Iterable[_Union[Permission, _Mapping]]]=...) -> None: + ... + +class GetRolePermissionsRequest(_message.Message): + __slots__ = ('role_id',) + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + role_id: str + + def __init__(self, role_id: _Optional[str]=...) -> None: + ... + +class GetRolePermissionsResponse(_message.Message): + __slots__ = ('permissions',) + PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + permissions: _containers.RepeatedCompositeFieldContainer[Permission] + + def __init__(self, permissions: _Optional[_Iterable[_Union[Permission, _Mapping]]]=...) -> None: + ... + +class AssignPermissionToRoleRequest(_message.Message): + __slots__ = ('role_id', 'permission_id') + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + PERMISSION_ID_FIELD_NUMBER: _ClassVar[int] + role_id: str + permission_id: str + + def __init__(self, role_id: _Optional[str]=..., permission_id: _Optional[str]=...) -> None: + ... + +class AssignPermissionToRoleResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RemovePermissionFromRoleRequest(_message.Message): + __slots__ = ('role_id', 'permission_id') + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + PERMISSION_ID_FIELD_NUMBER: _ClassVar[int] + role_id: str + permission_id: str + + def __init__(self, role_id: _Optional[str]=..., permission_id: _Optional[str]=...) -> None: + ... + +class RemovePermissionFromRoleResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class SetRolePermissionsRequest(_message.Message): + __slots__ = ('role_id', 'add_permission_ids', 'remove_permission_ids') + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + ADD_PERMISSION_IDS_FIELD_NUMBER: _ClassVar[int] + REMOVE_PERMISSION_IDS_FIELD_NUMBER: _ClassVar[int] + role_id: str + add_permission_ids: _containers.RepeatedScalarFieldContainer[str] + remove_permission_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, role_id: _Optional[str]=..., add_permission_ids: _Optional[_Iterable[str]]=..., remove_permission_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class SetRolePermissionsResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class AssignRoleToMemberRequest(_message.Message): + __slots__ = ('member_id', 'role_id') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + member_id: str + role_id: str + + def __init__(self, member_id: _Optional[str]=..., role_id: _Optional[str]=...) -> None: + ... + +class AssignRoleToMemberResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RemoveRoleFromMemberRequest(_message.Message): + __slots__ = ('member_id', 'role_id') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + member_id: str + role_id: str + + def __init__(self, member_id: _Optional[str]=..., role_id: _Optional[str]=...) -> None: + ... + +class RemoveRoleFromMemberResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetMemberRolesRequest(_message.Message): + __slots__ = ('member_ids',) + MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + member_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, member_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetMemberRolesResponse(_message.Message): + __slots__ = ('member_roles',) + + class MemberRolesEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: MemberRoles + + def __init__(self, key: _Optional[str]=..., value: _Optional[_Union[MemberRoles, _Mapping]]=...) -> None: + ... + MEMBER_ROLES_FIELD_NUMBER: _ClassVar[int] + member_roles: _containers.MessageMap[str, MemberRoles] + + def __init__(self, member_roles: _Optional[_Mapping[str, MemberRoles]]=...) -> None: + ... + +class MemberRoles(_message.Message): + __slots__ = ('roles',) + ROLES_FIELD_NUMBER: _ClassVar[int] + roles: _containers.RepeatedCompositeFieldContainer[Role] + + def __init__(self, roles: _Optional[_Iterable[_Union[Role, _Mapping]]]=...) -> None: + ... + +class GetCurrentMemberRolesAndPermissionsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetCurrentMemberRolesAndPermissionsResponse(_message.Message): + __slots__ = ('roles', 'permissions') + ROLES_FIELD_NUMBER: _ClassVar[int] + PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + roles: _containers.RepeatedCompositeFieldContainer[Role] + permissions: _containers.RepeatedCompositeFieldContainer[Permission] + + def __init__(self, roles: _Optional[_Iterable[_Union[Role, _Mapping]]]=..., permissions: _Optional[_Iterable[_Union[Permission, _Mapping]]]=...) -> None: + ... + +class ShareObjectRequest(_message.Message): + __slots__ = ('object_type', 'object_id', 'member_id', 'access_type', 'expires_at', 'is_public') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + member_id: str + access_type: str + expires_at: _timestamp_pb2.Timestamp + is_public: bool + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=..., member_id: _Optional[str]=..., access_type: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., is_public: bool=...) -> None: + ... + +class ShareObjectResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ShareObjectWithRoleRequest(_message.Message): + __slots__ = ('object_type', 'object_id', 'role_id', 'access_type', 'expires_at', 'is_public') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + role_id: str + access_type: str + expires_at: _timestamp_pb2.Timestamp + is_public: bool + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=..., role_id: _Optional[str]=..., access_type: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., is_public: bool=...) -> None: + ... + +class ShareObjectWithRoleResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RevokeObjectAccessRequest(_message.Message): + __slots__ = ('object_type', 'object_id', 'member_id', 'role_id', 'group_id') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + member_id: str + role_id: str + group_id: str + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=..., member_id: _Optional[str]=..., role_id: _Optional[str]=..., group_id: _Optional[str]=...) -> None: + ... + +class RevokeObjectAccessResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetObjectAccessRequest(_message.Message): + __slots__ = ('object_type', 'object_id') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=...) -> None: + ... + +class GetObjectAccessResponse(_message.Message): + __slots__ = ('access_entries',) + ACCESS_ENTRIES_FIELD_NUMBER: _ClassVar[int] + access_entries: _containers.RepeatedCompositeFieldContainer[ObjectAccess] + + def __init__(self, access_entries: _Optional[_Iterable[_Union[ObjectAccess, _Mapping]]]=...) -> None: + ... + +class HasObjectAccessRequest(_message.Message): + __slots__ = ('object_type', 'object_id', 'member_id', 'role_id', 'group_id') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + member_id: str + role_id: str + group_id: str + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=..., member_id: _Optional[str]=..., role_id: _Optional[str]=..., group_id: _Optional[str]=...) -> None: + ... + +class HasObjectAccessResponse(_message.Message): + __slots__ = ('has_access',) + HAS_ACCESS_FIELD_NUMBER: _ClassVar[int] + has_access: bool + + def __init__(self, has_access: bool=...) -> None: + ... + +class UpdateObjectVisibilityRequest(_message.Message): + __slots__ = ('object_type', 'object_id', 'is_public') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + is_public: bool + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=..., is_public: bool=...) -> None: + ... + +class UpdateObjectVisibilityResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UpdateObjectAccessRequest(_message.Message): + __slots__ = ('access_id', 'access_type', 'expires_at') + ACCESS_ID_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + access_id: str + access_type: str + expires_at: _timestamp_pb2.Timestamp + + def __init__(self, access_id: _Optional[str]=..., access_type: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class UpdateObjectAccessResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GenerateShareLinkRequest(_message.Message): + __slots__ = ('object_type', 'object_id') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=...) -> None: + ... + +class GenerateShareLinkResponse(_message.Message): + __slots__ = ('share_link',) + SHARE_LINK_FIELD_NUMBER: _ClassVar[int] + share_link: str + + def __init__(self, share_link: _Optional[str]=...) -> None: + ... + +class AccessRequest(_message.Message): + __slots__ = ('id', 'org_id', 'object_type', 'object_id', 'member_id', 'requested_access_type', 'justification', 'request_message', 'status', 'reviewed_by', 'rejection_reason', 'created_at', 'updated_at') + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + REQUESTED_ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + JUSTIFICATION_FIELD_NUMBER: _ClassVar[int] + REQUEST_MESSAGE_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + REVIEWED_BY_FIELD_NUMBER: _ClassVar[int] + REJECTION_REASON_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + object_type: str + object_id: str + member_id: str + requested_access_type: str + justification: str + request_message: str + status: str + reviewed_by: str + rejection_reason: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., object_type: _Optional[str]=..., object_id: _Optional[str]=..., member_id: _Optional[str]=..., requested_access_type: _Optional[str]=..., justification: _Optional[str]=..., request_message: _Optional[str]=..., status: _Optional[str]=..., reviewed_by: _Optional[str]=..., rejection_reason: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class RequestAccessRequest(_message.Message): + __slots__ = ('object_type', 'object_id', 'requested_access_type', 'justification', 'request_message') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + REQUESTED_ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + JUSTIFICATION_FIELD_NUMBER: _ClassVar[int] + REQUEST_MESSAGE_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + requested_access_type: str + justification: str + request_message: str + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=..., requested_access_type: _Optional[str]=..., justification: _Optional[str]=..., request_message: _Optional[str]=...) -> None: + ... + +class RequestAccessResponse(_message.Message): + __slots__ = ('success', 'request_id') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + REQUEST_ID_FIELD_NUMBER: _ClassVar[int] + success: bool + request_id: str + + def __init__(self, success: bool=..., request_id: _Optional[str]=...) -> None: + ... + +class ListAccessRequestsRequest(_message.Message): + __slots__ = ('object_type', 'object_id', 'status') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + status: str + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=..., status: _Optional[str]=...) -> None: + ... + +class ListAccessRequestsResponse(_message.Message): + __slots__ = ('requests',) + REQUESTS_FIELD_NUMBER: _ClassVar[int] + requests: _containers.RepeatedCompositeFieldContainer[AccessRequest] + + def __init__(self, requests: _Optional[_Iterable[_Union[AccessRequest, _Mapping]]]=...) -> None: + ... + +class ApproveAccessRequestRequest(_message.Message): + __slots__ = ('request_id',) + REQUEST_ID_FIELD_NUMBER: _ClassVar[int] + request_id: str + + def __init__(self, request_id: _Optional[str]=...) -> None: + ... + +class ApproveAccessRequestResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RejectAccessRequestRequest(_message.Message): + __slots__ = ('request_id', 'rejection_reason') + REQUEST_ID_FIELD_NUMBER: _ClassVar[int] + REJECTION_REASON_FIELD_NUMBER: _ClassVar[int] + request_id: str + rejection_reason: str + + def __init__(self, request_id: _Optional[str]=..., rejection_reason: _Optional[str]=...) -> None: + ... + +class RejectAccessRequestResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class CreateGroupRequest(_message.Message): + __slots__ = ('name', 'description', 'member_ids') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + member_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., member_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreateGroupResponse(_message.Message): + __slots__ = ('group',) + GROUP_FIELD_NUMBER: _ClassVar[int] + group: Group + + def __init__(self, group: _Optional[_Union[Group, _Mapping]]=...) -> None: + ... + +class GetGroupRequest(_message.Message): + __slots__ = ('group_id',) + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + group_id: str + + def __init__(self, group_id: _Optional[str]=...) -> None: + ... + +class GetGroupResponse(_message.Message): + __slots__ = ('group', 'member_ids') + GROUP_FIELD_NUMBER: _ClassVar[int] + MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + group: Group + member_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, group: _Optional[_Union[Group, _Mapping]]=..., member_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class ListGroupsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListGroupsResponse(_message.Message): + __slots__ = ('groups',) + GROUPS_FIELD_NUMBER: _ClassVar[int] + groups: _containers.RepeatedCompositeFieldContainer[Group] + + def __init__(self, groups: _Optional[_Iterable[_Union[Group, _Mapping]]]=...) -> None: + ... + +class UpdateGroupRequest(_message.Message): + __slots__ = ('group_id', 'name', 'description') + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + group_id: str + name: str + description: str + + def __init__(self, group_id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=...) -> None: + ... + +class UpdateGroupResponse(_message.Message): + __slots__ = ('group',) + GROUP_FIELD_NUMBER: _ClassVar[int] + group: Group + + def __init__(self, group: _Optional[_Union[Group, _Mapping]]=...) -> None: + ... + +class DeleteGroupRequest(_message.Message): + __slots__ = ('group_id',) + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + group_id: str + + def __init__(self, group_id: _Optional[str]=...) -> None: + ... + +class DeleteGroupResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class AddGroupMemberRequest(_message.Message): + __slots__ = ('group_id', 'member_id') + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + group_id: str + member_id: str + + def __init__(self, group_id: _Optional[str]=..., member_id: _Optional[str]=...) -> None: + ... + +class AddGroupMemberResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RemoveGroupMemberRequest(_message.Message): + __slots__ = ('group_id', 'member_id') + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + group_id: str + member_id: str + + def __init__(self, group_id: _Optional[str]=..., member_id: _Optional[str]=...) -> None: + ... + +class RemoveGroupMemberResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetMemberGroupsRequest(_message.Message): + __slots__ = ('member_ids',) + MEMBER_IDS_FIELD_NUMBER: _ClassVar[int] + member_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, member_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class GetMemberGroupsResponse(_message.Message): + __slots__ = ('member_groups',) + + class MemberGroupsEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: MemberGroups + + def __init__(self, key: _Optional[str]=..., value: _Optional[_Union[MemberGroups, _Mapping]]=...) -> None: + ... + MEMBER_GROUPS_FIELD_NUMBER: _ClassVar[int] + member_groups: _containers.MessageMap[str, MemberGroups] + + def __init__(self, member_groups: _Optional[_Mapping[str, MemberGroups]]=...) -> None: + ... + +class MemberGroups(_message.Message): + __slots__ = ('groups',) + GROUPS_FIELD_NUMBER: _ClassVar[int] + groups: _containers.RepeatedCompositeFieldContainer[Group] + + def __init__(self, groups: _Optional[_Iterable[_Union[Group, _Mapping]]]=...) -> None: + ... + +class ShareObjectWithGroupRequest(_message.Message): + __slots__ = ('object_type', 'object_id', 'group_id', 'access_type', 'expires_at', 'is_public') + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + group_id: str + access_type: str + expires_at: _timestamp_pb2.Timestamp + is_public: bool + + def __init__(self, object_type: _Optional[str]=..., object_id: _Optional[str]=..., group_id: _Optional[str]=..., access_type: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., is_public: bool=...) -> None: + ... + +class ShareObjectWithGroupResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ListGroupConnectorsRequest(_message.Message): + __slots__ = ('group_id',) + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + group_id: str + + def __init__(self, group_id: _Optional[str]=...) -> None: + ... + +class GroupConnectorAccess(_message.Message): + __slots__ = ('access_id', 'connector_id', 'connector_name', 'access_type') + ACCESS_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_NAME_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + access_id: str + connector_id: str + connector_name: str + access_type: str + + def __init__(self, access_id: _Optional[str]=..., connector_id: _Optional[str]=..., connector_name: _Optional[str]=..., access_type: _Optional[str]=...) -> None: + ... + +class ListGroupConnectorsResponse(_message.Message): + __slots__ = ('connectors',) + CONNECTORS_FIELD_NUMBER: _ClassVar[int] + connectors: _containers.RepeatedCompositeFieldContainer[GroupConnectorAccess] + + def __init__(self, connectors: _Optional[_Iterable[_Union[GroupConnectorAccess, _Mapping]]]=...) -> None: + ... + +class MigrateScimGroupMappingToGroupRequest(_message.Message): + __slots__ = ('mapping_id',) + MAPPING_ID_FIELD_NUMBER: _ClassVar[int] + mapping_id: str + + def __init__(self, mapping_id: _Optional[str]=...) -> None: + ... + +class MigrateScimGroupMappingToGroupResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class MigrateAllScimGroupMappingsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class MigrateAllScimGroupMappingsResponse(_message.Message): + __slots__ = ('migrated_mapping_count',) + MIGRATED_MAPPING_COUNT_FIELD_NUMBER: _ClassVar[int] + migrated_mapping_count: int + + def __init__(self, migrated_mapping_count: _Optional[int]=...) -> None: + ... + +class ConvertRoleToGroupRequest(_message.Message): + __slots__ = ('role_id', 'drop_permissions') + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + DROP_PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + role_id: str + drop_permissions: bool + + def __init__(self, role_id: _Optional[str]=..., drop_permissions: bool=...) -> None: + ... + +class ConvertRoleToGroupResponse(_message.Message): + __slots__ = ('group_id', 'migrated_member_count') + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + MIGRATED_MEMBER_COUNT_FIELD_NUMBER: _ClassVar[int] + group_id: str + migrated_member_count: int + + def __init__(self, group_id: _Optional[str]=..., migrated_member_count: _Optional[int]=...) -> None: + ... + +class ListScimGroupMappingsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ScimGroupMappingSummary(_message.Message): + __slots__ = ('id', 'display_name', 'external_id', 'role_id', 'role_name', 'group_id', 'group_name', 'target_mode', 'is_system') + ID_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_NAME_FIELD_NUMBER: _ClassVar[int] + GROUP_ID_FIELD_NUMBER: _ClassVar[int] + GROUP_NAME_FIELD_NUMBER: _ClassVar[int] + TARGET_MODE_FIELD_NUMBER: _ClassVar[int] + IS_SYSTEM_FIELD_NUMBER: _ClassVar[int] + id: str + display_name: str + external_id: str + role_id: str + role_name: str + group_id: str + group_name: str + target_mode: str + is_system: bool + + def __init__(self, id: _Optional[str]=..., display_name: _Optional[str]=..., external_id: _Optional[str]=..., role_id: _Optional[str]=..., role_name: _Optional[str]=..., group_id: _Optional[str]=..., group_name: _Optional[str]=..., target_mode: _Optional[str]=..., is_system: bool=...) -> None: + ... + +class RevertScimGroupMappingToRoleRequest(_message.Message): + __slots__ = ('mapping_id',) + MAPPING_ID_FIELD_NUMBER: _ClassVar[int] + mapping_id: str + + def __init__(self, mapping_id: _Optional[str]=...) -> None: + ... + +class RevertScimGroupMappingToRoleResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class ListScimGroupMappingsResponse(_message.Message): + __slots__ = ('mappings',) + MAPPINGS_FIELD_NUMBER: _ClassVar[int] + mappings: _containers.RepeatedCompositeFieldContainer[ScimGroupMappingSummary] + + def __init__(self, mappings: _Optional[_Iterable[_Union[ScimGroupMappingSummary, _Mapping]]]=...) -> None: + ... + +class ApiKey(_message.Message): + __slots__ = ('id', 'member_id', 'client_id', 'created_at', 'api_key_short', 'assumed_roles', 'name', 'expires_at', 'revoked_at', 'status', 'owner_display_name', 'owner_email', 'suppress_superadmin') + ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + API_KEY_SHORT_FIELD_NUMBER: _ClassVar[int] + ASSUMED_ROLES_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + REVOKED_AT_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + OWNER_DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + OWNER_EMAIL_FIELD_NUMBER: _ClassVar[int] + SUPPRESS_SUPERADMIN_FIELD_NUMBER: _ClassVar[int] + id: str + member_id: str + client_id: str + created_at: _timestamp_pb2.Timestamp + api_key_short: str + assumed_roles: _containers.RepeatedScalarFieldContainer[str] + name: str + expires_at: _timestamp_pb2.Timestamp + revoked_at: _timestamp_pb2.Timestamp + status: ApiKeyStatus + owner_display_name: str + owner_email: str + suppress_superadmin: bool + + def __init__(self, id: _Optional[str]=..., member_id: _Optional[str]=..., client_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., api_key_short: _Optional[str]=..., assumed_roles: _Optional[_Iterable[str]]=..., name: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., revoked_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., status: _Optional[_Union[ApiKeyStatus, str]]=..., owner_display_name: _Optional[str]=..., owner_email: _Optional[str]=..., suppress_superadmin: bool=...) -> None: + ... + +class CreateApiKeyRequest(_message.Message): + __slots__ = ('expiry_seconds', 'assumed_roles', 'inherit_all_roles', 'name', 'target_member_id', 'client_id', 'suppress_superadmin') + EXPIRY_SECONDS_FIELD_NUMBER: _ClassVar[int] + ASSUMED_ROLES_FIELD_NUMBER: _ClassVar[int] + INHERIT_ALL_ROLES_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + TARGET_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + SUPPRESS_SUPERADMIN_FIELD_NUMBER: _ClassVar[int] + expiry_seconds: int + assumed_roles: _containers.RepeatedScalarFieldContainer[str] + inherit_all_roles: bool + name: str + target_member_id: str + client_id: str + suppress_superadmin: bool + + def __init__(self, expiry_seconds: _Optional[int]=..., assumed_roles: _Optional[_Iterable[str]]=..., inherit_all_roles: bool=..., name: _Optional[str]=..., target_member_id: _Optional[str]=..., client_id: _Optional[str]=..., suppress_superadmin: bool=...) -> None: + ... + +class CreateApiKeyResponse(_message.Message): + __slots__ = ('api_key', 'api_key_secret', 'api_key_hash') + API_KEY_FIELD_NUMBER: _ClassVar[int] + API_KEY_SECRET_FIELD_NUMBER: _ClassVar[int] + API_KEY_HASH_FIELD_NUMBER: _ClassVar[int] + api_key: ApiKey + api_key_secret: str + api_key_hash: str + + def __init__(self, api_key: _Optional[_Union[ApiKey, _Mapping]]=..., api_key_secret: _Optional[str]=..., api_key_hash: _Optional[str]=...) -> None: + ... + +class ListApiKeysRequest(_message.Message): + __slots__ = ('scope', 'service_account_member_id', 'include_revoked', 'search_term', 'sort_by', 'sort_direction', 'page_size', 'page_token') + SCOPE_FIELD_NUMBER: _ClassVar[int] + SERVICE_ACCOUNT_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + INCLUDE_REVOKED_FIELD_NUMBER: _ClassVar[int] + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + SORT_BY_FIELD_NUMBER: _ClassVar[int] + SORT_DIRECTION_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + scope: ApiKeyScope + service_account_member_id: str + include_revoked: bool + search_term: str + sort_by: ApiKeySortField + sort_direction: _common_pb2.SortDirection + page_size: int + page_token: str + + def __init__(self, scope: _Optional[_Union[ApiKeyScope, str]]=..., service_account_member_id: _Optional[str]=..., include_revoked: bool=..., search_term: _Optional[str]=..., sort_by: _Optional[_Union[ApiKeySortField, str]]=..., sort_direction: _Optional[_Union[_common_pb2.SortDirection, str]]=..., page_size: _Optional[int]=..., page_token: _Optional[str]=...) -> None: + ... + +class ListApiKeysResponse(_message.Message): + __slots__ = ('api_keys', 'next_page_token') + API_KEYS_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + api_keys: _containers.RepeatedCompositeFieldContainer[ApiKey] + next_page_token: str + + def __init__(self, api_keys: _Optional[_Iterable[_Union[ApiKey, _Mapping]]]=..., next_page_token: _Optional[str]=...) -> None: + ... + +class RevokeApiKeyRequest(_message.Message): + __slots__ = ('api_key_id',) + API_KEY_ID_FIELD_NUMBER: _ClassVar[int] + api_key_id: str + + def __init__(self, api_key_id: _Optional[str]=...) -> None: + ... + +class RevokeApiKeyResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RotateApiKeyRequest(_message.Message): + __slots__ = ('api_key_id',) + API_KEY_ID_FIELD_NUMBER: _ClassVar[int] + api_key_id: str + + def __init__(self, api_key_id: _Optional[str]=...) -> None: + ... + +class RotateApiKeyResponse(_message.Message): + __slots__ = ('api_key', 'api_key_secret', 'revoked_api_key_id') + API_KEY_FIELD_NUMBER: _ClassVar[int] + API_KEY_SECRET_FIELD_NUMBER: _ClassVar[int] + REVOKED_API_KEY_ID_FIELD_NUMBER: _ClassVar[int] + api_key: ApiKey + api_key_secret: str + revoked_api_key_id: str + + def __init__(self, api_key: _Optional[_Union[ApiKey, _Mapping]]=..., api_key_secret: _Optional[str]=..., revoked_api_key_id: _Optional[str]=...) -> None: + ... + +class GetEmbedUserApiKeyRequest(_message.Message): + __slots__ = ('member_id',) + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + member_id: str + + def __init__(self, member_id: _Optional[str]=...) -> None: + ... + +class GetEmbedUserApiKeyResponse(_message.Message): + __slots__ = ('api_key_base64', 'api_key_short', 'service_account_email') + API_KEY_BASE64_FIELD_NUMBER: _ClassVar[int] + API_KEY_SHORT_FIELD_NUMBER: _ClassVar[int] + SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER: _ClassVar[int] + api_key_base64: str + api_key_short: str + service_account_email: str + + def __init__(self, api_key_base64: _Optional[str]=..., api_key_short: _Optional[str]=..., service_account_email: _Optional[str]=...) -> None: + ... + +class CreateServiceAccountRequest(_message.Message): + __slots__ = ('name', 'description', 'owner_member_id', 'role_ids') + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + OWNER_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + ROLE_IDS_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + owner_member_id: str + role_ids: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, name: _Optional[str]=..., description: _Optional[str]=..., owner_member_id: _Optional[str]=..., role_ids: _Optional[_Iterable[str]]=...) -> None: + ... + +class CreateServiceAccountResponse(_message.Message): + __slots__ = ('member_id', 'email') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + member_id: str + email: str + + def __init__(self, member_id: _Optional[str]=..., email: _Optional[str]=...) -> None: + ... + +class ServiceAccount(_message.Message): + __slots__ = ('member_id', 'email', 'display_name', 'description', 'owner_member_id', 'created_at', 'agent_id') + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + OWNER_MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + member_id: str + email: str + display_name: str + description: str + owner_member_id: str + created_at: _timestamp_pb2.Timestamp + agent_id: str + + def __init__(self, member_id: _Optional[str]=..., email: _Optional[str]=..., display_name: _Optional[str]=..., description: _Optional[str]=..., owner_member_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., agent_id: _Optional[str]=...) -> None: + ... + +class ListServiceAccountsRequest(_message.Message): + __slots__ = ('search_term', 'page_size', 'page_token') + SEARCH_TERM_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + search_term: str + page_size: int + page_token: str + + def __init__(self, search_term: _Optional[str]=..., page_size: _Optional[int]=..., page_token: _Optional[str]=...) -> None: + ... + +class ListServiceAccountsResponse(_message.Message): + __slots__ = ('service_accounts', 'next_page_token') + SERVICE_ACCOUNTS_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + service_accounts: _containers.RepeatedCompositeFieldContainer[ServiceAccount] + next_page_token: str + + def __init__(self, service_accounts: _Optional[_Iterable[_Union[ServiceAccount, _Mapping]]]=..., next_page_token: _Optional[str]=...) -> None: + ... + +class DeleteServiceAccountRequest(_message.Message): + __slots__ = ('member_id',) + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + member_id: str + + def __init__(self, member_id: _Optional[str]=...) -> None: + ... + +class DeleteServiceAccountResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/report_pb2.py b/src/textql_sdk/_connect/public/report_pb2.py new file mode 100644 index 0000000..5dc9fb1 --- /dev/null +++ b/src/textql_sdk/_connect/public/report_pb2.py @@ -0,0 +1,34 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/report.proto') +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13public/report.proto\x12\x19textql.rpc.public.reports"X\n\tHeroBlock\x12\x1b\n\timage_url\x18\x01 \x01(\tR\x08imageUrl\x12 \n\timage_alt\x18\x02 \x01(\tH\x00R\x08imageAlt\x88\x01\x01B\x0c\n\n_image_alt"a\n\tTextBlock\x12\x1d\n\x07heading\x18\x01 \x01(\tH\x00R\x07heading\x88\x01\x01\x12\x1d\n\x07content\x18\x02 \x01(\tH\x01R\x07content\x88\x01\x01B\n\n\x08_headingB\n\n\x08_content"\xad\x01\n\nImageBlock\x12\x1b\n\timage_url\x18\x01 \x01(\tR\x08imageUrl\x12 \n\timage_alt\x18\x02 \x01(\tH\x00R\x08imageAlt\x88\x01\x01\x12F\n\x07variant\x18\x03 \x01(\x0e2\'.textql.rpc.public.reports.ImageVariantH\x01R\x07variant\x88\x01\x01B\x0c\n\n_image_altB\n\n\x08_variant"L\n\tListBlock\x12\x1d\n\x07heading\x18\x01 \x01(\tH\x00R\x07heading\x88\x01\x01\x12\x14\n\x05items\x18\x02 \x03(\tR\x05itemsB\n\n\x08_heading"\x87\x02\n\x0eImageTextBlock\x12\x1b\n\timage_url\x18\x01 \x01(\tR\x08imageUrl\x12 \n\timage_alt\x18\x02 \x01(\tH\x00R\x08imageAlt\x88\x01\x01\x12F\n\x07variant\x18\x03 \x01(\x0e2\'.textql.rpc.public.reports.ImageVariantH\x01R\x07variant\x88\x01\x01\x12\x1d\n\x07heading\x18\x04 \x01(\tH\x02R\x07heading\x88\x01\x01\x12\x1d\n\x07content\x18\x05 \x01(\tH\x03R\x07content\x88\x01\x01B\x0c\n\n_image_altB\n\n\x08_variantB\n\n\x08_headingB\n\n\x08_content"K\n\tCardBlock\x12>\n\x06blocks\x18\x01 \x03(\x0b2&.textql.rpc.public.reports.ReportBlockR\x06blocks"\x0e\n\x0cDividerBlock"5\n\x0bSpacerBlock\x12\x1b\n\x06height\x18\x01 \x01(\x05H\x00R\x06height\x88\x01\x01B\t\n\x07_height"\x98\x04\n\x0bReportBlock\x12:\n\x04hero\x18\x01 \x01(\x0b2$.textql.rpc.public.reports.HeroBlockH\x00R\x04hero\x12:\n\x04text\x18\x02 \x01(\x0b2$.textql.rpc.public.reports.TextBlockH\x00R\x04text\x12=\n\x05image\x18\x03 \x01(\x0b2%.textql.rpc.public.reports.ImageBlockH\x00R\x05image\x12:\n\x04list\x18\x04 \x01(\x0b2$.textql.rpc.public.reports.ListBlockH\x00R\x04list\x12J\n\nimage_text\x18\x05 \x01(\x0b2).textql.rpc.public.reports.ImageTextBlockH\x00R\timageText\x12:\n\x04card\x18\x06 \x01(\x0b2$.textql.rpc.public.reports.CardBlockH\x00R\x04card\x12C\n\x07divider\x18\x07 \x01(\x0b2\'.textql.rpc.public.reports.DividerBlockH\x00R\x07divider\x12@\n\x06spacer\x18\x08 \x01(\x0b2&.textql.rpc.public.reports.SpacerBlockH\x00R\x06spacerB\x07\n\x05block*u\n\x0cImageVariant\x12\x1a\n\x16IMAGE_VARIANT_CIRCULAR\x10\x00\x12\x19\n\x15IMAGE_VARIANT_ROUNDED\x10\x01\x12\x16\n\x12IMAGE_VARIANT_PILL\x10\x02\x12\x16\n\x12IMAGE_VARIANT_NONE\x10\x03b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.report_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_IMAGEVARIANT']._serialized_start = 1446 + _globals['_IMAGEVARIANT']._serialized_end = 1563 + _globals['_HEROBLOCK']._serialized_start = 50 + _globals['_HEROBLOCK']._serialized_end = 138 + _globals['_TEXTBLOCK']._serialized_start = 140 + _globals['_TEXTBLOCK']._serialized_end = 237 + _globals['_IMAGEBLOCK']._serialized_start = 240 + _globals['_IMAGEBLOCK']._serialized_end = 413 + _globals['_LISTBLOCK']._serialized_start = 415 + _globals['_LISTBLOCK']._serialized_end = 491 + _globals['_IMAGETEXTBLOCK']._serialized_start = 494 + _globals['_IMAGETEXTBLOCK']._serialized_end = 757 + _globals['_CARDBLOCK']._serialized_start = 759 + _globals['_CARDBLOCK']._serialized_end = 834 + _globals['_DIVIDERBLOCK']._serialized_start = 836 + _globals['_DIVIDERBLOCK']._serialized_end = 850 + _globals['_SPACERBLOCK']._serialized_start = 852 + _globals['_SPACERBLOCK']._serialized_end = 905 + _globals['_REPORTBLOCK']._serialized_start = 908 + _globals['_REPORTBLOCK']._serialized_end = 1444 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/report_pb2.pyi b/src/textql_sdk/_connect/public/report_pb2.pyi new file mode 100644 index 0000000..ad9b014 --- /dev/null +++ b/src/textql_sdk/_connect/public/report_pb2.pyi @@ -0,0 +1,120 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ImageVariant(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + IMAGE_VARIANT_CIRCULAR: _ClassVar[ImageVariant] + IMAGE_VARIANT_ROUNDED: _ClassVar[ImageVariant] + IMAGE_VARIANT_PILL: _ClassVar[ImageVariant] + IMAGE_VARIANT_NONE: _ClassVar[ImageVariant] +IMAGE_VARIANT_CIRCULAR: ImageVariant +IMAGE_VARIANT_ROUNDED: ImageVariant +IMAGE_VARIANT_PILL: ImageVariant +IMAGE_VARIANT_NONE: ImageVariant + +class HeroBlock(_message.Message): + __slots__ = ('image_url', 'image_alt') + IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + IMAGE_ALT_FIELD_NUMBER: _ClassVar[int] + image_url: str + image_alt: str + + def __init__(self, image_url: _Optional[str]=..., image_alt: _Optional[str]=...) -> None: + ... + +class TextBlock(_message.Message): + __slots__ = ('heading', 'content') + HEADING_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + heading: str + content: str + + def __init__(self, heading: _Optional[str]=..., content: _Optional[str]=...) -> None: + ... + +class ImageBlock(_message.Message): + __slots__ = ('image_url', 'image_alt', 'variant') + IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + IMAGE_ALT_FIELD_NUMBER: _ClassVar[int] + VARIANT_FIELD_NUMBER: _ClassVar[int] + image_url: str + image_alt: str + variant: ImageVariant + + def __init__(self, image_url: _Optional[str]=..., image_alt: _Optional[str]=..., variant: _Optional[_Union[ImageVariant, str]]=...) -> None: + ... + +class ListBlock(_message.Message): + __slots__ = ('heading', 'items') + HEADING_FIELD_NUMBER: _ClassVar[int] + ITEMS_FIELD_NUMBER: _ClassVar[int] + heading: str + items: _containers.RepeatedScalarFieldContainer[str] + + def __init__(self, heading: _Optional[str]=..., items: _Optional[_Iterable[str]]=...) -> None: + ... + +class ImageTextBlock(_message.Message): + __slots__ = ('image_url', 'image_alt', 'variant', 'heading', 'content') + IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + IMAGE_ALT_FIELD_NUMBER: _ClassVar[int] + VARIANT_FIELD_NUMBER: _ClassVar[int] + HEADING_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + image_url: str + image_alt: str + variant: ImageVariant + heading: str + content: str + + def __init__(self, image_url: _Optional[str]=..., image_alt: _Optional[str]=..., variant: _Optional[_Union[ImageVariant, str]]=..., heading: _Optional[str]=..., content: _Optional[str]=...) -> None: + ... + +class CardBlock(_message.Message): + __slots__ = ('blocks',) + BLOCKS_FIELD_NUMBER: _ClassVar[int] + blocks: _containers.RepeatedCompositeFieldContainer[ReportBlock] + + def __init__(self, blocks: _Optional[_Iterable[_Union[ReportBlock, _Mapping]]]=...) -> None: + ... + +class DividerBlock(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class SpacerBlock(_message.Message): + __slots__ = ('height',) + HEIGHT_FIELD_NUMBER: _ClassVar[int] + height: int + + def __init__(self, height: _Optional[int]=...) -> None: + ... + +class ReportBlock(_message.Message): + __slots__ = ('hero', 'text', 'image', 'list', 'image_text', 'card', 'divider', 'spacer') + HERO_FIELD_NUMBER: _ClassVar[int] + TEXT_FIELD_NUMBER: _ClassVar[int] + IMAGE_FIELD_NUMBER: _ClassVar[int] + LIST_FIELD_NUMBER: _ClassVar[int] + IMAGE_TEXT_FIELD_NUMBER: _ClassVar[int] + CARD_FIELD_NUMBER: _ClassVar[int] + DIVIDER_FIELD_NUMBER: _ClassVar[int] + SPACER_FIELD_NUMBER: _ClassVar[int] + hero: HeroBlock + text: TextBlock + image: ImageBlock + list: ListBlock + image_text: ImageTextBlock + card: CardBlock + divider: DividerBlock + spacer: SpacerBlock + + def __init__(self, hero: _Optional[_Union[HeroBlock, _Mapping]]=..., text: _Optional[_Union[TextBlock, _Mapping]]=..., image: _Optional[_Union[ImageBlock, _Mapping]]=..., list: _Optional[_Union[ListBlock, _Mapping]]=..., image_text: _Optional[_Union[ImageTextBlock, _Mapping]]=..., card: _Optional[_Union[CardBlock, _Mapping]]=..., divider: _Optional[_Union[DividerBlock, _Mapping]]=..., spacer: _Optional[_Union[SpacerBlock, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_admin_connect.py b/src/textql_sdk/_connect/public/sandbox_admin_connect.py new file mode 100644 index 0000000..66179cc --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_admin_connect.py @@ -0,0 +1,159 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import sandbox_admin_pb2 as public_dot_sandbox__admin__pb2 + +class SandboxAdminService(Protocol): + + async def list_sandboxes(self, request: public_dot_sandbox__admin__pb2.ListSandboxesRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def stop_sandbox(self, request: public_dot_sandbox__admin__pb2.StopSandboxRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.StopSandboxResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def restart_sandbox(self, request: public_dot_sandbox__admin__pb2.RestartSandboxRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.RestartSandboxResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_sandbox(self, request: public_dot_sandbox__admin__pb2.GetSandboxRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.GetSandboxResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_sandbox_executions(self, request: public_dot_sandbox__admin__pb2.ListSandboxExecutionsRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxExecutionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_sandbox_files(self, request: public_dot_sandbox__admin__pb2.ListSandboxFilesRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxFilesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def read_sandbox_file(self, request: public_dot_sandbox__admin__pb2.ReadSandboxFileRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ReadSandboxFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_sandbox_egress(self, request: public_dot_sandbox__admin__pb2.ListSandboxEgressRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxEgressResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_sandbox_spend(self, request: public_dot_sandbox__admin__pb2.ListSandboxSpendRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxSpendResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_sandbox_resources(self, request: public_dot_sandbox__admin__pb2.ListSandboxResourcesRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxResourcesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SandboxAdminServiceASGIApplication(ConnectASGIApplication[SandboxAdminService]): + + def __init__(self, service: SandboxAdminService | AsyncGenerator[SandboxAdminService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxes': Endpoint.unary(method=MethodInfo(name='ListSandboxes', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_sandboxes), '/textql.rpc.public.sandbox_admin.SandboxAdminService/StopSandbox': Endpoint.unary(method=MethodInfo(name='StopSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.StopSandboxRequest, output=public_dot_sandbox__admin__pb2.StopSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.stop_sandbox), '/textql.rpc.public.sandbox_admin.SandboxAdminService/RestartSandbox': Endpoint.unary(method=MethodInfo(name='RestartSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.RestartSandboxRequest, output=public_dot_sandbox__admin__pb2.RestartSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.restart_sandbox), '/textql.rpc.public.sandbox_admin.SandboxAdminService/GetSandbox': Endpoint.unary(method=MethodInfo(name='GetSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.GetSandboxRequest, output=public_dot_sandbox__admin__pb2.GetSandboxResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_sandbox), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxExecutions': Endpoint.unary(method=MethodInfo(name='ListSandboxExecutions', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxExecutionsRequest, output=public_dot_sandbox__admin__pb2.ListSandboxExecutionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_sandbox_executions), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxFiles': Endpoint.unary(method=MethodInfo(name='ListSandboxFiles', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxFilesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_sandbox_files), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ReadSandboxFile': Endpoint.unary(method=MethodInfo(name='ReadSandboxFile', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ReadSandboxFileRequest, output=public_dot_sandbox__admin__pb2.ReadSandboxFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.read_sandbox_file), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxEgress': Endpoint.unary(method=MethodInfo(name='ListSandboxEgress', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxEgressRequest, output=public_dot_sandbox__admin__pb2.ListSandboxEgressResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_sandbox_egress), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxSpend': Endpoint.unary(method=MethodInfo(name='ListSandboxSpend', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxSpendRequest, output=public_dot_sandbox__admin__pb2.ListSandboxSpendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_sandbox_spend), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxResources': Endpoint.unary(method=MethodInfo(name='ListSandboxResources', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxResourcesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxResourcesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_sandbox_resources)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sandbox_admin.SandboxAdminService' + +class SandboxAdminServiceClient(ConnectClient): + + async def list_sandboxes(self, request: public_dot_sandbox__admin__pb2.ListSandboxesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSandboxes', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def stop_sandbox(self, request: public_dot_sandbox__admin__pb2.StopSandboxRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__admin__pb2.StopSandboxResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='StopSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.StopSandboxRequest, output=public_dot_sandbox__admin__pb2.StopSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def restart_sandbox(self, request: public_dot_sandbox__admin__pb2.RestartSandboxRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__admin__pb2.RestartSandboxResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RestartSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.RestartSandboxRequest, output=public_dot_sandbox__admin__pb2.RestartSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_sandbox(self, request: public_dot_sandbox__admin__pb2.GetSandboxRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.GetSandboxResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.GetSandboxRequest, output=public_dot_sandbox__admin__pb2.GetSandboxResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_sandbox_executions(self, request: public_dot_sandbox__admin__pb2.ListSandboxExecutionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxExecutionsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSandboxExecutions', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxExecutionsRequest, output=public_dot_sandbox__admin__pb2.ListSandboxExecutionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_sandbox_files(self, request: public_dot_sandbox__admin__pb2.ListSandboxFilesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxFilesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSandboxFiles', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxFilesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def read_sandbox_file(self, request: public_dot_sandbox__admin__pb2.ReadSandboxFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ReadSandboxFileResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ReadSandboxFile', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ReadSandboxFileRequest, output=public_dot_sandbox__admin__pb2.ReadSandboxFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_sandbox_egress(self, request: public_dot_sandbox__admin__pb2.ListSandboxEgressRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxEgressResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSandboxEgress', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxEgressRequest, output=public_dot_sandbox__admin__pb2.ListSandboxEgressResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_sandbox_spend(self, request: public_dot_sandbox__admin__pb2.ListSandboxSpendRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxSpendResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSandboxSpend', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxSpendRequest, output=public_dot_sandbox__admin__pb2.ListSandboxSpendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def list_sandbox_resources(self, request: public_dot_sandbox__admin__pb2.ListSandboxResourcesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxResourcesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSandboxResources', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxResourcesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxResourcesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class SandboxAdminServiceSync(Protocol): + + def list_sandboxes(self, request: public_dot_sandbox__admin__pb2.ListSandboxesRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def stop_sandbox(self, request: public_dot_sandbox__admin__pb2.StopSandboxRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.StopSandboxResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def restart_sandbox(self, request: public_dot_sandbox__admin__pb2.RestartSandboxRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.RestartSandboxResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_sandbox(self, request: public_dot_sandbox__admin__pb2.GetSandboxRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.GetSandboxResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_sandbox_executions(self, request: public_dot_sandbox__admin__pb2.ListSandboxExecutionsRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxExecutionsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_sandbox_files(self, request: public_dot_sandbox__admin__pb2.ListSandboxFilesRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxFilesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def read_sandbox_file(self, request: public_dot_sandbox__admin__pb2.ReadSandboxFileRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ReadSandboxFileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_sandbox_egress(self, request: public_dot_sandbox__admin__pb2.ListSandboxEgressRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxEgressResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_sandbox_spend(self, request: public_dot_sandbox__admin__pb2.ListSandboxSpendRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxSpendResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_sandbox_resources(self, request: public_dot_sandbox__admin__pb2.ListSandboxResourcesRequest, ctx: RequestContext) -> public_dot_sandbox__admin__pb2.ListSandboxResourcesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SandboxAdminServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SandboxAdminServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxes': EndpointSync.unary(method=MethodInfo(name='ListSandboxes', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_sandboxes), '/textql.rpc.public.sandbox_admin.SandboxAdminService/StopSandbox': EndpointSync.unary(method=MethodInfo(name='StopSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.StopSandboxRequest, output=public_dot_sandbox__admin__pb2.StopSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.stop_sandbox), '/textql.rpc.public.sandbox_admin.SandboxAdminService/RestartSandbox': EndpointSync.unary(method=MethodInfo(name='RestartSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.RestartSandboxRequest, output=public_dot_sandbox__admin__pb2.RestartSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.restart_sandbox), '/textql.rpc.public.sandbox_admin.SandboxAdminService/GetSandbox': EndpointSync.unary(method=MethodInfo(name='GetSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.GetSandboxRequest, output=public_dot_sandbox__admin__pb2.GetSandboxResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_sandbox), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxExecutions': EndpointSync.unary(method=MethodInfo(name='ListSandboxExecutions', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxExecutionsRequest, output=public_dot_sandbox__admin__pb2.ListSandboxExecutionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_sandbox_executions), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxFiles': EndpointSync.unary(method=MethodInfo(name='ListSandboxFiles', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxFilesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_sandbox_files), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ReadSandboxFile': EndpointSync.unary(method=MethodInfo(name='ReadSandboxFile', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ReadSandboxFileRequest, output=public_dot_sandbox__admin__pb2.ReadSandboxFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.read_sandbox_file), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxEgress': EndpointSync.unary(method=MethodInfo(name='ListSandboxEgress', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxEgressRequest, output=public_dot_sandbox__admin__pb2.ListSandboxEgressResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_sandbox_egress), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxSpend': EndpointSync.unary(method=MethodInfo(name='ListSandboxSpend', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxSpendRequest, output=public_dot_sandbox__admin__pb2.ListSandboxSpendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_sandbox_spend), '/textql.rpc.public.sandbox_admin.SandboxAdminService/ListSandboxResources': EndpointSync.unary(method=MethodInfo(name='ListSandboxResources', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxResourcesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxResourcesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_sandbox_resources)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sandbox_admin.SandboxAdminService' + +class SandboxAdminServiceClientSync(ConnectClientSync): + + def list_sandboxes(self, request: public_dot_sandbox__admin__pb2.ListSandboxesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSandboxes', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def stop_sandbox(self, request: public_dot_sandbox__admin__pb2.StopSandboxRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__admin__pb2.StopSandboxResponse: + return self.execute_unary(request=request, method=MethodInfo(name='StopSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.StopSandboxRequest, output=public_dot_sandbox__admin__pb2.StopSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def restart_sandbox(self, request: public_dot_sandbox__admin__pb2.RestartSandboxRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__admin__pb2.RestartSandboxResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RestartSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.RestartSandboxRequest, output=public_dot_sandbox__admin__pb2.RestartSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_sandbox(self, request: public_dot_sandbox__admin__pb2.GetSandboxRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.GetSandboxResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetSandbox', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.GetSandboxRequest, output=public_dot_sandbox__admin__pb2.GetSandboxResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_sandbox_executions(self, request: public_dot_sandbox__admin__pb2.ListSandboxExecutionsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxExecutionsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSandboxExecutions', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxExecutionsRequest, output=public_dot_sandbox__admin__pb2.ListSandboxExecutionsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_sandbox_files(self, request: public_dot_sandbox__admin__pb2.ListSandboxFilesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxFilesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSandboxFiles', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxFilesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxFilesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def read_sandbox_file(self, request: public_dot_sandbox__admin__pb2.ReadSandboxFileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ReadSandboxFileResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ReadSandboxFile', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ReadSandboxFileRequest, output=public_dot_sandbox__admin__pb2.ReadSandboxFileResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_sandbox_egress(self, request: public_dot_sandbox__admin__pb2.ListSandboxEgressRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxEgressResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSandboxEgress', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxEgressRequest, output=public_dot_sandbox__admin__pb2.ListSandboxEgressResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_sandbox_spend(self, request: public_dot_sandbox__admin__pb2.ListSandboxSpendRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxSpendResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSandboxSpend', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxSpendRequest, output=public_dot_sandbox__admin__pb2.ListSandboxSpendResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def list_sandbox_resources(self, request: public_dot_sandbox__admin__pb2.ListSandboxResourcesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sandbox__admin__pb2.ListSandboxResourcesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSandboxResources', service_name='textql.rpc.public.sandbox_admin.SandboxAdminService', input=public_dot_sandbox__admin__pb2.ListSandboxResourcesRequest, output=public_dot_sandbox__admin__pb2.ListSandboxResourcesResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_admin_pb2.py b/src/textql_sdk/_connect/public/sandbox_admin_pb2.py new file mode 100644 index 0000000..53d7056 --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_admin_pb2.py @@ -0,0 +1,99 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/sandbox_admin.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1apublic/sandbox_admin.proto\x12\x1ftextql.rpc.public.sandbox_admin\x1a\x1bgoogle/api/visibility.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x8a\x02\n\x0eSandboxSummary\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12\x17\n\x07chat_id\x18\x04 \x01(\tR\x06chatId\x129\n\nstarted_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartedAt\x12@\n\x0breleased_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\nreleasedAt\x88\x01\x01B\x0e\n\x0c_released_at"\\\n\x14ListSandboxesRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06cursor\x18\x03 \x01(\tR\x06cursor"\x87\x01\n\x15ListSandboxesResponse\x12M\n\tsandboxes\x18\x01 \x03(\x0b2/.textql.rpc.public.sandbox_admin.SandboxSummaryR\tsandboxes\x12\x1f\n\x0bnext_cursor\x18\x02 \x01(\tR\nnextCursor"3\n\x12StopSandboxRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId"/\n\x13StopSandboxResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"6\n\x15RestartSandboxRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId"r\n\x16RestartSandboxResponse\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId\x129\n\nstarted_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartedAt"2\n\x11GetSandboxRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId"\x87\x02\n\x12GetSandboxResponse\x12I\n\x07sandbox\x18\x01 \x01(\x0b2/.textql.rpc.public.sandbox_admin.SandboxSummaryR\x07sandbox\x12%\n\x0elive_available\x18\x02 \x01(\x08R\rliveAvailable\x12,\n\x12memory_usage_bytes\x18\x03 \x01(\x03R\x10memoryUsageBytes\x12Q\n\ndataframes\x18\x04 \x03(\x0b21.textql.rpc.public.sandbox_admin.SandboxDataframeR\ndataframes"\x8a\x01\n\x10SandboxDataframe\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n\x08num_rows\x18\x02 \x01(\x03R\x07numRows\x12\x19\n\x08num_cols\x18\x03 \x01(\x03R\x07numCols\x12,\n\x12memory_usage_bytes\x18\x04 \x01(\x03R\x10memoryUsageBytes"\xfd\x01\n\x10SandboxExecution\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04kind\x18\x02 \x01(\tR\x04kind\x12\x16\n\x06source\x18\x03 \x01(\tR\x06source\x12\x14\n\x05input\x18\x04 \x01(\tR\x05input\x12%\n\x0eoutput_preview\x18\x05 \x01(\tR\routputPreview\x12\x14\n\x05error\x18\x06 \x01(\tR\x05error\x12\x1f\n\x0bduration_ms\x18\x07 \x01(\x03R\ndurationMs\x129\n\ncreated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"k\n\x1cListSandboxExecutionsRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n\x06cursor\x18\x03 \x01(\tR\x06cursor"\x93\x01\n\x1dListSandboxExecutionsResponse\x12Q\n\nexecutions\x18\x01 \x03(\x0b21.textql.rpc.public.sandbox_admin.SandboxExecutionR\nexecutions\x12\x1f\n\x0bnext_cursor\x18\x02 \x01(\tR\nnextCursor"\xad\x01\n\x10SandboxFileEntry\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x15\n\x06is_dir\x18\x03 \x01(\x08R\x05isDir\x12\x1d\n\nsize_bytes\x18\x04 \x01(\x03R\tsizeBytes\x12;\n\x0bmodified_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\nmodifiedAt"L\n\x17ListSandboxFilesRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path"\x85\x01\n\x18ListSandboxFilesResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable\x12K\n\x07entries\x18\x02 \x03(\x0b21.textql.rpc.public.sandbox_admin.SandboxFileEntryR\x07entries"K\n\x16ReadSandboxFileRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path"\xf9\x02\n\x11SandboxEgressCall\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x12\x16\n\x06scheme\x18\x03 \x01(\tR\x06scheme\x12\x12\n\x04host\x18\x04 \x01(\tR\x04host\x12\x12\n\x04path\x18\x05 \x01(\tR\x04path\x12\x1f\n\x0bstatus_code\x18\x06 \x01(\x05R\nstatusCode\x12\x18\n\x07outcome\x18\x07 \x01(\tR\x07outcome\x12\x1f\n\x0bduration_ms\x18\x08 \x01(\x03R\ndurationMs\x12#\n\rrequest_bytes\x18\t \x01(\x03R\x0crequestBytes\x12%\n\x0eresponse_bytes\x18\n \x01(\x03R\rresponseBytes\x12\x17\n\x07cell_id\x18\x0b \x01(\tR\x06cellId\x12;\n\x0boccurred_at\x18\x0c \x01(\x0b2\x1a.google.protobuf.TimestampR\noccurredAt"O\n\x18ListSandboxEgressRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit"e\n\x19ListSandboxEgressResponse\x12H\n\x05calls\x18\x01 \x03(\x0b22.textql.rpc.public.sandbox_admin.SandboxEgressCallR\x05calls"\xe7\x01\n\x14SandboxSpendInterval\x129\n\nstarted_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartedAt\x12:\n\x08ended_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x07endedAt\x88\x01\x01\x12\x1f\n\x0bduration_ms\x18\x03 \x01(\x03R\ndurationMs\x12\x12\n\x04acus\x18\x04 \x01(\x01R\x04acus\x12\x16\n\x06active\x18\x05 \x01(\x08R\x06activeB\x0b\n\t_ended_at"8\n\x17ListSandboxSpendRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId"\xe4\x01\n\x18ListSandboxSpendResponse\x12S\n\tintervals\x18\x01 \x03(\x0b25.textql.rpc.public.sandbox_admin.SandboxSpendIntervalR\tintervals\x12"\n\racus_per_hour\x18\x02 \x01(\x01R\x0bacusPerHour\x12\x1d\n\ntotal_acus\x18\x03 \x01(\x01R\ttotalAcus\x120\n\x15acu_rate_per_1000_usd\x18\x04 \x01(\x01R\x11acuRatePer1000Usd"\xee\x02\n\x15SandboxResourceSample\x129\n\nsampled_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tsampledAt\x12&\n\x0fcpu_usage_cores\x18\x02 \x01(\x01R\rcpuUsageCores\x12&\n\x0fcpu_limit_cores\x18\x03 \x01(\x01R\rcpuLimitCores\x12*\n\x11cpu_usage_percent\x18\x04 \x01(\x01R\x0fcpuUsagePercent\x12,\n\x12memory_usage_bytes\x18\x05 \x01(\x03R\x10memoryUsageBytes\x12,\n\x12memory_limit_bytes\x18\x06 \x01(\x03R\x10memoryLimitBytes\x120\n\x14memory_usage_percent\x18\x07 \x01(\x01R\x12memoryUsagePercent:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"\xb8\x01\n\x1bListSandboxResourcesRequest\x12\x1d\n\nsandbox_id\x18\x01 \x01(\tR\tsandboxId\x125\n\x08start_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07startAt\x121\n\x06end_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05endAt:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"\x82\x01\n\x1cListSandboxResourcesResponse\x12P\n\x07samples\x18\x01 \x03(\x0b26.textql.rpc.public.sandbox_admin.SandboxResourceSampleR\x07samples:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"\xee\x01\n\x1bStoredSandboxResourceSample\x12\x13\n\x05ts_ms\x18\x01 \x01(\x03R\x04tsMs\x12%\n\x0ecpu_millicores\x18\x02 \x01(\x03R\rcpuMillicores\x120\n\x14cpu_limit_millicores\x18\x03 \x01(\x03R\x12cpuLimitMillicores\x12!\n\x0cmemory_bytes\x18\x04 \x01(\x03R\x0bmemoryBytes\x12,\n\x12memory_limit_bytes\x18\x05 \x01(\x03R\x10memoryLimitBytes:\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL"\x83\x02\n\x17ReadSandboxFileResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n\nsize_bytes\x18\x03 \x01(\x03R\tsizeBytes\x12\x1b\n\tmime_type\x18\x04 \x01(\tR\x08mimeType\x12\x18\n\x07content\x18\x05 \x01(\tR\x07content\x12%\n\x0ebinary_content\x18\x06 \x01(\x0cR\rbinaryContent\x12\x1c\n\ttruncated\x18\x07 \x01(\x08R\ttruncated\x12\x1b\n\tis_binary\x18\x08 \x01(\x08R\x08isBinary2\x9a\x0b\n\x13SandboxAdminService\x12\x83\x01\n\rListSandboxes\x125.textql.rpc.public.sandbox_admin.ListSandboxesRequest\x1a6.textql.rpc.public.sandbox_admin.ListSandboxesResponse"\x03\x90\x02\x01\x12x\n\x0bStopSandbox\x123.textql.rpc.public.sandbox_admin.StopSandboxRequest\x1a4.textql.rpc.public.sandbox_admin.StopSandboxResponse\x12\x81\x01\n\x0eRestartSandbox\x126.textql.rpc.public.sandbox_admin.RestartSandboxRequest\x1a7.textql.rpc.public.sandbox_admin.RestartSandboxResponse\x12z\n\nGetSandbox\x122.textql.rpc.public.sandbox_admin.GetSandboxRequest\x1a3.textql.rpc.public.sandbox_admin.GetSandboxResponse"\x03\x90\x02\x01\x12\x9b\x01\n\x15ListSandboxExecutions\x12=.textql.rpc.public.sandbox_admin.ListSandboxExecutionsRequest\x1a>.textql.rpc.public.sandbox_admin.ListSandboxExecutionsResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x10ListSandboxFiles\x128.textql.rpc.public.sandbox_admin.ListSandboxFilesRequest\x1a9.textql.rpc.public.sandbox_admin.ListSandboxFilesResponse"\x03\x90\x02\x01\x12\x89\x01\n\x0fReadSandboxFile\x127.textql.rpc.public.sandbox_admin.ReadSandboxFileRequest\x1a8.textql.rpc.public.sandbox_admin.ReadSandboxFileResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x11ListSandboxEgress\x129.textql.rpc.public.sandbox_admin.ListSandboxEgressRequest\x1a:.textql.rpc.public.sandbox_admin.ListSandboxEgressResponse"\x03\x90\x02\x01\x12\x8c\x01\n\x10ListSandboxSpend\x128.textql.rpc.public.sandbox_admin.ListSandboxSpendRequest\x1a9.textql.rpc.public.sandbox_admin.ListSandboxSpendResponse"\x03\x90\x02\x01\x12\xa8\x01\n\x14ListSandboxResources\x12<.textql.rpc.public.sandbox_admin.ListSandboxResourcesRequest\x1a=.textql.rpc.public.sandbox_admin.ListSandboxResourcesResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALB;Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/publicb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.sandbox_admin_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public' + _globals['_SANDBOXRESOURCESAMPLE']._loaded_options = None + _globals['_SANDBOXRESOURCESAMPLE']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_LISTSANDBOXRESOURCESREQUEST']._loaded_options = None + _globals['_LISTSANDBOXRESOURCESREQUEST']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_LISTSANDBOXRESOURCESRESPONSE']._loaded_options = None + _globals['_LISTSANDBOXRESOURCESRESPONSE']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_STOREDSANDBOXRESOURCESAMPLE']._loaded_options = None + _globals['_STOREDSANDBOXRESOURCESAMPLE']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxes']._loaded_options = None + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxes']._serialized_options = b'\x90\x02\x01' + _globals['_SANDBOXADMINSERVICE'].methods_by_name['GetSandbox']._loaded_options = None + _globals['_SANDBOXADMINSERVICE'].methods_by_name['GetSandbox']._serialized_options = b'\x90\x02\x01' + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxExecutions']._loaded_options = None + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxExecutions']._serialized_options = b'\x90\x02\x01' + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxFiles']._loaded_options = None + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxFiles']._serialized_options = b'\x90\x02\x01' + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ReadSandboxFile']._loaded_options = None + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ReadSandboxFile']._serialized_options = b'\x90\x02\x01' + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxEgress']._loaded_options = None + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxEgress']._serialized_options = b'\x90\x02\x01' + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxSpend']._loaded_options = None + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxSpend']._serialized_options = b'\x90\x02\x01' + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxResources']._loaded_options = None + _globals['_SANDBOXADMINSERVICE'].methods_by_name['ListSandboxResources']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SANDBOXSUMMARY']._serialized_start = 126 + _globals['_SANDBOXSUMMARY']._serialized_end = 392 + _globals['_LISTSANDBOXESREQUEST']._serialized_start = 394 + _globals['_LISTSANDBOXESREQUEST']._serialized_end = 486 + _globals['_LISTSANDBOXESRESPONSE']._serialized_start = 489 + _globals['_LISTSANDBOXESRESPONSE']._serialized_end = 624 + _globals['_STOPSANDBOXREQUEST']._serialized_start = 626 + _globals['_STOPSANDBOXREQUEST']._serialized_end = 677 + _globals['_STOPSANDBOXRESPONSE']._serialized_start = 679 + _globals['_STOPSANDBOXRESPONSE']._serialized_end = 726 + _globals['_RESTARTSANDBOXREQUEST']._serialized_start = 728 + _globals['_RESTARTSANDBOXREQUEST']._serialized_end = 782 + _globals['_RESTARTSANDBOXRESPONSE']._serialized_start = 784 + _globals['_RESTARTSANDBOXRESPONSE']._serialized_end = 898 + _globals['_GETSANDBOXREQUEST']._serialized_start = 900 + _globals['_GETSANDBOXREQUEST']._serialized_end = 950 + _globals['_GETSANDBOXRESPONSE']._serialized_start = 953 + _globals['_GETSANDBOXRESPONSE']._serialized_end = 1216 + _globals['_SANDBOXDATAFRAME']._serialized_start = 1219 + _globals['_SANDBOXDATAFRAME']._serialized_end = 1357 + _globals['_SANDBOXEXECUTION']._serialized_start = 1360 + _globals['_SANDBOXEXECUTION']._serialized_end = 1613 + _globals['_LISTSANDBOXEXECUTIONSREQUEST']._serialized_start = 1615 + _globals['_LISTSANDBOXEXECUTIONSREQUEST']._serialized_end = 1722 + _globals['_LISTSANDBOXEXECUTIONSRESPONSE']._serialized_start = 1725 + _globals['_LISTSANDBOXEXECUTIONSRESPONSE']._serialized_end = 1872 + _globals['_SANDBOXFILEENTRY']._serialized_start = 1875 + _globals['_SANDBOXFILEENTRY']._serialized_end = 2048 + _globals['_LISTSANDBOXFILESREQUEST']._serialized_start = 2050 + _globals['_LISTSANDBOXFILESREQUEST']._serialized_end = 2126 + _globals['_LISTSANDBOXFILESRESPONSE']._serialized_start = 2129 + _globals['_LISTSANDBOXFILESRESPONSE']._serialized_end = 2262 + _globals['_READSANDBOXFILEREQUEST']._serialized_start = 2264 + _globals['_READSANDBOXFILEREQUEST']._serialized_end = 2339 + _globals['_SANDBOXEGRESSCALL']._serialized_start = 2342 + _globals['_SANDBOXEGRESSCALL']._serialized_end = 2719 + _globals['_LISTSANDBOXEGRESSREQUEST']._serialized_start = 2721 + _globals['_LISTSANDBOXEGRESSREQUEST']._serialized_end = 2800 + _globals['_LISTSANDBOXEGRESSRESPONSE']._serialized_start = 2802 + _globals['_LISTSANDBOXEGRESSRESPONSE']._serialized_end = 2903 + _globals['_SANDBOXSPENDINTERVAL']._serialized_start = 2906 + _globals['_SANDBOXSPENDINTERVAL']._serialized_end = 3137 + _globals['_LISTSANDBOXSPENDREQUEST']._serialized_start = 3139 + _globals['_LISTSANDBOXSPENDREQUEST']._serialized_end = 3195 + _globals['_LISTSANDBOXSPENDRESPONSE']._serialized_start = 3198 + _globals['_LISTSANDBOXSPENDRESPONSE']._serialized_end = 3426 + _globals['_SANDBOXRESOURCESAMPLE']._serialized_start = 3429 + _globals['_SANDBOXRESOURCESAMPLE']._serialized_end = 3795 + _globals['_LISTSANDBOXRESOURCESREQUEST']._serialized_start = 3798 + _globals['_LISTSANDBOXRESOURCESREQUEST']._serialized_end = 3982 + _globals['_LISTSANDBOXRESOURCESRESPONSE']._serialized_start = 3985 + _globals['_LISTSANDBOXRESOURCESRESPONSE']._serialized_end = 4115 + _globals['_STOREDSANDBOXRESOURCESAMPLE']._serialized_start = 4118 + _globals['_STOREDSANDBOXRESOURCESAMPLE']._serialized_end = 4356 + _globals['_READSANDBOXFILERESPONSE']._serialized_start = 4359 + _globals['_READSANDBOXFILERESPONSE']._serialized_end = 4618 + _globals['_SANDBOXADMINSERVICE']._serialized_start = 4621 + _globals['_SANDBOXADMINSERVICE']._serialized_end = 6055 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_admin_pb2.pyi b/src/textql_sdk/_connect/public/sandbox_admin_pb2.pyi new file mode 100644 index 0000000..11fd726 --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_admin_pb2.pyi @@ -0,0 +1,373 @@ +import datetime +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class SandboxSummary(_message.Message): + __slots__ = ('sandbox_id', 'status', 'member_id', 'chat_id', 'started_at', 'released_at') + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + STARTED_AT_FIELD_NUMBER: _ClassVar[int] + RELEASED_AT_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + status: str + member_id: str + chat_id: str + started_at: _timestamp_pb2.Timestamp + released_at: _timestamp_pb2.Timestamp + + def __init__(self, sandbox_id: _Optional[str]=..., status: _Optional[str]=..., member_id: _Optional[str]=..., chat_id: _Optional[str]=..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., released_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListSandboxesRequest(_message.Message): + __slots__ = ('status', 'limit', 'cursor') + STATUS_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + CURSOR_FIELD_NUMBER: _ClassVar[int] + status: str + limit: int + cursor: str + + def __init__(self, status: _Optional[str]=..., limit: _Optional[int]=..., cursor: _Optional[str]=...) -> None: + ... + +class ListSandboxesResponse(_message.Message): + __slots__ = ('sandboxes', 'next_cursor') + SANDBOXES_FIELD_NUMBER: _ClassVar[int] + NEXT_CURSOR_FIELD_NUMBER: _ClassVar[int] + sandboxes: _containers.RepeatedCompositeFieldContainer[SandboxSummary] + next_cursor: str + + def __init__(self, sandboxes: _Optional[_Iterable[_Union[SandboxSummary, _Mapping]]]=..., next_cursor: _Optional[str]=...) -> None: + ... + +class StopSandboxRequest(_message.Message): + __slots__ = ('sandbox_id',) + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + + def __init__(self, sandbox_id: _Optional[str]=...) -> None: + ... + +class StopSandboxResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RestartSandboxRequest(_message.Message): + __slots__ = ('sandbox_id',) + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + + def __init__(self, sandbox_id: _Optional[str]=...) -> None: + ... + +class RestartSandboxResponse(_message.Message): + __slots__ = ('sandbox_id', 'started_at') + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + STARTED_AT_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + started_at: _timestamp_pb2.Timestamp + + def __init__(self, sandbox_id: _Optional[str]=..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class GetSandboxRequest(_message.Message): + __slots__ = ('sandbox_id',) + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + + def __init__(self, sandbox_id: _Optional[str]=...) -> None: + ... + +class GetSandboxResponse(_message.Message): + __slots__ = ('sandbox', 'live_available', 'memory_usage_bytes', 'dataframes') + SANDBOX_FIELD_NUMBER: _ClassVar[int] + LIVE_AVAILABLE_FIELD_NUMBER: _ClassVar[int] + MEMORY_USAGE_BYTES_FIELD_NUMBER: _ClassVar[int] + DATAFRAMES_FIELD_NUMBER: _ClassVar[int] + sandbox: SandboxSummary + live_available: bool + memory_usage_bytes: int + dataframes: _containers.RepeatedCompositeFieldContainer[SandboxDataframe] + + def __init__(self, sandbox: _Optional[_Union[SandboxSummary, _Mapping]]=..., live_available: bool=..., memory_usage_bytes: _Optional[int]=..., dataframes: _Optional[_Iterable[_Union[SandboxDataframe, _Mapping]]]=...) -> None: + ... + +class SandboxDataframe(_message.Message): + __slots__ = ('name', 'num_rows', 'num_cols', 'memory_usage_bytes') + NAME_FIELD_NUMBER: _ClassVar[int] + NUM_ROWS_FIELD_NUMBER: _ClassVar[int] + NUM_COLS_FIELD_NUMBER: _ClassVar[int] + MEMORY_USAGE_BYTES_FIELD_NUMBER: _ClassVar[int] + name: str + num_rows: int + num_cols: int + memory_usage_bytes: int + + def __init__(self, name: _Optional[str]=..., num_rows: _Optional[int]=..., num_cols: _Optional[int]=..., memory_usage_bytes: _Optional[int]=...) -> None: + ... + +class SandboxExecution(_message.Message): + __slots__ = ('id', 'kind', 'source', 'input', 'output_preview', 'error', 'duration_ms', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + KIND_FIELD_NUMBER: _ClassVar[int] + SOURCE_FIELD_NUMBER: _ClassVar[int] + INPUT_FIELD_NUMBER: _ClassVar[int] + OUTPUT_PREVIEW_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + DURATION_MS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + kind: str + source: str + input: str + output_preview: str + error: str + duration_ms: int + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., kind: _Optional[str]=..., source: _Optional[str]=..., input: _Optional[str]=..., output_preview: _Optional[str]=..., error: _Optional[str]=..., duration_ms: _Optional[int]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListSandboxExecutionsRequest(_message.Message): + __slots__ = ('sandbox_id', 'limit', 'cursor') + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + CURSOR_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + limit: int + cursor: str + + def __init__(self, sandbox_id: _Optional[str]=..., limit: _Optional[int]=..., cursor: _Optional[str]=...) -> None: + ... + +class ListSandboxExecutionsResponse(_message.Message): + __slots__ = ('executions', 'next_cursor') + EXECUTIONS_FIELD_NUMBER: _ClassVar[int] + NEXT_CURSOR_FIELD_NUMBER: _ClassVar[int] + executions: _containers.RepeatedCompositeFieldContainer[SandboxExecution] + next_cursor: str + + def __init__(self, executions: _Optional[_Iterable[_Union[SandboxExecution, _Mapping]]]=..., next_cursor: _Optional[str]=...) -> None: + ... + +class SandboxFileEntry(_message.Message): + __slots__ = ('name', 'path', 'is_dir', 'size_bytes', 'modified_at') + NAME_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + IS_DIR_FIELD_NUMBER: _ClassVar[int] + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + MODIFIED_AT_FIELD_NUMBER: _ClassVar[int] + name: str + path: str + is_dir: bool + size_bytes: int + modified_at: _timestamp_pb2.Timestamp + + def __init__(self, name: _Optional[str]=..., path: _Optional[str]=..., is_dir: bool=..., size_bytes: _Optional[int]=..., modified_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListSandboxFilesRequest(_message.Message): + __slots__ = ('sandbox_id', 'path') + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + path: str + + def __init__(self, sandbox_id: _Optional[str]=..., path: _Optional[str]=...) -> None: + ... + +class ListSandboxFilesResponse(_message.Message): + __slots__ = ('available', 'entries') + AVAILABLE_FIELD_NUMBER: _ClassVar[int] + ENTRIES_FIELD_NUMBER: _ClassVar[int] + available: bool + entries: _containers.RepeatedCompositeFieldContainer[SandboxFileEntry] + + def __init__(self, available: bool=..., entries: _Optional[_Iterable[_Union[SandboxFileEntry, _Mapping]]]=...) -> None: + ... + +class ReadSandboxFileRequest(_message.Message): + __slots__ = ('sandbox_id', 'path') + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + path: str + + def __init__(self, sandbox_id: _Optional[str]=..., path: _Optional[str]=...) -> None: + ... + +class SandboxEgressCall(_message.Message): + __slots__ = ('id', 'method', 'scheme', 'host', 'path', 'status_code', 'outcome', 'duration_ms', 'request_bytes', 'response_bytes', 'cell_id', 'occurred_at') + ID_FIELD_NUMBER: _ClassVar[int] + METHOD_FIELD_NUMBER: _ClassVar[int] + SCHEME_FIELD_NUMBER: _ClassVar[int] + HOST_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + STATUS_CODE_FIELD_NUMBER: _ClassVar[int] + OUTCOME_FIELD_NUMBER: _ClassVar[int] + DURATION_MS_FIELD_NUMBER: _ClassVar[int] + REQUEST_BYTES_FIELD_NUMBER: _ClassVar[int] + RESPONSE_BYTES_FIELD_NUMBER: _ClassVar[int] + CELL_ID_FIELD_NUMBER: _ClassVar[int] + OCCURRED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + method: str + scheme: str + host: str + path: str + status_code: int + outcome: str + duration_ms: int + request_bytes: int + response_bytes: int + cell_id: str + occurred_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., method: _Optional[str]=..., scheme: _Optional[str]=..., host: _Optional[str]=..., path: _Optional[str]=..., status_code: _Optional[int]=..., outcome: _Optional[str]=..., duration_ms: _Optional[int]=..., request_bytes: _Optional[int]=..., response_bytes: _Optional[int]=..., cell_id: _Optional[str]=..., occurred_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListSandboxEgressRequest(_message.Message): + __slots__ = ('sandbox_id', 'limit') + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + limit: int + + def __init__(self, sandbox_id: _Optional[str]=..., limit: _Optional[int]=...) -> None: + ... + +class ListSandboxEgressResponse(_message.Message): + __slots__ = ('calls',) + CALLS_FIELD_NUMBER: _ClassVar[int] + calls: _containers.RepeatedCompositeFieldContainer[SandboxEgressCall] + + def __init__(self, calls: _Optional[_Iterable[_Union[SandboxEgressCall, _Mapping]]]=...) -> None: + ... + +class SandboxSpendInterval(_message.Message): + __slots__ = ('started_at', 'ended_at', 'duration_ms', 'acus', 'active') + STARTED_AT_FIELD_NUMBER: _ClassVar[int] + ENDED_AT_FIELD_NUMBER: _ClassVar[int] + DURATION_MS_FIELD_NUMBER: _ClassVar[int] + ACUS_FIELD_NUMBER: _ClassVar[int] + ACTIVE_FIELD_NUMBER: _ClassVar[int] + started_at: _timestamp_pb2.Timestamp + ended_at: _timestamp_pb2.Timestamp + duration_ms: int + acus: float + active: bool + + def __init__(self, started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., ended_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., duration_ms: _Optional[int]=..., acus: _Optional[float]=..., active: bool=...) -> None: + ... + +class ListSandboxSpendRequest(_message.Message): + __slots__ = ('sandbox_id',) + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + + def __init__(self, sandbox_id: _Optional[str]=...) -> None: + ... + +class ListSandboxSpendResponse(_message.Message): + __slots__ = ('intervals', 'acus_per_hour', 'total_acus', 'acu_rate_per_1000_usd') + INTERVALS_FIELD_NUMBER: _ClassVar[int] + ACUS_PER_HOUR_FIELD_NUMBER: _ClassVar[int] + TOTAL_ACUS_FIELD_NUMBER: _ClassVar[int] + ACU_RATE_PER_1000_USD_FIELD_NUMBER: _ClassVar[int] + intervals: _containers.RepeatedCompositeFieldContainer[SandboxSpendInterval] + acus_per_hour: float + total_acus: float + acu_rate_per_1000_usd: float + + def __init__(self, intervals: _Optional[_Iterable[_Union[SandboxSpendInterval, _Mapping]]]=..., acus_per_hour: _Optional[float]=..., total_acus: _Optional[float]=..., acu_rate_per_1000_usd: _Optional[float]=...) -> None: + ... + +class SandboxResourceSample(_message.Message): + __slots__ = ('sampled_at', 'cpu_usage_cores', 'cpu_limit_cores', 'cpu_usage_percent', 'memory_usage_bytes', 'memory_limit_bytes', 'memory_usage_percent') + SAMPLED_AT_FIELD_NUMBER: _ClassVar[int] + CPU_USAGE_CORES_FIELD_NUMBER: _ClassVar[int] + CPU_LIMIT_CORES_FIELD_NUMBER: _ClassVar[int] + CPU_USAGE_PERCENT_FIELD_NUMBER: _ClassVar[int] + MEMORY_USAGE_BYTES_FIELD_NUMBER: _ClassVar[int] + MEMORY_LIMIT_BYTES_FIELD_NUMBER: _ClassVar[int] + MEMORY_USAGE_PERCENT_FIELD_NUMBER: _ClassVar[int] + sampled_at: _timestamp_pb2.Timestamp + cpu_usage_cores: float + cpu_limit_cores: float + cpu_usage_percent: float + memory_usage_bytes: int + memory_limit_bytes: int + memory_usage_percent: float + + def __init__(self, sampled_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., cpu_usage_cores: _Optional[float]=..., cpu_limit_cores: _Optional[float]=..., cpu_usage_percent: _Optional[float]=..., memory_usage_bytes: _Optional[int]=..., memory_limit_bytes: _Optional[int]=..., memory_usage_percent: _Optional[float]=...) -> None: + ... + +class ListSandboxResourcesRequest(_message.Message): + __slots__ = ('sandbox_id', 'start_at', 'end_at') + SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] + START_AT_FIELD_NUMBER: _ClassVar[int] + END_AT_FIELD_NUMBER: _ClassVar[int] + sandbox_id: str + start_at: _timestamp_pb2.Timestamp + end_at: _timestamp_pb2.Timestamp + + def __init__(self, sandbox_id: _Optional[str]=..., start_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., end_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListSandboxResourcesResponse(_message.Message): + __slots__ = ('samples',) + SAMPLES_FIELD_NUMBER: _ClassVar[int] + samples: _containers.RepeatedCompositeFieldContainer[SandboxResourceSample] + + def __init__(self, samples: _Optional[_Iterable[_Union[SandboxResourceSample, _Mapping]]]=...) -> None: + ... + +class StoredSandboxResourceSample(_message.Message): + __slots__ = ('ts_ms', 'cpu_millicores', 'cpu_limit_millicores', 'memory_bytes', 'memory_limit_bytes') + TS_MS_FIELD_NUMBER: _ClassVar[int] + CPU_MILLICORES_FIELD_NUMBER: _ClassVar[int] + CPU_LIMIT_MILLICORES_FIELD_NUMBER: _ClassVar[int] + MEMORY_BYTES_FIELD_NUMBER: _ClassVar[int] + MEMORY_LIMIT_BYTES_FIELD_NUMBER: _ClassVar[int] + ts_ms: int + cpu_millicores: int + cpu_limit_millicores: int + memory_bytes: int + memory_limit_bytes: int + + def __init__(self, ts_ms: _Optional[int]=..., cpu_millicores: _Optional[int]=..., cpu_limit_millicores: _Optional[int]=..., memory_bytes: _Optional[int]=..., memory_limit_bytes: _Optional[int]=...) -> None: + ... + +class ReadSandboxFileResponse(_message.Message): + __slots__ = ('available', 'name', 'size_bytes', 'mime_type', 'content', 'binary_content', 'truncated', 'is_binary') + AVAILABLE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + MIME_TYPE_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + BINARY_CONTENT_FIELD_NUMBER: _ClassVar[int] + TRUNCATED_FIELD_NUMBER: _ClassVar[int] + IS_BINARY_FIELD_NUMBER: _ClassVar[int] + available: bool + name: str + size_bytes: int + mime_type: str + content: str + binary_content: bytes + truncated: bool + is_binary: bool + + def __init__(self, available: bool=..., name: _Optional[str]=..., size_bytes: _Optional[int]=..., mime_type: _Optional[str]=..., content: _Optional[str]=..., binary_content: _Optional[bytes]=..., truncated: bool=..., is_binary: bool=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_capability_connect.py b/src/textql_sdk/_connect/public/sandbox_capability_connect.py new file mode 100644 index 0000000..a0b8613 --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_capability_connect.py @@ -0,0 +1,87 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import sandbox_capability_pb2 as public_dot_sandbox__capability__pb2 + +class SandboxCapabilityService(Protocol): + + async def execute_write(self, request: public_dot_sandbox__capability__pb2.SandboxExecuteWriteRequest, ctx: RequestContext) -> public_dot_sandbox__capability__pb2.SandboxExecuteWriteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def state_op(self, request: public_dot_sandbox__capability__pb2.SandboxStateOpRequest, ctx: RequestContext) -> public_dot_sandbox__capability__pb2.SandboxStateOpResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def put_asset(self, request: public_dot_sandbox__capability__pb2.SandboxPutAssetRequest, ctx: RequestContext) -> public_dot_sandbox__capability__pb2.SandboxPutAssetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def send_notify(self, request: public_dot_sandbox__capability__pb2.SandboxSendNotifyRequest, ctx: RequestContext) -> public_dot_sandbox__capability__pb2.SandboxSendNotifyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SandboxCapabilityServiceASGIApplication(ConnectASGIApplication[SandboxCapabilityService]): + + def __init__(self, service: SandboxCapabilityService | AsyncGenerator[SandboxCapabilityService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.sandbox_capability.SandboxCapabilityService/ExecuteWrite': Endpoint.unary(method=MethodInfo(name='ExecuteWrite', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxExecuteWriteRequest, output=public_dot_sandbox__capability__pb2.SandboxExecuteWriteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.execute_write), '/textql.rpc.public.sandbox_capability.SandboxCapabilityService/StateOp': Endpoint.unary(method=MethodInfo(name='StateOp', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxStateOpRequest, output=public_dot_sandbox__capability__pb2.SandboxStateOpResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.state_op), '/textql.rpc.public.sandbox_capability.SandboxCapabilityService/PutAsset': Endpoint.unary(method=MethodInfo(name='PutAsset', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxPutAssetRequest, output=public_dot_sandbox__capability__pb2.SandboxPutAssetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.put_asset), '/textql.rpc.public.sandbox_capability.SandboxCapabilityService/SendNotify': Endpoint.unary(method=MethodInfo(name='SendNotify', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxSendNotifyRequest, output=public_dot_sandbox__capability__pb2.SandboxSendNotifyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.send_notify)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sandbox_capability.SandboxCapabilityService' + +class SandboxCapabilityServiceClient(ConnectClient): + + async def execute_write(self, request: public_dot_sandbox__capability__pb2.SandboxExecuteWriteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__capability__pb2.SandboxExecuteWriteResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExecuteWrite', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxExecuteWriteRequest, output=public_dot_sandbox__capability__pb2.SandboxExecuteWriteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def state_op(self, request: public_dot_sandbox__capability__pb2.SandboxStateOpRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__capability__pb2.SandboxStateOpResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='StateOp', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxStateOpRequest, output=public_dot_sandbox__capability__pb2.SandboxStateOpResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def put_asset(self, request: public_dot_sandbox__capability__pb2.SandboxPutAssetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__capability__pb2.SandboxPutAssetResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PutAsset', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxPutAssetRequest, output=public_dot_sandbox__capability__pb2.SandboxPutAssetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def send_notify(self, request: public_dot_sandbox__capability__pb2.SandboxSendNotifyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__capability__pb2.SandboxSendNotifyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SendNotify', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxSendNotifyRequest, output=public_dot_sandbox__capability__pb2.SandboxSendNotifyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SandboxCapabilityServiceSync(Protocol): + + def execute_write(self, request: public_dot_sandbox__capability__pb2.SandboxExecuteWriteRequest, ctx: RequestContext) -> public_dot_sandbox__capability__pb2.SandboxExecuteWriteResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def state_op(self, request: public_dot_sandbox__capability__pb2.SandboxStateOpRequest, ctx: RequestContext) -> public_dot_sandbox__capability__pb2.SandboxStateOpResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def put_asset(self, request: public_dot_sandbox__capability__pb2.SandboxPutAssetRequest, ctx: RequestContext) -> public_dot_sandbox__capability__pb2.SandboxPutAssetResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def send_notify(self, request: public_dot_sandbox__capability__pb2.SandboxSendNotifyRequest, ctx: RequestContext) -> public_dot_sandbox__capability__pb2.SandboxSendNotifyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SandboxCapabilityServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SandboxCapabilityServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.sandbox_capability.SandboxCapabilityService/ExecuteWrite': EndpointSync.unary(method=MethodInfo(name='ExecuteWrite', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxExecuteWriteRequest, output=public_dot_sandbox__capability__pb2.SandboxExecuteWriteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.execute_write), '/textql.rpc.public.sandbox_capability.SandboxCapabilityService/StateOp': EndpointSync.unary(method=MethodInfo(name='StateOp', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxStateOpRequest, output=public_dot_sandbox__capability__pb2.SandboxStateOpResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.state_op), '/textql.rpc.public.sandbox_capability.SandboxCapabilityService/PutAsset': EndpointSync.unary(method=MethodInfo(name='PutAsset', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxPutAssetRequest, output=public_dot_sandbox__capability__pb2.SandboxPutAssetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.put_asset), '/textql.rpc.public.sandbox_capability.SandboxCapabilityService/SendNotify': EndpointSync.unary(method=MethodInfo(name='SendNotify', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxSendNotifyRequest, output=public_dot_sandbox__capability__pb2.SandboxSendNotifyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.send_notify)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sandbox_capability.SandboxCapabilityService' + +class SandboxCapabilityServiceClientSync(ConnectClientSync): + + def execute_write(self, request: public_dot_sandbox__capability__pb2.SandboxExecuteWriteRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__capability__pb2.SandboxExecuteWriteResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExecuteWrite', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxExecuteWriteRequest, output=public_dot_sandbox__capability__pb2.SandboxExecuteWriteResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def state_op(self, request: public_dot_sandbox__capability__pb2.SandboxStateOpRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__capability__pb2.SandboxStateOpResponse: + return self.execute_unary(request=request, method=MethodInfo(name='StateOp', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxStateOpRequest, output=public_dot_sandbox__capability__pb2.SandboxStateOpResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def put_asset(self, request: public_dot_sandbox__capability__pb2.SandboxPutAssetRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__capability__pb2.SandboxPutAssetResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PutAsset', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxPutAssetRequest, output=public_dot_sandbox__capability__pb2.SandboxPutAssetResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def send_notify(self, request: public_dot_sandbox__capability__pb2.SandboxSendNotifyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__capability__pb2.SandboxSendNotifyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SendNotify', service_name='textql.rpc.public.sandbox_capability.SandboxCapabilityService', input=public_dot_sandbox__capability__pb2.SandboxSendNotifyRequest, output=public_dot_sandbox__capability__pb2.SandboxSendNotifyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_capability_pb2.py b/src/textql_sdk/_connect/public/sandbox_capability_pb2.py new file mode 100644 index 0000000..036db4c --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_capability_pb2.py @@ -0,0 +1,34 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/sandbox_capability.proto') +_sym_db = _symbol_database.Default() +from ..public import sandbox_query_pb2 as public_dot_sandbox__query__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fpublic/sandbox_capability.proto\x12$textql.rpc.public.sandbox_capability\x1a\x1apublic/sandbox_query.proto"\xe0\x01\n\x1aSandboxExecuteWriteRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12!\n\x0cconnector_id\x18\x02 \x01(\x05R\x0bconnectorId\x12\x1c\n\tstatement\x18\x03 \x01(\tR\tstatement\x12R\n\nparameters\x18\x04 \x03(\x0b22.textql.rpc.public.sandbox_query.SandboxQueryParamR\nparameters\x12\x19\n\x08max_rows\x18\x05 \x01(\x03R\x07maxRows"\xb3\x01\n\x1bSandboxExecuteWriteResponse\x12\x1d\n\narrow_data\x18\x01 \x01(\x0cR\tarrowData\x12\x1d\n\ntotal_rows\x18\x02 \x01(\x03R\ttotalRows\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error\x12,\n\x0frefreshed_token\x18\x04 \x01(\tH\x00R\x0erefreshedToken\x88\x01\x01B\x12\n\x10_refreshed_token"e\n\x15SandboxStateOpRequest\x12\x0e\n\x02op\x18\x01 \x01(\tR\x02op\x12\x14\n\x05scope\x18\x02 \x01(\tR\x05scope\x12\x10\n\x03key\x18\x03 \x01(\tR\x03key\x12\x14\n\x05value\x18\x04 \x01(\tR\x05value"\xb0\x01\n\x16SandboxStateOpResponse\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x14\n\x05found\x18\x02 \x01(\x08R\x05found\x12\x12\n\x04keys\x18\x03 \x03(\tR\x04keys\x12\x14\n\x05error\x18\x04 \x01(\tR\x05error\x12,\n\x0frefreshed_token\x18\x05 \x01(\tH\x00R\x0erefreshedToken\x88\x01\x01B\x12\n\x10_refreshed_token"l\n\x16SandboxPutAssetRequest\x12\x1b\n\tfile_name\x18\x01 \x01(\tR\x08fileName\x12!\n\x0ccontent_type\x18\x02 \x01(\tR\x0bcontentType\x12\x12\n\x04data\x18\x03 \x01(\x0cR\x04data"\x83\x01\n\x17SandboxPutAssetResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error\x12,\n\x0frefreshed_token\x18\x03 \x01(\tH\x00R\x0erefreshedToken\x88\x01\x01B\x12\n\x10_refreshed_token"\xb0\x01\n\x18SandboxSendNotifyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07subject\x18\x02 \x01(\tR\x07subject\x12\x12\n\x04body\x18\x03 \x01(\tR\x04body\x12R\n\nparameters\x18\x04 \x03(\x0b22.textql.rpc.public.sandbox_query.SandboxQueryParamR\nparameters"\x87\x01\n\x19SandboxSendNotifyResponse\x12\x12\n\x04sent\x18\x01 \x01(\x08R\x04sent\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error\x12,\n\x0frefreshed_token\x18\x03 \x01(\tH\x00R\x0erefreshedToken\x88\x01\x01B\x12\n\x10_refreshed_token2\xd9\x04\n\x18SandboxCapabilityService\x12\x95\x01\n\x0cExecuteWrite\x12@.textql.rpc.public.sandbox_capability.SandboxExecuteWriteRequest\x1aA.textql.rpc.public.sandbox_capability.SandboxExecuteWriteResponse"\x00\x12\x86\x01\n\x07StateOp\x12;.textql.rpc.public.sandbox_capability.SandboxStateOpRequest\x1a<.textql.rpc.public.sandbox_capability.SandboxStateOpResponse"\x00\x12\x89\x01\n\x08PutAsset\x12<.textql.rpc.public.sandbox_capability.SandboxPutAssetRequest\x1a=.textql.rpc.public.sandbox_capability.SandboxPutAssetResponse"\x00\x12\x8f\x01\n\nSendNotify\x12>.textql.rpc.public.sandbox_capability.SandboxSendNotifyRequest\x1a?.textql.rpc.public.sandbox_capability.SandboxSendNotifyResponse"\x00B;Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/publicb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.sandbox_capability_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public' + _globals['_SANDBOXEXECUTEWRITEREQUEST']._serialized_start = 102 + _globals['_SANDBOXEXECUTEWRITEREQUEST']._serialized_end = 326 + _globals['_SANDBOXEXECUTEWRITERESPONSE']._serialized_start = 329 + _globals['_SANDBOXEXECUTEWRITERESPONSE']._serialized_end = 508 + _globals['_SANDBOXSTATEOPREQUEST']._serialized_start = 510 + _globals['_SANDBOXSTATEOPREQUEST']._serialized_end = 611 + _globals['_SANDBOXSTATEOPRESPONSE']._serialized_start = 614 + _globals['_SANDBOXSTATEOPRESPONSE']._serialized_end = 790 + _globals['_SANDBOXPUTASSETREQUEST']._serialized_start = 792 + _globals['_SANDBOXPUTASSETREQUEST']._serialized_end = 900 + _globals['_SANDBOXPUTASSETRESPONSE']._serialized_start = 903 + _globals['_SANDBOXPUTASSETRESPONSE']._serialized_end = 1034 + _globals['_SANDBOXSENDNOTIFYREQUEST']._serialized_start = 1037 + _globals['_SANDBOXSENDNOTIFYREQUEST']._serialized_end = 1213 + _globals['_SANDBOXSENDNOTIFYRESPONSE']._serialized_start = 1216 + _globals['_SANDBOXSENDNOTIFYRESPONSE']._serialized_end = 1351 + _globals['_SANDBOXCAPABILITYSERVICE']._serialized_start = 1354 + _globals['_SANDBOXCAPABILITYSERVICE']._serialized_end = 1955 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_capability_pb2.pyi b/src/textql_sdk/_connect/public/sandbox_capability_pb2.pyi new file mode 100644 index 0000000..4279973 --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_capability_pb2.pyi @@ -0,0 +1,117 @@ +from public import sandbox_query_pb2 as _sandbox_query_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class SandboxExecuteWriteRequest(_message.Message): + __slots__ = ('name', 'connector_id', 'statement', 'parameters', 'max_rows') + NAME_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + STATEMENT_FIELD_NUMBER: _ClassVar[int] + PARAMETERS_FIELD_NUMBER: _ClassVar[int] + MAX_ROWS_FIELD_NUMBER: _ClassVar[int] + name: str + connector_id: int + statement: str + parameters: _containers.RepeatedCompositeFieldContainer[_sandbox_query_pb2.SandboxQueryParam] + max_rows: int + + def __init__(self, name: _Optional[str]=..., connector_id: _Optional[int]=..., statement: _Optional[str]=..., parameters: _Optional[_Iterable[_Union[_sandbox_query_pb2.SandboxQueryParam, _Mapping]]]=..., max_rows: _Optional[int]=...) -> None: + ... + +class SandboxExecuteWriteResponse(_message.Message): + __slots__ = ('arrow_data', 'total_rows', 'error', 'refreshed_token') + ARROW_DATA_FIELD_NUMBER: _ClassVar[int] + TOTAL_ROWS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + REFRESHED_TOKEN_FIELD_NUMBER: _ClassVar[int] + arrow_data: bytes + total_rows: int + error: str + refreshed_token: str + + def __init__(self, arrow_data: _Optional[bytes]=..., total_rows: _Optional[int]=..., error: _Optional[str]=..., refreshed_token: _Optional[str]=...) -> None: + ... + +class SandboxStateOpRequest(_message.Message): + __slots__ = ('op', 'scope', 'key', 'value') + OP_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + op: str + scope: str + key: str + value: str + + def __init__(self, op: _Optional[str]=..., scope: _Optional[str]=..., key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + +class SandboxStateOpResponse(_message.Message): + __slots__ = ('value', 'found', 'keys', 'error', 'refreshed_token') + VALUE_FIELD_NUMBER: _ClassVar[int] + FOUND_FIELD_NUMBER: _ClassVar[int] + KEYS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + REFRESHED_TOKEN_FIELD_NUMBER: _ClassVar[int] + value: str + found: bool + keys: _containers.RepeatedScalarFieldContainer[str] + error: str + refreshed_token: str + + def __init__(self, value: _Optional[str]=..., found: bool=..., keys: _Optional[_Iterable[str]]=..., error: _Optional[str]=..., refreshed_token: _Optional[str]=...) -> None: + ... + +class SandboxPutAssetRequest(_message.Message): + __slots__ = ('file_name', 'content_type', 'data') + FILE_NAME_FIELD_NUMBER: _ClassVar[int] + CONTENT_TYPE_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + file_name: str + content_type: str + data: bytes + + def __init__(self, file_name: _Optional[str]=..., content_type: _Optional[str]=..., data: _Optional[bytes]=...) -> None: + ... + +class SandboxPutAssetResponse(_message.Message): + __slots__ = ('url', 'error', 'refreshed_token') + URL_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + REFRESHED_TOKEN_FIELD_NUMBER: _ClassVar[int] + url: str + error: str + refreshed_token: str + + def __init__(self, url: _Optional[str]=..., error: _Optional[str]=..., refreshed_token: _Optional[str]=...) -> None: + ... + +class SandboxSendNotifyRequest(_message.Message): + __slots__ = ('name', 'subject', 'body', 'parameters') + NAME_FIELD_NUMBER: _ClassVar[int] + SUBJECT_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + PARAMETERS_FIELD_NUMBER: _ClassVar[int] + name: str + subject: str + body: str + parameters: _containers.RepeatedCompositeFieldContainer[_sandbox_query_pb2.SandboxQueryParam] + + def __init__(self, name: _Optional[str]=..., subject: _Optional[str]=..., body: _Optional[str]=..., parameters: _Optional[_Iterable[_Union[_sandbox_query_pb2.SandboxQueryParam, _Mapping]]]=...) -> None: + ... + +class SandboxSendNotifyResponse(_message.Message): + __slots__ = ('sent', 'error', 'refreshed_token') + SENT_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + REFRESHED_TOKEN_FIELD_NUMBER: _ClassVar[int] + sent: bool + error: str + refreshed_token: str + + def __init__(self, sent: bool=..., error: _Optional[str]=..., refreshed_token: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_query_connect.py b/src/textql_sdk/_connect/public/sandbox_query_connect.py new file mode 100644 index 0000000..61d5ba3 --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_query_connect.py @@ -0,0 +1,51 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import sandbox_query_pb2 as public_dot_sandbox__query__pb2 + +class SandboxQueryService(Protocol): + + async def execute_query(self, request: public_dot_sandbox__query__pb2.SandboxExecuteQueryRequest, ctx: RequestContext) -> public_dot_sandbox__query__pb2.SandboxExecuteQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SandboxQueryServiceASGIApplication(ConnectASGIApplication[SandboxQueryService]): + + def __init__(self, service: SandboxQueryService | AsyncGenerator[SandboxQueryService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.sandbox_query.SandboxQueryService/ExecuteQuery': Endpoint.unary(method=MethodInfo(name='ExecuteQuery', service_name='textql.rpc.public.sandbox_query.SandboxQueryService', input=public_dot_sandbox__query__pb2.SandboxExecuteQueryRequest, output=public_dot_sandbox__query__pb2.SandboxExecuteQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.execute_query)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sandbox_query.SandboxQueryService' + +class SandboxQueryServiceClient(ConnectClient): + + async def execute_query(self, request: public_dot_sandbox__query__pb2.SandboxExecuteQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__query__pb2.SandboxExecuteQueryResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExecuteQuery', service_name='textql.rpc.public.sandbox_query.SandboxQueryService', input=public_dot_sandbox__query__pb2.SandboxExecuteQueryRequest, output=public_dot_sandbox__query__pb2.SandboxExecuteQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SandboxQueryServiceSync(Protocol): + + def execute_query(self, request: public_dot_sandbox__query__pb2.SandboxExecuteQueryRequest, ctx: RequestContext) -> public_dot_sandbox__query__pb2.SandboxExecuteQueryResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SandboxQueryServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SandboxQueryServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.sandbox_query.SandboxQueryService/ExecuteQuery': EndpointSync.unary(method=MethodInfo(name='ExecuteQuery', service_name='textql.rpc.public.sandbox_query.SandboxQueryService', input=public_dot_sandbox__query__pb2.SandboxExecuteQueryRequest, output=public_dot_sandbox__query__pb2.SandboxExecuteQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.execute_query)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sandbox_query.SandboxQueryService' + +class SandboxQueryServiceClientSync(ConnectClientSync): + + def execute_query(self, request: public_dot_sandbox__query__pb2.SandboxExecuteQueryRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sandbox__query__pb2.SandboxExecuteQueryResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExecuteQuery', service_name='textql.rpc.public.sandbox_query.SandboxQueryService', input=public_dot_sandbox__query__pb2.SandboxExecuteQueryRequest, output=public_dot_sandbox__query__pb2.SandboxExecuteQueryResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_query_pb2.py b/src/textql_sdk/_connect/public/sandbox_query_pb2.py new file mode 100644 index 0000000..ac5b5fa --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_query_pb2.py @@ -0,0 +1,29 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/sandbox_query.proto') +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1apublic/sandbox_query.proto\x12\x1ftextql.rpc.public.sandbox_query"\xce\x03\n\x1aSandboxExecuteQueryRequest\x12\x1f\n\x0bsource_name\x18\x01 \x01(\tR\nsourceName\x12!\n\x0cconnector_id\x18\x02 \x01(\x05R\x0bconnectorId\x12R\n\nparameters\x18\x03 \x03(\x0b22.textql.rpc.public.sandbox_query.SandboxQueryParamR\nparameters\x12\x19\n\x08max_rows\x18\x04 \x01(\x03R\x07maxRows\x12P\n\tsql_query\x18\x05 \x01(\x0b21.textql.rpc.public.sandbox_query.SqlQueryTemplateH\x00R\x08sqlQuery\x12V\n\x0blibrary_tql\x18\x06 \x01(\x0b23.textql.rpc.public.sandbox_query.LibraryTQLTemplateH\x00R\nlibraryTql\x12G\n\x06app_db\x18\x07 \x01(\x0b2..textql.rpc.public.sandbox_query.AppDBTemplateH\x00R\x05appDbB\n\n\x08template"(\n\x10SqlQueryTemplate\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query"/\n\x12LibraryTQLTemplate\x12\x19\n\x08tql_path\x18\x01 \x01(\tR\x07tqlPath"%\n\rAppDBTemplate\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query"=\n\x11SandboxQueryParam\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value"\xb3\x01\n\x1bSandboxExecuteQueryResponse\x12\x1d\n\narrow_data\x18\x01 \x01(\x0cR\tarrowData\x12\x1d\n\ntotal_rows\x18\x02 \x01(\x03R\ttotalRows\x12\x14\n\x05error\x18\x03 \x01(\tR\x05error\x12,\n\x0frefreshed_token\x18\x04 \x01(\tH\x00R\x0erefreshedToken\x88\x01\x01B\x12\n\x10_refreshed_token2\xa3\x01\n\x13SandboxQueryService\x12\x8b\x01\n\x0cExecuteQuery\x12;.textql.rpc.public.sandbox_query.SandboxExecuteQueryRequest\x1a<.textql.rpc.public.sandbox_query.SandboxExecuteQueryResponse"\x00B;Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/publicb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.sandbox_query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public' + _globals['_SANDBOXEXECUTEQUERYREQUEST']._serialized_start = 64 + _globals['_SANDBOXEXECUTEQUERYREQUEST']._serialized_end = 526 + _globals['_SQLQUERYTEMPLATE']._serialized_start = 528 + _globals['_SQLQUERYTEMPLATE']._serialized_end = 568 + _globals['_LIBRARYTQLTEMPLATE']._serialized_start = 570 + _globals['_LIBRARYTQLTEMPLATE']._serialized_end = 617 + _globals['_APPDBTEMPLATE']._serialized_start = 619 + _globals['_APPDBTEMPLATE']._serialized_end = 656 + _globals['_SANDBOXQUERYPARAM']._serialized_start = 658 + _globals['_SANDBOXQUERYPARAM']._serialized_end = 719 + _globals['_SANDBOXEXECUTEQUERYRESPONSE']._serialized_start = 722 + _globals['_SANDBOXEXECUTEQUERYRESPONSE']._serialized_end = 901 + _globals['_SANDBOXQUERYSERVICE']._serialized_start = 904 + _globals['_SANDBOXQUERYSERVICE']._serialized_end = 1067 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sandbox_query_pb2.pyi b/src/textql_sdk/_connect/public/sandbox_query_pb2.pyi new file mode 100644 index 0000000..5a922b0 --- /dev/null +++ b/src/textql_sdk/_connect/public/sandbox_query_pb2.pyi @@ -0,0 +1,74 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class SandboxExecuteQueryRequest(_message.Message): + __slots__ = ('source_name', 'connector_id', 'parameters', 'max_rows', 'sql_query', 'library_tql', 'app_db') + SOURCE_NAME_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + PARAMETERS_FIELD_NUMBER: _ClassVar[int] + MAX_ROWS_FIELD_NUMBER: _ClassVar[int] + SQL_QUERY_FIELD_NUMBER: _ClassVar[int] + LIBRARY_TQL_FIELD_NUMBER: _ClassVar[int] + APP_DB_FIELD_NUMBER: _ClassVar[int] + source_name: str + connector_id: int + parameters: _containers.RepeatedCompositeFieldContainer[SandboxQueryParam] + max_rows: int + sql_query: SqlQueryTemplate + library_tql: LibraryTQLTemplate + app_db: AppDBTemplate + + def __init__(self, source_name: _Optional[str]=..., connector_id: _Optional[int]=..., parameters: _Optional[_Iterable[_Union[SandboxQueryParam, _Mapping]]]=..., max_rows: _Optional[int]=..., sql_query: _Optional[_Union[SqlQueryTemplate, _Mapping]]=..., library_tql: _Optional[_Union[LibraryTQLTemplate, _Mapping]]=..., app_db: _Optional[_Union[AppDBTemplate, _Mapping]]=...) -> None: + ... + +class SqlQueryTemplate(_message.Message): + __slots__ = ('query',) + QUERY_FIELD_NUMBER: _ClassVar[int] + query: str + + def __init__(self, query: _Optional[str]=...) -> None: + ... + +class LibraryTQLTemplate(_message.Message): + __slots__ = ('tql_path',) + TQL_PATH_FIELD_NUMBER: _ClassVar[int] + tql_path: str + + def __init__(self, tql_path: _Optional[str]=...) -> None: + ... + +class AppDBTemplate(_message.Message): + __slots__ = ('query',) + QUERY_FIELD_NUMBER: _ClassVar[int] + query: str + + def __init__(self, query: _Optional[str]=...) -> None: + ... + +class SandboxQueryParam(_message.Message): + __slots__ = ('name', 'value') + NAME_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + name: str + value: str + + def __init__(self, name: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + +class SandboxExecuteQueryResponse(_message.Message): + __slots__ = ('arrow_data', 'total_rows', 'error', 'refreshed_token') + ARROW_DATA_FIELD_NUMBER: _ClassVar[int] + TOTAL_ROWS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + REFRESHED_TOKEN_FIELD_NUMBER: _ClassVar[int] + arrow_data: bytes + total_rows: int + error: str + refreshed_token: str + + def __init__(self, arrow_data: _Optional[bytes]=..., total_rows: _Optional[int]=..., error: _Optional[str]=..., refreshed_token: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/scim_connect.py b/src/textql_sdk/_connect/public/scim_connect.py new file mode 100644 index 0000000..605e1bb --- /dev/null +++ b/src/textql_sdk/_connect/public/scim_connect.py @@ -0,0 +1,111 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import scim_pb2 as public_dot_scim__pb2 + +class ScimService(Protocol): + + async def create_scim_token(self, request: public_dot_scim__pb2.CreateScimTokenRequest, ctx: RequestContext) -> public_dot_scim__pb2.CreateScimTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_scim_tokens(self, request: public_dot_scim__pb2.ListScimTokensRequest, ctx: RequestContext) -> public_dot_scim__pb2.ListScimTokensResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revoke_scim_token(self, request: public_dot_scim__pb2.RevokeScimTokenRequest, ctx: RequestContext) -> public_dot_scim__pb2.RevokeScimTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_scim_o_auth_client(self, request: public_dot_scim__pb2.CreateScimOAuthClientRequest, ctx: RequestContext) -> public_dot_scim__pb2.CreateScimOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_scim_o_auth_clients(self, request: public_dot_scim__pb2.ListScimOAuthClientsRequest, ctx: RequestContext) -> public_dot_scim__pb2.ListScimOAuthClientsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def revoke_scim_o_auth_client(self, request: public_dot_scim__pb2.RevokeScimOAuthClientRequest, ctx: RequestContext) -> public_dot_scim__pb2.RevokeScimOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ScimServiceASGIApplication(ConnectASGIApplication[ScimService]): + + def __init__(self, service: ScimService | AsyncGenerator[ScimService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.scim.ScimService/CreateScimToken': Endpoint.unary(method=MethodInfo(name='CreateScimToken', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.CreateScimTokenRequest, output=public_dot_scim__pb2.CreateScimTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_scim_token), '/textql.rpc.public.scim.ScimService/ListScimTokens': Endpoint.unary(method=MethodInfo(name='ListScimTokens', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.ListScimTokensRequest, output=public_dot_scim__pb2.ListScimTokensResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_scim_tokens), '/textql.rpc.public.scim.ScimService/RevokeScimToken': Endpoint.unary(method=MethodInfo(name='RevokeScimToken', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.RevokeScimTokenRequest, output=public_dot_scim__pb2.RevokeScimTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revoke_scim_token), '/textql.rpc.public.scim.ScimService/CreateScimOAuthClient': Endpoint.unary(method=MethodInfo(name='CreateScimOAuthClient', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.CreateScimOAuthClientRequest, output=public_dot_scim__pb2.CreateScimOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_scim_o_auth_client), '/textql.rpc.public.scim.ScimService/ListScimOAuthClients': Endpoint.unary(method=MethodInfo(name='ListScimOAuthClients', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.ListScimOAuthClientsRequest, output=public_dot_scim__pb2.ListScimOAuthClientsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_scim_o_auth_clients), '/textql.rpc.public.scim.ScimService/RevokeScimOAuthClient': Endpoint.unary(method=MethodInfo(name='RevokeScimOAuthClient', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.RevokeScimOAuthClientRequest, output=public_dot_scim__pb2.RevokeScimOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.revoke_scim_o_auth_client)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.scim.ScimService' + +class ScimServiceClient(ConnectClient): + + async def create_scim_token(self, request: public_dot_scim__pb2.CreateScimTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_scim__pb2.CreateScimTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateScimToken', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.CreateScimTokenRequest, output=public_dot_scim__pb2.CreateScimTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_scim_tokens(self, request: public_dot_scim__pb2.ListScimTokensRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_scim__pb2.ListScimTokensResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListScimTokens', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.ListScimTokensRequest, output=public_dot_scim__pb2.ListScimTokensResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def revoke_scim_token(self, request: public_dot_scim__pb2.RevokeScimTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_scim__pb2.RevokeScimTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevokeScimToken', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.RevokeScimTokenRequest, output=public_dot_scim__pb2.RevokeScimTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_scim_o_auth_client(self, request: public_dot_scim__pb2.CreateScimOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_scim__pb2.CreateScimOAuthClientResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateScimOAuthClient', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.CreateScimOAuthClientRequest, output=public_dot_scim__pb2.CreateScimOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_scim_o_auth_clients(self, request: public_dot_scim__pb2.ListScimOAuthClientsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_scim__pb2.ListScimOAuthClientsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListScimOAuthClients', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.ListScimOAuthClientsRequest, output=public_dot_scim__pb2.ListScimOAuthClientsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def revoke_scim_o_auth_client(self, request: public_dot_scim__pb2.RevokeScimOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_scim__pb2.RevokeScimOAuthClientResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RevokeScimOAuthClient', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.RevokeScimOAuthClientRequest, output=public_dot_scim__pb2.RevokeScimOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class ScimServiceSync(Protocol): + + def create_scim_token(self, request: public_dot_scim__pb2.CreateScimTokenRequest, ctx: RequestContext) -> public_dot_scim__pb2.CreateScimTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_scim_tokens(self, request: public_dot_scim__pb2.ListScimTokensRequest, ctx: RequestContext) -> public_dot_scim__pb2.ListScimTokensResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revoke_scim_token(self, request: public_dot_scim__pb2.RevokeScimTokenRequest, ctx: RequestContext) -> public_dot_scim__pb2.RevokeScimTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_scim_o_auth_client(self, request: public_dot_scim__pb2.CreateScimOAuthClientRequest, ctx: RequestContext) -> public_dot_scim__pb2.CreateScimOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_scim_o_auth_clients(self, request: public_dot_scim__pb2.ListScimOAuthClientsRequest, ctx: RequestContext) -> public_dot_scim__pb2.ListScimOAuthClientsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def revoke_scim_o_auth_client(self, request: public_dot_scim__pb2.RevokeScimOAuthClientRequest, ctx: RequestContext) -> public_dot_scim__pb2.RevokeScimOAuthClientResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class ScimServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: ScimServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.scim.ScimService/CreateScimToken': EndpointSync.unary(method=MethodInfo(name='CreateScimToken', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.CreateScimTokenRequest, output=public_dot_scim__pb2.CreateScimTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_scim_token), '/textql.rpc.public.scim.ScimService/ListScimTokens': EndpointSync.unary(method=MethodInfo(name='ListScimTokens', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.ListScimTokensRequest, output=public_dot_scim__pb2.ListScimTokensResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_scim_tokens), '/textql.rpc.public.scim.ScimService/RevokeScimToken': EndpointSync.unary(method=MethodInfo(name='RevokeScimToken', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.RevokeScimTokenRequest, output=public_dot_scim__pb2.RevokeScimTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revoke_scim_token), '/textql.rpc.public.scim.ScimService/CreateScimOAuthClient': EndpointSync.unary(method=MethodInfo(name='CreateScimOAuthClient', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.CreateScimOAuthClientRequest, output=public_dot_scim__pb2.CreateScimOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_scim_o_auth_client), '/textql.rpc.public.scim.ScimService/ListScimOAuthClients': EndpointSync.unary(method=MethodInfo(name='ListScimOAuthClients', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.ListScimOAuthClientsRequest, output=public_dot_scim__pb2.ListScimOAuthClientsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_scim_o_auth_clients), '/textql.rpc.public.scim.ScimService/RevokeScimOAuthClient': EndpointSync.unary(method=MethodInfo(name='RevokeScimOAuthClient', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.RevokeScimOAuthClientRequest, output=public_dot_scim__pb2.RevokeScimOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.revoke_scim_o_auth_client)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.scim.ScimService' + +class ScimServiceClientSync(ConnectClientSync): + + def create_scim_token(self, request: public_dot_scim__pb2.CreateScimTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_scim__pb2.CreateScimTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateScimToken', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.CreateScimTokenRequest, output=public_dot_scim__pb2.CreateScimTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_scim_tokens(self, request: public_dot_scim__pb2.ListScimTokensRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_scim__pb2.ListScimTokensResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListScimTokens', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.ListScimTokensRequest, output=public_dot_scim__pb2.ListScimTokensResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def revoke_scim_token(self, request: public_dot_scim__pb2.RevokeScimTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_scim__pb2.RevokeScimTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevokeScimToken', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.RevokeScimTokenRequest, output=public_dot_scim__pb2.RevokeScimTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_scim_o_auth_client(self, request: public_dot_scim__pb2.CreateScimOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_scim__pb2.CreateScimOAuthClientResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateScimOAuthClient', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.CreateScimOAuthClientRequest, output=public_dot_scim__pb2.CreateScimOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_scim_o_auth_clients(self, request: public_dot_scim__pb2.ListScimOAuthClientsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_scim__pb2.ListScimOAuthClientsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListScimOAuthClients', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.ListScimOAuthClientsRequest, output=public_dot_scim__pb2.ListScimOAuthClientsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def revoke_scim_o_auth_client(self, request: public_dot_scim__pb2.RevokeScimOAuthClientRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_scim__pb2.RevokeScimOAuthClientResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RevokeScimOAuthClient', service_name='textql.rpc.public.scim.ScimService', input=public_dot_scim__pb2.RevokeScimOAuthClientRequest, output=public_dot_scim__pb2.RevokeScimOAuthClientResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/scim_pb2.py b/src/textql_sdk/_connect/public/scim_pb2.py new file mode 100644 index 0000000..73c59fc --- /dev/null +++ b/src/textql_sdk/_connect/public/scim_pb2.py @@ -0,0 +1,49 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/scim.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11public/scim.proto\x12\x16textql.rpc.public.scim\x1a\x1fgoogle/protobuf/timestamp.proto"\xb5\x02\n\tScimToken\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x1d\n\ncreated_by\x18\x03 \x01(\tR\tcreatedBy\x12>\n\nexpires_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12>\n\nrevoked_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\trevokedAt\x88\x01\x01\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAtB\r\n\x0b_expires_atB\r\n\x0b_revoked_at"\xd8\x02\n\x0fScimOAuthClient\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12\x1d\n\ncreated_by\x18\x04 \x01(\tR\tcreatedBy\x12>\n\nexpires_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12>\n\nrevoked_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\trevokedAt\x88\x01\x01\x129\n\ncreated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAtB\r\n\x0b_expires_atB\r\n\x0b_revoked_at"{\n\x16CreateScimTokenRequest\x12 \n\x0bdescription\x18\x01 \x01(\tR\x0bdescription\x12+\n\x0fexpires_in_days\x18\x02 \x01(\x05H\x00R\rexpiresInDays\x88\x01\x01B\x12\n\x10_expires_in_days"\xeb\x01\n\x17CreateScimTokenResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12>\n\nexpires_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAtB\r\n\x0b_expires_at"\x17\n\x15ListScimTokensRequest"S\n\x16ListScimTokensResponse\x129\n\x06tokens\x18\x01 \x03(\x0b2!.textql.rpc.public.scim.ScimTokenR\x06tokens"(\n\x16RevokeScimTokenRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x19\n\x17RevokeScimTokenResponse"\x81\x01\n\x1cCreateScimOAuthClientRequest\x12 \n\x0bdescription\x18\x01 \x01(\tR\x0bdescription\x12+\n\x0fexpires_in_days\x18\x02 \x01(\x05H\x00R\rexpiresInDays\x88\x01\x01B\x12\n\x10_expires_in_days"\x9d\x02\n\x1dCreateScimOAuthClientResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12#\n\rclient_secret\x18\x03 \x01(\tR\x0cclientSecret\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12>\n\nexpires_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAtB\r\n\x0b_expires_at"\x1d\n\x1bListScimOAuthClientsRequest"a\n\x1cListScimOAuthClientsResponse\x12A\n\x07clients\x18\x01 \x03(\x0b2\'.textql.rpc.public.scim.ScimOAuthClientR\x07clients".\n\x1cRevokeScimOAuthClientRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1f\n\x1dRevokeScimOAuthClientResponse2\x82\x06\n\x0bScimService\x12r\n\x0fCreateScimToken\x12..textql.rpc.public.scim.CreateScimTokenRequest\x1a/.textql.rpc.public.scim.CreateScimTokenResponse\x12t\n\x0eListScimTokens\x12-.textql.rpc.public.scim.ListScimTokensRequest\x1a..textql.rpc.public.scim.ListScimTokensResponse"\x03\x90\x02\x01\x12r\n\x0fRevokeScimToken\x12..textql.rpc.public.scim.RevokeScimTokenRequest\x1a/.textql.rpc.public.scim.RevokeScimTokenResponse\x12\x84\x01\n\x15CreateScimOAuthClient\x124.textql.rpc.public.scim.CreateScimOAuthClientRequest\x1a5.textql.rpc.public.scim.CreateScimOAuthClientResponse\x12\x86\x01\n\x14ListScimOAuthClients\x123.textql.rpc.public.scim.ListScimOAuthClientsRequest\x1a4.textql.rpc.public.scim.ListScimOAuthClientsResponse"\x03\x90\x02\x01\x12\x84\x01\n\x15RevokeScimOAuthClient\x124.textql.rpc.public.scim.RevokeScimOAuthClientRequest\x1a5.textql.rpc.public.scim.RevokeScimOAuthClientResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.scim_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SCIMSERVICE'].methods_by_name['ListScimTokens']._loaded_options = None + _globals['_SCIMSERVICE'].methods_by_name['ListScimTokens']._serialized_options = b'\x90\x02\x01' + _globals['_SCIMSERVICE'].methods_by_name['ListScimOAuthClients']._loaded_options = None + _globals['_SCIMSERVICE'].methods_by_name['ListScimOAuthClients']._serialized_options = b'\x90\x02\x01' + _globals['_SCIMTOKEN']._serialized_start = 79 + _globals['_SCIMTOKEN']._serialized_end = 388 + _globals['_SCIMOAUTHCLIENT']._serialized_start = 391 + _globals['_SCIMOAUTHCLIENT']._serialized_end = 735 + _globals['_CREATESCIMTOKENREQUEST']._serialized_start = 737 + _globals['_CREATESCIMTOKENREQUEST']._serialized_end = 860 + _globals['_CREATESCIMTOKENRESPONSE']._serialized_start = 863 + _globals['_CREATESCIMTOKENRESPONSE']._serialized_end = 1098 + _globals['_LISTSCIMTOKENSREQUEST']._serialized_start = 1100 + _globals['_LISTSCIMTOKENSREQUEST']._serialized_end = 1123 + _globals['_LISTSCIMTOKENSRESPONSE']._serialized_start = 1125 + _globals['_LISTSCIMTOKENSRESPONSE']._serialized_end = 1208 + _globals['_REVOKESCIMTOKENREQUEST']._serialized_start = 1210 + _globals['_REVOKESCIMTOKENREQUEST']._serialized_end = 1250 + _globals['_REVOKESCIMTOKENRESPONSE']._serialized_start = 1252 + _globals['_REVOKESCIMTOKENRESPONSE']._serialized_end = 1277 + _globals['_CREATESCIMOAUTHCLIENTREQUEST']._serialized_start = 1280 + _globals['_CREATESCIMOAUTHCLIENTREQUEST']._serialized_end = 1409 + _globals['_CREATESCIMOAUTHCLIENTRESPONSE']._serialized_start = 1412 + _globals['_CREATESCIMOAUTHCLIENTRESPONSE']._serialized_end = 1697 + _globals['_LISTSCIMOAUTHCLIENTSREQUEST']._serialized_start = 1699 + _globals['_LISTSCIMOAUTHCLIENTSREQUEST']._serialized_end = 1728 + _globals['_LISTSCIMOAUTHCLIENTSRESPONSE']._serialized_start = 1730 + _globals['_LISTSCIMOAUTHCLIENTSRESPONSE']._serialized_end = 1827 + _globals['_REVOKESCIMOAUTHCLIENTREQUEST']._serialized_start = 1829 + _globals['_REVOKESCIMOAUTHCLIENTREQUEST']._serialized_end = 1875 + _globals['_REVOKESCIMOAUTHCLIENTRESPONSE']._serialized_start = 1877 + _globals['_REVOKESCIMOAUTHCLIENTRESPONSE']._serialized_end = 1908 + _globals['_SCIMSERVICE']._serialized_start = 1911 + _globals['_SCIMSERVICE']._serialized_end = 2681 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/scim_pb2.pyi b/src/textql_sdk/_connect/public/scim_pb2.pyi new file mode 100644 index 0000000..79e5820 --- /dev/null +++ b/src/textql_sdk/_connect/public/scim_pb2.pyi @@ -0,0 +1,156 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ScimToken(_message.Message): + __slots__ = ('id', 'description', 'created_by', 'expires_at', 'revoked_at', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + REVOKED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + description: str + created_by: str + expires_at: _timestamp_pb2.Timestamp + revoked_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., description: _Optional[str]=..., created_by: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., revoked_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ScimOAuthClient(_message.Message): + __slots__ = ('id', 'client_id', 'description', 'created_by', 'expires_at', 'revoked_at', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + REVOKED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + client_id: str + description: str + created_by: str + expires_at: _timestamp_pb2.Timestamp + revoked_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., client_id: _Optional[str]=..., description: _Optional[str]=..., created_by: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., revoked_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class CreateScimTokenRequest(_message.Message): + __slots__ = ('description', 'expires_in_days') + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_DAYS_FIELD_NUMBER: _ClassVar[int] + description: str + expires_in_days: int + + def __init__(self, description: _Optional[str]=..., expires_in_days: _Optional[int]=...) -> None: + ... + +class CreateScimTokenResponse(_message.Message): + __slots__ = ('id', 'token', 'description', 'expires_at', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + TOKEN_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + token: str + description: str + expires_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., token: _Optional[str]=..., description: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListScimTokensRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListScimTokensResponse(_message.Message): + __slots__ = ('tokens',) + TOKENS_FIELD_NUMBER: _ClassVar[int] + tokens: _containers.RepeatedCompositeFieldContainer[ScimToken] + + def __init__(self, tokens: _Optional[_Iterable[_Union[ScimToken, _Mapping]]]=...) -> None: + ... + +class RevokeScimTokenRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class RevokeScimTokenResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class CreateScimOAuthClientRequest(_message.Message): + __slots__ = ('description', 'expires_in_days') + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_DAYS_FIELD_NUMBER: _ClassVar[int] + description: str + expires_in_days: int + + def __init__(self, description: _Optional[str]=..., expires_in_days: _Optional[int]=...) -> None: + ... + +class CreateScimOAuthClientResponse(_message.Message): + __slots__ = ('id', 'client_id', 'client_secret', 'description', 'expires_at', 'created_at') + ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + client_id: str + client_secret: str + description: str + expires_at: _timestamp_pb2.Timestamp + created_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=..., description: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListScimOAuthClientsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListScimOAuthClientsResponse(_message.Message): + __slots__ = ('clients',) + CLIENTS_FIELD_NUMBER: _ClassVar[int] + clients: _containers.RepeatedCompositeFieldContainer[ScimOAuthClient] + + def __init__(self, clients: _Optional[_Iterable[_Union[ScimOAuthClient, _Mapping]]]=...) -> None: + ... + +class RevokeScimOAuthClientRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class RevokeScimOAuthClientResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/secret_connect.py b/src/textql_sdk/_connect/public/secret_connect.py new file mode 100644 index 0000000..297c71b --- /dev/null +++ b/src/textql_sdk/_connect/public/secret_connect.py @@ -0,0 +1,207 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import secret_pb2 as public_dot_secret__pb2 + +class SecretService(Protocol): + + async def list_secrets(self, request: public_dot_secret__pb2.ListSecretsRequest, ctx: RequestContext) -> public_dot_secret__pb2.ListSecretsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_members_with_secrets(self, request: public_dot_secret__pb2.GetMembersWithSecretsRequest, ctx: RequestContext) -> public_dot_secret__pb2.GetMembersWithSecretsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def put_secret(self, request: public_dot_secret__pb2.PutSecretRequest, ctx: RequestContext) -> public_dot_secret__pb2.PutSecretResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_secret(self, request: public_dot_secret__pb2.UpdateSecretRequest, ctx: RequestContext) -> public_dot_secret__pb2.UpdateSecretResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_secret(self, request: public_dot_secret__pb2.DeleteSecretRequest, ctx: RequestContext) -> public_dot_secret__pb2.DeleteSecretResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_api_revision(self, request: public_dot_secret__pb2.CreateApiRevisionRequest, ctx: RequestContext) -> public_dot_secret__pb2.CreateApiRevisionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def upsert_api_access_key(self, request: public_dot_secret__pb2.UpsertApiAccessKeyRequest, ctx: RequestContext) -> public_dot_secret__pb2.UpsertApiAccessKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_api_revision(self, request: public_dot_secret__pb2.DeleteApiRevisionRequest, ctx: RequestContext) -> public_dot_secret__pb2.DeleteApiRevisionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_api_access_keys(self, request: public_dot_secret__pb2.ListApiAccessKeysRequest, ctx: RequestContext) -> public_dot_secret__pb2.ListApiAccessKeysResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_api_access_key(self, request: public_dot_secret__pb2.GetApiAccessKeyRequest, ctx: RequestContext) -> public_dot_secret__pb2.GetApiAccessKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_api_access_key(self, request: public_dot_secret__pb2.DeleteApiAccessKeyRequest, ctx: RequestContext) -> public_dot_secret__pb2.DeleteApiAccessKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_api_providers(self, request: public_dot_secret__pb2.ListApiProvidersRequest, ctx: RequestContext) -> public_dot_secret__pb2.ListApiProvidersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def test_api_access_key(self, request: public_dot_secret__pb2.TestApiAccessKeyRequest, ctx: RequestContext) -> public_dot_secret__pb2.TestApiAccessKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def migrate_secret_to_api_connector(self, request: public_dot_secret__pb2.MigrateSecretToApiConnectorRequest, ctx: RequestContext) -> public_dot_secret__pb2.MigrateSecretToApiConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SecretServiceASGIApplication(ConnectASGIApplication[SecretService]): + + def __init__(self, service: SecretService | AsyncGenerator[SecretService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.secret.SecretService/ListSecrets': Endpoint.unary(method=MethodInfo(name='ListSecrets', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListSecretsRequest, output=public_dot_secret__pb2.ListSecretsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_secrets), '/textql.rpc.public.secret.SecretService/GetMembersWithSecrets': Endpoint.unary(method=MethodInfo(name='GetMembersWithSecrets', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.GetMembersWithSecretsRequest, output=public_dot_secret__pb2.GetMembersWithSecretsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_members_with_secrets), '/textql.rpc.public.secret.SecretService/PutSecret': Endpoint.unary(method=MethodInfo(name='PutSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.PutSecretRequest, output=public_dot_secret__pb2.PutSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.put_secret), '/textql.rpc.public.secret.SecretService/UpdateSecret': Endpoint.unary(method=MethodInfo(name='UpdateSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.UpdateSecretRequest, output=public_dot_secret__pb2.UpdateSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_secret), '/textql.rpc.public.secret.SecretService/DeleteSecret': Endpoint.unary(method=MethodInfo(name='DeleteSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteSecretRequest, output=public_dot_secret__pb2.DeleteSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_secret), '/textql.rpc.public.secret.SecretService/CreateApiRevision': Endpoint.unary(method=MethodInfo(name='CreateApiRevision', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.CreateApiRevisionRequest, output=public_dot_secret__pb2.CreateApiRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_api_revision), '/textql.rpc.public.secret.SecretService/UpsertApiAccessKey': Endpoint.unary(method=MethodInfo(name='UpsertApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.UpsertApiAccessKeyRequest, output=public_dot_secret__pb2.UpsertApiAccessKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.upsert_api_access_key), '/textql.rpc.public.secret.SecretService/DeleteApiRevision': Endpoint.unary(method=MethodInfo(name='DeleteApiRevision', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteApiRevisionRequest, output=public_dot_secret__pb2.DeleteApiRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_api_revision), '/textql.rpc.public.secret.SecretService/ListApiAccessKeys': Endpoint.unary(method=MethodInfo(name='ListApiAccessKeys', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListApiAccessKeysRequest, output=public_dot_secret__pb2.ListApiAccessKeysResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_api_access_keys), '/textql.rpc.public.secret.SecretService/GetApiAccessKey': Endpoint.unary(method=MethodInfo(name='GetApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.GetApiAccessKeyRequest, output=public_dot_secret__pb2.GetApiAccessKeyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_api_access_key), '/textql.rpc.public.secret.SecretService/DeleteApiAccessKey': Endpoint.unary(method=MethodInfo(name='DeleteApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteApiAccessKeyRequest, output=public_dot_secret__pb2.DeleteApiAccessKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_api_access_key), '/textql.rpc.public.secret.SecretService/ListApiProviders': Endpoint.unary(method=MethodInfo(name='ListApiProviders', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListApiProvidersRequest, output=public_dot_secret__pb2.ListApiProvidersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_api_providers), '/textql.rpc.public.secret.SecretService/TestApiAccessKey': Endpoint.unary(method=MethodInfo(name='TestApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.TestApiAccessKeyRequest, output=public_dot_secret__pb2.TestApiAccessKeyResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=svc.test_api_access_key), '/textql.rpc.public.secret.SecretService/MigrateSecretToApiConnector': Endpoint.unary(method=MethodInfo(name='MigrateSecretToApiConnector', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.MigrateSecretToApiConnectorRequest, output=public_dot_secret__pb2.MigrateSecretToApiConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.migrate_secret_to_api_connector)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.secret.SecretService' + +class SecretServiceClient(ConnectClient): + + async def list_secrets(self, request: public_dot_secret__pb2.ListSecretsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.ListSecretsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListSecrets', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListSecretsRequest, output=public_dot_secret__pb2.ListSecretsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_members_with_secrets(self, request: public_dot_secret__pb2.GetMembersWithSecretsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.GetMembersWithSecretsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithSecrets', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.GetMembersWithSecretsRequest, output=public_dot_secret__pb2.GetMembersWithSecretsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def put_secret(self, request: public_dot_secret__pb2.PutSecretRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.PutSecretResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='PutSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.PutSecretRequest, output=public_dot_secret__pb2.PutSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_secret(self, request: public_dot_secret__pb2.UpdateSecretRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.UpdateSecretResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.UpdateSecretRequest, output=public_dot_secret__pb2.UpdateSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_secret(self, request: public_dot_secret__pb2.DeleteSecretRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.DeleteSecretResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteSecretRequest, output=public_dot_secret__pb2.DeleteSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_api_revision(self, request: public_dot_secret__pb2.CreateApiRevisionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.CreateApiRevisionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateApiRevision', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.CreateApiRevisionRequest, output=public_dot_secret__pb2.CreateApiRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def upsert_api_access_key(self, request: public_dot_secret__pb2.UpsertApiAccessKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.UpsertApiAccessKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpsertApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.UpsertApiAccessKeyRequest, output=public_dot_secret__pb2.UpsertApiAccessKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_api_revision(self, request: public_dot_secret__pb2.DeleteApiRevisionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.DeleteApiRevisionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteApiRevision', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteApiRevisionRequest, output=public_dot_secret__pb2.DeleteApiRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_api_access_keys(self, request: public_dot_secret__pb2.ListApiAccessKeysRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.ListApiAccessKeysResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListApiAccessKeys', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListApiAccessKeysRequest, output=public_dot_secret__pb2.ListApiAccessKeysResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_api_access_key(self, request: public_dot_secret__pb2.GetApiAccessKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.GetApiAccessKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.GetApiAccessKeyRequest, output=public_dot_secret__pb2.GetApiAccessKeyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def delete_api_access_key(self, request: public_dot_secret__pb2.DeleteApiAccessKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.DeleteApiAccessKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteApiAccessKeyRequest, output=public_dot_secret__pb2.DeleteApiAccessKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_api_providers(self, request: public_dot_secret__pb2.ListApiProvidersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.ListApiProvidersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListApiProviders', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListApiProvidersRequest, output=public_dot_secret__pb2.ListApiProvidersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def test_api_access_key(self, request: public_dot_secret__pb2.TestApiAccessKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.TestApiAccessKeyResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.TestApiAccessKeyRequest, output=public_dot_secret__pb2.TestApiAccessKeyResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + async def migrate_secret_to_api_connector(self, request: public_dot_secret__pb2.MigrateSecretToApiConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.MigrateSecretToApiConnectorResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='MigrateSecretToApiConnector', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.MigrateSecretToApiConnectorRequest, output=public_dot_secret__pb2.MigrateSecretToApiConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SecretServiceSync(Protocol): + + def list_secrets(self, request: public_dot_secret__pb2.ListSecretsRequest, ctx: RequestContext) -> public_dot_secret__pb2.ListSecretsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_members_with_secrets(self, request: public_dot_secret__pb2.GetMembersWithSecretsRequest, ctx: RequestContext) -> public_dot_secret__pb2.GetMembersWithSecretsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def put_secret(self, request: public_dot_secret__pb2.PutSecretRequest, ctx: RequestContext) -> public_dot_secret__pb2.PutSecretResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_secret(self, request: public_dot_secret__pb2.UpdateSecretRequest, ctx: RequestContext) -> public_dot_secret__pb2.UpdateSecretResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_secret(self, request: public_dot_secret__pb2.DeleteSecretRequest, ctx: RequestContext) -> public_dot_secret__pb2.DeleteSecretResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_api_revision(self, request: public_dot_secret__pb2.CreateApiRevisionRequest, ctx: RequestContext) -> public_dot_secret__pb2.CreateApiRevisionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def upsert_api_access_key(self, request: public_dot_secret__pb2.UpsertApiAccessKeyRequest, ctx: RequestContext) -> public_dot_secret__pb2.UpsertApiAccessKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_api_revision(self, request: public_dot_secret__pb2.DeleteApiRevisionRequest, ctx: RequestContext) -> public_dot_secret__pb2.DeleteApiRevisionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_api_access_keys(self, request: public_dot_secret__pb2.ListApiAccessKeysRequest, ctx: RequestContext) -> public_dot_secret__pb2.ListApiAccessKeysResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_api_access_key(self, request: public_dot_secret__pb2.GetApiAccessKeyRequest, ctx: RequestContext) -> public_dot_secret__pb2.GetApiAccessKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_api_access_key(self, request: public_dot_secret__pb2.DeleteApiAccessKeyRequest, ctx: RequestContext) -> public_dot_secret__pb2.DeleteApiAccessKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_api_providers(self, request: public_dot_secret__pb2.ListApiProvidersRequest, ctx: RequestContext) -> public_dot_secret__pb2.ListApiProvidersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def test_api_access_key(self, request: public_dot_secret__pb2.TestApiAccessKeyRequest, ctx: RequestContext) -> public_dot_secret__pb2.TestApiAccessKeyResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def migrate_secret_to_api_connector(self, request: public_dot_secret__pb2.MigrateSecretToApiConnectorRequest, ctx: RequestContext) -> public_dot_secret__pb2.MigrateSecretToApiConnectorResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SecretServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SecretServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.secret.SecretService/ListSecrets': EndpointSync.unary(method=MethodInfo(name='ListSecrets', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListSecretsRequest, output=public_dot_secret__pb2.ListSecretsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_secrets), '/textql.rpc.public.secret.SecretService/GetMembersWithSecrets': EndpointSync.unary(method=MethodInfo(name='GetMembersWithSecrets', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.GetMembersWithSecretsRequest, output=public_dot_secret__pb2.GetMembersWithSecretsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_members_with_secrets), '/textql.rpc.public.secret.SecretService/PutSecret': EndpointSync.unary(method=MethodInfo(name='PutSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.PutSecretRequest, output=public_dot_secret__pb2.PutSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.put_secret), '/textql.rpc.public.secret.SecretService/UpdateSecret': EndpointSync.unary(method=MethodInfo(name='UpdateSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.UpdateSecretRequest, output=public_dot_secret__pb2.UpdateSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_secret), '/textql.rpc.public.secret.SecretService/DeleteSecret': EndpointSync.unary(method=MethodInfo(name='DeleteSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteSecretRequest, output=public_dot_secret__pb2.DeleteSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_secret), '/textql.rpc.public.secret.SecretService/CreateApiRevision': EndpointSync.unary(method=MethodInfo(name='CreateApiRevision', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.CreateApiRevisionRequest, output=public_dot_secret__pb2.CreateApiRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_api_revision), '/textql.rpc.public.secret.SecretService/UpsertApiAccessKey': EndpointSync.unary(method=MethodInfo(name='UpsertApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.UpsertApiAccessKeyRequest, output=public_dot_secret__pb2.UpsertApiAccessKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.upsert_api_access_key), '/textql.rpc.public.secret.SecretService/DeleteApiRevision': EndpointSync.unary(method=MethodInfo(name='DeleteApiRevision', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteApiRevisionRequest, output=public_dot_secret__pb2.DeleteApiRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_api_revision), '/textql.rpc.public.secret.SecretService/ListApiAccessKeys': EndpointSync.unary(method=MethodInfo(name='ListApiAccessKeys', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListApiAccessKeysRequest, output=public_dot_secret__pb2.ListApiAccessKeysResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_api_access_keys), '/textql.rpc.public.secret.SecretService/GetApiAccessKey': EndpointSync.unary(method=MethodInfo(name='GetApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.GetApiAccessKeyRequest, output=public_dot_secret__pb2.GetApiAccessKeyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_api_access_key), '/textql.rpc.public.secret.SecretService/DeleteApiAccessKey': EndpointSync.unary(method=MethodInfo(name='DeleteApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteApiAccessKeyRequest, output=public_dot_secret__pb2.DeleteApiAccessKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_api_access_key), '/textql.rpc.public.secret.SecretService/ListApiProviders': EndpointSync.unary(method=MethodInfo(name='ListApiProviders', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListApiProvidersRequest, output=public_dot_secret__pb2.ListApiProvidersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_api_providers), '/textql.rpc.public.secret.SecretService/TestApiAccessKey': EndpointSync.unary(method=MethodInfo(name='TestApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.TestApiAccessKeyRequest, output=public_dot_secret__pb2.TestApiAccessKeyResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), function=service.test_api_access_key), '/textql.rpc.public.secret.SecretService/MigrateSecretToApiConnector': EndpointSync.unary(method=MethodInfo(name='MigrateSecretToApiConnector', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.MigrateSecretToApiConnectorRequest, output=public_dot_secret__pb2.MigrateSecretToApiConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.migrate_secret_to_api_connector)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.secret.SecretService' + +class SecretServiceClientSync(ConnectClientSync): + + def list_secrets(self, request: public_dot_secret__pb2.ListSecretsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.ListSecretsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListSecrets', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListSecretsRequest, output=public_dot_secret__pb2.ListSecretsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_members_with_secrets(self, request: public_dot_secret__pb2.GetMembersWithSecretsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.GetMembersWithSecretsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetMembersWithSecrets', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.GetMembersWithSecretsRequest, output=public_dot_secret__pb2.GetMembersWithSecretsResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def put_secret(self, request: public_dot_secret__pb2.PutSecretRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.PutSecretResponse: + return self.execute_unary(request=request, method=MethodInfo(name='PutSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.PutSecretRequest, output=public_dot_secret__pb2.PutSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_secret(self, request: public_dot_secret__pb2.UpdateSecretRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.UpdateSecretResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.UpdateSecretRequest, output=public_dot_secret__pb2.UpdateSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_secret(self, request: public_dot_secret__pb2.DeleteSecretRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.DeleteSecretResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteSecret', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteSecretRequest, output=public_dot_secret__pb2.DeleteSecretResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_api_revision(self, request: public_dot_secret__pb2.CreateApiRevisionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.CreateApiRevisionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateApiRevision', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.CreateApiRevisionRequest, output=public_dot_secret__pb2.CreateApiRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def upsert_api_access_key(self, request: public_dot_secret__pb2.UpsertApiAccessKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.UpsertApiAccessKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpsertApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.UpsertApiAccessKeyRequest, output=public_dot_secret__pb2.UpsertApiAccessKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_api_revision(self, request: public_dot_secret__pb2.DeleteApiRevisionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.DeleteApiRevisionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteApiRevision', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteApiRevisionRequest, output=public_dot_secret__pb2.DeleteApiRevisionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_api_access_keys(self, request: public_dot_secret__pb2.ListApiAccessKeysRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.ListApiAccessKeysResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListApiAccessKeys', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListApiAccessKeysRequest, output=public_dot_secret__pb2.ListApiAccessKeysResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_api_access_key(self, request: public_dot_secret__pb2.GetApiAccessKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.GetApiAccessKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.GetApiAccessKeyRequest, output=public_dot_secret__pb2.GetApiAccessKeyResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def delete_api_access_key(self, request: public_dot_secret__pb2.DeleteApiAccessKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.DeleteApiAccessKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.DeleteApiAccessKeyRequest, output=public_dot_secret__pb2.DeleteApiAccessKeyResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_api_providers(self, request: public_dot_secret__pb2.ListApiProvidersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_secret__pb2.ListApiProvidersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListApiProviders', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.ListApiProvidersRequest, output=public_dot_secret__pb2.ListApiProvidersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def test_api_access_key(self, request: public_dot_secret__pb2.TestApiAccessKeyRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.TestApiAccessKeyResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestApiAccessKey', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.TestApiAccessKeyRequest, output=public_dot_secret__pb2.TestApiAccessKeyResponse, idempotency_level=IdempotencyLevel.IDEMPOTENT), headers=headers, timeout_ms=timeout_ms) + + def migrate_secret_to_api_connector(self, request: public_dot_secret__pb2.MigrateSecretToApiConnectorRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_secret__pb2.MigrateSecretToApiConnectorResponse: + return self.execute_unary(request=request, method=MethodInfo(name='MigrateSecretToApiConnector', service_name='textql.rpc.public.secret.SecretService', input=public_dot_secret__pb2.MigrateSecretToApiConnectorRequest, output=public_dot_secret__pb2.MigrateSecretToApiConnectorResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/secret_pb2.py b/src/textql_sdk/_connect/public/secret_pb2.py new file mode 100644 index 0000000..7f354d3 --- /dev/null +++ b/src/textql_sdk/_connect/public/secret_pb2.py @@ -0,0 +1,135 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/secret.proto') +_sym_db = _symbol_database.Default() +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import identity_pb2 as public_dot_identity__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13public/secret.proto\x12\x18textql.rpc.public.secret\x1a\x1bgoogle/api/visibility.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15public/identity.proto"\xed\x02\n\x06Secret\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_at\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12%\n\x0bdescription\x18\x05 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12\x17\n\x04link\x18\x06 \x01(\tH\x01R\x04link\x88\x01\x01\x12\x1d\n\ncreated_by\x18\x07 \x01(\tR\tcreatedBy\x12$\n\x0baccess_type\x18\x08 \x01(\tH\x02R\naccessType\x88\x01\x01\x12\x1b\n\tis_public\x18\t \x01(\x08R\x08isPublicB\x0e\n\x0c_descriptionB\x07\n\x05_linkB\x0e\n\x0c_access_type"\x14\n\x12ListSecretsRequest"Q\n\x13ListSecretsResponse\x12:\n\x07secrets\x18\x01 \x03(\x0b2 .textql.rpc.public.secret.SecretR\x07secrets"\xb4\x01\n\x10PutSecretRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12%\n\x0bdescription\x18\x03 \x01(\tH\x00R\x0bdescription\x88\x01\x01\x12\x17\n\x04link\x18\x04 \x01(\tH\x01R\x04link\x88\x01\x01\x12\x1d\n\nis_private\x18\x05 \x01(\x08R\tisPrivateB\x0e\n\x0c_descriptionB\x07\n\x05_link"\x13\n\x11PutSecretResponse"\xa7\x01\n\x13UpdateSecretRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n\x05value\x18\x02 \x01(\tH\x00R\x05value\x88\x01\x01\x12%\n\x0bdescription\x18\x03 \x01(\tH\x01R\x0bdescription\x88\x01\x01\x12\x17\n\x04link\x18\x04 \x01(\tH\x02R\x04link\x88\x01\x01B\x08\n\x06_valueB\x0e\n\x0c_descriptionB\x07\n\x05_link"\x16\n\x14UpdateSecretResponse")\n\x13DeleteSecretRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x16\n\x14DeleteSecretResponse"\x1e\n\x1cGetMembersWithSecretsRequest"]\n\x1dGetMembersWithSecretsResponse\x12<\n\x07members\x18\x01 \x03(\x0b2".textql.rpc.identity.MemberPreviewR\x07members"G\n\rHttpBasicAuth\x12\x1a\n\x08username\x18\x01 \x01(\tR\x08username\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"U\n\x0cApiAccessRef\x12)\n\x11api_access_key_id\x18\x01 \x01(\tR\x0eapiAccessKeyId\x12\x1a\n\x08revision\x18\x02 \x01(\x04R\x08revision"\x9f\n\n\x0cApiAccessKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x1b\n\tmember_id\x18\x03 \x01(\tR\x08memberId\x12\x14\n\x05hosts\x18\x04 \x03(\tR\x05hosts\x12M\n\x07headers\x18\x05 \x03(\x0b23.textql.rpc.public.secret.ApiAccessKey.HeadersEntryR\x07headers\x12Z\n\x0cquery_params\x18\x06 \x03(\x0b27.textql.rpc.public.secret.ApiAccessKey.QueryParamsEntryR\x0bqueryParams\x12 \n\x0bdescription\x18\x07 \x01(\tR\x0bdescription\x129\n\ncreated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12>\n\nexpires_at\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12\x1a\n\x08provider\x18\x0b \x01(\tR\x08provider\x12\x1b\n\tauth_type\x18\x0c \x01(\tR\x08authType\x12<\n\x1amember_oauth_authenticated\x18\r \x01(\x08R\x18memberOauthAuthenticated\x129\n\x19member_oauth_display_name\x18\x0e \x01(\tR\x16memberOauthDisplayName\x12T\n\x0fhttp_basic_auth\x18\x10 \x01(\x0b2\'.textql.rpc.public.secret.HttpBasicAuthH\x01R\rhttpBasicAuth\x88\x01\x01\x12D\n\x04body\x18\x11 \x03(\x0b20.textql.rpc.public.secret.ApiAccessKey.BodyEntryR\x04body\x12L\n\x0ccontent_type\x18\x12 \x01(\x0e2).textql.rpc.public.secret.BodyContentTypeR\x0bcontentType\x12\x1b\n\tcan_write\x18\x13 \x01(\x08R\x08canWrite\x12$\n\x0baccess_type\x18\x14 \x01(\tH\x02R\naccessType\x88\x01\x01\x12\x1b\n\tis_public\x18\x15 \x01(\x08R\x08isPublic\x12\x19\n\x08test_url\x18\x16 \x01(\tR\x07testUrl\x12\x12\n\x04name\x18\x17 \x01(\tR\x04name\x12\x1f\n\x0bauth_prefix\x18\x18 \x01(\tR\nauthPrefix\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a>\n\x10QueryParamsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a7\n\tBodyEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\r\n\x0b_expires_atB\x12\n\x10_http_basic_authB\x0e\n\x0c_access_type"`\n\x18CreateApiRevisionRequest\x12.\n\x11api_access_key_id\x18\x01 \x01(\tH\x00R\x0eapiAccessKeyId\x88\x01\x01B\x14\n\x12_api_access_key_id"\xbb\x01\n\x19CreateApiRevisionResponse\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref\x12Q\n\x0eapi_access_key\x18\x02 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessKeyH\x00R\x0capiAccessKey\x88\x01\x01B\x11\n\x0f_api_access_key"\xb6\x08\n\x19UpsertApiAccessKeyRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref\x12"\n\rpersist_to_db\x18\x02 \x01(\x08R\x0bpersistToDb\x12\x14\n\x05hosts\x18\x03 \x03(\tR\x05hosts\x12Z\n\x07headers\x18\x04 \x03(\x0b2@.textql.rpc.public.secret.UpsertApiAccessKeyRequest.HeadersEntryR\x07headers\x12g\n\x0cquery_params\x18\x05 \x03(\x0b2D.textql.rpc.public.secret.UpsertApiAccessKeyRequest.QueryParamsEntryR\x0bqueryParams\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12>\n\nexpires_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12\x1a\n\x08provider\x18\t \x01(\tR\x08provider\x12\x1d\n\nauth_value\x18\n \x01(\tR\tauthValue\x12(\n\x10auth_value_extra\x18\x0b \x01(\tR\x0eauthValueExtra\x12\x1b\n\tauth_type\x18\x0c \x01(\tR\x08authType\x12T\n\x0fhttp_basic_auth\x18\r \x01(\x0b2\'.textql.rpc.public.secret.HttpBasicAuthH\x01R\rhttpBasicAuth\x88\x01\x01\x12Q\n\x04body\x18\x0e \x03(\x0b2=.textql.rpc.public.secret.UpsertApiAccessKeyRequest.BodyEntryR\x04body\x12L\n\x0ccontent_type\x18\x0f \x01(\x0e2).textql.rpc.public.secret.BodyContentTypeR\x0bcontentType\x12\x19\n\x08test_url\x18\x10 \x01(\tR\x07testUrl\x12\x12\n\x04name\x18\x11 \x01(\tR\x04name\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a>\n\x10QueryParamsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a7\n\tBodyEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\r\n\x0b_expires_atB\x12\n\x10_http_basic_auth"j\n\x1aUpsertApiAccessKeyResponse\x12L\n\x0eapi_access_key\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessKeyR\x0capiAccessKey"T\n\x18DeleteApiRevisionRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref"\x1b\n\x19DeleteApiRevisionResponse"\x1a\n\x18ListApiAccessKeysRequest"k\n\x19ListApiAccessKeysResponse\x12N\n\x0fapi_access_keys\x18\x01 \x03(\x0b2&.textql.rpc.public.secret.ApiAccessKeyR\rapiAccessKeys"(\n\x16GetApiAccessKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"g\n\x17GetApiAccessKeyResponse\x12L\n\x0eapi_access_key\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessKeyR\x0capiAccessKey"+\n\x19DeleteApiAccessKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1c\n\x1aDeleteApiAccessKeyResponse"\xb7\x01\n\x0bEnvVarField\x12\x17\n\x07env_var\x18\x01 \x01(\tR\x06envVar\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12\x1a\n\x08required\x18\x03 \x01(\x08R\x08required\x12\x16\n\x06secret\x18\x04 \x01(\x08R\x06secret\x12#\n\rdefault_value\x18\x05 \x01(\tR\x0cdefaultValue\x12 \n\x0bplaceholder\x18\x06 \x01(\tR\x0bplaceholder"\xd9\x06\n\x0bApiProvider\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x19\n\x08icon_url\x18\x03 \x01(\tR\x07iconUrl\x12\x1b\n\tauth_type\x18\x04 \x01(\tR\x08authType\x12 \n\x0bdescription\x18\x05 \x01(\tR\x0bdescription\x12\x19\n\x08docs_url\x18\x06 \x01(\tR\x07docsUrl\x12#\n\rdefault_hosts\x18\x07 \x03(\tR\x0cdefaultHosts\x12\x1f\n\x0btoken_label\x18\x08 \x01(\tR\ntokenLabel\x12\x1f\n\x0bauth_header\x18\t \x01(\tR\nauthHeader\x12\x1f\n\x0bauth_prefix\x18\n \x01(\tR\nauthPrefix\x12\'\n\x0foauth_supported\x18\x0b \x01(\x08R\x0eoauthSupported\x12)\n\x10oauth_configured\x18\x0c \x01(\x08R\x0foauthConfigured\x121\n\x14member_authenticated\x18\r \x01(\x08R\x13memberAuthenticated\x127\n\x18member_auth_display_name\x18\x0e \x01(\tR\x15memberAuthDisplayName\x12K\n\x0eenv_var_fields\x18\x0f \x03(\x0b2%.textql.rpc.public.secret.EnvVarFieldR\x0cenvVarFields\x123\n\x16oauth_has_default_urls\x18\x10 \x01(\x08R\x13oauthHasDefaultUrls\x12$\n\x0eoauth_auth_url\x18\x11 \x01(\tR\x0coauthAuthUrl\x12&\n\x0foauth_token_url\x18\x12 \x01(\tR\roauthTokenUrl\x12!\n\x0coauth_scopes\x18\x13 \x01(\tR\x0boauthScopes\x12$\n\x0eoauth_use_pkce\x18\x14 \x01(\x08R\x0coauthUsePkce\x125\n\x17oauth_token_auth_method\x18\x15 \x01(\tR\x14oauthTokenAuthMethod\x12\x19\n\x08test_url\x18\x16 \x01(\tR\x07testUrl"S\n\x17TestApiAccessKeyRequest\x128\n\x03ref\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessRefR\x03ref"o\n\x18TestApiAccessKeyResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x1f\n\x0bstatus_code\x18\x02 \x01(\x05R\nstatusCode\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message"\x19\n\x17ListApiProvidersRequest"_\n\x18ListApiProvidersResponse\x12C\n\tproviders\x18\x01 \x03(\x0b2%.textql.rpc.public.secret.ApiProviderR\tproviders"\x80\x02\n"MigrateSecretToApiConnectorRequest\x12\x1f\n\x0bsecret_name\x18\x01 \x01(\tR\nsecretName\x12)\n\x11api_access_key_id\x18\x02 \x01(\tR\x0eapiAccessKeyId\x12\x1f\n\x0bheader_name\x18\x03 \x01(\tR\nheaderName\x12\x14\n\x05hosts\x18\x04 \x03(\tR\x05hosts\x12 \n\x0bdescription\x18\x05 \x01(\tR\x0bdescription\x12!\n\x0cvalue_prefix\x18\x06 \x01(\tR\x0bvaluePrefix\x12\x12\n\x04name\x18\x07 \x01(\tR\x04name"s\n#MigrateSecretToApiConnectorResponse\x12L\n\x0eapi_access_key\x18\x01 \x01(\x0b2&.textql.rpc.public.secret.ApiAccessKeyR\x0capiAccessKey*e\n\x0fBodyContentType\x12\x1a\n\x16BODY_CONTENT_TYPE_NONE\x10\x00\x12\x1a\n\x16BODY_CONTENT_TYPE_JSON\x10\x01\x12\x1a\n\x16BODY_CONTENT_TYPE_FORM\x10\x022\x91\x0f\n\rSecretService\x12o\n\x0bListSecrets\x12,.textql.rpc.public.secret.ListSecretsRequest\x1a-.textql.rpc.public.secret.ListSecretsResponse"\x03\x90\x02\x01\x12\x8d\x01\n\x15GetMembersWithSecrets\x126.textql.rpc.public.secret.GetMembersWithSecretsRequest\x1a7.textql.rpc.public.secret.GetMembersWithSecretsResponse"\x03\x90\x02\x01\x12d\n\tPutSecret\x12*.textql.rpc.public.secret.PutSecretRequest\x1a+.textql.rpc.public.secret.PutSecretResponse\x12m\n\x0cUpdateSecret\x12-.textql.rpc.public.secret.UpdateSecretRequest\x1a..textql.rpc.public.secret.UpdateSecretResponse\x12m\n\x0cDeleteSecret\x12-.textql.rpc.public.secret.DeleteSecretRequest\x1a..textql.rpc.public.secret.DeleteSecretResponse\x12\x8e\x01\n\x11CreateApiRevision\x122.textql.rpc.public.secret.CreateApiRevisionRequest\x1a3.textql.rpc.public.secret.CreateApiRevisionResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x91\x01\n\x12UpsertApiAccessKey\x123.textql.rpc.public.secret.UpsertApiAccessKeyRequest\x1a4.textql.rpc.public.secret.UpsertApiAccessKeyResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x8e\x01\n\x11DeleteApiRevision\x122.textql.rpc.public.secret.DeleteApiRevisionRequest\x1a3.textql.rpc.public.secret.DeleteApiRevisionResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x91\x01\n\x11ListApiAccessKeys\x122.textql.rpc.public.secret.ListApiAccessKeysRequest\x1a3.textql.rpc.public.secret.ListApiAccessKeysResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x8b\x01\n\x0fGetApiAccessKey\x120.textql.rpc.public.secret.GetApiAccessKeyRequest\x1a1.textql.rpc.public.secret.GetApiAccessKeyResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x91\x01\n\x12DeleteApiAccessKey\x123.textql.rpc.public.secret.DeleteApiAccessKeyRequest\x1a4.textql.rpc.public.secret.DeleteApiAccessKeyResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x8e\x01\n\x10ListApiProviders\x121.textql.rpc.public.secret.ListApiProvidersRequest\x1a2.textql.rpc.public.secret.ListApiProvidersResponse"\x13\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\x8e\x01\n\x10TestApiAccessKey\x121.textql.rpc.public.secret.TestApiAccessKeyRequest\x1a2.textql.rpc.public.secret.TestApiAccessKeyResponse"\x13\x90\x02\x02\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL\x12\xac\x01\n\x1bMigrateSecretToApiConnector\x12<.textql.rpc.public.secret.MigrateSecretToApiConnectorRequest\x1a=.textql.rpc.public.secret.MigrateSecretToApiConnectorResponse"\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.secret_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_APIACCESSKEY_HEADERSENTRY']._loaded_options = None + _globals['_APIACCESSKEY_HEADERSENTRY']._serialized_options = b'8\x01' + _globals['_APIACCESSKEY_QUERYPARAMSENTRY']._loaded_options = None + _globals['_APIACCESSKEY_QUERYPARAMSENTRY']._serialized_options = b'8\x01' + _globals['_APIACCESSKEY_BODYENTRY']._loaded_options = None + _globals['_APIACCESSKEY_BODYENTRY']._serialized_options = b'8\x01' + _globals['_UPSERTAPIACCESSKEYREQUEST_HEADERSENTRY']._loaded_options = None + _globals['_UPSERTAPIACCESSKEYREQUEST_HEADERSENTRY']._serialized_options = b'8\x01' + _globals['_UPSERTAPIACCESSKEYREQUEST_QUERYPARAMSENTRY']._loaded_options = None + _globals['_UPSERTAPIACCESSKEYREQUEST_QUERYPARAMSENTRY']._serialized_options = b'8\x01' + _globals['_UPSERTAPIACCESSKEYREQUEST_BODYENTRY']._loaded_options = None + _globals['_UPSERTAPIACCESSKEYREQUEST_BODYENTRY']._serialized_options = b'8\x01' + _globals['_SECRETSERVICE'].methods_by_name['ListSecrets']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['ListSecrets']._serialized_options = b'\x90\x02\x01' + _globals['_SECRETSERVICE'].methods_by_name['GetMembersWithSecrets']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['GetMembersWithSecrets']._serialized_options = b'\x90\x02\x01' + _globals['_SECRETSERVICE'].methods_by_name['CreateApiRevision']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['CreateApiRevision']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SECRETSERVICE'].methods_by_name['UpsertApiAccessKey']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['UpsertApiAccessKey']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SECRETSERVICE'].methods_by_name['DeleteApiRevision']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['DeleteApiRevision']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SECRETSERVICE'].methods_by_name['ListApiAccessKeys']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['ListApiAccessKeys']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SECRETSERVICE'].methods_by_name['GetApiAccessKey']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['GetApiAccessKey']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SECRETSERVICE'].methods_by_name['DeleteApiAccessKey']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['DeleteApiAccessKey']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SECRETSERVICE'].methods_by_name['ListApiProviders']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['ListApiProviders']._serialized_options = b'\x90\x02\x01\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SECRETSERVICE'].methods_by_name['TestApiAccessKey']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['TestApiAccessKey']._serialized_options = b'\x90\x02\x02\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_SECRETSERVICE'].methods_by_name['MigrateSecretToApiConnector']._loaded_options = None + _globals['_SECRETSERVICE'].methods_by_name['MigrateSecretToApiConnector']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_BODYCONTENTTYPE']._serialized_start = 6368 + _globals['_BODYCONTENTTYPE']._serialized_end = 6469 + _globals['_SECRET']._serialized_start = 135 + _globals['_SECRET']._serialized_end = 500 + _globals['_LISTSECRETSREQUEST']._serialized_start = 502 + _globals['_LISTSECRETSREQUEST']._serialized_end = 522 + _globals['_LISTSECRETSRESPONSE']._serialized_start = 524 + _globals['_LISTSECRETSRESPONSE']._serialized_end = 605 + _globals['_PUTSECRETREQUEST']._serialized_start = 608 + _globals['_PUTSECRETREQUEST']._serialized_end = 788 + _globals['_PUTSECRETRESPONSE']._serialized_start = 790 + _globals['_PUTSECRETRESPONSE']._serialized_end = 809 + _globals['_UPDATESECRETREQUEST']._serialized_start = 812 + _globals['_UPDATESECRETREQUEST']._serialized_end = 979 + _globals['_UPDATESECRETRESPONSE']._serialized_start = 981 + _globals['_UPDATESECRETRESPONSE']._serialized_end = 1003 + _globals['_DELETESECRETREQUEST']._serialized_start = 1005 + _globals['_DELETESECRETREQUEST']._serialized_end = 1046 + _globals['_DELETESECRETRESPONSE']._serialized_start = 1048 + _globals['_DELETESECRETRESPONSE']._serialized_end = 1070 + _globals['_GETMEMBERSWITHSECRETSREQUEST']._serialized_start = 1072 + _globals['_GETMEMBERSWITHSECRETSREQUEST']._serialized_end = 1102 + _globals['_GETMEMBERSWITHSECRETSRESPONSE']._serialized_start = 1104 + _globals['_GETMEMBERSWITHSECRETSRESPONSE']._serialized_end = 1197 + _globals['_HTTPBASICAUTH']._serialized_start = 1199 + _globals['_HTTPBASICAUTH']._serialized_end = 1270 + _globals['_APIACCESSREF']._serialized_start = 1272 + _globals['_APIACCESSREF']._serialized_end = 1357 + _globals['_APIACCESSKEY']._serialized_start = 1360 + _globals['_APIACCESSKEY']._serialized_end = 2671 + _globals['_APIACCESSKEY_HEADERSENTRY']._serialized_start = 2441 + _globals['_APIACCESSKEY_HEADERSENTRY']._serialized_end = 2499 + _globals['_APIACCESSKEY_QUERYPARAMSENTRY']._serialized_start = 2501 + _globals['_APIACCESSKEY_QUERYPARAMSENTRY']._serialized_end = 2563 + _globals['_APIACCESSKEY_BODYENTRY']._serialized_start = 2565 + _globals['_APIACCESSKEY_BODYENTRY']._serialized_end = 2620 + _globals['_CREATEAPIREVISIONREQUEST']._serialized_start = 2673 + _globals['_CREATEAPIREVISIONREQUEST']._serialized_end = 2769 + _globals['_CREATEAPIREVISIONRESPONSE']._serialized_start = 2772 + _globals['_CREATEAPIREVISIONRESPONSE']._serialized_end = 2959 + _globals['_UPSERTAPIACCESSKEYREQUEST']._serialized_start = 2962 + _globals['_UPSERTAPIACCESSKEYREQUEST']._serialized_end = 4040 + _globals['_UPSERTAPIACCESSKEYREQUEST_HEADERSENTRY']._serialized_start = 2441 + _globals['_UPSERTAPIACCESSKEYREQUEST_HEADERSENTRY']._serialized_end = 2499 + _globals['_UPSERTAPIACCESSKEYREQUEST_QUERYPARAMSENTRY']._serialized_start = 2501 + _globals['_UPSERTAPIACCESSKEYREQUEST_QUERYPARAMSENTRY']._serialized_end = 2563 + _globals['_UPSERTAPIACCESSKEYREQUEST_BODYENTRY']._serialized_start = 2565 + _globals['_UPSERTAPIACCESSKEYREQUEST_BODYENTRY']._serialized_end = 2620 + _globals['_UPSERTAPIACCESSKEYRESPONSE']._serialized_start = 4042 + _globals['_UPSERTAPIACCESSKEYRESPONSE']._serialized_end = 4148 + _globals['_DELETEAPIREVISIONREQUEST']._serialized_start = 4150 + _globals['_DELETEAPIREVISIONREQUEST']._serialized_end = 4234 + _globals['_DELETEAPIREVISIONRESPONSE']._serialized_start = 4236 + _globals['_DELETEAPIREVISIONRESPONSE']._serialized_end = 4263 + _globals['_LISTAPIACCESSKEYSREQUEST']._serialized_start = 4265 + _globals['_LISTAPIACCESSKEYSREQUEST']._serialized_end = 4291 + _globals['_LISTAPIACCESSKEYSRESPONSE']._serialized_start = 4293 + _globals['_LISTAPIACCESSKEYSRESPONSE']._serialized_end = 4400 + _globals['_GETAPIACCESSKEYREQUEST']._serialized_start = 4402 + _globals['_GETAPIACCESSKEYREQUEST']._serialized_end = 4442 + _globals['_GETAPIACCESSKEYRESPONSE']._serialized_start = 4444 + _globals['_GETAPIACCESSKEYRESPONSE']._serialized_end = 4547 + _globals['_DELETEAPIACCESSKEYREQUEST']._serialized_start = 4549 + _globals['_DELETEAPIACCESSKEYREQUEST']._serialized_end = 4592 + _globals['_DELETEAPIACCESSKEYRESPONSE']._serialized_start = 4594 + _globals['_DELETEAPIACCESSKEYRESPONSE']._serialized_end = 4622 + _globals['_ENVVARFIELD']._serialized_start = 4625 + _globals['_ENVVARFIELD']._serialized_end = 4808 + _globals['_APIPROVIDER']._serialized_start = 4811 + _globals['_APIPROVIDER']._serialized_end = 5668 + _globals['_TESTAPIACCESSKEYREQUEST']._serialized_start = 5670 + _globals['_TESTAPIACCESSKEYREQUEST']._serialized_end = 5753 + _globals['_TESTAPIACCESSKEYRESPONSE']._serialized_start = 5755 + _globals['_TESTAPIACCESSKEYRESPONSE']._serialized_end = 5866 + _globals['_LISTAPIPROVIDERSREQUEST']._serialized_start = 5868 + _globals['_LISTAPIPROVIDERSREQUEST']._serialized_end = 5893 + _globals['_LISTAPIPROVIDERSRESPONSE']._serialized_start = 5895 + _globals['_LISTAPIPROVIDERSRESPONSE']._serialized_end = 5990 + _globals['_MIGRATESECRETTOAPICONNECTORREQUEST']._serialized_start = 5993 + _globals['_MIGRATESECRETTOAPICONNECTORREQUEST']._serialized_end = 6249 + _globals['_MIGRATESECRETTOAPICONNECTORRESPONSE']._serialized_start = 6251 + _globals['_MIGRATESECRETTOAPICONNECTORRESPONSE']._serialized_end = 6366 + _globals['_SECRETSERVICE']._serialized_start = 6472 + _globals['_SECRETSERVICE']._serialized_end = 8409 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/secret_pb2.pyi b/src/textql_sdk/_connect/public/secret_pb2.pyi new file mode 100644 index 0000000..c2b47fa --- /dev/null +++ b/src/textql_sdk/_connect/public/secret_pb2.pyi @@ -0,0 +1,512 @@ +import datetime +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import identity_pb2 as _identity_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class BodyContentType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + BODY_CONTENT_TYPE_NONE: _ClassVar[BodyContentType] + BODY_CONTENT_TYPE_JSON: _ClassVar[BodyContentType] + BODY_CONTENT_TYPE_FORM: _ClassVar[BodyContentType] +BODY_CONTENT_TYPE_NONE: BodyContentType +BODY_CONTENT_TYPE_JSON: BodyContentType +BODY_CONTENT_TYPE_FORM: BodyContentType + +class Secret(_message.Message): + __slots__ = ('id', 'name', 'created_at', 'updated_at', 'description', 'link', 'created_by', 'access_type', 'is_public') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + LINK_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + description: str + link: str + created_by: str + access_type: str + is_public: bool + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., description: _Optional[str]=..., link: _Optional[str]=..., created_by: _Optional[str]=..., access_type: _Optional[str]=..., is_public: bool=...) -> None: + ... + +class ListSecretsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListSecretsResponse(_message.Message): + __slots__ = ('secrets',) + SECRETS_FIELD_NUMBER: _ClassVar[int] + secrets: _containers.RepeatedCompositeFieldContainer[Secret] + + def __init__(self, secrets: _Optional[_Iterable[_Union[Secret, _Mapping]]]=...) -> None: + ... + +class PutSecretRequest(_message.Message): + __slots__ = ('name', 'value', 'description', 'link', 'is_private') + NAME_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + LINK_FIELD_NUMBER: _ClassVar[int] + IS_PRIVATE_FIELD_NUMBER: _ClassVar[int] + name: str + value: str + description: str + link: str + is_private: bool + + def __init__(self, name: _Optional[str]=..., value: _Optional[str]=..., description: _Optional[str]=..., link: _Optional[str]=..., is_private: bool=...) -> None: + ... + +class PutSecretResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class UpdateSecretRequest(_message.Message): + __slots__ = ('name', 'value', 'description', 'link') + NAME_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + LINK_FIELD_NUMBER: _ClassVar[int] + name: str + value: str + description: str + link: str + + def __init__(self, name: _Optional[str]=..., value: _Optional[str]=..., description: _Optional[str]=..., link: _Optional[str]=...) -> None: + ... + +class UpdateSecretResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class DeleteSecretRequest(_message.Message): + __slots__ = ('name',) + NAME_FIELD_NUMBER: _ClassVar[int] + name: str + + def __init__(self, name: _Optional[str]=...) -> None: + ... + +class DeleteSecretResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMembersWithSecretsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetMembersWithSecretsResponse(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[_identity_pb2.MemberPreview] + + def __init__(self, members: _Optional[_Iterable[_Union[_identity_pb2.MemberPreview, _Mapping]]]=...) -> None: + ... + +class HttpBasicAuth(_message.Message): + __slots__ = ('username', 'password') + USERNAME_FIELD_NUMBER: _ClassVar[int] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + username: str + password: str + + def __init__(self, username: _Optional[str]=..., password: _Optional[str]=...) -> None: + ... + +class ApiAccessRef(_message.Message): + __slots__ = ('api_access_key_id', 'revision') + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + REVISION_FIELD_NUMBER: _ClassVar[int] + api_access_key_id: str + revision: int + + def __init__(self, api_access_key_id: _Optional[str]=..., revision: _Optional[int]=...) -> None: + ... + +class ApiAccessKey(_message.Message): + __slots__ = ('id', 'org_id', 'member_id', 'hosts', 'headers', 'query_params', 'description', 'created_at', 'updated_at', 'expires_at', 'provider', 'auth_type', 'member_oauth_authenticated', 'member_oauth_display_name', 'http_basic_auth', 'body', 'content_type', 'can_write', 'access_type', 'is_public', 'test_url', 'name', 'auth_prefix') + + class HeadersEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + + class QueryParamsEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + + class BodyEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + HOSTS_FIELD_NUMBER: _ClassVar[int] + HEADERS_FIELD_NUMBER: _ClassVar[int] + QUERY_PARAMS_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + PROVIDER_FIELD_NUMBER: _ClassVar[int] + AUTH_TYPE_FIELD_NUMBER: _ClassVar[int] + MEMBER_OAUTH_AUTHENTICATED_FIELD_NUMBER: _ClassVar[int] + MEMBER_OAUTH_DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + HTTP_BASIC_AUTH_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + CONTENT_TYPE_FIELD_NUMBER: _ClassVar[int] + CAN_WRITE_FIELD_NUMBER: _ClassVar[int] + ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + TEST_URL_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + AUTH_PREFIX_FIELD_NUMBER: _ClassVar[int] + id: str + org_id: str + member_id: str + hosts: _containers.RepeatedScalarFieldContainer[str] + headers: _containers.ScalarMap[str, str] + query_params: _containers.ScalarMap[str, str] + description: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + expires_at: _timestamp_pb2.Timestamp + provider: str + auth_type: str + member_oauth_authenticated: bool + member_oauth_display_name: str + http_basic_auth: HttpBasicAuth + body: _containers.ScalarMap[str, str] + content_type: BodyContentType + can_write: bool + access_type: str + is_public: bool + test_url: str + name: str + auth_prefix: str + + def __init__(self, id: _Optional[str]=..., org_id: _Optional[str]=..., member_id: _Optional[str]=..., hosts: _Optional[_Iterable[str]]=..., headers: _Optional[_Mapping[str, str]]=..., query_params: _Optional[_Mapping[str, str]]=..., description: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., provider: _Optional[str]=..., auth_type: _Optional[str]=..., member_oauth_authenticated: bool=..., member_oauth_display_name: _Optional[str]=..., http_basic_auth: _Optional[_Union[HttpBasicAuth, _Mapping]]=..., body: _Optional[_Mapping[str, str]]=..., content_type: _Optional[_Union[BodyContentType, str]]=..., can_write: bool=..., access_type: _Optional[str]=..., is_public: bool=..., test_url: _Optional[str]=..., name: _Optional[str]=..., auth_prefix: _Optional[str]=...) -> None: + ... + +class CreateApiRevisionRequest(_message.Message): + __slots__ = ('api_access_key_id',) + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + api_access_key_id: str + + def __init__(self, api_access_key_id: _Optional[str]=...) -> None: + ... + +class CreateApiRevisionResponse(_message.Message): + __slots__ = ('ref', 'api_access_key') + REF_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + ref: ApiAccessRef + api_access_key: ApiAccessKey + + def __init__(self, ref: _Optional[_Union[ApiAccessRef, _Mapping]]=..., api_access_key: _Optional[_Union[ApiAccessKey, _Mapping]]=...) -> None: + ... + +class UpsertApiAccessKeyRequest(_message.Message): + __slots__ = ('ref', 'persist_to_db', 'hosts', 'headers', 'query_params', 'description', 'expires_at', 'provider', 'auth_value', 'auth_value_extra', 'auth_type', 'http_basic_auth', 'body', 'content_type', 'test_url', 'name') + + class HeadersEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + + class QueryParamsEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + + class BodyEntry(_message.Message): + __slots__ = ('key', 'value') + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + + def __init__(self, key: _Optional[str]=..., value: _Optional[str]=...) -> None: + ... + REF_FIELD_NUMBER: _ClassVar[int] + PERSIST_TO_DB_FIELD_NUMBER: _ClassVar[int] + HOSTS_FIELD_NUMBER: _ClassVar[int] + HEADERS_FIELD_NUMBER: _ClassVar[int] + QUERY_PARAMS_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + PROVIDER_FIELD_NUMBER: _ClassVar[int] + AUTH_VALUE_FIELD_NUMBER: _ClassVar[int] + AUTH_VALUE_EXTRA_FIELD_NUMBER: _ClassVar[int] + AUTH_TYPE_FIELD_NUMBER: _ClassVar[int] + HTTP_BASIC_AUTH_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + CONTENT_TYPE_FIELD_NUMBER: _ClassVar[int] + TEST_URL_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + ref: ApiAccessRef + persist_to_db: bool + hosts: _containers.RepeatedScalarFieldContainer[str] + headers: _containers.ScalarMap[str, str] + query_params: _containers.ScalarMap[str, str] + description: str + expires_at: _timestamp_pb2.Timestamp + provider: str + auth_value: str + auth_value_extra: str + auth_type: str + http_basic_auth: HttpBasicAuth + body: _containers.ScalarMap[str, str] + content_type: BodyContentType + test_url: str + name: str + + def __init__(self, ref: _Optional[_Union[ApiAccessRef, _Mapping]]=..., persist_to_db: bool=..., hosts: _Optional[_Iterable[str]]=..., headers: _Optional[_Mapping[str, str]]=..., query_params: _Optional[_Mapping[str, str]]=..., description: _Optional[str]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., provider: _Optional[str]=..., auth_value: _Optional[str]=..., auth_value_extra: _Optional[str]=..., auth_type: _Optional[str]=..., http_basic_auth: _Optional[_Union[HttpBasicAuth, _Mapping]]=..., body: _Optional[_Mapping[str, str]]=..., content_type: _Optional[_Union[BodyContentType, str]]=..., test_url: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class UpsertApiAccessKeyResponse(_message.Message): + __slots__ = ('api_access_key',) + API_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + api_access_key: ApiAccessKey + + def __init__(self, api_access_key: _Optional[_Union[ApiAccessKey, _Mapping]]=...) -> None: + ... + +class DeleteApiRevisionRequest(_message.Message): + __slots__ = ('ref',) + REF_FIELD_NUMBER: _ClassVar[int] + ref: ApiAccessRef + + def __init__(self, ref: _Optional[_Union[ApiAccessRef, _Mapping]]=...) -> None: + ... + +class DeleteApiRevisionResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListApiAccessKeysRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListApiAccessKeysResponse(_message.Message): + __slots__ = ('api_access_keys',) + API_ACCESS_KEYS_FIELD_NUMBER: _ClassVar[int] + api_access_keys: _containers.RepeatedCompositeFieldContainer[ApiAccessKey] + + def __init__(self, api_access_keys: _Optional[_Iterable[_Union[ApiAccessKey, _Mapping]]]=...) -> None: + ... + +class GetApiAccessKeyRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class GetApiAccessKeyResponse(_message.Message): + __slots__ = ('api_access_key',) + API_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + api_access_key: ApiAccessKey + + def __init__(self, api_access_key: _Optional[_Union[ApiAccessKey, _Mapping]]=...) -> None: + ... + +class DeleteApiAccessKeyRequest(_message.Message): + __slots__ = ('id',) + ID_FIELD_NUMBER: _ClassVar[int] + id: str + + def __init__(self, id: _Optional[str]=...) -> None: + ... + +class DeleteApiAccessKeyResponse(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class EnvVarField(_message.Message): + __slots__ = ('env_var', 'label', 'required', 'secret', 'default_value', 'placeholder') + ENV_VAR_FIELD_NUMBER: _ClassVar[int] + LABEL_FIELD_NUMBER: _ClassVar[int] + REQUIRED_FIELD_NUMBER: _ClassVar[int] + SECRET_FIELD_NUMBER: _ClassVar[int] + DEFAULT_VALUE_FIELD_NUMBER: _ClassVar[int] + PLACEHOLDER_FIELD_NUMBER: _ClassVar[int] + env_var: str + label: str + required: bool + secret: bool + default_value: str + placeholder: str + + def __init__(self, env_var: _Optional[str]=..., label: _Optional[str]=..., required: bool=..., secret: bool=..., default_value: _Optional[str]=..., placeholder: _Optional[str]=...) -> None: + ... + +class ApiProvider(_message.Message): + __slots__ = ('id', 'name', 'icon_url', 'auth_type', 'description', 'docs_url', 'default_hosts', 'token_label', 'auth_header', 'auth_prefix', 'oauth_supported', 'oauth_configured', 'member_authenticated', 'member_auth_display_name', 'env_var_fields', 'oauth_has_default_urls', 'oauth_auth_url', 'oauth_token_url', 'oauth_scopes', 'oauth_use_pkce', 'oauth_token_auth_method', 'test_url') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + ICON_URL_FIELD_NUMBER: _ClassVar[int] + AUTH_TYPE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + DOCS_URL_FIELD_NUMBER: _ClassVar[int] + DEFAULT_HOSTS_FIELD_NUMBER: _ClassVar[int] + TOKEN_LABEL_FIELD_NUMBER: _ClassVar[int] + AUTH_HEADER_FIELD_NUMBER: _ClassVar[int] + AUTH_PREFIX_FIELD_NUMBER: _ClassVar[int] + OAUTH_SUPPORTED_FIELD_NUMBER: _ClassVar[int] + OAUTH_CONFIGURED_FIELD_NUMBER: _ClassVar[int] + MEMBER_AUTHENTICATED_FIELD_NUMBER: _ClassVar[int] + MEMBER_AUTH_DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ENV_VAR_FIELDS_FIELD_NUMBER: _ClassVar[int] + OAUTH_HAS_DEFAULT_URLS_FIELD_NUMBER: _ClassVar[int] + OAUTH_AUTH_URL_FIELD_NUMBER: _ClassVar[int] + OAUTH_TOKEN_URL_FIELD_NUMBER: _ClassVar[int] + OAUTH_SCOPES_FIELD_NUMBER: _ClassVar[int] + OAUTH_USE_PKCE_FIELD_NUMBER: _ClassVar[int] + OAUTH_TOKEN_AUTH_METHOD_FIELD_NUMBER: _ClassVar[int] + TEST_URL_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + icon_url: str + auth_type: str + description: str + docs_url: str + default_hosts: _containers.RepeatedScalarFieldContainer[str] + token_label: str + auth_header: str + auth_prefix: str + oauth_supported: bool + oauth_configured: bool + member_authenticated: bool + member_auth_display_name: str + env_var_fields: _containers.RepeatedCompositeFieldContainer[EnvVarField] + oauth_has_default_urls: bool + oauth_auth_url: str + oauth_token_url: str + oauth_scopes: str + oauth_use_pkce: bool + oauth_token_auth_method: str + test_url: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., icon_url: _Optional[str]=..., auth_type: _Optional[str]=..., description: _Optional[str]=..., docs_url: _Optional[str]=..., default_hosts: _Optional[_Iterable[str]]=..., token_label: _Optional[str]=..., auth_header: _Optional[str]=..., auth_prefix: _Optional[str]=..., oauth_supported: bool=..., oauth_configured: bool=..., member_authenticated: bool=..., member_auth_display_name: _Optional[str]=..., env_var_fields: _Optional[_Iterable[_Union[EnvVarField, _Mapping]]]=..., oauth_has_default_urls: bool=..., oauth_auth_url: _Optional[str]=..., oauth_token_url: _Optional[str]=..., oauth_scopes: _Optional[str]=..., oauth_use_pkce: bool=..., oauth_token_auth_method: _Optional[str]=..., test_url: _Optional[str]=...) -> None: + ... + +class TestApiAccessKeyRequest(_message.Message): + __slots__ = ('ref',) + REF_FIELD_NUMBER: _ClassVar[int] + ref: ApiAccessRef + + def __init__(self, ref: _Optional[_Union[ApiAccessRef, _Mapping]]=...) -> None: + ... + +class TestApiAccessKeyResponse(_message.Message): + __slots__ = ('success', 'status_code', 'message') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + STATUS_CODE_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + success: bool + status_code: int + message: str + + def __init__(self, success: bool=..., status_code: _Optional[int]=..., message: _Optional[str]=...) -> None: + ... + +class ListApiProvidersRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListApiProvidersResponse(_message.Message): + __slots__ = ('providers',) + PROVIDERS_FIELD_NUMBER: _ClassVar[int] + providers: _containers.RepeatedCompositeFieldContainer[ApiProvider] + + def __init__(self, providers: _Optional[_Iterable[_Union[ApiProvider, _Mapping]]]=...) -> None: + ... + +class MigrateSecretToApiConnectorRequest(_message.Message): + __slots__ = ('secret_name', 'api_access_key_id', 'header_name', 'hosts', 'description', 'value_prefix', 'name') + SECRET_NAME_FIELD_NUMBER: _ClassVar[int] + API_ACCESS_KEY_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_NAME_FIELD_NUMBER: _ClassVar[int] + HOSTS_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + VALUE_PREFIX_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + secret_name: str + api_access_key_id: str + header_name: str + hosts: _containers.RepeatedScalarFieldContainer[str] + description: str + value_prefix: str + name: str + + def __init__(self, secret_name: _Optional[str]=..., api_access_key_id: _Optional[str]=..., header_name: _Optional[str]=..., hosts: _Optional[_Iterable[str]]=..., description: _Optional[str]=..., value_prefix: _Optional[str]=..., name: _Optional[str]=...) -> None: + ... + +class MigrateSecretToApiConnectorResponse(_message.Message): + __slots__ = ('api_access_key',) + API_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + api_access_key: ApiAccessKey + + def __init__(self, api_access_key: _Optional[_Union[ApiAccessKey, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/settings_connect.py b/src/textql_sdk/_connect/public/settings_connect.py new file mode 100644 index 0000000..041d506 --- /dev/null +++ b/src/textql_sdk/_connect/public/settings_connect.py @@ -0,0 +1,135 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import settings_pb2 as public_dot_settings__pb2 + +class SettingsService(Protocol): + + async def update_organization_settings(self, request: public_dot_settings__pb2.UpdateOrganizationSettingsRequest, ctx: RequestContext) -> public_dot_settings__pb2.UpdateOrganizationSettingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_organization_members(self, request: public_dot_settings__pb2.ListOrganizationMembersRequest, ctx: RequestContext) -> public_dot_settings__pb2.ListOrganizationMembersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def invite_organization_member(self, request: public_dot_settings__pb2.InviteOrganizationMemberRequest, ctx: RequestContext) -> public_dot_settings__pb2.InviteOrganizationMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_organization_member(self, request: public_dot_settings__pb2.DeleteOrganizationMemberRequest, ctx: RequestContext) -> public_dot_settings__pb2.DeleteOrganizationMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_organization(self, request: public_dot_settings__pb2.DeleteOrganizationRequest, ctx: RequestContext) -> public_dot_settings__pb2.DeleteOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_current_member_profile(self, request: public_dot_settings__pb2.UpdateCurrentMemberProfileRequest, ctx: RequestContext) -> public_dot_settings__pb2.UpdateCurrentMemberProfileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def check_member_status(self, request: public_dot_settings__pb2.CheckMemberStatusRequest, ctx: RequestContext) -> public_dot_settings__pb2.CheckMemberStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_model_deprecations(self, request: public_dot_settings__pb2.GetModelDeprecationsRequest, ctx: RequestContext) -> public_dot_settings__pb2.GetModelDeprecationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SettingsServiceASGIApplication(ConnectASGIApplication[SettingsService]): + + def __init__(self, service: SettingsService | AsyncGenerator[SettingsService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.settings.SettingsService/UpdateOrganizationSettings': Endpoint.unary(method=MethodInfo(name='UpdateOrganizationSettings', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.UpdateOrganizationSettingsRequest, output=public_dot_settings__pb2.UpdateOrganizationSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_organization_settings), '/textql.rpc.public.settings.SettingsService/ListOrganizationMembers': Endpoint.unary(method=MethodInfo(name='ListOrganizationMembers', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.ListOrganizationMembersRequest, output=public_dot_settings__pb2.ListOrganizationMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_organization_members), '/textql.rpc.public.settings.SettingsService/InviteOrganizationMember': Endpoint.unary(method=MethodInfo(name='InviteOrganizationMember', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.InviteOrganizationMemberRequest, output=public_dot_settings__pb2.InviteOrganizationMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.invite_organization_member), '/textql.rpc.public.settings.SettingsService/DeleteOrganizationMember': Endpoint.unary(method=MethodInfo(name='DeleteOrganizationMember', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.DeleteOrganizationMemberRequest, output=public_dot_settings__pb2.DeleteOrganizationMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_organization_member), '/textql.rpc.public.settings.SettingsService/DeleteOrganization': Endpoint.unary(method=MethodInfo(name='DeleteOrganization', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.DeleteOrganizationRequest, output=public_dot_settings__pb2.DeleteOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_organization), '/textql.rpc.public.settings.SettingsService/UpdateCurrentMemberProfile': Endpoint.unary(method=MethodInfo(name='UpdateCurrentMemberProfile', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.UpdateCurrentMemberProfileRequest, output=public_dot_settings__pb2.UpdateCurrentMemberProfileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_current_member_profile), '/textql.rpc.public.settings.SettingsService/CheckMemberStatus': Endpoint.unary(method=MethodInfo(name='CheckMemberStatus', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.CheckMemberStatusRequest, output=public_dot_settings__pb2.CheckMemberStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.check_member_status), '/textql.rpc.public.settings.SettingsService/GetModelDeprecations': Endpoint.unary(method=MethodInfo(name='GetModelDeprecations', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.GetModelDeprecationsRequest, output=public_dot_settings__pb2.GetModelDeprecationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_model_deprecations)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.settings.SettingsService' + +class SettingsServiceClient(ConnectClient): + + async def update_organization_settings(self, request: public_dot_settings__pb2.UpdateOrganizationSettingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.UpdateOrganizationSettingsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateOrganizationSettings', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.UpdateOrganizationSettingsRequest, output=public_dot_settings__pb2.UpdateOrganizationSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_organization_members(self, request: public_dot_settings__pb2.ListOrganizationMembersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.ListOrganizationMembersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListOrganizationMembers', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.ListOrganizationMembersRequest, output=public_dot_settings__pb2.ListOrganizationMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def invite_organization_member(self, request: public_dot_settings__pb2.InviteOrganizationMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.InviteOrganizationMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='InviteOrganizationMember', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.InviteOrganizationMemberRequest, output=public_dot_settings__pb2.InviteOrganizationMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_organization_member(self, request: public_dot_settings__pb2.DeleteOrganizationMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.DeleteOrganizationMemberResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOrganizationMember', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.DeleteOrganizationMemberRequest, output=public_dot_settings__pb2.DeleteOrganizationMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_organization(self, request: public_dot_settings__pb2.DeleteOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.DeleteOrganizationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteOrganization', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.DeleteOrganizationRequest, output=public_dot_settings__pb2.DeleteOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def update_current_member_profile(self, request: public_dot_settings__pb2.UpdateCurrentMemberProfileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.UpdateCurrentMemberProfileResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdateCurrentMemberProfile', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.UpdateCurrentMemberProfileRequest, output=public_dot_settings__pb2.UpdateCurrentMemberProfileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def check_member_status(self, request: public_dot_settings__pb2.CheckMemberStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.CheckMemberStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CheckMemberStatus', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.CheckMemberStatusRequest, output=public_dot_settings__pb2.CheckMemberStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_model_deprecations(self, request: public_dot_settings__pb2.GetModelDeprecationsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.GetModelDeprecationsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetModelDeprecations', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.GetModelDeprecationsRequest, output=public_dot_settings__pb2.GetModelDeprecationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SettingsServiceSync(Protocol): + + def update_organization_settings(self, request: public_dot_settings__pb2.UpdateOrganizationSettingsRequest, ctx: RequestContext) -> public_dot_settings__pb2.UpdateOrganizationSettingsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_organization_members(self, request: public_dot_settings__pb2.ListOrganizationMembersRequest, ctx: RequestContext) -> public_dot_settings__pb2.ListOrganizationMembersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def invite_organization_member(self, request: public_dot_settings__pb2.InviteOrganizationMemberRequest, ctx: RequestContext) -> public_dot_settings__pb2.InviteOrganizationMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_organization_member(self, request: public_dot_settings__pb2.DeleteOrganizationMemberRequest, ctx: RequestContext) -> public_dot_settings__pb2.DeleteOrganizationMemberResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_organization(self, request: public_dot_settings__pb2.DeleteOrganizationRequest, ctx: RequestContext) -> public_dot_settings__pb2.DeleteOrganizationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_current_member_profile(self, request: public_dot_settings__pb2.UpdateCurrentMemberProfileRequest, ctx: RequestContext) -> public_dot_settings__pb2.UpdateCurrentMemberProfileResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def check_member_status(self, request: public_dot_settings__pb2.CheckMemberStatusRequest, ctx: RequestContext) -> public_dot_settings__pb2.CheckMemberStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_model_deprecations(self, request: public_dot_settings__pb2.GetModelDeprecationsRequest, ctx: RequestContext) -> public_dot_settings__pb2.GetModelDeprecationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SettingsServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SettingsServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.settings.SettingsService/UpdateOrganizationSettings': EndpointSync.unary(method=MethodInfo(name='UpdateOrganizationSettings', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.UpdateOrganizationSettingsRequest, output=public_dot_settings__pb2.UpdateOrganizationSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_organization_settings), '/textql.rpc.public.settings.SettingsService/ListOrganizationMembers': EndpointSync.unary(method=MethodInfo(name='ListOrganizationMembers', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.ListOrganizationMembersRequest, output=public_dot_settings__pb2.ListOrganizationMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_organization_members), '/textql.rpc.public.settings.SettingsService/InviteOrganizationMember': EndpointSync.unary(method=MethodInfo(name='InviteOrganizationMember', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.InviteOrganizationMemberRequest, output=public_dot_settings__pb2.InviteOrganizationMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.invite_organization_member), '/textql.rpc.public.settings.SettingsService/DeleteOrganizationMember': EndpointSync.unary(method=MethodInfo(name='DeleteOrganizationMember', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.DeleteOrganizationMemberRequest, output=public_dot_settings__pb2.DeleteOrganizationMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_organization_member), '/textql.rpc.public.settings.SettingsService/DeleteOrganization': EndpointSync.unary(method=MethodInfo(name='DeleteOrganization', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.DeleteOrganizationRequest, output=public_dot_settings__pb2.DeleteOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_organization), '/textql.rpc.public.settings.SettingsService/UpdateCurrentMemberProfile': EndpointSync.unary(method=MethodInfo(name='UpdateCurrentMemberProfile', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.UpdateCurrentMemberProfileRequest, output=public_dot_settings__pb2.UpdateCurrentMemberProfileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_current_member_profile), '/textql.rpc.public.settings.SettingsService/CheckMemberStatus': EndpointSync.unary(method=MethodInfo(name='CheckMemberStatus', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.CheckMemberStatusRequest, output=public_dot_settings__pb2.CheckMemberStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.check_member_status), '/textql.rpc.public.settings.SettingsService/GetModelDeprecations': EndpointSync.unary(method=MethodInfo(name='GetModelDeprecations', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.GetModelDeprecationsRequest, output=public_dot_settings__pb2.GetModelDeprecationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_model_deprecations)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.settings.SettingsService' + +class SettingsServiceClientSync(ConnectClientSync): + + def update_organization_settings(self, request: public_dot_settings__pb2.UpdateOrganizationSettingsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.UpdateOrganizationSettingsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateOrganizationSettings', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.UpdateOrganizationSettingsRequest, output=public_dot_settings__pb2.UpdateOrganizationSettingsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_organization_members(self, request: public_dot_settings__pb2.ListOrganizationMembersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.ListOrganizationMembersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListOrganizationMembers', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.ListOrganizationMembersRequest, output=public_dot_settings__pb2.ListOrganizationMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def invite_organization_member(self, request: public_dot_settings__pb2.InviteOrganizationMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.InviteOrganizationMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='InviteOrganizationMember', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.InviteOrganizationMemberRequest, output=public_dot_settings__pb2.InviteOrganizationMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_organization_member(self, request: public_dot_settings__pb2.DeleteOrganizationMemberRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.DeleteOrganizationMemberResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOrganizationMember', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.DeleteOrganizationMemberRequest, output=public_dot_settings__pb2.DeleteOrganizationMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_organization(self, request: public_dot_settings__pb2.DeleteOrganizationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.DeleteOrganizationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteOrganization', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.DeleteOrganizationRequest, output=public_dot_settings__pb2.DeleteOrganizationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def update_current_member_profile(self, request: public_dot_settings__pb2.UpdateCurrentMemberProfileRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.UpdateCurrentMemberProfileResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdateCurrentMemberProfile', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.UpdateCurrentMemberProfileRequest, output=public_dot_settings__pb2.UpdateCurrentMemberProfileResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def check_member_status(self, request: public_dot_settings__pb2.CheckMemberStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.CheckMemberStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CheckMemberStatus', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.CheckMemberStatusRequest, output=public_dot_settings__pb2.CheckMemberStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_model_deprecations(self, request: public_dot_settings__pb2.GetModelDeprecationsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_settings__pb2.GetModelDeprecationsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetModelDeprecations', service_name='textql.rpc.public.settings.SettingsService', input=public_dot_settings__pb2.GetModelDeprecationsRequest, output=public_dot_settings__pb2.GetModelDeprecationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/settings_pb2.py b/src/textql_sdk/_connect/public/settings_pb2.py new file mode 100644 index 0000000..6342b95 --- /dev/null +++ b/src/textql_sdk/_connect/public/settings_pb2.py @@ -0,0 +1,61 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/settings.proto') +_sym_db = _symbol_database.Default() +from .. import auth_pb2 as auth__pb2 +from ..google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 +from .. import paradigm_params_pb2 as paradigm__params__pb2 +from ..public import chat_pb2 as public_dot_chat__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15public/settings.proto\x12\x1atextql.rpc.public.settings\x1a\nauth.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x15paradigm_params.proto\x1a\x11public/chat.proto\x1a\x14public/options.proto"\xdd*\n!UpdateOrganizationSettingsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x120\n\x11organization_name\x18\x02 \x01(\tH\x00R\x10organizationName\x88\x01\x01\x12E\n\x10require_attached\x18\x03 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0frequireAttached\x12j\n$inject_whole_ontology_disable_search\x18\x04 \x01(\x0b2\x1a.google.protobuf.BoolValueR injectWholeOntologyDisableSearch\x12C\n\x0fsecrets_enabled\x18\x05 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0esecretsEnabled\x12N\n\x15email_polling_enabled\x18\x06 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x13emailPollingEnabled\x12A\n\x0edisable_emojis\x18\x07 \x01(\x0b2\x1a.google.protobuf.BoolValueR\rdisableEmojis\x126\n\x07warning\x18\x08 \x01(\x0b2\x1c.google.protobuf.StringValueR\x07warning\x12B\n\x0fchat_v5_cutover\x18\t \x01(\x0b2\x1a.google.protobuf.BoolValueR\rchatV5Cutover\x12A\n\x0epublic_preview\x18\n \x01(\x0b2\x1a.google.protobuf.BoolValueR\rpublicPreview\x12A\n\x0econsole_access\x18\x0c \x01(\x0b2\x1a.google.protobuf.BoolValueR\rconsoleAccess\x12;\n\nbrand_name\x18\r \x01(\x0b2\x1c.google.protobuf.StringValueR\tbrandName\x12G\n\x11default_llm_model\x18\x0e \x01(\x0b2\x1b.google.protobuf.Int32ValueR\x0fdefaultLlmModel\x12K\n\x12preferred_provider\x18\x0f \x01(\x0b2\x1c.google.protobuf.StringValueR\x11preferredProvider\x12R\n\x17hide_example_connectors\x18\x10 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x15hideExampleConnectors\x12X\n\x0fparadigm_params\x18\x11 \x01(\x0b2*.textql.rpc.paradigm_params.ParadigmParamsH\x01R\x0eparadigmParams\x88\x01\x01\x12a\n\x15default_paradigm_mode\x18\x12 \x01(\x0e2(.textql.rpc.paradigm_params.ParadigmTypeH\x02R\x13defaultParadigmMode\x88\x01\x01\x122\n\x15default_connector_ids\x18\x13 \x03(\x05R\x13defaultConnectorIds\x129\n\x19add_allowed_email_domains\x18\x14 \x03(\tR\x16addAllowedEmailDomains\x12?\n\x1cremove_allowed_email_domains\x18\x15 \x03(\tR\x19removeAllowedEmailDomains\x12?\n\rtraining_mode\x18\x16 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0ctrainingMode\x12I\n\x12dashboards_enabled\x18\x17 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x11dashboardsEnabled\x12F\n\x10billing_admin_id\x18\x18 \x01(\x0b2\x1c.google.protobuf.StringValueR\x0ebillingAdminId\x12K\n\x13methodology_enabled\x18\x19 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x12methodologyEnabled\x12K\n\x14allow_all_api_access\x18\x1a \x01(\x0b2\x1a.google.protobuf.BoolValueR\x11allowAllApiAccess\x12=\n\x0cfeed_enabled\x18\x1b \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0bfeedEnabled\x12H\n\x12context_v3_enabled\x18\x1c \x01(\x0b2\x1a.google.protobuf.BoolValueR\x10contextV3Enabled\x12=\n\x0cbash_enabled\x18\x1d \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0bbashEnabled\x12R\n\x17default_routing_enabled\x18\x1e \x01(\x0b2\x1a.google.protobuf.BoolValueR\x15defaultRoutingEnabled\x12*\n\x11enabled_model_ids\x18\x1f \x03(\x05R\x0fenabledModelIds\x120\n\x14restricted_model_ids\x18 \x03(\x05R\x12restrictedModelIds\x12/\n\x13restricted_families\x18! \x03(\tR\x12restrictedFamilies\x125\n\x17clear_enabled_model_ids\x18" \x01(\x08R\x14clearEnabledModelIds\x12;\n\x1aclear_restricted_model_ids\x18# \x01(\x08R\x17clearRestrictedModelIds\x12:\n\x19clear_restricted_families\x18$ \x01(\x08R\x17clearRestrictedFamilies\x12>\n\x0cdiscoverable\x18% \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0cdiscoverable\x12O\n\x15observability_enabled\x18\' \x01(\x0b2\x1a.google.protobuf.BoolValueR\x14observabilityEnabled\x12O\n\x15notifications_enabled\x18( \x01(\x0b2\x1a.google.protobuf.BoolValueR\x14notificationsEnabled\x12W\n\x1aclient_db_override_enabled\x18* \x01(\x0b2\x1a.google.protobuf.BoolValueR\x17clientDbOverrideEnabled\x12R\n\x17context_review_required\x18+ \x01(\x0b2\x1a.google.protobuf.BoolValueR\x15contextReviewRequired\x12T\n\x18google_connector_enabled\x18, \x01(\x0b2\x1a.google.protobuf.BoolValueR\x16googleConnectorEnabled\x12$\n\x0eclear_logo_url\x18- \x01(\x08R\x0cclearLogoUrl\x12J\n\x13hide_api_connectors\x18. \x01(\x0b2\x1a.google.protobuf.BoolValueR\x11hideApiConnectors\x12F\n\x11fast_mode_enabled\x18/ \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0ffastModeEnabled\x12L\n\x14max_thinking_enabled\x18L \x01(\x0b2\x1a.google.protobuf.BoolValueR\x12maxThinkingEnabled\x12=\n\x1bclear_default_connector_ids\x180 \x01(\x08R\x18clearDefaultConnectorIds\x12\\\n\x1csandbox_state_retention_days\x181 \x01(\x0b2\x1b.google.protobuf.Int32ValueR\x19sandboxStateRetentionDays\x12N\n\x10asset_url_expiry\x18D \x01(\x0e2\x1f.textql.rpc.auth.AssetUrlExpiryH\x03R\x0eassetUrlExpiry\x88\x01\x01\x12L\n\x14email_output_enabled\x182 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x12emailOutputEnabled\x12T\n\x18default_playbook_private\x183 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x16defaultPlaybookPrivate\x12T\n\x18default_dashboard_output\x185 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x16defaultDashboardOutput\x12Y\n\x13default_methodology\x18C \x01(\x0e2#.textql.rpc.public.chat.MethodologyH\x04R\x12defaultMethodology\x88\x01\x01\x12c\n scim_new_group_default_role_type\x186 \x01(\x0b2\x1c.google.protobuf.StringValueR\x1bscimNewGroupDefaultRoleType\x12P\n\x16groups_feature_enabled\x187 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x14groupsFeatureEnabled\x12X\n\x11show_textql_usage\x188 \x01(\x0b2\x1a.google.protobuf.BoolValueB\x10\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNALR\x0fshowTextqlUsage\x12A\n\x0etraces_enabled\x189 \x01(\x0b2\x1a.google.protobuf.BoolValueR\rtracesEnabled\x12S\n\x18allow_llm_data_retention\x18: \x01(\x0b2\x1a.google.protobuf.BoolValueR\x15allowLlmDataRetention\x12`\n\x1fsox_db_session_metadata_enabled\x18; \x01(\x0b2\x1a.google.protobuf.BoolValueR\x1bsoxDbSessionMetadataEnabled\x12;\n\x0bsms_enabled\x18= \x01(\x0b2\x1a.google.protobuf.BoolValueR\nsmsEnabled\x12S\n\x18scim_assign_default_role\x18> \x01(\x0b2\x1a.google.protobuf.BoolValueR\x15scimAssignDefaultRole\x12X\n\x1amigration_banner_dismissed\x18? \x01(\x0b2\x1a.google.protobuf.BoolValueR\x18migrationBannerDismissed\x12Z\n\x19config_migrations_enabled\x18@ \x01(\x0b2\x1a.google.protobuf.BoolValueB\x02\x18\x01R\x17configMigrationsEnabled\x12^\n\x1dsandbox_observability_enabled\x18A \x01(\x0b2\x1a.google.protobuf.BoolValueR\x1bsandboxObservabilityEnabled\x12F\n\x11data_apps_enabled\x18B \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0fdataAppsEnabled\x12A\n\x0eissues_enabled\x18E \x01(\x0b2\x1a.google.protobuf.BoolValueR\rissuesEnabled\x12P\n\x16config_objects_enabled\x18F \x01(\x0b2\x1a.google.protobuf.BoolValueR\x14configObjectsEnabled\x12c\n config_objects_playbooks_enabled\x18G \x01(\x0b2\x1a.google.protobuf.BoolValueR\x1dconfigObjectsPlaybooksEnabled\x12e\n!config_objects_dashboards_enabled\x18H \x01(\x0b2\x1a.google.protobuf.BoolValueR\x1econfigObjectsDashboardsEnabled\x12P\n\x16config_autofix_enabled\x18I \x01(\x0b2\x1a.google.protobuf.BoolValueR\x14configAutofixEnabled\x12X\n\x1aspend_transparency_enabled\x18J \x01(\x0b2\x1a.google.protobuf.BoolValueR\x18spendTransparencyEnabled\x12E\n\x10sharing_disabled\x18K \x01(\x0b2\x1a.google.protobuf.BoolValueR\x0fsharingDisabledB\x14\n\x12_organization_nameB\x12\n\x10_paradigm_paramsB\x18\n\x16_default_paradigm_modeB\x13\n\x11_asset_url_expiryB\x16\n\x14_default_methodologyJ\x04\x08\x0b\x10\x0cJ\x04\x08&\x10\'J\x04\x084\x105J\x04\x08<\x10="g\n"UpdateOrganizationSettingsResponse\x12A\n\x0corganization\x18\x01 \x01(\x0b2\x1d.textql.rpc.auth.OrganizationR\x0corganization"7\n\x1eListOrganizationMembersRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x1fListOrganizationMembersResponse\x121\n\x07members\x18\x01 \x03(\x0b2\x17.textql.rpc.auth.MemberR\x07members"p\n\x1fInviteOrganizationMemberRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12\x17\n\x04role\x18\x03 \x01(\tH\x00R\x04role\x88\x01\x01B\x07\n\x05_role"<\n InviteOrganizationMemberResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"v\n\x1fDeleteOrganizationMemberRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId\x12\x1f\n\x0bhard_delete\x18\x03 \x01(\x08R\nhardDelete"<\n DeleteOrganizationMemberResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"2\n\x19DeleteOrganizationRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"6\n\x1aDeleteOrganizationResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xb2\x02\n!UpdateCurrentMemberProfileRequest\x12N\n\x14preferred_first_name\x18\x01 \x01(\x0b2\x1c.google.protobuf.StringValueR\x12preferredFirstName\x12L\n\x13preferred_last_name\x18\x02 \x01(\x0b2\x1c.google.protobuf.StringValueR\x11preferredLastName\x127\n\tshow_code\x18\x03 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x08showCode\x126\n\x08steering\x18\x04 \x01(\x0b2\x1a.google.protobuf.BoolValueR\x08steering"U\n"UpdateCurrentMemberProfileResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member"?\n\x18CheckMemberStatusRequest\x12#\n\rforce_refresh\x18\x01 \x01(\x08R\x0cforceRefresh"\xdd\x03\n\x19CheckMemberStatusResponse\x12!\n\x0cis_suspended\x18\x01 \x01(\x08R\x0bisSuspended\x12%\n\x0econsole_access\x18\x03 \x01(\x08R\rconsoleAccess\x12.\n\x13is_suspended_manual\x18\x04 \x01(\x08R\x11isSuspendedManual\x120\n\x14is_suspended_overage\x18\x05 \x01(\x08R\x12isSuspendedOverage\x12,\n\x12is_suspended_usage\x18\x06 \x01(\x08R\x10isSuspendedUsage\x129\n\x19is_suspended_member_usage\x18\x07 \x01(\x08R\x16isSuspendedMemberUsage\x12-\n\x12suspension_message\x18\x08 \x01(\tR\x11suspensionMessage\x124\n\x16suspended_cost_centers\x18\t \x03(\tR\x14suspendedCostCenters\x123\n\x16is_suspended_org_limit\x18\n \x01(\x08R\x13isSuspendedOrgLimitJ\x04\x08\x02\x10\x03R\x0bacu_balance"\xfb\x01\n\x14ModelDeprecationInfo\x12)\n\x10deprecated_model\x18\x01 \x01(\x05R\x0fdeprecatedModel\x12\'\n\x0fsuccessor_model\x18\x02 \x01(\x05R\x0esuccessorModel\x122\n\x15deprecated_model_name\x18\x03 \x01(\tR\x13deprecatedModelName\x120\n\x14successor_model_name\x18\x04 \x01(\tR\x12successorModelName\x12)\n\x10deprecation_date\x18\x05 \x01(\tR\x0fdeprecationDate"\x1d\n\x1bGetModelDeprecationsRequest"t\n\x1cGetModelDeprecationsResponse\x12T\n\x0cdeprecations\x18\x01 \x03(\x0b20.textql.rpc.public.settings.ModelDeprecationInfoR\x0cdeprecations2\xa7\t\n\x0fSettingsService\x12\x9b\x01\n\x1aUpdateOrganizationSettings\x12=.textql.rpc.public.settings.UpdateOrganizationSettingsRequest\x1a>.textql.rpc.public.settings.UpdateOrganizationSettingsResponse\x12\x92\x01\n\x17ListOrganizationMembers\x12:.textql.rpc.public.settings.ListOrganizationMembersRequest\x1a;.textql.rpc.public.settings.ListOrganizationMembersResponse\x12\x95\x01\n\x18InviteOrganizationMember\x12;.textql.rpc.public.settings.InviteOrganizationMemberRequest\x1a<.textql.rpc.public.settings.InviteOrganizationMemberResponse\x12\x95\x01\n\x18DeleteOrganizationMember\x12;.textql.rpc.public.settings.DeleteOrganizationMemberRequest\x1a<.textql.rpc.public.settings.DeleteOrganizationMemberResponse\x12\x83\x01\n\x12DeleteOrganization\x125.textql.rpc.public.settings.DeleteOrganizationRequest\x1a6.textql.rpc.public.settings.DeleteOrganizationResponse\x12\x9b\x01\n\x1aUpdateCurrentMemberProfile\x12=.textql.rpc.public.settings.UpdateCurrentMemberProfileRequest\x1a>.textql.rpc.public.settings.UpdateCurrentMemberProfileResponse\x12\x80\x01\n\x11CheckMemberStatus\x124.textql.rpc.public.settings.CheckMemberStatusRequest\x1a5.textql.rpc.public.settings.CheckMemberStatusResponse\x12\x89\x01\n\x14GetModelDeprecations\x127.textql.rpc.public.settings.GetModelDeprecationsRequest\x1a8.textql.rpc.public.settings.GetModelDeprecationsResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.settings_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_UPDATEORGANIZATIONSETTINGSREQUEST'].fields_by_name['show_textql_usage']._loaded_options = None + _globals['_UPDATEORGANIZATIONSETTINGSREQUEST'].fields_by_name['show_textql_usage']._serialized_options = b'\xfa\xd2\xe4\x93\x02\n\x12\x08INTERNAL' + _globals['_UPDATEORGANIZATIONSETTINGSREQUEST'].fields_by_name['config_migrations_enabled']._loaded_options = None + _globals['_UPDATEORGANIZATIONSETTINGSREQUEST'].fields_by_name['config_migrations_enabled']._serialized_options = b'\x18\x01' + _globals['_UPDATEORGANIZATIONSETTINGSREQUEST']._serialized_start = 191 + _globals['_UPDATEORGANIZATIONSETTINGSREQUEST']._serialized_end = 5660 + _globals['_UPDATEORGANIZATIONSETTINGSRESPONSE']._serialized_start = 5662 + _globals['_UPDATEORGANIZATIONSETTINGSRESPONSE']._serialized_end = 5765 + _globals['_LISTORGANIZATIONMEMBERSREQUEST']._serialized_start = 5767 + _globals['_LISTORGANIZATIONMEMBERSREQUEST']._serialized_end = 5822 + _globals['_LISTORGANIZATIONMEMBERSRESPONSE']._serialized_start = 5824 + _globals['_LISTORGANIZATIONMEMBERSRESPONSE']._serialized_end = 5908 + _globals['_INVITEORGANIZATIONMEMBERREQUEST']._serialized_start = 5910 + _globals['_INVITEORGANIZATIONMEMBERREQUEST']._serialized_end = 6022 + _globals['_INVITEORGANIZATIONMEMBERRESPONSE']._serialized_start = 6024 + _globals['_INVITEORGANIZATIONMEMBERRESPONSE']._serialized_end = 6084 + _globals['_DELETEORGANIZATIONMEMBERREQUEST']._serialized_start = 6086 + _globals['_DELETEORGANIZATIONMEMBERREQUEST']._serialized_end = 6204 + _globals['_DELETEORGANIZATIONMEMBERRESPONSE']._serialized_start = 6206 + _globals['_DELETEORGANIZATIONMEMBERRESPONSE']._serialized_end = 6266 + _globals['_DELETEORGANIZATIONREQUEST']._serialized_start = 6268 + _globals['_DELETEORGANIZATIONREQUEST']._serialized_end = 6318 + _globals['_DELETEORGANIZATIONRESPONSE']._serialized_start = 6320 + _globals['_DELETEORGANIZATIONRESPONSE']._serialized_end = 6374 + _globals['_UPDATECURRENTMEMBERPROFILEREQUEST']._serialized_start = 6377 + _globals['_UPDATECURRENTMEMBERPROFILEREQUEST']._serialized_end = 6683 + _globals['_UPDATECURRENTMEMBERPROFILERESPONSE']._serialized_start = 6685 + _globals['_UPDATECURRENTMEMBERPROFILERESPONSE']._serialized_end = 6770 + _globals['_CHECKMEMBERSTATUSREQUEST']._serialized_start = 6772 + _globals['_CHECKMEMBERSTATUSREQUEST']._serialized_end = 6835 + _globals['_CHECKMEMBERSTATUSRESPONSE']._serialized_start = 6838 + _globals['_CHECKMEMBERSTATUSRESPONSE']._serialized_end = 7315 + _globals['_MODELDEPRECATIONINFO']._serialized_start = 7318 + _globals['_MODELDEPRECATIONINFO']._serialized_end = 7569 + _globals['_GETMODELDEPRECATIONSREQUEST']._serialized_start = 7571 + _globals['_GETMODELDEPRECATIONSREQUEST']._serialized_end = 7600 + _globals['_GETMODELDEPRECATIONSRESPONSE']._serialized_start = 7602 + _globals['_GETMODELDEPRECATIONSRESPONSE']._serialized_end = 7718 + _globals['_SETTINGSSERVICE']._serialized_start = 7721 + _globals['_SETTINGSSERVICE']._serialized_end = 8912 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/settings_pb2.pyi b/src/textql_sdk/_connect/public/settings_pb2.pyi new file mode 100644 index 0000000..b8a8165 --- /dev/null +++ b/src/textql_sdk/_connect/public/settings_pb2.pyi @@ -0,0 +1,324 @@ +import auth_pb2 as _auth_pb2 +from google.api import visibility_pb2 as _visibility_pb2 +from google.protobuf import wrappers_pb2 as _wrappers_pb2 +import paradigm_params_pb2 as _paradigm_params_pb2 +from public import chat_pb2 as _chat_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class UpdateOrganizationSettingsRequest(_message.Message): + __slots__ = ('org_id', 'organization_name', 'require_attached', 'inject_whole_ontology_disable_search', 'secrets_enabled', 'email_polling_enabled', 'disable_emojis', 'warning', 'chat_v5_cutover', 'public_preview', 'console_access', 'brand_name', 'default_llm_model', 'preferred_provider', 'hide_example_connectors', 'paradigm_params', 'default_paradigm_mode', 'default_connector_ids', 'add_allowed_email_domains', 'remove_allowed_email_domains', 'training_mode', 'dashboards_enabled', 'billing_admin_id', 'methodology_enabled', 'allow_all_api_access', 'feed_enabled', 'context_v3_enabled', 'bash_enabled', 'default_routing_enabled', 'enabled_model_ids', 'restricted_model_ids', 'restricted_families', 'clear_enabled_model_ids', 'clear_restricted_model_ids', 'clear_restricted_families', 'discoverable', 'observability_enabled', 'notifications_enabled', 'client_db_override_enabled', 'context_review_required', 'google_connector_enabled', 'clear_logo_url', 'hide_api_connectors', 'fast_mode_enabled', 'max_thinking_enabled', 'clear_default_connector_ids', 'sandbox_state_retention_days', 'asset_url_expiry', 'email_output_enabled', 'default_playbook_private', 'default_dashboard_output', 'default_methodology', 'scim_new_group_default_role_type', 'groups_feature_enabled', 'show_textql_usage', 'traces_enabled', 'allow_llm_data_retention', 'sox_db_session_metadata_enabled', 'sms_enabled', 'scim_assign_default_role', 'migration_banner_dismissed', 'config_migrations_enabled', 'sandbox_observability_enabled', 'data_apps_enabled', 'issues_enabled', 'config_objects_enabled', 'config_objects_playbooks_enabled', 'config_objects_dashboards_enabled', 'config_autofix_enabled', 'spend_transparency_enabled', 'sharing_disabled') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + ORGANIZATION_NAME_FIELD_NUMBER: _ClassVar[int] + REQUIRE_ATTACHED_FIELD_NUMBER: _ClassVar[int] + INJECT_WHOLE_ONTOLOGY_DISABLE_SEARCH_FIELD_NUMBER: _ClassVar[int] + SECRETS_ENABLED_FIELD_NUMBER: _ClassVar[int] + EMAIL_POLLING_ENABLED_FIELD_NUMBER: _ClassVar[int] + DISABLE_EMOJIS_FIELD_NUMBER: _ClassVar[int] + WARNING_FIELD_NUMBER: _ClassVar[int] + CHAT_V5_CUTOVER_FIELD_NUMBER: _ClassVar[int] + PUBLIC_PREVIEW_FIELD_NUMBER: _ClassVar[int] + CONSOLE_ACCESS_FIELD_NUMBER: _ClassVar[int] + BRAND_NAME_FIELD_NUMBER: _ClassVar[int] + DEFAULT_LLM_MODEL_FIELD_NUMBER: _ClassVar[int] + PREFERRED_PROVIDER_FIELD_NUMBER: _ClassVar[int] + HIDE_EXAMPLE_CONNECTORS_FIELD_NUMBER: _ClassVar[int] + PARADIGM_PARAMS_FIELD_NUMBER: _ClassVar[int] + DEFAULT_PARADIGM_MODE_FIELD_NUMBER: _ClassVar[int] + DEFAULT_CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + ADD_ALLOWED_EMAIL_DOMAINS_FIELD_NUMBER: _ClassVar[int] + REMOVE_ALLOWED_EMAIL_DOMAINS_FIELD_NUMBER: _ClassVar[int] + TRAINING_MODE_FIELD_NUMBER: _ClassVar[int] + DASHBOARDS_ENABLED_FIELD_NUMBER: _ClassVar[int] + BILLING_ADMIN_ID_FIELD_NUMBER: _ClassVar[int] + METHODOLOGY_ENABLED_FIELD_NUMBER: _ClassVar[int] + ALLOW_ALL_API_ACCESS_FIELD_NUMBER: _ClassVar[int] + FEED_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONTEXT_V3_ENABLED_FIELD_NUMBER: _ClassVar[int] + BASH_ENABLED_FIELD_NUMBER: _ClassVar[int] + DEFAULT_ROUTING_ENABLED_FIELD_NUMBER: _ClassVar[int] + ENABLED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + RESTRICTED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + RESTRICTED_FAMILIES_FIELD_NUMBER: _ClassVar[int] + CLEAR_ENABLED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + CLEAR_RESTRICTED_MODEL_IDS_FIELD_NUMBER: _ClassVar[int] + CLEAR_RESTRICTED_FAMILIES_FIELD_NUMBER: _ClassVar[int] + DISCOVERABLE_FIELD_NUMBER: _ClassVar[int] + OBSERVABILITY_ENABLED_FIELD_NUMBER: _ClassVar[int] + NOTIFICATIONS_ENABLED_FIELD_NUMBER: _ClassVar[int] + CLIENT_DB_OVERRIDE_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONTEXT_REVIEW_REQUIRED_FIELD_NUMBER: _ClassVar[int] + GOOGLE_CONNECTOR_ENABLED_FIELD_NUMBER: _ClassVar[int] + CLEAR_LOGO_URL_FIELD_NUMBER: _ClassVar[int] + HIDE_API_CONNECTORS_FIELD_NUMBER: _ClassVar[int] + FAST_MODE_ENABLED_FIELD_NUMBER: _ClassVar[int] + MAX_THINKING_ENABLED_FIELD_NUMBER: _ClassVar[int] + CLEAR_DEFAULT_CONNECTOR_IDS_FIELD_NUMBER: _ClassVar[int] + SANDBOX_STATE_RETENTION_DAYS_FIELD_NUMBER: _ClassVar[int] + ASSET_URL_EXPIRY_FIELD_NUMBER: _ClassVar[int] + EMAIL_OUTPUT_ENABLED_FIELD_NUMBER: _ClassVar[int] + DEFAULT_PLAYBOOK_PRIVATE_FIELD_NUMBER: _ClassVar[int] + DEFAULT_DASHBOARD_OUTPUT_FIELD_NUMBER: _ClassVar[int] + DEFAULT_METHODOLOGY_FIELD_NUMBER: _ClassVar[int] + SCIM_NEW_GROUP_DEFAULT_ROLE_TYPE_FIELD_NUMBER: _ClassVar[int] + GROUPS_FEATURE_ENABLED_FIELD_NUMBER: _ClassVar[int] + SHOW_TEXTQL_USAGE_FIELD_NUMBER: _ClassVar[int] + TRACES_ENABLED_FIELD_NUMBER: _ClassVar[int] + ALLOW_LLM_DATA_RETENTION_FIELD_NUMBER: _ClassVar[int] + SOX_DB_SESSION_METADATA_ENABLED_FIELD_NUMBER: _ClassVar[int] + SMS_ENABLED_FIELD_NUMBER: _ClassVar[int] + SCIM_ASSIGN_DEFAULT_ROLE_FIELD_NUMBER: _ClassVar[int] + MIGRATION_BANNER_DISMISSED_FIELD_NUMBER: _ClassVar[int] + CONFIG_MIGRATIONS_ENABLED_FIELD_NUMBER: _ClassVar[int] + SANDBOX_OBSERVABILITY_ENABLED_FIELD_NUMBER: _ClassVar[int] + DATA_APPS_ENABLED_FIELD_NUMBER: _ClassVar[int] + ISSUES_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIG_OBJECTS_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIG_OBJECTS_PLAYBOOKS_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIG_OBJECTS_DASHBOARDS_ENABLED_FIELD_NUMBER: _ClassVar[int] + CONFIG_AUTOFIX_ENABLED_FIELD_NUMBER: _ClassVar[int] + SPEND_TRANSPARENCY_ENABLED_FIELD_NUMBER: _ClassVar[int] + SHARING_DISABLED_FIELD_NUMBER: _ClassVar[int] + org_id: str + organization_name: str + require_attached: _wrappers_pb2.BoolValue + inject_whole_ontology_disable_search: _wrappers_pb2.BoolValue + secrets_enabled: _wrappers_pb2.BoolValue + email_polling_enabled: _wrappers_pb2.BoolValue + disable_emojis: _wrappers_pb2.BoolValue + warning: _wrappers_pb2.StringValue + chat_v5_cutover: _wrappers_pb2.BoolValue + public_preview: _wrappers_pb2.BoolValue + console_access: _wrappers_pb2.BoolValue + brand_name: _wrappers_pb2.StringValue + default_llm_model: _wrappers_pb2.Int32Value + preferred_provider: _wrappers_pb2.StringValue + hide_example_connectors: _wrappers_pb2.BoolValue + paradigm_params: _paradigm_params_pb2.ParadigmParams + default_paradigm_mode: _paradigm_params_pb2.ParadigmType + default_connector_ids: _containers.RepeatedScalarFieldContainer[int] + add_allowed_email_domains: _containers.RepeatedScalarFieldContainer[str] + remove_allowed_email_domains: _containers.RepeatedScalarFieldContainer[str] + training_mode: _wrappers_pb2.BoolValue + dashboards_enabled: _wrappers_pb2.BoolValue + billing_admin_id: _wrappers_pb2.StringValue + methodology_enabled: _wrappers_pb2.BoolValue + allow_all_api_access: _wrappers_pb2.BoolValue + feed_enabled: _wrappers_pb2.BoolValue + context_v3_enabled: _wrappers_pb2.BoolValue + bash_enabled: _wrappers_pb2.BoolValue + default_routing_enabled: _wrappers_pb2.BoolValue + enabled_model_ids: _containers.RepeatedScalarFieldContainer[int] + restricted_model_ids: _containers.RepeatedScalarFieldContainer[int] + restricted_families: _containers.RepeatedScalarFieldContainer[str] + clear_enabled_model_ids: bool + clear_restricted_model_ids: bool + clear_restricted_families: bool + discoverable: _wrappers_pb2.BoolValue + observability_enabled: _wrappers_pb2.BoolValue + notifications_enabled: _wrappers_pb2.BoolValue + client_db_override_enabled: _wrappers_pb2.BoolValue + context_review_required: _wrappers_pb2.BoolValue + google_connector_enabled: _wrappers_pb2.BoolValue + clear_logo_url: bool + hide_api_connectors: _wrappers_pb2.BoolValue + fast_mode_enabled: _wrappers_pb2.BoolValue + max_thinking_enabled: _wrappers_pb2.BoolValue + clear_default_connector_ids: bool + sandbox_state_retention_days: _wrappers_pb2.Int32Value + asset_url_expiry: _auth_pb2.AssetUrlExpiry + email_output_enabled: _wrappers_pb2.BoolValue + default_playbook_private: _wrappers_pb2.BoolValue + default_dashboard_output: _wrappers_pb2.BoolValue + default_methodology: _chat_pb2.Methodology + scim_new_group_default_role_type: _wrappers_pb2.StringValue + groups_feature_enabled: _wrappers_pb2.BoolValue + show_textql_usage: _wrappers_pb2.BoolValue + traces_enabled: _wrappers_pb2.BoolValue + allow_llm_data_retention: _wrappers_pb2.BoolValue + sox_db_session_metadata_enabled: _wrappers_pb2.BoolValue + sms_enabled: _wrappers_pb2.BoolValue + scim_assign_default_role: _wrappers_pb2.BoolValue + migration_banner_dismissed: _wrappers_pb2.BoolValue + config_migrations_enabled: _wrappers_pb2.BoolValue + sandbox_observability_enabled: _wrappers_pb2.BoolValue + data_apps_enabled: _wrappers_pb2.BoolValue + issues_enabled: _wrappers_pb2.BoolValue + config_objects_enabled: _wrappers_pb2.BoolValue + config_objects_playbooks_enabled: _wrappers_pb2.BoolValue + config_objects_dashboards_enabled: _wrappers_pb2.BoolValue + config_autofix_enabled: _wrappers_pb2.BoolValue + spend_transparency_enabled: _wrappers_pb2.BoolValue + sharing_disabled: _wrappers_pb2.BoolValue + + def __init__(self, org_id: _Optional[str]=..., organization_name: _Optional[str]=..., require_attached: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., inject_whole_ontology_disable_search: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., secrets_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., email_polling_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., disable_emojis: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., warning: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]]=..., chat_v5_cutover: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., public_preview: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., console_access: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., brand_name: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]]=..., default_llm_model: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]]=..., preferred_provider: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]]=..., hide_example_connectors: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., paradigm_params: _Optional[_Union[_paradigm_params_pb2.ParadigmParams, _Mapping]]=..., default_paradigm_mode: _Optional[_Union[_paradigm_params_pb2.ParadigmType, str]]=..., default_connector_ids: _Optional[_Iterable[int]]=..., add_allowed_email_domains: _Optional[_Iterable[str]]=..., remove_allowed_email_domains: _Optional[_Iterable[str]]=..., training_mode: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., dashboards_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., billing_admin_id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]]=..., methodology_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., allow_all_api_access: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., feed_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., context_v3_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., bash_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., default_routing_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., enabled_model_ids: _Optional[_Iterable[int]]=..., restricted_model_ids: _Optional[_Iterable[int]]=..., restricted_families: _Optional[_Iterable[str]]=..., clear_enabled_model_ids: bool=..., clear_restricted_model_ids: bool=..., clear_restricted_families: bool=..., discoverable: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., observability_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., notifications_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., client_db_override_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., context_review_required: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., google_connector_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., clear_logo_url: bool=..., hide_api_connectors: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., fast_mode_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., max_thinking_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., clear_default_connector_ids: bool=..., sandbox_state_retention_days: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]]=..., asset_url_expiry: _Optional[_Union[_auth_pb2.AssetUrlExpiry, str]]=..., email_output_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., default_playbook_private: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., default_dashboard_output: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., default_methodology: _Optional[_Union[_chat_pb2.Methodology, str]]=..., scim_new_group_default_role_type: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]]=..., groups_feature_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., show_textql_usage: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., traces_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., allow_llm_data_retention: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., sox_db_session_metadata_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., sms_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., scim_assign_default_role: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., migration_banner_dismissed: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., config_migrations_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., sandbox_observability_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., data_apps_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., issues_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., config_objects_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., config_objects_playbooks_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., config_objects_dashboards_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., config_autofix_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., spend_transparency_enabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., sharing_disabled: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=...) -> None: + ... + +class UpdateOrganizationSettingsResponse(_message.Message): + __slots__ = ('organization',) + ORGANIZATION_FIELD_NUMBER: _ClassVar[int] + organization: _auth_pb2.Organization + + def __init__(self, organization: _Optional[_Union[_auth_pb2.Organization, _Mapping]]=...) -> None: + ... + +class ListOrganizationMembersRequest(_message.Message): + __slots__ = ('org_id',) + ORG_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + + def __init__(self, org_id: _Optional[str]=...) -> None: + ... + +class ListOrganizationMembersResponse(_message.Message): + __slots__ = ('members',) + MEMBERS_FIELD_NUMBER: _ClassVar[int] + members: _containers.RepeatedCompositeFieldContainer[_auth_pb2.Member] + + def __init__(self, members: _Optional[_Iterable[_Union[_auth_pb2.Member, _Mapping]]]=...) -> None: + ... + +class InviteOrganizationMemberRequest(_message.Message): + __slots__ = ('org_id', 'email', 'role') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + org_id: str + email: str + role: str + + def __init__(self, org_id: _Optional[str]=..., email: _Optional[str]=..., role: _Optional[str]=...) -> None: + ... + +class InviteOrganizationMemberResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class DeleteOrganizationMemberRequest(_message.Message): + __slots__ = ('org_id', 'member_id', 'hard_delete') + ORG_ID_FIELD_NUMBER: _ClassVar[int] + MEMBER_ID_FIELD_NUMBER: _ClassVar[int] + HARD_DELETE_FIELD_NUMBER: _ClassVar[int] + org_id: str + member_id: str + hard_delete: bool + + def __init__(self, org_id: _Optional[str]=..., member_id: _Optional[str]=..., hard_delete: bool=...) -> None: + ... + +class DeleteOrganizationMemberResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class DeleteOrganizationRequest(_message.Message): + __slots__ = ('org_id',) + ORG_ID_FIELD_NUMBER: _ClassVar[int] + org_id: str + + def __init__(self, org_id: _Optional[str]=...) -> None: + ... + +class DeleteOrganizationResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UpdateCurrentMemberProfileRequest(_message.Message): + __slots__ = ('preferred_first_name', 'preferred_last_name', 'show_code', 'steering') + PREFERRED_FIRST_NAME_FIELD_NUMBER: _ClassVar[int] + PREFERRED_LAST_NAME_FIELD_NUMBER: _ClassVar[int] + SHOW_CODE_FIELD_NUMBER: _ClassVar[int] + STEERING_FIELD_NUMBER: _ClassVar[int] + preferred_first_name: _wrappers_pb2.StringValue + preferred_last_name: _wrappers_pb2.StringValue + show_code: _wrappers_pb2.BoolValue + steering: _wrappers_pb2.BoolValue + + def __init__(self, preferred_first_name: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]]=..., preferred_last_name: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]]=..., show_code: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=..., steering: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]]=...) -> None: + ... + +class UpdateCurrentMemberProfileResponse(_message.Message): + __slots__ = ('member',) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _auth_pb2.Member + + def __init__(self, member: _Optional[_Union[_auth_pb2.Member, _Mapping]]=...) -> None: + ... + +class CheckMemberStatusRequest(_message.Message): + __slots__ = ('force_refresh',) + FORCE_REFRESH_FIELD_NUMBER: _ClassVar[int] + force_refresh: bool + + def __init__(self, force_refresh: bool=...) -> None: + ... + +class CheckMemberStatusResponse(_message.Message): + __slots__ = ('is_suspended', 'console_access', 'is_suspended_manual', 'is_suspended_overage', 'is_suspended_usage', 'is_suspended_member_usage', 'suspension_message', 'suspended_cost_centers', 'is_suspended_org_limit') + IS_SUSPENDED_FIELD_NUMBER: _ClassVar[int] + CONSOLE_ACCESS_FIELD_NUMBER: _ClassVar[int] + IS_SUSPENDED_MANUAL_FIELD_NUMBER: _ClassVar[int] + IS_SUSPENDED_OVERAGE_FIELD_NUMBER: _ClassVar[int] + IS_SUSPENDED_USAGE_FIELD_NUMBER: _ClassVar[int] + IS_SUSPENDED_MEMBER_USAGE_FIELD_NUMBER: _ClassVar[int] + SUSPENSION_MESSAGE_FIELD_NUMBER: _ClassVar[int] + SUSPENDED_COST_CENTERS_FIELD_NUMBER: _ClassVar[int] + IS_SUSPENDED_ORG_LIMIT_FIELD_NUMBER: _ClassVar[int] + is_suspended: bool + console_access: bool + is_suspended_manual: bool + is_suspended_overage: bool + is_suspended_usage: bool + is_suspended_member_usage: bool + suspension_message: str + suspended_cost_centers: _containers.RepeatedScalarFieldContainer[str] + is_suspended_org_limit: bool + + def __init__(self, is_suspended: bool=..., console_access: bool=..., is_suspended_manual: bool=..., is_suspended_overage: bool=..., is_suspended_usage: bool=..., is_suspended_member_usage: bool=..., suspension_message: _Optional[str]=..., suspended_cost_centers: _Optional[_Iterable[str]]=..., is_suspended_org_limit: bool=...) -> None: + ... + +class ModelDeprecationInfo(_message.Message): + __slots__ = ('deprecated_model', 'successor_model', 'deprecated_model_name', 'successor_model_name', 'deprecation_date') + DEPRECATED_MODEL_FIELD_NUMBER: _ClassVar[int] + SUCCESSOR_MODEL_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_MODEL_NAME_FIELD_NUMBER: _ClassVar[int] + SUCCESSOR_MODEL_NAME_FIELD_NUMBER: _ClassVar[int] + DEPRECATION_DATE_FIELD_NUMBER: _ClassVar[int] + deprecated_model: int + successor_model: int + deprecated_model_name: str + successor_model_name: str + deprecation_date: str + + def __init__(self, deprecated_model: _Optional[int]=..., successor_model: _Optional[int]=..., deprecated_model_name: _Optional[str]=..., successor_model_name: _Optional[str]=..., deprecation_date: _Optional[str]=...) -> None: + ... + +class GetModelDeprecationsRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class GetModelDeprecationsResponse(_message.Message): + __slots__ = ('deprecations',) + DEPRECATIONS_FIELD_NUMBER: _ClassVar[int] + deprecations: _containers.RepeatedCompositeFieldContainer[ModelDeprecationInfo] + + def __init__(self, deprecations: _Optional[_Iterable[_Union[ModelDeprecationInfo, _Mapping]]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sharing_connect.py b/src/textql_sdk/_connect/public/sharing_connect.py new file mode 100644 index 0000000..9f04dfe --- /dev/null +++ b/src/textql_sdk/_connect/public/sharing_connect.py @@ -0,0 +1,115 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import sharing_pb2 as public_dot_sharing__pb2 + +class SharingService(Protocol): + + async def create_share(self, request: public_dot_sharing__pb2.CreateShareRequest, ctx: RequestContext) -> public_dot_sharing__pb2.CreateShareResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_share(self, request: public_dot_sharing__pb2.GetShareRequest, ctx: RequestContext) -> public_dot_sharing__pb2.GetShareResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def resolve_share_for_caller(self, request: public_dot_sharing__pb2.ResolveShareForCallerRequest, ctx: RequestContext) -> public_dot_sharing__pb2.ResolveShareForCallerResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SharingServiceASGIApplication(ConnectASGIApplication[SharingService]): + + def __init__(self, service: SharingService | AsyncGenerator[SharingService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.sharing.SharingService/CreateShare': Endpoint.unary(method=MethodInfo(name='CreateShare', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.CreateShareRequest, output=public_dot_sharing__pb2.CreateShareResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_share), '/textql.rpc.public.sharing.SharingService/GetShare': Endpoint.unary(method=MethodInfo(name='GetShare', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.GetShareRequest, output=public_dot_sharing__pb2.GetShareResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_share), '/textql.rpc.public.sharing.SharingService/ResolveShareForCaller': Endpoint.unary(method=MethodInfo(name='ResolveShareForCaller', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.ResolveShareForCallerRequest, output=public_dot_sharing__pb2.ResolveShareForCallerResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.resolve_share_for_caller)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sharing.SharingService' + +class SharingServiceClient(ConnectClient): + + async def create_share(self, request: public_dot_sharing__pb2.CreateShareRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sharing__pb2.CreateShareResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateShare', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.CreateShareRequest, output=public_dot_sharing__pb2.CreateShareResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_share(self, request: public_dot_sharing__pb2.GetShareRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sharing__pb2.GetShareResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetShare', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.GetShareRequest, output=public_dot_sharing__pb2.GetShareResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def resolve_share_for_caller(self, request: public_dot_sharing__pb2.ResolveShareForCallerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sharing__pb2.ResolveShareForCallerResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ResolveShareForCaller', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.ResolveShareForCallerRequest, output=public_dot_sharing__pb2.ResolveShareForCallerResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class SharingPreviewService(Protocol): + + async def get_share_preview(self, request: public_dot_sharing__pb2.GetSharePreviewRequest, ctx: RequestContext) -> public_dot_sharing__pb2.GetSharePreviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SharingPreviewServiceASGIApplication(ConnectASGIApplication[SharingPreviewService]): + + def __init__(self, service: SharingPreviewService | AsyncGenerator[SharingPreviewService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.sharing.SharingPreviewService/GetSharePreview': Endpoint.unary(method=MethodInfo(name='GetSharePreview', service_name='textql.rpc.public.sharing.SharingPreviewService', input=public_dot_sharing__pb2.GetSharePreviewRequest, output=public_dot_sharing__pb2.GetSharePreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_share_preview)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sharing.SharingPreviewService' + +class SharingPreviewServiceClient(ConnectClient): + + async def get_share_preview(self, request: public_dot_sharing__pb2.GetSharePreviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sharing__pb2.GetSharePreviewResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetSharePreview', service_name='textql.rpc.public.sharing.SharingPreviewService', input=public_dot_sharing__pb2.GetSharePreviewRequest, output=public_dot_sharing__pb2.GetSharePreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class SharingServiceSync(Protocol): + + def create_share(self, request: public_dot_sharing__pb2.CreateShareRequest, ctx: RequestContext) -> public_dot_sharing__pb2.CreateShareResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_share(self, request: public_dot_sharing__pb2.GetShareRequest, ctx: RequestContext) -> public_dot_sharing__pb2.GetShareResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def resolve_share_for_caller(self, request: public_dot_sharing__pb2.ResolveShareForCallerRequest, ctx: RequestContext) -> public_dot_sharing__pb2.ResolveShareForCallerResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SharingServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SharingServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.sharing.SharingService/CreateShare': EndpointSync.unary(method=MethodInfo(name='CreateShare', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.CreateShareRequest, output=public_dot_sharing__pb2.CreateShareResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_share), '/textql.rpc.public.sharing.SharingService/GetShare': EndpointSync.unary(method=MethodInfo(name='GetShare', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.GetShareRequest, output=public_dot_sharing__pb2.GetShareResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_share), '/textql.rpc.public.sharing.SharingService/ResolveShareForCaller': EndpointSync.unary(method=MethodInfo(name='ResolveShareForCaller', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.ResolveShareForCallerRequest, output=public_dot_sharing__pb2.ResolveShareForCallerResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.resolve_share_for_caller)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sharing.SharingService' + +class SharingServiceClientSync(ConnectClientSync): + + def create_share(self, request: public_dot_sharing__pb2.CreateShareRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sharing__pb2.CreateShareResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateShare', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.CreateShareRequest, output=public_dot_sharing__pb2.CreateShareResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_share(self, request: public_dot_sharing__pb2.GetShareRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sharing__pb2.GetShareResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetShare', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.GetShareRequest, output=public_dot_sharing__pb2.GetShareResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def resolve_share_for_caller(self, request: public_dot_sharing__pb2.ResolveShareForCallerRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sharing__pb2.ResolveShareForCallerResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ResolveShareForCaller', service_name='textql.rpc.public.sharing.SharingService', input=public_dot_sharing__pb2.ResolveShareForCallerRequest, output=public_dot_sharing__pb2.ResolveShareForCallerResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + +class SharingPreviewServiceSync(Protocol): + + def get_share_preview(self, request: public_dot_sharing__pb2.GetSharePreviewRequest, ctx: RequestContext) -> public_dot_sharing__pb2.GetSharePreviewResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SharingPreviewServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SharingPreviewServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.sharing.SharingPreviewService/GetSharePreview': EndpointSync.unary(method=MethodInfo(name='GetSharePreview', service_name='textql.rpc.public.sharing.SharingPreviewService', input=public_dot_sharing__pb2.GetSharePreviewRequest, output=public_dot_sharing__pb2.GetSharePreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_share_preview)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sharing.SharingPreviewService' + +class SharingPreviewServiceClientSync(ConnectClientSync): + + def get_share_preview(self, request: public_dot_sharing__pb2.GetSharePreviewRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_sharing__pb2.GetSharePreviewResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetSharePreview', service_name='textql.rpc.public.sharing.SharingPreviewService', input=public_dot_sharing__pb2.GetSharePreviewRequest, output=public_dot_sharing__pb2.GetSharePreviewResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sharing_pb2.py b/src/textql_sdk/_connect/public/sharing_pb2.py new file mode 100644 index 0000000..595f773 --- /dev/null +++ b/src/textql_sdk/_connect/public/sharing_pb2.py @@ -0,0 +1,48 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/sharing.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import engagement_pb2 as public_dot_engagement__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14public/sharing.proto\x12\x19textql.rpc.public.sharing\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17public/engagement.proto\x1a\x14public/options.proto".\n\x16GetSharePreviewRequest\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token"\x96\x01\n\x17GetSharePreviewResponse\x12%\n\x0eprimitive_type\x18\x01 \x01(\tR\rprimitiveType\x12.\n\x13sharer_display_name\x18\x02 \x01(\tR\x11sharerDisplayName\x12$\n\x0eorg_brand_name\x18\x03 \x01(\tR\x0corgBrandName"\x9c\x03\n\x05Share\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0bshare_token\x18\x02 \x01(\tR\nshareToken\x12!\n\x0cprimitive_id\x18\x03 \x01(\tR\x0bprimitiveId\x12R\n\x0eprimitive_type\x18\x04 \x01(\x0e2+.textql.rpc.public.engagement.PrimitiveTypeR\rprimitiveType\x12\x1b\n\tsharer_id\x18\x05 \x01(\tR\x08sharerId\x12\x15\n\x06org_id\x18\x06 \x01(\tR\x05orgId\x12A\n\x07channel\x18\x07 \x01(\x0e2\'.textql.rpc.public.sharing.ShareChannelR\x07channel\x129\n\ncreated_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nexpires_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampR\texpiresAt"\x89\x02\n\x12CreateShareRequest\x12!\n\x0cprimitive_id\x18\x01 \x01(\tR\x0bprimitiveId\x12R\n\x0eprimitive_type\x18\x02 \x01(\x0e2+.textql.rpc.public.engagement.PrimitiveTypeR\rprimitiveType\x12A\n\x07channel\x18\x03 \x01(\x0e2\'.textql.rpc.public.sharing.ShareChannelR\x07channel\x129\n\nexpires_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\texpiresAt"_\n\x13CreateShareResponse\x126\n\x05share\x18\x01 \x01(\x0b2 .textql.rpc.public.sharing.ShareR\x05share\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"2\n\x0fGetShareRequest\x12\x1f\n\x0bshare_token\x18\x01 \x01(\tR\nshareToken"J\n\x10GetShareResponse\x126\n\x05share\x18\x01 \x01(\x0b2 .textql.rpc.public.sharing.ShareR\x05share"?\n\x1cResolveShareForCallerRequest\x12\x1f\n\x0bshare_token\x18\x01 \x01(\tR\nshareToken"\xf2\x01\n\x1dResolveShareForCallerResponse\x12(\n\x10caller_is_member\x18\x01 \x01(\x08R\x0ecallerIsMember\x12\x19\n\x08same_org\x18\x02 \x01(\x08R\x07sameOrg\x12!\n\x0cprimitive_id\x18\x03 \x01(\tR\x0bprimitiveId\x12R\n\x0eprimitive_type\x18\x04 \x01(\x0e2+.textql.rpc.public.engagement.PrimitiveTypeR\rprimitiveType\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId*|\n\x0cShareChannel\x12\x1d\n\x19SHARE_CHANNEL_UNSPECIFIED\x10\x00\x12\x17\n\x13SHARE_CHANNEL_SLACK\x10\x01\x12\x17\n\x13SHARE_CHANNEL_EMAIL\x10\x02\x12\x1b\n\x17SHARE_CHANNEL_LINK_COPY\x10\x032\xfa\x02\n\x0eSharingService\x12l\n\x0bCreateShare\x12-.textql.rpc.public.sharing.CreateShareRequest\x1a..textql.rpc.public.sharing.CreateShareResponse\x12h\n\x08GetShare\x12*.textql.rpc.public.sharing.GetShareRequest\x1a+.textql.rpc.public.sharing.GetShareResponse"\x03\x90\x02\x01\x12\x8f\x01\n\x15ResolveShareForCaller\x127.textql.rpc.public.sharing.ResolveShareForCallerRequest\x1a8.textql.rpc.public.sharing.ResolveShareForCallerResponse"\x03\x90\x02\x012\x96\x01\n\x15SharingPreviewService\x12}\n\x0fGetSharePreview\x121.textql.rpc.public.sharing.GetSharePreviewRequest\x1a2.textql.rpc.public.sharing.GetSharePreviewResponse"\x03\x90\x02\x01B\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.sharing_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_SHARINGSERVICE'].methods_by_name['GetShare']._loaded_options = None + _globals['_SHARINGSERVICE'].methods_by_name['GetShare']._serialized_options = b'\x90\x02\x01' + _globals['_SHARINGSERVICE'].methods_by_name['ResolveShareForCaller']._loaded_options = None + _globals['_SHARINGSERVICE'].methods_by_name['ResolveShareForCaller']._serialized_options = b'\x90\x02\x01' + _globals['_SHARINGPREVIEWSERVICE'].methods_by_name['GetSharePreview']._loaded_options = None + _globals['_SHARINGPREVIEWSERVICE'].methods_by_name['GetSharePreview']._serialized_options = b'\x90\x02\x01' + _globals['_SHARECHANNEL']._serialized_start = 1550 + _globals['_SHARECHANNEL']._serialized_end = 1674 + _globals['_GETSHAREPREVIEWREQUEST']._serialized_start = 131 + _globals['_GETSHAREPREVIEWREQUEST']._serialized_end = 177 + _globals['_GETSHAREPREVIEWRESPONSE']._serialized_start = 180 + _globals['_GETSHAREPREVIEWRESPONSE']._serialized_end = 330 + _globals['_SHARE']._serialized_start = 333 + _globals['_SHARE']._serialized_end = 745 + _globals['_CREATESHAREREQUEST']._serialized_start = 748 + _globals['_CREATESHAREREQUEST']._serialized_end = 1013 + _globals['_CREATESHARERESPONSE']._serialized_start = 1015 + _globals['_CREATESHARERESPONSE']._serialized_end = 1110 + _globals['_GETSHAREREQUEST']._serialized_start = 1112 + _globals['_GETSHAREREQUEST']._serialized_end = 1162 + _globals['_GETSHARERESPONSE']._serialized_start = 1164 + _globals['_GETSHARERESPONSE']._serialized_end = 1238 + _globals['_RESOLVESHAREFORCALLERREQUEST']._serialized_start = 1240 + _globals['_RESOLVESHAREFORCALLERREQUEST']._serialized_end = 1303 + _globals['_RESOLVESHAREFORCALLERRESPONSE']._serialized_start = 1306 + _globals['_RESOLVESHAREFORCALLERRESPONSE']._serialized_end = 1548 + _globals['_SHARINGSERVICE']._serialized_start = 1677 + _globals['_SHARINGSERVICE']._serialized_end = 2055 + _globals['_SHARINGPREVIEWSERVICE']._serialized_start = 2058 + _globals['_SHARINGPREVIEWSERVICE']._serialized_end = 2208 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sharing_pb2.pyi b/src/textql_sdk/_connect/public/sharing_pb2.pyi new file mode 100644 index 0000000..52cd5a4 --- /dev/null +++ b/src/textql_sdk/_connect/public/sharing_pb2.pyi @@ -0,0 +1,129 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import engagement_pb2 as _engagement_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class ShareChannel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SHARE_CHANNEL_UNSPECIFIED: _ClassVar[ShareChannel] + SHARE_CHANNEL_SLACK: _ClassVar[ShareChannel] + SHARE_CHANNEL_EMAIL: _ClassVar[ShareChannel] + SHARE_CHANNEL_LINK_COPY: _ClassVar[ShareChannel] +SHARE_CHANNEL_UNSPECIFIED: ShareChannel +SHARE_CHANNEL_SLACK: ShareChannel +SHARE_CHANNEL_EMAIL: ShareChannel +SHARE_CHANNEL_LINK_COPY: ShareChannel + +class GetSharePreviewRequest(_message.Message): + __slots__ = ('token',) + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: str + + def __init__(self, token: _Optional[str]=...) -> None: + ... + +class GetSharePreviewResponse(_message.Message): + __slots__ = ('primitive_type', 'sharer_display_name', 'org_brand_name') + PRIMITIVE_TYPE_FIELD_NUMBER: _ClassVar[int] + SHARER_DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + ORG_BRAND_NAME_FIELD_NUMBER: _ClassVar[int] + primitive_type: str + sharer_display_name: str + org_brand_name: str + + def __init__(self, primitive_type: _Optional[str]=..., sharer_display_name: _Optional[str]=..., org_brand_name: _Optional[str]=...) -> None: + ... + +class Share(_message.Message): + __slots__ = ('id', 'share_token', 'primitive_id', 'primitive_type', 'sharer_id', 'org_id', 'channel', 'created_at', 'expires_at') + ID_FIELD_NUMBER: _ClassVar[int] + SHARE_TOKEN_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_ID_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_TYPE_FIELD_NUMBER: _ClassVar[int] + SHARER_ID_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + CHANNEL_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + id: str + share_token: str + primitive_id: str + primitive_type: _engagement_pb2.PrimitiveType + sharer_id: str + org_id: str + channel: ShareChannel + created_at: _timestamp_pb2.Timestamp + expires_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., share_token: _Optional[str]=..., primitive_id: _Optional[str]=..., primitive_type: _Optional[_Union[_engagement_pb2.PrimitiveType, str]]=..., sharer_id: _Optional[str]=..., org_id: _Optional[str]=..., channel: _Optional[_Union[ShareChannel, str]]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class CreateShareRequest(_message.Message): + __slots__ = ('primitive_id', 'primitive_type', 'channel', 'expires_at') + PRIMITIVE_ID_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_TYPE_FIELD_NUMBER: _ClassVar[int] + CHANNEL_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + primitive_id: str + primitive_type: _engagement_pb2.PrimitiveType + channel: ShareChannel + expires_at: _timestamp_pb2.Timestamp + + def __init__(self, primitive_id: _Optional[str]=..., primitive_type: _Optional[_Union[_engagement_pb2.PrimitiveType, str]]=..., channel: _Optional[_Union[ShareChannel, str]]=..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class CreateShareResponse(_message.Message): + __slots__ = ('share', 'url') + SHARE_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + share: Share + url: str + + def __init__(self, share: _Optional[_Union[Share, _Mapping]]=..., url: _Optional[str]=...) -> None: + ... + +class GetShareRequest(_message.Message): + __slots__ = ('share_token',) + SHARE_TOKEN_FIELD_NUMBER: _ClassVar[int] + share_token: str + + def __init__(self, share_token: _Optional[str]=...) -> None: + ... + +class GetShareResponse(_message.Message): + __slots__ = ('share',) + SHARE_FIELD_NUMBER: _ClassVar[int] + share: Share + + def __init__(self, share: _Optional[_Union[Share, _Mapping]]=...) -> None: + ... + +class ResolveShareForCallerRequest(_message.Message): + __slots__ = ('share_token',) + SHARE_TOKEN_FIELD_NUMBER: _ClassVar[int] + share_token: str + + def __init__(self, share_token: _Optional[str]=...) -> None: + ... + +class ResolveShareForCallerResponse(_message.Message): + __slots__ = ('caller_is_member', 'same_org', 'primitive_id', 'primitive_type', 'org_id') + CALLER_IS_MEMBER_FIELD_NUMBER: _ClassVar[int] + SAME_ORG_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_ID_FIELD_NUMBER: _ClassVar[int] + PRIMITIVE_TYPE_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + caller_is_member: bool + same_org: bool + primitive_id: str + primitive_type: _engagement_pb2.PrimitiveType + org_id: str + + def __init__(self, caller_is_member: bool=..., same_org: bool=..., primitive_id: _Optional[str]=..., primitive_type: _Optional[_Union[_engagement_pb2.PrimitiveType, str]]=..., org_id: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/slack_connect.py b/src/textql_sdk/_connect/public/slack_connect.py new file mode 100644 index 0000000..1be94cf --- /dev/null +++ b/src/textql_sdk/_connect/public/slack_connect.py @@ -0,0 +1,136 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import slack_pb2 as public_dot_slack__pb2 + +class SlackService(Protocol): + + async def sync_workspace(self, request: public_dot_slack__pb2.SyncWorkspaceRequest, ctx: RequestContext) -> public_dot_slack__pb2.SyncWorkspaceResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_installations(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.ListInstallationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_current_user(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.GetCurrentUserResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_channels(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.ListChannelsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.ListUsersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_installation(self, request: public_dot_slack__pb2.DeleteInstallationRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_slack_uuid(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.CreateSlackUuidResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def handle_slack_o_auth_callback(self, request: public_dot_slack__pb2.HandleSlackOAuthCallbackRequest, ctx: RequestContext) -> public_dot_slack__pb2.HandleSlackOAuthCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SlackServiceASGIApplication(ConnectASGIApplication[SlackService]): + + def __init__(self, service: SlackService | AsyncGenerator[SlackService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.slack.SlackService/SyncWorkspace': Endpoint.unary(method=MethodInfo(name='SyncWorkspace', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.SyncWorkspaceRequest, output=public_dot_slack__pb2.SyncWorkspaceResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.sync_workspace), '/textql.rpc.public.slack.SlackService/ListInstallations': Endpoint.unary(method=MethodInfo(name='ListInstallations', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListInstallationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_installations), '/textql.rpc.public.slack.SlackService/GetCurrentUser': Endpoint.unary(method=MethodInfo(name='GetCurrentUser', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.GetCurrentUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_current_user), '/textql.rpc.public.slack.SlackService/ListChannels': Endpoint.unary(method=MethodInfo(name='ListChannels', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListChannelsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_channels), '/textql.rpc.public.slack.SlackService/ListUsers': Endpoint.unary(method=MethodInfo(name='ListUsers', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListUsersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_users), '/textql.rpc.public.slack.SlackService/DeleteInstallation': Endpoint.unary(method=MethodInfo(name='DeleteInstallation', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.DeleteInstallationRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_installation), '/textql.rpc.public.slack.SlackService/CreateSlackUuid': Endpoint.unary(method=MethodInfo(name='CreateSlackUuid', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.CreateSlackUuidResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_slack_uuid), '/textql.rpc.public.slack.SlackService/HandleSlackOAuthCallback': Endpoint.unary(method=MethodInfo(name='HandleSlackOAuthCallback', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.HandleSlackOAuthCallbackRequest, output=public_dot_slack__pb2.HandleSlackOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.handle_slack_o_auth_callback)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.slack.SlackService' + +class SlackServiceClient(ConnectClient): + + async def sync_workspace(self, request: public_dot_slack__pb2.SyncWorkspaceRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.SyncWorkspaceResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SyncWorkspace', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.SyncWorkspaceRequest, output=public_dot_slack__pb2.SyncWorkspaceResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_installations(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.ListInstallationsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListInstallations', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListInstallationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_current_user(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.GetCurrentUserResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCurrentUser', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.GetCurrentUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_channels(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.ListChannelsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListChannels', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListChannelsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.ListUsersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListUsers', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListUsersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_installation(self, request: public_dot_slack__pb2.DeleteInstallationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteInstallation', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.DeleteInstallationRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_slack_uuid(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.CreateSlackUuidResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateSlackUuid', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.CreateSlackUuidResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def handle_slack_o_auth_callback(self, request: public_dot_slack__pb2.HandleSlackOAuthCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.HandleSlackOAuthCallbackResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='HandleSlackOAuthCallback', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.HandleSlackOAuthCallbackRequest, output=public_dot_slack__pb2.HandleSlackOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SlackServiceSync(Protocol): + + def sync_workspace(self, request: public_dot_slack__pb2.SyncWorkspaceRequest, ctx: RequestContext) -> public_dot_slack__pb2.SyncWorkspaceResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_installations(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.ListInstallationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_current_user(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.GetCurrentUserResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_channels(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.ListChannelsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.ListUsersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_installation(self, request: public_dot_slack__pb2.DeleteInstallationRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_slack_uuid(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_slack__pb2.CreateSlackUuidResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def handle_slack_o_auth_callback(self, request: public_dot_slack__pb2.HandleSlackOAuthCallbackRequest, ctx: RequestContext) -> public_dot_slack__pb2.HandleSlackOAuthCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SlackServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SlackServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.slack.SlackService/SyncWorkspace': EndpointSync.unary(method=MethodInfo(name='SyncWorkspace', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.SyncWorkspaceRequest, output=public_dot_slack__pb2.SyncWorkspaceResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.sync_workspace), '/textql.rpc.public.slack.SlackService/ListInstallations': EndpointSync.unary(method=MethodInfo(name='ListInstallations', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListInstallationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_installations), '/textql.rpc.public.slack.SlackService/GetCurrentUser': EndpointSync.unary(method=MethodInfo(name='GetCurrentUser', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.GetCurrentUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_current_user), '/textql.rpc.public.slack.SlackService/ListChannels': EndpointSync.unary(method=MethodInfo(name='ListChannels', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListChannelsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_channels), '/textql.rpc.public.slack.SlackService/ListUsers': EndpointSync.unary(method=MethodInfo(name='ListUsers', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListUsersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_users), '/textql.rpc.public.slack.SlackService/DeleteInstallation': EndpointSync.unary(method=MethodInfo(name='DeleteInstallation', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.DeleteInstallationRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_installation), '/textql.rpc.public.slack.SlackService/CreateSlackUuid': EndpointSync.unary(method=MethodInfo(name='CreateSlackUuid', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.CreateSlackUuidResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_slack_uuid), '/textql.rpc.public.slack.SlackService/HandleSlackOAuthCallback': EndpointSync.unary(method=MethodInfo(name='HandleSlackOAuthCallback', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.HandleSlackOAuthCallbackRequest, output=public_dot_slack__pb2.HandleSlackOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.handle_slack_o_auth_callback)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.slack.SlackService' + +class SlackServiceClientSync(ConnectClientSync): + + def sync_workspace(self, request: public_dot_slack__pb2.SyncWorkspaceRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.SyncWorkspaceResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SyncWorkspace', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.SyncWorkspaceRequest, output=public_dot_slack__pb2.SyncWorkspaceResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_installations(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.ListInstallationsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListInstallations', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListInstallationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_current_user(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.GetCurrentUserResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCurrentUser', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.GetCurrentUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_channels(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.ListChannelsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListChannels', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListChannelsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.ListUsersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListUsers', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.ListUsersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_installation(self, request: public_dot_slack__pb2.DeleteInstallationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteInstallation', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.DeleteInstallationRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_slack_uuid(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.CreateSlackUuidResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateSlackUuid', service_name='textql.rpc.public.slack.SlackService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_slack__pb2.CreateSlackUuidResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def handle_slack_o_auth_callback(self, request: public_dot_slack__pb2.HandleSlackOAuthCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_slack__pb2.HandleSlackOAuthCallbackResponse: + return self.execute_unary(request=request, method=MethodInfo(name='HandleSlackOAuthCallback', service_name='textql.rpc.public.slack.SlackService', input=public_dot_slack__pb2.HandleSlackOAuthCallbackRequest, output=public_dot_slack__pb2.HandleSlackOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/slack_pb2.py b/src/textql_sdk/_connect/public/slack_pb2.py new file mode 100644 index 0000000..45fe119 --- /dev/null +++ b/src/textql_sdk/_connect/public/slack_pb2.py @@ -0,0 +1,43 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/slack.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import cells_pb2 as public_dot_cells__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12public/slack.proto\x12\x17textql.rpc.public.slack\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x12public/cells.proto"/\n\x14SyncWorkspaceRequest\x12\x17\n\x07team_id\x18\x01 \x01(\tR\x06teamId"I\n\x15SyncWorkspaceResponse\x12\x16\n\x06queued\x18\x01 \x01(\x08R\x06queued\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"h\n\x19ListInstallationsResponse\x12K\n\rinstallations\x18\x01 \x03(\x0b2%.textql.rpc.public.slack.InstallationR\rinstallations"\x84\x01\n\x0cInstallation\x12\x17\n\x07team_id\x18\x01 \x01(\tR\x06teamId\x129\n\ncreated_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x17\n\x04name\x18\x03 \x01(\tH\x00R\x04name\x88\x01\x01B\x07\n\x05_name"^\n\x16GetCurrentUserResponse\x12;\n\x04user\x18\x01 \x01(\x0b2".textql.rpc.public.slack.SlackUserH\x00R\x04user\x88\x01\x01B\x07\n\x05_user"\x92\x01\n\tSlackUser\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12 \n\treal_name\x18\x03 \x01(\tH\x01R\x08realName\x88\x01\x01\x12\x19\n\x05email\x18\x04 \x01(\tH\x02R\x05email\x88\x01\x01B\x07\n\x05_nameB\x0c\n\n_real_nameB\x08\n\x06_email"\\\n\x14ListChannelsResponse\x12D\n\x08channels\x18\x01 \x03(\x0b2(.textql.rpc.public.cells.SlackChannelRefR\x08channels"P\n\x11ListUsersResponse\x12;\n\x05users\x18\x01 \x03(\x0b2%.textql.rpc.public.cells.SlackUserRefR\x05users"4\n\x19DeleteInstallationRequest\x12\x17\n\x07team_id\x18\x01 \x01(\tR\x06teamId"-\n\x17CreateSlackUuidResponse\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid"K\n\x1fHandleSlackOAuthCallbackRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state"\xa2\x01\n HandleSlackOAuthCallbackResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12(\n\rerror_message\x18\x02 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12\x1c\n\x07team_id\x18\x03 \x01(\tH\x01R\x06teamId\x88\x01\x01B\x10\n\x0e_error_messageB\n\n\x08_team_id2\xb3\x06\n\x0cSlackService\x12n\n\rSyncWorkspace\x12-.textql.rpc.public.slack.SyncWorkspaceRequest\x1a..textql.rpc.public.slack.SyncWorkspaceResponse\x12_\n\x11ListInstallations\x12\x16.google.protobuf.Empty\x1a2.textql.rpc.public.slack.ListInstallationsResponse\x12Y\n\x0eGetCurrentUser\x12\x16.google.protobuf.Empty\x1a/.textql.rpc.public.slack.GetCurrentUserResponse\x12U\n\x0cListChannels\x12\x16.google.protobuf.Empty\x1a-.textql.rpc.public.slack.ListChannelsResponse\x12O\n\tListUsers\x12\x16.google.protobuf.Empty\x1a*.textql.rpc.public.slack.ListUsersResponse\x12`\n\x12DeleteInstallation\x122.textql.rpc.public.slack.DeleteInstallationRequest\x1a\x16.google.protobuf.Empty\x12[\n\x0fCreateSlackUuid\x12\x16.google.protobuf.Empty\x1a0.textql.rpc.public.slack.CreateSlackUuidResponse\x12\x8f\x01\n\x18HandleSlackOAuthCallback\x128.textql.rpc.public.slack.HandleSlackOAuthCallbackRequest\x1a9.textql.rpc.public.slack.HandleSlackOAuthCallbackResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.slack_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYNCWORKSPACEREQUEST']._serialized_start = 129 + _globals['_SYNCWORKSPACEREQUEST']._serialized_end = 176 + _globals['_SYNCWORKSPACERESPONSE']._serialized_start = 178 + _globals['_SYNCWORKSPACERESPONSE']._serialized_end = 251 + _globals['_LISTINSTALLATIONSRESPONSE']._serialized_start = 253 + _globals['_LISTINSTALLATIONSRESPONSE']._serialized_end = 357 + _globals['_INSTALLATION']._serialized_start = 360 + _globals['_INSTALLATION']._serialized_end = 492 + _globals['_GETCURRENTUSERRESPONSE']._serialized_start = 494 + _globals['_GETCURRENTUSERRESPONSE']._serialized_end = 588 + _globals['_SLACKUSER']._serialized_start = 591 + _globals['_SLACKUSER']._serialized_end = 737 + _globals['_LISTCHANNELSRESPONSE']._serialized_start = 739 + _globals['_LISTCHANNELSRESPONSE']._serialized_end = 831 + _globals['_LISTUSERSRESPONSE']._serialized_start = 833 + _globals['_LISTUSERSRESPONSE']._serialized_end = 913 + _globals['_DELETEINSTALLATIONREQUEST']._serialized_start = 915 + _globals['_DELETEINSTALLATIONREQUEST']._serialized_end = 967 + _globals['_CREATESLACKUUIDRESPONSE']._serialized_start = 969 + _globals['_CREATESLACKUUIDRESPONSE']._serialized_end = 1014 + _globals['_HANDLESLACKOAUTHCALLBACKREQUEST']._serialized_start = 1016 + _globals['_HANDLESLACKOAUTHCALLBACKREQUEST']._serialized_end = 1091 + _globals['_HANDLESLACKOAUTHCALLBACKRESPONSE']._serialized_start = 1094 + _globals['_HANDLESLACKOAUTHCALLBACKRESPONSE']._serialized_end = 1256 + _globals['_SLACKSERVICE']._serialized_start = 1259 + _globals['_SLACKSERVICE']._serialized_end = 2078 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/slack_pb2.pyi b/src/textql_sdk/_connect/public/slack_pb2.pyi new file mode 100644 index 0000000..282cec0 --- /dev/null +++ b/src/textql_sdk/_connect/public/slack_pb2.pyi @@ -0,0 +1,124 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import cells_pb2 as _cells_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class SyncWorkspaceRequest(_message.Message): + __slots__ = ('team_id',) + TEAM_ID_FIELD_NUMBER: _ClassVar[int] + team_id: str + + def __init__(self, team_id: _Optional[str]=...) -> None: + ... + +class SyncWorkspaceResponse(_message.Message): + __slots__ = ('queued', 'message') + QUEUED_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + queued: bool + message: str + + def __init__(self, queued: bool=..., message: _Optional[str]=...) -> None: + ... + +class ListInstallationsResponse(_message.Message): + __slots__ = ('installations',) + INSTALLATIONS_FIELD_NUMBER: _ClassVar[int] + installations: _containers.RepeatedCompositeFieldContainer[Installation] + + def __init__(self, installations: _Optional[_Iterable[_Union[Installation, _Mapping]]]=...) -> None: + ... + +class Installation(_message.Message): + __slots__ = ('team_id', 'created_at', 'name') + TEAM_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + team_id: str + created_at: _timestamp_pb2.Timestamp + name: str + + def __init__(self, team_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., name: _Optional[str]=...) -> None: + ... + +class GetCurrentUserResponse(_message.Message): + __slots__ = ('user',) + USER_FIELD_NUMBER: _ClassVar[int] + user: SlackUser + + def __init__(self, user: _Optional[_Union[SlackUser, _Mapping]]=...) -> None: + ... + +class SlackUser(_message.Message): + __slots__ = ('id', 'name', 'real_name', 'email') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + REAL_NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + real_name: str + email: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., real_name: _Optional[str]=..., email: _Optional[str]=...) -> None: + ... + +class ListChannelsResponse(_message.Message): + __slots__ = ('channels',) + CHANNELS_FIELD_NUMBER: _ClassVar[int] + channels: _containers.RepeatedCompositeFieldContainer[_cells_pb2.SlackChannelRef] + + def __init__(self, channels: _Optional[_Iterable[_Union[_cells_pb2.SlackChannelRef, _Mapping]]]=...) -> None: + ... + +class ListUsersResponse(_message.Message): + __slots__ = ('users',) + USERS_FIELD_NUMBER: _ClassVar[int] + users: _containers.RepeatedCompositeFieldContainer[_cells_pb2.SlackUserRef] + + def __init__(self, users: _Optional[_Iterable[_Union[_cells_pb2.SlackUserRef, _Mapping]]]=...) -> None: + ... + +class DeleteInstallationRequest(_message.Message): + __slots__ = ('team_id',) + TEAM_ID_FIELD_NUMBER: _ClassVar[int] + team_id: str + + def __init__(self, team_id: _Optional[str]=...) -> None: + ... + +class CreateSlackUuidResponse(_message.Message): + __slots__ = ('uuid',) + UUID_FIELD_NUMBER: _ClassVar[int] + uuid: str + + def __init__(self, uuid: _Optional[str]=...) -> None: + ... + +class HandleSlackOAuthCallbackRequest(_message.Message): + __slots__ = ('code', 'state') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class HandleSlackOAuthCallbackResponse(_message.Message): + __slots__ = ('success', 'error_message', 'team_id') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + TEAM_ID_FIELD_NUMBER: _ClassVar[int] + success: bool + error_message: str + team_id: str + + def __init__(self, success: bool=..., error_message: _Optional[str]=..., team_id: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sms_connect.py b/src/textql_sdk/_connect/public/sms_connect.py new file mode 100644 index 0000000..fa4976f --- /dev/null +++ b/src/textql_sdk/_connect/public/sms_connect.py @@ -0,0 +1,87 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import sms_pb2 as public_dot_sms__pb2 + +class SmsService(Protocol): + + async def start_phone_verification(self, request: public_dot_sms__pb2.StartPhoneVerificationRequest, ctx: RequestContext) -> public_dot_sms__pb2.StartPhoneVerificationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def confirm_phone_verification(self, request: public_dot_sms__pb2.ConfirmPhoneVerificationRequest, ctx: RequestContext) -> public_dot_sms__pb2.ConfirmPhoneVerificationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def set_sms_agent(self, request: public_dot_sms__pb2.SetSmsAgentRequest, ctx: RequestContext) -> public_dot_sms__pb2.SetSmsAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def remove_phone(self, request: public_dot_sms__pb2.RemovePhoneRequest, ctx: RequestContext) -> public_dot_sms__pb2.RemovePhoneResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SmsServiceASGIApplication(ConnectASGIApplication[SmsService]): + + def __init__(self, service: SmsService | AsyncGenerator[SmsService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.sms.SmsService/StartPhoneVerification': Endpoint.unary(method=MethodInfo(name='StartPhoneVerification', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.StartPhoneVerificationRequest, output=public_dot_sms__pb2.StartPhoneVerificationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.start_phone_verification), '/textql.rpc.public.sms.SmsService/ConfirmPhoneVerification': Endpoint.unary(method=MethodInfo(name='ConfirmPhoneVerification', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.ConfirmPhoneVerificationRequest, output=public_dot_sms__pb2.ConfirmPhoneVerificationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.confirm_phone_verification), '/textql.rpc.public.sms.SmsService/SetSmsAgent': Endpoint.unary(method=MethodInfo(name='SetSmsAgent', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.SetSmsAgentRequest, output=public_dot_sms__pb2.SetSmsAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.set_sms_agent), '/textql.rpc.public.sms.SmsService/RemovePhone': Endpoint.unary(method=MethodInfo(name='RemovePhone', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.RemovePhoneRequest, output=public_dot_sms__pb2.RemovePhoneResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.remove_phone)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sms.SmsService' + +class SmsServiceClient(ConnectClient): + + async def start_phone_verification(self, request: public_dot_sms__pb2.StartPhoneVerificationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sms__pb2.StartPhoneVerificationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='StartPhoneVerification', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.StartPhoneVerificationRequest, output=public_dot_sms__pb2.StartPhoneVerificationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def confirm_phone_verification(self, request: public_dot_sms__pb2.ConfirmPhoneVerificationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sms__pb2.ConfirmPhoneVerificationResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ConfirmPhoneVerification', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.ConfirmPhoneVerificationRequest, output=public_dot_sms__pb2.ConfirmPhoneVerificationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def set_sms_agent(self, request: public_dot_sms__pb2.SetSmsAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sms__pb2.SetSmsAgentResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SetSmsAgent', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.SetSmsAgentRequest, output=public_dot_sms__pb2.SetSmsAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def remove_phone(self, request: public_dot_sms__pb2.RemovePhoneRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sms__pb2.RemovePhoneResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RemovePhone', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.RemovePhoneRequest, output=public_dot_sms__pb2.RemovePhoneResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SmsServiceSync(Protocol): + + def start_phone_verification(self, request: public_dot_sms__pb2.StartPhoneVerificationRequest, ctx: RequestContext) -> public_dot_sms__pb2.StartPhoneVerificationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def confirm_phone_verification(self, request: public_dot_sms__pb2.ConfirmPhoneVerificationRequest, ctx: RequestContext) -> public_dot_sms__pb2.ConfirmPhoneVerificationResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def set_sms_agent(self, request: public_dot_sms__pb2.SetSmsAgentRequest, ctx: RequestContext) -> public_dot_sms__pb2.SetSmsAgentResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def remove_phone(self, request: public_dot_sms__pb2.RemovePhoneRequest, ctx: RequestContext) -> public_dot_sms__pb2.RemovePhoneResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SmsServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SmsServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.sms.SmsService/StartPhoneVerification': EndpointSync.unary(method=MethodInfo(name='StartPhoneVerification', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.StartPhoneVerificationRequest, output=public_dot_sms__pb2.StartPhoneVerificationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.start_phone_verification), '/textql.rpc.public.sms.SmsService/ConfirmPhoneVerification': EndpointSync.unary(method=MethodInfo(name='ConfirmPhoneVerification', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.ConfirmPhoneVerificationRequest, output=public_dot_sms__pb2.ConfirmPhoneVerificationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.confirm_phone_verification), '/textql.rpc.public.sms.SmsService/SetSmsAgent': EndpointSync.unary(method=MethodInfo(name='SetSmsAgent', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.SetSmsAgentRequest, output=public_dot_sms__pb2.SetSmsAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.set_sms_agent), '/textql.rpc.public.sms.SmsService/RemovePhone': EndpointSync.unary(method=MethodInfo(name='RemovePhone', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.RemovePhoneRequest, output=public_dot_sms__pb2.RemovePhoneResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.remove_phone)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.sms.SmsService' + +class SmsServiceClientSync(ConnectClientSync): + + def start_phone_verification(self, request: public_dot_sms__pb2.StartPhoneVerificationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sms__pb2.StartPhoneVerificationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='StartPhoneVerification', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.StartPhoneVerificationRequest, output=public_dot_sms__pb2.StartPhoneVerificationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def confirm_phone_verification(self, request: public_dot_sms__pb2.ConfirmPhoneVerificationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sms__pb2.ConfirmPhoneVerificationResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ConfirmPhoneVerification', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.ConfirmPhoneVerificationRequest, output=public_dot_sms__pb2.ConfirmPhoneVerificationResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def set_sms_agent(self, request: public_dot_sms__pb2.SetSmsAgentRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sms__pb2.SetSmsAgentResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SetSmsAgent', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.SetSmsAgentRequest, output=public_dot_sms__pb2.SetSmsAgentResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def remove_phone(self, request: public_dot_sms__pb2.RemovePhoneRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_sms__pb2.RemovePhoneResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RemovePhone', service_name='textql.rpc.public.sms.SmsService', input=public_dot_sms__pb2.RemovePhoneRequest, output=public_dot_sms__pb2.RemovePhoneResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sms_pb2.py b/src/textql_sdk/_connect/public/sms_pb2.py new file mode 100644 index 0000000..5212ea4 --- /dev/null +++ b/src/textql_sdk/_connect/public/sms_pb2.py @@ -0,0 +1,35 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/sms.proto') +_sym_db = _symbol_database.Default() +from .. import auth_pb2 as auth__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10public/sms.proto\x12\x15textql.rpc.public.sms\x1a\nauth.proto\x1a\x14public/options.proto"B\n\x1dStartPhoneVerificationRequest\x12!\n\x0cphone_number\x18\x01 \x01(\tR\x0bphoneNumber"=\n\x1eStartPhoneVerificationResponse\x12\x1b\n\tcode_sent\x18\x01 \x01(\x08R\x08codeSent"5\n\x1fConfirmPhoneVerificationRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code"n\n ConfirmPhoneVerificationResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member\x12\x19\n\x08agent_id\x18\x02 \x01(\tR\x07agentId"/\n\x12SetSmsAgentRequest\x12\x19\n\x08agent_id\x18\x01 \x01(\tR\x07agentId"F\n\x13SetSmsAgentResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member"\x14\n\x12RemovePhoneRequest"F\n\x13RemovePhoneResponse\x12/\n\x06member\x18\x01 \x01(\x0b2\x17.textql.rpc.auth.MemberR\x06member2\xee\x03\n\nSmsService\x12\x85\x01\n\x16StartPhoneVerification\x124.textql.rpc.public.sms.StartPhoneVerificationRequest\x1a5.textql.rpc.public.sms.StartPhoneVerificationResponse\x12\x8b\x01\n\x18ConfirmPhoneVerification\x126.textql.rpc.public.sms.ConfirmPhoneVerificationRequest\x1a7.textql.rpc.public.sms.ConfirmPhoneVerificationResponse\x12d\n\x0bSetSmsAgent\x12).textql.rpc.public.sms.SetSmsAgentRequest\x1a*.textql.rpc.public.sms.SetSmsAgentResponse\x12d\n\x0bRemovePhone\x12).textql.rpc.public.sms.RemovePhoneRequest\x1a*.textql.rpc.public.sms.RemovePhoneResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.sms_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_STARTPHONEVERIFICATIONREQUEST']._serialized_start = 77 + _globals['_STARTPHONEVERIFICATIONREQUEST']._serialized_end = 143 + _globals['_STARTPHONEVERIFICATIONRESPONSE']._serialized_start = 145 + _globals['_STARTPHONEVERIFICATIONRESPONSE']._serialized_end = 206 + _globals['_CONFIRMPHONEVERIFICATIONREQUEST']._serialized_start = 208 + _globals['_CONFIRMPHONEVERIFICATIONREQUEST']._serialized_end = 261 + _globals['_CONFIRMPHONEVERIFICATIONRESPONSE']._serialized_start = 263 + _globals['_CONFIRMPHONEVERIFICATIONRESPONSE']._serialized_end = 373 + _globals['_SETSMSAGENTREQUEST']._serialized_start = 375 + _globals['_SETSMSAGENTREQUEST']._serialized_end = 422 + _globals['_SETSMSAGENTRESPONSE']._serialized_start = 424 + _globals['_SETSMSAGENTRESPONSE']._serialized_end = 494 + _globals['_REMOVEPHONEREQUEST']._serialized_start = 496 + _globals['_REMOVEPHONEREQUEST']._serialized_end = 516 + _globals['_REMOVEPHONERESPONSE']._serialized_start = 518 + _globals['_REMOVEPHONERESPONSE']._serialized_end = 588 + _globals['_SMSSERVICE']._serialized_start = 591 + _globals['_SMSSERVICE']._serialized_end = 1085 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/sms_pb2.pyi b/src/textql_sdk/_connect/public/sms_pb2.pyi new file mode 100644 index 0000000..45f3e38 --- /dev/null +++ b/src/textql_sdk/_connect/public/sms_pb2.pyi @@ -0,0 +1,71 @@ +import auth_pb2 as _auth_pb2 +from public import options_pb2 as _options_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class StartPhoneVerificationRequest(_message.Message): + __slots__ = ('phone_number',) + PHONE_NUMBER_FIELD_NUMBER: _ClassVar[int] + phone_number: str + + def __init__(self, phone_number: _Optional[str]=...) -> None: + ... + +class StartPhoneVerificationResponse(_message.Message): + __slots__ = ('code_sent',) + CODE_SENT_FIELD_NUMBER: _ClassVar[int] + code_sent: bool + + def __init__(self, code_sent: bool=...) -> None: + ... + +class ConfirmPhoneVerificationRequest(_message.Message): + __slots__ = ('code',) + CODE_FIELD_NUMBER: _ClassVar[int] + code: str + + def __init__(self, code: _Optional[str]=...) -> None: + ... + +class ConfirmPhoneVerificationResponse(_message.Message): + __slots__ = ('member', 'agent_id') + MEMBER_FIELD_NUMBER: _ClassVar[int] + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + member: _auth_pb2.Member + agent_id: str + + def __init__(self, member: _Optional[_Union[_auth_pb2.Member, _Mapping]]=..., agent_id: _Optional[str]=...) -> None: + ... + +class SetSmsAgentRequest(_message.Message): + __slots__ = ('agent_id',) + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + agent_id: str + + def __init__(self, agent_id: _Optional[str]=...) -> None: + ... + +class SetSmsAgentResponse(_message.Message): + __slots__ = ('member',) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _auth_pb2.Member + + def __init__(self, member: _Optional[_Union[_auth_pb2.Member, _Mapping]]=...) -> None: + ... + +class RemovePhoneRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class RemovePhoneResponse(_message.Message): + __slots__ = ('member',) + MEMBER_FIELD_NUMBER: _ClassVar[int] + member: _auth_pb2.Member + + def __init__(self, member: _Optional[_Union[_auth_pb2.Member, _Mapping]]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/snowflake_oauth_connect.py b/src/textql_sdk/_connect/public/snowflake_oauth_connect.py new file mode 100644 index 0000000..ec7681f --- /dev/null +++ b/src/textql_sdk/_connect/public/snowflake_oauth_connect.py @@ -0,0 +1,63 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import snowflake_oauth_pb2 as public_dot_snowflake__oauth__pb2 + +class SnowflakeOAuthService(Protocol): + + async def get_snowflake_o_auth_u_r_l(self, request: public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLRequest, ctx: RequestContext) -> public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def exchange_snowflake_code(self, request: public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeRequest, ctx: RequestContext) -> public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SnowflakeOAuthServiceASGIApplication(ConnectASGIApplication[SnowflakeOAuthService]): + + def __init__(self, service: SnowflakeOAuthService | AsyncGenerator[SnowflakeOAuthService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.snowflake_oauth.SnowflakeOAuthService/GetSnowflakeOAuthURL': Endpoint.unary(method=MethodInfo(name='GetSnowflakeOAuthURL', service_name='textql.rpc.public.snowflake_oauth.SnowflakeOAuthService', input=public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLRequest, output=public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_snowflake_o_auth_u_r_l), '/textql.rpc.public.snowflake_oauth.SnowflakeOAuthService/ExchangeSnowflakeCode': Endpoint.unary(method=MethodInfo(name='ExchangeSnowflakeCode', service_name='textql.rpc.public.snowflake_oauth.SnowflakeOAuthService', input=public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeRequest, output=public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.exchange_snowflake_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.snowflake_oauth.SnowflakeOAuthService' + +class SnowflakeOAuthServiceClient(ConnectClient): + + async def get_snowflake_o_auth_u_r_l(self, request: public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetSnowflakeOAuthURL', service_name='textql.rpc.public.snowflake_oauth.SnowflakeOAuthService', input=public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLRequest, output=public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def exchange_snowflake_code(self, request: public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ExchangeSnowflakeCode', service_name='textql.rpc.public.snowflake_oauth.SnowflakeOAuthService', input=public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeRequest, output=public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class SnowflakeOAuthServiceSync(Protocol): + + def get_snowflake_o_auth_u_r_l(self, request: public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLRequest, ctx: RequestContext) -> public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def exchange_snowflake_code(self, request: public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeRequest, ctx: RequestContext) -> public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class SnowflakeOAuthServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: SnowflakeOAuthServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.snowflake_oauth.SnowflakeOAuthService/GetSnowflakeOAuthURL': EndpointSync.unary(method=MethodInfo(name='GetSnowflakeOAuthURL', service_name='textql.rpc.public.snowflake_oauth.SnowflakeOAuthService', input=public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLRequest, output=public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_snowflake_o_auth_u_r_l), '/textql.rpc.public.snowflake_oauth.SnowflakeOAuthService/ExchangeSnowflakeCode': EndpointSync.unary(method=MethodInfo(name='ExchangeSnowflakeCode', service_name='textql.rpc.public.snowflake_oauth.SnowflakeOAuthService', input=public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeRequest, output=public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.exchange_snowflake_code)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.snowflake_oauth.SnowflakeOAuthService' + +class SnowflakeOAuthServiceClientSync(ConnectClientSync): + + def get_snowflake_o_auth_u_r_l(self, request: public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetSnowflakeOAuthURL', service_name='textql.rpc.public.snowflake_oauth.SnowflakeOAuthService', input=public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLRequest, output=public_dot_snowflake__oauth__pb2.GetSnowflakeOAuthURLResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def exchange_snowflake_code(self, request: public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ExchangeSnowflakeCode', service_name='textql.rpc.public.snowflake_oauth.SnowflakeOAuthService', input=public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeRequest, output=public_dot_snowflake__oauth__pb2.ExchangeSnowflakeCodeResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/snowflake_oauth_pb2.py b/src/textql_sdk/_connect/public/snowflake_oauth_pb2.py new file mode 100644 index 0000000..fbfca56 --- /dev/null +++ b/src/textql_sdk/_connect/public/snowflake_oauth_pb2.py @@ -0,0 +1,34 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/snowflake_oauth.proto') +_sym_db = _symbol_database.Default() +from ..public import options_pb2 as public_dot_options__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cpublic/snowflake_oauth.proto\x12!textql.rpc.public.snowflake_oauth\x1a\x14public/options.proto"\x85\x01\n\x1bGetSnowflakeOAuthURLRequest\x12\x1f\n\x0baccount_url\x18\x01 \x01(\tR\naccountUrl\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08clientId\x12\x14\n\x05state\x18\x03 \x01(\tR\x05state\x12\x12\n\x04role\x18\x04 \x01(\tR\x04role";\n\x1cGetSnowflakeOAuthURLResponse\x12\x1b\n\toauth_url\x18\x01 \x01(\tR\x08oauthUrl"\xb7\x01\n\x1cExchangeSnowflakeCodeRequest\x12\x18\n\x04code\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01R\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state\x12\x1f\n\x0baccount_url\x18\x03 \x01(\tR\naccountUrl\x12\x1b\n\tclient_id\x18\x04 \x01(\tR\x08clientId\x12)\n\rclient_secret\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\x0cclientSecret"\xfd\x01\n\x1dExchangeSnowflakeCodeResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\'\n\x0caccess_token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01R\x0baccessToken\x12)\n\rrefresh_token\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\x0crefreshToken\x12\x1d\n\nexpires_in\x18\x04 \x01(\x03R\texpiresIn\x12\x14\n\x05scope\x18\x05 \x01(\tR\x05scope\x12\x1d\n\ntoken_type\x18\x06 \x01(\tR\ttokenType\x12\x1a\n\x08username\x18\x07 \x01(\tR\x08username2\xce\x02\n\x15SnowflakeOAuthService\x12\x97\x01\n\x14GetSnowflakeOAuthURL\x12>.textql.rpc.public.snowflake_oauth.GetSnowflakeOAuthURLRequest\x1a?.textql.rpc.public.snowflake_oauth.GetSnowflakeOAuthURLResponse\x12\x9a\x01\n\x15ExchangeSnowflakeCode\x12?.textql.rpc.public.snowflake_oauth.ExchangeSnowflakeCodeRequest\x1a@.textql.rpc.public.snowflake_oauth.ExchangeSnowflakeCodeResponseBGZ9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.snowflake_oauth_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public\x92\xb5\x18\x08INTERNAL' + _globals['_EXCHANGESNOWFLAKECODEREQUEST'].fields_by_name['code']._loaded_options = None + _globals['_EXCHANGESNOWFLAKECODEREQUEST'].fields_by_name['code']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGESNOWFLAKECODEREQUEST'].fields_by_name['client_secret']._loaded_options = None + _globals['_EXCHANGESNOWFLAKECODEREQUEST'].fields_by_name['client_secret']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGESNOWFLAKECODERESPONSE'].fields_by_name['access_token']._loaded_options = None + _globals['_EXCHANGESNOWFLAKECODERESPONSE'].fields_by_name['access_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_EXCHANGESNOWFLAKECODERESPONSE'].fields_by_name['refresh_token']._loaded_options = None + _globals['_EXCHANGESNOWFLAKECODERESPONSE'].fields_by_name['refresh_token']._serialized_options = b'\x88\xb5\x18\x01' + _globals['_GETSNOWFLAKEOAUTHURLREQUEST']._serialized_start = 90 + _globals['_GETSNOWFLAKEOAUTHURLREQUEST']._serialized_end = 223 + _globals['_GETSNOWFLAKEOAUTHURLRESPONSE']._serialized_start = 225 + _globals['_GETSNOWFLAKEOAUTHURLRESPONSE']._serialized_end = 284 + _globals['_EXCHANGESNOWFLAKECODEREQUEST']._serialized_start = 287 + _globals['_EXCHANGESNOWFLAKECODEREQUEST']._serialized_end = 470 + _globals['_EXCHANGESNOWFLAKECODERESPONSE']._serialized_start = 473 + _globals['_EXCHANGESNOWFLAKECODERESPONSE']._serialized_end = 726 + _globals['_SNOWFLAKEOAUTHSERVICE']._serialized_start = 729 + _globals['_SNOWFLAKEOAUTHSERVICE']._serialized_end = 1063 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/snowflake_oauth_pb2.pyi b/src/textql_sdk/_connect/public/snowflake_oauth_pb2.pyi new file mode 100644 index 0000000..eb3dc9c --- /dev/null +++ b/src/textql_sdk/_connect/public/snowflake_oauth_pb2.pyi @@ -0,0 +1,63 @@ +from public import options_pb2 as _options_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Optional as _Optional +DESCRIPTOR: _descriptor.FileDescriptor + +class GetSnowflakeOAuthURLRequest(_message.Message): + __slots__ = ('account_url', 'client_id', 'state', 'role') + ACCOUNT_URL_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + account_url: str + client_id: str + state: str + role: str + + def __init__(self, account_url: _Optional[str]=..., client_id: _Optional[str]=..., state: _Optional[str]=..., role: _Optional[str]=...) -> None: + ... + +class GetSnowflakeOAuthURLResponse(_message.Message): + __slots__ = ('oauth_url',) + OAUTH_URL_FIELD_NUMBER: _ClassVar[int] + oauth_url: str + + def __init__(self, oauth_url: _Optional[str]=...) -> None: + ... + +class ExchangeSnowflakeCodeRequest(_message.Message): + __slots__ = ('code', 'state', 'account_url', 'client_id', 'client_secret') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + ACCOUNT_URL_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_FIELD_NUMBER: _ClassVar[int] + CLIENT_SECRET_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + account_url: str + client_id: str + client_secret: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=..., account_url: _Optional[str]=..., client_id: _Optional[str]=..., client_secret: _Optional[str]=...) -> None: + ... + +class ExchangeSnowflakeCodeResponse(_message.Message): + __slots__ = ('success', 'access_token', 'refresh_token', 'expires_in', 'scope', 'token_type', 'username') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] + REFRESH_TOKEN_FIELD_NUMBER: _ClassVar[int] + EXPIRES_IN_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] + TOKEN_TYPE_FIELD_NUMBER: _ClassVar[int] + USERNAME_FIELD_NUMBER: _ClassVar[int] + success: bool + access_token: str + refresh_token: str + expires_in: int + scope: str + token_type: str + username: str + + def __init__(self, success: bool=..., access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., expires_in: _Optional[int]=..., scope: _Optional[str]=..., token_type: _Optional[str]=..., username: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/tableau_connect.py b/src/textql_sdk/_connect/public/tableau_connect.py new file mode 100644 index 0000000..caec194 --- /dev/null +++ b/src/textql_sdk/_connect/public/tableau_connect.py @@ -0,0 +1,195 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import tableau_pb2 as public_dot_tableau__pb2 + +class TableauService(Protocol): + + async def test_tableau_connection(self, request: public_dot_tableau__pb2.TestTableauConnectionRequest, ctx: RequestContext) -> public_dot_tableau__pb2.TestTableauConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_tableau_projects(self, request: public_dot_tableau__pb2.ListTableauProjectsRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ListTableauProjectsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_tableau_workbooks(self, request: public_dot_tableau__pb2.ListTableauWorkbooksRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ListTableauWorkbooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_tableau_views(self, request: public_dot_tableau__pb2.ListTableauViewsRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ListTableauViewsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_tableau_datasources(self, request: public_dot_tableau__pb2.ListTableauDatasourcesRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ListTableauDatasourcesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def star_tableau_item(self, request: public_dot_tableau__pb2.StarTableauItemRequest, ctx: RequestContext) -> public_dot_tableau__pb2.StarTableauItemResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def unstar_tableau_item(self, request: public_dot_tableau__pb2.UnstarTableauItemRequest, ctx: RequestContext) -> public_dot_tableau__pb2.UnstarTableauItemResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_starred_tableau_items(self, request: public_dot_tableau__pb2.GetStarredTableauItemsRequest, ctx: RequestContext) -> public_dot_tableau__pb2.GetStarredTableauItemsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_collection_thumbnail(self, request: public_dot_tableau__pb2.GetCollectionThumbnailRequest, ctx: RequestContext) -> public_dot_tableau__pb2.GetCollectionThumbnailResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def generate_embed_token(self, request: public_dot_tableau__pb2.GenerateEmbedTokenRequest, ctx: RequestContext) -> public_dot_tableau__pb2.GenerateEmbedTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_connected_app_status(self, request: public_dot_tableau__pb2.GetConnectedAppStatusRequest, ctx: RequestContext) -> public_dot_tableau__pb2.GetConnectedAppStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def reset_connected_app(self, request: public_dot_tableau__pb2.ResetConnectedAppRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ResetConnectedAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def refresh_tableau_collection(self, request: public_dot_tableau__pb2.RefreshTableauCollectionRequest, ctx: RequestContext) -> public_dot_tableau__pb2.RefreshTableauCollectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class TableauServiceASGIApplication(ConnectASGIApplication[TableauService]): + + def __init__(self, service: TableauService | AsyncGenerator[TableauService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.tableau.TableauService/TestTableauConnection': Endpoint.unary(method=MethodInfo(name='TestTableauConnection', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.TestTableauConnectionRequest, output=public_dot_tableau__pb2.TestTableauConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.test_tableau_connection), '/textql.rpc.public.tableau.TableauService/ListTableauProjects': Endpoint.unary(method=MethodInfo(name='ListTableauProjects', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauProjectsRequest, output=public_dot_tableau__pb2.ListTableauProjectsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_tableau_projects), '/textql.rpc.public.tableau.TableauService/ListTableauWorkbooks': Endpoint.unary(method=MethodInfo(name='ListTableauWorkbooks', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauWorkbooksRequest, output=public_dot_tableau__pb2.ListTableauWorkbooksResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_tableau_workbooks), '/textql.rpc.public.tableau.TableauService/ListTableauViews': Endpoint.unary(method=MethodInfo(name='ListTableauViews', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauViewsRequest, output=public_dot_tableau__pb2.ListTableauViewsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_tableau_views), '/textql.rpc.public.tableau.TableauService/ListTableauDatasources': Endpoint.unary(method=MethodInfo(name='ListTableauDatasources', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauDatasourcesRequest, output=public_dot_tableau__pb2.ListTableauDatasourcesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_tableau_datasources), '/textql.rpc.public.tableau.TableauService/StarTableauItem': Endpoint.unary(method=MethodInfo(name='StarTableauItem', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.StarTableauItemRequest, output=public_dot_tableau__pb2.StarTableauItemResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.star_tableau_item), '/textql.rpc.public.tableau.TableauService/UnstarTableauItem': Endpoint.unary(method=MethodInfo(name='UnstarTableauItem', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.UnstarTableauItemRequest, output=public_dot_tableau__pb2.UnstarTableauItemResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.unstar_tableau_item), '/textql.rpc.public.tableau.TableauService/GetStarredTableauItems': Endpoint.unary(method=MethodInfo(name='GetStarredTableauItems', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetStarredTableauItemsRequest, output=public_dot_tableau__pb2.GetStarredTableauItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_starred_tableau_items), '/textql.rpc.public.tableau.TableauService/GetCollectionThumbnail': Endpoint.unary(method=MethodInfo(name='GetCollectionThumbnail', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetCollectionThumbnailRequest, output=public_dot_tableau__pb2.GetCollectionThumbnailResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_collection_thumbnail), '/textql.rpc.public.tableau.TableauService/GenerateEmbedToken': Endpoint.unary(method=MethodInfo(name='GenerateEmbedToken', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GenerateEmbedTokenRequest, output=public_dot_tableau__pb2.GenerateEmbedTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.generate_embed_token), '/textql.rpc.public.tableau.TableauService/GetConnectedAppStatus': Endpoint.unary(method=MethodInfo(name='GetConnectedAppStatus', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetConnectedAppStatusRequest, output=public_dot_tableau__pb2.GetConnectedAppStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_connected_app_status), '/textql.rpc.public.tableau.TableauService/ResetConnectedApp': Endpoint.unary(method=MethodInfo(name='ResetConnectedApp', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ResetConnectedAppRequest, output=public_dot_tableau__pb2.ResetConnectedAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.reset_connected_app), '/textql.rpc.public.tableau.TableauService/RefreshTableauCollection': Endpoint.unary(method=MethodInfo(name='RefreshTableauCollection', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.RefreshTableauCollectionRequest, output=public_dot_tableau__pb2.RefreshTableauCollectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.refresh_tableau_collection)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.tableau.TableauService' + +class TableauServiceClient(ConnectClient): + + async def test_tableau_connection(self, request: public_dot_tableau__pb2.TestTableauConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.TestTableauConnectionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='TestTableauConnection', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.TestTableauConnectionRequest, output=public_dot_tableau__pb2.TestTableauConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_tableau_projects(self, request: public_dot_tableau__pb2.ListTableauProjectsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ListTableauProjectsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListTableauProjects', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauProjectsRequest, output=public_dot_tableau__pb2.ListTableauProjectsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_tableau_workbooks(self, request: public_dot_tableau__pb2.ListTableauWorkbooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ListTableauWorkbooksResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListTableauWorkbooks', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauWorkbooksRequest, output=public_dot_tableau__pb2.ListTableauWorkbooksResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_tableau_views(self, request: public_dot_tableau__pb2.ListTableauViewsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ListTableauViewsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListTableauViews', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauViewsRequest, output=public_dot_tableau__pb2.ListTableauViewsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_tableau_datasources(self, request: public_dot_tableau__pb2.ListTableauDatasourcesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ListTableauDatasourcesResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListTableauDatasources', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauDatasourcesRequest, output=public_dot_tableau__pb2.ListTableauDatasourcesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def star_tableau_item(self, request: public_dot_tableau__pb2.StarTableauItemRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.StarTableauItemResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='StarTableauItem', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.StarTableauItemRequest, output=public_dot_tableau__pb2.StarTableauItemResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def unstar_tableau_item(self, request: public_dot_tableau__pb2.UnstarTableauItemRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.UnstarTableauItemResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UnstarTableauItem', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.UnstarTableauItemRequest, output=public_dot_tableau__pb2.UnstarTableauItemResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_starred_tableau_items(self, request: public_dot_tableau__pb2.GetStarredTableauItemsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.GetStarredTableauItemsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetStarredTableauItems', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetStarredTableauItemsRequest, output=public_dot_tableau__pb2.GetStarredTableauItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_collection_thumbnail(self, request: public_dot_tableau__pb2.GetCollectionThumbnailRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.GetCollectionThumbnailResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCollectionThumbnail', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetCollectionThumbnailRequest, output=public_dot_tableau__pb2.GetCollectionThumbnailResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def generate_embed_token(self, request: public_dot_tableau__pb2.GenerateEmbedTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.GenerateEmbedTokenResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GenerateEmbedToken', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GenerateEmbedTokenRequest, output=public_dot_tableau__pb2.GenerateEmbedTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_connected_app_status(self, request: public_dot_tableau__pb2.GetConnectedAppStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.GetConnectedAppStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetConnectedAppStatus', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetConnectedAppStatusRequest, output=public_dot_tableau__pb2.GetConnectedAppStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def reset_connected_app(self, request: public_dot_tableau__pb2.ResetConnectedAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ResetConnectedAppResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ResetConnectedApp', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ResetConnectedAppRequest, output=public_dot_tableau__pb2.ResetConnectedAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def refresh_tableau_collection(self, request: public_dot_tableau__pb2.RefreshTableauCollectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.RefreshTableauCollectionResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='RefreshTableauCollection', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.RefreshTableauCollectionRequest, output=public_dot_tableau__pb2.RefreshTableauCollectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class TableauServiceSync(Protocol): + + def test_tableau_connection(self, request: public_dot_tableau__pb2.TestTableauConnectionRequest, ctx: RequestContext) -> public_dot_tableau__pb2.TestTableauConnectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_tableau_projects(self, request: public_dot_tableau__pb2.ListTableauProjectsRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ListTableauProjectsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_tableau_workbooks(self, request: public_dot_tableau__pb2.ListTableauWorkbooksRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ListTableauWorkbooksResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_tableau_views(self, request: public_dot_tableau__pb2.ListTableauViewsRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ListTableauViewsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_tableau_datasources(self, request: public_dot_tableau__pb2.ListTableauDatasourcesRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ListTableauDatasourcesResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def star_tableau_item(self, request: public_dot_tableau__pb2.StarTableauItemRequest, ctx: RequestContext) -> public_dot_tableau__pb2.StarTableauItemResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def unstar_tableau_item(self, request: public_dot_tableau__pb2.UnstarTableauItemRequest, ctx: RequestContext) -> public_dot_tableau__pb2.UnstarTableauItemResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_starred_tableau_items(self, request: public_dot_tableau__pb2.GetStarredTableauItemsRequest, ctx: RequestContext) -> public_dot_tableau__pb2.GetStarredTableauItemsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_collection_thumbnail(self, request: public_dot_tableau__pb2.GetCollectionThumbnailRequest, ctx: RequestContext) -> public_dot_tableau__pb2.GetCollectionThumbnailResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def generate_embed_token(self, request: public_dot_tableau__pb2.GenerateEmbedTokenRequest, ctx: RequestContext) -> public_dot_tableau__pb2.GenerateEmbedTokenResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_connected_app_status(self, request: public_dot_tableau__pb2.GetConnectedAppStatusRequest, ctx: RequestContext) -> public_dot_tableau__pb2.GetConnectedAppStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def reset_connected_app(self, request: public_dot_tableau__pb2.ResetConnectedAppRequest, ctx: RequestContext) -> public_dot_tableau__pb2.ResetConnectedAppResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def refresh_tableau_collection(self, request: public_dot_tableau__pb2.RefreshTableauCollectionRequest, ctx: RequestContext) -> public_dot_tableau__pb2.RefreshTableauCollectionResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class TableauServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: TableauServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.tableau.TableauService/TestTableauConnection': EndpointSync.unary(method=MethodInfo(name='TestTableauConnection', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.TestTableauConnectionRequest, output=public_dot_tableau__pb2.TestTableauConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.test_tableau_connection), '/textql.rpc.public.tableau.TableauService/ListTableauProjects': EndpointSync.unary(method=MethodInfo(name='ListTableauProjects', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauProjectsRequest, output=public_dot_tableau__pb2.ListTableauProjectsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_tableau_projects), '/textql.rpc.public.tableau.TableauService/ListTableauWorkbooks': EndpointSync.unary(method=MethodInfo(name='ListTableauWorkbooks', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauWorkbooksRequest, output=public_dot_tableau__pb2.ListTableauWorkbooksResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_tableau_workbooks), '/textql.rpc.public.tableau.TableauService/ListTableauViews': EndpointSync.unary(method=MethodInfo(name='ListTableauViews', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauViewsRequest, output=public_dot_tableau__pb2.ListTableauViewsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_tableau_views), '/textql.rpc.public.tableau.TableauService/ListTableauDatasources': EndpointSync.unary(method=MethodInfo(name='ListTableauDatasources', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauDatasourcesRequest, output=public_dot_tableau__pb2.ListTableauDatasourcesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_tableau_datasources), '/textql.rpc.public.tableau.TableauService/StarTableauItem': EndpointSync.unary(method=MethodInfo(name='StarTableauItem', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.StarTableauItemRequest, output=public_dot_tableau__pb2.StarTableauItemResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.star_tableau_item), '/textql.rpc.public.tableau.TableauService/UnstarTableauItem': EndpointSync.unary(method=MethodInfo(name='UnstarTableauItem', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.UnstarTableauItemRequest, output=public_dot_tableau__pb2.UnstarTableauItemResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.unstar_tableau_item), '/textql.rpc.public.tableau.TableauService/GetStarredTableauItems': EndpointSync.unary(method=MethodInfo(name='GetStarredTableauItems', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetStarredTableauItemsRequest, output=public_dot_tableau__pb2.GetStarredTableauItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_starred_tableau_items), '/textql.rpc.public.tableau.TableauService/GetCollectionThumbnail': EndpointSync.unary(method=MethodInfo(name='GetCollectionThumbnail', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetCollectionThumbnailRequest, output=public_dot_tableau__pb2.GetCollectionThumbnailResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_collection_thumbnail), '/textql.rpc.public.tableau.TableauService/GenerateEmbedToken': EndpointSync.unary(method=MethodInfo(name='GenerateEmbedToken', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GenerateEmbedTokenRequest, output=public_dot_tableau__pb2.GenerateEmbedTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.generate_embed_token), '/textql.rpc.public.tableau.TableauService/GetConnectedAppStatus': EndpointSync.unary(method=MethodInfo(name='GetConnectedAppStatus', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetConnectedAppStatusRequest, output=public_dot_tableau__pb2.GetConnectedAppStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_connected_app_status), '/textql.rpc.public.tableau.TableauService/ResetConnectedApp': EndpointSync.unary(method=MethodInfo(name='ResetConnectedApp', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ResetConnectedAppRequest, output=public_dot_tableau__pb2.ResetConnectedAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.reset_connected_app), '/textql.rpc.public.tableau.TableauService/RefreshTableauCollection': EndpointSync.unary(method=MethodInfo(name='RefreshTableauCollection', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.RefreshTableauCollectionRequest, output=public_dot_tableau__pb2.RefreshTableauCollectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.refresh_tableau_collection)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.tableau.TableauService' + +class TableauServiceClientSync(ConnectClientSync): + + def test_tableau_connection(self, request: public_dot_tableau__pb2.TestTableauConnectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.TestTableauConnectionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='TestTableauConnection', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.TestTableauConnectionRequest, output=public_dot_tableau__pb2.TestTableauConnectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_tableau_projects(self, request: public_dot_tableau__pb2.ListTableauProjectsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ListTableauProjectsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListTableauProjects', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauProjectsRequest, output=public_dot_tableau__pb2.ListTableauProjectsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_tableau_workbooks(self, request: public_dot_tableau__pb2.ListTableauWorkbooksRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ListTableauWorkbooksResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListTableauWorkbooks', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauWorkbooksRequest, output=public_dot_tableau__pb2.ListTableauWorkbooksResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_tableau_views(self, request: public_dot_tableau__pb2.ListTableauViewsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ListTableauViewsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListTableauViews', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauViewsRequest, output=public_dot_tableau__pb2.ListTableauViewsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_tableau_datasources(self, request: public_dot_tableau__pb2.ListTableauDatasourcesRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ListTableauDatasourcesResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListTableauDatasources', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ListTableauDatasourcesRequest, output=public_dot_tableau__pb2.ListTableauDatasourcesResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def star_tableau_item(self, request: public_dot_tableau__pb2.StarTableauItemRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.StarTableauItemResponse: + return self.execute_unary(request=request, method=MethodInfo(name='StarTableauItem', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.StarTableauItemRequest, output=public_dot_tableau__pb2.StarTableauItemResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def unstar_tableau_item(self, request: public_dot_tableau__pb2.UnstarTableauItemRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.UnstarTableauItemResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UnstarTableauItem', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.UnstarTableauItemRequest, output=public_dot_tableau__pb2.UnstarTableauItemResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_starred_tableau_items(self, request: public_dot_tableau__pb2.GetStarredTableauItemsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.GetStarredTableauItemsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetStarredTableauItems', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetStarredTableauItemsRequest, output=public_dot_tableau__pb2.GetStarredTableauItemsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_collection_thumbnail(self, request: public_dot_tableau__pb2.GetCollectionThumbnailRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.GetCollectionThumbnailResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCollectionThumbnail', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetCollectionThumbnailRequest, output=public_dot_tableau__pb2.GetCollectionThumbnailResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def generate_embed_token(self, request: public_dot_tableau__pb2.GenerateEmbedTokenRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.GenerateEmbedTokenResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GenerateEmbedToken', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GenerateEmbedTokenRequest, output=public_dot_tableau__pb2.GenerateEmbedTokenResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_connected_app_status(self, request: public_dot_tableau__pb2.GetConnectedAppStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.GetConnectedAppStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetConnectedAppStatus', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.GetConnectedAppStatusRequest, output=public_dot_tableau__pb2.GetConnectedAppStatusResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def reset_connected_app(self, request: public_dot_tableau__pb2.ResetConnectedAppRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.ResetConnectedAppResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ResetConnectedApp', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.ResetConnectedAppRequest, output=public_dot_tableau__pb2.ResetConnectedAppResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def refresh_tableau_collection(self, request: public_dot_tableau__pb2.RefreshTableauCollectionRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_tableau__pb2.RefreshTableauCollectionResponse: + return self.execute_unary(request=request, method=MethodInfo(name='RefreshTableauCollection', service_name='textql.rpc.public.tableau.TableauService', input=public_dot_tableau__pb2.RefreshTableauCollectionRequest, output=public_dot_tableau__pb2.RefreshTableauCollectionResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/tableau_pb2.py b/src/textql_sdk/_connect/public/tableau_pb2.py new file mode 100644 index 0000000..b80f912 --- /dev/null +++ b/src/textql_sdk/_connect/public/tableau_pb2.py @@ -0,0 +1,82 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/tableau.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14public/tableau.proto\x12\x19textql.rpc.public.tableau\x1a\x1fgoogle/protobuf/timestamp.proto"\x9a\x02\n\x1cTestTableauConnectionRequest\x12&\n\x0cconnector_id\x18\x01 \x01(\x05H\x00R\x0bconnectorId\x88\x01\x01\x12"\n\nserver_url\x18\x02 \x01(\tH\x01R\tserverUrl\x88\x01\x01\x12 \n\tsite_name\x18\x03 \x01(\tH\x02R\x08siteName\x88\x01\x01\x12\x1e\n\x08pat_name\x18\x04 \x01(\tH\x03R\x07patName\x88\x01\x01\x12"\n\npat_secret\x18\x05 \x01(\tH\x04R\tpatSecret\x88\x01\x01B\x0f\n\r_connector_idB\r\n\x0b_server_urlB\x0c\n\n_site_nameB\x0b\n\t_pat_nameB\r\n\x0b_pat_secret"O\n\x1dTestTableauConnectionResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x14\n\x05error\x18\x02 \x01(\tR\x05error"\xa9\x02\n\x0eTableauProject\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x129\n\ncreated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12/\n\x13content_permissions\x18\x06 \x01(\tR\x12contentPermissions\x12*\n\x11parent_project_id\x18\x07 \x01(\tR\x0fparentProjectId"?\n\x1aListTableauProjectsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"d\n\x1bListTableauProjectsResponse\x12E\n\x08projects\x18\x01 \x03(\x0b2).textql.rpc.public.tableau.TableauProjectR\x08projects"\xed\x01\n\x0fTableauWorkbook\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12!\n\x0cproject_name\x18\x03 \x01(\tR\x0bprojectName\x12\x1d\n\nproject_id\x18\x04 \x01(\tR\tprojectId\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt"\x82\x01\n\x1bListTableauWorkbooksRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x1d\n\nproject_id\x18\x02 \x01(\tR\tprojectId\x12!\n\x0cproject_name\x18\x03 \x01(\tR\x0bprojectName"h\n\x1cListTableauWorkbooksResponse\x12H\n\tworkbooks\x18\x01 \x03(\x0b2*.textql.rpc.public.tableau.TableauWorkbookR\tworkbooks"\xab\x02\n\x0bTableauView\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n\x0bcontent_url\x18\x03 \x01(\tR\ncontentUrl\x12\x1f\n\x0bworkbook_id\x18\x04 \x01(\tR\nworkbookId\x12#\n\rworkbook_name\x18\x05 \x01(\tR\x0cworkbookName\x129\n\ncreated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1b\n\tembed_url\x18\x08 \x01(\tR\x08embedUrl"\x82\x01\n\x17ListTableauViewsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x1f\n\x0bworkbook_id\x18\x02 \x01(\tR\nworkbookId\x12#\n\rworkbook_name\x18\x03 \x01(\tR\x0cworkbookName"X\n\x18ListTableauViewsResponse\x12<\n\x05views\x18\x01 \x03(\x0b2&.textql.rpc.public.tableau.TableauViewR\x05views"\xa6\x02\n\x11TableauDatasource\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x129\n\ncreated_at\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12!\n\x0cis_published\x18\x06 \x01(\x08R\x0bisPublished\x12\x1d\n\nproject_id\x18\x07 \x01(\tR\tprojectId\x12!\n\x0cproject_name\x18\x08 \x01(\tR\x0bprojectName"\x90\x01\n\x1dListTableauDatasourcesRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x1f\n\nproject_id\x18\x02 \x01(\tH\x00R\tprojectId\x12!\n\x0bworkbook_id\x18\x03 \x01(\tH\x00R\nworkbookIdB\x08\n\x06filter"p\n\x1eListTableauDatasourcesResponse\x12N\n\x0bdatasources\x18\x01 \x03(\x0b2,.textql.rpc.public.tableau.TableauDatasourceR\x0bdatasources"\xf1\x01\n\x12TableauStarredItem\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12G\n\titem_type\x18\x02 \x01(\x0e2*.textql.rpc.public.tableau.TableauItemTypeR\x08itemType\x12\x17\n\x07item_id\x18\x03 \x01(\tR\x06itemId\x12\x1b\n\titem_name\x18\x04 \x01(\tR\x08itemName\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt"\xba\x01\n\x16StarTableauItemRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12G\n\titem_type\x18\x02 \x01(\x0e2*.textql.rpc.public.tableau.TableauItemTypeR\x08itemType\x12\x17\n\x07item_id\x18\x03 \x01(\tR\x06itemId\x12\x1b\n\titem_name\x18\x04 \x01(\tR\x08itemName"3\n\x17StarTableauItemResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x9f\x01\n\x18UnstarTableauItemRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12G\n\titem_type\x18\x02 \x01(\x0e2*.textql.rpc.public.tableau.TableauItemTypeR\x08itemType\x12\x17\n\x07item_id\x18\x03 \x01(\tR\x06itemId"5\n\x19UnstarTableauItemResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"B\n\x1dGetStarredTableauItemsRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"e\n\x1eGetStarredTableauItemsResponse\x12C\n\x05items\x18\x01 \x03(\x0b2-.textql.rpc.public.tableau.TableauStarredItemR\x05items">\n\x1dGetCollectionThumbnailRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId"=\n\x1eGetCollectionThumbnailResponse\x12\x1b\n\timage_url\x18\x01 \x01(\tR\x08imageUrl"W\n\x19GenerateEmbedTokenRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId\x12\x17\n\x07view_id\x18\x02 \x01(\tR\x06viewId"O\n\x1aGenerateEmbedTokenResponse\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\x12\x1b\n\tembed_url\x18\x02 \x01(\tR\x08embedUrl"A\n\x1cGetConnectedAppStatusRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"\xae\x01\n\x1dGetConnectedAppStatusResponse\x12\x1e\n\nconfigured\x18\x01 \x01(\x08R\nconfigured\x12\x19\n\x08app_name\x18\x02 \x01(\tR\x07appName\x12(\n\x10client_id_suffix\x18\x03 \x01(\tR\x0eclientIdSuffix\x12(\n\x10secret_id_suffix\x18\x04 \x01(\tR\x0esecretIdSuffix"=\n\x18ResetConnectedAppRequest\x12!\n\x0cconnector_id\x18\x01 \x01(\x05R\x0bconnectorId"5\n\x19ResetConnectedAppResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"@\n\x1fRefreshTableauCollectionRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId"p\n RefreshTableauCollectionResponse\x12\x1f\n\x0bviews_count\x18\x01 \x01(\x05R\nviewsCount\x12+\n\x11datasources_count\x18\x02 \x01(\x05R\x10datasourcesCount*\x85\x01\n\x0fTableauItemType\x12\x15\n\x11ITEM_TYPE_UNKNOWN\x10\x00\x12\x15\n\x11ITEM_TYPE_PROJECT\x10\x01\x12\x16\n\x12ITEM_TYPE_WORKBOOK\x10\x02\x12\x12\n\x0eITEM_TYPE_VIEW\x10\x03\x12\x18\n\x14ITEM_TYPE_DATASOURCE\x10\x042\x98\x0e\n\x0eTableauService\x12\x8c\x01\n\x15TestTableauConnection\x127.textql.rpc.public.tableau.TestTableauConnectionRequest\x1a8.textql.rpc.public.tableau.TestTableauConnectionResponse"\x00\x12\x86\x01\n\x13ListTableauProjects\x125.textql.rpc.public.tableau.ListTableauProjectsRequest\x1a6.textql.rpc.public.tableau.ListTableauProjectsResponse"\x00\x12\x89\x01\n\x14ListTableauWorkbooks\x126.textql.rpc.public.tableau.ListTableauWorkbooksRequest\x1a7.textql.rpc.public.tableau.ListTableauWorkbooksResponse"\x00\x12}\n\x10ListTableauViews\x122.textql.rpc.public.tableau.ListTableauViewsRequest\x1a3.textql.rpc.public.tableau.ListTableauViewsResponse"\x00\x12\x8f\x01\n\x16ListTableauDatasources\x128.textql.rpc.public.tableau.ListTableauDatasourcesRequest\x1a9.textql.rpc.public.tableau.ListTableauDatasourcesResponse"\x00\x12z\n\x0fStarTableauItem\x121.textql.rpc.public.tableau.StarTableauItemRequest\x1a2.textql.rpc.public.tableau.StarTableauItemResponse"\x00\x12\x80\x01\n\x11UnstarTableauItem\x123.textql.rpc.public.tableau.UnstarTableauItemRequest\x1a4.textql.rpc.public.tableau.UnstarTableauItemResponse"\x00\x12\x8f\x01\n\x16GetStarredTableauItems\x128.textql.rpc.public.tableau.GetStarredTableauItemsRequest\x1a9.textql.rpc.public.tableau.GetStarredTableauItemsResponse"\x00\x12\x8f\x01\n\x16GetCollectionThumbnail\x128.textql.rpc.public.tableau.GetCollectionThumbnailRequest\x1a9.textql.rpc.public.tableau.GetCollectionThumbnailResponse"\x00\x12\x83\x01\n\x12GenerateEmbedToken\x124.textql.rpc.public.tableau.GenerateEmbedTokenRequest\x1a5.textql.rpc.public.tableau.GenerateEmbedTokenResponse"\x00\x12\x8c\x01\n\x15GetConnectedAppStatus\x127.textql.rpc.public.tableau.GetConnectedAppStatusRequest\x1a8.textql.rpc.public.tableau.GetConnectedAppStatusResponse"\x00\x12\x80\x01\n\x11ResetConnectedApp\x123.textql.rpc.public.tableau.ResetConnectedAppRequest\x1a4.textql.rpc.public.tableau.ResetConnectedAppResponse"\x00\x12\x95\x01\n\x18RefreshTableauCollection\x12:.textql.rpc.public.tableau.RefreshTableauCollectionRequest\x1a;.textql.rpc.public.tableau.RefreshTableauCollectionResponse"\x00B;Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/publicb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.tableau_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/textqllabs/demo2/compute/pkg/rpc/server/public' + _globals['_TABLEAUITEMTYPE']._serialized_start = 4193 + _globals['_TABLEAUITEMTYPE']._serialized_end = 4326 + _globals['_TESTTABLEAUCONNECTIONREQUEST']._serialized_start = 85 + _globals['_TESTTABLEAUCONNECTIONREQUEST']._serialized_end = 367 + _globals['_TESTTABLEAUCONNECTIONRESPONSE']._serialized_start = 369 + _globals['_TESTTABLEAUCONNECTIONRESPONSE']._serialized_end = 448 + _globals['_TABLEAUPROJECT']._serialized_start = 451 + _globals['_TABLEAUPROJECT']._serialized_end = 748 + _globals['_LISTTABLEAUPROJECTSREQUEST']._serialized_start = 750 + _globals['_LISTTABLEAUPROJECTSREQUEST']._serialized_end = 813 + _globals['_LISTTABLEAUPROJECTSRESPONSE']._serialized_start = 815 + _globals['_LISTTABLEAUPROJECTSRESPONSE']._serialized_end = 915 + _globals['_TABLEAUWORKBOOK']._serialized_start = 918 + _globals['_TABLEAUWORKBOOK']._serialized_end = 1155 + _globals['_LISTTABLEAUWORKBOOKSREQUEST']._serialized_start = 1158 + _globals['_LISTTABLEAUWORKBOOKSREQUEST']._serialized_end = 1288 + _globals['_LISTTABLEAUWORKBOOKSRESPONSE']._serialized_start = 1290 + _globals['_LISTTABLEAUWORKBOOKSRESPONSE']._serialized_end = 1394 + _globals['_TABLEAUVIEW']._serialized_start = 1397 + _globals['_TABLEAUVIEW']._serialized_end = 1696 + _globals['_LISTTABLEAUVIEWSREQUEST']._serialized_start = 1699 + _globals['_LISTTABLEAUVIEWSREQUEST']._serialized_end = 1829 + _globals['_LISTTABLEAUVIEWSRESPONSE']._serialized_start = 1831 + _globals['_LISTTABLEAUVIEWSRESPONSE']._serialized_end = 1919 + _globals['_TABLEAUDATASOURCE']._serialized_start = 1922 + _globals['_TABLEAUDATASOURCE']._serialized_end = 2216 + _globals['_LISTTABLEAUDATASOURCESREQUEST']._serialized_start = 2219 + _globals['_LISTTABLEAUDATASOURCESREQUEST']._serialized_end = 2363 + _globals['_LISTTABLEAUDATASOURCESRESPONSE']._serialized_start = 2365 + _globals['_LISTTABLEAUDATASOURCESRESPONSE']._serialized_end = 2477 + _globals['_TABLEAUSTARREDITEM']._serialized_start = 2480 + _globals['_TABLEAUSTARREDITEM']._serialized_end = 2721 + _globals['_STARTABLEAUITEMREQUEST']._serialized_start = 2724 + _globals['_STARTABLEAUITEMREQUEST']._serialized_end = 2910 + _globals['_STARTABLEAUITEMRESPONSE']._serialized_start = 2912 + _globals['_STARTABLEAUITEMRESPONSE']._serialized_end = 2963 + _globals['_UNSTARTABLEAUITEMREQUEST']._serialized_start = 2966 + _globals['_UNSTARTABLEAUITEMREQUEST']._serialized_end = 3125 + _globals['_UNSTARTABLEAUITEMRESPONSE']._serialized_start = 3127 + _globals['_UNSTARTABLEAUITEMRESPONSE']._serialized_end = 3180 + _globals['_GETSTARREDTABLEAUITEMSREQUEST']._serialized_start = 3182 + _globals['_GETSTARREDTABLEAUITEMSREQUEST']._serialized_end = 3248 + _globals['_GETSTARREDTABLEAUITEMSRESPONSE']._serialized_start = 3250 + _globals['_GETSTARREDTABLEAUITEMSRESPONSE']._serialized_end = 3351 + _globals['_GETCOLLECTIONTHUMBNAILREQUEST']._serialized_start = 3353 + _globals['_GETCOLLECTIONTHUMBNAILREQUEST']._serialized_end = 3415 + _globals['_GETCOLLECTIONTHUMBNAILRESPONSE']._serialized_start = 3417 + _globals['_GETCOLLECTIONTHUMBNAILRESPONSE']._serialized_end = 3478 + _globals['_GENERATEEMBEDTOKENREQUEST']._serialized_start = 3480 + _globals['_GENERATEEMBEDTOKENREQUEST']._serialized_end = 3567 + _globals['_GENERATEEMBEDTOKENRESPONSE']._serialized_start = 3569 + _globals['_GENERATEEMBEDTOKENRESPONSE']._serialized_end = 3648 + _globals['_GETCONNECTEDAPPSTATUSREQUEST']._serialized_start = 3650 + _globals['_GETCONNECTEDAPPSTATUSREQUEST']._serialized_end = 3715 + _globals['_GETCONNECTEDAPPSTATUSRESPONSE']._serialized_start = 3718 + _globals['_GETCONNECTEDAPPSTATUSRESPONSE']._serialized_end = 3892 + _globals['_RESETCONNECTEDAPPREQUEST']._serialized_start = 3894 + _globals['_RESETCONNECTEDAPPREQUEST']._serialized_end = 3955 + _globals['_RESETCONNECTEDAPPRESPONSE']._serialized_start = 3957 + _globals['_RESETCONNECTEDAPPRESPONSE']._serialized_end = 4010 + _globals['_REFRESHTABLEAUCOLLECTIONREQUEST']._serialized_start = 4012 + _globals['_REFRESHTABLEAUCOLLECTIONREQUEST']._serialized_end = 4076 + _globals['_REFRESHTABLEAUCOLLECTIONRESPONSE']._serialized_start = 4078 + _globals['_REFRESHTABLEAUCOLLECTIONRESPONSE']._serialized_end = 4190 + _globals['_TABLEAUSERVICE']._serialized_start = 4329 + _globals['_TABLEAUSERVICE']._serialized_end = 6145 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/tableau_pb2.pyi b/src/textql_sdk/_connect/public/tableau_pb2.pyi new file mode 100644 index 0000000..6fe2ae8 --- /dev/null +++ b/src/textql_sdk/_connect/public/tableau_pb2.pyi @@ -0,0 +1,372 @@ +import datetime +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class TableauItemType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ITEM_TYPE_UNKNOWN: _ClassVar[TableauItemType] + ITEM_TYPE_PROJECT: _ClassVar[TableauItemType] + ITEM_TYPE_WORKBOOK: _ClassVar[TableauItemType] + ITEM_TYPE_VIEW: _ClassVar[TableauItemType] + ITEM_TYPE_DATASOURCE: _ClassVar[TableauItemType] +ITEM_TYPE_UNKNOWN: TableauItemType +ITEM_TYPE_PROJECT: TableauItemType +ITEM_TYPE_WORKBOOK: TableauItemType +ITEM_TYPE_VIEW: TableauItemType +ITEM_TYPE_DATASOURCE: TableauItemType + +class TestTableauConnectionRequest(_message.Message): + __slots__ = ('connector_id', 'server_url', 'site_name', 'pat_name', 'pat_secret') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + SERVER_URL_FIELD_NUMBER: _ClassVar[int] + SITE_NAME_FIELD_NUMBER: _ClassVar[int] + PAT_NAME_FIELD_NUMBER: _ClassVar[int] + PAT_SECRET_FIELD_NUMBER: _ClassVar[int] + connector_id: int + server_url: str + site_name: str + pat_name: str + pat_secret: str + + def __init__(self, connector_id: _Optional[int]=..., server_url: _Optional[str]=..., site_name: _Optional[str]=..., pat_name: _Optional[str]=..., pat_secret: _Optional[str]=...) -> None: + ... + +class TestTableauConnectionResponse(_message.Message): + __slots__ = ('success', 'error') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + success: bool + error: str + + def __init__(self, success: bool=..., error: _Optional[str]=...) -> None: + ... + +class TableauProject(_message.Message): + __slots__ = ('id', 'name', 'description', 'created_at', 'updated_at', 'content_permissions', 'parent_project_id') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + CONTENT_PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + PARENT_PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + content_permissions: str + parent_project_id: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., description: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., content_permissions: _Optional[str]=..., parent_project_id: _Optional[str]=...) -> None: + ... + +class ListTableauProjectsRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class ListTableauProjectsResponse(_message.Message): + __slots__ = ('projects',) + PROJECTS_FIELD_NUMBER: _ClassVar[int] + projects: _containers.RepeatedCompositeFieldContainer[TableauProject] + + def __init__(self, projects: _Optional[_Iterable[_Union[TableauProject, _Mapping]]]=...) -> None: + ... + +class TableauWorkbook(_message.Message): + __slots__ = ('id', 'name', 'project_name', 'project_id', 'created_at', 'updated_at') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PROJECT_NAME_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + project_name: str + project_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., project_name: _Optional[str]=..., project_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class ListTableauWorkbooksRequest(_message.Message): + __slots__ = ('connector_id', 'project_id', 'project_name') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_NAME_FIELD_NUMBER: _ClassVar[int] + connector_id: int + project_id: str + project_name: str + + def __init__(self, connector_id: _Optional[int]=..., project_id: _Optional[str]=..., project_name: _Optional[str]=...) -> None: + ... + +class ListTableauWorkbooksResponse(_message.Message): + __slots__ = ('workbooks',) + WORKBOOKS_FIELD_NUMBER: _ClassVar[int] + workbooks: _containers.RepeatedCompositeFieldContainer[TableauWorkbook] + + def __init__(self, workbooks: _Optional[_Iterable[_Union[TableauWorkbook, _Mapping]]]=...) -> None: + ... + +class TableauView(_message.Message): + __slots__ = ('id', 'name', 'content_url', 'workbook_id', 'workbook_name', 'created_at', 'updated_at', 'embed_url') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CONTENT_URL_FIELD_NUMBER: _ClassVar[int] + WORKBOOK_ID_FIELD_NUMBER: _ClassVar[int] + WORKBOOK_NAME_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + EMBED_URL_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + content_url: str + workbook_id: str + workbook_name: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + embed_url: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., content_url: _Optional[str]=..., workbook_id: _Optional[str]=..., workbook_name: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., embed_url: _Optional[str]=...) -> None: + ... + +class ListTableauViewsRequest(_message.Message): + __slots__ = ('connector_id', 'workbook_id', 'workbook_name') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + WORKBOOK_ID_FIELD_NUMBER: _ClassVar[int] + WORKBOOK_NAME_FIELD_NUMBER: _ClassVar[int] + connector_id: int + workbook_id: str + workbook_name: str + + def __init__(self, connector_id: _Optional[int]=..., workbook_id: _Optional[str]=..., workbook_name: _Optional[str]=...) -> None: + ... + +class ListTableauViewsResponse(_message.Message): + __slots__ = ('views',) + VIEWS_FIELD_NUMBER: _ClassVar[int] + views: _containers.RepeatedCompositeFieldContainer[TableauView] + + def __init__(self, views: _Optional[_Iterable[_Union[TableauView, _Mapping]]]=...) -> None: + ... + +class TableauDatasource(_message.Message): + __slots__ = ('id', 'name', 'type', 'created_at', 'updated_at', 'is_published', 'project_id', 'project_name') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + IS_PUBLISHED_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_NAME_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + type: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + is_published: bool + project_id: str + project_name: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., type: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., is_published: bool=..., project_id: _Optional[str]=..., project_name: _Optional[str]=...) -> None: + ... + +class ListTableauDatasourcesRequest(_message.Message): + __slots__ = ('connector_id', 'project_id', 'workbook_id') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + WORKBOOK_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + project_id: str + workbook_id: str + + def __init__(self, connector_id: _Optional[int]=..., project_id: _Optional[str]=..., workbook_id: _Optional[str]=...) -> None: + ... + +class ListTableauDatasourcesResponse(_message.Message): + __slots__ = ('datasources',) + DATASOURCES_FIELD_NUMBER: _ClassVar[int] + datasources: _containers.RepeatedCompositeFieldContainer[TableauDatasource] + + def __init__(self, datasources: _Optional[_Iterable[_Union[TableauDatasource, _Mapping]]]=...) -> None: + ... + +class TableauStarredItem(_message.Message): + __slots__ = ('connector_id', 'item_type', 'item_id', 'item_name', 'created_at') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + ITEM_TYPE_FIELD_NUMBER: _ClassVar[int] + ITEM_ID_FIELD_NUMBER: _ClassVar[int] + ITEM_NAME_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + connector_id: int + item_type: TableauItemType + item_id: str + item_name: str + created_at: _timestamp_pb2.Timestamp + + def __init__(self, connector_id: _Optional[int]=..., item_type: _Optional[_Union[TableauItemType, str]]=..., item_id: _Optional[str]=..., item_name: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: + ... + +class StarTableauItemRequest(_message.Message): + __slots__ = ('connector_id', 'item_type', 'item_id', 'item_name') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + ITEM_TYPE_FIELD_NUMBER: _ClassVar[int] + ITEM_ID_FIELD_NUMBER: _ClassVar[int] + ITEM_NAME_FIELD_NUMBER: _ClassVar[int] + connector_id: int + item_type: TableauItemType + item_id: str + item_name: str + + def __init__(self, connector_id: _Optional[int]=..., item_type: _Optional[_Union[TableauItemType, str]]=..., item_id: _Optional[str]=..., item_name: _Optional[str]=...) -> None: + ... + +class StarTableauItemResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class UnstarTableauItemRequest(_message.Message): + __slots__ = ('connector_id', 'item_type', 'item_id') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + ITEM_TYPE_FIELD_NUMBER: _ClassVar[int] + ITEM_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + item_type: TableauItemType + item_id: str + + def __init__(self, connector_id: _Optional[int]=..., item_type: _Optional[_Union[TableauItemType, str]]=..., item_id: _Optional[str]=...) -> None: + ... + +class UnstarTableauItemResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class GetStarredTableauItemsRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class GetStarredTableauItemsResponse(_message.Message): + __slots__ = ('items',) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedCompositeFieldContainer[TableauStarredItem] + + def __init__(self, items: _Optional[_Iterable[_Union[TableauStarredItem, _Mapping]]]=...) -> None: + ... + +class GetCollectionThumbnailRequest(_message.Message): + __slots__ = ('dataset_id',) + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + + def __init__(self, dataset_id: _Optional[str]=...) -> None: + ... + +class GetCollectionThumbnailResponse(_message.Message): + __slots__ = ('image_url',) + IMAGE_URL_FIELD_NUMBER: _ClassVar[int] + image_url: str + + def __init__(self, image_url: _Optional[str]=...) -> None: + ... + +class GenerateEmbedTokenRequest(_message.Message): + __slots__ = ('connector_id', 'view_id') + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + VIEW_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + view_id: str + + def __init__(self, connector_id: _Optional[int]=..., view_id: _Optional[str]=...) -> None: + ... + +class GenerateEmbedTokenResponse(_message.Message): + __slots__ = ('token', 'embed_url') + TOKEN_FIELD_NUMBER: _ClassVar[int] + EMBED_URL_FIELD_NUMBER: _ClassVar[int] + token: str + embed_url: str + + def __init__(self, token: _Optional[str]=..., embed_url: _Optional[str]=...) -> None: + ... + +class GetConnectedAppStatusRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class GetConnectedAppStatusResponse(_message.Message): + __slots__ = ('configured', 'app_name', 'client_id_suffix', 'secret_id_suffix') + CONFIGURED_FIELD_NUMBER: _ClassVar[int] + APP_NAME_FIELD_NUMBER: _ClassVar[int] + CLIENT_ID_SUFFIX_FIELD_NUMBER: _ClassVar[int] + SECRET_ID_SUFFIX_FIELD_NUMBER: _ClassVar[int] + configured: bool + app_name: str + client_id_suffix: str + secret_id_suffix: str + + def __init__(self, configured: bool=..., app_name: _Optional[str]=..., client_id_suffix: _Optional[str]=..., secret_id_suffix: _Optional[str]=...) -> None: + ... + +class ResetConnectedAppRequest(_message.Message): + __slots__ = ('connector_id',) + CONNECTOR_ID_FIELD_NUMBER: _ClassVar[int] + connector_id: int + + def __init__(self, connector_id: _Optional[int]=...) -> None: + ... + +class ResetConnectedAppResponse(_message.Message): + __slots__ = ('success',) + SUCCESS_FIELD_NUMBER: _ClassVar[int] + success: bool + + def __init__(self, success: bool=...) -> None: + ... + +class RefreshTableauCollectionRequest(_message.Message): + __slots__ = ('dataset_id',) + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + + def __init__(self, dataset_id: _Optional[str]=...) -> None: + ... + +class RefreshTableauCollectionResponse(_message.Message): + __slots__ = ('views_count', 'datasources_count') + VIEWS_COUNT_FIELD_NUMBER: _ClassVar[int] + DATASOURCES_COUNT_FIELD_NUMBER: _ClassVar[int] + views_count: int + datasources_count: int + + def __init__(self, views_count: _Optional[int]=..., datasources_count: _Optional[int]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/teams_connect.py b/src/textql_sdk/_connect/public/teams_connect.py new file mode 100644 index 0000000..89fcacb --- /dev/null +++ b/src/textql_sdk/_connect/public/teams_connect.py @@ -0,0 +1,136 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import teams_pb2 as public_dot_teams__pb2 + +class TeamsService(Protocol): + + async def sync_workspace(self, request: public_dot_teams__pb2.TeamsSyncWorkspaceRequest, ctx: RequestContext) -> public_dot_teams__pb2.TeamsSyncWorkspaceResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_installations(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.TeamsListInstallationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_current_user(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.TeamsGetCurrentUserResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_channels(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.TeamsListChannelsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.TeamsListUsersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_installation(self, request: public_dot_teams__pb2.TeamsDeleteInstallationRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_teams_uuid(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.CreateTeamsUuidResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def handle_teams_o_auth_callback(self, request: public_dot_teams__pb2.HandleTeamsOAuthCallbackRequest, ctx: RequestContext) -> public_dot_teams__pb2.HandleTeamsOAuthCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class TeamsServiceASGIApplication(ConnectASGIApplication[TeamsService]): + + def __init__(self, service: TeamsService | AsyncGenerator[TeamsService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.teams.TeamsService/SyncWorkspace': Endpoint.unary(method=MethodInfo(name='SyncWorkspace', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.TeamsSyncWorkspaceRequest, output=public_dot_teams__pb2.TeamsSyncWorkspaceResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.sync_workspace), '/textql.rpc.public.teams.TeamsService/ListInstallations': Endpoint.unary(method=MethodInfo(name='ListInstallations', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListInstallationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_installations), '/textql.rpc.public.teams.TeamsService/GetCurrentUser': Endpoint.unary(method=MethodInfo(name='GetCurrentUser', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsGetCurrentUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.get_current_user), '/textql.rpc.public.teams.TeamsService/ListChannels': Endpoint.unary(method=MethodInfo(name='ListChannels', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListChannelsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_channels), '/textql.rpc.public.teams.TeamsService/ListUsers': Endpoint.unary(method=MethodInfo(name='ListUsers', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListUsersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.list_users), '/textql.rpc.public.teams.TeamsService/DeleteInstallation': Endpoint.unary(method=MethodInfo(name='DeleteInstallation', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.TeamsDeleteInstallationRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_installation), '/textql.rpc.public.teams.TeamsService/CreateTeamsUuid': Endpoint.unary(method=MethodInfo(name='CreateTeamsUuid', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.CreateTeamsUuidResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_teams_uuid), '/textql.rpc.public.teams.TeamsService/HandleTeamsOAuthCallback': Endpoint.unary(method=MethodInfo(name='HandleTeamsOAuthCallback', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.HandleTeamsOAuthCallbackRequest, output=public_dot_teams__pb2.HandleTeamsOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.handle_teams_o_auth_callback)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.teams.TeamsService' + +class TeamsServiceClient(ConnectClient): + + async def sync_workspace(self, request: public_dot_teams__pb2.TeamsSyncWorkspaceRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsSyncWorkspaceResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SyncWorkspace', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.TeamsSyncWorkspaceRequest, output=public_dot_teams__pb2.TeamsSyncWorkspaceResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_installations(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsListInstallationsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListInstallations', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListInstallationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_current_user(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsGetCurrentUserResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetCurrentUser', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsGetCurrentUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_channels(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsListChannelsResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListChannels', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListChannelsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsListUsersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListUsers', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListUsersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_installation(self, request: public_dot_teams__pb2.TeamsDeleteInstallationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeleteInstallation', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.TeamsDeleteInstallationRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_teams_uuid(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.CreateTeamsUuidResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateTeamsUuid', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.CreateTeamsUuidResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def handle_teams_o_auth_callback(self, request: public_dot_teams__pb2.HandleTeamsOAuthCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.HandleTeamsOAuthCallbackResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='HandleTeamsOAuthCallback', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.HandleTeamsOAuthCallbackRequest, output=public_dot_teams__pb2.HandleTeamsOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class TeamsServiceSync(Protocol): + + def sync_workspace(self, request: public_dot_teams__pb2.TeamsSyncWorkspaceRequest, ctx: RequestContext) -> public_dot_teams__pb2.TeamsSyncWorkspaceResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_installations(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.TeamsListInstallationsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_current_user(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.TeamsGetCurrentUserResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_channels(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.TeamsListChannelsResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.TeamsListUsersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_installation(self, request: public_dot_teams__pb2.TeamsDeleteInstallationRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_teams_uuid(self, request: google_dot_protobuf_dot_empty__pb2.Empty, ctx: RequestContext) -> public_dot_teams__pb2.CreateTeamsUuidResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def handle_teams_o_auth_callback(self, request: public_dot_teams__pb2.HandleTeamsOAuthCallbackRequest, ctx: RequestContext) -> public_dot_teams__pb2.HandleTeamsOAuthCallbackResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class TeamsServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: TeamsServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.teams.TeamsService/SyncWorkspace': EndpointSync.unary(method=MethodInfo(name='SyncWorkspace', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.TeamsSyncWorkspaceRequest, output=public_dot_teams__pb2.TeamsSyncWorkspaceResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.sync_workspace), '/textql.rpc.public.teams.TeamsService/ListInstallations': EndpointSync.unary(method=MethodInfo(name='ListInstallations', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListInstallationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_installations), '/textql.rpc.public.teams.TeamsService/GetCurrentUser': EndpointSync.unary(method=MethodInfo(name='GetCurrentUser', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsGetCurrentUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.get_current_user), '/textql.rpc.public.teams.TeamsService/ListChannels': EndpointSync.unary(method=MethodInfo(name='ListChannels', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListChannelsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_channels), '/textql.rpc.public.teams.TeamsService/ListUsers': EndpointSync.unary(method=MethodInfo(name='ListUsers', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListUsersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.list_users), '/textql.rpc.public.teams.TeamsService/DeleteInstallation': EndpointSync.unary(method=MethodInfo(name='DeleteInstallation', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.TeamsDeleteInstallationRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_installation), '/textql.rpc.public.teams.TeamsService/CreateTeamsUuid': EndpointSync.unary(method=MethodInfo(name='CreateTeamsUuid', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.CreateTeamsUuidResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_teams_uuid), '/textql.rpc.public.teams.TeamsService/HandleTeamsOAuthCallback': EndpointSync.unary(method=MethodInfo(name='HandleTeamsOAuthCallback', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.HandleTeamsOAuthCallbackRequest, output=public_dot_teams__pb2.HandleTeamsOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.handle_teams_o_auth_callback)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.teams.TeamsService' + +class TeamsServiceClientSync(ConnectClientSync): + + def sync_workspace(self, request: public_dot_teams__pb2.TeamsSyncWorkspaceRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsSyncWorkspaceResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SyncWorkspace', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.TeamsSyncWorkspaceRequest, output=public_dot_teams__pb2.TeamsSyncWorkspaceResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_installations(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsListInstallationsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListInstallations', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListInstallationsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_current_user(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsGetCurrentUserResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetCurrentUser', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsGetCurrentUserResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_channels(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsListChannelsResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListChannels', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListChannelsResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_users(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.TeamsListUsersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListUsers', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.TeamsListUsersResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_installation(self, request: public_dot_teams__pb2.TeamsDeleteInstallationRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeleteInstallation', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.TeamsDeleteInstallationRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_teams_uuid(self, request: google_dot_protobuf_dot_empty__pb2.Empty, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.CreateTeamsUuidResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateTeamsUuid', service_name='textql.rpc.public.teams.TeamsService', input=google_dot_protobuf_dot_empty__pb2.Empty, output=public_dot_teams__pb2.CreateTeamsUuidResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def handle_teams_o_auth_callback(self, request: public_dot_teams__pb2.HandleTeamsOAuthCallbackRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_teams__pb2.HandleTeamsOAuthCallbackResponse: + return self.execute_unary(request=request, method=MethodInfo(name='HandleTeamsOAuthCallback', service_name='textql.rpc.public.teams.TeamsService', input=public_dot_teams__pb2.HandleTeamsOAuthCallbackRequest, output=public_dot_teams__pb2.HandleTeamsOAuthCallbackResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/teams_pb2.py b/src/textql_sdk/_connect/public/teams_pb2.py new file mode 100644 index 0000000..1542ace --- /dev/null +++ b/src/textql_sdk/_connect/public/teams_pb2.py @@ -0,0 +1,43 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/teams.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import cells_pb2 as public_dot_cells__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12public/teams.proto\x12\x17textql.rpc.public.teams\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x12public/cells.proto"8\n\x19TeamsSyncWorkspaceRequest\x12\x1b\n\ttenant_id\x18\x01 \x01(\tR\x08tenantId"N\n\x1aTeamsSyncWorkspaceResponse\x12\x16\n\x06queued\x18\x01 \x01(\x08R\x06queued\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"r\n\x1eTeamsListInstallationsResponse\x12P\n\rinstallations\x18\x01 \x03(\x0b2*.textql.rpc.public.teams.TeamsInstallationR\rinstallations"\x8d\x01\n\x11TeamsInstallation\x12\x1b\n\ttenant_id\x18\x01 \x01(\tR\x08tenantId\x129\n\ncreated_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x17\n\x04name\x18\x03 \x01(\tH\x00R\x04name\x88\x01\x01B\x07\n\x05_name"c\n\x1bTeamsGetCurrentUserResponse\x12;\n\x04user\x18\x01 \x01(\x0b2".textql.rpc.public.teams.TeamsUserH\x00R\x04user\x88\x01\x01B\x07\n\x05_user"b\n\tTeamsUser\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x19\n\x05email\x18\x03 \x01(\tH\x01R\x05email\x88\x01\x01B\x07\n\x05_nameB\x08\n\x06_email"a\n\x19TeamsListChannelsResponse\x12D\n\x08channels\x18\x01 \x03(\x0b2(.textql.rpc.public.cells.TeamsChannelRefR\x08channels"U\n\x16TeamsListUsersResponse\x12;\n\x05users\x18\x01 \x03(\x0b2%.textql.rpc.public.cells.TeamsUserRefR\x05users"=\n\x1eTeamsDeleteInstallationRequest\x12\x1b\n\ttenant_id\x18\x01 \x01(\tR\x08tenantId"-\n\x17CreateTeamsUuidResponse\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid"K\n\x1fHandleTeamsOAuthCallbackRequest\x12\x12\n\x04code\x18\x01 \x01(\tR\x04code\x12\x14\n\x05state\x18\x02 \x01(\tR\x05state"\xa8\x01\n HandleTeamsOAuthCallbackResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12(\n\rerror_message\x18\x02 \x01(\tH\x00R\x0cerrorMessage\x88\x01\x01\x12 \n\ttenant_id\x18\x03 \x01(\tH\x01R\x08tenantId\x88\x01\x01B\x10\n\x0e_error_messageB\x0c\n\n_tenant_id2\xd6\x06\n\x0cTeamsService\x12x\n\rSyncWorkspace\x122.textql.rpc.public.teams.TeamsSyncWorkspaceRequest\x1a3.textql.rpc.public.teams.TeamsSyncWorkspaceResponse\x12d\n\x11ListInstallations\x12\x16.google.protobuf.Empty\x1a7.textql.rpc.public.teams.TeamsListInstallationsResponse\x12^\n\x0eGetCurrentUser\x12\x16.google.protobuf.Empty\x1a4.textql.rpc.public.teams.TeamsGetCurrentUserResponse\x12Z\n\x0cListChannels\x12\x16.google.protobuf.Empty\x1a2.textql.rpc.public.teams.TeamsListChannelsResponse\x12T\n\tListUsers\x12\x16.google.protobuf.Empty\x1a/.textql.rpc.public.teams.TeamsListUsersResponse\x12e\n\x12DeleteInstallation\x127.textql.rpc.public.teams.TeamsDeleteInstallationRequest\x1a\x16.google.protobuf.Empty\x12[\n\x0fCreateTeamsUuid\x12\x16.google.protobuf.Empty\x1a0.textql.rpc.public.teams.CreateTeamsUuidResponse\x12\x8f\x01\n\x18HandleTeamsOAuthCallback\x128.textql.rpc.public.teams.HandleTeamsOAuthCallbackRequest\x1a9.textql.rpc.public.teams.HandleTeamsOAuthCallbackResponseb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.teams_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TEAMSSYNCWORKSPACEREQUEST']._serialized_start = 129 + _globals['_TEAMSSYNCWORKSPACEREQUEST']._serialized_end = 185 + _globals['_TEAMSSYNCWORKSPACERESPONSE']._serialized_start = 187 + _globals['_TEAMSSYNCWORKSPACERESPONSE']._serialized_end = 265 + _globals['_TEAMSLISTINSTALLATIONSRESPONSE']._serialized_start = 267 + _globals['_TEAMSLISTINSTALLATIONSRESPONSE']._serialized_end = 381 + _globals['_TEAMSINSTALLATION']._serialized_start = 384 + _globals['_TEAMSINSTALLATION']._serialized_end = 525 + _globals['_TEAMSGETCURRENTUSERRESPONSE']._serialized_start = 527 + _globals['_TEAMSGETCURRENTUSERRESPONSE']._serialized_end = 626 + _globals['_TEAMSUSER']._serialized_start = 628 + _globals['_TEAMSUSER']._serialized_end = 726 + _globals['_TEAMSLISTCHANNELSRESPONSE']._serialized_start = 728 + _globals['_TEAMSLISTCHANNELSRESPONSE']._serialized_end = 825 + _globals['_TEAMSLISTUSERSRESPONSE']._serialized_start = 827 + _globals['_TEAMSLISTUSERSRESPONSE']._serialized_end = 912 + _globals['_TEAMSDELETEINSTALLATIONREQUEST']._serialized_start = 914 + _globals['_TEAMSDELETEINSTALLATIONREQUEST']._serialized_end = 975 + _globals['_CREATETEAMSUUIDRESPONSE']._serialized_start = 977 + _globals['_CREATETEAMSUUIDRESPONSE']._serialized_end = 1022 + _globals['_HANDLETEAMSOAUTHCALLBACKREQUEST']._serialized_start = 1024 + _globals['_HANDLETEAMSOAUTHCALLBACKREQUEST']._serialized_end = 1099 + _globals['_HANDLETEAMSOAUTHCALLBACKRESPONSE']._serialized_start = 1102 + _globals['_HANDLETEAMSOAUTHCALLBACKRESPONSE']._serialized_end = 1270 + _globals['_TEAMSSERVICE']._serialized_start = 1273 + _globals['_TEAMSSERVICE']._serialized_end = 2127 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/teams_pb2.pyi b/src/textql_sdk/_connect/public/teams_pb2.pyi new file mode 100644 index 0000000..c56133c --- /dev/null +++ b/src/textql_sdk/_connect/public/teams_pb2.pyi @@ -0,0 +1,122 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import cells_pb2 as _cells_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class TeamsSyncWorkspaceRequest(_message.Message): + __slots__ = ('tenant_id',) + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + + def __init__(self, tenant_id: _Optional[str]=...) -> None: + ... + +class TeamsSyncWorkspaceResponse(_message.Message): + __slots__ = ('queued', 'message') + QUEUED_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + queued: bool + message: str + + def __init__(self, queued: bool=..., message: _Optional[str]=...) -> None: + ... + +class TeamsListInstallationsResponse(_message.Message): + __slots__ = ('installations',) + INSTALLATIONS_FIELD_NUMBER: _ClassVar[int] + installations: _containers.RepeatedCompositeFieldContainer[TeamsInstallation] + + def __init__(self, installations: _Optional[_Iterable[_Union[TeamsInstallation, _Mapping]]]=...) -> None: + ... + +class TeamsInstallation(_message.Message): + __slots__ = ('tenant_id', 'created_at', 'name') + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + created_at: _timestamp_pb2.Timestamp + name: str + + def __init__(self, tenant_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., name: _Optional[str]=...) -> None: + ... + +class TeamsGetCurrentUserResponse(_message.Message): + __slots__ = ('user',) + USER_FIELD_NUMBER: _ClassVar[int] + user: TeamsUser + + def __init__(self, user: _Optional[_Union[TeamsUser, _Mapping]]=...) -> None: + ... + +class TeamsUser(_message.Message): + __slots__ = ('id', 'name', 'email') + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + email: str + + def __init__(self, id: _Optional[str]=..., name: _Optional[str]=..., email: _Optional[str]=...) -> None: + ... + +class TeamsListChannelsResponse(_message.Message): + __slots__ = ('channels',) + CHANNELS_FIELD_NUMBER: _ClassVar[int] + channels: _containers.RepeatedCompositeFieldContainer[_cells_pb2.TeamsChannelRef] + + def __init__(self, channels: _Optional[_Iterable[_Union[_cells_pb2.TeamsChannelRef, _Mapping]]]=...) -> None: + ... + +class TeamsListUsersResponse(_message.Message): + __slots__ = ('users',) + USERS_FIELD_NUMBER: _ClassVar[int] + users: _containers.RepeatedCompositeFieldContainer[_cells_pb2.TeamsUserRef] + + def __init__(self, users: _Optional[_Iterable[_Union[_cells_pb2.TeamsUserRef, _Mapping]]]=...) -> None: + ... + +class TeamsDeleteInstallationRequest(_message.Message): + __slots__ = ('tenant_id',) + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + tenant_id: str + + def __init__(self, tenant_id: _Optional[str]=...) -> None: + ... + +class CreateTeamsUuidResponse(_message.Message): + __slots__ = ('uuid',) + UUID_FIELD_NUMBER: _ClassVar[int] + uuid: str + + def __init__(self, uuid: _Optional[str]=...) -> None: + ... + +class HandleTeamsOAuthCallbackRequest(_message.Message): + __slots__ = ('code', 'state') + CODE_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + code: str + state: str + + def __init__(self, code: _Optional[str]=..., state: _Optional[str]=...) -> None: + ... + +class HandleTeamsOAuthCallbackResponse(_message.Message): + __slots__ = ('success', 'error_message', 'tenant_id') + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + TENANT_ID_FIELD_NUMBER: _ClassVar[int] + success: bool + error_message: str + tenant_id: str + + def __init__(self, success: bool=..., error_message: _Optional[str]=..., tenant_id: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/template_connect.py b/src/textql_sdk/_connect/public/template_connect.py new file mode 100644 index 0000000..176f6ba --- /dev/null +++ b/src/textql_sdk/_connect/public/template_connect.py @@ -0,0 +1,220 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +import google.protobuf.empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from . import template_pb2 as public_dot_template__pb2 + +class TemplateService(Protocol): + + async def create_playbook_template_header(self, request: public_dot_template__pb2.CreatePlaybookTemplateHeaderRequest, ctx: RequestContext) -> public_dot_template__pb2.CreatePlaybookTemplateHeaderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_template_header(self, request: public_dot_template__pb2.GetPlaybookTemplateHeaderRequest, ctx: RequestContext) -> public_dot_template__pb2.GetPlaybookTemplateHeaderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_playbook_template_header(self, request: public_dot_template__pb2.UpdatePlaybookTemplateHeaderRequest, ctx: RequestContext) -> public_dot_template__pb2.UpdatePlaybookTemplateHeaderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_playbook_template_header(self, request: public_dot_template__pb2.DeletePlaybookTemplateHeaderRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def list_playbook_template_headers(self, request: public_dot_template__pb2.ListPlaybookTemplateHeadersRequest, ctx: RequestContext) -> public_dot_template__pb2.ListPlaybookTemplateHeadersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_playbook_template_data(self, request: public_dot_template__pb2.CreatePlaybookTemplateDataRequest, ctx: RequestContext) -> public_dot_template__pb2.CreatePlaybookTemplateDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_template_data(self, request: public_dot_template__pb2.GetPlaybookTemplateDataRequest, ctx: RequestContext) -> public_dot_template__pb2.GetPlaybookTemplateDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_template_data_by_header(self, request: public_dot_template__pb2.GetPlaybookTemplateDataByHeaderRequest, ctx: RequestContext) -> public_dot_template__pb2.GetPlaybookTemplateDataByHeaderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def get_playbook_template_data_with_batch_status(self, request: public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusRequest, ctx: RequestContext) -> public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def search_playbook_template_data(self, request: public_dot_template__pb2.SearchPlaybookTemplateDataRequest, ctx: RequestContext) -> public_dot_template__pb2.SearchPlaybookTemplateDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def update_playbook_template_data(self, request: public_dot_template__pb2.UpdatePlaybookTemplateDataRequest, ctx: RequestContext) -> public_dot_template__pb2.UpdatePlaybookTemplateDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_playbook_template_data(self, request: public_dot_template__pb2.DeletePlaybookTemplateDataRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def delete_playbook_template_data_by_header(self, request: public_dot_template__pb2.DeletePlaybookTemplateDataByHeaderRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_template_from_c_s_v(self, request: public_dot_template__pb2.CreateTemplateFromCSVRequest, ctx: RequestContext) -> public_dot_template__pb2.CreateTemplateFromCSVResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def create_template_from_x_l_s_x(self, request: public_dot_template__pb2.CreateTemplateFromXLSXRequest, ctx: RequestContext) -> public_dot_template__pb2.CreateTemplateFromXLSXResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class TemplateServiceASGIApplication(ConnectASGIApplication[TemplateService]): + + def __init__(self, service: TemplateService | AsyncGenerator[TemplateService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.public.template.TemplateService/CreatePlaybookTemplateHeader': Endpoint.unary(method=MethodInfo(name='CreatePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreatePlaybookTemplateHeaderRequest, output=public_dot_template__pb2.CreatePlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_playbook_template_header), '/textql.rpc.public.template.TemplateService/GetPlaybookTemplateHeader': Endpoint.unary(method=MethodInfo(name='GetPlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateHeaderRequest, output=public_dot_template__pb2.GetPlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_template_header), '/textql.rpc.public.template.TemplateService/UpdatePlaybookTemplateHeader': Endpoint.unary(method=MethodInfo(name='UpdatePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.UpdatePlaybookTemplateHeaderRequest, output=public_dot_template__pb2.UpdatePlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_playbook_template_header), '/textql.rpc.public.template.TemplateService/DeletePlaybookTemplateHeader': Endpoint.unary(method=MethodInfo(name='DeletePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateHeaderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_playbook_template_header), '/textql.rpc.public.template.TemplateService/ListPlaybookTemplateHeaders': Endpoint.unary(method=MethodInfo(name='ListPlaybookTemplateHeaders', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.ListPlaybookTemplateHeadersRequest, output=public_dot_template__pb2.ListPlaybookTemplateHeadersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.list_playbook_template_headers), '/textql.rpc.public.template.TemplateService/CreatePlaybookTemplateData': Endpoint.unary(method=MethodInfo(name='CreatePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreatePlaybookTemplateDataRequest, output=public_dot_template__pb2.CreatePlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_playbook_template_data), '/textql.rpc.public.template.TemplateService/GetPlaybookTemplateData': Endpoint.unary(method=MethodInfo(name='GetPlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_template_data), '/textql.rpc.public.template.TemplateService/GetPlaybookTemplateDataByHeader': Endpoint.unary(method=MethodInfo(name='GetPlaybookTemplateDataByHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataByHeaderRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataByHeaderResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_template_data_by_header), '/textql.rpc.public.template.TemplateService/GetPlaybookTemplateDataWithBatchStatus': Endpoint.unary(method=MethodInfo(name='GetPlaybookTemplateDataWithBatchStatus', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.get_playbook_template_data_with_batch_status), '/textql.rpc.public.template.TemplateService/SearchPlaybookTemplateData': Endpoint.unary(method=MethodInfo(name='SearchPlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.SearchPlaybookTemplateDataRequest, output=public_dot_template__pb2.SearchPlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=svc.search_playbook_template_data), '/textql.rpc.public.template.TemplateService/UpdatePlaybookTemplateData': Endpoint.unary(method=MethodInfo(name='UpdatePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.UpdatePlaybookTemplateDataRequest, output=public_dot_template__pb2.UpdatePlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.update_playbook_template_data), '/textql.rpc.public.template.TemplateService/DeletePlaybookTemplateData': Endpoint.unary(method=MethodInfo(name='DeletePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateDataRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_playbook_template_data), '/textql.rpc.public.template.TemplateService/DeletePlaybookTemplateDataByHeader': Endpoint.unary(method=MethodInfo(name='DeletePlaybookTemplateDataByHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateDataByHeaderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.delete_playbook_template_data_by_header), '/textql.rpc.public.template.TemplateService/CreateTemplateFromCSV': Endpoint.unary(method=MethodInfo(name='CreateTemplateFromCSV', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreateTemplateFromCSVRequest, output=public_dot_template__pb2.CreateTemplateFromCSVResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_template_from_c_s_v), '/textql.rpc.public.template.TemplateService/CreateTemplateFromXLSX': Endpoint.unary(method=MethodInfo(name='CreateTemplateFromXLSX', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreateTemplateFromXLSXRequest, output=public_dot_template__pb2.CreateTemplateFromXLSXResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.create_template_from_x_l_s_x)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.template.TemplateService' + +class TemplateServiceClient(ConnectClient): + + async def create_playbook_template_header(self, request: public_dot_template__pb2.CreatePlaybookTemplateHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.CreatePlaybookTemplateHeaderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreatePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreatePlaybookTemplateHeaderRequest, output=public_dot_template__pb2.CreatePlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_playbook_template_header(self, request: public_dot_template__pb2.GetPlaybookTemplateHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.GetPlaybookTemplateHeaderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateHeaderRequest, output=public_dot_template__pb2.GetPlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_playbook_template_header(self, request: public_dot_template__pb2.UpdatePlaybookTemplateHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.UpdatePlaybookTemplateHeaderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdatePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.UpdatePlaybookTemplateHeaderRequest, output=public_dot_template__pb2.UpdatePlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_playbook_template_header(self, request: public_dot_template__pb2.DeletePlaybookTemplateHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeletePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateHeaderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def list_playbook_template_headers(self, request: public_dot_template__pb2.ListPlaybookTemplateHeadersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.ListPlaybookTemplateHeadersResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='ListPlaybookTemplateHeaders', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.ListPlaybookTemplateHeadersRequest, output=public_dot_template__pb2.ListPlaybookTemplateHeadersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def create_playbook_template_data(self, request: public_dot_template__pb2.CreatePlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.CreatePlaybookTemplateDataResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreatePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreatePlaybookTemplateDataRequest, output=public_dot_template__pb2.CreatePlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def get_playbook_template_data(self, request: public_dot_template__pb2.GetPlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.GetPlaybookTemplateDataResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_playbook_template_data_by_header(self, request: public_dot_template__pb2.GetPlaybookTemplateDataByHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.GetPlaybookTemplateDataByHeaderResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookTemplateDataByHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataByHeaderRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataByHeaderResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def get_playbook_template_data_with_batch_status(self, request: public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookTemplateDataWithBatchStatus', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def search_playbook_template_data(self, request: public_dot_template__pb2.SearchPlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.SearchPlaybookTemplateDataResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='SearchPlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.SearchPlaybookTemplateDataRequest, output=public_dot_template__pb2.SearchPlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + async def update_playbook_template_data(self, request: public_dot_template__pb2.UpdatePlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.UpdatePlaybookTemplateDataResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='UpdatePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.UpdatePlaybookTemplateDataRequest, output=public_dot_template__pb2.UpdatePlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_playbook_template_data(self, request: public_dot_template__pb2.DeletePlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeletePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateDataRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def delete_playbook_template_data_by_header(self, request: public_dot_template__pb2.DeletePlaybookTemplateDataByHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return await self.execute_unary(request=request, method=MethodInfo(name='DeletePlaybookTemplateDataByHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateDataByHeaderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_template_from_c_s_v(self, request: public_dot_template__pb2.CreateTemplateFromCSVRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.CreateTemplateFromCSVResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateTemplateFromCSV', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreateTemplateFromCSVRequest, output=public_dot_template__pb2.CreateTemplateFromCSVResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def create_template_from_x_l_s_x(self, request: public_dot_template__pb2.CreateTemplateFromXLSXRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.CreateTemplateFromXLSXResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CreateTemplateFromXLSX', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreateTemplateFromXLSXRequest, output=public_dot_template__pb2.CreateTemplateFromXLSXResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class TemplateServiceSync(Protocol): + + def create_playbook_template_header(self, request: public_dot_template__pb2.CreatePlaybookTemplateHeaderRequest, ctx: RequestContext) -> public_dot_template__pb2.CreatePlaybookTemplateHeaderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_template_header(self, request: public_dot_template__pb2.GetPlaybookTemplateHeaderRequest, ctx: RequestContext) -> public_dot_template__pb2.GetPlaybookTemplateHeaderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_playbook_template_header(self, request: public_dot_template__pb2.UpdatePlaybookTemplateHeaderRequest, ctx: RequestContext) -> public_dot_template__pb2.UpdatePlaybookTemplateHeaderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_playbook_template_header(self, request: public_dot_template__pb2.DeletePlaybookTemplateHeaderRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def list_playbook_template_headers(self, request: public_dot_template__pb2.ListPlaybookTemplateHeadersRequest, ctx: RequestContext) -> public_dot_template__pb2.ListPlaybookTemplateHeadersResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_playbook_template_data(self, request: public_dot_template__pb2.CreatePlaybookTemplateDataRequest, ctx: RequestContext) -> public_dot_template__pb2.CreatePlaybookTemplateDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_template_data(self, request: public_dot_template__pb2.GetPlaybookTemplateDataRequest, ctx: RequestContext) -> public_dot_template__pb2.GetPlaybookTemplateDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_template_data_by_header(self, request: public_dot_template__pb2.GetPlaybookTemplateDataByHeaderRequest, ctx: RequestContext) -> public_dot_template__pb2.GetPlaybookTemplateDataByHeaderResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def get_playbook_template_data_with_batch_status(self, request: public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusRequest, ctx: RequestContext) -> public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def search_playbook_template_data(self, request: public_dot_template__pb2.SearchPlaybookTemplateDataRequest, ctx: RequestContext) -> public_dot_template__pb2.SearchPlaybookTemplateDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def update_playbook_template_data(self, request: public_dot_template__pb2.UpdatePlaybookTemplateDataRequest, ctx: RequestContext) -> public_dot_template__pb2.UpdatePlaybookTemplateDataResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_playbook_template_data(self, request: public_dot_template__pb2.DeletePlaybookTemplateDataRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def delete_playbook_template_data_by_header(self, request: public_dot_template__pb2.DeletePlaybookTemplateDataByHeaderRequest, ctx: RequestContext) -> google_dot_protobuf_dot_empty__pb2.Empty: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_template_from_c_s_v(self, request: public_dot_template__pb2.CreateTemplateFromCSVRequest, ctx: RequestContext) -> public_dot_template__pb2.CreateTemplateFromCSVResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def create_template_from_x_l_s_x(self, request: public_dot_template__pb2.CreateTemplateFromXLSXRequest, ctx: RequestContext) -> public_dot_template__pb2.CreateTemplateFromXLSXResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class TemplateServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: TemplateServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.public.template.TemplateService/CreatePlaybookTemplateHeader': EndpointSync.unary(method=MethodInfo(name='CreatePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreatePlaybookTemplateHeaderRequest, output=public_dot_template__pb2.CreatePlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_playbook_template_header), '/textql.rpc.public.template.TemplateService/GetPlaybookTemplateHeader': EndpointSync.unary(method=MethodInfo(name='GetPlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateHeaderRequest, output=public_dot_template__pb2.GetPlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_template_header), '/textql.rpc.public.template.TemplateService/UpdatePlaybookTemplateHeader': EndpointSync.unary(method=MethodInfo(name='UpdatePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.UpdatePlaybookTemplateHeaderRequest, output=public_dot_template__pb2.UpdatePlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_playbook_template_header), '/textql.rpc.public.template.TemplateService/DeletePlaybookTemplateHeader': EndpointSync.unary(method=MethodInfo(name='DeletePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateHeaderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_playbook_template_header), '/textql.rpc.public.template.TemplateService/ListPlaybookTemplateHeaders': EndpointSync.unary(method=MethodInfo(name='ListPlaybookTemplateHeaders', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.ListPlaybookTemplateHeadersRequest, output=public_dot_template__pb2.ListPlaybookTemplateHeadersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.list_playbook_template_headers), '/textql.rpc.public.template.TemplateService/CreatePlaybookTemplateData': EndpointSync.unary(method=MethodInfo(name='CreatePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreatePlaybookTemplateDataRequest, output=public_dot_template__pb2.CreatePlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_playbook_template_data), '/textql.rpc.public.template.TemplateService/GetPlaybookTemplateData': EndpointSync.unary(method=MethodInfo(name='GetPlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_template_data), '/textql.rpc.public.template.TemplateService/GetPlaybookTemplateDataByHeader': EndpointSync.unary(method=MethodInfo(name='GetPlaybookTemplateDataByHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataByHeaderRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataByHeaderResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_template_data_by_header), '/textql.rpc.public.template.TemplateService/GetPlaybookTemplateDataWithBatchStatus': EndpointSync.unary(method=MethodInfo(name='GetPlaybookTemplateDataWithBatchStatus', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.get_playbook_template_data_with_batch_status), '/textql.rpc.public.template.TemplateService/SearchPlaybookTemplateData': EndpointSync.unary(method=MethodInfo(name='SearchPlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.SearchPlaybookTemplateDataRequest, output=public_dot_template__pb2.SearchPlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), function=service.search_playbook_template_data), '/textql.rpc.public.template.TemplateService/UpdatePlaybookTemplateData': EndpointSync.unary(method=MethodInfo(name='UpdatePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.UpdatePlaybookTemplateDataRequest, output=public_dot_template__pb2.UpdatePlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.update_playbook_template_data), '/textql.rpc.public.template.TemplateService/DeletePlaybookTemplateData': EndpointSync.unary(method=MethodInfo(name='DeletePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateDataRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_playbook_template_data), '/textql.rpc.public.template.TemplateService/DeletePlaybookTemplateDataByHeader': EndpointSync.unary(method=MethodInfo(name='DeletePlaybookTemplateDataByHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateDataByHeaderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.delete_playbook_template_data_by_header), '/textql.rpc.public.template.TemplateService/CreateTemplateFromCSV': EndpointSync.unary(method=MethodInfo(name='CreateTemplateFromCSV', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreateTemplateFromCSVRequest, output=public_dot_template__pb2.CreateTemplateFromCSVResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_template_from_c_s_v), '/textql.rpc.public.template.TemplateService/CreateTemplateFromXLSX': EndpointSync.unary(method=MethodInfo(name='CreateTemplateFromXLSX', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreateTemplateFromXLSXRequest, output=public_dot_template__pb2.CreateTemplateFromXLSXResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.create_template_from_x_l_s_x)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.public.template.TemplateService' + +class TemplateServiceClientSync(ConnectClientSync): + + def create_playbook_template_header(self, request: public_dot_template__pb2.CreatePlaybookTemplateHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.CreatePlaybookTemplateHeaderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreatePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreatePlaybookTemplateHeaderRequest, output=public_dot_template__pb2.CreatePlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_playbook_template_header(self, request: public_dot_template__pb2.GetPlaybookTemplateHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.GetPlaybookTemplateHeaderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateHeaderRequest, output=public_dot_template__pb2.GetPlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_playbook_template_header(self, request: public_dot_template__pb2.UpdatePlaybookTemplateHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.UpdatePlaybookTemplateHeaderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdatePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.UpdatePlaybookTemplateHeaderRequest, output=public_dot_template__pb2.UpdatePlaybookTemplateHeaderResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_playbook_template_header(self, request: public_dot_template__pb2.DeletePlaybookTemplateHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeletePlaybookTemplateHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateHeaderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def list_playbook_template_headers(self, request: public_dot_template__pb2.ListPlaybookTemplateHeadersRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.ListPlaybookTemplateHeadersResponse: + return self.execute_unary(request=request, method=MethodInfo(name='ListPlaybookTemplateHeaders', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.ListPlaybookTemplateHeadersRequest, output=public_dot_template__pb2.ListPlaybookTemplateHeadersResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def create_playbook_template_data(self, request: public_dot_template__pb2.CreatePlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.CreatePlaybookTemplateDataResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreatePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreatePlaybookTemplateDataRequest, output=public_dot_template__pb2.CreatePlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def get_playbook_template_data(self, request: public_dot_template__pb2.GetPlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.GetPlaybookTemplateDataResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_playbook_template_data_by_header(self, request: public_dot_template__pb2.GetPlaybookTemplateDataByHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.GetPlaybookTemplateDataByHeaderResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookTemplateDataByHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataByHeaderRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataByHeaderResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def get_playbook_template_data_with_batch_status(self, request: public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusResponse: + return self.execute_unary(request=request, method=MethodInfo(name='GetPlaybookTemplateDataWithBatchStatus', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusRequest, output=public_dot_template__pb2.GetPlaybookTemplateDataWithBatchStatusResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def search_playbook_template_data(self, request: public_dot_template__pb2.SearchPlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None, use_get: bool=False) -> public_dot_template__pb2.SearchPlaybookTemplateDataResponse: + return self.execute_unary(request=request, method=MethodInfo(name='SearchPlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.SearchPlaybookTemplateDataRequest, output=public_dot_template__pb2.SearchPlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS), headers=headers, timeout_ms=timeout_ms, use_get=use_get) + + def update_playbook_template_data(self, request: public_dot_template__pb2.UpdatePlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.UpdatePlaybookTemplateDataResponse: + return self.execute_unary(request=request, method=MethodInfo(name='UpdatePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.UpdatePlaybookTemplateDataRequest, output=public_dot_template__pb2.UpdatePlaybookTemplateDataResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_playbook_template_data(self, request: public_dot_template__pb2.DeletePlaybookTemplateDataRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeletePlaybookTemplateData', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateDataRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def delete_playbook_template_data_by_header(self, request: public_dot_template__pb2.DeletePlaybookTemplateDataByHeaderRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> google_dot_protobuf_dot_empty__pb2.Empty: + return self.execute_unary(request=request, method=MethodInfo(name='DeletePlaybookTemplateDataByHeader', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.DeletePlaybookTemplateDataByHeaderRequest, output=google_dot_protobuf_dot_empty__pb2.Empty, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_template_from_c_s_v(self, request: public_dot_template__pb2.CreateTemplateFromCSVRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.CreateTemplateFromCSVResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateTemplateFromCSV', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreateTemplateFromCSVRequest, output=public_dot_template__pb2.CreateTemplateFromCSVResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def create_template_from_x_l_s_x(self, request: public_dot_template__pb2.CreateTemplateFromXLSXRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> public_dot_template__pb2.CreateTemplateFromXLSXResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CreateTemplateFromXLSX', service_name='textql.rpc.public.template.TemplateService', input=public_dot_template__pb2.CreateTemplateFromXLSXRequest, output=public_dot_template__pb2.CreateTemplateFromXLSXResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/template_pb2.py b/src/textql_sdk/_connect/public/template_pb2.py new file mode 100644 index 0000000..9d379c8 --- /dev/null +++ b/src/textql_sdk/_connect/public/template_pb2.py @@ -0,0 +1,92 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/template.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..public import options_pb2 as public_dot_options__pb2 +from ..public import playbook_pb2 as public_dot_playbook__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15public/template.proto\x12\x1atextql.rpc.public.template\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14public/options.proto\x1a\x15public/playbook.proto"\x9f\x03\n\x16PlaybookTemplateHeader\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x121\n\x07headers\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07headers\x12#\n\rtemplate_name\x18\x03 \x01(\tR\x0ctemplateName\x12\x15\n\x06org_id\x18\x04 \x01(\tR\x05orgId\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x19\n\x08can_edit\x18\x07 \x01(\x08R\x07canEdit\x12"\n\ncreated_by\x18\x08 \x01(\tH\x00R\tcreatedBy\x88\x01\x01\x12-\n\x10created_by_email\x18\t \x01(\tH\x01R\x0ecreatedByEmail\x88\x01\x01B\r\n\x0b_created_byB\x13\n\x11_created_by_email"}\n#CreatePlaybookTemplateHeaderRequest\x121\n\x07headers\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x07headers\x12#\n\rtemplate_name\x18\x02 \x01(\tR\x0ctemplateName"r\n$CreatePlaybookTemplateHeaderResponse\x12J\n\x06header\x18\x01 \x01(\x0b22.textql.rpc.public.template.PlaybookTemplateHeaderR\x06header"?\n GetPlaybookTemplateHeaderRequest\x12\x1b\n\theader_id\x18\x01 \x01(\tR\x08headerId"o\n!GetPlaybookTemplateHeaderResponse\x12J\n\x06header\x18\x01 \x01(\x0b22.textql.rpc.public.template.PlaybookTemplateHeaderR\x06header"\x9a\x01\n#UpdatePlaybookTemplateHeaderRequest\x12\x1b\n\theader_id\x18\x01 \x01(\tR\x08headerId\x121\n\x07headers\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07headers\x12#\n\rtemplate_name\x18\x03 \x01(\tR\x0ctemplateName"r\n$UpdatePlaybookTemplateHeaderResponse\x12J\n\x06header\x18\x01 \x01(\x0b22.textql.rpc.public.template.PlaybookTemplateHeaderR\x06header"B\n#DeletePlaybookTemplateHeaderRequest\x12\x1b\n\theader_id\x18\x01 \x01(\tR\x08headerId"$\n"ListPlaybookTemplateHeadersRequest"s\n#ListPlaybookTemplateHeadersResponse\x12L\n\x07headers\x18\x01 \x03(\x0b22.textql.rpc.public.template.PlaybookTemplateHeaderR\x07headers"\xe7\x05\n\x14PlaybookTemplateData\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0fplaybook_header\x18\x02 \x01(\tR\x0eplaybookHeader\x121\n\x07entries\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x07entries\x12\x15\n\x06org_id\x18\x04 \x01(\tR\x05orgId\x129\n\ncreated_at\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAt\x12b\n\x10execution_status\x18\x07 \x01(\x0e27.textql.rpc.public.playbook.TemplateDataExecutionStatusR\x0fexecutionStatus\x12Z\n\x19last_execution_started_at\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x16lastExecutionStartedAt\x88\x01\x01\x12^\n\x1blast_execution_completed_at\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampH\x01R\x18lastExecutionCompletedAt\x88\x01\x01\x125\n\x14last_execution_error\x18\n \x01(\tH\x02R\x12lastExecutionError\x88\x01\x01\x12\x1c\n\x07chat_id\x18\x0b \x01(\tH\x03R\x06chatId\x88\x01\x01B\x1c\n\x1a_last_execution_started_atB\x1e\n\x1c_last_execution_completed_atB\x17\n\x15_last_execution_errorB\n\n\x08_chat_id"\x7f\n!CreatePlaybookTemplateDataRequest\x12\'\n\x0fplaybook_header\x18\x01 \x01(\tR\x0eplaybookHeader\x121\n\x07entries\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07entries"j\n"CreatePlaybookTemplateDataResponse\x12D\n\x04data\x18\x01 \x01(\x0b20.textql.rpc.public.template.PlaybookTemplateDataR\x04data"9\n\x1eGetPlaybookTemplateDataRequest\x12\x17\n\x07data_id\x18\x01 \x01(\tR\x06dataId"g\n\x1fGetPlaybookTemplateDataResponse\x12D\n\x04data\x18\x01 \x01(\x0b20.textql.rpc.public.template.PlaybookTemplateDataR\x04data"\x9e\x01\n&GetPlaybookTemplateDataByHeaderRequest\x12\'\n\x0fplaybook_header\x18\x01 \x01(\tR\x0eplaybookHeader\x12\x19\n\x05limit\x18\x02 \x01(\x05H\x00R\x05limit\x88\x01\x01\x12\x1b\n\x06offset\x18\x03 \x01(\x05H\x01R\x06offset\x88\x01\x01B\x08\n\x06_limitB\t\n\x07_offset"\xe2\x01\n\'GetPlaybookTemplateDataByHeaderResponse\x12M\n\tdata_rows\x18\x01 \x03(\x0b20.textql.rpc.public.template.PlaybookTemplateDataR\x08dataRows\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12\x14\n\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x19\n\x08has_more\x18\x05 \x01(\x08R\x07hasMore"\xfe\x01\n-GetPlaybookTemplateDataWithBatchStatusRequest\x12\'\n\x0fplaybook_header\x18\x01 \x01(\tR\x0eplaybookHeader\x12\x1f\n\x0bplaybook_id\x18\x02 \x01(\tR\nplaybookId\x12%\n\x0cbatch_run_id\x18\x03 \x01(\tH\x00R\nbatchRunId\x88\x01\x01\x12\x19\n\x05limit\x18\x04 \x01(\x05H\x01R\x05limit\x88\x01\x01\x12\x1b\n\x06offset\x18\x05 \x01(\x05H\x02R\x06offset\x88\x01\x01B\x0f\n\r_batch_run_idB\x08\n\x06_limitB\t\n\x07_offset"\xe9\x01\n.GetPlaybookTemplateDataWithBatchStatusResponse\x12M\n\tdata_rows\x18\x01 \x03(\x0b20.textql.rpc.public.template.PlaybookTemplateDataR\x08dataRows\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12\x14\n\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x19\n\x08has_more\x18\x05 \x01(\x08R\x07hasMore"\xe0\x01\n!SearchPlaybookTemplateDataRequest\x12\'\n\x0fplaybook_header\x18\x01 \x01(\tR\x0eplaybookHeader\x12E\n\x07filters\x18\x02 \x03(\x0b2+.textql.rpc.public.playbook.FilterConditionR\x07filters\x12\x19\n\x05limit\x18\x03 \x01(\x05H\x00R\x05limit\x88\x01\x01\x12\x1b\n\x06offset\x18\x04 \x01(\x05H\x01R\x06offset\x88\x01\x01B\x08\n\x06_limitB\t\n\x07_offset"\xdd\x01\n"SearchPlaybookTemplateDataResponse\x12M\n\tdata_rows\x18\x01 \x03(\x0b20.textql.rpc.public.template.PlaybookTemplateDataR\x08dataRows\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x05R\ntotalCount\x12\x16\n\x06offset\x18\x03 \x01(\x05R\x06offset\x12\x14\n\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x19\n\x08has_more\x18\x05 \x01(\x08R\x07hasMore"o\n!UpdatePlaybookTemplateDataRequest\x12\x17\n\x07data_id\x18\x01 \x01(\tR\x06dataId\x121\n\x07entries\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07entries"j\n"UpdatePlaybookTemplateDataResponse\x12D\n\x04data\x18\x01 \x01(\x0b20.textql.rpc.public.template.PlaybookTemplateDataR\x04data"<\n!DeletePlaybookTemplateDataRequest\x12\x17\n\x07data_id\x18\x01 \x01(\tR\x06dataId"T\n)DeletePlaybookTemplateDataByHeaderRequest\x12\'\n\x0fplaybook_header\x18\x01 \x01(\tR\x0eplaybookHeader"f\n\x1cCreateTemplateFromCSVRequest\x12!\n\x0cfile_content\x18\x01 \x01(\x0cR\x0bfileContent\x12#\n\rtemplate_name\x18\x02 \x01(\tR\x0ctemplateName"<\n\x1dCreateTemplateFromCSVResponse\x12\x1b\n\theader_id\x18\x01 \x01(\tR\x08headerId"g\n\x1dCreateTemplateFromXLSXRequest\x12!\n\x0cfile_content\x18\x01 \x01(\x0cR\x0bfileContent\x12#\n\rtemplate_name\x18\x02 \x01(\tR\x0ctemplateName"=\n\x1eCreateTemplateFromXLSXResponse\x12\x1b\n\theader_id\x18\x01 \x01(\tR\x08headerId2\xa6\x12\n\x0fTemplateService\x12\xa1\x01\n\x1cCreatePlaybookTemplateHeader\x12?.textql.rpc.public.template.CreatePlaybookTemplateHeaderRequest\x1a@.textql.rpc.public.template.CreatePlaybookTemplateHeaderResponse\x12\x9d\x01\n\x19GetPlaybookTemplateHeader\x12<.textql.rpc.public.template.GetPlaybookTemplateHeaderRequest\x1a=.textql.rpc.public.template.GetPlaybookTemplateHeaderResponse"\x03\x90\x02\x01\x12\xa1\x01\n\x1cUpdatePlaybookTemplateHeader\x12?.textql.rpc.public.template.UpdatePlaybookTemplateHeaderRequest\x1a@.textql.rpc.public.template.UpdatePlaybookTemplateHeaderResponse\x12w\n\x1cDeletePlaybookTemplateHeader\x12?.textql.rpc.public.template.DeletePlaybookTemplateHeaderRequest\x1a\x16.google.protobuf.Empty\x12\xa3\x01\n\x1bListPlaybookTemplateHeaders\x12>.textql.rpc.public.template.ListPlaybookTemplateHeadersRequest\x1a?.textql.rpc.public.template.ListPlaybookTemplateHeadersResponse"\x03\x90\x02\x01\x12\x9b\x01\n\x1aCreatePlaybookTemplateData\x12=.textql.rpc.public.template.CreatePlaybookTemplateDataRequest\x1a>.textql.rpc.public.template.CreatePlaybookTemplateDataResponse\x12\x97\x01\n\x17GetPlaybookTemplateData\x12:.textql.rpc.public.template.GetPlaybookTemplateDataRequest\x1a;.textql.rpc.public.template.GetPlaybookTemplateDataResponse"\x03\x90\x02\x01\x12\xaf\x01\n\x1fGetPlaybookTemplateDataByHeader\x12B.textql.rpc.public.template.GetPlaybookTemplateDataByHeaderRequest\x1aC.textql.rpc.public.template.GetPlaybookTemplateDataByHeaderResponse"\x03\x90\x02\x01\x12\xc4\x01\n&GetPlaybookTemplateDataWithBatchStatus\x12I.textql.rpc.public.template.GetPlaybookTemplateDataWithBatchStatusRequest\x1aJ.textql.rpc.public.template.GetPlaybookTemplateDataWithBatchStatusResponse"\x03\x90\x02\x01\x12\xa0\x01\n\x1aSearchPlaybookTemplateData\x12=.textql.rpc.public.template.SearchPlaybookTemplateDataRequest\x1a>.textql.rpc.public.template.SearchPlaybookTemplateDataResponse"\x03\x90\x02\x01\x12\x9b\x01\n\x1aUpdatePlaybookTemplateData\x12=.textql.rpc.public.template.UpdatePlaybookTemplateDataRequest\x1a>.textql.rpc.public.template.UpdatePlaybookTemplateDataResponse\x12s\n\x1aDeletePlaybookTemplateData\x12=.textql.rpc.public.template.DeletePlaybookTemplateDataRequest\x1a\x16.google.protobuf.Empty\x12\x83\x01\n"DeletePlaybookTemplateDataByHeader\x12E.textql.rpc.public.template.DeletePlaybookTemplateDataByHeaderRequest\x1a\x16.google.protobuf.Empty\x12\x8c\x01\n\x15CreateTemplateFromCSV\x128.textql.rpc.public.template.CreateTemplateFromCSVRequest\x1a9.textql.rpc.public.template.CreateTemplateFromCSVResponse\x12\x8f\x01\n\x16CreateTemplateFromXLSX\x129.textql.rpc.public.template.CreateTemplateFromXLSXRequest\x1a:.textql.rpc.public.template.CreateTemplateFromXLSXResponseB\x0c\x92\xb5\x18\x08INTERNALb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.template_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\x92\xb5\x18\x08INTERNAL' + _globals['_TEMPLATESERVICE'].methods_by_name['GetPlaybookTemplateHeader']._loaded_options = None + _globals['_TEMPLATESERVICE'].methods_by_name['GetPlaybookTemplateHeader']._serialized_options = b'\x90\x02\x01' + _globals['_TEMPLATESERVICE'].methods_by_name['ListPlaybookTemplateHeaders']._loaded_options = None + _globals['_TEMPLATESERVICE'].methods_by_name['ListPlaybookTemplateHeaders']._serialized_options = b'\x90\x02\x01' + _globals['_TEMPLATESERVICE'].methods_by_name['GetPlaybookTemplateData']._loaded_options = None + _globals['_TEMPLATESERVICE'].methods_by_name['GetPlaybookTemplateData']._serialized_options = b'\x90\x02\x01' + _globals['_TEMPLATESERVICE'].methods_by_name['GetPlaybookTemplateDataByHeader']._loaded_options = None + _globals['_TEMPLATESERVICE'].methods_by_name['GetPlaybookTemplateDataByHeader']._serialized_options = b'\x90\x02\x01' + _globals['_TEMPLATESERVICE'].methods_by_name['GetPlaybookTemplateDataWithBatchStatus']._loaded_options = None + _globals['_TEMPLATESERVICE'].methods_by_name['GetPlaybookTemplateDataWithBatchStatus']._serialized_options = b'\x90\x02\x01' + _globals['_TEMPLATESERVICE'].methods_by_name['SearchPlaybookTemplateData']._loaded_options = None + _globals['_TEMPLATESERVICE'].methods_by_name['SearchPlaybookTemplateData']._serialized_options = b'\x90\x02\x01' + _globals['_PLAYBOOKTEMPLATEHEADER']._serialized_start = 191 + _globals['_PLAYBOOKTEMPLATEHEADER']._serialized_end = 606 + _globals['_CREATEPLAYBOOKTEMPLATEHEADERREQUEST']._serialized_start = 608 + _globals['_CREATEPLAYBOOKTEMPLATEHEADERREQUEST']._serialized_end = 733 + _globals['_CREATEPLAYBOOKTEMPLATEHEADERRESPONSE']._serialized_start = 735 + _globals['_CREATEPLAYBOOKTEMPLATEHEADERRESPONSE']._serialized_end = 849 + _globals['_GETPLAYBOOKTEMPLATEHEADERREQUEST']._serialized_start = 851 + _globals['_GETPLAYBOOKTEMPLATEHEADERREQUEST']._serialized_end = 914 + _globals['_GETPLAYBOOKTEMPLATEHEADERRESPONSE']._serialized_start = 916 + _globals['_GETPLAYBOOKTEMPLATEHEADERRESPONSE']._serialized_end = 1027 + _globals['_UPDATEPLAYBOOKTEMPLATEHEADERREQUEST']._serialized_start = 1030 + _globals['_UPDATEPLAYBOOKTEMPLATEHEADERREQUEST']._serialized_end = 1184 + _globals['_UPDATEPLAYBOOKTEMPLATEHEADERRESPONSE']._serialized_start = 1186 + _globals['_UPDATEPLAYBOOKTEMPLATEHEADERRESPONSE']._serialized_end = 1300 + _globals['_DELETEPLAYBOOKTEMPLATEHEADERREQUEST']._serialized_start = 1302 + _globals['_DELETEPLAYBOOKTEMPLATEHEADERREQUEST']._serialized_end = 1368 + _globals['_LISTPLAYBOOKTEMPLATEHEADERSREQUEST']._serialized_start = 1370 + _globals['_LISTPLAYBOOKTEMPLATEHEADERSREQUEST']._serialized_end = 1406 + _globals['_LISTPLAYBOOKTEMPLATEHEADERSRESPONSE']._serialized_start = 1408 + _globals['_LISTPLAYBOOKTEMPLATEHEADERSRESPONSE']._serialized_end = 1523 + _globals['_PLAYBOOKTEMPLATEDATA']._serialized_start = 1526 + _globals['_PLAYBOOKTEMPLATEDATA']._serialized_end = 2269 + _globals['_CREATEPLAYBOOKTEMPLATEDATAREQUEST']._serialized_start = 2271 + _globals['_CREATEPLAYBOOKTEMPLATEDATAREQUEST']._serialized_end = 2398 + _globals['_CREATEPLAYBOOKTEMPLATEDATARESPONSE']._serialized_start = 2400 + _globals['_CREATEPLAYBOOKTEMPLATEDATARESPONSE']._serialized_end = 2506 + _globals['_GETPLAYBOOKTEMPLATEDATAREQUEST']._serialized_start = 2508 + _globals['_GETPLAYBOOKTEMPLATEDATAREQUEST']._serialized_end = 2565 + _globals['_GETPLAYBOOKTEMPLATEDATARESPONSE']._serialized_start = 2567 + _globals['_GETPLAYBOOKTEMPLATEDATARESPONSE']._serialized_end = 2670 + _globals['_GETPLAYBOOKTEMPLATEDATABYHEADERREQUEST']._serialized_start = 2673 + _globals['_GETPLAYBOOKTEMPLATEDATABYHEADERREQUEST']._serialized_end = 2831 + _globals['_GETPLAYBOOKTEMPLATEDATABYHEADERRESPONSE']._serialized_start = 2834 + _globals['_GETPLAYBOOKTEMPLATEDATABYHEADERRESPONSE']._serialized_end = 3060 + _globals['_GETPLAYBOOKTEMPLATEDATAWITHBATCHSTATUSREQUEST']._serialized_start = 3063 + _globals['_GETPLAYBOOKTEMPLATEDATAWITHBATCHSTATUSREQUEST']._serialized_end = 3317 + _globals['_GETPLAYBOOKTEMPLATEDATAWITHBATCHSTATUSRESPONSE']._serialized_start = 3320 + _globals['_GETPLAYBOOKTEMPLATEDATAWITHBATCHSTATUSRESPONSE']._serialized_end = 3553 + _globals['_SEARCHPLAYBOOKTEMPLATEDATAREQUEST']._serialized_start = 3556 + _globals['_SEARCHPLAYBOOKTEMPLATEDATAREQUEST']._serialized_end = 3780 + _globals['_SEARCHPLAYBOOKTEMPLATEDATARESPONSE']._serialized_start = 3783 + _globals['_SEARCHPLAYBOOKTEMPLATEDATARESPONSE']._serialized_end = 4004 + _globals['_UPDATEPLAYBOOKTEMPLATEDATAREQUEST']._serialized_start = 4006 + _globals['_UPDATEPLAYBOOKTEMPLATEDATAREQUEST']._serialized_end = 4117 + _globals['_UPDATEPLAYBOOKTEMPLATEDATARESPONSE']._serialized_start = 4119 + _globals['_UPDATEPLAYBOOKTEMPLATEDATARESPONSE']._serialized_end = 4225 + _globals['_DELETEPLAYBOOKTEMPLATEDATAREQUEST']._serialized_start = 4227 + _globals['_DELETEPLAYBOOKTEMPLATEDATAREQUEST']._serialized_end = 4287 + _globals['_DELETEPLAYBOOKTEMPLATEDATABYHEADERREQUEST']._serialized_start = 4289 + _globals['_DELETEPLAYBOOKTEMPLATEDATABYHEADERREQUEST']._serialized_end = 4373 + _globals['_CREATETEMPLATEFROMCSVREQUEST']._serialized_start = 4375 + _globals['_CREATETEMPLATEFROMCSVREQUEST']._serialized_end = 4477 + _globals['_CREATETEMPLATEFROMCSVRESPONSE']._serialized_start = 4479 + _globals['_CREATETEMPLATEFROMCSVRESPONSE']._serialized_end = 4539 + _globals['_CREATETEMPLATEFROMXLSXREQUEST']._serialized_start = 4541 + _globals['_CREATETEMPLATEFROMXLSXREQUEST']._serialized_end = 4644 + _globals['_CREATETEMPLATEFROMXLSXRESPONSE']._serialized_start = 4646 + _globals['_CREATETEMPLATEFROMXLSXRESPONSE']._serialized_end = 4707 + _globals['_TEMPLATESERVICE']._serialized_start = 4710 + _globals['_TEMPLATESERVICE']._serialized_end = 7052 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/template_pb2.pyi b/src/textql_sdk/_connect/public/template_pb2.pyi new file mode 100644 index 0000000..a73f20e --- /dev/null +++ b/src/textql_sdk/_connect/public/template_pb2.pyi @@ -0,0 +1,334 @@ +import datetime +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import struct_pb2 as _struct_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from public import options_pb2 as _options_pb2 +from public import playbook_pb2 as _playbook_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class PlaybookTemplateHeader(_message.Message): + __slots__ = ('id', 'headers', 'template_name', 'org_id', 'created_at', 'updated_at', 'can_edit', 'created_by', 'created_by_email') + ID_FIELD_NUMBER: _ClassVar[int] + HEADERS_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_NAME_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + CAN_EDIT_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_EMAIL_FIELD_NUMBER: _ClassVar[int] + id: str + headers: _struct_pb2.Struct + template_name: str + org_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + can_edit: bool + created_by: str + created_by_email: str + + def __init__(self, id: _Optional[str]=..., headers: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., template_name: _Optional[str]=..., org_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., can_edit: bool=..., created_by: _Optional[str]=..., created_by_email: _Optional[str]=...) -> None: + ... + +class CreatePlaybookTemplateHeaderRequest(_message.Message): + __slots__ = ('headers', 'template_name') + HEADERS_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_NAME_FIELD_NUMBER: _ClassVar[int] + headers: _struct_pb2.Struct + template_name: str + + def __init__(self, headers: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., template_name: _Optional[str]=...) -> None: + ... + +class CreatePlaybookTemplateHeaderResponse(_message.Message): + __slots__ = ('header',) + HEADER_FIELD_NUMBER: _ClassVar[int] + header: PlaybookTemplateHeader + + def __init__(self, header: _Optional[_Union[PlaybookTemplateHeader, _Mapping]]=...) -> None: + ... + +class GetPlaybookTemplateHeaderRequest(_message.Message): + __slots__ = ('header_id',) + HEADER_ID_FIELD_NUMBER: _ClassVar[int] + header_id: str + + def __init__(self, header_id: _Optional[str]=...) -> None: + ... + +class GetPlaybookTemplateHeaderResponse(_message.Message): + __slots__ = ('header',) + HEADER_FIELD_NUMBER: _ClassVar[int] + header: PlaybookTemplateHeader + + def __init__(self, header: _Optional[_Union[PlaybookTemplateHeader, _Mapping]]=...) -> None: + ... + +class UpdatePlaybookTemplateHeaderRequest(_message.Message): + __slots__ = ('header_id', 'headers', 'template_name') + HEADER_ID_FIELD_NUMBER: _ClassVar[int] + HEADERS_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_NAME_FIELD_NUMBER: _ClassVar[int] + header_id: str + headers: _struct_pb2.Struct + template_name: str + + def __init__(self, header_id: _Optional[str]=..., headers: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., template_name: _Optional[str]=...) -> None: + ... + +class UpdatePlaybookTemplateHeaderResponse(_message.Message): + __slots__ = ('header',) + HEADER_FIELD_NUMBER: _ClassVar[int] + header: PlaybookTemplateHeader + + def __init__(self, header: _Optional[_Union[PlaybookTemplateHeader, _Mapping]]=...) -> None: + ... + +class DeletePlaybookTemplateHeaderRequest(_message.Message): + __slots__ = ('header_id',) + HEADER_ID_FIELD_NUMBER: _ClassVar[int] + header_id: str + + def __init__(self, header_id: _Optional[str]=...) -> None: + ... + +class ListPlaybookTemplateHeadersRequest(_message.Message): + __slots__ = () + + def __init__(self) -> None: + ... + +class ListPlaybookTemplateHeadersResponse(_message.Message): + __slots__ = ('headers',) + HEADERS_FIELD_NUMBER: _ClassVar[int] + headers: _containers.RepeatedCompositeFieldContainer[PlaybookTemplateHeader] + + def __init__(self, headers: _Optional[_Iterable[_Union[PlaybookTemplateHeader, _Mapping]]]=...) -> None: + ... + +class PlaybookTemplateData(_message.Message): + __slots__ = ('id', 'playbook_header', 'entries', 'org_id', 'created_at', 'updated_at', 'execution_status', 'last_execution_started_at', 'last_execution_completed_at', 'last_execution_error', 'chat_id') + ID_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_HEADER_FIELD_NUMBER: _ClassVar[int] + ENTRIES_FIELD_NUMBER: _ClassVar[int] + ORG_ID_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] + EXECUTION_STATUS_FIELD_NUMBER: _ClassVar[int] + LAST_EXECUTION_STARTED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_EXECUTION_COMPLETED_AT_FIELD_NUMBER: _ClassVar[int] + LAST_EXECUTION_ERROR_FIELD_NUMBER: _ClassVar[int] + CHAT_ID_FIELD_NUMBER: _ClassVar[int] + id: str + playbook_header: str + entries: _struct_pb2.Struct + org_id: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + execution_status: _playbook_pb2.TemplateDataExecutionStatus + last_execution_started_at: _timestamp_pb2.Timestamp + last_execution_completed_at: _timestamp_pb2.Timestamp + last_execution_error: str + chat_id: str + + def __init__(self, id: _Optional[str]=..., playbook_header: _Optional[str]=..., entries: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=..., org_id: _Optional[str]=..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., execution_status: _Optional[_Union[_playbook_pb2.TemplateDataExecutionStatus, str]]=..., last_execution_started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_execution_completed_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_execution_error: _Optional[str]=..., chat_id: _Optional[str]=...) -> None: + ... + +class CreatePlaybookTemplateDataRequest(_message.Message): + __slots__ = ('playbook_header', 'entries') + PLAYBOOK_HEADER_FIELD_NUMBER: _ClassVar[int] + ENTRIES_FIELD_NUMBER: _ClassVar[int] + playbook_header: str + entries: _struct_pb2.Struct + + def __init__(self, playbook_header: _Optional[str]=..., entries: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class CreatePlaybookTemplateDataResponse(_message.Message): + __slots__ = ('data',) + DATA_FIELD_NUMBER: _ClassVar[int] + data: PlaybookTemplateData + + def __init__(self, data: _Optional[_Union[PlaybookTemplateData, _Mapping]]=...) -> None: + ... + +class GetPlaybookTemplateDataRequest(_message.Message): + __slots__ = ('data_id',) + DATA_ID_FIELD_NUMBER: _ClassVar[int] + data_id: str + + def __init__(self, data_id: _Optional[str]=...) -> None: + ... + +class GetPlaybookTemplateDataResponse(_message.Message): + __slots__ = ('data',) + DATA_FIELD_NUMBER: _ClassVar[int] + data: PlaybookTemplateData + + def __init__(self, data: _Optional[_Union[PlaybookTemplateData, _Mapping]]=...) -> None: + ... + +class GetPlaybookTemplateDataByHeaderRequest(_message.Message): + __slots__ = ('playbook_header', 'limit', 'offset') + PLAYBOOK_HEADER_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + playbook_header: str + limit: int + offset: int + + def __init__(self, playbook_header: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class GetPlaybookTemplateDataByHeaderResponse(_message.Message): + __slots__ = ('data_rows', 'total_count', 'offset', 'limit', 'has_more') + DATA_ROWS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + HAS_MORE_FIELD_NUMBER: _ClassVar[int] + data_rows: _containers.RepeatedCompositeFieldContainer[PlaybookTemplateData] + total_count: int + offset: int + limit: int + has_more: bool + + def __init__(self, data_rows: _Optional[_Iterable[_Union[PlaybookTemplateData, _Mapping]]]=..., total_count: _Optional[int]=..., offset: _Optional[int]=..., limit: _Optional[int]=..., has_more: bool=...) -> None: + ... + +class GetPlaybookTemplateDataWithBatchStatusRequest(_message.Message): + __slots__ = ('playbook_header', 'playbook_id', 'batch_run_id', 'limit', 'offset') + PLAYBOOK_HEADER_FIELD_NUMBER: _ClassVar[int] + PLAYBOOK_ID_FIELD_NUMBER: _ClassVar[int] + BATCH_RUN_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + playbook_header: str + playbook_id: str + batch_run_id: str + limit: int + offset: int + + def __init__(self, playbook_header: _Optional[str]=..., playbook_id: _Optional[str]=..., batch_run_id: _Optional[str]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class GetPlaybookTemplateDataWithBatchStatusResponse(_message.Message): + __slots__ = ('data_rows', 'total_count', 'offset', 'limit', 'has_more') + DATA_ROWS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + HAS_MORE_FIELD_NUMBER: _ClassVar[int] + data_rows: _containers.RepeatedCompositeFieldContainer[PlaybookTemplateData] + total_count: int + offset: int + limit: int + has_more: bool + + def __init__(self, data_rows: _Optional[_Iterable[_Union[PlaybookTemplateData, _Mapping]]]=..., total_count: _Optional[int]=..., offset: _Optional[int]=..., limit: _Optional[int]=..., has_more: bool=...) -> None: + ... + +class SearchPlaybookTemplateDataRequest(_message.Message): + __slots__ = ('playbook_header', 'filters', 'limit', 'offset') + PLAYBOOK_HEADER_FIELD_NUMBER: _ClassVar[int] + FILTERS_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + playbook_header: str + filters: _containers.RepeatedCompositeFieldContainer[_playbook_pb2.FilterCondition] + limit: int + offset: int + + def __init__(self, playbook_header: _Optional[str]=..., filters: _Optional[_Iterable[_Union[_playbook_pb2.FilterCondition, _Mapping]]]=..., limit: _Optional[int]=..., offset: _Optional[int]=...) -> None: + ... + +class SearchPlaybookTemplateDataResponse(_message.Message): + __slots__ = ('data_rows', 'total_count', 'offset', 'limit', 'has_more') + DATA_ROWS_FIELD_NUMBER: _ClassVar[int] + TOTAL_COUNT_FIELD_NUMBER: _ClassVar[int] + OFFSET_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + HAS_MORE_FIELD_NUMBER: _ClassVar[int] + data_rows: _containers.RepeatedCompositeFieldContainer[PlaybookTemplateData] + total_count: int + offset: int + limit: int + has_more: bool + + def __init__(self, data_rows: _Optional[_Iterable[_Union[PlaybookTemplateData, _Mapping]]]=..., total_count: _Optional[int]=..., offset: _Optional[int]=..., limit: _Optional[int]=..., has_more: bool=...) -> None: + ... + +class UpdatePlaybookTemplateDataRequest(_message.Message): + __slots__ = ('data_id', 'entries') + DATA_ID_FIELD_NUMBER: _ClassVar[int] + ENTRIES_FIELD_NUMBER: _ClassVar[int] + data_id: str + entries: _struct_pb2.Struct + + def __init__(self, data_id: _Optional[str]=..., entries: _Optional[_Union[_struct_pb2.Struct, _Mapping]]=...) -> None: + ... + +class UpdatePlaybookTemplateDataResponse(_message.Message): + __slots__ = ('data',) + DATA_FIELD_NUMBER: _ClassVar[int] + data: PlaybookTemplateData + + def __init__(self, data: _Optional[_Union[PlaybookTemplateData, _Mapping]]=...) -> None: + ... + +class DeletePlaybookTemplateDataRequest(_message.Message): + __slots__ = ('data_id',) + DATA_ID_FIELD_NUMBER: _ClassVar[int] + data_id: str + + def __init__(self, data_id: _Optional[str]=...) -> None: + ... + +class DeletePlaybookTemplateDataByHeaderRequest(_message.Message): + __slots__ = ('playbook_header',) + PLAYBOOK_HEADER_FIELD_NUMBER: _ClassVar[int] + playbook_header: str + + def __init__(self, playbook_header: _Optional[str]=...) -> None: + ... + +class CreateTemplateFromCSVRequest(_message.Message): + __slots__ = ('file_content', 'template_name') + FILE_CONTENT_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_NAME_FIELD_NUMBER: _ClassVar[int] + file_content: bytes + template_name: str + + def __init__(self, file_content: _Optional[bytes]=..., template_name: _Optional[str]=...) -> None: + ... + +class CreateTemplateFromCSVResponse(_message.Message): + __slots__ = ('header_id',) + HEADER_ID_FIELD_NUMBER: _ClassVar[int] + header_id: str + + def __init__(self, header_id: _Optional[str]=...) -> None: + ... + +class CreateTemplateFromXLSXRequest(_message.Message): + __slots__ = ('file_content', 'template_name') + FILE_CONTENT_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_NAME_FIELD_NUMBER: _ClassVar[int] + file_content: bytes + template_name: str + + def __init__(self, file_content: _Optional[bytes]=..., template_name: _Optional[str]=...) -> None: + ... + +class CreateTemplateFromXLSXResponse(_message.Message): + __slots__ = ('header_id',) + HEADER_ID_FIELD_NUMBER: _ClassVar[int] + header_id: str + + def __init__(self, header_id: _Optional[str]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/warnings_pb2.py b/src/textql_sdk/_connect/public/warnings_pb2.py new file mode 100644 index 0000000..3e3d2af --- /dev/null +++ b/src/textql_sdk/_connect/public/warnings_pb2.py @@ -0,0 +1,45 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'public/warnings.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15public/warnings.proto\x12\x16textql.rpc.public.chat\x1a google/protobuf/descriptor.proto*\xaa\x01\n\x0fWarningCategory\x12 \n\x1cWARNING_CATEGORY_UNSPECIFIED\x10\x00\x12\x1a\n\x16WARNING_CATEGORY_CAUSE\x10\x01\x12\x1c\n\x18WARNING_CATEGORY_SYMPTOM\x10\x02\x12\x1c\n\x18WARNING_CATEGORY_OUTCOME\x10\x03\x12\x1d\n\x19WARNING_CATEGORY_STRENGTH\x10\x04*\xf5\x05\n\x11ThreadWarningType\x12#\n\x1fTHREAD_WARNING_TYPE_UNSPECIFIED\x10\x00\x12-\n#THREAD_WARNING_TYPE_MISSING_CONTEXT\x10\x01\x1a\x04\x90\xb5\x18\x01\x12(\n\x1eTHREAD_WARNING_TYPE_ERROR_LOOP\x10\x02\x1a\x04\x90\xb5\x18\x02\x122\n(THREAD_WARNING_TYPE_EXCESSIVE_TOOL_CALLS\x10\x03\x1a\x04\x90\xb5\x18\x02\x12(\n\x1eTHREAD_WARNING_TYPE_SLOW_QUERY\x10\x06\x1a\x04\x90\xb5\x18\x02\x12(\n\x1eTHREAD_WARNING_TYPE_NO_RESULTS\x10\x07\x1a\x04\x90\xb5\x18\x02\x12.\n$THREAD_WARNING_TYPE_USER_FRUSTRATION\x10\x08\x1a\x04\x90\xb5\x18\x03\x125\n+THREAD_WARNING_TYPE_POTENTIAL_HALLUCINATION\x10\t\x1a\x04\x90\xb5\x18\x03\x121\n\'THREAD_WARNING_TYPE_IGNORED_INSTRUCTION\x10\n\x1a\x04\x90\xb5\x18\x03\x12.\n$THREAD_WARNING_TYPE_USER_THUMBS_DOWN\x10\x0b\x1a\x04\x90\xb5\x18\x03\x12+\n!THREAD_WARNING_TYPE_NO_CONCLUSION\x10\x0c\x1a\x04\x90\xb5\x18\x03\x12,\n"THREAD_WARNING_TYPE_USER_THUMBS_UP\x10\r\x1a\x04\x90\xb5\x18\x04\x12+\n!THREAD_WARNING_TYPE_GOAL_ACHIEVED\x10\x0e\x1a\x04\x90\xb5\x18\x04\x12/\n%THREAD_WARNING_TYPE_USER_SATISFACTION\x10\x0f\x1a\x04\x90\xb5\x18\x04"\x04\x08\x05\x10\x05"\x04\x08\x04\x10\x04*$THREAD_WARNING_TYPE_CONNECTOR_ERRORS*%THREAD_WARNING_TYPE_LONG_CONVERSATION:w\n\x10warning_category\x12!.google.protobuf.EnumValueOptions\x18\xd2\x86\x03 \x01(\x0e2\'.textql.rpc.public.chat.WarningCategoryR\x0fwarningCategoryb\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'public.warnings_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_MISSING_CONTEXT']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_MISSING_CONTEXT']._serialized_options = b'\x90\xb5\x18\x01' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_ERROR_LOOP']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_ERROR_LOOP']._serialized_options = b'\x90\xb5\x18\x02' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_EXCESSIVE_TOOL_CALLS']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_EXCESSIVE_TOOL_CALLS']._serialized_options = b'\x90\xb5\x18\x02' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_SLOW_QUERY']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_SLOW_QUERY']._serialized_options = b'\x90\xb5\x18\x02' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_NO_RESULTS']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_NO_RESULTS']._serialized_options = b'\x90\xb5\x18\x02' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_USER_FRUSTRATION']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_USER_FRUSTRATION']._serialized_options = b'\x90\xb5\x18\x03' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_POTENTIAL_HALLUCINATION']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_POTENTIAL_HALLUCINATION']._serialized_options = b'\x90\xb5\x18\x03' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_IGNORED_INSTRUCTION']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_IGNORED_INSTRUCTION']._serialized_options = b'\x90\xb5\x18\x03' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_USER_THUMBS_DOWN']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_USER_THUMBS_DOWN']._serialized_options = b'\x90\xb5\x18\x03' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_NO_CONCLUSION']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_NO_CONCLUSION']._serialized_options = b'\x90\xb5\x18\x03' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_USER_THUMBS_UP']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_USER_THUMBS_UP']._serialized_options = b'\x90\xb5\x18\x04' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_GOAL_ACHIEVED']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_GOAL_ACHIEVED']._serialized_options = b'\x90\xb5\x18\x04' + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_USER_SATISFACTION']._loaded_options = None + _globals['_THREADWARNINGTYPE'].values_by_name['THREAD_WARNING_TYPE_USER_SATISFACTION']._serialized_options = b'\x90\xb5\x18\x04' + _globals['_WARNINGCATEGORY']._serialized_start = 84 + _globals['_WARNINGCATEGORY']._serialized_end = 254 + _globals['_THREADWARNINGTYPE']._serialized_start = 257 + _globals['_THREADWARNINGTYPE']._serialized_end = 1014 \ No newline at end of file diff --git a/src/textql_sdk/_connect/public/warnings_pb2.pyi b/src/textql_sdk/_connect/public/warnings_pb2.pyi new file mode 100644 index 0000000..19e372b --- /dev/null +++ b/src/textql_sdk/_connect/public/warnings_pb2.pyi @@ -0,0 +1,51 @@ +from google.protobuf import descriptor_pb2 as _descriptor_pb2 +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from typing import ClassVar as _ClassVar +DESCRIPTOR: _descriptor.FileDescriptor + +class WarningCategory(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + WARNING_CATEGORY_UNSPECIFIED: _ClassVar[WarningCategory] + WARNING_CATEGORY_CAUSE: _ClassVar[WarningCategory] + WARNING_CATEGORY_SYMPTOM: _ClassVar[WarningCategory] + WARNING_CATEGORY_OUTCOME: _ClassVar[WarningCategory] + WARNING_CATEGORY_STRENGTH: _ClassVar[WarningCategory] + +class ThreadWarningType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + THREAD_WARNING_TYPE_UNSPECIFIED: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_MISSING_CONTEXT: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_ERROR_LOOP: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_EXCESSIVE_TOOL_CALLS: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_SLOW_QUERY: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_NO_RESULTS: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_USER_FRUSTRATION: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_POTENTIAL_HALLUCINATION: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_IGNORED_INSTRUCTION: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_USER_THUMBS_DOWN: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_NO_CONCLUSION: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_USER_THUMBS_UP: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_GOAL_ACHIEVED: _ClassVar[ThreadWarningType] + THREAD_WARNING_TYPE_USER_SATISFACTION: _ClassVar[ThreadWarningType] +WARNING_CATEGORY_UNSPECIFIED: WarningCategory +WARNING_CATEGORY_CAUSE: WarningCategory +WARNING_CATEGORY_SYMPTOM: WarningCategory +WARNING_CATEGORY_OUTCOME: WarningCategory +WARNING_CATEGORY_STRENGTH: WarningCategory +THREAD_WARNING_TYPE_UNSPECIFIED: ThreadWarningType +THREAD_WARNING_TYPE_MISSING_CONTEXT: ThreadWarningType +THREAD_WARNING_TYPE_ERROR_LOOP: ThreadWarningType +THREAD_WARNING_TYPE_EXCESSIVE_TOOL_CALLS: ThreadWarningType +THREAD_WARNING_TYPE_SLOW_QUERY: ThreadWarningType +THREAD_WARNING_TYPE_NO_RESULTS: ThreadWarningType +THREAD_WARNING_TYPE_USER_FRUSTRATION: ThreadWarningType +THREAD_WARNING_TYPE_POTENTIAL_HALLUCINATION: ThreadWarningType +THREAD_WARNING_TYPE_IGNORED_INSTRUCTION: ThreadWarningType +THREAD_WARNING_TYPE_USER_THUMBS_DOWN: ThreadWarningType +THREAD_WARNING_TYPE_NO_CONCLUSION: ThreadWarningType +THREAD_WARNING_TYPE_USER_THUMBS_UP: ThreadWarningType +THREAD_WARNING_TYPE_GOAL_ACHIEVED: ThreadWarningType +THREAD_WARNING_TYPE_USER_SATISFACTION: ThreadWarningType +WARNING_CATEGORY_FIELD_NUMBER: _ClassVar[int] +warning_category: _descriptor.FieldDescriptor \ No newline at end of file diff --git a/src/textql_sdk/_connect/textable_connect.py b/src/textql_sdk/_connect/textable_connect.py new file mode 100644 index 0000000..c008c85 --- /dev/null +++ b/src/textql_sdk/_connect/textable_connect.py @@ -0,0 +1,87 @@ +from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping +from typing import Protocol +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.code import Code +from connectrpc.compression import Compression +from connectrpc.errors import ConnectError +from connectrpc.interceptor import Interceptor, InterceptorSync +from connectrpc.method import IdempotencyLevel, MethodInfo +from connectrpc.request import Headers, RequestContext +from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync +from . import textable_pb2 as textable__pb2 + +class TextableService(Protocol): + + async def load_to_sandbox(self, request: textable__pb2.LoadToSandboxRequest, ctx: RequestContext) -> textable__pb2.LoadToSandboxResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def query_textable(self, request: textable__pb2.QueryTextableRequest, ctx: RequestContext) -> textable__pb2.QueryTextableResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def retrieve_stats(self, request: textable__pb2.RetrieveStatsRequest, ctx: RequestContext) -> textable__pb2.StatsResult: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + async def check_textable(self, request: textable__pb2.CheckTextableRequest, ctx: RequestContext) -> textable__pb2.CheckTextableResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class TextableServiceASGIApplication(ConnectASGIApplication[TextableService]): + + def __init__(self, service: TextableService | AsyncGenerator[TextableService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(service=service, endpoints=lambda svc: {'/textql.rpc.textable.TextableService/LoadToSandbox': Endpoint.unary(method=MethodInfo(name='LoadToSandbox', service_name='textql.rpc.textable.TextableService', input=textable__pb2.LoadToSandboxRequest, output=textable__pb2.LoadToSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.load_to_sandbox), '/textql.rpc.textable.TextableService/QueryTextable': Endpoint.unary(method=MethodInfo(name='QueryTextable', service_name='textql.rpc.textable.TextableService', input=textable__pb2.QueryTextableRequest, output=textable__pb2.QueryTextableResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.query_textable), '/textql.rpc.textable.TextableService/RetrieveStats': Endpoint.unary(method=MethodInfo(name='RetrieveStats', service_name='textql.rpc.textable.TextableService', input=textable__pb2.RetrieveStatsRequest, output=textable__pb2.StatsResult, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.retrieve_stats), '/textql.rpc.textable.TextableService/CheckTextable': Endpoint.unary(method=MethodInfo(name='CheckTextable', service_name='textql.rpc.textable.TextableService', input=textable__pb2.CheckTextableRequest, output=textable__pb2.CheckTextableResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=svc.check_textable)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.textable.TextableService' + +class TextableServiceClient(ConnectClient): + + async def load_to_sandbox(self, request: textable__pb2.LoadToSandboxRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> textable__pb2.LoadToSandboxResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='LoadToSandbox', service_name='textql.rpc.textable.TextableService', input=textable__pb2.LoadToSandboxRequest, output=textable__pb2.LoadToSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def query_textable(self, request: textable__pb2.QueryTextableRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> textable__pb2.QueryTextableResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='QueryTextable', service_name='textql.rpc.textable.TextableService', input=textable__pb2.QueryTextableRequest, output=textable__pb2.QueryTextableResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def retrieve_stats(self, request: textable__pb2.RetrieveStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> textable__pb2.StatsResult: + return await self.execute_unary(request=request, method=MethodInfo(name='RetrieveStats', service_name='textql.rpc.textable.TextableService', input=textable__pb2.RetrieveStatsRequest, output=textable__pb2.StatsResult, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + async def check_textable(self, request: textable__pb2.CheckTextableRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> textable__pb2.CheckTextableResponse: + return await self.execute_unary(request=request, method=MethodInfo(name='CheckTextable', service_name='textql.rpc.textable.TextableService', input=textable__pb2.CheckTextableRequest, output=textable__pb2.CheckTextableResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + +class TextableServiceSync(Protocol): + + def load_to_sandbox(self, request: textable__pb2.LoadToSandboxRequest, ctx: RequestContext) -> textable__pb2.LoadToSandboxResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def query_textable(self, request: textable__pb2.QueryTextableRequest, ctx: RequestContext) -> textable__pb2.QueryTextableResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def retrieve_stats(self, request: textable__pb2.RetrieveStatsRequest, ctx: RequestContext) -> textable__pb2.StatsResult: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + + def check_textable(self, request: textable__pb2.CheckTextableRequest, ctx: RequestContext) -> textable__pb2.CheckTextableResponse: + raise ConnectError(Code.UNIMPLEMENTED, 'Not implemented') + +class TextableServiceWSGIApplication(ConnectWSGIApplication): + + def __init__(self, service: TextableServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None=None, compressions: Iterable[Compression] | None=None) -> None: + super().__init__(endpoints={'/textql.rpc.textable.TextableService/LoadToSandbox': EndpointSync.unary(method=MethodInfo(name='LoadToSandbox', service_name='textql.rpc.textable.TextableService', input=textable__pb2.LoadToSandboxRequest, output=textable__pb2.LoadToSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.load_to_sandbox), '/textql.rpc.textable.TextableService/QueryTextable': EndpointSync.unary(method=MethodInfo(name='QueryTextable', service_name='textql.rpc.textable.TextableService', input=textable__pb2.QueryTextableRequest, output=textable__pb2.QueryTextableResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.query_textable), '/textql.rpc.textable.TextableService/RetrieveStats': EndpointSync.unary(method=MethodInfo(name='RetrieveStats', service_name='textql.rpc.textable.TextableService', input=textable__pb2.RetrieveStatsRequest, output=textable__pb2.StatsResult, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.retrieve_stats), '/textql.rpc.textable.TextableService/CheckTextable': EndpointSync.unary(method=MethodInfo(name='CheckTextable', service_name='textql.rpc.textable.TextableService', input=textable__pb2.CheckTextableRequest, output=textable__pb2.CheckTextableResponse, idempotency_level=IdempotencyLevel.UNKNOWN), function=service.check_textable)}, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions) + + @property + def path(self) -> str: + """Returns the URL path to mount the application to when serving multiple applications.""" + return '/textql.rpc.textable.TextableService' + +class TextableServiceClientSync(ConnectClientSync): + + def load_to_sandbox(self, request: textable__pb2.LoadToSandboxRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> textable__pb2.LoadToSandboxResponse: + return self.execute_unary(request=request, method=MethodInfo(name='LoadToSandbox', service_name='textql.rpc.textable.TextableService', input=textable__pb2.LoadToSandboxRequest, output=textable__pb2.LoadToSandboxResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def query_textable(self, request: textable__pb2.QueryTextableRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> textable__pb2.QueryTextableResponse: + return self.execute_unary(request=request, method=MethodInfo(name='QueryTextable', service_name='textql.rpc.textable.TextableService', input=textable__pb2.QueryTextableRequest, output=textable__pb2.QueryTextableResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def retrieve_stats(self, request: textable__pb2.RetrieveStatsRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> textable__pb2.StatsResult: + return self.execute_unary(request=request, method=MethodInfo(name='RetrieveStats', service_name='textql.rpc.textable.TextableService', input=textable__pb2.RetrieveStatsRequest, output=textable__pb2.StatsResult, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) + + def check_textable(self, request: textable__pb2.CheckTextableRequest, *, headers: Headers | Mapping[str, str] | None=None, timeout_ms: int | None=None) -> textable__pb2.CheckTextableResponse: + return self.execute_unary(request=request, method=MethodInfo(name='CheckTextable', service_name='textql.rpc.textable.TextableService', input=textable__pb2.CheckTextableRequest, output=textable__pb2.CheckTextableResponse, idempotency_level=IdempotencyLevel.UNKNOWN), headers=headers, timeout_ms=timeout_ms) \ No newline at end of file diff --git a/src/textql_sdk/_connect/textable_pb2.py b/src/textql_sdk/_connect/textable_pb2.py new file mode 100644 index 0000000..2bede2f --- /dev/null +++ b/src/textql_sdk/_connect/textable_pb2.py @@ -0,0 +1,47 @@ +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'textable.proto') +_sym_db = _symbol_database.Default() +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0etextable.proto\x12\x13textql.rpc.textable\x1a\x19google/protobuf/any.proto"\x84\x02\n\x14LoadToSandboxRequest\x12\x16\n\x06source\x18\x01 \x01(\tR\x06source\x12<\n\x08csv_data\x18\x02 \x01(\x0b2\x1f.textql.rpc.textable.CSVRequestH\x00R\x07csvData\x12<\n\x08sql_data\x18\x03 \x01(\x0b2\x1f.textql.rpc.textable.SQLRequestH\x00R\x07sqlData\x12H\n\x0ctableau_data\x18\x04 \x01(\x0b2#.textql.rpc.textable.TableauRequestH\x00R\x0btableauDataB\x0e\n\x0crequest_data"\xa9\x01\n\x15LoadToSandboxResponse\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04head\x18\x02 \x01(\tR\x04head\x12\x12\n\x04size\x18\x03 \x01(\x03R\x04size\x12$\n\x0eloaded_in_full\x18\x04 \x01(\x08R\x0cloadedInFull\x12\x18\n\x07preview\x18\x05 \x01(\tR\x07preview\x12\x14\n\x05error\x18\x06 \x01(\tR\x05error"\xa9\x02\n\x14QueryTextableRequest\x12\x16\n\x06source\x18\x01 \x01(\tR\x06source\x12<\n\x08csv_data\x18\x02 \x01(\x0b2\x1f.textql.rpc.textable.CSVRequestH\x00R\x07csvData\x12<\n\x08sql_data\x18\x03 \x01(\x0b2\x1f.textql.rpc.textable.SQLRequestH\x00R\x07sqlData\x12H\n\x0ctableau_data\x18\x04 \x01(\x0b2#.textql.rpc.textable.TableauRequestH\x00R\x0btableauData\x12#\n\rinclude_stats\x18\x05 \x01(\x08R\x0cincludeStatsB\x0e\n\x0crequest_data"\xdf\x01\n\x15QueryTextableResponse\x12!\n\x0ccolumn_names\x18\x01 \x03(\tR\x0bcolumnNames\x12!\n\x0ccolumn_types\x18\x02 \x03(\tR\x0bcolumnTypes\x120\n\x06values\x18\x03 \x03(\x0b2\x18.textql.rpc.textable.RowR\x06values\x12\x16\n\x06length\x18\x04 \x01(\x05R\x06length\x126\n\x05stats\x18\x05 \x03(\x0b2 .textql.rpc.textable.ColumnStatsR\x05stats"3\n\x03Row\x12,\n\x06values\x18\x01 \x03(\x0b2\x14.google.protobuf.AnyR\x06values"\x84\x02\n\x14RetrieveStatsRequest\x12\x16\n\x06source\x18\x01 \x01(\tR\x06source\x12<\n\x08csv_data\x18\x02 \x01(\x0b2\x1f.textql.rpc.textable.CSVRequestH\x00R\x07csvData\x12<\n\x08sql_data\x18\x03 \x01(\x0b2\x1f.textql.rpc.textable.SQLRequestH\x00R\x07sqlData\x12H\n\x0ctableau_data\x18\x04 \x01(\x0b2#.textql.rpc.textable.TableauRequestH\x00R\x0btableauDataB\x0e\n\x0crequest_data"]\n\x0bStatsResult\x12\x16\n\x06length\x18\x01 \x01(\x05R\x06length\x126\n\x05stats\x18\x02 \x03(\x0b2 .textql.rpc.textable.ColumnStatsR\x05stats"\xa9\x02\n\x14CheckTextableRequest\x12\x16\n\x06source\x18\x01 \x01(\tR\x06source\x12<\n\x08csv_data\x18\x02 \x01(\x0b2\x1f.textql.rpc.textable.CSVRequestH\x00R\x07csvData\x12<\n\x08sql_data\x18\x03 \x01(\x0b2\x1f.textql.rpc.textable.SQLRequestH\x00R\x07sqlData\x12H\n\x0ctableau_data\x18\x04 \x01(\x0b2#.textql.rpc.textable.TableauRequestH\x00R\x0btableauData\x12#\n\rinclude_stats\x18\x05 \x01(\x08R\x0cincludeStatsB\x0e\n\x0crequest_data"\xad\x01\n\x15CheckTextableResponse\x12!\n\x0ccolumn_names\x18\x01 \x03(\tR\x0bcolumnNames\x12!\n\x0ccolumn_types\x18\x02 \x03(\tR\x0bcolumnTypes\x12\x16\n\x06length\x18\x03 \x01(\x05R\x06length\x126\n\x05stats\x18\x04 \x03(\x0b2 .textql.rpc.textable.ColumnStatsR\x05stats"\xbe\x01\n\nCSVRequest\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x12\n\x04page\x18\x03 \x01(\x05R\x04page\x122\n\x15histogram_bucket_size\x18\x04 \x01(\x05R\x13histogramBucketSize\x12\x18\n\x07timeout\x18\x05 \x01(\tR\x07timeout\x12&\n\x0fdata_frame_name\x18\x06 \x01(\tR\rdataFrameName"\xd8\x02\n\nSQLRequest\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12\'\n\x0fdeployment_type\x18\x02 \x01(\tR\x0edeploymentType\x12?\n\ndeployment\x18\x03 \x01(\x0b2\x1f.textql.rpc.textable.DeploymentR\ndeployment\x12*\n\x11force_exact_query\x18\x04 \x01(\x08R\x0fforceExactQuery\x12\x14\n\x05limit\x18\x05 \x01(\x05R\x05limit\x12\x12\n\x04page\x18\x06 \x01(\x05R\x04page\x122\n\x15histogram_bucket_size\x18\x07 \x01(\x05R\x13histogramBucketSize\x12\x18\n\x07timeout\x18\x08 \x01(\tR\x07timeout\x12&\n\x0fdata_frame_name\x18\t \x01(\tR\rdataFrameName"\x8a\x02\n\x0eTableauRequest\x12?\n\ndeployment\x18\x01 \x01(\x0b2\x1f.textql.rpc.textable.DeploymentR\ndeployment\x12\x17\n\x07view_id\x18\x02 \x01(\tR\x06viewId\x12\x14\n\x05limit\x18\x03 \x01(\x05R\x05limit\x12\x12\n\x04page\x18\x04 \x01(\x05R\x04page\x122\n\x15histogram_bucket_size\x18\x05 \x01(\x05R\x13histogramBucketSize\x12\x18\n\x07timeout\x18\x06 \x01(\tR\x07timeout\x12&\n\x0fdata_frame_name\x18\x07 \x01(\tR\rdataFrameName"&\n\nDeployment\x12\x18\n\x07dialect\x18\x01 \x01(\tR\x07dialect"\xc9\x01\n\x0bColumnStats\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x10\n\x03min\x18\x03 \x01(\x01R\x03min\x12\x10\n\x03max\x18\x04 \x01(\x01R\x03max\x12\x12\n\x04mean\x18\x05 \x01(\x01R\x04mean\x12\x16\n\x06median\x18\x06 \x01(\x01R\x06median\x12B\n\thistogram\x18\x07 \x03(\x0b2$.textql.rpc.textable.HistogramBucketR\thistogram"M\n\x0fHistogramBucket\x12\x10\n\x03low\x18\x01 \x01(\x01R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x01R\x04high\x12\x14\n\x05count\x18\x03 \x01(\x05R\x05count2\xaf\x03\n\x0fTextableService\x12h\n\rLoadToSandbox\x12).textql.rpc.textable.LoadToSandboxRequest\x1a*.textql.rpc.textable.LoadToSandboxResponse"\x00\x12h\n\rQueryTextable\x12).textql.rpc.textable.QueryTextableRequest\x1a*.textql.rpc.textable.QueryTextableResponse"\x00\x12^\n\rRetrieveStats\x12).textql.rpc.textable.RetrieveStatsRequest\x1a .textql.rpc.textable.StatsResult"\x00\x12h\n\rCheckTextable\x12).textql.rpc.textable.CheckTextableRequest\x1a*.textql.rpc.textable.CheckTextableResponse"\x00b\x06proto3') +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'textable_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_LOADTOSANDBOXREQUEST']._serialized_start = 67 + _globals['_LOADTOSANDBOXREQUEST']._serialized_end = 327 + _globals['_LOADTOSANDBOXRESPONSE']._serialized_start = 330 + _globals['_LOADTOSANDBOXRESPONSE']._serialized_end = 499 + _globals['_QUERYTEXTABLEREQUEST']._serialized_start = 502 + _globals['_QUERYTEXTABLEREQUEST']._serialized_end = 799 + _globals['_QUERYTEXTABLERESPONSE']._serialized_start = 802 + _globals['_QUERYTEXTABLERESPONSE']._serialized_end = 1025 + _globals['_ROW']._serialized_start = 1027 + _globals['_ROW']._serialized_end = 1078 + _globals['_RETRIEVESTATSREQUEST']._serialized_start = 1081 + _globals['_RETRIEVESTATSREQUEST']._serialized_end = 1341 + _globals['_STATSRESULT']._serialized_start = 1343 + _globals['_STATSRESULT']._serialized_end = 1436 + _globals['_CHECKTEXTABLEREQUEST']._serialized_start = 1439 + _globals['_CHECKTEXTABLEREQUEST']._serialized_end = 1736 + _globals['_CHECKTEXTABLERESPONSE']._serialized_start = 1739 + _globals['_CHECKTEXTABLERESPONSE']._serialized_end = 1912 + _globals['_CSVREQUEST']._serialized_start = 1915 + _globals['_CSVREQUEST']._serialized_end = 2105 + _globals['_SQLREQUEST']._serialized_start = 2108 + _globals['_SQLREQUEST']._serialized_end = 2452 + _globals['_TABLEAUREQUEST']._serialized_start = 2455 + _globals['_TABLEAUREQUEST']._serialized_end = 2721 + _globals['_DEPLOYMENT']._serialized_start = 2723 + _globals['_DEPLOYMENT']._serialized_end = 2761 + _globals['_COLUMNSTATS']._serialized_start = 2764 + _globals['_COLUMNSTATS']._serialized_end = 2965 + _globals['_HISTOGRAMBUCKET']._serialized_start = 2967 + _globals['_HISTOGRAMBUCKET']._serialized_end = 3044 + _globals['_TEXTABLESERVICE']._serialized_start = 3047 + _globals['_TEXTABLESERVICE']._serialized_end = 3478 \ No newline at end of file diff --git a/src/textql_sdk/_connect/textable_pb2.pyi b/src/textql_sdk/_connect/textable_pb2.pyi new file mode 100644 index 0000000..0466bbd --- /dev/null +++ b/src/textql_sdk/_connect/textable_pb2.pyi @@ -0,0 +1,235 @@ +from google.protobuf import any_pb2 as _any_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from collections.abc import Iterable as _Iterable, Mapping as _Mapping +from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union +DESCRIPTOR: _descriptor.FileDescriptor + +class LoadToSandboxRequest(_message.Message): + __slots__ = ('source', 'csv_data', 'sql_data', 'tableau_data') + SOURCE_FIELD_NUMBER: _ClassVar[int] + CSV_DATA_FIELD_NUMBER: _ClassVar[int] + SQL_DATA_FIELD_NUMBER: _ClassVar[int] + TABLEAU_DATA_FIELD_NUMBER: _ClassVar[int] + source: str + csv_data: CSVRequest + sql_data: SQLRequest + tableau_data: TableauRequest + + def __init__(self, source: _Optional[str]=..., csv_data: _Optional[_Union[CSVRequest, _Mapping]]=..., sql_data: _Optional[_Union[SQLRequest, _Mapping]]=..., tableau_data: _Optional[_Union[TableauRequest, _Mapping]]=...) -> None: + ... + +class LoadToSandboxResponse(_message.Message): + __slots__ = ('name', 'head', 'size', 'loaded_in_full', 'preview', 'error') + NAME_FIELD_NUMBER: _ClassVar[int] + HEAD_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + LOADED_IN_FULL_FIELD_NUMBER: _ClassVar[int] + PREVIEW_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + name: str + head: str + size: int + loaded_in_full: bool + preview: str + error: str + + def __init__(self, name: _Optional[str]=..., head: _Optional[str]=..., size: _Optional[int]=..., loaded_in_full: bool=..., preview: _Optional[str]=..., error: _Optional[str]=...) -> None: + ... + +class QueryTextableRequest(_message.Message): + __slots__ = ('source', 'csv_data', 'sql_data', 'tableau_data', 'include_stats') + SOURCE_FIELD_NUMBER: _ClassVar[int] + CSV_DATA_FIELD_NUMBER: _ClassVar[int] + SQL_DATA_FIELD_NUMBER: _ClassVar[int] + TABLEAU_DATA_FIELD_NUMBER: _ClassVar[int] + INCLUDE_STATS_FIELD_NUMBER: _ClassVar[int] + source: str + csv_data: CSVRequest + sql_data: SQLRequest + tableau_data: TableauRequest + include_stats: bool + + def __init__(self, source: _Optional[str]=..., csv_data: _Optional[_Union[CSVRequest, _Mapping]]=..., sql_data: _Optional[_Union[SQLRequest, _Mapping]]=..., tableau_data: _Optional[_Union[TableauRequest, _Mapping]]=..., include_stats: bool=...) -> None: + ... + +class QueryTextableResponse(_message.Message): + __slots__ = ('column_names', 'column_types', 'values', 'length', 'stats') + COLUMN_NAMES_FIELD_NUMBER: _ClassVar[int] + COLUMN_TYPES_FIELD_NUMBER: _ClassVar[int] + VALUES_FIELD_NUMBER: _ClassVar[int] + LENGTH_FIELD_NUMBER: _ClassVar[int] + STATS_FIELD_NUMBER: _ClassVar[int] + column_names: _containers.RepeatedScalarFieldContainer[str] + column_types: _containers.RepeatedScalarFieldContainer[str] + values: _containers.RepeatedCompositeFieldContainer[Row] + length: int + stats: _containers.RepeatedCompositeFieldContainer[ColumnStats] + + def __init__(self, column_names: _Optional[_Iterable[str]]=..., column_types: _Optional[_Iterable[str]]=..., values: _Optional[_Iterable[_Union[Row, _Mapping]]]=..., length: _Optional[int]=..., stats: _Optional[_Iterable[_Union[ColumnStats, _Mapping]]]=...) -> None: + ... + +class Row(_message.Message): + __slots__ = ('values',) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedCompositeFieldContainer[_any_pb2.Any] + + def __init__(self, values: _Optional[_Iterable[_Union[_any_pb2.Any, _Mapping]]]=...) -> None: + ... + +class RetrieveStatsRequest(_message.Message): + __slots__ = ('source', 'csv_data', 'sql_data', 'tableau_data') + SOURCE_FIELD_NUMBER: _ClassVar[int] + CSV_DATA_FIELD_NUMBER: _ClassVar[int] + SQL_DATA_FIELD_NUMBER: _ClassVar[int] + TABLEAU_DATA_FIELD_NUMBER: _ClassVar[int] + source: str + csv_data: CSVRequest + sql_data: SQLRequest + tableau_data: TableauRequest + + def __init__(self, source: _Optional[str]=..., csv_data: _Optional[_Union[CSVRequest, _Mapping]]=..., sql_data: _Optional[_Union[SQLRequest, _Mapping]]=..., tableau_data: _Optional[_Union[TableauRequest, _Mapping]]=...) -> None: + ... + +class StatsResult(_message.Message): + __slots__ = ('length', 'stats') + LENGTH_FIELD_NUMBER: _ClassVar[int] + STATS_FIELD_NUMBER: _ClassVar[int] + length: int + stats: _containers.RepeatedCompositeFieldContainer[ColumnStats] + + def __init__(self, length: _Optional[int]=..., stats: _Optional[_Iterable[_Union[ColumnStats, _Mapping]]]=...) -> None: + ... + +class CheckTextableRequest(_message.Message): + __slots__ = ('source', 'csv_data', 'sql_data', 'tableau_data', 'include_stats') + SOURCE_FIELD_NUMBER: _ClassVar[int] + CSV_DATA_FIELD_NUMBER: _ClassVar[int] + SQL_DATA_FIELD_NUMBER: _ClassVar[int] + TABLEAU_DATA_FIELD_NUMBER: _ClassVar[int] + INCLUDE_STATS_FIELD_NUMBER: _ClassVar[int] + source: str + csv_data: CSVRequest + sql_data: SQLRequest + tableau_data: TableauRequest + include_stats: bool + + def __init__(self, source: _Optional[str]=..., csv_data: _Optional[_Union[CSVRequest, _Mapping]]=..., sql_data: _Optional[_Union[SQLRequest, _Mapping]]=..., tableau_data: _Optional[_Union[TableauRequest, _Mapping]]=..., include_stats: bool=...) -> None: + ... + +class CheckTextableResponse(_message.Message): + __slots__ = ('column_names', 'column_types', 'length', 'stats') + COLUMN_NAMES_FIELD_NUMBER: _ClassVar[int] + COLUMN_TYPES_FIELD_NUMBER: _ClassVar[int] + LENGTH_FIELD_NUMBER: _ClassVar[int] + STATS_FIELD_NUMBER: _ClassVar[int] + column_names: _containers.RepeatedScalarFieldContainer[str] + column_types: _containers.RepeatedScalarFieldContainer[str] + length: int + stats: _containers.RepeatedCompositeFieldContainer[ColumnStats] + + def __init__(self, column_names: _Optional[_Iterable[str]]=..., column_types: _Optional[_Iterable[str]]=..., length: _Optional[int]=..., stats: _Optional[_Iterable[_Union[ColumnStats, _Mapping]]]=...) -> None: + ... + +class CSVRequest(_message.Message): + __slots__ = ('url', 'limit', 'page', 'histogram_bucket_size', 'timeout', 'data_frame_name') + URL_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + PAGE_FIELD_NUMBER: _ClassVar[int] + HISTOGRAM_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] + TIMEOUT_FIELD_NUMBER: _ClassVar[int] + DATA_FRAME_NAME_FIELD_NUMBER: _ClassVar[int] + url: str + limit: int + page: int + histogram_bucket_size: int + timeout: str + data_frame_name: str + + def __init__(self, url: _Optional[str]=..., limit: _Optional[int]=..., page: _Optional[int]=..., histogram_bucket_size: _Optional[int]=..., timeout: _Optional[str]=..., data_frame_name: _Optional[str]=...) -> None: + ... + +class SQLRequest(_message.Message): + __slots__ = ('query', 'deployment_type', 'deployment', 'force_exact_query', 'limit', 'page', 'histogram_bucket_size', 'timeout', 'data_frame_name') + QUERY_FIELD_NUMBER: _ClassVar[int] + DEPLOYMENT_TYPE_FIELD_NUMBER: _ClassVar[int] + DEPLOYMENT_FIELD_NUMBER: _ClassVar[int] + FORCE_EXACT_QUERY_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + PAGE_FIELD_NUMBER: _ClassVar[int] + HISTOGRAM_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] + TIMEOUT_FIELD_NUMBER: _ClassVar[int] + DATA_FRAME_NAME_FIELD_NUMBER: _ClassVar[int] + query: str + deployment_type: str + deployment: Deployment + force_exact_query: bool + limit: int + page: int + histogram_bucket_size: int + timeout: str + data_frame_name: str + + def __init__(self, query: _Optional[str]=..., deployment_type: _Optional[str]=..., deployment: _Optional[_Union[Deployment, _Mapping]]=..., force_exact_query: bool=..., limit: _Optional[int]=..., page: _Optional[int]=..., histogram_bucket_size: _Optional[int]=..., timeout: _Optional[str]=..., data_frame_name: _Optional[str]=...) -> None: + ... + +class TableauRequest(_message.Message): + __slots__ = ('deployment', 'view_id', 'limit', 'page', 'histogram_bucket_size', 'timeout', 'data_frame_name') + DEPLOYMENT_FIELD_NUMBER: _ClassVar[int] + VIEW_ID_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + PAGE_FIELD_NUMBER: _ClassVar[int] + HISTOGRAM_BUCKET_SIZE_FIELD_NUMBER: _ClassVar[int] + TIMEOUT_FIELD_NUMBER: _ClassVar[int] + DATA_FRAME_NAME_FIELD_NUMBER: _ClassVar[int] + deployment: Deployment + view_id: str + limit: int + page: int + histogram_bucket_size: int + timeout: str + data_frame_name: str + + def __init__(self, deployment: _Optional[_Union[Deployment, _Mapping]]=..., view_id: _Optional[str]=..., limit: _Optional[int]=..., page: _Optional[int]=..., histogram_bucket_size: _Optional[int]=..., timeout: _Optional[str]=..., data_frame_name: _Optional[str]=...) -> None: + ... + +class Deployment(_message.Message): + __slots__ = ('dialect',) + DIALECT_FIELD_NUMBER: _ClassVar[int] + dialect: str + + def __init__(self, dialect: _Optional[str]=...) -> None: + ... + +class ColumnStats(_message.Message): + __slots__ = ('name', 'type', 'min', 'max', 'mean', 'median', 'histogram') + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + MIN_FIELD_NUMBER: _ClassVar[int] + MAX_FIELD_NUMBER: _ClassVar[int] + MEAN_FIELD_NUMBER: _ClassVar[int] + MEDIAN_FIELD_NUMBER: _ClassVar[int] + HISTOGRAM_FIELD_NUMBER: _ClassVar[int] + name: str + type: str + min: float + max: float + mean: float + median: float + histogram: _containers.RepeatedCompositeFieldContainer[HistogramBucket] + + def __init__(self, name: _Optional[str]=..., type: _Optional[str]=..., min: _Optional[float]=..., max: _Optional[float]=..., mean: _Optional[float]=..., median: _Optional[float]=..., histogram: _Optional[_Iterable[_Union[HistogramBucket, _Mapping]]]=...) -> None: + ... + +class HistogramBucket(_message.Message): + __slots__ = ('low', 'high', 'count') + LOW_FIELD_NUMBER: _ClassVar[int] + HIGH_FIELD_NUMBER: _ClassVar[int] + COUNT_FIELD_NUMBER: _ClassVar[int] + low: float + high: float + count: int + + def __init__(self, low: _Optional[float]=..., high: _Optional[float]=..., count: _Optional[int]=...) -> None: + ... \ No newline at end of file diff --git a/src/textql_sdk/streaming.py b/src/textql_sdk/streaming.py new file mode 100644 index 0000000..3a0ed91 --- /dev/null +++ b/src/textql_sdk/streaming.py @@ -0,0 +1,255 @@ +"""Streaming bridge over Connect-RPC. + +The TextQL API exposes several server-streaming RPCs that have no HTTP/JSON +shape in the OpenAPI spec, so they are not part of the Speakeasy-generated SDK +surface. This module bridges them with Connect-RPC (https://connectrpc.com), +talking the Connect protocol directly to the same gateway, authenticated with +the same ``tql_api_key`` header. + +Configure the server and API key once on the :class:`~textql_sdk.Textql` SDK; +streaming inherits both -- you never pass a server URL or think about the +``/rpc/public`` mount:: + + from textql_sdk import Textql + from textql_sdk.streaming import create_streaming_client + + sdk = Textql(api_key=..., server_url=...) # server_url optional + streaming = create_streaming_client(sdk) + async for event in streaming.chats.watch_chat(WatchChatRequest(chat_id=chat_id)): + ... + +Without an SDK instance, pass ``api_key`` directly; ``server_url`` defaults to +the same server list the generated SDK uses (from the Speakeasy config). + +Server-streaming methods: ``chats.watch_chat``, ``chats.stream_chat``, +``agents.stream_agent_status``, ``apps.stream_app_activity``, +``dashboards.watch_dashboard_health``, +``playbooks.stream_template_data_status``. Unary RPCs on these clients work too, +but prefer the generated :class:`~textql_sdk.Textql` SDK for those. + +For any other service under :mod:`textql_sdk._connect`, use +:func:`create_connect_client` as an escape hatch. +""" + +from __future__ import annotations + +from dataclasses import dataclass +from typing import Optional, Tuple, TypeVar +from urllib.parse import urlparse + +from connectrpc.client import ConnectClient, ConnectClientSync +from connectrpc.request import RequestContext + +from .sdk import Textql +from .sdkconfiguration import SERVERS +from ._connect.public.agent_connect import AgentServiceClient, AgentServiceClientSync +from ._connect.public.apps_connect import AppServiceClient, AppServiceClientSync +from ._connect.public.chat_connect import ChatServiceClient, ChatServiceClientSync +from ._connect.public.dashboard_connect import ( + DashboardServiceClient, + DashboardServiceClientSync, +) +from ._connect.public.playbook_connect import ( + PlaybookServiceClient, + PlaybookServiceClientSync, +) + +_AsyncClientT = TypeVar("_AsyncClientT", bound=ConnectClient) +_SyncClientT = TypeVar("_SyncClientT", bound=ConnectClientSync) + + +def _rpc_base_url(server_url: str) -> str: + """Connect RPCs are mounted under ``/rpc/public``. The generated SDK's + server is just a host; the prefix is appended unless an explicit path is + already present.""" + url = urlparse(server_url) + path = url.path.rstrip("/") + if not path: + path = "/rpc/public" + return f"{url.scheme}://{url.netloc}{path}" + + +def _resolve( + sdk: Optional[Textql], api_key: Optional[str], server_url: Optional[str] +) -> Tuple[str, str]: + """Resolve (base address, api_key), preferring explicit args, then a + configured SDK, then the generated server default.""" + if sdk is not None: + config = sdk.sdk_configuration + if server_url is None: + server_url = config.get_server_details()[0] + if api_key is None: + security = config.security() if callable(config.security) else config.security + api_key = security.api_key if security is not None else None + if server_url is None: + server_url = SERVERS[0] + if not api_key: + raise ValueError( + "no api_key available: pass api_key=... or an sdk configured with one" + ) + return _rpc_base_url(server_url), api_key + + +class _ApiKeyInterceptor: + """Async metadata interceptor that attaches the ``tql_api_key`` header.""" + + def __init__(self, api_key: str) -> None: + self._api_key = api_key + + async def on_start(self, ctx: RequestContext) -> None: + ctx.request_headers()["tql_api_key"] = self._api_key + + async def on_end( + self, token: None, ctx: RequestContext, error: Optional[Exception] + ) -> None: + return None + + +class _ApiKeyInterceptorSync: + """Sync metadata interceptor that attaches the ``tql_api_key`` header.""" + + def __init__(self, api_key: str) -> None: + self._api_key = api_key + + def on_start_sync(self, ctx: RequestContext) -> None: + ctx.request_headers()["tql_api_key"] = self._api_key + + def on_end_sync( + self, token: None, ctx: RequestContext, error: Optional[Exception] + ) -> None: + return None + + +def create_connect_client( + service_client: type[_AsyncClientT], + sdk: Optional[Textql] = None, + *, + api_key: Optional[str] = None, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, +) -> _AsyncClientT: + """Build an authenticated async Connect client for a single service. + + Escape hatch for services not covered by :func:`create_streaming_client` -- + pass any generated ``*ServiceClient`` class from :mod:`textql_sdk._connect`:: + + from textql_sdk.streaming import create_connect_client + from textql_sdk._connect.public.feed_connect import FeedServiceClient + + feed = create_connect_client(FeedServiceClient, sdk) + """ + address, key = _resolve(sdk, api_key, server_url) + return service_client( + address, interceptors=[_ApiKeyInterceptor(key)], timeout_ms=timeout_ms + ) + + +def create_connect_client_sync( + service_client: type[_SyncClientT], + sdk: Optional[Textql] = None, + *, + api_key: Optional[str] = None, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, +) -> _SyncClientT: + """Sync counterpart to :func:`create_connect_client` -- pass a generated + ``*ServiceClientSync`` class.""" + address, key = _resolve(sdk, api_key, server_url) + return service_client( + address, interceptors=[_ApiKeyInterceptorSync(key)], timeout_ms=timeout_ms + ) + + +@dataclass +class StreamingClient: + """Async Connect clients for the server-streaming services. Streaming + methods return async iterators of protobuf messages.""" + + agents: AgentServiceClient + apps: AppServiceClient + chats: ChatServiceClient + dashboards: DashboardServiceClient + playbooks: PlaybookServiceClient + + +@dataclass +class StreamingClientSync: + """Sync counterpart to :class:`StreamingClient`. Streaming methods return + plain iterators of protobuf messages.""" + + agents: AgentServiceClientSync + apps: AppServiceClientSync + chats: ChatServiceClientSync + dashboards: DashboardServiceClientSync + playbooks: PlaybookServiceClientSync + + +def create_streaming_client( + sdk: Optional[Textql] = None, + *, + api_key: Optional[str] = None, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, +) -> StreamingClient: + """Streaming bridge over Connect-RPC for the server-streaming endpoints that + have no HTTP/JSON shape in the OpenAPI spec. + + Pass a configured :class:`~textql_sdk.Textql` to inherit its server and API + key, or pass ``api_key`` directly. + + Server-streaming methods: ``chats.watch_chat``, ``chats.stream_chat``, + ``agents.stream_agent_status``, ``apps.stream_app_activity``, + ``dashboards.watch_dashboard_health``, + ``playbooks.stream_template_data_status``. + """ + address, key = _resolve(sdk, api_key, server_url) + interceptor = _ApiKeyInterceptor(key) + + def build(service_client: type[_AsyncClientT]) -> _AsyncClientT: + return service_client( + address, interceptors=[interceptor], timeout_ms=timeout_ms + ) + + return StreamingClient( + agents=build(AgentServiceClient), + apps=build(AppServiceClient), + chats=build(ChatServiceClient), + dashboards=build(DashboardServiceClient), + playbooks=build(PlaybookServiceClient), + ) + + +def create_streaming_client_sync( + sdk: Optional[Textql] = None, + *, + api_key: Optional[str] = None, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, +) -> StreamingClientSync: + """Sync counterpart to :func:`create_streaming_client`. Streaming methods + return plain iterators (usable in a ``for`` loop).""" + address, key = _resolve(sdk, api_key, server_url) + interceptor = _ApiKeyInterceptorSync(key) + + def build(service_client: type[_SyncClientT]) -> _SyncClientT: + return service_client( + address, interceptors=[interceptor], timeout_ms=timeout_ms + ) + + return StreamingClientSync( + agents=build(AgentServiceClientSync), + apps=build(AppServiceClientSync), + chats=build(ChatServiceClientSync), + dashboards=build(DashboardServiceClientSync), + playbooks=build(PlaybookServiceClientSync), + ) + + +__all__ = [ + "StreamingClient", + "StreamingClientSync", + "create_connect_client", + "create_connect_client_sync", + "create_streaming_client", + "create_streaming_client_sync", +] diff --git a/uv.lock b/uv.lock index fe3e895..20000fb 100644 --- a/uv.lock +++ b/uv.lock @@ -60,6 +60,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] +[[package]] +name = "connect-python" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "protobuf" }, + { name = "pyqwest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/fc/0e4798c53e2754f5de36ecf4d198706cb23711d603df6c008f6e7b5b21ae/connect_python-0.9.0.tar.gz", hash = "sha256:a188ec843b0f5953b7e1b88061af50ad91c9aaa2e982d7a89a63ae5c1fff932e", size = 46094, upload-time = "2026-03-19T02:40:42.279Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/15/5b42df2d9d34e5103f2b69e4f6a4aeb47c52589eaac8d53eb5b0a40eabaa/connect_python-0.9.0-py3-none-any.whl", hash = "sha256:896171fa7236d4e1557e3f7eee76daa8c9dd762f2c21662515f2060f1b542574", size = 63381, upload-time = "2026-03-19T02:40:40.743Z" }, +] + [[package]] name = "dill" version = "0.4.1" @@ -74,7 +87,7 @@ name = "exceptiongroup" version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } wheels = [ @@ -201,6 +214,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", size = 23438, upload-time = "2025-12-20T14:08:52.782Z" }, ] +[[package]] +name = "opentelemetry-api" +version = "1.44.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ee/8b/aa9e2d8b8dfa7c946f7dec5d1f8f6ba8eca062f43509a06bdb5ce93d26c0/opentelemetry_api-1.44.0.tar.gz", hash = "sha256:67647e5e9566edcf421166fdf022b3537f818635daa852b289e34604dc6fb33a", size = 72406, upload-time = "2026-07-16T15:25:32.678Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/6f/a04e900f465ff3221ccc395522503e2d10e79fa21f2723c8e177aae1e0d1/opentelemetry_api-1.44.0-py3-none-any.whl", hash = "sha256:94b98c893a91b88657eaac1e3ba89618cdb85be6918196705354f34728b2cdef", size = 60018, upload-time = "2026-07-16T15:25:11.657Z" }, +] + [[package]] name = "platformdirs" version = "4.10.0" @@ -210,6 +235,21 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/81/e6/cd9575ac904136b3cbf7aa7ee819ef86eedb7274e46f230e94ea4342e729/platformdirs-4.10.0-py3-none-any.whl", hash = "sha256:fb516cdb12eb0d857d0cd85a7c57cea4d060bee4578d6cf5a14dfdf8cbf8784a", size = 22743, upload-time = "2026-05-28T03:32:52.175Z" }, ] +[[package]] +name = "protobuf" +version = "7.35.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/01/9ef0afd7999eb9badb3a768b4aedd78c86d4c65cfaf1958ab276199e76b4/protobuf-7.35.1.tar.gz", hash = "sha256:ce115a26fe0c39a2c29973d914d327e516a6455464489fe3cd1e51a1b354f81a", size = 458717, upload-time = "2026-06-11T21:55:40.257Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/03/8aeeb7458d22546bf64b5250ca1daeb5ff757d900e8e4a7476c6f0db843e/protobuf-7.35.1-cp310-abi3-macosx_10_9_universal2.whl", hash = "sha256:24f857477359a85c0c235261b8ba905fd51b2562f4a64ca1df5473f29850cbf6", size = 433226, upload-time = "2026-06-11T21:55:31.719Z" }, + { url = "https://files.pythonhosted.org/packages/37/4b/dfb89eb0e652a1ff073c39a59fb5e3a83cfe9b57a2c83fa6d78270101767/protobuf-7.35.1-cp310-abi3-manylinux2014_aarch64.whl", hash = "sha256:11d6b0ec246892d85215b0a13ca6e0233cf5284b68f0ac02646427f4ff88a799", size = 328847, upload-time = "2026-06-11T21:55:34.035Z" }, + { url = "https://files.pythonhosted.org/packages/0f/58/dc12f2cd484951524af6e3382c785869b9b3fb5e52ee95ae23add53ee8f9/protobuf-7.35.1-cp310-abi3-manylinux2014_s390x.whl", hash = "sha256:b73f9489a4b8b1c9cb1f8ed951c736392592edb24b9d6819f36d2e10b171d5b4", size = 344030, upload-time = "2026-06-11T21:55:34.941Z" }, + { url = "https://files.pythonhosted.org/packages/e4/be/5b3cfe508bfab6761414ff944e3366eb13be4fd71efcd69450f89ba39f43/protobuf-7.35.1-cp310-abi3-manylinux2014_x86_64.whl", hash = "sha256:74758715c53d7158fb76caf4f0cfdacc5329a4b1bb994f865d6cf302d413a1c4", size = 327130, upload-time = "2026-06-11T21:55:35.921Z" }, + { url = "https://files.pythonhosted.org/packages/d8/bc/6d6c7ba8709c85f8f2c390b2b118d6fb08a783676a572271851bf45a7d22/protobuf-7.35.1-cp310-abi3-win32.whl", hash = "sha256:353652e4efd0bca5b5fc2656abf8307ef351f0cf938c9eba09f0e09c20a25c30", size = 428945, upload-time = "2026-06-11T21:55:37.034Z" }, + { url = "https://files.pythonhosted.org/packages/0a/19/8d0cb6f20a1ef7b18f1c8986ad5783f22f84cce39c6ce9a6e645ea55192e/protobuf-7.35.1-cp310-abi3-win_amd64.whl", hash = "sha256:230a75ddfc2de4806e56696ce9640c1cdfdb6543b7cfce98d42a4c0a0e7bdb87", size = 439996, upload-time = "2026-06-11T21:55:38.123Z" }, + { url = "https://files.pythonhosted.org/packages/19/c7/5f7c636ec43e0c545e28d1f1db71990108306f7bdcb89f069ba97e428e7f/protobuf-7.35.1-py3-none-any.whl", hash = "sha256:4bc97768d8fe4ad6743c8a19403e314511ed9f6d13205b687e52421c023ac1b9", size = 171659, upload-time = "2026-06-11T21:55:39.155Z" }, +] + [[package]] name = "pydantic" version = "2.12.5" @@ -362,6 +402,59 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/50/d3/d346f779cbc9384d8b805a7557b5f2b8ee9f842bffebec9fc6364d6ae183/pylint-3.2.3-py3-none-any.whl", hash = "sha256:b3d7d2708a3e04b4679e02d99e72329a8b7ee8afb8d04110682278781f889fa8", size = 519244, upload-time = "2024-06-06T14:19:13.228Z" }, ] +[[package]] +name = "pyqwest" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/01/05/8576f0eeb44d3fe14c70e2bafa77ae6930c5e6f42b93c568719ea4456715/pyqwest-0.7.0.tar.gz", hash = "sha256:ac65f2243f3e814e7f4aad3f2fcfe78f89aad2de2a825eaaabf4c102f1937843", size = 457991, upload-time = "2026-07-19T05:20:06.61Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/49/7f26a2c2a3e8bbab4862bcbf4f54b706d9524fa9705cc0127553b81ed161/pyqwest-0.7.0-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:7b2339f3b55ae179e0cb55bbd5792ae1c954d31f80de7b4dde0e95b03576b6be", size = 5159904, upload-time = "2026-07-19T05:18:57.757Z" }, + { url = "https://files.pythonhosted.org/packages/20/f1/4aba1976566936ca873e1a726a0d9bdf8195a0dc4e4f78122f6050328566/pyqwest-0.7.0-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:2159c7e2eaf2563cdadfda17314e2b1747c30603979bf73db8daef311247db82", size = 5044476, upload-time = "2026-07-19T05:18:59.473Z" }, + { url = "https://files.pythonhosted.org/packages/fe/06/45908e5cda7fa28ba60df5ed2091056893c394c3217a796bc6577c4bd294/pyqwest-0.7.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a826f1b492a7497f469c8467bd51faf582733654bb2bc9fcdd4fa502f3e6ca1", size = 5560021, upload-time = "2026-07-19T05:19:01.097Z" }, + { url = "https://files.pythonhosted.org/packages/f2/3d/603f5c9446e8c13a4970b816246d7928e895408a7ed1778d98de3e25ea43/pyqwest-0.7.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da43c7e86bee9e74ff474d4829cd398fb9220ff0d84d633094ea6797fdfe03a1", size = 5506130, upload-time = "2026-07-19T05:19:02.812Z" }, + { url = "https://files.pythonhosted.org/packages/33/6d/2984aa02f4d0296dddb5df159e1af6c6e0ddc0b507d592f13d6ccd0b3162/pyqwest-0.7.0-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d1c71327c323a19dc90a0dafb1d68fb13f4f775a2498a26bf95f17165e64da9f", size = 5719961, upload-time = "2026-07-19T05:19:04.213Z" }, + { url = "https://files.pythonhosted.org/packages/19/06/e30c0d31eea17cabf99ef90c7c02e14cc94ca7d59793d397de9359148693/pyqwest-0.7.0-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:c002e0fc31a96f1c47986299710f49ed4551e4a912a7cdb69aba6fd94db6d544", size = 5908279, upload-time = "2026-07-19T05:19:05.595Z" }, + { url = "https://files.pythonhosted.org/packages/eb/db/a1368faae1cbd094a0d179b76de69b8d1908bd45898d3bcd29ac98622072/pyqwest-0.7.0-cp310-abi3-win_amd64.whl", hash = "sha256:847e4468b5379a219b91a13dd3c92dd3b7b3d9f59af23e4c6776e663594cb241", size = 4755104, upload-time = "2026-07-19T05:19:07.772Z" }, + { url = "https://files.pythonhosted.org/packages/b3/38/c493e85ebd17d3a5c56eb53fbea36a1a6f396b999b38173ffde513576eb1/pyqwest-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:4988fa1c368072886dce48f52fcbabe9f25784c6e189a9a6f2b42f6e9f383973", size = 5172962, upload-time = "2026-07-19T05:19:09.229Z" }, + { url = "https://files.pythonhosted.org/packages/d6/68/1b340fdc7735b5682d308cabc2d65ea76c03a6cc2c30072a0c14c24f716c/pyqwest-0.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dfb61138c802c7317d840a274fa24f9d878301f693268e9186a9896452017a71", size = 5032604, upload-time = "2026-07-19T05:19:10.884Z" }, + { url = "https://files.pythonhosted.org/packages/4d/52/eecd858568ef6586cbdc3c419a9a0b1e8f891e2968f0f6b2a9fa9bdaac19/pyqwest-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6fdc0601590bdc547007828627082f0dc0e445e92d900dccb227e51898d7243", size = 5558302, upload-time = "2026-07-19T05:19:12.348Z" }, + { url = "https://files.pythonhosted.org/packages/c0/8f/b67d0056b18a9f99a1c9253cb983d5c4361e3e102d729df6623b71d6d939/pyqwest-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f82c971810695f5fd7962859a2469616c83b7aca6664d8f147287ee5ff430cd", size = 5501483, upload-time = "2026-07-19T05:19:13.892Z" }, + { url = "https://files.pythonhosted.org/packages/c0/a6/69b87c4c80ced01645a143679458895dcb5c0e5ca0b3d4a43d979939cce6/pyqwest-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9dc2f405803b94525ab030c01cdac7093bcc1a5da6802de3345a868a0f51b3da", size = 5717334, upload-time = "2026-07-19T05:19:15.541Z" }, + { url = "https://files.pythonhosted.org/packages/26/7b/5891b72b9193b692b50ecdc4e26e7e3687f9763f5f263646bc8f997f5b62/pyqwest-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:537f71f97a533fa355d02c15ed9f0cc05fb8915996cb921caa87fe7310b457ee", size = 5902447, upload-time = "2026-07-19T05:19:17.273Z" }, + { url = "https://files.pythonhosted.org/packages/6a/80/1b280618af3f9d36081449d153efc5620f0eea93ac169574fc69208d2b91/pyqwest-0.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:196aa73fb7eee4b6c052d6f4172a4321904a7208331f4322ccee3ee7d0adbc78", size = 4750469, upload-time = "2026-07-19T05:19:18.916Z" }, + { url = "https://files.pythonhosted.org/packages/c1/9c/64c8df83a152804ac3074fb879c1229c3aca55a12dc33dc73c72e93405e6/pyqwest-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:72d001892ed570df1dcc489ef8b0a03bc7abd4fbdca10625c358a87e66b226ad", size = 5171308, upload-time = "2026-07-19T05:19:20.332Z" }, + { url = "https://files.pythonhosted.org/packages/14/d1/46e629541a3f7231dd978fa9939e6ddcd075238880395bcfb16544769165/pyqwest-0.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:03da0797bac5c2eb1a40f02afccd4b5aad5ad0d375bb993df2f5e0c692fc0c6c", size = 5032449, upload-time = "2026-07-19T05:19:21.967Z" }, + { url = "https://files.pythonhosted.org/packages/44/3c/132194c747696e41ad5745c51587bd20057d800b6a64fb901ce2ac990149/pyqwest-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:837e18aef4490eed25b4194d49f16732ccf1abf2cdd0845e75d75d2a4428b98c", size = 5556847, upload-time = "2026-07-19T05:19:23.589Z" }, + { url = "https://files.pythonhosted.org/packages/e6/5d/6726a70e89c60bf3cd30d5d918eff68dc1d1ceb9c911331d7fb57977bfc3/pyqwest-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:418e8c3a67ca6226bfb6147b8668203c74d9c872657117086f4c264a674d7980", size = 5500333, upload-time = "2026-07-19T05:19:25.317Z" }, + { url = "https://files.pythonhosted.org/packages/49/3f/329df64d3e8778bc311a22e432280cd317619c3f9b7e414f375127bb90b0/pyqwest-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31176abbbcbe6d03740967b5c0241deaa60b328792644cb2e317a34d6b076433", size = 5717248, upload-time = "2026-07-19T05:19:26.963Z" }, + { url = "https://files.pythonhosted.org/packages/2e/93/6670afb97c6ce7b5ba27981e023d9edc7413e509bbe18afebb729834d9e6/pyqwest-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e21102f9c13234a0066d42bb5429dc5c311d7fd99401878837d9675a7f6e03b9", size = 5902814, upload-time = "2026-07-19T05:19:28.637Z" }, + { url = "https://files.pythonhosted.org/packages/51/d3/bf9440a03c97f408743313215d8c7e9875b0b2b0d2ef97f5fbb5066cd57d/pyqwest-0.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:ca19e96b5e902a6d35e18cee7f5e90612fca6ab169378d42242cdcb638578cee", size = 4750510, upload-time = "2026-07-19T05:19:30.587Z" }, + { url = "https://files.pythonhosted.org/packages/dc/25/8b0919bf504309982857e564e3035ffd799d7aaa23457eb351485573e5ee/pyqwest-0.7.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:4e4e79187c3e4ebd07d663d8dc7a7cba865c72020332e41807426a7e3526fda0", size = 5177972, upload-time = "2026-07-19T05:19:32.051Z" }, + { url = "https://files.pythonhosted.org/packages/52/12/d652213fe336c52b75fb4df710f5cff08f8a1dcc9e385c9120f18476f5c9/pyqwest-0.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1bc2c569481ade1bc0b89b07daf1b49b20a1337a53207ffe0ef325260f509404", size = 5032608, upload-time = "2026-07-19T05:19:33.772Z" }, + { url = "https://files.pythonhosted.org/packages/82/b0/406c91563140b87ade5c5935410997b26449b8eb2f91511bc52741ae38fb/pyqwest-0.7.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ef1bfbdca9ec9c8a7b223268f5ef8d45694da7226929454b0cb40f2e3d1ddd5", size = 5558937, upload-time = "2026-07-19T05:19:35.174Z" }, + { url = "https://files.pythonhosted.org/packages/7f/17/a0a09936b5dd5d9d7517289aee3683bbf6554b0853bce5280ead9da27336/pyqwest-0.7.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4c2f6a6830becfa1c5bb94aa169ad854da5749a95a440aee759932d5965c213", size = 5500603, upload-time = "2026-07-19T05:19:37.023Z" }, + { url = "https://files.pythonhosted.org/packages/00/34/ccec52ca9f14fbe11292fadbe89c771353e0f46d58aa88d8e93d6e018117/pyqwest-0.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0d11128ccc382f64fcdf92d3bce6be7191489c1b3a9a3f0dbdf89e55451638de", size = 5719784, upload-time = "2026-07-19T05:19:38.649Z" }, + { url = "https://files.pythonhosted.org/packages/16/cc/58dca466c236e497cbb2e75b97a2489225d21f5063d932ab7d1723294112/pyqwest-0.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5832373c7bcccfbc3bb79c44b592e0871631139a2ef5aef771b8fe2b7bd4301d", size = 5901396, upload-time = "2026-07-19T05:19:40.402Z" }, + { url = "https://files.pythonhosted.org/packages/06/a0/983ea3b859828bef8372896e9c407f62bf426b84526d0b0cf9fd9abce411/pyqwest-0.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:7330070c4497e564007985716ac347cb9a7500eba5c9610500653a2ce4cfe86e", size = 4751036, upload-time = "2026-07-19T05:19:42.159Z" }, + { url = "https://files.pythonhosted.org/packages/92/1d/e2fe3dfe6d87989017412f394abc45435a3af2526e998c83cf836937b23c/pyqwest-0.7.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:02fd606a35be7803a770071f642a375e55df4c2025e49b10b859430f424c4492", size = 5165801, upload-time = "2026-07-19T05:19:43.82Z" }, + { url = "https://files.pythonhosted.org/packages/f4/fe/90126ac71fe09c729f36c166cb71b5148dd8a80e47f6f232bf71494604a2/pyqwest-0.7.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a807835c6a0777f0cc57c321c78c7bf162f6354698844d78db6e03ba9edd83dc", size = 5025128, upload-time = "2026-07-19T05:19:45.391Z" }, + { url = "https://files.pythonhosted.org/packages/e5/15/ee84ce834705d613c0b113fb4cf9d274011cfcc6c6ededb52d92a38a2367/pyqwest-0.7.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86d84871cb0a572700dece3a6c45c294721f655f3d0b85477333209b487ecef1", size = 5551017, upload-time = "2026-07-19T05:19:47.046Z" }, + { url = "https://files.pythonhosted.org/packages/41/ad/18b4540fb276f9b540018efe024aca0801acfe4209417d4faed85bccdb04/pyqwest-0.7.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:005ddd2a777d30ca7ce4de12df1336760e14d46394ab56299a9e81626d78b991", size = 5493032, upload-time = "2026-07-19T05:19:49.038Z" }, + { url = "https://files.pythonhosted.org/packages/6c/91/f25477eb80c375378a876cf2bac80c55ec9ea36b94bd7d4b2b2931860c85/pyqwest-0.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ca02089249c292ab9c148fa86c06927701897090226a13e392a6ec53312380ea", size = 5712503, upload-time = "2026-07-19T05:19:50.542Z" }, + { url = "https://files.pythonhosted.org/packages/f4/63/c5be988c55c69c87de950e3dabab322f82a78dc7c2ebdf89af32626bd473/pyqwest-0.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:da3bc117c1380e9577994da15b8236f7c3bb400111d6be4b57a9b2e4f30c9a79", size = 5893782, upload-time = "2026-07-19T05:19:52.286Z" }, + { url = "https://files.pythonhosted.org/packages/82/a7/96144e6db9a49eb5e42734562ac5d387c2b78fe1142674d3a284ce188ef7/pyqwest-0.7.0-cp314-cp314t-win_amd64.whl", hash = "sha256:a599ddac7ded32ed62d15ca90bc9c77652ba34b225cf17a404821cec92a189fa", size = 4744187, upload-time = "2026-07-19T05:19:53.921Z" }, + { url = "https://files.pythonhosted.org/packages/ed/42/26cf547b2e43078b4663e717715a289f31fc873d65d45cf354f364faa744/pyqwest-0.7.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bebc51e3c9c6339d81964c6e60516a5f5c9fe793c82da57ef7c2d87a55741829", size = 5170766, upload-time = "2026-07-19T05:19:55.472Z" }, + { url = "https://files.pythonhosted.org/packages/dc/bc/1aac42f34bd3e5ac4c13a2c267dba6bda4bdea594ff96c7851dff930c8f1/pyqwest-0.7.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:37623b492aea7ccd3b6cfe3179110643d28c2cdc83c765aac3d207b4321995d2", size = 5053361, upload-time = "2026-07-19T05:19:56.973Z" }, + { url = "https://files.pythonhosted.org/packages/0d/59/e3d8cfd2c7be0e12773ee4f767efc03be50ccdd28c6155d0b176bf1d8a9a/pyqwest-0.7.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02ff96a7746de208a4b8c78abe780c413d66576146a4ec64efd348b0c8a8328c", size = 5573900, upload-time = "2026-07-19T05:19:58.536Z" }, + { url = "https://files.pythonhosted.org/packages/39/a4/7dd4d548be6d54b195d737164dc67c39d9c5df40aa76a873fe1d2d9b4426/pyqwest-0.7.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd2e9bfa81198db7023202962a94920986a9a3dd12fe2f9d310f0cfcdddc092c", size = 5510692, upload-time = "2026-07-19T05:20:00.015Z" }, + { url = "https://files.pythonhosted.org/packages/48/13/c070baf81da8653803328b632baddb5647b66cc7c6353c58f024ca82277c/pyqwest-0.7.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e1548708dbeb29a60db199c70b9e93733d6b334e7efa1dfa5e3846a4f890db6d", size = 5735516, upload-time = "2026-07-19T05:20:01.487Z" }, + { url = "https://files.pythonhosted.org/packages/84/46/e0f2a02ebf504db6bdf4bf343f0d3362eccf8dd5a325382fab1305fa7022/pyqwest-0.7.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4bb3cf0975ee829b6c76e1c42f01863122ce71b1a952e507e260a9d29eb9b183", size = 5916743, upload-time = "2026-07-19T05:20:03.132Z" }, + { url = "https://files.pythonhosted.org/packages/07/7c/4a35df79a142e5fcb5f46fce2d1d70dd72325a65db4139bbba4fbed0d9b9/pyqwest-0.7.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2ea1ce4d630c92cb2cc6b3bf91ada0053b051dfd5c0662d89957ebd829cfdcce", size = 4759967, upload-time = "2026-07-19T05:20:04.837Z" }, +] + [[package]] name = "pyright" version = "1.1.398" @@ -380,8 +473,10 @@ name = "textql-sdk" version = "1.0.5" source = { editable = "." } dependencies = [ + { name = "connect-python" }, { name = "httpcore" }, { name = "httpx" }, + { name = "protobuf" }, { name = "pydantic" }, ] @@ -394,8 +489,10 @@ dev = [ [package.metadata] requires-dist = [ + { name = "connect-python", specifier = ">=0.9.0" }, { name = "httpcore", specifier = ">=1.0.9" }, { name = "httpx", specifier = ">=0.28.1" }, + { name = "protobuf", specifier = ">=6.31,<8" }, { name = "pydantic", specifier = ">=2.11.2,<2.13" }, ] From d6c37223e95f9a68d0a4b763d082d59ef724a6c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 22 Jul 2026 16:40:56 -0400 Subject: [PATCH 2/2] nits --- .speakeasy/speakeasy-modifications-overlay.yaml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.speakeasy/speakeasy-modifications-overlay.yaml b/.speakeasy/speakeasy-modifications-overlay.yaml index 14a0469..a749371 100644 --- a/.speakeasy/speakeasy-modifications-overlay.yaml +++ b/.speakeasy/speakeasy-modifications-overlay.yaml @@ -713,16 +713,6 @@ actions: created_at: 1784134047110 reviewed_at: 1784134060142 type: method-name - - target: $["paths"]["/v2/chats/{chat_id}/cells/stream"]["post"] - update: - x-speakeasy-group: chats - x-speakeasy-name-override: streamChat - x-speakeasy-metadata: - after: sdk.chats.streamChat() - before: sdk.ChatService.ChatService_StreamChat() - created_at: 1784134047110 - reviewed_at: 1784134060142 - type: method-name - target: $["paths"]["/textql.rpc.public.chat.ChatService/GetChatHistory"]["post"] update: x-speakeasy-group: chats