pygeai 0.1.51b3__py3-none-any.whl → 0.6.0b15__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pygeai might be problematic. Click here for more details.
- pygeai/__init__.py +9 -1
- pygeai/_docs/Makefile +20 -0
- pygeai/_docs/make.bat +35 -0
- pygeai/_docs/source/conf.py +117 -0
- pygeai/_docs/source/content/ai_lab/cli.rst +747 -0
- pygeai/_docs/source/content/ai_lab/models.rst +1734 -0
- pygeai/_docs/source/content/ai_lab/runner.rst +253 -0
- pygeai/_docs/source/content/ai_lab/spec.rst +431 -0
- pygeai/_docs/source/content/ai_lab/usage.rst +1011 -0
- pygeai/_docs/source/content/ai_lab.rst +102 -0
- pygeai/_docs/source/content/analytics.rst +598 -0
- pygeai/_docs/source/content/api_reference/admin.rst +161 -0
- pygeai/_docs/source/content/api_reference/assistant.rst +326 -0
- pygeai/_docs/source/content/api_reference/auth.rst +379 -0
- pygeai/_docs/source/content/api_reference/chat.rst +754 -0
- pygeai/_docs/source/content/api_reference/embeddings.rst +154 -0
- pygeai/_docs/source/content/api_reference/evaluation.rst +590 -0
- pygeai/_docs/source/content/api_reference/feedback.rst +237 -0
- pygeai/_docs/source/content/api_reference/files.rst +592 -0
- pygeai/_docs/source/content/api_reference/gam.rst +401 -0
- pygeai/_docs/source/content/api_reference/health.rst +58 -0
- pygeai/_docs/source/content/api_reference/project.rst +738 -0
- pygeai/_docs/source/content/api_reference/proxy.rst +318 -0
- pygeai/_docs/source/content/api_reference/rag.rst +710 -0
- pygeai/_docs/source/content/api_reference/rerank.rst +94 -0
- pygeai/_docs/source/content/api_reference/secrets.rst +495 -0
- pygeai/_docs/source/content/api_reference/usage_limits.rst +390 -0
- pygeai/_docs/source/content/api_reference.rst +58 -0
- pygeai/_docs/source/content/authentication.rst +295 -0
- pygeai/_docs/source/content/chat_gui.rst +121 -0
- pygeai/_docs/source/content/cli.rst +203 -0
- pygeai/_docs/source/content/debugger.rst +651 -0
- pygeai/_docs/source/content/intro.rst +67 -0
- pygeai/_docs/source/content/migration.rst +929 -0
- pygeai/_docs/source/content/modules.rst +7 -0
- pygeai/_docs/source/content/quickstart.rst +143 -0
- pygeai/_docs/source/content/samples.rst +394 -0
- pygeai/_docs/source/index.rst +75 -0
- pygeai/_docs/source/modules.rst +7 -0
- pygeai/_docs/source/pygeai.admin.rst +29 -0
- pygeai/_docs/source/pygeai.analytics.rst +53 -0
- pygeai/_docs/source/pygeai.assistant.data.rst +21 -0
- pygeai/_docs/source/pygeai.assistant.data_analyst.rst +29 -0
- pygeai/_docs/source/pygeai.assistant.rag.rst +53 -0
- pygeai/_docs/source/pygeai.assistant.rst +55 -0
- pygeai/_docs/source/pygeai.auth.rst +29 -0
- pygeai/_docs/source/pygeai.chat.rst +69 -0
- pygeai/_docs/source/pygeai.cli.commands.flows.rst +10 -0
- pygeai/_docs/source/pygeai.cli.commands.lab.rst +53 -0
- pygeai/_docs/source/pygeai.cli.commands.rst +222 -0
- pygeai/_docs/source/pygeai.cli.rst +62 -0
- pygeai/_docs/source/pygeai.cli.texts.rst +21 -0
- pygeai/_docs/source/pygeai.core.base.rst +53 -0
- pygeai/_docs/source/pygeai.core.common.rst +37 -0
- pygeai/_docs/source/pygeai.core.embeddings.rst +61 -0
- pygeai/_docs/source/pygeai.core.feedback.rst +37 -0
- pygeai/_docs/source/pygeai.core.files.rst +61 -0
- pygeai/_docs/source/pygeai.core.llm.rst +29 -0
- pygeai/_docs/source/pygeai.core.plugins.rst +37 -0
- pygeai/_docs/source/pygeai.core.rerank.rst +53 -0
- pygeai/_docs/source/pygeai.core.rst +63 -0
- pygeai/_docs/source/pygeai.core.secrets.rst +29 -0
- pygeai/_docs/source/pygeai.core.services.llm.rst +29 -0
- pygeai/_docs/source/pygeai.core.services.rst +37 -0
- pygeai/_docs/source/pygeai.core.utils.rst +37 -0
- pygeai/_docs/source/pygeai.dbg.rst +21 -0
- pygeai/_docs/source/pygeai.evaluation.dataset.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.plan.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.result.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.rst +31 -0
- pygeai/_docs/source/pygeai.flows.rst +29 -0
- pygeai/_docs/source/pygeai.gam.rst +29 -0
- pygeai/_docs/source/pygeai.health.rst +29 -0
- pygeai/_docs/source/pygeai.lab.agents.rst +37 -0
- pygeai/_docs/source/pygeai.lab.processes.rst +37 -0
- pygeai/_docs/source/pygeai.lab.rst +65 -0
- pygeai/_docs/source/pygeai.lab.spec.rst +29 -0
- pygeai/_docs/source/pygeai.lab.strategies.rst +37 -0
- pygeai/_docs/source/pygeai.lab.tools.rst +37 -0
- pygeai/_docs/source/pygeai.man.man1.rst +10 -0
- pygeai/_docs/source/pygeai.man.rst +18 -0
- pygeai/_docs/source/pygeai.migration.rst +29 -0
- pygeai/_docs/source/pygeai.organization.limits.rst +45 -0
- pygeai/_docs/source/pygeai.organization.rst +61 -0
- pygeai/_docs/source/pygeai.proxy.rst +53 -0
- pygeai/_docs/source/pygeai.rst +35 -0
- pygeai/_docs/source/pygeai.tests.admin.rst +21 -0
- pygeai/_docs/source/pygeai.tests.analytics.rst +45 -0
- pygeai/_docs/source/pygeai.tests.assistants.rag.rst +37 -0
- pygeai/_docs/source/pygeai.tests.assistants.rst +45 -0
- pygeai/_docs/source/pygeai.tests.auth.rst +29 -0
- pygeai/_docs/source/pygeai.tests.chat.rst +45 -0
- pygeai/_docs/source/pygeai.tests.cli.commands.lab.rst +37 -0
- pygeai/_docs/source/pygeai.tests.cli.commands.rst +165 -0
- pygeai/_docs/source/pygeai.tests.cli.docker.rst +10 -0
- pygeai/_docs/source/pygeai.tests.cli.rst +46 -0
- pygeai/_docs/source/pygeai.tests.core.base.data.rst +29 -0
- pygeai/_docs/source/pygeai.tests.core.base.rst +45 -0
- pygeai/_docs/source/pygeai.tests.core.common.data.rst +10 -0
- pygeai/_docs/source/pygeai.tests.core.common.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.embeddings.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.feedback.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.files.rst +53 -0
- pygeai/_docs/source/pygeai.tests.core.llm.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.plugins.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.rerank.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.rst +39 -0
- pygeai/_docs/source/pygeai.tests.core.secrets.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.services.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.utils.rst +21 -0
- pygeai/_docs/source/pygeai.tests.dbg.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.dataset.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.plan.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.result.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.rst +20 -0
- pygeai/_docs/source/pygeai.tests.gam.rst +21 -0
- pygeai/_docs/source/pygeai.tests.health.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.assistants.rag.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.assistants.rst +18 -0
- pygeai/_docs/source/pygeai.tests.integration.chat.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.agents.rst +69 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.processes.rst +77 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.reasoning_strategies.rst +37 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.tools.rst +77 -0
- pygeai/_docs/source/pygeai.tests.integration.rst +20 -0
- pygeai/_docs/source/pygeai.tests.lab.agents.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.processes.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.rst +49 -0
- pygeai/_docs/source/pygeai.tests.lab.spec.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.strategies.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.tools.rst +29 -0
- pygeai/_docs/source/pygeai.tests.migration.rst +29 -0
- pygeai/_docs/source/pygeai.tests.organization.limits.rst +29 -0
- pygeai/_docs/source/pygeai.tests.organization.rst +53 -0
- pygeai/_docs/source/pygeai.tests.proxy.rst +61 -0
- pygeai/_docs/source/pygeai.tests.rst +33 -0
- pygeai/admin/clients.py +14 -11
- pygeai/admin/endpoints.py +2 -2
- pygeai/analytics/clients.py +505 -0
- pygeai/analytics/endpoints.py +35 -0
- pygeai/analytics/managers.py +606 -0
- pygeai/analytics/mappers.py +207 -0
- pygeai/analytics/responses.py +240 -0
- pygeai/assistant/clients.py +18 -45
- pygeai/assistant/data/clients.py +1 -0
- pygeai/assistant/data_analyst/clients.py +8 -12
- pygeai/assistant/managers.py +195 -157
- pygeai/assistant/mappers.py +4 -2
- pygeai/assistant/rag/clients.py +27 -67
- pygeai/assistant/rag/mappers.py +12 -6
- pygeai/assistant/rag/models.py +301 -159
- pygeai/auth/__init__.py +0 -0
- pygeai/auth/clients.py +129 -0
- pygeai/auth/endpoints.py +6 -0
- pygeai/chat/clients.py +308 -37
- pygeai/chat/endpoints.py +3 -0
- pygeai/chat/iris.py +2 -8
- pygeai/chat/managers.py +9 -6
- pygeai/chat/session.py +38 -0
- pygeai/chat/settings.py +6 -0
- pygeai/chat/ui.py +678 -0
- pygeai/cli/__init__.py +0 -1
- pygeai/cli/commands/admin.py +7 -10
- pygeai/cli/commands/analytics.py +533 -0
- pygeai/cli/commands/assistant.py +9 -9
- pygeai/cli/commands/auth.py +299 -0
- pygeai/cli/commands/base.py +71 -9
- pygeai/cli/commands/chat.py +676 -19
- pygeai/cli/commands/common.py +28 -24
- pygeai/cli/commands/configuration.py +66 -13
- pygeai/cli/commands/docs.py +105 -0
- pygeai/cli/commands/embeddings.py +58 -11
- pygeai/cli/commands/evaluation.py +38 -38
- pygeai/cli/commands/feedback.py +3 -4
- pygeai/cli/commands/files.py +7 -8
- pygeai/cli/commands/gam.py +85 -10
- pygeai/cli/commands/lab/ai_lab.py +340 -484
- pygeai/cli/commands/lab/options.py +8 -0
- pygeai/cli/commands/lab/spec.py +273 -0
- pygeai/cli/commands/lab/utils.py +13 -0
- pygeai/cli/commands/llm.py +6 -7
- pygeai/cli/commands/migrate.py +1064 -436
- pygeai/cli/commands/organization.py +516 -11
- pygeai/cli/commands/rag.py +13 -14
- pygeai/cli/commands/rerank.py +3 -5
- pygeai/cli/commands/secrets.py +8 -9
- pygeai/cli/commands/usage_limits.py +18 -20
- pygeai/cli/commands/validators.py +144 -1
- pygeai/cli/commands/version.py +4 -5
- pygeai/cli/error_handler.py +151 -0
- pygeai/cli/geai.py +170 -31
- pygeai/cli/geai_proxy.py +86 -25
- pygeai/cli/install_man.py +93 -22
- pygeai/cli/parsers.py +75 -25
- pygeai/cli/texts/help.py +265 -28
- pygeai/core/base/clients.py +53 -12
- pygeai/core/base/mappers.py +11 -2
- pygeai/core/base/session.py +95 -11
- pygeai/core/common/config.py +78 -14
- pygeai/core/common/exceptions.py +96 -6
- pygeai/core/embeddings/__init__.py +19 -0
- pygeai/core/embeddings/clients.py +23 -5
- pygeai/core/embeddings/managers.py +9 -4
- pygeai/core/embeddings/mappers.py +16 -2
- pygeai/core/embeddings/responses.py +9 -2
- pygeai/core/feedback/clients.py +8 -3
- pygeai/core/files/clients.py +23 -24
- pygeai/core/files/managers.py +121 -30
- pygeai/core/files/responses.py +4 -3
- pygeai/core/handlers.py +10 -1
- pygeai/core/llm/clients.py +22 -29
- pygeai/core/models.py +127 -11
- pygeai/core/plugins/clients.py +6 -6
- pygeai/core/rerank/clients.py +9 -3
- pygeai/core/rerank/managers.py +22 -5
- pygeai/core/secrets/clients.py +16 -37
- pygeai/core/services/response.py +18 -0
- pygeai/core/services/rest.py +159 -49
- pygeai/core/utils/__init__.py +0 -0
- pygeai/core/utils/console.py +83 -0
- pygeai/core/utils/parsers.py +32 -0
- pygeai/core/utils/validators.py +10 -0
- pygeai/dbg/__init__.py +3 -0
- pygeai/dbg/debugger.py +854 -14
- pygeai/evaluation/clients.py +7 -4
- pygeai/evaluation/dataset/clients.py +46 -44
- pygeai/evaluation/plan/clients.py +28 -26
- pygeai/evaluation/result/clients.py +38 -5
- pygeai/gam/clients.py +50 -28
- pygeai/gam/endpoints.py +2 -1
- pygeai/health/__init__.py +0 -0
- pygeai/health/clients.py +24 -0
- pygeai/health/endpoints.py +1 -0
- pygeai/lab/__init__.py +0 -90
- pygeai/lab/agents/clients.py +203 -162
- pygeai/lab/agents/endpoints.py +4 -0
- pygeai/lab/agents/mappers.py +57 -7
- pygeai/lab/clients.py +24 -0
- pygeai/lab/constants.py +3 -0
- pygeai/lab/managers.py +571 -541
- pygeai/lab/models.py +108 -19
- pygeai/lab/processes/clients.py +332 -340
- pygeai/lab/processes/mappers.py +3 -3
- pygeai/lab/runners.py +90 -0
- pygeai/lab/spec/__init__.py +0 -0
- pygeai/lab/spec/loader.py +24 -0
- pygeai/lab/spec/parsers.py +39 -0
- pygeai/lab/strategies/clients.py +67 -63
- pygeai/lab/strategies/mappers.py +1 -1
- pygeai/lab/tools/clients.py +85 -118
- pygeai/lab/tools/endpoints.py +4 -0
- pygeai/lab/tools/mappers.py +5 -5
- pygeai/man/man1/geai-proxy.1 +116 -0
- pygeai/man/man1/geai.1 +2580 -66
- pygeai/migration/__init__.py +33 -0
- pygeai/migration/strategies.py +468 -146
- pygeai/migration/tools.py +170 -3
- pygeai/organization/clients.py +245 -50
- pygeai/organization/endpoints.py +17 -8
- pygeai/organization/limits/clients.py +34 -32
- pygeai/organization/limits/managers.py +108 -49
- pygeai/organization/managers.py +347 -53
- pygeai/organization/mappers.py +102 -2
- pygeai/organization/responses.py +58 -1
- pygeai/proxy/clients.py +6 -3
- pygeai/proxy/config.py +14 -1
- pygeai/proxy/managers.py +61 -33
- pygeai/proxy/servers.py +196 -51
- pygeai/proxy/tool.py +33 -16
- pygeai/tests/admin/__init__.py +0 -0
- pygeai/tests/admin/test_clients.py +148 -0
- pygeai/tests/analytics/__init__.py +0 -0
- pygeai/tests/analytics/test_clients.py +86 -0
- pygeai/tests/analytics/test_managers.py +94 -0
- pygeai/tests/analytics/test_mappers.py +84 -0
- pygeai/tests/analytics/test_responses.py +73 -0
- pygeai/tests/assistants/rag/test_clients.py +346 -0
- pygeai/tests/assistants/rag/test_models.py +292 -0
- pygeai/tests/assistants/test_clients.py +176 -82
- pygeai/tests/assistants/test_managers.py +191 -57
- pygeai/tests/auth/__init__.py +0 -0
- pygeai/tests/auth/test_clients.py +289 -0
- pygeai/tests/auth/test_oauth.py +172 -0
- pygeai/tests/auth/test_session_logging.py +150 -0
- pygeai/tests/chat/__init__.py +0 -0
- pygeai/tests/chat/test_clients.py +393 -0
- pygeai/tests/chat/test_iris.py +38 -0
- pygeai/tests/chat/test_session.py +62 -0
- pygeai/tests/chat/test_ui.py +224 -0
- pygeai/tests/cli/commands/__init__.py +0 -0
- pygeai/tests/cli/commands/lab/__init__.py +0 -0
- pygeai/tests/cli/commands/lab/test_ai_lab.py +786 -0
- pygeai/tests/cli/commands/lab/test_common.py +208 -0
- pygeai/tests/cli/commands/lab/test_spec.py +246 -0
- pygeai/tests/cli/commands/test_assistant.py +202 -0
- pygeai/tests/cli/commands/test_chat.py +130 -0
- pygeai/tests/cli/commands/test_common.py +350 -0
- pygeai/tests/cli/commands/test_embeddings.py +132 -0
- pygeai/tests/cli/commands/test_evaluation.py +656 -0
- pygeai/tests/cli/commands/test_feedback.py +65 -0
- pygeai/tests/cli/commands/test_files.py +161 -0
- pygeai/tests/cli/commands/test_gam.py +201 -0
- pygeai/tests/cli/commands/test_llm.py +114 -0
- pygeai/tests/cli/commands/test_migrate.py +176 -0
- pygeai/tests/cli/commands/test_organization.py +276 -0
- pygeai/tests/cli/commands/test_rag.py +266 -0
- pygeai/tests/cli/commands/test_rerank.py +110 -0
- pygeai/tests/cli/commands/test_secrets.py +171 -0
- pygeai/tests/cli/commands/test_show_help.py +41 -0
- pygeai/tests/cli/commands/test_usage_limits.py +412 -0
- pygeai/tests/cli/commands/test_validators.py +160 -0
- pygeai/tests/cli/commands/test_version.py +81 -0
- pygeai/tests/cli/docker/__init__.py +0 -0
- pygeai/tests/cli/test_credentials_flag.py +316 -0
- pygeai/tests/cli/test_error_handler.py +225 -0
- pygeai/tests/cli/test_geai_driver.py +154 -0
- pygeai/tests/cli/test_parsers.py +5 -5
- pygeai/tests/core/base/data/models.py +7 -0
- pygeai/tests/core/base/test_mappers.py +43 -11
- pygeai/tests/core/base/test_models.py +3 -1
- pygeai/tests/core/base/test_responses.py +53 -0
- pygeai/tests/core/common/__init__.py +0 -0
- pygeai/tests/core/common/data/__init__.py +0 -0
- pygeai/tests/core/common/test_config.py +186 -0
- pygeai/tests/core/common/test_decorators.py +69 -0
- pygeai/tests/core/embeddings/__init__.py +0 -0
- pygeai/tests/core/embeddings/test_clients.py +225 -0
- pygeai/tests/core/embeddings/test_managers.py +171 -0
- pygeai/tests/core/embeddings/test_mappers.py +142 -0
- pygeai/tests/core/feedback/__init__.py +0 -0
- pygeai/tests/core/feedback/test_clients.py +64 -0
- pygeai/tests/core/files/test_clients.py +128 -0
- pygeai/tests/core/files/test_managers.py +124 -78
- pygeai/tests/core/files/test_mappers.py +137 -0
- pygeai/tests/core/files/test_models.py +103 -0
- pygeai/tests/core/files/test_responses.py +122 -0
- pygeai/tests/core/llm/__init__.py +0 -0
- pygeai/tests/core/llm/test_clients.py +142 -0
- pygeai/tests/core/plugins/__init__.py +0 -0
- pygeai/tests/core/plugins/test_clients.py +66 -0
- pygeai/tests/core/rerank/test_clients.py +76 -0
- pygeai/tests/core/rerank/test_managers.py +61 -39
- pygeai/tests/core/secrets/__init__.py +0 -0
- pygeai/tests/core/secrets/test_clients.py +264 -0
- pygeai/tests/core/services/__init__.py +0 -0
- pygeai/tests/core/services/test_rest.py +273 -0
- pygeai/tests/core/test_handlers.py +66 -0
- pygeai/tests/core/utils/__init__.py +0 -0
- pygeai/tests/core/utils/test_console.py +80 -0
- pygeai/tests/dbg/__init__.py +0 -0
- pygeai/tests/dbg/test_debugger.py +591 -0
- pygeai/tests/evaluation/__init__.py +0 -0
- pygeai/tests/evaluation/dataset/__init__.py +0 -0
- pygeai/tests/evaluation/dataset/test_clients.py +265 -0
- pygeai/tests/evaluation/plan/__init__.py +0 -0
- pygeai/tests/evaluation/plan/test_clients.py +195 -0
- pygeai/tests/evaluation/result/__init__.py +0 -0
- pygeai/tests/evaluation/result/test_clients.py +66 -0
- pygeai/tests/gam/__init__.py +0 -0
- pygeai/tests/gam/test_clients.py +195 -0
- pygeai/tests/health/__init__.py +0 -0
- pygeai/tests/health/test_clients.py +41 -0
- pygeai/tests/integration/__init__.py +0 -0
- pygeai/tests/integration/assistants/__init__.py +0 -0
- pygeai/tests/integration/assistants/rag/__init__.py +0 -0
- pygeai/tests/integration/assistants/rag/test_create_rag.py +91 -0
- pygeai/tests/integration/chat/__init__.py +0 -0
- pygeai/tests/integration/chat/test_generate_image.py +158 -0
- pygeai/tests/integration/lab/__init__.py +0 -0
- pygeai/tests/integration/lab/agents/__init__.py +0 -0
- pygeai/tests/integration/lab/agents/test_agents_list.py +106 -0
- pygeai/tests/integration/lab/agents/test_create_agent.py +319 -0
- pygeai/tests/integration/lab/agents/test_create_sharing_link.py +70 -0
- pygeai/tests/integration/lab/agents/test_delete_agent.py +75 -0
- pygeai/tests/integration/lab/agents/test_get_agent.py +94 -0
- pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +127 -0
- pygeai/tests/integration/lab/agents/test_update_agent.py +250 -0
- pygeai/tests/integration/lab/processes/__init__.py +0 -0
- pygeai/tests/integration/lab/processes/test_create_process.py +345 -0
- pygeai/tests/integration/lab/processes/test_create_task.py +211 -0
- pygeai/tests/integration/lab/processes/test_delete_process.py +111 -0
- pygeai/tests/integration/lab/processes/test_get_process.py +201 -0
- pygeai/tests/integration/lab/processes/test_list_process_instances.py +91 -0
- pygeai/tests/integration/lab/processes/test_list_processes.py +138 -0
- pygeai/tests/integration/lab/processes/test_publish_process_revision.py +232 -0
- pygeai/tests/integration/lab/processes/test_update_process.py +289 -0
- pygeai/tests/integration/lab/reasoning_strategies/__init__.py +0 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_get_reasoning_strategy.py +70 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_list_reasoning_strategies.py +93 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_update_reasoning_strategy.py +149 -0
- pygeai/tests/integration/lab/tools/__init__.py +0 -0
- pygeai/tests/integration/lab/tools/test_create_tool.py +288 -0
- pygeai/tests/integration/lab/tools/test_delete_tool.py +87 -0
- pygeai/tests/integration/lab/tools/test_get_parameter.py +98 -0
- pygeai/tests/integration/lab/tools/test_get_tool.py +91 -0
- pygeai/tests/integration/lab/tools/test_list_tools.py +106 -0
- pygeai/tests/integration/lab/tools/test_publish_tool_revision.py +119 -0
- pygeai/tests/integration/lab/tools/test_set_parameter.py +114 -0
- pygeai/tests/integration/lab/tools/test_update_tool.py +267 -0
- pygeai/tests/lab/agents/__init__.py +0 -0
- pygeai/tests/lab/agents/test_clients.py +481 -0
- pygeai/tests/lab/agents/test_mappers.py +440 -0
- pygeai/tests/lab/processes/__init__.py +0 -0
- pygeai/tests/lab/processes/test_clients.py +1416 -0
- pygeai/tests/lab/processes/test_mappers.py +1092 -0
- pygeai/tests/lab/spec/__init__.py +0 -0
- pygeai/tests/lab/spec/test_loader.py +59 -0
- pygeai/tests/lab/spec/test_parsers.py +182 -0
- pygeai/tests/lab/strategies/__init__.py +0 -0
- pygeai/tests/lab/strategies/test_clients.py +241 -0
- pygeai/tests/lab/strategies/test_mappers.py +132 -0
- pygeai/tests/lab/test_managers.py +553 -0
- pygeai/tests/lab/test_models.py +500 -3
- pygeai/tests/lab/tools/__init__.py +0 -0
- pygeai/tests/lab/tools/test_clients.py +521 -0
- pygeai/tests/lab/tools/test_mappers.py +198 -0
- pygeai/tests/migration/__init__.py +0 -0
- pygeai/tests/migration/test_strategies.py +405 -0
- pygeai/tests/migration/test_tools.py +159 -0
- pygeai/tests/organization/limits/test_clients.py +567 -0
- pygeai/tests/organization/limits/test_managers.py +298 -56
- pygeai/tests/organization/test_clients.py +600 -30
- pygeai/tests/organization/test_managers.py +424 -0
- pygeai/tests/organization/test_mappers.py +153 -0
- pygeai/tests/organization/test_responses.py +137 -0
- pygeai/tests/proxy/__init__.py +1 -0
- pygeai/tests/proxy/test_clients.py +397 -0
- pygeai/tests/proxy/test_config.py +171 -0
- pygeai/tests/proxy/test_integration.py +305 -0
- pygeai/tests/proxy/test_managers.py +312 -0
- pygeai/tests/proxy/test_servers.py +387 -0
- pygeai/tests/proxy/test_tool.py +176 -0
- pygeai/tests/snippets/analytics/__init__.py +0 -0
- pygeai/tests/snippets/analytics/get_agent_usage_per_user.py +16 -0
- pygeai/tests/snippets/analytics/get_agents_created_and_modified.py +11 -0
- pygeai/tests/snippets/analytics/get_average_cost_per_request.py +10 -0
- pygeai/tests/snippets/analytics/get_overall_error_rate.py +10 -0
- pygeai/tests/snippets/analytics/get_top_10_agents_by_requests.py +12 -0
- pygeai/tests/snippets/analytics/get_total_active_users.py +10 -0
- pygeai/tests/snippets/analytics/get_total_cost.py +10 -0
- pygeai/tests/snippets/analytics/get_total_requests_per_day.py +12 -0
- pygeai/tests/snippets/analytics/get_total_tokens.py +12 -0
- pygeai/tests/snippets/auth/__init__.py +0 -0
- pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
- pygeai/tests/snippets/chat/get_response.py +15 -0
- pygeai/tests/snippets/chat/get_response_complete_example.py +67 -0
- pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
- pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
- pygeai/tests/snippets/chat/get_response_with_instructions.py +19 -0
- pygeai/tests/snippets/chat/get_response_with_metadata.py +24 -0
- pygeai/tests/snippets/chat/get_response_with_parallel_tools.py +58 -0
- pygeai/tests/snippets/chat/get_response_with_reasoning.py +21 -0
- pygeai/tests/snippets/chat/get_response_with_store.py +38 -0
- pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
- pygeai/tests/snippets/chat/get_response_with_truncation.py +24 -0
- pygeai/tests/snippets/dbg/__init__.py +0 -0
- pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
- pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
- pygeai/tests/snippets/dbg/file_debugging.py +72 -0
- pygeai/tests/snippets/dbg/module_debugging.py +61 -0
- pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
- pygeai/tests/snippets/dbg/stepping_example.py +40 -0
- pygeai/tests/snippets/embeddings/cache_example.py +31 -0
- pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
- pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
- pygeai/tests/snippets/embeddings/openai_example.py +30 -0
- pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
- pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
- pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
- pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
- pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
- pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
- pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
- pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
- pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
- pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
- pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
- pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
- pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
- pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
- pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
- pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
- pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
- pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
- pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
- pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
- pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
- pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
- pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
- pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
- pygeai/tests/snippets/files/delete_file.py +1 -4
- pygeai/tests/snippets/files/get_file_content.py +2 -4
- pygeai/tests/snippets/files/get_file_data.py +1 -4
- pygeai/tests/snippets/files/get_file_list.py +1 -6
- pygeai/tests/snippets/files/upload_file.py +1 -5
- pygeai/tests/snippets/gam/gam_access_token.py +87 -0
- pygeai/tests/snippets/lab/agentic_flow_example_1.py +25 -23
- pygeai/tests/snippets/lab/agentic_flow_example_4.py +23 -23
- pygeai/tests/snippets/lab/agents/create_agent.py +5 -8
- pygeai/tests/snippets/lab/agents/create_agent_2.py +1 -5
- pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +48 -0
- pygeai/tests/snippets/lab/agents/create_agent_with_permissions.py +39 -0
- pygeai/tests/snippets/lab/agents/create_agent_with_properties.py +46 -0
- pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +48 -0
- pygeai/tests/snippets/lab/agents/delete_agent.py +1 -5
- pygeai/tests/snippets/lab/agents/get_agent.py +2 -11
- pygeai/tests/snippets/lab/agents/get_agent_with_new_fields.py +62 -0
- pygeai/tests/snippets/lab/agents/get_sharing_link.py +2 -7
- pygeai/tests/snippets/lab/agents/list_agents.py +4 -7
- pygeai/tests/snippets/lab/agents/publish_agent_revision.py +2 -6
- pygeai/tests/snippets/lab/agents/update_agent.py +1 -5
- pygeai/tests/snippets/lab/agents/update_agent_properties.py +50 -0
- pygeai/tests/snippets/lab/assistant_to_agent.py +191 -0
- pygeai/tests/snippets/lab/crud_ui.py +462 -0
- pygeai/tests/snippets/lab/processes/create_process.py +3 -5
- pygeai/tests/snippets/lab/processes/create_task.py +3 -5
- pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +10 -19
- pygeai/tests/snippets/lab/processes/kbs/create_kb.py +2 -5
- pygeai/tests/snippets/lab/processes/kbs/get_kb.py +10 -16
- pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +13 -20
- pygeai/tests/snippets/lab/processes/kbs/try_all.py +5 -7
- pygeai/tests/snippets/lab/processes/list_processes.py +5 -7
- pygeai/tests/snippets/lab/runner_1.py +1 -1
- pygeai/tests/snippets/lab/samples/summarize_files.py +3 -3
- pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +3 -6
- pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/tools/create_tool.py +4 -10
- pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +50 -0
- pygeai/tests/snippets/lab/tools/delete_tool.py +2 -6
- pygeai/tests/snippets/lab/tools/get_parameter.py +5 -7
- pygeai/tests/snippets/lab/tools/get_tool.py +5 -7
- pygeai/tests/snippets/lab/tools/list_tools.py +3 -7
- pygeai/tests/snippets/lab/tools/publish_tool_revision.py +3 -5
- pygeai/tests/snippets/lab/tools/set_parameters.py +4 -9
- pygeai/tests/snippets/lab/tools/update_tool.py +4 -8
- pygeai/tests/snippets/lab/use_cases/__init__.py +0 -0
- pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +1640 -0
- pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +4541 -0
- pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +133 -0
- pygeai/tests/snippets/lab/use_cases/create_web_designer.py +189 -0
- pygeai/tests/snippets/lab/use_cases/create_web_reader.py +185 -0
- pygeai/tests/snippets/lab/{file_summarizer_example.py → use_cases/file_summarizer_example.py} +3 -3
- pygeai/tests/snippets/lab/{file_summarizer_example_2.py → use_cases/file_summarizer_example_2.py} +12 -12
- pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +1773 -0
- pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +4541 -0
- pygeai/tests/snippets/lab/use_cases/update_web_designer.py +188 -0
- pygeai/tests/snippets/lab/use_cases/update_web_reader.py +195 -0
- pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +210 -0
- pygeai/tests/snippets/migrate/__init__.py +45 -0
- pygeai/tests/snippets/migrate/agent_migration.py +110 -0
- pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
- pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
- pygeai/tests/snippets/migrate/process_migration.py +64 -0
- pygeai/tests/snippets/migrate/project_migration.py +42 -0
- pygeai/tests/snippets/migrate/tool_migration.py +64 -0
- pygeai/tests/snippets/organization/add_project_member.py +10 -0
- pygeai/tests/snippets/organization/add_project_member_batch.py +44 -0
- pygeai/tests/snippets/organization/create_project.py +2 -2
- pygeai/tests/snippets/organization/get_memberships.py +12 -0
- pygeai/tests/snippets/organization/get_organization_members.py +6 -0
- pygeai/tests/snippets/organization/get_project_members.py +6 -0
- pygeai/tests/snippets/organization/get_project_memberships.py +12 -0
- pygeai/tests/snippets/organization/get_project_roles.py +6 -0
- pygeai/vendor/a2a/__init__.py +1 -0
- pygeai/vendor/a2a/auth/__init__.py +0 -0
- pygeai/vendor/a2a/auth/user.py +31 -0
- pygeai/vendor/a2a/client/__init__.py +19 -0
- pygeai/vendor/a2a/client/client.py +425 -0
- pygeai/vendor/a2a/client/errors.py +33 -0
- pygeai/vendor/a2a/client/helpers.py +22 -0
- pygeai/vendor/a2a/py.typed +0 -0
- pygeai/vendor/a2a/server/__init__.py +1 -0
- pygeai/vendor/a2a/server/agent_execution/__init__.py +18 -0
- pygeai/vendor/a2a/server/agent_execution/agent_executor.py +44 -0
- pygeai/vendor/a2a/server/agent_execution/context.py +155 -0
- pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +20 -0
- pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +77 -0
- pygeai/vendor/a2a/server/apps/__init__.py +16 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +16 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +88 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +426 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +123 -0
- pygeai/vendor/a2a/server/context.py +23 -0
- pygeai/vendor/a2a/server/events/__init__.py +21 -0
- pygeai/vendor/a2a/server/events/event_consumer.py +149 -0
- pygeai/vendor/a2a/server/events/event_queue.py +156 -0
- pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +85 -0
- pygeai/vendor/a2a/server/events/queue_manager.py +35 -0
- pygeai/vendor/a2a/server/request_handlers/__init__.py +20 -0
- pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +435 -0
- pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +327 -0
- pygeai/vendor/a2a/server/request_handlers/request_handler.py +161 -0
- pygeai/vendor/a2a/server/request_handlers/response_helpers.py +133 -0
- pygeai/vendor/a2a/server/tasks/__init__.py +20 -0
- pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +62 -0
- pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +51 -0
- pygeai/vendor/a2a/server/tasks/push_notifier.py +25 -0
- pygeai/vendor/a2a/server/tasks/result_aggregator.py +151 -0
- pygeai/vendor/a2a/server/tasks/task_manager.py +253 -0
- pygeai/vendor/a2a/server/tasks/task_store.py +22 -0
- pygeai/vendor/a2a/server/tasks/task_updater.py +155 -0
- pygeai/vendor/a2a/types.py +1624 -0
- pygeai/vendor/a2a/utils/__init__.py +40 -0
- pygeai/vendor/a2a/utils/artifact.py +72 -0
- pygeai/vendor/a2a/utils/errors.py +69 -0
- pygeai/vendor/a2a/utils/helpers.py +176 -0
- pygeai/vendor/a2a/utils/message.py +83 -0
- pygeai/vendor/a2a/utils/task.py +57 -0
- pygeai/vendor/a2a/utils/telemetry.py +299 -0
- pygeai-0.6.0b15.dist-info/METADATA +205 -0
- pygeai-0.6.0b15.dist-info/RECORD +799 -0
- {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/WHEEL +1 -1
- {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/entry_points.txt +2 -1
- {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/licenses/LICENSE +13 -1
- pygeai-0.6.0b15.dist-info/top_level.txt +1 -0
- docs/geai-proxy/README.md +0 -145
- docs/source/conf.py +0 -45
- pygeai/tests/core/test_managers.py +0 -233
- pygeai-0.1.51b3.dist-info/METADATA +0 -130
- pygeai-0.1.51b3.dist-info/RECORD +0 -324
- pygeai-0.1.51b3.dist-info/top_level.txt +0 -3
- scripts/bump_beta_version.py +0 -56
- {scripts → pygeai/analytics}/__init__.py +0 -0
- /pygeai/tests/snippets/lab/{c_code_fixer_agent_flow.py → use_cases/c_code_fixer_agent_flow.py} +0 -0
|
@@ -0,0 +1,606 @@
|
|
|
1
|
+
from pygeai import logger
|
|
2
|
+
from pygeai.core.handlers import ErrorHandler
|
|
3
|
+
from pygeai.core.common.exceptions import APIError
|
|
4
|
+
from pygeai.analytics.clients import AnalyticsClient
|
|
5
|
+
from pygeai.analytics.mappers import AnalyticsResponseMapper
|
|
6
|
+
from pygeai.analytics.responses import (
|
|
7
|
+
AgentsCreatedAndModifiedResponse, AgentsCreatedAndModifiedPerDayResponse,
|
|
8
|
+
FlowsCreatedAndModifiedResponse, FlowsCreatedAndModifiedPerDayResponse,
|
|
9
|
+
ProcessesCreatedAndModifiedResponse, AgentUsagePerUserResponse,
|
|
10
|
+
AverageCostPerRequestResponse, AverageCostPerUserResponse, AverageCostPerUserPerDateResponse,
|
|
11
|
+
AverageRequestTimeResponse, AverageRequestsPerDayResponse, AverageRequestsPerUserResponse,
|
|
12
|
+
AverageRequestsPerUserPerDateResponse, AverageTokensPerRequestResponse,
|
|
13
|
+
AverageUsersPerAgentResponse, AverageUsersPerProjectResponse, NumberOfTokensResponse,
|
|
14
|
+
NumberOfTokensPerAgentResponse, NumberOfTokensPerDayResponse, OverallErrorRateResponse,
|
|
15
|
+
Top10AgentsByRequestsResponse, Top10AgentsByTokensResponse, Top10UsersByCostResponse,
|
|
16
|
+
Top10UsersByRequestsResponse, TotalActiveAgentsResponse, TotalActiveProjectsResponse,
|
|
17
|
+
TotalActiveUsersResponse, TotalCostResponse, TotalCostPerDayResponse,
|
|
18
|
+
TotalRequestTimeResponse, TotalRequestsResponse, TotalRequestsPerDayResponse,
|
|
19
|
+
TotalRequestsWithErrorResponse, TotalTokensResponse
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class AnalyticsManager:
|
|
24
|
+
|
|
25
|
+
def __init__(self, api_key: str = None, base_url: str = None, alias: str = None):
|
|
26
|
+
self.__analytics_client = AnalyticsClient(api_key=api_key, base_url=base_url, alias=alias)
|
|
27
|
+
|
|
28
|
+
def get_agents_created_and_modified(
|
|
29
|
+
self,
|
|
30
|
+
start_date: str,
|
|
31
|
+
end_date: str
|
|
32
|
+
) -> AgentsCreatedAndModifiedResponse:
|
|
33
|
+
response_data = self.__analytics_client.get_agents_created_and_modified(
|
|
34
|
+
start_date=start_date,
|
|
35
|
+
end_date=end_date
|
|
36
|
+
)
|
|
37
|
+
if ErrorHandler.has_errors(response_data):
|
|
38
|
+
error = ErrorHandler.extract_error(response_data)
|
|
39
|
+
logger.error(f"Error received while retrieving agents created and modified: {error}")
|
|
40
|
+
raise APIError(f"Error received while retrieving agents created and modified: {error}")
|
|
41
|
+
|
|
42
|
+
result = AnalyticsResponseMapper.map_to_agents_created_and_modified_response(response_data)
|
|
43
|
+
return result
|
|
44
|
+
|
|
45
|
+
def get_agents_created_and_modified_per_day(
|
|
46
|
+
self,
|
|
47
|
+
start_date: str,
|
|
48
|
+
end_date: str
|
|
49
|
+
) -> AgentsCreatedAndModifiedPerDayResponse:
|
|
50
|
+
response_data = self.__analytics_client.get_agents_created_and_modified_per_day(
|
|
51
|
+
start_date=start_date,
|
|
52
|
+
end_date=end_date
|
|
53
|
+
)
|
|
54
|
+
if ErrorHandler.has_errors(response_data):
|
|
55
|
+
error = ErrorHandler.extract_error(response_data)
|
|
56
|
+
logger.error(f"Error received while retrieving agents created and modified per day: {error}")
|
|
57
|
+
raise APIError(f"Error received while retrieving agents created and modified per day: {error}")
|
|
58
|
+
|
|
59
|
+
result = AnalyticsResponseMapper.map_to_agents_created_and_modified_per_day_response(response_data)
|
|
60
|
+
return result
|
|
61
|
+
|
|
62
|
+
def get_flows_created_and_modified(
|
|
63
|
+
self,
|
|
64
|
+
start_date: str,
|
|
65
|
+
end_date: str
|
|
66
|
+
) -> FlowsCreatedAndModifiedResponse:
|
|
67
|
+
response_data = self.__analytics_client.get_flows_created_and_modified(
|
|
68
|
+
start_date=start_date,
|
|
69
|
+
end_date=end_date
|
|
70
|
+
)
|
|
71
|
+
if ErrorHandler.has_errors(response_data):
|
|
72
|
+
error = ErrorHandler.extract_error(response_data)
|
|
73
|
+
logger.error(f"Error received while retrieving flows created and modified: {error}")
|
|
74
|
+
raise APIError(f"Error received while retrieving flows created and modified: {error}")
|
|
75
|
+
|
|
76
|
+
result = AnalyticsResponseMapper.map_to_flows_created_and_modified_response(response_data)
|
|
77
|
+
return result
|
|
78
|
+
|
|
79
|
+
def get_flows_created_and_modified_per_day(
|
|
80
|
+
self,
|
|
81
|
+
start_date: str,
|
|
82
|
+
end_date: str
|
|
83
|
+
) -> FlowsCreatedAndModifiedPerDayResponse:
|
|
84
|
+
response_data = self.__analytics_client.get_flows_created_and_modified_per_day(
|
|
85
|
+
start_date=start_date,
|
|
86
|
+
end_date=end_date
|
|
87
|
+
)
|
|
88
|
+
if ErrorHandler.has_errors(response_data):
|
|
89
|
+
error = ErrorHandler.extract_error(response_data)
|
|
90
|
+
logger.error(f"Error received while retrieving flows created and modified per day: {error}")
|
|
91
|
+
raise APIError(f"Error received while retrieving flows created and modified per day: {error}")
|
|
92
|
+
|
|
93
|
+
result = AnalyticsResponseMapper.map_to_flows_created_and_modified_per_day_response(response_data)
|
|
94
|
+
return result
|
|
95
|
+
|
|
96
|
+
def get_processes_created_and_modified(
|
|
97
|
+
self,
|
|
98
|
+
start_date: str,
|
|
99
|
+
end_date: str
|
|
100
|
+
) -> ProcessesCreatedAndModifiedResponse:
|
|
101
|
+
response_data = self.__analytics_client.get_processes_created_and_modified(
|
|
102
|
+
start_date=start_date,
|
|
103
|
+
end_date=end_date
|
|
104
|
+
)
|
|
105
|
+
if ErrorHandler.has_errors(response_data):
|
|
106
|
+
error = ErrorHandler.extract_error(response_data)
|
|
107
|
+
logger.error(f"Error received while retrieving processes created and modified: {error}")
|
|
108
|
+
raise APIError(f"Error received while retrieving processes created and modified: {error}")
|
|
109
|
+
|
|
110
|
+
result = AnalyticsResponseMapper.map_to_processes_created_and_modified_response(response_data)
|
|
111
|
+
return result
|
|
112
|
+
|
|
113
|
+
def get_agent_usage_per_user(
|
|
114
|
+
self,
|
|
115
|
+
start_date: str,
|
|
116
|
+
end_date: str
|
|
117
|
+
) -> AgentUsagePerUserResponse:
|
|
118
|
+
response_data = self.__analytics_client.get_agent_usage_per_user(
|
|
119
|
+
start_date=start_date,
|
|
120
|
+
end_date=end_date
|
|
121
|
+
)
|
|
122
|
+
if ErrorHandler.has_errors(response_data):
|
|
123
|
+
error = ErrorHandler.extract_error(response_data)
|
|
124
|
+
logger.error(f"Error received while retrieving agent usage per user: {error}")
|
|
125
|
+
raise APIError(f"Error received while retrieving agent usage per user: {error}")
|
|
126
|
+
|
|
127
|
+
result = AnalyticsResponseMapper.map_to_agent_usage_per_user_response(response_data)
|
|
128
|
+
return result
|
|
129
|
+
|
|
130
|
+
def get_average_cost_per_request(
|
|
131
|
+
self,
|
|
132
|
+
start_date: str,
|
|
133
|
+
end_date: str
|
|
134
|
+
) -> AverageCostPerRequestResponse:
|
|
135
|
+
response_data = self.__analytics_client.get_average_cost_per_request(
|
|
136
|
+
start_date=start_date,
|
|
137
|
+
end_date=end_date
|
|
138
|
+
)
|
|
139
|
+
if ErrorHandler.has_errors(response_data):
|
|
140
|
+
error = ErrorHandler.extract_error(response_data)
|
|
141
|
+
logger.error(f"Error received while retrieving average cost per request: {error}")
|
|
142
|
+
raise APIError(f"Error received while retrieving average cost per request: {error}")
|
|
143
|
+
|
|
144
|
+
result = AnalyticsResponseMapper.map_to_average_cost_per_request_response(response_data)
|
|
145
|
+
return result
|
|
146
|
+
|
|
147
|
+
def get_average_cost_per_user(
|
|
148
|
+
self,
|
|
149
|
+
start_date: str,
|
|
150
|
+
end_date: str
|
|
151
|
+
) -> AverageCostPerUserResponse:
|
|
152
|
+
response_data = self.__analytics_client.get_average_cost_per_user(
|
|
153
|
+
start_date=start_date,
|
|
154
|
+
end_date=end_date
|
|
155
|
+
)
|
|
156
|
+
if ErrorHandler.has_errors(response_data):
|
|
157
|
+
error = ErrorHandler.extract_error(response_data)
|
|
158
|
+
logger.error(f"Error received while retrieving average cost per user: {error}")
|
|
159
|
+
raise APIError(f"Error received while retrieving average cost per user: {error}")
|
|
160
|
+
|
|
161
|
+
result = AnalyticsResponseMapper.map_to_average_cost_per_user_response(response_data)
|
|
162
|
+
return result
|
|
163
|
+
|
|
164
|
+
def get_average_cost_per_user_per_date(
|
|
165
|
+
self,
|
|
166
|
+
start_date: str,
|
|
167
|
+
end_date: str
|
|
168
|
+
) -> AverageCostPerUserPerDateResponse:
|
|
169
|
+
response_data = self.__analytics_client.get_average_cost_per_user_per_date(
|
|
170
|
+
start_date=start_date,
|
|
171
|
+
end_date=end_date
|
|
172
|
+
)
|
|
173
|
+
if ErrorHandler.has_errors(response_data):
|
|
174
|
+
error = ErrorHandler.extract_error(response_data)
|
|
175
|
+
logger.error(f"Error received while retrieving average cost per user per date: {error}")
|
|
176
|
+
raise APIError(f"Error received while retrieving average cost per user per date: {error}")
|
|
177
|
+
|
|
178
|
+
result = AnalyticsResponseMapper.map_to_average_cost_per_user_per_date_response(response_data)
|
|
179
|
+
return result
|
|
180
|
+
|
|
181
|
+
def get_average_request_time(
|
|
182
|
+
self,
|
|
183
|
+
start_date: str,
|
|
184
|
+
end_date: str
|
|
185
|
+
) -> AverageRequestTimeResponse:
|
|
186
|
+
response_data = self.__analytics_client.get_average_request_time(
|
|
187
|
+
start_date=start_date,
|
|
188
|
+
end_date=end_date
|
|
189
|
+
)
|
|
190
|
+
if ErrorHandler.has_errors(response_data):
|
|
191
|
+
error = ErrorHandler.extract_error(response_data)
|
|
192
|
+
logger.error(f"Error received while retrieving average request time: {error}")
|
|
193
|
+
raise APIError(f"Error received while retrieving average request time: {error}")
|
|
194
|
+
|
|
195
|
+
result = AnalyticsResponseMapper.map_to_average_request_time_response(response_data)
|
|
196
|
+
return result
|
|
197
|
+
|
|
198
|
+
def get_average_requests_per_day(
|
|
199
|
+
self,
|
|
200
|
+
start_date: str,
|
|
201
|
+
end_date: str
|
|
202
|
+
) -> AverageRequestsPerDayResponse:
|
|
203
|
+
response_data = self.__analytics_client.get_average_requests_per_day(
|
|
204
|
+
start_date=start_date,
|
|
205
|
+
end_date=end_date
|
|
206
|
+
)
|
|
207
|
+
if ErrorHandler.has_errors(response_data):
|
|
208
|
+
error = ErrorHandler.extract_error(response_data)
|
|
209
|
+
logger.error(f"Error received while retrieving average requests per day: {error}")
|
|
210
|
+
raise APIError(f"Error received while retrieving average requests per day: {error}")
|
|
211
|
+
|
|
212
|
+
result = AnalyticsResponseMapper.map_to_average_requests_per_day_response(response_data)
|
|
213
|
+
return result
|
|
214
|
+
|
|
215
|
+
def get_average_requests_per_user(
|
|
216
|
+
self,
|
|
217
|
+
start_date: str,
|
|
218
|
+
end_date: str
|
|
219
|
+
) -> AverageRequestsPerUserResponse:
|
|
220
|
+
response_data = self.__analytics_client.get_average_requests_per_user(
|
|
221
|
+
start_date=start_date,
|
|
222
|
+
end_date=end_date
|
|
223
|
+
)
|
|
224
|
+
if ErrorHandler.has_errors(response_data):
|
|
225
|
+
error = ErrorHandler.extract_error(response_data)
|
|
226
|
+
logger.error(f"Error received while retrieving average requests per user: {error}")
|
|
227
|
+
raise APIError(f"Error received while retrieving average requests per user: {error}")
|
|
228
|
+
|
|
229
|
+
result = AnalyticsResponseMapper.map_to_average_requests_per_user_response(response_data)
|
|
230
|
+
return result
|
|
231
|
+
|
|
232
|
+
def get_average_requests_per_user_per_date(
|
|
233
|
+
self,
|
|
234
|
+
start_date: str,
|
|
235
|
+
end_date: str
|
|
236
|
+
) -> AverageRequestsPerUserPerDateResponse:
|
|
237
|
+
response_data = self.__analytics_client.get_average_requests_per_user_per_date(
|
|
238
|
+
start_date=start_date,
|
|
239
|
+
end_date=end_date
|
|
240
|
+
)
|
|
241
|
+
if ErrorHandler.has_errors(response_data):
|
|
242
|
+
error = ErrorHandler.extract_error(response_data)
|
|
243
|
+
logger.error(f"Error received while retrieving average requests per user per date: {error}")
|
|
244
|
+
raise APIError(f"Error received while retrieving average requests per user per date: {error}")
|
|
245
|
+
|
|
246
|
+
result = AnalyticsResponseMapper.map_to_average_requests_per_user_per_date_response(response_data)
|
|
247
|
+
return result
|
|
248
|
+
|
|
249
|
+
def get_average_tokens_per_request(
|
|
250
|
+
self,
|
|
251
|
+
start_date: str,
|
|
252
|
+
end_date: str
|
|
253
|
+
) -> AverageTokensPerRequestResponse:
|
|
254
|
+
response_data = self.__analytics_client.get_average_tokens_per_request(
|
|
255
|
+
start_date=start_date,
|
|
256
|
+
end_date=end_date
|
|
257
|
+
)
|
|
258
|
+
if ErrorHandler.has_errors(response_data):
|
|
259
|
+
error = ErrorHandler.extract_error(response_data)
|
|
260
|
+
logger.error(f"Error received while retrieving average tokens per request: {error}")
|
|
261
|
+
raise APIError(f"Error received while retrieving average tokens per request: {error}")
|
|
262
|
+
|
|
263
|
+
result = AnalyticsResponseMapper.map_to_average_tokens_per_request_response(response_data)
|
|
264
|
+
return result
|
|
265
|
+
|
|
266
|
+
def get_average_users_per_agent(
|
|
267
|
+
self,
|
|
268
|
+
start_date: str,
|
|
269
|
+
end_date: str
|
|
270
|
+
) -> AverageUsersPerAgentResponse:
|
|
271
|
+
response_data = self.__analytics_client.get_average_users_per_agent(
|
|
272
|
+
start_date=start_date,
|
|
273
|
+
end_date=end_date
|
|
274
|
+
)
|
|
275
|
+
if ErrorHandler.has_errors(response_data):
|
|
276
|
+
error = ErrorHandler.extract_error(response_data)
|
|
277
|
+
logger.error(f"Error received while retrieving average users per agent: {error}")
|
|
278
|
+
raise APIError(f"Error received while retrieving average users per agent: {error}")
|
|
279
|
+
|
|
280
|
+
result = AnalyticsResponseMapper.map_to_average_users_per_agent_response(response_data)
|
|
281
|
+
return result
|
|
282
|
+
|
|
283
|
+
def get_average_users_per_project(
|
|
284
|
+
self,
|
|
285
|
+
start_date: str,
|
|
286
|
+
end_date: str
|
|
287
|
+
) -> AverageUsersPerProjectResponse:
|
|
288
|
+
response_data = self.__analytics_client.get_average_users_per_project(
|
|
289
|
+
start_date=start_date,
|
|
290
|
+
end_date=end_date
|
|
291
|
+
)
|
|
292
|
+
if ErrorHandler.has_errors(response_data):
|
|
293
|
+
error = ErrorHandler.extract_error(response_data)
|
|
294
|
+
logger.error(f"Error received while retrieving average users per project: {error}")
|
|
295
|
+
raise APIError(f"Error received while retrieving average users per project: {error}")
|
|
296
|
+
|
|
297
|
+
result = AnalyticsResponseMapper.map_to_average_users_per_project_response(response_data)
|
|
298
|
+
return result
|
|
299
|
+
|
|
300
|
+
def get_number_of_tokens(
|
|
301
|
+
self,
|
|
302
|
+
start_date: str,
|
|
303
|
+
end_date: str
|
|
304
|
+
) -> NumberOfTokensResponse:
|
|
305
|
+
response_data = self.__analytics_client.get_number_of_tokens(
|
|
306
|
+
start_date=start_date,
|
|
307
|
+
end_date=end_date
|
|
308
|
+
)
|
|
309
|
+
if ErrorHandler.has_errors(response_data):
|
|
310
|
+
error = ErrorHandler.extract_error(response_data)
|
|
311
|
+
logger.error(f"Error received while retrieving number of tokens: {error}")
|
|
312
|
+
raise APIError(f"Error received while retrieving number of tokens: {error}")
|
|
313
|
+
|
|
314
|
+
result = AnalyticsResponseMapper.map_to_number_of_tokens_response(response_data)
|
|
315
|
+
return result
|
|
316
|
+
|
|
317
|
+
def get_number_of_tokens_per_agent(
|
|
318
|
+
self,
|
|
319
|
+
start_date: str,
|
|
320
|
+
end_date: str
|
|
321
|
+
) -> NumberOfTokensPerAgentResponse:
|
|
322
|
+
response_data = self.__analytics_client.get_number_of_tokens_per_agent(
|
|
323
|
+
start_date=start_date,
|
|
324
|
+
end_date=end_date
|
|
325
|
+
)
|
|
326
|
+
if ErrorHandler.has_errors(response_data):
|
|
327
|
+
error = ErrorHandler.extract_error(response_data)
|
|
328
|
+
logger.error(f"Error received while retrieving number of tokens per agent: {error}")
|
|
329
|
+
raise APIError(f"Error received while retrieving number of tokens per agent: {error}")
|
|
330
|
+
|
|
331
|
+
result = AnalyticsResponseMapper.map_to_number_of_tokens_per_agent_response(response_data)
|
|
332
|
+
return result
|
|
333
|
+
|
|
334
|
+
def get_number_of_tokens_per_day(
|
|
335
|
+
self,
|
|
336
|
+
start_date: str,
|
|
337
|
+
end_date: str
|
|
338
|
+
) -> NumberOfTokensPerDayResponse:
|
|
339
|
+
response_data = self.__analytics_client.get_number_of_tokens_per_day(
|
|
340
|
+
start_date=start_date,
|
|
341
|
+
end_date=end_date
|
|
342
|
+
)
|
|
343
|
+
if ErrorHandler.has_errors(response_data):
|
|
344
|
+
error = ErrorHandler.extract_error(response_data)
|
|
345
|
+
logger.error(f"Error received while retrieving number of tokens per day: {error}")
|
|
346
|
+
raise APIError(f"Error received while retrieving number of tokens per day: {error}")
|
|
347
|
+
|
|
348
|
+
result = AnalyticsResponseMapper.map_to_number_of_tokens_per_day_response(response_data)
|
|
349
|
+
return result
|
|
350
|
+
|
|
351
|
+
def get_overall_error_rate(
|
|
352
|
+
self,
|
|
353
|
+
start_date: str,
|
|
354
|
+
end_date: str
|
|
355
|
+
) -> OverallErrorRateResponse:
|
|
356
|
+
response_data = self.__analytics_client.get_overall_error_rate(
|
|
357
|
+
start_date=start_date,
|
|
358
|
+
end_date=end_date
|
|
359
|
+
)
|
|
360
|
+
if ErrorHandler.has_errors(response_data):
|
|
361
|
+
error = ErrorHandler.extract_error(response_data)
|
|
362
|
+
logger.error(f"Error received while retrieving overall error rate: {error}")
|
|
363
|
+
raise APIError(f"Error received while retrieving overall error rate: {error}")
|
|
364
|
+
|
|
365
|
+
result = AnalyticsResponseMapper.map_to_overall_error_rate_response(response_data)
|
|
366
|
+
return result
|
|
367
|
+
|
|
368
|
+
def get_top_10_agents_by_requests(
|
|
369
|
+
self,
|
|
370
|
+
start_date: str,
|
|
371
|
+
end_date: str
|
|
372
|
+
) -> Top10AgentsByRequestsResponse:
|
|
373
|
+
response_data = self.__analytics_client.get_top_10_agents_by_requests(
|
|
374
|
+
start_date=start_date,
|
|
375
|
+
end_date=end_date
|
|
376
|
+
)
|
|
377
|
+
if ErrorHandler.has_errors(response_data):
|
|
378
|
+
error = ErrorHandler.extract_error(response_data)
|
|
379
|
+
logger.error(f"Error received while retrieving top 10 agents by requests: {error}")
|
|
380
|
+
raise APIError(f"Error received while retrieving top 10 agents by requests: {error}")
|
|
381
|
+
|
|
382
|
+
result = AnalyticsResponseMapper.map_to_top_10_agents_by_requests_response(response_data)
|
|
383
|
+
return result
|
|
384
|
+
|
|
385
|
+
def get_top_10_agents_by_tokens(
|
|
386
|
+
self,
|
|
387
|
+
start_date: str,
|
|
388
|
+
end_date: str
|
|
389
|
+
) -> Top10AgentsByTokensResponse:
|
|
390
|
+
response_data = self.__analytics_client.get_top_10_agents_by_tokens(
|
|
391
|
+
start_date=start_date,
|
|
392
|
+
end_date=end_date
|
|
393
|
+
)
|
|
394
|
+
if ErrorHandler.has_errors(response_data):
|
|
395
|
+
error = ErrorHandler.extract_error(response_data)
|
|
396
|
+
logger.error(f"Error received while retrieving top 10 agents by tokens: {error}")
|
|
397
|
+
raise APIError(f"Error received while retrieving top 10 agents by tokens: {error}")
|
|
398
|
+
|
|
399
|
+
result = AnalyticsResponseMapper.map_to_top_10_agents_by_tokens_response(response_data)
|
|
400
|
+
return result
|
|
401
|
+
|
|
402
|
+
def get_top_10_users_by_cost(
|
|
403
|
+
self,
|
|
404
|
+
start_date: str,
|
|
405
|
+
end_date: str
|
|
406
|
+
) -> Top10UsersByCostResponse:
|
|
407
|
+
response_data = self.__analytics_client.get_top_10_users_by_cost(
|
|
408
|
+
start_date=start_date,
|
|
409
|
+
end_date=end_date
|
|
410
|
+
)
|
|
411
|
+
if ErrorHandler.has_errors(response_data):
|
|
412
|
+
error = ErrorHandler.extract_error(response_data)
|
|
413
|
+
logger.error(f"Error received while retrieving top 10 users by cost: {error}")
|
|
414
|
+
raise APIError(f"Error received while retrieving top 10 users by cost: {error}")
|
|
415
|
+
|
|
416
|
+
result = AnalyticsResponseMapper.map_to_top_10_users_by_cost_response(response_data)
|
|
417
|
+
return result
|
|
418
|
+
|
|
419
|
+
def get_top_10_users_by_requests(
|
|
420
|
+
self,
|
|
421
|
+
start_date: str,
|
|
422
|
+
end_date: str
|
|
423
|
+
) -> Top10UsersByRequestsResponse:
|
|
424
|
+
response_data = self.__analytics_client.get_top_10_users_by_requests(
|
|
425
|
+
start_date=start_date,
|
|
426
|
+
end_date=end_date
|
|
427
|
+
)
|
|
428
|
+
if ErrorHandler.has_errors(response_data):
|
|
429
|
+
error = ErrorHandler.extract_error(response_data)
|
|
430
|
+
logger.error(f"Error received while retrieving top 10 users by requests: {error}")
|
|
431
|
+
raise APIError(f"Error received while retrieving top 10 users by requests: {error}")
|
|
432
|
+
|
|
433
|
+
result = AnalyticsResponseMapper.map_to_top_10_users_by_requests_response(response_data)
|
|
434
|
+
return result
|
|
435
|
+
|
|
436
|
+
def get_total_active_agents(
|
|
437
|
+
self,
|
|
438
|
+
start_date: str,
|
|
439
|
+
end_date: str
|
|
440
|
+
) -> TotalActiveAgentsResponse:
|
|
441
|
+
response_data = self.__analytics_client.get_total_active_agents(
|
|
442
|
+
start_date=start_date,
|
|
443
|
+
end_date=end_date
|
|
444
|
+
)
|
|
445
|
+
if ErrorHandler.has_errors(response_data):
|
|
446
|
+
error = ErrorHandler.extract_error(response_data)
|
|
447
|
+
logger.error(f"Error received while retrieving total active agents: {error}")
|
|
448
|
+
raise APIError(f"Error received while retrieving total active agents: {error}")
|
|
449
|
+
|
|
450
|
+
result = AnalyticsResponseMapper.map_to_total_active_agents_response(response_data)
|
|
451
|
+
return result
|
|
452
|
+
|
|
453
|
+
def get_total_active_projects(
|
|
454
|
+
self,
|
|
455
|
+
start_date: str,
|
|
456
|
+
end_date: str
|
|
457
|
+
) -> TotalActiveProjectsResponse:
|
|
458
|
+
response_data = self.__analytics_client.get_total_active_projects(
|
|
459
|
+
start_date=start_date,
|
|
460
|
+
end_date=end_date
|
|
461
|
+
)
|
|
462
|
+
if ErrorHandler.has_errors(response_data):
|
|
463
|
+
error = ErrorHandler.extract_error(response_data)
|
|
464
|
+
logger.error(f"Error received while retrieving total active projects: {error}")
|
|
465
|
+
raise APIError(f"Error received while retrieving total active projects: {error}")
|
|
466
|
+
|
|
467
|
+
result = AnalyticsResponseMapper.map_to_total_active_projects_response(response_data)
|
|
468
|
+
return result
|
|
469
|
+
|
|
470
|
+
def get_total_active_users(
|
|
471
|
+
self,
|
|
472
|
+
start_date: str,
|
|
473
|
+
end_date: str
|
|
474
|
+
) -> TotalActiveUsersResponse:
|
|
475
|
+
response_data = self.__analytics_client.get_total_active_users(
|
|
476
|
+
start_date=start_date,
|
|
477
|
+
end_date=end_date
|
|
478
|
+
)
|
|
479
|
+
if ErrorHandler.has_errors(response_data):
|
|
480
|
+
error = ErrorHandler.extract_error(response_data)
|
|
481
|
+
logger.error(f"Error received while retrieving total active users: {error}")
|
|
482
|
+
raise APIError(f"Error received while retrieving total active users: {error}")
|
|
483
|
+
|
|
484
|
+
result = AnalyticsResponseMapper.map_to_total_active_users_response(response_data)
|
|
485
|
+
return result
|
|
486
|
+
|
|
487
|
+
def get_total_cost(
|
|
488
|
+
self,
|
|
489
|
+
start_date: str,
|
|
490
|
+
end_date: str
|
|
491
|
+
) -> TotalCostResponse:
|
|
492
|
+
response_data = self.__analytics_client.get_total_cost(
|
|
493
|
+
start_date=start_date,
|
|
494
|
+
end_date=end_date
|
|
495
|
+
)
|
|
496
|
+
if ErrorHandler.has_errors(response_data):
|
|
497
|
+
error = ErrorHandler.extract_error(response_data)
|
|
498
|
+
logger.error(f"Error received while retrieving total cost: {error}")
|
|
499
|
+
raise APIError(f"Error received while retrieving total cost: {error}")
|
|
500
|
+
|
|
501
|
+
result = AnalyticsResponseMapper.map_to_total_cost_response(response_data)
|
|
502
|
+
return result
|
|
503
|
+
|
|
504
|
+
def get_total_cost_per_day(
|
|
505
|
+
self,
|
|
506
|
+
start_date: str,
|
|
507
|
+
end_date: str
|
|
508
|
+
) -> TotalCostPerDayResponse:
|
|
509
|
+
response_data = self.__analytics_client.get_total_cost_per_day(
|
|
510
|
+
start_date=start_date,
|
|
511
|
+
end_date=end_date
|
|
512
|
+
)
|
|
513
|
+
if ErrorHandler.has_errors(response_data):
|
|
514
|
+
error = ErrorHandler.extract_error(response_data)
|
|
515
|
+
logger.error(f"Error received while retrieving total cost per day: {error}")
|
|
516
|
+
raise APIError(f"Error received while retrieving total cost per day: {error}")
|
|
517
|
+
|
|
518
|
+
result = AnalyticsResponseMapper.map_to_total_cost_per_day_response(response_data)
|
|
519
|
+
return result
|
|
520
|
+
|
|
521
|
+
def get_total_request_time(
|
|
522
|
+
self,
|
|
523
|
+
start_date: str,
|
|
524
|
+
end_date: str
|
|
525
|
+
) -> TotalRequestTimeResponse:
|
|
526
|
+
response_data = self.__analytics_client.get_total_request_time(
|
|
527
|
+
start_date=start_date,
|
|
528
|
+
end_date=end_date
|
|
529
|
+
)
|
|
530
|
+
if ErrorHandler.has_errors(response_data):
|
|
531
|
+
error = ErrorHandler.extract_error(response_data)
|
|
532
|
+
logger.error(f"Error received while retrieving total request time: {error}")
|
|
533
|
+
raise APIError(f"Error received while retrieving total request time: {error}")
|
|
534
|
+
|
|
535
|
+
result = AnalyticsResponseMapper.map_to_total_request_time_response(response_data)
|
|
536
|
+
return result
|
|
537
|
+
|
|
538
|
+
def get_total_requests(
|
|
539
|
+
self,
|
|
540
|
+
start_date: str,
|
|
541
|
+
end_date: str
|
|
542
|
+
) -> TotalRequestsResponse:
|
|
543
|
+
response_data = self.__analytics_client.get_total_requests(
|
|
544
|
+
start_date=start_date,
|
|
545
|
+
end_date=end_date
|
|
546
|
+
)
|
|
547
|
+
if ErrorHandler.has_errors(response_data):
|
|
548
|
+
error = ErrorHandler.extract_error(response_data)
|
|
549
|
+
logger.error(f"Error received while retrieving total requests: {error}")
|
|
550
|
+
raise APIError(f"Error received while retrieving total requests: {error}")
|
|
551
|
+
|
|
552
|
+
result = AnalyticsResponseMapper.map_to_total_requests_response(response_data)
|
|
553
|
+
return result
|
|
554
|
+
|
|
555
|
+
def get_total_requests_per_day(
|
|
556
|
+
self,
|
|
557
|
+
start_date: str,
|
|
558
|
+
end_date: str,
|
|
559
|
+
agent_name: str = None
|
|
560
|
+
) -> TotalRequestsPerDayResponse:
|
|
561
|
+
response_data = self.__analytics_client.get_total_requests_per_day(
|
|
562
|
+
start_date=start_date,
|
|
563
|
+
end_date=end_date,
|
|
564
|
+
agent_name=agent_name
|
|
565
|
+
)
|
|
566
|
+
if ErrorHandler.has_errors(response_data):
|
|
567
|
+
error = ErrorHandler.extract_error(response_data)
|
|
568
|
+
logger.error(f"Error received while retrieving total requests per day: {error}")
|
|
569
|
+
raise APIError(f"Error received while retrieving total requests per day: {error}")
|
|
570
|
+
|
|
571
|
+
result = AnalyticsResponseMapper.map_to_total_requests_per_day_response(response_data)
|
|
572
|
+
return result
|
|
573
|
+
|
|
574
|
+
def get_total_requests_with_error(
|
|
575
|
+
self,
|
|
576
|
+
start_date: str,
|
|
577
|
+
end_date: str
|
|
578
|
+
) -> TotalRequestsWithErrorResponse:
|
|
579
|
+
response_data = self.__analytics_client.get_total_requests_with_error(
|
|
580
|
+
start_date=start_date,
|
|
581
|
+
end_date=end_date
|
|
582
|
+
)
|
|
583
|
+
if ErrorHandler.has_errors(response_data):
|
|
584
|
+
error = ErrorHandler.extract_error(response_data)
|
|
585
|
+
logger.error(f"Error received while retrieving total requests with error: {error}")
|
|
586
|
+
raise APIError(f"Error received while retrieving total requests with error: {error}")
|
|
587
|
+
|
|
588
|
+
result = AnalyticsResponseMapper.map_to_total_requests_with_error_response(response_data)
|
|
589
|
+
return result
|
|
590
|
+
|
|
591
|
+
def get_total_tokens(
|
|
592
|
+
self,
|
|
593
|
+
start_date: str,
|
|
594
|
+
end_date: str
|
|
595
|
+
) -> TotalTokensResponse:
|
|
596
|
+
response_data = self.__analytics_client.get_total_tokens(
|
|
597
|
+
start_date=start_date,
|
|
598
|
+
end_date=end_date
|
|
599
|
+
)
|
|
600
|
+
if ErrorHandler.has_errors(response_data):
|
|
601
|
+
error = ErrorHandler.extract_error(response_data)
|
|
602
|
+
logger.error(f"Error received while retrieving total tokens: {error}")
|
|
603
|
+
raise APIError(f"Error received while retrieving total tokens: {error}")
|
|
604
|
+
|
|
605
|
+
result = AnalyticsResponseMapper.map_to_total_tokens_response(response_data)
|
|
606
|
+
return result
|