pygeai 0.4.0b3__tar.gz → 0.4.0b4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pygeai might be problematic. Click here for more details.
- {pygeai-0.4.0b3/pygeai.egg-info → pygeai-0.4.0b4}/PKG-INFO +4 -4
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/README.md +3 -3
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/models.py +1 -1
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/models.py +1 -1
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/processes/mappers.py +2 -2
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/tools/mappers.py +5 -5
- pygeai-0.4.0b4/pygeai/tests/integration/chat/test_generate_image.py +162 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_create_agent.py +9 -12
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_update_agent.py +6 -14
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/tools/test_create_tool.py +0 -1
- pygeai-0.4.0b4/pygeai/tests/integration/lab/tools/test_list_tools.py +38 -0
- pygeai-0.4.0b4/pygeai/vendor/a2a/py.typed +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4/pygeai.egg-info}/PKG-INFO +4 -4
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/SOURCES.txt +3 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pyproject.toml +1 -1
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/LICENSE +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/MANIFEST.in +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/docs/geai-proxy/README.md +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/admin/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/admin/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/admin/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data_analyst/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data_analyst/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data_analyst/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/responses.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/iris.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/session.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/settings.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/ui.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/__main__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/admin.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/assistant.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/base.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/builders.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/chat.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/common.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/configuration.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/embeddings.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/evaluation.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/feedback.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/files.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/flows/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/gam.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/lab/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/lab/ai_lab.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/lab/common.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/lab/spec.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/llm.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/migrate.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/options.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/organization.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/rag.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/rerank.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/secrets.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/usage_limits.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/validators.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/version.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/geai.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/geai_proxy.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/install_man.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/parsers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/texts/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/texts/help.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/responses.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/session.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/common/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/common/config.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/common/decorators.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/common/exceptions.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/responses.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/feedback/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/feedback/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/feedback/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/feedback/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/responses.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/handlers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/llm/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/llm/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/llm/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/plugins/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/plugins/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/plugins/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/plugins/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/responses.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/secrets/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/secrets/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/secrets/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/llm/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/llm/model.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/llm/providers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/response.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/rest.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/singleton.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/utils/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/utils/console.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/dbg/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/dbg/debugger.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/dataset/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/dataset/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/dataset/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/plan/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/plan/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/plan/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/result/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/result/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/result/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/flows/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/flows/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/flows/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/gam/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/gam/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/gam/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/health/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/health/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/health/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/agents/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/agents/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/agents/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/agents/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/constants.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/processes/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/processes/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/processes/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/runners.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/spec/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/spec/loader.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/spec/parsers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/strategies/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/strategies/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/strategies/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/strategies/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/tools/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/tools/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/tools/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/man/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/man/man1/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/man/man1/geai-proxy.1 +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/man/man1/geai.1 +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/migration/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/migration/strategies.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/migration/tools.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/endpoints.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/responses.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/config.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/servers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/tool.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/admin/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/admin/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/rag/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/rag/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/rag/test_mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/rag/test_models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/test_managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/test_mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/test_iris.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/test_session.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/test_ui.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/lab/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/lab/test_ai_lab.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/lab/test_common.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/lab/test_spec.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_assistant.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_chat.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_common.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_embeddings.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_feedback.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_files.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_gam.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_llm.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_migrate.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_organization.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_rag.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_rerank.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_show_help.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_usage_limits.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_validators.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_version.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/test_parsers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/data/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/data/mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/data/models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/test_mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/test_models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/common/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/common/data/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/common/test_config.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/common/test_decorators.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/embeddings/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/embeddings/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/feedback/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/feedback/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/test_managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/test_models.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/test_responses.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/llm/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/llm/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/rerank/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/rerank/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/rerank/test_managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/rerank/test_mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/secrets/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/secrets/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/services/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/services/test_rest.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/test_handlers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/utils/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/utils/test_console.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/dbg/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/dbg/test_debugger.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/gam/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/gam/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/health/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/health/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/integration/lab → pygeai-0.4.0b4/pygeai/tests/integration/chat}/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/integration/lab/agents → pygeai-0.4.0b4/pygeai/tests/integration/lab}/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/integration/lab/tools → pygeai-0.4.0b4/pygeai/tests/integration/lab/agents}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_agents_list.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_create_sharing_link.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_delete_agent.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_get_agent.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/lab → pygeai-0.4.0b4/pygeai/tests/integration/lab/tools}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/tools/test_delete_tool.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/tools/test_get_tool.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/lab/agents → pygeai-0.4.0b4/pygeai/tests/lab}/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/lab/processes → pygeai-0.4.0b4/pygeai/tests/lab/agents}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/agents/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/agents/test_mappers.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/lab/spec → pygeai-0.4.0b4/pygeai/tests/lab/processes}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/processes/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/processes/test_mappers.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/lab/strategies → pygeai-0.4.0b4/pygeai/tests/lab/spec}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/spec/test_loader.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/spec/test_parsers.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/lab/tools → pygeai-0.4.0b4/pygeai/tests/lab/strategies}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/strategies/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/strategies/test_mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/test_managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/test_mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/test_models.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/migration → pygeai-0.4.0b4/pygeai/tests/lab/tools}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/tools/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/tools/test_mappers.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/organization → pygeai-0.4.0b4/pygeai/tests/migration}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/migration/test_strategies.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/migration/test_tools.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/organization/limits → pygeai-0.4.0b4/pygeai/tests/organization}/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets → pygeai-0.4.0b4/pygeai/tests/organization/limits}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/limits/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/limits/test_managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/test_managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/test_mappers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_clients.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_config.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_integration.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_managers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_servers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_tool.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/assistants → pygeai-0.4.0b4/pygeai/tests/snippets}/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/assistants/data_analyst → pygeai-0.4.0b4/pygeai/tests/snippets/assistants}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/create_chat_assistant.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/create_text_assistant.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/assistants/rag → pygeai-0.4.0b4/pygeai/tests/snippets/assistants/data_analyst}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/data_analyst/extend_and_check.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/data_analyst/extend_dataset.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/data_analyst/get_status.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/file_summarizer_assistant.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/get_assistant_data.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/get_assistant_list.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/chat → pygeai-0.4.0b4/pygeai/tests/snippets/assistants/rag}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/create_rag_assistant.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/delete_al_documents.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/delete_document.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/get_document.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/get_documents.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/update_rag_assistant.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/upload_document.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/send_feedback.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/update_chat_assistant.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/embeddings → pygeai-0.4.0b4/pygeai/tests/snippets/chat}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/cancel_request.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_1.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_2.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_3.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_4.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_streaming.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/get_request_status.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/send_chat_request.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/evaluation → pygeai-0.4.0b4/pygeai/tests/snippets/embeddings}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/embeddings/generate_embeddings.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/files → pygeai-0.4.0b4/pygeai/tests/snippets/evaluation}/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/gam → pygeai-0.4.0b4/pygeai/tests/snippets/files}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/delete_file.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/get_file_content.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/get_file_data.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/get_file_list.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/upload_file.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab → pygeai-0.4.0b4/pygeai/tests/snippets/gam}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/gam/gam_access_token.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab/agents → pygeai-0.4.0b4/pygeai/tests/snippets/lab}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agentic_flow_example_1.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agentic_flow_example_2.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agentic_flow_example_3.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agentic_flow_example_4.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab/processes → pygeai-0.4.0b4/pygeai/tests/snippets/lab/agents}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/create_agent.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/create_agent_2.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/delete_agent.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/get_agent.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/get_sharing_link.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/list_agents.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/publish_agent_revision.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/update_agent.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/assistant_to_agent.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/crud_ui.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab/processes/jobs → pygeai-0.4.0b4/pygeai/tests/snippets/lab/processes}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/create_process.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/create_task.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab/processes/kbs → pygeai-0.4.0b4/pygeai/tests/snippets/lab/processes/jobs}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab/samples → pygeai-0.4.0b4/pygeai/tests/snippets/lab/processes/kbs}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/kbs/create_kb.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/kbs/get_kb.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/kbs/try_all.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/list_processes.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/runner_1.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab/strategies → pygeai-0.4.0b4/pygeai/tests/snippets/lab/samples}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/samples/summarize_files.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab/tools → pygeai-0.4.0b4/pygeai/tests/snippets/lab/strategies}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/lab/use_cases → pygeai-0.4.0b4/pygeai/tests/snippets/lab/tools}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/create_tool.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/delete_tool.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/get_parameter.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/get_tool.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/list_tools.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/publish_tool_revision.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/set_parameters.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/update_tool.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/migrate → pygeai-0.4.0b4/pygeai/tests/snippets/lab/use_cases}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_web_designer.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_web_reader.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_web_designer.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_web_reader.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/organization → pygeai-0.4.0b4/pygeai/tests/snippets/migrate}/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/rerank → pygeai-0.4.0b4/pygeai/tests/snippets/organization}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/create_project.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/delete_project.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/export_request_data.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/get_project_data.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/get_project_list.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/get_project_tokens.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/update_project.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/secrets → pygeai-0.4.0b4/pygeai/tests/snippets/rerank}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/rerank/rerank_chunks.py +0 -0
- {pygeai-0.4.0b3/pygeai/tests/snippets/usage_limit → pygeai-0.4.0b4/pygeai/tests/snippets/secrets}/__init__.py +0 -0
- {pygeai-0.4.0b3/pygeai/vendor/a2a/auth → pygeai-0.4.0b4/pygeai/tests/snippets/usage_limit}/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/delete_usage_limit.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/get_all_usage_limit_from_organization.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_organization.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_project.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/set_usage_limit_organization.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/set_usage_limit_project.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/update_usage_limit_organization.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/update_usage_limit_project.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/__init__.py +0 -0
- /pygeai-0.4.0b3/pygeai/vendor/a2a/py.typed → /pygeai-0.4.0b4/pygeai/vendor/a2a/auth/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/auth/user.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/client/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/client/client.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/client/errors.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/client/helpers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/agent_executor.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/context.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/context.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/event_consumer.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/event_queue.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/queue_manager.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/request_handler.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/response_helpers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/push_notifier.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/result_aggregator.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/task_manager.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/task_store.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/task_updater.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/types.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/__init__.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/artifact.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/errors.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/helpers.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/message.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/task.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/telemetry.py +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/dependency_links.txt +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/entry_points.txt +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/requires.txt +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/top_level.txt +0 -0
- {pygeai-0.4.0b3 → pygeai-0.4.0b4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pygeai
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.0b4
|
|
4
4
|
Summary: Software Development Kit to interact with Globant Enterprise AI.
|
|
5
5
|
Author-email: Globant <geai-sdk@globant.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -41,11 +41,11 @@ Dynamic: license-file
|
|
|
41
41
|
|
|
42
42
|
PyGEAI is a Software Development Kit (SDK) for interacting with [Globant Enterprise AI](https://wiki.genexus.com/enterprise-ai/wiki?8,Table+of+contents%3AEnterprise+AI). It comprises libraries, tools, code samples, and documentation to simplify your experience with the platform.
|
|
43
43
|
|
|
44
|
-
##
|
|
44
|
+
## Terms and conditions
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
By using the Python SDK to interact with Globant Enterprise AI, you agree with the following Terms and Conditions:
|
|
47
47
|
|
|
48
|
-
[
|
|
48
|
+
[Terms and Conditions](https://www.globant.com/enterprise-ai/terms-of-use)
|
|
49
49
|
|
|
50
50
|
## Compatibility
|
|
51
51
|
This package is compatible with the Globant Enterprise AI release from June 2025.
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
PyGEAI is a Software Development Kit (SDK) for interacting with [Globant Enterprise AI](https://wiki.genexus.com/enterprise-ai/wiki?8,Table+of+contents%3AEnterprise+AI). It comprises libraries, tools, code samples, and documentation to simplify your experience with the platform.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Terms and conditions
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
By using the Python SDK to interact with Globant Enterprise AI, you agree with the following Terms and Conditions:
|
|
8
8
|
|
|
9
|
-
[
|
|
9
|
+
[Terms and Conditions](https://www.globant.com/enterprise-ai/terms-of-use)
|
|
10
10
|
|
|
11
11
|
## Compatibility
|
|
12
12
|
This package is compatible with the Globant Enterprise AI release from June 2025.
|
|
@@ -227,7 +227,7 @@ class SearchOptions(CustomBaseModel):
|
|
|
227
227
|
"ingestion": self.ingestion.to_dict() if self.ingestion else None,
|
|
228
228
|
"options": self.options,
|
|
229
229
|
"rerank": self.rerank,
|
|
230
|
-
"variables": self.variables.
|
|
230
|
+
"variables": self.variables.to_list() if self.variables else None,
|
|
231
231
|
"vectorStore": self.vector_store
|
|
232
232
|
}
|
|
233
233
|
return {k: v for k, v in result.items() if v is not None}
|
|
@@ -94,7 +94,7 @@ class Model(CustomBaseModel):
|
|
|
94
94
|
:param llm_config: Optional[LlmConfig] - Overrides default agent LLM settings.
|
|
95
95
|
:param prompt: Optional[dict] - A tailored prompt specific to this model.
|
|
96
96
|
"""
|
|
97
|
-
name: str = Field(
|
|
97
|
+
name: Optional[str] = Field(None, alias="name")
|
|
98
98
|
llm_config: Optional[LlmConfig] = Field(None, alias="llmConfig")
|
|
99
99
|
prompt: Optional[Dict[str, Any]] = Field(None, alias="prompt")
|
|
100
100
|
|
|
@@ -37,8 +37,8 @@ class ToolMapper:
|
|
|
37
37
|
"""
|
|
38
38
|
return [
|
|
39
39
|
ToolMessage(
|
|
40
|
-
description=msg
|
|
41
|
-
type=msg
|
|
40
|
+
description=msg.get("description"),
|
|
41
|
+
type=msg.get("type")
|
|
42
42
|
)
|
|
43
43
|
for msg in messages_data
|
|
44
44
|
]
|
|
@@ -55,9 +55,9 @@ class ToolMapper:
|
|
|
55
55
|
"""
|
|
56
56
|
tool_data = data.get("tool", data)
|
|
57
57
|
|
|
58
|
-
name = tool_data
|
|
59
|
-
description = tool_data
|
|
60
|
-
scope = tool_data
|
|
58
|
+
name = tool_data.get("name")
|
|
59
|
+
description = tool_data.get("description")
|
|
60
|
+
scope = tool_data.get("scope")
|
|
61
61
|
parameter_data = tool_data.get("parameters")
|
|
62
62
|
parameters = cls._map_parameters(parameter_data) if parameter_data else None
|
|
63
63
|
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
from unittest import TestCase
|
|
2
|
+
from pygeai.chat.clients import ChatClient
|
|
3
|
+
|
|
4
|
+
chat_client: ChatClient
|
|
5
|
+
|
|
6
|
+
class TestChatGenerateImageIntegration(TestCase):
|
|
7
|
+
|
|
8
|
+
def setUp(self):
|
|
9
|
+
self.chat_client = ChatClient(alias="beta")
|
|
10
|
+
self.new_image = self.__load_image()
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def __load_image(self):
|
|
14
|
+
return {
|
|
15
|
+
"model": "openai/gpt-image-1",
|
|
16
|
+
"prompt": "generate an image of a futuristic city skyline at sunset",
|
|
17
|
+
"n": 1,
|
|
18
|
+
"quality": "high",
|
|
19
|
+
"size": "1024x1536"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def __generate_image(self, image = None):
|
|
24
|
+
image = image if image is not None else self.new_image
|
|
25
|
+
return self.chat_client.generate_image(
|
|
26
|
+
model=image["model"],
|
|
27
|
+
prompt=image["prompt"],
|
|
28
|
+
n=image["n"],
|
|
29
|
+
quality=image["quality"],
|
|
30
|
+
size=image["size"],
|
|
31
|
+
aspect_ratio= image["aspect_ratio"] if "aspect_ratio" in image else None
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def test_generate_image(self):
|
|
36
|
+
created_image = self.__generate_image()
|
|
37
|
+
self.assertEqual(len(created_image["data"]), 1, "Expected an image to be generated")
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def test_generate_image_invalid_model(self):
|
|
41
|
+
self.new_image["model"] = "openai/gpt-image-10",
|
|
42
|
+
created_image = self.__generate_image()
|
|
43
|
+
|
|
44
|
+
self.assertEqual(
|
|
45
|
+
created_image["error"]["code"], 400,
|
|
46
|
+
"Expected a 400 code for invalid model"
|
|
47
|
+
)
|
|
48
|
+
self.assertEqual(
|
|
49
|
+
created_image["error"]["message"],
|
|
50
|
+
'Provider \'["openai\' does not exists.',
|
|
51
|
+
"Expected an error message when model does not exists"
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def test_generate_image_no_model(self):
|
|
56
|
+
self.new_image["model"] = ""
|
|
57
|
+
created_image = self.__generate_image()
|
|
58
|
+
|
|
59
|
+
self.assertEqual(
|
|
60
|
+
created_image["error"]["code"], 400,
|
|
61
|
+
"Expected a 400 code for no model"
|
|
62
|
+
)
|
|
63
|
+
self.assertEqual(
|
|
64
|
+
created_image["error"]["message"],
|
|
65
|
+
"Invalid 'model' name. Must follow pattern {provider}/{modelName}",
|
|
66
|
+
"Expected an error message when no model is provided"
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def test_generate_image_no_prompt(self):
|
|
71
|
+
self.new_image["prompt"] = ""
|
|
72
|
+
created_image = self.__generate_image()
|
|
73
|
+
|
|
74
|
+
self.assertEqual(
|
|
75
|
+
created_image["error"]["type"],
|
|
76
|
+
"invalid_request_error",
|
|
77
|
+
"Expected a 400 code for no model"
|
|
78
|
+
)
|
|
79
|
+
self.assertEqual(
|
|
80
|
+
created_image["error"]["param"], "prompt",
|
|
81
|
+
"Expected an error message when no model is provided"
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def test_generate_image_specific_n(self):
|
|
86
|
+
self.new_image["n"] = 2
|
|
87
|
+
|
|
88
|
+
created_image = self.__generate_image()
|
|
89
|
+
self.assertEqual(len(created_image["data"]), 2, "Expected two images to be generated")
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def test_generate_image_no_n(self):
|
|
93
|
+
self.new_image["n"] = None # default is 1
|
|
94
|
+
|
|
95
|
+
created_image = self.__generate_image()
|
|
96
|
+
self.assertEqual(len(created_image["data"]), 1, "Expected an image to be generated")
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def test_generate_image_no_supported_n(self):
|
|
100
|
+
self.new_image["model"] = "openai/dall-e-3"
|
|
101
|
+
self.new_image["n"] = 5
|
|
102
|
+
|
|
103
|
+
created_image = self.__generate_image()
|
|
104
|
+
self.assertIn(
|
|
105
|
+
"Invalid 'n': integer above maximum value",
|
|
106
|
+
created_image["error"]["message"],
|
|
107
|
+
"Expected an error message when n is not supported by the model"
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def test_generate_image_no_quality(self):
|
|
112
|
+
self.new_image["quality"] = ""
|
|
113
|
+
|
|
114
|
+
created_image = self.__generate_image()
|
|
115
|
+
self.assertIn(
|
|
116
|
+
"Invalid value: ''. Supported values are: 'low', 'medium', 'high', and 'auto'",
|
|
117
|
+
created_image["error"]["message"],
|
|
118
|
+
"Expected an error message when quality is not provided"
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def test_generate_image_no_supported_quality(self):
|
|
123
|
+
self.new_image["model"] = "openai/dall-e-3"
|
|
124
|
+
|
|
125
|
+
created_image = self.__generate_image()
|
|
126
|
+
self.assertIn(
|
|
127
|
+
"Invalid value: 'high'. Supported values are: 'standard' and 'hd'",
|
|
128
|
+
created_image["error"]["message"],
|
|
129
|
+
"Expected an error message when quality is not supported by the model"
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def test_generate_image_no_size(self):
|
|
134
|
+
self.new_image["size"] = ""
|
|
135
|
+
|
|
136
|
+
created_image = self.__generate_image()
|
|
137
|
+
self.assertIn(
|
|
138
|
+
"Invalid value: ''. Supported values are: '1024x1024', '1024x1536', '1536x1024', and 'auto'",
|
|
139
|
+
created_image["error"]["message"],
|
|
140
|
+
"Expected an error message when no size is provided"
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def test_generate_image_no_supported_size(self):
|
|
145
|
+
self.new_image["size"] = 1024
|
|
146
|
+
self.new_image["quality"] = None
|
|
147
|
+
|
|
148
|
+
created_image = self.__generate_image()
|
|
149
|
+
self.assertIn(
|
|
150
|
+
"Invalid type for 'size': expected one of '1024x1024', '1024x1536', '1536x1024', or 'auto', but got an integer instead",
|
|
151
|
+
created_image["error"]["message"],
|
|
152
|
+
"Expected an error message when no size is provided"
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
def test_generate_image_with_aspect_ratio(self):
|
|
157
|
+
self.new_image["model"] = "vertex_ai/imagen-3.0-generate-001"
|
|
158
|
+
self.new_image["aspect_ratio"] = "4:3"
|
|
159
|
+
self.new_image["quality"] = None
|
|
160
|
+
|
|
161
|
+
created_image = self.__generate_image()
|
|
162
|
+
self.assertEqual(len(created_image["data"]), 1, "Expected an image to be generated")
|
|
@@ -287,21 +287,18 @@ class TestAILabCreateAgentIntegration(TestCase):
|
|
|
287
287
|
)
|
|
288
288
|
|
|
289
289
|
|
|
290
|
-
@unittest.skip("Agent is getting created regardless of the prompt instructions being empty")
|
|
291
290
|
def test_create_agent_no_prompt_instructions(self):
|
|
292
291
|
self.new_agent.agent_data.prompt.instructions = ""
|
|
293
|
-
|
|
294
|
-
self.__create_agent()
|
|
295
|
-
self.assertIn(
|
|
296
|
-
"instructions",
|
|
297
|
-
str(exception.exception),
|
|
298
|
-
"Expected a validation error about allowed values for instructions"
|
|
299
|
-
)
|
|
292
|
+
self.created_agent = self.__create_agent()
|
|
300
293
|
|
|
301
|
-
self.
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
294
|
+
self.assertTrue(
|
|
295
|
+
isinstance(self.created_agent, Agent),
|
|
296
|
+
"Expected a created agent"
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
self.assertIsNone(
|
|
300
|
+
self.created_agent.agent_data.prompt.instructions,
|
|
301
|
+
"Expected the created agent to not have prompt instructions"
|
|
305
302
|
)
|
|
306
303
|
|
|
307
304
|
|
|
@@ -207,28 +207,20 @@ class TestAILabUpdateAgentIntegration(TestCase):
|
|
|
207
207
|
f"Expected a validation error about allowed values for instructions when autopublish is {'enabled' if auto_publish else 'disabled'}"
|
|
208
208
|
)
|
|
209
209
|
|
|
210
|
-
|
|
210
|
+
# TODO: Change validation when API behavior is fixed
|
|
211
211
|
def test_update_agent_no_model(self):
|
|
212
212
|
test_params = [ True, False ]
|
|
213
213
|
self.agent_to_update.agent_data.models[0].name = ""
|
|
214
214
|
|
|
215
215
|
for auto_publish in test_params:
|
|
216
216
|
with self.subTest(input=auto_publish):
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
217
|
+
|
|
218
|
+
# If the agent is not published, the API returns a warning message for invalid model name. However, the sdk mapping is not returning it.
|
|
219
|
+
if auto_publish == False:
|
|
220
|
+
updated_agent = self.__update_agent(automatic_publish=auto_publish)
|
|
220
221
|
error_msg = str(exception.exception)
|
|
221
222
|
|
|
222
|
-
self.
|
|
223
|
-
"name",
|
|
224
|
-
error_msg,
|
|
225
|
-
"Expected a validation error about empty model name"
|
|
226
|
-
)
|
|
227
|
-
self.assertIn(
|
|
228
|
-
"Input should be a valid string [type=string_type, input_value=None, input_type=NoneType]",
|
|
229
|
-
error_msg,
|
|
230
|
-
"Expected a validation error about empty model name"
|
|
231
|
-
)
|
|
223
|
+
self.assertTrue(self.isInstance(updated_agent), Agent)
|
|
232
224
|
else:
|
|
233
225
|
with self.assertRaises(APIError) as exception:
|
|
234
226
|
self.__update_agent(automatic_publish=auto_publish)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from unittest import TestCase
|
|
2
|
+
from pygeai.lab.managers import AILabManager
|
|
3
|
+
from pygeai.lab.models import ToolList, FilterSettings
|
|
4
|
+
import copy
|
|
5
|
+
|
|
6
|
+
ai_lab_manager: AILabManager
|
|
7
|
+
|
|
8
|
+
class TestAILabListToolsIntegration(TestCase):
|
|
9
|
+
|
|
10
|
+
def setUp(self):
|
|
11
|
+
self.ai_lab_manager = AILabManager(alias="beta")
|
|
12
|
+
self.filter_settings = FilterSettings(
|
|
13
|
+
allow_external=False,
|
|
14
|
+
allow_drafts=True,
|
|
15
|
+
access_scope="private"
|
|
16
|
+
)
|
|
17
|
+
""" list-tools or lt List tools
|
|
18
|
+
--project-id or --pid ID of the project
|
|
19
|
+
--id ID of the tool to filter by. Defaults to an empty string (no filtering).
|
|
20
|
+
--count Number of tools to retrieve. Defaults to '100'.
|
|
21
|
+
--access-scope Access scope of the tools, either "public" or "private". Defaults to "public".
|
|
22
|
+
--allow-drafts Whether to include draft tools. Defaults to 1 (True).
|
|
23
|
+
--scope Scope of the tools, must be 'builtin', 'external', or 'api'. Defaults to 'api'.
|
|
24
|
+
--allow-external Whether to include external tools. Defaults to 1 (True). """
|
|
25
|
+
|
|
26
|
+
def __list_tools(self, filter_settings: FilterSettings = None):
|
|
27
|
+
filter_settings = filter_settings if filter_settings != None else self.filter_settings
|
|
28
|
+
return self.ai_lab_manager.list_tools(filter_settings=filter_settings)
|
|
29
|
+
|
|
30
|
+
def test_private_list_tools(self):
|
|
31
|
+
result = self.__list_tools()
|
|
32
|
+
self.assertIsInstance(result, ToolList , "Expected a list of tools")
|
|
33
|
+
print(result)
|
|
34
|
+
for tool in result.tools:
|
|
35
|
+
self.assertTrue(tool.access_scope == "private", "Expected all tools to be private")
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pygeai
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.0b4
|
|
4
4
|
Summary: Software Development Kit to interact with Globant Enterprise AI.
|
|
5
5
|
Author-email: Globant <geai-sdk@globant.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -41,11 +41,11 @@ Dynamic: license-file
|
|
|
41
41
|
|
|
42
42
|
PyGEAI is a Software Development Kit (SDK) for interacting with [Globant Enterprise AI](https://wiki.genexus.com/enterprise-ai/wiki?8,Table+of+contents%3AEnterprise+AI). It comprises libraries, tools, code samples, and documentation to simplify your experience with the platform.
|
|
43
43
|
|
|
44
|
-
##
|
|
44
|
+
## Terms and conditions
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
By using the Python SDK to interact with Globant Enterprise AI, you agree with the following Terms and Conditions:
|
|
47
47
|
|
|
48
|
-
[
|
|
48
|
+
[Terms and Conditions](https://www.globant.com/enterprise-ai/terms-of-use)
|
|
49
49
|
|
|
50
50
|
## Compatibility
|
|
51
51
|
This package is compatible with the Globant Enterprise AI release from June 2025.
|
|
@@ -279,6 +279,8 @@ pygeai/tests/gam/test_clients.py
|
|
|
279
279
|
pygeai/tests/health/__init__.py
|
|
280
280
|
pygeai/tests/health/test_clients.py
|
|
281
281
|
pygeai/tests/integration/__init__.py
|
|
282
|
+
pygeai/tests/integration/chat/__init__.py
|
|
283
|
+
pygeai/tests/integration/chat/test_generate_image.py
|
|
282
284
|
pygeai/tests/integration/lab/__init__.py
|
|
283
285
|
pygeai/tests/integration/lab/agents/__init__.py
|
|
284
286
|
pygeai/tests/integration/lab/agents/test_agents_list.py
|
|
@@ -292,6 +294,7 @@ pygeai/tests/integration/lab/tools/__init__.py
|
|
|
292
294
|
pygeai/tests/integration/lab/tools/test_create_tool.py
|
|
293
295
|
pygeai/tests/integration/lab/tools/test_delete_tool.py
|
|
294
296
|
pygeai/tests/integration/lab/tools/test_get_tool.py
|
|
297
|
+
pygeai/tests/integration/lab/tools/test_list_tools.py
|
|
295
298
|
pygeai/tests/lab/__init__.py
|
|
296
299
|
pygeai/tests/lab/test_managers.py
|
|
297
300
|
pygeai/tests/lab/test_mappers.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|