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,505 @@
|
|
|
1
|
+
from pygeai import logger
|
|
2
|
+
from pygeai.admin.clients import AdminClient
|
|
3
|
+
from pygeai.analytics.endpoints import (
|
|
4
|
+
GET_AGENTS_CREATED_AND_MODIFIED_V1, GET_AGENTS_CREATED_AND_MODIFIED_PER_DAY_V1,
|
|
5
|
+
GET_FLOWS_CREATED_AND_MODIFIED_V1, GET_FLOWS_CREATED_AND_MODIFIED_PER_DAY_V1,
|
|
6
|
+
GET_PROCESSES_CREATED_AND_MODIFIED_V1, GET_AGENT_USAGE_PER_USER_V1,
|
|
7
|
+
GET_AVERAGE_COST_PER_REQUEST_V1, GET_AVERAGE_COST_PER_USER_V1,
|
|
8
|
+
GET_AVERAGE_COST_PER_USER_PER_DATE_V1, GET_AVERAGE_REQUEST_TIME_V1,
|
|
9
|
+
GET_AVERAGE_REQUESTS_PER_DAY_V1, GET_AVERAGE_REQUESTS_PER_USER_V1,
|
|
10
|
+
GET_AVERAGE_REQUESTS_PER_USER_PER_DATE_V1, GET_AVERAGE_TOKENS_PER_REQUEST_V1,
|
|
11
|
+
GET_AVERAGE_USERS_PER_AGENT_V1, GET_AVERAGE_USERS_PER_PROJECT_V1,
|
|
12
|
+
GET_NUMBER_OF_TOKENS_V1, GET_NUMBER_OF_TOKENS_PER_AGENT_V1,
|
|
13
|
+
GET_NUMBER_OF_TOKENS_PER_DAY_V1, GET_OVERALL_ERROR_RATE_V1,
|
|
14
|
+
GET_TOP_10_AGENTS_BY_REQUESTS_V1, GET_TOP_10_AGENTS_BY_TOKENS_V1,
|
|
15
|
+
GET_TOP_10_USERS_BY_COST_V1, GET_TOP_10_USERS_BY_REQUESTS_V1,
|
|
16
|
+
GET_TOTAL_ACTIVE_AGENTS_V1, GET_TOTAL_ACTIVE_PROJECTS_V1,
|
|
17
|
+
GET_TOTAL_ACTIVE_USERS_V1, GET_TOTAL_COST_V1, GET_TOTAL_COST_PER_DAY_V1,
|
|
18
|
+
GET_TOTAL_REQUEST_TIME_V1, GET_TOTAL_REQUESTS_V1, GET_TOTAL_REQUESTS_PER_DAY_V1,
|
|
19
|
+
GET_TOTAL_REQUESTS_WITH_ERROR_V1, GET_TOTAL_TOKENS_V1
|
|
20
|
+
)
|
|
21
|
+
from pygeai.core.base.clients import BaseClient
|
|
22
|
+
from pygeai.core.common.exceptions import APIError
|
|
23
|
+
from pygeai.core.utils.validators import validate_status_code
|
|
24
|
+
from pygeai.core.utils.parsers import parse_json_response
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class AnalyticsClient(BaseClient):
|
|
28
|
+
|
|
29
|
+
def __init__(self, api_key: str = None, base_url: str = None, alias: str = None, *,
|
|
30
|
+
access_token: str = None, project_id: str = None, organization_id: str = None):
|
|
31
|
+
super().__init__(api_key, base_url, alias, access_token=access_token, project_id=project_id)
|
|
32
|
+
ids = self.__get_project_and_organization_ids(api_key, base_url, alias, project_id, organization_id)
|
|
33
|
+
self.project_id = ids.get("projectId")
|
|
34
|
+
self.organization_id = ids.get("organizationId")
|
|
35
|
+
if self.project_id and not self.api_service.project_id:
|
|
36
|
+
self.api_service.project_id = self.project_id
|
|
37
|
+
|
|
38
|
+
def __get_project_and_organization_ids(self, api_key: str = None, base_url: str = None, alias: str = None,
|
|
39
|
+
project_id: str = None, organization_id: str = None):
|
|
40
|
+
if project_id and organization_id:
|
|
41
|
+
return {"projectId": project_id, "organizationId": organization_id}
|
|
42
|
+
|
|
43
|
+
response = None
|
|
44
|
+
try:
|
|
45
|
+
response = AdminClient(api_key=api_key, base_url=base_url, alias=alias).validate_api_token()
|
|
46
|
+
return {
|
|
47
|
+
"projectId": project_id if project_id else response.get("projectId"),
|
|
48
|
+
"organizationId": organization_id if organization_id else response.get("organizationId")
|
|
49
|
+
}
|
|
50
|
+
except Exception as e:
|
|
51
|
+
logger.error(f"Error retrieving project_id and organization_id from GEAI. Response: {response}: {e}")
|
|
52
|
+
raise APIError(f"Error retrieving project_id and organization_id from GEAI: {e}")
|
|
53
|
+
|
|
54
|
+
def __build_headers(self):
|
|
55
|
+
return {
|
|
56
|
+
"Authorization": self.api_service.token,
|
|
57
|
+
"OrganizationId": self.organization_id,
|
|
58
|
+
"ProjectId": self.project_id
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
def get_agents_created_and_modified(
|
|
62
|
+
self,
|
|
63
|
+
start_date: str,
|
|
64
|
+
end_date: str
|
|
65
|
+
) -> dict:
|
|
66
|
+
response = self.api_service.get(
|
|
67
|
+
endpoint=GET_AGENTS_CREATED_AND_MODIFIED_V1,
|
|
68
|
+
headers=self.__build_headers(),
|
|
69
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
70
|
+
)
|
|
71
|
+
validate_status_code(response)
|
|
72
|
+
return parse_json_response(response, "get agents created and modified")
|
|
73
|
+
|
|
74
|
+
def get_agents_created_and_modified_per_day(
|
|
75
|
+
self,
|
|
76
|
+
start_date: str,
|
|
77
|
+
end_date: str
|
|
78
|
+
) -> dict:
|
|
79
|
+
response = self.api_service.get(
|
|
80
|
+
endpoint=GET_AGENTS_CREATED_AND_MODIFIED_PER_DAY_V1,
|
|
81
|
+
headers=self.__build_headers(),
|
|
82
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
83
|
+
)
|
|
84
|
+
validate_status_code(response)
|
|
85
|
+
return parse_json_response(response, "get agents created and modified per day")
|
|
86
|
+
|
|
87
|
+
def get_flows_created_and_modified(
|
|
88
|
+
self,
|
|
89
|
+
start_date: str,
|
|
90
|
+
end_date: str
|
|
91
|
+
) -> dict:
|
|
92
|
+
response = self.api_service.get(
|
|
93
|
+
endpoint=GET_FLOWS_CREATED_AND_MODIFIED_V1,
|
|
94
|
+
headers=self.__build_headers(),
|
|
95
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
96
|
+
)
|
|
97
|
+
validate_status_code(response)
|
|
98
|
+
return parse_json_response(response, "get flows created and modified")
|
|
99
|
+
|
|
100
|
+
def get_flows_created_and_modified_per_day(
|
|
101
|
+
self,
|
|
102
|
+
start_date: str,
|
|
103
|
+
end_date: str
|
|
104
|
+
) -> dict:
|
|
105
|
+
response = self.api_service.get(
|
|
106
|
+
endpoint=GET_FLOWS_CREATED_AND_MODIFIED_PER_DAY_V1,
|
|
107
|
+
headers=self.__build_headers(),
|
|
108
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
109
|
+
)
|
|
110
|
+
validate_status_code(response)
|
|
111
|
+
return parse_json_response(response, "get flows created and modified per day")
|
|
112
|
+
|
|
113
|
+
def get_processes_created_and_modified(
|
|
114
|
+
self,
|
|
115
|
+
start_date: str,
|
|
116
|
+
end_date: str
|
|
117
|
+
) -> dict:
|
|
118
|
+
response = self.api_service.get(
|
|
119
|
+
endpoint=GET_PROCESSES_CREATED_AND_MODIFIED_V1,
|
|
120
|
+
headers=self.__build_headers(),
|
|
121
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
122
|
+
)
|
|
123
|
+
validate_status_code(response)
|
|
124
|
+
return parse_json_response(response, "get processes created and modified")
|
|
125
|
+
|
|
126
|
+
def get_agent_usage_per_user(
|
|
127
|
+
self,
|
|
128
|
+
start_date: str,
|
|
129
|
+
end_date: str
|
|
130
|
+
) -> dict:
|
|
131
|
+
response = self.api_service.get(
|
|
132
|
+
endpoint=GET_AGENT_USAGE_PER_USER_V1,
|
|
133
|
+
headers=self.__build_headers(),
|
|
134
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
135
|
+
)
|
|
136
|
+
validate_status_code(response)
|
|
137
|
+
return parse_json_response(response, "get agent usage per user")
|
|
138
|
+
|
|
139
|
+
def get_average_cost_per_request(
|
|
140
|
+
self,
|
|
141
|
+
start_date: str,
|
|
142
|
+
end_date: str
|
|
143
|
+
) -> dict:
|
|
144
|
+
response = self.api_service.get(
|
|
145
|
+
endpoint=GET_AVERAGE_COST_PER_REQUEST_V1,
|
|
146
|
+
headers=self.__build_headers(),
|
|
147
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
148
|
+
)
|
|
149
|
+
validate_status_code(response)
|
|
150
|
+
return parse_json_response(response, "get average cost per request")
|
|
151
|
+
|
|
152
|
+
def get_average_cost_per_user(
|
|
153
|
+
self,
|
|
154
|
+
start_date: str,
|
|
155
|
+
end_date: str
|
|
156
|
+
) -> dict:
|
|
157
|
+
response = self.api_service.get(
|
|
158
|
+
endpoint=GET_AVERAGE_COST_PER_USER_V1,
|
|
159
|
+
headers=self.__build_headers(),
|
|
160
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
161
|
+
)
|
|
162
|
+
validate_status_code(response)
|
|
163
|
+
return parse_json_response(response, "get average cost per user")
|
|
164
|
+
|
|
165
|
+
def get_average_cost_per_user_per_date(
|
|
166
|
+
self,
|
|
167
|
+
start_date: str,
|
|
168
|
+
end_date: str
|
|
169
|
+
) -> dict:
|
|
170
|
+
response = self.api_service.get(
|
|
171
|
+
endpoint=GET_AVERAGE_COST_PER_USER_PER_DATE_V1,
|
|
172
|
+
headers=self.__build_headers(),
|
|
173
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
174
|
+
)
|
|
175
|
+
validate_status_code(response)
|
|
176
|
+
return parse_json_response(response, "get average cost per user per date")
|
|
177
|
+
|
|
178
|
+
def get_average_request_time(
|
|
179
|
+
self,
|
|
180
|
+
start_date: str,
|
|
181
|
+
end_date: str
|
|
182
|
+
) -> dict:
|
|
183
|
+
response = self.api_service.get(
|
|
184
|
+
endpoint=GET_AVERAGE_REQUEST_TIME_V1,
|
|
185
|
+
headers=self.__build_headers(),
|
|
186
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
187
|
+
)
|
|
188
|
+
validate_status_code(response)
|
|
189
|
+
return parse_json_response(response, "get average request time")
|
|
190
|
+
|
|
191
|
+
def get_average_requests_per_day(
|
|
192
|
+
self,
|
|
193
|
+
start_date: str,
|
|
194
|
+
end_date: str
|
|
195
|
+
) -> dict:
|
|
196
|
+
response = self.api_service.get(
|
|
197
|
+
endpoint=GET_AVERAGE_REQUESTS_PER_DAY_V1,
|
|
198
|
+
headers=self.__build_headers(),
|
|
199
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
200
|
+
)
|
|
201
|
+
validate_status_code(response)
|
|
202
|
+
return parse_json_response(response, "get average requests per day")
|
|
203
|
+
|
|
204
|
+
def get_average_requests_per_user(
|
|
205
|
+
self,
|
|
206
|
+
start_date: str,
|
|
207
|
+
end_date: str
|
|
208
|
+
) -> dict:
|
|
209
|
+
response = self.api_service.get(
|
|
210
|
+
endpoint=GET_AVERAGE_REQUESTS_PER_USER_V1,
|
|
211
|
+
headers=self.__build_headers(),
|
|
212
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
213
|
+
)
|
|
214
|
+
validate_status_code(response)
|
|
215
|
+
return parse_json_response(response, "get average requests per user")
|
|
216
|
+
|
|
217
|
+
def get_average_requests_per_user_per_date(
|
|
218
|
+
self,
|
|
219
|
+
start_date: str,
|
|
220
|
+
end_date: str
|
|
221
|
+
) -> dict:
|
|
222
|
+
response = self.api_service.get(
|
|
223
|
+
endpoint=GET_AVERAGE_REQUESTS_PER_USER_PER_DATE_V1,
|
|
224
|
+
headers=self.__build_headers(),
|
|
225
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
226
|
+
)
|
|
227
|
+
validate_status_code(response)
|
|
228
|
+
return parse_json_response(response, "get average requests per user per date")
|
|
229
|
+
|
|
230
|
+
def get_average_tokens_per_request(
|
|
231
|
+
self,
|
|
232
|
+
start_date: str,
|
|
233
|
+
end_date: str
|
|
234
|
+
) -> dict:
|
|
235
|
+
response = self.api_service.get(
|
|
236
|
+
endpoint=GET_AVERAGE_TOKENS_PER_REQUEST_V1,
|
|
237
|
+
headers=self.__build_headers(),
|
|
238
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
239
|
+
)
|
|
240
|
+
validate_status_code(response)
|
|
241
|
+
return parse_json_response(response, "get average tokens per request")
|
|
242
|
+
|
|
243
|
+
def get_average_users_per_agent(
|
|
244
|
+
self,
|
|
245
|
+
start_date: str,
|
|
246
|
+
end_date: str
|
|
247
|
+
) -> dict:
|
|
248
|
+
response = self.api_service.get(
|
|
249
|
+
endpoint=GET_AVERAGE_USERS_PER_AGENT_V1,
|
|
250
|
+
headers=self.__build_headers(),
|
|
251
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
252
|
+
)
|
|
253
|
+
validate_status_code(response)
|
|
254
|
+
return parse_json_response(response, "get average users per agent")
|
|
255
|
+
|
|
256
|
+
def get_average_users_per_project(
|
|
257
|
+
self,
|
|
258
|
+
start_date: str,
|
|
259
|
+
end_date: str
|
|
260
|
+
) -> dict:
|
|
261
|
+
response = self.api_service.get(
|
|
262
|
+
endpoint=GET_AVERAGE_USERS_PER_PROJECT_V1,
|
|
263
|
+
headers=self.__build_headers(),
|
|
264
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
265
|
+
)
|
|
266
|
+
validate_status_code(response)
|
|
267
|
+
return parse_json_response(response, "get average users per project")
|
|
268
|
+
|
|
269
|
+
def get_number_of_tokens(
|
|
270
|
+
self,
|
|
271
|
+
start_date: str,
|
|
272
|
+
end_date: str
|
|
273
|
+
) -> dict:
|
|
274
|
+
response = self.api_service.get(
|
|
275
|
+
endpoint=GET_NUMBER_OF_TOKENS_V1,
|
|
276
|
+
headers=self.__build_headers(),
|
|
277
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
278
|
+
)
|
|
279
|
+
validate_status_code(response)
|
|
280
|
+
return parse_json_response(response, "get number of tokens")
|
|
281
|
+
|
|
282
|
+
def get_number_of_tokens_per_agent(
|
|
283
|
+
self,
|
|
284
|
+
start_date: str,
|
|
285
|
+
end_date: str
|
|
286
|
+
) -> dict:
|
|
287
|
+
response = self.api_service.get(
|
|
288
|
+
endpoint=GET_NUMBER_OF_TOKENS_PER_AGENT_V1,
|
|
289
|
+
headers=self.__build_headers(),
|
|
290
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
291
|
+
)
|
|
292
|
+
validate_status_code(response)
|
|
293
|
+
return parse_json_response(response, "get number of tokens per agent")
|
|
294
|
+
|
|
295
|
+
def get_number_of_tokens_per_day(
|
|
296
|
+
self,
|
|
297
|
+
start_date: str,
|
|
298
|
+
end_date: str
|
|
299
|
+
) -> dict:
|
|
300
|
+
response = self.api_service.get(
|
|
301
|
+
endpoint=GET_NUMBER_OF_TOKENS_PER_DAY_V1,
|
|
302
|
+
headers=self.__build_headers(),
|
|
303
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
304
|
+
)
|
|
305
|
+
validate_status_code(response)
|
|
306
|
+
return parse_json_response(response, "get number of tokens per day")
|
|
307
|
+
|
|
308
|
+
def get_overall_error_rate(
|
|
309
|
+
self,
|
|
310
|
+
start_date: str,
|
|
311
|
+
end_date: str
|
|
312
|
+
) -> dict:
|
|
313
|
+
response = self.api_service.get(
|
|
314
|
+
endpoint=GET_OVERALL_ERROR_RATE_V1,
|
|
315
|
+
headers=self.__build_headers(),
|
|
316
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
317
|
+
)
|
|
318
|
+
validate_status_code(response)
|
|
319
|
+
return parse_json_response(response, "get overall error rate")
|
|
320
|
+
|
|
321
|
+
def get_top_10_agents_by_requests(
|
|
322
|
+
self,
|
|
323
|
+
start_date: str,
|
|
324
|
+
end_date: str
|
|
325
|
+
) -> dict:
|
|
326
|
+
response = self.api_service.get(
|
|
327
|
+
endpoint=GET_TOP_10_AGENTS_BY_REQUESTS_V1,
|
|
328
|
+
headers=self.__build_headers(),
|
|
329
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
330
|
+
)
|
|
331
|
+
validate_status_code(response)
|
|
332
|
+
return parse_json_response(response, "get top 10 agents by requests")
|
|
333
|
+
|
|
334
|
+
def get_top_10_agents_by_tokens(
|
|
335
|
+
self,
|
|
336
|
+
start_date: str,
|
|
337
|
+
end_date: str
|
|
338
|
+
) -> dict:
|
|
339
|
+
response = self.api_service.get(
|
|
340
|
+
endpoint=GET_TOP_10_AGENTS_BY_TOKENS_V1,
|
|
341
|
+
headers=self.__build_headers(),
|
|
342
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
343
|
+
)
|
|
344
|
+
validate_status_code(response)
|
|
345
|
+
return parse_json_response(response, "get top 10 agents by tokens")
|
|
346
|
+
|
|
347
|
+
def get_top_10_users_by_cost(
|
|
348
|
+
self,
|
|
349
|
+
start_date: str,
|
|
350
|
+
end_date: str
|
|
351
|
+
) -> dict:
|
|
352
|
+
response = self.api_service.get(
|
|
353
|
+
endpoint=GET_TOP_10_USERS_BY_COST_V1,
|
|
354
|
+
headers=self.__build_headers(),
|
|
355
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
356
|
+
)
|
|
357
|
+
validate_status_code(response)
|
|
358
|
+
return parse_json_response(response, "get top 10 users by cost")
|
|
359
|
+
|
|
360
|
+
def get_top_10_users_by_requests(
|
|
361
|
+
self,
|
|
362
|
+
start_date: str,
|
|
363
|
+
end_date: str
|
|
364
|
+
) -> dict:
|
|
365
|
+
response = self.api_service.get(
|
|
366
|
+
endpoint=GET_TOP_10_USERS_BY_REQUESTS_V1,
|
|
367
|
+
headers=self.__build_headers(),
|
|
368
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
369
|
+
)
|
|
370
|
+
validate_status_code(response)
|
|
371
|
+
return parse_json_response(response, "get top 10 users by requests")
|
|
372
|
+
|
|
373
|
+
def get_total_active_agents(
|
|
374
|
+
self,
|
|
375
|
+
start_date: str,
|
|
376
|
+
end_date: str
|
|
377
|
+
) -> dict:
|
|
378
|
+
response = self.api_service.get(
|
|
379
|
+
endpoint=GET_TOTAL_ACTIVE_AGENTS_V1,
|
|
380
|
+
headers=self.__build_headers(),
|
|
381
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
382
|
+
)
|
|
383
|
+
validate_status_code(response)
|
|
384
|
+
return parse_json_response(response, "get total active agents")
|
|
385
|
+
|
|
386
|
+
def get_total_active_projects(
|
|
387
|
+
self,
|
|
388
|
+
start_date: str,
|
|
389
|
+
end_date: str
|
|
390
|
+
) -> dict:
|
|
391
|
+
response = self.api_service.get(
|
|
392
|
+
endpoint=GET_TOTAL_ACTIVE_PROJECTS_V1,
|
|
393
|
+
headers=self.__build_headers(),
|
|
394
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
395
|
+
)
|
|
396
|
+
validate_status_code(response)
|
|
397
|
+
return parse_json_response(response, "get total active projects")
|
|
398
|
+
|
|
399
|
+
def get_total_active_users(
|
|
400
|
+
self,
|
|
401
|
+
start_date: str,
|
|
402
|
+
end_date: str
|
|
403
|
+
) -> dict:
|
|
404
|
+
response = self.api_service.get(
|
|
405
|
+
endpoint=GET_TOTAL_ACTIVE_USERS_V1,
|
|
406
|
+
headers=self.__build_headers(),
|
|
407
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
408
|
+
)
|
|
409
|
+
validate_status_code(response)
|
|
410
|
+
return parse_json_response(response, "get total active users")
|
|
411
|
+
|
|
412
|
+
def get_total_cost(
|
|
413
|
+
self,
|
|
414
|
+
start_date: str,
|
|
415
|
+
end_date: str
|
|
416
|
+
) -> dict:
|
|
417
|
+
response = self.api_service.get(
|
|
418
|
+
endpoint=GET_TOTAL_COST_V1,
|
|
419
|
+
headers=self.__build_headers(),
|
|
420
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
421
|
+
)
|
|
422
|
+
validate_status_code(response)
|
|
423
|
+
return parse_json_response(response, "get total cost")
|
|
424
|
+
|
|
425
|
+
def get_total_cost_per_day(
|
|
426
|
+
self,
|
|
427
|
+
start_date: str,
|
|
428
|
+
end_date: str
|
|
429
|
+
) -> dict:
|
|
430
|
+
response = self.api_service.get(
|
|
431
|
+
endpoint=GET_TOTAL_COST_PER_DAY_V1,
|
|
432
|
+
headers=self.__build_headers(),
|
|
433
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
434
|
+
)
|
|
435
|
+
validate_status_code(response)
|
|
436
|
+
return parse_json_response(response, "get total cost per day")
|
|
437
|
+
|
|
438
|
+
def get_total_request_time(
|
|
439
|
+
self,
|
|
440
|
+
start_date: str,
|
|
441
|
+
end_date: str
|
|
442
|
+
) -> dict:
|
|
443
|
+
response = self.api_service.get(
|
|
444
|
+
endpoint=GET_TOTAL_REQUEST_TIME_V1,
|
|
445
|
+
headers=self.__build_headers(),
|
|
446
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
447
|
+
)
|
|
448
|
+
validate_status_code(response)
|
|
449
|
+
return parse_json_response(response, "get total request time")
|
|
450
|
+
|
|
451
|
+
def get_total_requests(
|
|
452
|
+
self,
|
|
453
|
+
start_date: str,
|
|
454
|
+
end_date: str
|
|
455
|
+
) -> dict:
|
|
456
|
+
response = self.api_service.get(
|
|
457
|
+
endpoint=GET_TOTAL_REQUESTS_V1,
|
|
458
|
+
headers=self.__build_headers(),
|
|
459
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
460
|
+
)
|
|
461
|
+
validate_status_code(response)
|
|
462
|
+
return parse_json_response(response, "get total requests")
|
|
463
|
+
|
|
464
|
+
def get_total_requests_per_day(
|
|
465
|
+
self,
|
|
466
|
+
start_date: str,
|
|
467
|
+
end_date: str,
|
|
468
|
+
agent_name: str = None
|
|
469
|
+
) -> dict:
|
|
470
|
+
params = {"startDate": start_date, "endDate": end_date}
|
|
471
|
+
if agent_name:
|
|
472
|
+
params["agentName"] = agent_name
|
|
473
|
+
response = self.api_service.get(
|
|
474
|
+
endpoint=GET_TOTAL_REQUESTS_PER_DAY_V1,
|
|
475
|
+
headers=self.__build_headers(),
|
|
476
|
+
params=params
|
|
477
|
+
)
|
|
478
|
+
validate_status_code(response)
|
|
479
|
+
return parse_json_response(response, "get total requests per day")
|
|
480
|
+
|
|
481
|
+
def get_total_requests_with_error(
|
|
482
|
+
self,
|
|
483
|
+
start_date: str,
|
|
484
|
+
end_date: str
|
|
485
|
+
) -> dict:
|
|
486
|
+
response = self.api_service.get(
|
|
487
|
+
endpoint=GET_TOTAL_REQUESTS_WITH_ERROR_V1,
|
|
488
|
+
headers=self.__build_headers(),
|
|
489
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
490
|
+
)
|
|
491
|
+
validate_status_code(response)
|
|
492
|
+
return parse_json_response(response, "get total requests with error")
|
|
493
|
+
|
|
494
|
+
def get_total_tokens(
|
|
495
|
+
self,
|
|
496
|
+
start_date: str,
|
|
497
|
+
end_date: str
|
|
498
|
+
) -> dict:
|
|
499
|
+
response = self.api_service.get(
|
|
500
|
+
endpoint=GET_TOTAL_TOKENS_V1,
|
|
501
|
+
headers=self.__build_headers(),
|
|
502
|
+
params={"startDate": start_date, "endDate": end_date}
|
|
503
|
+
)
|
|
504
|
+
validate_status_code(response)
|
|
505
|
+
return parse_json_response(response, "get total tokens")
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
GET_AGENTS_CREATED_AND_MODIFIED_V1 = "v1/analytics/lab/agents-created-and-modified" # GET - Returns the total number of agents created or modified within a specified date range
|
|
2
|
+
GET_AGENTS_CREATED_AND_MODIFIED_PER_DAY_V1 = "v1/analytics/lab/agents-created-and-modified-per-day" # GET - Provides daily counts of agents created and modified within a specified date range
|
|
3
|
+
GET_FLOWS_CREATED_AND_MODIFIED_V1 = "v1/analytics/lab/flows-created-and-modified" # GET - Returns the total number of flows created or modified within a specified date range
|
|
4
|
+
GET_FLOWS_CREATED_AND_MODIFIED_PER_DAY_V1 = "v1/analytics/lab/flows-created-and-modified-per-day" # GET - Provides daily counts of flows created and modified within a specified date range
|
|
5
|
+
GET_PROCESSES_CREATED_AND_MODIFIED_V1 = "v1/analytics/lab/processes-created-and-modified" # GET - Returns the total number of processes created or modified within a specified date range
|
|
6
|
+
|
|
7
|
+
GET_AGENT_USAGE_PER_USER_V1 = "v1/analytics/requests/agent-usage-per-user" # GET - Returns the usage of agents per user within a specified date range
|
|
8
|
+
GET_AVERAGE_COST_PER_REQUEST_V1 = "v1/analytics/requests/average-cost-per-request" # GET - Returns the average cost incurred per request during the specified period, expressed in USD
|
|
9
|
+
GET_AVERAGE_COST_PER_USER_V1 = "v1/analytics/requests/average-cost-per-user" # GET - Returns the average cost incurred per user during the specified period
|
|
10
|
+
GET_AVERAGE_COST_PER_USER_PER_DATE_V1 = "v1/analytics/requests/average-cost-per-user-per-date" # GET - Returns the average cost incurred per user per date during the specified period
|
|
11
|
+
GET_AVERAGE_REQUEST_TIME_V1 = "v1/analytics/requests/average-request-time" # GET - Returns the average processing time per request in milliseconds
|
|
12
|
+
GET_AVERAGE_REQUESTS_PER_DAY_V1 = "v1/analytics/requests/average-requests-per-day" # GET - Returns the average number of requests per day during the specified period
|
|
13
|
+
GET_AVERAGE_REQUESTS_PER_USER_V1 = "v1/analytics/requests/average-requests-per-user" # GET - Returns the average number of requests per user during the specified period
|
|
14
|
+
GET_AVERAGE_REQUESTS_PER_USER_PER_DATE_V1 = "v1/analytics/requests/average-requests-per-user-per-date" # GET - Returns the average number of requests per user per date during the specified period
|
|
15
|
+
GET_AVERAGE_TOKENS_PER_REQUEST_V1 = "v1/analytics/requests/average-tokens-per-request" # GET - Provides the average number of input, output, and total tokens per request
|
|
16
|
+
GET_AVERAGE_USERS_PER_AGENT_V1 = "v1/analytics/requests/average-users-per-agent" # GET - Returns the average number of users per agent during the specified period
|
|
17
|
+
GET_AVERAGE_USERS_PER_PROJECT_V1 = "v1/analytics/requests/average-users-per-project" # GET - Returns the average number of users per project during the specified period
|
|
18
|
+
GET_NUMBER_OF_TOKENS_V1 = "v1/analytics/requests/number-of-tokens" # GET - Returns the total number of input, output, and total tokens consumed during the specified period
|
|
19
|
+
GET_NUMBER_OF_TOKENS_PER_AGENT_V1 = "v1/analytics/requests/number-of-tokens-per-agent" # GET - Returns the total number of tokens consumed per agent during the specified period
|
|
20
|
+
GET_NUMBER_OF_TOKENS_PER_DAY_V1 = "v1/analytics/requests/number-of-tokens-per-day" # GET - Returns the total number of tokens consumed per day during the specified period
|
|
21
|
+
GET_OVERALL_ERROR_RATE_V1 = "v1/analytics/requests/overall-error-rate" # GET - Returns the overall error rate calculated as (total errors / total requests) * 100
|
|
22
|
+
GET_TOP_10_AGENTS_BY_REQUESTS_V1 = "v1/analytics/requests/top-10-agents-by-requests" # GET - Retrieves the top 10 agents ranked by the number of requests received
|
|
23
|
+
GET_TOP_10_AGENTS_BY_TOKENS_V1 = "v1/analytics/requests/top-10-agents-by-tokens" # GET - Lists the top 10 agents ranked by the number of tokens processed
|
|
24
|
+
GET_TOP_10_USERS_BY_COST_V1 = "v1/analytics/requests/top-10-users-by-cost" # GET - Lists the top 10 users ranked by total cost incurred in USD
|
|
25
|
+
GET_TOP_10_USERS_BY_REQUESTS_V1 = "v1/analytics/requests/top-10-users-by-requests" # GET - Retrieves the top 10 users ranked by the number of requests made
|
|
26
|
+
GET_TOTAL_ACTIVE_AGENTS_V1 = "v1/analytics/requests/total-active-agents" # GET - Provides the total number of agents that have been active within the specified date range
|
|
27
|
+
GET_TOTAL_ACTIVE_PROJECTS_V1 = "v1/analytics/requests/total-active-projects" # GET - Returns the total number of projects with activity in the selected period
|
|
28
|
+
GET_TOTAL_ACTIVE_USERS_V1 = "v1/analytics/requests/total-active-users" # GET - Returns the total number of users who have been active within the selected period
|
|
29
|
+
GET_TOTAL_COST_V1 = "v1/analytics/requests/total-cost" # GET - Returns the total cost in USD incurred over the specified period
|
|
30
|
+
GET_TOTAL_COST_PER_DAY_V1 = "v1/analytics/requests/total-cost-per-day" # GET - Returns the total cost per day during the specified period
|
|
31
|
+
GET_TOTAL_REQUEST_TIME_V1 = "v1/analytics/requests/total-request-time" # GET - Returns the total processing time for all requests during the specified period
|
|
32
|
+
GET_TOTAL_REQUESTS_V1 = "v1/analytics/requests/total-requests" # GET - Returns the total number of requests made during the specified period
|
|
33
|
+
GET_TOTAL_REQUESTS_PER_DAY_V1 = "v1/analytics/requests/total-requests-per-day" # GET - Returns the total number of requests per day during the specified period
|
|
34
|
+
GET_TOTAL_REQUESTS_WITH_ERROR_V1 = "v1/analytics/requests/total-requests-with-error" # GET - Returns the total number of requests with errors during the specified period
|
|
35
|
+
GET_TOTAL_TOKENS_V1 = "v1/analytics/requests/total-tokens" # GET - Returns the total number of tokens consumed during the specified period
|