pygeai 0.3.1__tar.gz → 0.4.0__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.3.1/pygeai.egg-info → pygeai-0.4.0}/PKG-INFO +4 -4
- {pygeai-0.3.1 → pygeai-0.4.0}/README.md +3 -3
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/__init__.py +1 -1
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/rag/models.py +1 -1
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/chat/ui.py +0 -1
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/__init__.py +1 -1
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/chat.py +54 -56
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/lab/ai_lab.py +129 -466
- pygeai-0.4.0/pygeai/cli/commands/lab/options.py +8 -0
- pygeai-0.4.0/pygeai/cli/commands/lab/utils.py +13 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/geai.py +5 -2
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/texts/help.py +12 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/common/config.py +0 -2
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/common/exceptions.py +6 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/agents/clients.py +30 -61
- pygeai-0.4.0/pygeai/lab/clients.py +20 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/managers.py +6 -58
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/models.py +7 -3
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/processes/clients.py +81 -129
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/processes/mappers.py +2 -2
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/strategies/clients.py +11 -17
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/tools/clients.py +59 -59
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/tools/mappers.py +5 -5
- pygeai-0.4.0/pygeai/tests/integration/assistants/rag/test_create_rag.py +72 -0
- pygeai-0.4.0/pygeai/tests/integration/chat/test_generate_image.py +162 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/integration/lab/agents/test_create_agent.py +9 -13
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +0 -1
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/integration/lab/agents/test_update_agent.py +6 -15
- pygeai-0.4.0/pygeai/tests/integration/lab/tools/test_create_tool.py +292 -0
- pygeai-0.4.0/pygeai/tests/integration/lab/tools/test_delete_tool.py +87 -0
- pygeai-0.4.0/pygeai/tests/integration/lab/tools/test_get_parameter.py +98 -0
- pygeai-0.4.0/pygeai/tests/integration/lab/tools/test_get_tool.py +91 -0
- pygeai-0.4.0/pygeai/tests/integration/lab/tools/test_list_tools.py +106 -0
- pygeai-0.4.0/pygeai/tests/integration/lab/tools/test_publish_tool_revision.py +119 -0
- pygeai-0.4.0/pygeai/tests/integration/lab/tools/test_set_parameter.py +114 -0
- pygeai-0.4.0/pygeai/tests/integration/lab/tools/test_update_tool.py +268 -0
- pygeai-0.4.0/pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +48 -0
- pygeai-0.4.0/pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +48 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agents/get_sharing_link.py +1 -2
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/tools/create_tool.py +1 -1
- pygeai-0.4.0/pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +50 -0
- pygeai-0.4.0/pygeai/tests/snippets/secrets/__init__.py +0 -0
- pygeai-0.4.0/pygeai/tests/snippets/usage_limit/__init__.py +0 -0
- pygeai-0.4.0/pygeai/vendor/a2a/auth/__init__.py +0 -0
- pygeai-0.4.0/pygeai/vendor/a2a/py.typed +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0/pygeai.egg-info}/PKG-INFO +4 -4
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai.egg-info/SOURCES.txt +20 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pyproject.toml +1 -1
- {pygeai-0.3.1 → pygeai-0.4.0}/LICENSE +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/MANIFEST.in +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/docs/geai-proxy/README.md +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/admin/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/admin/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/admin/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/data/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/data/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/data_analyst/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/data_analyst/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/data_analyst/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/rag/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/rag/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/rag/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/rag/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/assistant/rag/responses.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/chat/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/chat/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/chat/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/chat/iris.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/chat/managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/chat/session.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/chat/settings.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/__main__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/admin.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/assistant.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/base.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/builders.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/common.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/configuration.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/embeddings.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/evaluation.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/feedback.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/files.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/flows/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/gam.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/lab/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/lab/common.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/lab/spec.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/llm.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/migrate.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/options.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/organization.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/rag.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/rerank.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/secrets.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/usage_limits.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/validators.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/commands/version.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/geai_proxy.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/install_man.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/parsers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/cli/texts/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/base/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/base/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/base/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/base/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/base/responses.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/base/session.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/common/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/common/decorators.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/embeddings/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/embeddings/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/embeddings/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/embeddings/managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/embeddings/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/embeddings/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/embeddings/responses.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/feedback/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/feedback/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/feedback/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/feedback/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/files/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/files/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/files/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/files/managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/files/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/files/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/files/responses.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/handlers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/llm/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/llm/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/llm/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/plugins/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/plugins/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/plugins/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/plugins/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/rerank/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/rerank/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/rerank/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/rerank/managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/rerank/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/rerank/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/responses.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/secrets/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/secrets/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/secrets/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/services/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/services/llm/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/services/llm/model.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/services/llm/providers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/services/response.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/services/rest.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/singleton.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/utils/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/core/utils/console.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/dbg/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/dbg/debugger.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/dataset/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/dataset/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/dataset/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/plan/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/plan/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/plan/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/result/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/result/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/evaluation/result/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/flows/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/flows/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/flows/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/gam/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/gam/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/gam/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/health/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/health/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/health/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/agents/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/agents/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/agents/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/constants.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/processes/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/processes/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/runners.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/spec/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/spec/loader.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/spec/parsers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/strategies/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/strategies/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/strategies/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/tools/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/lab/tools/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/man/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/man/man1/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/man/man1/geai-proxy.1 +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/man/man1/geai.1 +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/migration/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/migration/strategies.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/migration/tools.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/limits/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/limits/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/limits/endpoints.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/limits/managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/limits/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/organization/responses.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/proxy/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/proxy/clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/proxy/config.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/proxy/managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/proxy/servers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/proxy/tool.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/admin/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/admin/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/assistants/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/assistants/rag/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/assistants/rag/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/assistants/rag/test_mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/assistants/rag/test_models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/assistants/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/assistants/test_managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/assistants/test_mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/chat/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/chat/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/chat/test_iris.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/chat/test_session.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/chat/test_ui.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/lab/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/lab/test_ai_lab.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/lab/test_common.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/lab/test_spec.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_assistant.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_chat.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_common.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_embeddings.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_feedback.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_files.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_gam.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_llm.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_migrate.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_organization.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_rag.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_rerank.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_show_help.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_usage_limits.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_validators.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/commands/test_version.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/cli/test_parsers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/base/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/base/data/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/base/data/mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/base/data/models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/base/test_mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/base/test_models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/common/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/common/data/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/common/test_config.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/common/test_decorators.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/embeddings/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/embeddings/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/feedback/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/feedback/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/files/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/files/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/files/test_managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/files/test_models.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/files/test_responses.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/llm/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/llm/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/rerank/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/rerank/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/rerank/test_managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/rerank/test_mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/secrets/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/secrets/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/services/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/services/test_rest.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/test_handlers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/utils/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/core/utils/test_console.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/dbg/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/dbg/test_debugger.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/gam/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/gam/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/health/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/health/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/integration/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/integration/lab → pygeai-0.4.0/pygeai/tests/integration/assistants}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/integration/lab/agents → pygeai-0.4.0/pygeai/tests/integration/assistants/rag}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/lab → pygeai-0.4.0/pygeai/tests/integration/chat}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/lab/agents → pygeai-0.4.0/pygeai/tests/integration/lab}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/lab/processes → pygeai-0.4.0/pygeai/tests/integration/lab/agents}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/integration/lab/agents/test_agents_list.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/integration/lab/agents/test_create_sharing_link.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/integration/lab/agents/test_delete_agent.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/integration/lab/agents/test_get_agent.py +0 -0
- {pygeai-0.3.1/pygeai/tests/lab/spec → pygeai-0.4.0/pygeai/tests/integration/lab/tools}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/lab/strategies → pygeai-0.4.0/pygeai/tests/lab}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/lab/tools → pygeai-0.4.0/pygeai/tests/lab/agents}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/agents/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/agents/test_mappers.py +0 -0
- {pygeai-0.3.1/pygeai/tests/migration → pygeai-0.4.0/pygeai/tests/lab/processes}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/processes/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/processes/test_mappers.py +0 -0
- {pygeai-0.3.1/pygeai/tests/organization → pygeai-0.4.0/pygeai/tests/lab/spec}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/spec/test_loader.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/spec/test_parsers.py +0 -0
- {pygeai-0.3.1/pygeai/tests/organization/limits → pygeai-0.4.0/pygeai/tests/lab/strategies}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/strategies/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/strategies/test_mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/test_managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/test_mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/test_models.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets → pygeai-0.4.0/pygeai/tests/lab/tools}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/tools/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/lab/tools/test_mappers.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/assistants → pygeai-0.4.0/pygeai/tests/migration}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/migration/test_strategies.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/migration/test_tools.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/assistants/data_analyst → pygeai-0.4.0/pygeai/tests/organization}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/assistants/rag → pygeai-0.4.0/pygeai/tests/organization/limits}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/organization/limits/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/organization/limits/test_managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/organization/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/organization/test_managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/organization/test_mappers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/proxy/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/proxy/test_clients.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/proxy/test_config.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/proxy/test_integration.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/proxy/test_managers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/proxy/test_servers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/proxy/test_tool.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/chat → pygeai-0.4.0/pygeai/tests/snippets}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/embeddings → pygeai-0.4.0/pygeai/tests/snippets/assistants}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/create_chat_assistant.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/create_text_assistant.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/evaluation → pygeai-0.4.0/pygeai/tests/snippets/assistants/data_analyst}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/data_analyst/extend_and_check.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/data_analyst/extend_dataset.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/data_analyst/get_status.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/file_summarizer_assistant.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/get_assistant_data.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/get_assistant_list.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/files → pygeai-0.4.0/pygeai/tests/snippets/assistants/rag}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/create_rag_assistant.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/delete_al_documents.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/delete_document.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/get_document.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/get_documents.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/update_rag_assistant.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/rag/upload_document.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/send_feedback.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/assistants/update_chat_assistant.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/gam → pygeai-0.4.0/pygeai/tests/snippets/chat}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/cancel_request.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/chat_completion.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/chat_completion_1.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/chat_completion_2.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/chat_completion_3.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/chat_completion_4.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/chat_completion_streaming.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/get_request_status.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/chat/send_chat_request.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab → pygeai-0.4.0/pygeai/tests/snippets/embeddings}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/embeddings/generate_embeddings.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab/agents → pygeai-0.4.0/pygeai/tests/snippets/evaluation}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab/processes → pygeai-0.4.0/pygeai/tests/snippets/files}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/files/delete_file.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/files/get_file_content.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/files/get_file_data.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/files/get_file_list.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/files/upload_file.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab/processes/jobs → pygeai-0.4.0/pygeai/tests/snippets/gam}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/gam/gam_access_token.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab/processes/kbs → pygeai-0.4.0/pygeai/tests/snippets/lab}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agentic_flow_example_1.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agentic_flow_example_2.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agentic_flow_example_3.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agentic_flow_example_4.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab/samples → pygeai-0.4.0/pygeai/tests/snippets/lab/agents}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agents/create_agent.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agents/create_agent_2.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agents/delete_agent.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agents/get_agent.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agents/list_agents.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agents/publish_agent_revision.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/agents/update_agent.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/assistant_to_agent.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/crud_ui.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab/strategies → pygeai-0.4.0/pygeai/tests/snippets/lab/processes}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/processes/create_process.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/processes/create_task.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab/tools → pygeai-0.4.0/pygeai/tests/snippets/lab/processes/jobs}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/lab/use_cases → pygeai-0.4.0/pygeai/tests/snippets/lab/processes/kbs}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/processes/kbs/create_kb.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/processes/kbs/get_kb.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/processes/kbs/try_all.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/processes/list_processes.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/runner_1.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/migrate → pygeai-0.4.0/pygeai/tests/snippets/lab/samples}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/samples/summarize_files.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/organization → pygeai-0.4.0/pygeai/tests/snippets/lab/strategies}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/rerank → pygeai-0.4.0/pygeai/tests/snippets/lab/tools}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/tools/delete_tool.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/tools/get_parameter.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/tools/get_tool.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/tools/list_tools.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/tools/publish_tool_revision.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/tools/set_parameters.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/tools/update_tool.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/secrets → pygeai-0.4.0/pygeai/tests/snippets/lab/use_cases}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/create_web_designer.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/create_web_reader.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/update_web_designer.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/update_web_reader.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +0 -0
- {pygeai-0.3.1/pygeai/tests/snippets/usage_limit → pygeai-0.4.0/pygeai/tests/snippets/migrate}/__init__.py +0 -0
- {pygeai-0.3.1/pygeai/vendor/a2a/auth → pygeai-0.4.0/pygeai/tests/snippets/organization}/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/organization/create_project.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/organization/delete_project.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/organization/export_request_data.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/organization/get_project_data.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/organization/get_project_list.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/organization/get_project_tokens.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/organization/update_project.py +0 -0
- /pygeai-0.3.1/pygeai/vendor/a2a/py.typed → /pygeai-0.4.0/pygeai/tests/snippets/rerank/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/rerank/rerank_chunks.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/usage_limit/delete_usage_limit.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/usage_limit/get_all_usage_limit_from_organization.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_organization.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_project.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/usage_limit/set_usage_limit_organization.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/usage_limit/set_usage_limit_project.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/usage_limit/update_usage_limit_organization.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/tests/snippets/usage_limit/update_usage_limit_project.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/auth/user.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/client/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/client/client.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/client/errors.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/client/helpers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/agent_execution/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/agent_execution/agent_executor.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/agent_execution/context.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/apps/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/context.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/events/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/events/event_consumer.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/events/event_queue.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/events/queue_manager.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/request_handlers/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/request_handlers/request_handler.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/request_handlers/response_helpers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/tasks/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/tasks/push_notifier.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/tasks/result_aggregator.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/tasks/task_manager.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/tasks/task_store.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/server/tasks/task_updater.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/types.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/utils/__init__.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/utils/artifact.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/utils/errors.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/utils/helpers.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/utils/message.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/utils/task.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai/vendor/a2a/utils/telemetry.py +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai.egg-info/dependency_links.txt +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai.egg-info/entry_points.txt +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai.egg-info/requires.txt +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/pygeai.egg-info/top_level.txt +0 -0
- {pygeai-0.3.1 → pygeai-0.4.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pygeai
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
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}
|
|
@@ -13,12 +13,14 @@ from pygeai.chat.session import AgentChatSession
|
|
|
13
13
|
from pygeai.cli.commands import Command, Option, ArgumentsEnum
|
|
14
14
|
from pygeai.cli.commands.builders import build_help_text
|
|
15
15
|
from pygeai.cli.commands.common import get_messages, get_boolean_value, get_penalty_float_value
|
|
16
|
+
from pygeai.cli.commands.lab.utils import get_project_id
|
|
16
17
|
from pygeai.cli.texts.help import CHAT_HELP_TEXT
|
|
17
|
-
from pygeai.core.common.exceptions import MissingRequirementException, WrongArgumentError
|
|
18
|
+
from pygeai.core.common.exceptions import MissingRequirementException, WrongArgumentError, InvalidAgentException
|
|
18
19
|
from prompt_toolkit import PromptSession
|
|
19
20
|
from prompt_toolkit.history import InMemoryHistory
|
|
20
21
|
|
|
21
22
|
from pygeai.core.utils.console import Console
|
|
23
|
+
from pygeai.lab.agents.clients import AgentClient
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
def show_help():
|
|
@@ -359,71 +361,67 @@ def chat_with_agent(option_list: list):
|
|
|
359
361
|
if not agent_name:
|
|
360
362
|
raise MissingRequirementException(f"Agent name must be specified.")
|
|
361
363
|
|
|
364
|
+
project_id = get_project_id()
|
|
365
|
+
agent_data = AgentClient(project_id=project_id).get_agent(agent_id=agent_name)
|
|
366
|
+
if 'errors' in agent_data:
|
|
367
|
+
raise InvalidAgentException(f"There is no agent with that name: {agent_data.get('errors')}")
|
|
368
|
+
|
|
362
369
|
if use_gui:
|
|
363
370
|
try:
|
|
364
|
-
# Check if Streamlit is installed
|
|
365
371
|
import streamlit
|
|
366
372
|
except ImportError:
|
|
367
373
|
logger.error("Streamlit not installed")
|
|
368
374
|
Console.write_stderr("Streamlit is required for GUI mode. Install it with 'pip install streamlit'.")
|
|
369
375
|
sys.exit(1)
|
|
370
376
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
377
|
+
try:
|
|
378
|
+
ui_path = resources.files("pygeai.chat").joinpath("ui.py")
|
|
379
|
+
ui_file_path = str(ui_path)
|
|
380
|
+
|
|
381
|
+
# Add the top-level project root to PYTHONPATH
|
|
382
|
+
package_root = str(Path(ui_file_path).resolve().parents[2])
|
|
383
|
+
env = os.environ.copy()
|
|
384
|
+
env["PYTHONPATH"] = package_root + os.pathsep + env.get("PYTHONPATH", "")
|
|
385
|
+
|
|
386
|
+
streamlit_cmd = [
|
|
387
|
+
sys.executable, "-m", "streamlit", "run", ui_file_path,
|
|
388
|
+
"--server.address", "127.0.0.1",
|
|
389
|
+
"--", "--agent-name", agent_name
|
|
390
|
+
]
|
|
391
|
+
|
|
392
|
+
if platform.system() == "Linux":
|
|
393
|
+
streamlit_cmd.insert(5, "--server.headless=true")
|
|
394
|
+
|
|
395
|
+
process = subprocess.Popen(
|
|
396
|
+
streamlit_cmd,
|
|
397
|
+
stdout=subprocess.PIPE,
|
|
398
|
+
stderr=subprocess.PIPE,
|
|
399
|
+
text=True
|
|
400
|
+
)
|
|
378
401
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
# Add the top-level project root to PYTHONPATH
|
|
384
|
-
package_root = str(Path(ui_file_path).resolve().parents[2])
|
|
385
|
-
env = os.environ.copy()
|
|
386
|
-
env["PYTHONPATH"] = package_root + os.pathsep + env.get("PYTHONPATH", "")
|
|
387
|
-
|
|
388
|
-
streamlit_cmd = [
|
|
389
|
-
sys.executable, "-m", "streamlit", "run", ui_file_path,
|
|
390
|
-
"--server.address", "127.0.0.1",
|
|
391
|
-
"--", "--agent-name", agent_name
|
|
392
|
-
]
|
|
393
|
-
|
|
394
|
-
if platform.system() == "Linux":
|
|
395
|
-
streamlit_cmd.insert(5, "--server.headless=true")
|
|
396
|
-
|
|
397
|
-
process = subprocess.Popen(
|
|
398
|
-
streamlit_cmd,
|
|
399
|
-
stdout=subprocess.PIPE,
|
|
400
|
-
stderr=subprocess.PIPE,
|
|
401
|
-
text=True
|
|
402
|
-
)
|
|
403
|
-
|
|
404
|
-
url = "http://localhost:8501"
|
|
405
|
-
if platform.system() == "Linux":
|
|
406
|
-
Console.write_stdout(f"Open Streamlit app at {url} (or next port like 8502 if 8501 is taken)")
|
|
407
|
-
|
|
408
|
-
try:
|
|
409
|
-
stdout, stderr = process.communicate()
|
|
410
|
-
if stderr:
|
|
411
|
-
logger.error(f"Streamlit stderr:\n{stderr}")
|
|
412
|
-
Console.write_stderr(f"Streamlit error:\n{stderr}")
|
|
413
|
-
except KeyboardInterrupt:
|
|
414
|
-
process.terminate()
|
|
415
|
-
Console.write_stdout("Streamlit stopped.")
|
|
416
|
-
sys.exit(0)
|
|
402
|
+
url = "http://localhost:8501"
|
|
403
|
+
if platform.system() == "Linux":
|
|
404
|
+
Console.write_stdout(f"Open Streamlit app at {url} (or next port like 8502 if 8501 is taken)")
|
|
417
405
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
sys.exit(
|
|
406
|
+
try:
|
|
407
|
+
stdout, stderr = process.communicate()
|
|
408
|
+
if stderr:
|
|
409
|
+
logger.error(f"Streamlit stderr:\n{stderr}")
|
|
410
|
+
Console.write_stderr(f"Streamlit error:\n{stderr}")
|
|
411
|
+
except KeyboardInterrupt:
|
|
412
|
+
process.terminate()
|
|
413
|
+
Console.write_stdout("Streamlit stopped.")
|
|
414
|
+
sys.exit(0)
|
|
415
|
+
|
|
416
|
+
except FileNotFoundError:
|
|
417
|
+
logger.error("Could not locate pygeai/chat/ui.py")
|
|
418
|
+
Console.write_stderr("Streamlit UI file not found. Ensure pygeai is installed correctly.")
|
|
419
|
+
sys.exit(1)
|
|
420
|
+
except Exception as e:
|
|
421
|
+
logger.error(f"Streamlit error: {e}")
|
|
422
|
+
Console.write_stderr(
|
|
423
|
+
f"Failed to launch Streamlit. Check port with 'lsof -i :8501' and kill any process, or try {url}.")
|
|
424
|
+
sys.exit(1)
|
|
427
425
|
else:
|
|
428
426
|
chat_session = AgentChatSession(agent_name)
|
|
429
427
|
messages = list()
|