pygeai 0.4.0b11__tar.gz → 0.5.0b3__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.
Files changed (526) hide show
  1. {pygeai-0.4.0b11/pygeai.egg-info → pygeai-0.5.0b3}/PKG-INFO +44 -16
  2. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/README.md +43 -15
  3. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/__init__.py +1 -1
  4. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/__init__.py +1 -1
  5. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/base/session.py +1 -1
  6. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/common/config.py +0 -2
  7. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/managers.py +2 -2
  8. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/tools/clients.py +13 -17
  9. pygeai-0.5.0b3/pygeai/tests/integration/assistants/rag/test_create_rag.py +91 -0
  10. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/chat/test_generate_image.py +1 -5
  11. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/agents/test_create_agent.py +13 -8
  12. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/agents/test_create_sharing_link.py +4 -1
  13. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +0 -1
  14. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/agents/test_update_agent.py +15 -19
  15. pygeai-0.5.0b3/pygeai/tests/integration/lab/processes/test_create_process.py +345 -0
  16. pygeai-0.5.0b3/pygeai/tests/integration/lab/processes/test_get_process.py +201 -0
  17. pygeai-0.5.0b3/pygeai/tests/integration/lab/processes/test_update_process.py +289 -0
  18. pygeai-0.5.0b3/pygeai/tests/integration/lab/reasoning_strategies/test_get_reasoning_strategy.py +70 -0
  19. pygeai-0.5.0b3/pygeai/tests/integration/lab/reasoning_strategies/test_list_reasoning_strategies.py +93 -0
  20. pygeai-0.5.0b3/pygeai/tests/integration/lab/reasoning_strategies/test_update_reasoning_strategy.py +149 -0
  21. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/tools/test_create_tool.py +12 -16
  22. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/tools/test_delete_tool.py +3 -3
  23. pygeai-0.5.0b3/pygeai/tests/integration/lab/tools/test_get_parameter.py +98 -0
  24. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/tools/test_get_tool.py +3 -3
  25. pygeai-0.5.0b3/pygeai/tests/integration/lab/tools/test_publish_tool_revision.py +119 -0
  26. pygeai-0.5.0b3/pygeai/tests/integration/lab/tools/test_set_parameter.py +114 -0
  27. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/tools/test_update_tool.py +8 -9
  28. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agentic_flow_example_4.py +23 -23
  29. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/get_sharing_link.py +1 -2
  30. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/samples/summarize_files.py +3 -3
  31. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/create_tool.py +1 -1
  32. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example.py +3 -3
  33. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +11 -11
  34. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/update_web_reader.py +1 -2
  35. pygeai-0.5.0b3/pygeai/tests/snippets/rerank/__init__.py +0 -0
  36. pygeai-0.5.0b3/pygeai/tests/snippets/secrets/__init__.py +0 -0
  37. pygeai-0.5.0b3/pygeai/tests/snippets/usage_limit/__init__.py +0 -0
  38. pygeai-0.5.0b3/pygeai/vendor/a2a/auth/__init__.py +0 -0
  39. pygeai-0.5.0b3/pygeai/vendor/a2a/py.typed +0 -0
  40. {pygeai-0.4.0b11 → pygeai-0.5.0b3/pygeai.egg-info}/PKG-INFO +44 -16
  41. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai.egg-info/SOURCES.txt +15 -0
  42. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pyproject.toml +1 -1
  43. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/LICENSE +0 -0
  44. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/MANIFEST.in +0 -0
  45. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/docs/geai-proxy/README.md +0 -0
  46. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/admin/__init__.py +0 -0
  47. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/admin/clients.py +0 -0
  48. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/admin/endpoints.py +0 -0
  49. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/__init__.py +0 -0
  50. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/clients.py +0 -0
  51. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/data/__init__.py +0 -0
  52. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/data/clients.py +0 -0
  53. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/data_analyst/__init__.py +0 -0
  54. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/data_analyst/clients.py +0 -0
  55. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/data_analyst/endpoints.py +0 -0
  56. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/endpoints.py +0 -0
  57. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/managers.py +0 -0
  58. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/mappers.py +0 -0
  59. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/rag/__init__.py +0 -0
  60. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/rag/clients.py +0 -0
  61. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/rag/endpoints.py +0 -0
  62. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/rag/mappers.py +0 -0
  63. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/rag/models.py +0 -0
  64. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/assistant/rag/responses.py +0 -0
  65. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/chat/__init__.py +0 -0
  66. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/chat/clients.py +0 -0
  67. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/chat/endpoints.py +0 -0
  68. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/chat/iris.py +0 -0
  69. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/chat/managers.py +0 -0
  70. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/chat/session.py +0 -0
  71. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/chat/settings.py +0 -0
  72. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/chat/ui.py +0 -0
  73. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/__main__.py +0 -0
  74. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/__init__.py +0 -0
  75. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/admin.py +0 -0
  76. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/assistant.py +0 -0
  77. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/base.py +0 -0
  78. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/builders.py +0 -0
  79. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/chat.py +0 -0
  80. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/common.py +0 -0
  81. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/configuration.py +0 -0
  82. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/embeddings.py +0 -0
  83. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/evaluation.py +0 -0
  84. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/feedback.py +0 -0
  85. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/files.py +0 -0
  86. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/flows/__init__.py +0 -0
  87. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/gam.py +0 -0
  88. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/lab/__init__.py +0 -0
  89. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/lab/ai_lab.py +0 -0
  90. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/lab/common.py +0 -0
  91. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/lab/options.py +0 -0
  92. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/lab/spec.py +0 -0
  93. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/lab/utils.py +0 -0
  94. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/llm.py +0 -0
  95. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/migrate.py +0 -0
  96. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/options.py +0 -0
  97. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/organization.py +0 -0
  98. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/rag.py +0 -0
  99. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/rerank.py +0 -0
  100. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/secrets.py +0 -0
  101. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/usage_limits.py +0 -0
  102. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/validators.py +0 -0
  103. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/commands/version.py +0 -0
  104. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/geai.py +0 -0
  105. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/geai_proxy.py +0 -0
  106. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/install_man.py +0 -0
  107. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/parsers.py +0 -0
  108. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/texts/__init__.py +0 -0
  109. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/cli/texts/help.py +0 -0
  110. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/__init__.py +0 -0
  111. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/base/__init__.py +0 -0
  112. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/base/clients.py +0 -0
  113. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/base/mappers.py +0 -0
  114. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/base/models.py +0 -0
  115. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/base/responses.py +0 -0
  116. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/common/__init__.py +0 -0
  117. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/common/decorators.py +0 -0
  118. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/common/exceptions.py +0 -0
  119. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/embeddings/__init__.py +0 -0
  120. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/embeddings/clients.py +0 -0
  121. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/embeddings/endpoints.py +0 -0
  122. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/embeddings/managers.py +0 -0
  123. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/embeddings/mappers.py +0 -0
  124. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/embeddings/models.py +0 -0
  125. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/embeddings/responses.py +0 -0
  126. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/feedback/__init__.py +0 -0
  127. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/feedback/clients.py +0 -0
  128. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/feedback/endpoints.py +0 -0
  129. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/feedback/models.py +0 -0
  130. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/files/__init__.py +0 -0
  131. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/files/clients.py +0 -0
  132. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/files/endpoints.py +0 -0
  133. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/files/managers.py +0 -0
  134. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/files/mappers.py +0 -0
  135. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/files/models.py +0 -0
  136. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/files/responses.py +0 -0
  137. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/handlers.py +0 -0
  138. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/llm/__init__.py +0 -0
  139. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/llm/clients.py +0 -0
  140. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/llm/endpoints.py +0 -0
  141. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/models.py +0 -0
  142. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/plugins/__init__.py +0 -0
  143. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/plugins/clients.py +0 -0
  144. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/plugins/endpoints.py +0 -0
  145. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/plugins/models.py +0 -0
  146. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/rerank/__init__.py +0 -0
  147. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/rerank/clients.py +0 -0
  148. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/rerank/endpoints.py +0 -0
  149. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/rerank/managers.py +0 -0
  150. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/rerank/mappers.py +0 -0
  151. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/rerank/models.py +0 -0
  152. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/responses.py +0 -0
  153. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/secrets/__init__.py +0 -0
  154. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/secrets/clients.py +0 -0
  155. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/secrets/endpoints.py +0 -0
  156. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/services/__init__.py +0 -0
  157. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/services/llm/__init__.py +0 -0
  158. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/services/llm/model.py +0 -0
  159. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/services/llm/providers.py +0 -0
  160. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/services/response.py +0 -0
  161. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/services/rest.py +0 -0
  162. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/singleton.py +0 -0
  163. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/utils/__init__.py +0 -0
  164. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/core/utils/console.py +0 -0
  165. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/dbg/__init__.py +0 -0
  166. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/dbg/debugger.py +0 -0
  167. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/__init__.py +0 -0
  168. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/clients.py +0 -0
  169. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/dataset/__init__.py +0 -0
  170. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/dataset/clients.py +0 -0
  171. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/dataset/endpoints.py +0 -0
  172. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/plan/__init__.py +0 -0
  173. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/plan/clients.py +0 -0
  174. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/plan/endpoints.py +0 -0
  175. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/result/__init__.py +0 -0
  176. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/result/clients.py +0 -0
  177. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/evaluation/result/endpoints.py +0 -0
  178. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/flows/__init__.py +0 -0
  179. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/flows/endpoints.py +0 -0
  180. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/flows/models.py +0 -0
  181. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/gam/__init__.py +0 -0
  182. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/gam/clients.py +0 -0
  183. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/gam/endpoints.py +0 -0
  184. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/health/__init__.py +0 -0
  185. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/health/clients.py +0 -0
  186. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/health/endpoints.py +0 -0
  187. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/__init__.py +0 -0
  188. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/agents/__init__.py +0 -0
  189. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/agents/clients.py +0 -0
  190. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/agents/endpoints.py +0 -0
  191. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/agents/mappers.py +0 -0
  192. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/clients.py +0 -0
  193. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/constants.py +0 -0
  194. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/models.py +0 -0
  195. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/processes/__init__.py +0 -0
  196. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/processes/clients.py +0 -0
  197. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/processes/endpoints.py +0 -0
  198. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/processes/mappers.py +0 -0
  199. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/runners.py +0 -0
  200. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/spec/__init__.py +0 -0
  201. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/spec/loader.py +0 -0
  202. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/spec/parsers.py +0 -0
  203. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/strategies/__init__.py +0 -0
  204. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/strategies/clients.py +0 -0
  205. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/strategies/endpoints.py +0 -0
  206. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/strategies/mappers.py +0 -0
  207. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/tools/__init__.py +0 -0
  208. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/tools/endpoints.py +0 -0
  209. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/lab/tools/mappers.py +0 -0
  210. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/man/__init__.py +0 -0
  211. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/man/man1/__init__.py +0 -0
  212. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/man/man1/geai-proxy.1 +0 -0
  213. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/man/man1/geai.1 +0 -0
  214. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/migration/__init__.py +0 -0
  215. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/migration/strategies.py +0 -0
  216. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/migration/tools.py +0 -0
  217. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/__init__.py +0 -0
  218. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/clients.py +0 -0
  219. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/endpoints.py +0 -0
  220. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/limits/__init__.py +0 -0
  221. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/limits/clients.py +0 -0
  222. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/limits/endpoints.py +0 -0
  223. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/limits/managers.py +0 -0
  224. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/limits/mappers.py +0 -0
  225. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/managers.py +0 -0
  226. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/mappers.py +0 -0
  227. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/organization/responses.py +0 -0
  228. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/proxy/__init__.py +0 -0
  229. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/proxy/clients.py +0 -0
  230. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/proxy/config.py +0 -0
  231. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/proxy/managers.py +0 -0
  232. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/proxy/servers.py +0 -0
  233. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/proxy/tool.py +0 -0
  234. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/__init__.py +0 -0
  235. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/admin/__init__.py +0 -0
  236. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/admin/test_clients.py +0 -0
  237. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/assistants/__init__.py +0 -0
  238. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/assistants/rag/__init__.py +0 -0
  239. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/assistants/rag/test_clients.py +0 -0
  240. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/assistants/rag/test_mappers.py +0 -0
  241. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/assistants/rag/test_models.py +0 -0
  242. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/assistants/test_clients.py +0 -0
  243. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/assistants/test_managers.py +0 -0
  244. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/assistants/test_mappers.py +0 -0
  245. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/chat/__init__.py +0 -0
  246. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/chat/test_clients.py +0 -0
  247. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/chat/test_iris.py +0 -0
  248. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/chat/test_session.py +0 -0
  249. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/chat/test_ui.py +0 -0
  250. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/__init__.py +0 -0
  251. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/__init__.py +0 -0
  252. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/lab/__init__.py +0 -0
  253. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/lab/test_ai_lab.py +0 -0
  254. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/lab/test_common.py +0 -0
  255. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/lab/test_spec.py +0 -0
  256. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_assistant.py +0 -0
  257. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_chat.py +0 -0
  258. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_common.py +0 -0
  259. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_embeddings.py +0 -0
  260. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_feedback.py +0 -0
  261. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_files.py +0 -0
  262. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_gam.py +0 -0
  263. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_llm.py +0 -0
  264. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_migrate.py +0 -0
  265. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_organization.py +0 -0
  266. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_rag.py +0 -0
  267. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_rerank.py +0 -0
  268. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_show_help.py +0 -0
  269. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_usage_limits.py +0 -0
  270. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_validators.py +0 -0
  271. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/commands/test_version.py +0 -0
  272. {pygeai-0.4.0b11/pygeai/tests/core → pygeai-0.5.0b3/pygeai/tests/cli/docker}/__init__.py +0 -0
  273. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/cli/test_parsers.py +0 -0
  274. {pygeai-0.4.0b11/pygeai/tests/core/base → pygeai-0.5.0b3/pygeai/tests/core}/__init__.py +0 -0
  275. {pygeai-0.4.0b11/pygeai/tests/core/base/data → pygeai-0.5.0b3/pygeai/tests/core/base}/__init__.py +0 -0
  276. {pygeai-0.4.0b11/pygeai/tests/core/common → pygeai-0.5.0b3/pygeai/tests/core/base/data}/__init__.py +0 -0
  277. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/base/data/mappers.py +0 -0
  278. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/base/data/models.py +0 -0
  279. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/base/test_mappers.py +0 -0
  280. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/base/test_models.py +0 -0
  281. {pygeai-0.4.0b11/pygeai/tests/core/common/data → pygeai-0.5.0b3/pygeai/tests/core/common}/__init__.py +0 -0
  282. {pygeai-0.4.0b11/pygeai/tests/core/embeddings → pygeai-0.5.0b3/pygeai/tests/core/common/data}/__init__.py +0 -0
  283. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/common/test_config.py +0 -0
  284. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/common/test_decorators.py +0 -0
  285. {pygeai-0.4.0b11/pygeai/tests/core/feedback → pygeai-0.5.0b3/pygeai/tests/core/embeddings}/__init__.py +0 -0
  286. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/embeddings/test_clients.py +0 -0
  287. {pygeai-0.4.0b11/pygeai/tests/core/files → pygeai-0.5.0b3/pygeai/tests/core/feedback}/__init__.py +0 -0
  288. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/feedback/test_clients.py +0 -0
  289. {pygeai-0.4.0b11/pygeai/tests/core/llm → pygeai-0.5.0b3/pygeai/tests/core/files}/__init__.py +0 -0
  290. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/files/test_clients.py +0 -0
  291. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/files/test_managers.py +0 -0
  292. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/files/test_models.py +0 -0
  293. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/files/test_responses.py +0 -0
  294. {pygeai-0.4.0b11/pygeai/tests/core/rerank → pygeai-0.5.0b3/pygeai/tests/core/llm}/__init__.py +0 -0
  295. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/llm/test_clients.py +0 -0
  296. {pygeai-0.4.0b11/pygeai/tests/core/secrets → pygeai-0.5.0b3/pygeai/tests/core/rerank}/__init__.py +0 -0
  297. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/rerank/test_clients.py +0 -0
  298. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/rerank/test_managers.py +0 -0
  299. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/rerank/test_mappers.py +0 -0
  300. {pygeai-0.4.0b11/pygeai/tests/core/services → pygeai-0.5.0b3/pygeai/tests/core/secrets}/__init__.py +0 -0
  301. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/secrets/test_clients.py +0 -0
  302. {pygeai-0.4.0b11/pygeai/tests/core/utils → pygeai-0.5.0b3/pygeai/tests/core/services}/__init__.py +0 -0
  303. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/services/test_rest.py +0 -0
  304. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/test_handlers.py +0 -0
  305. {pygeai-0.4.0b11/pygeai/tests/dbg → pygeai-0.5.0b3/pygeai/tests/core/utils}/__init__.py +0 -0
  306. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/core/utils/test_console.py +0 -0
  307. {pygeai-0.4.0b11/pygeai/tests/gam → pygeai-0.5.0b3/pygeai/tests/dbg}/__init__.py +0 -0
  308. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/dbg/test_debugger.py +0 -0
  309. {pygeai-0.4.0b11/pygeai/tests/health → pygeai-0.5.0b3/pygeai/tests/gam}/__init__.py +0 -0
  310. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/gam/test_clients.py +0 -0
  311. {pygeai-0.4.0b11/pygeai/tests/integration → pygeai-0.5.0b3/pygeai/tests/health}/__init__.py +0 -0
  312. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/health/test_clients.py +0 -0
  313. {pygeai-0.4.0b11/pygeai/tests/integration/chat → pygeai-0.5.0b3/pygeai/tests/integration}/__init__.py +0 -0
  314. {pygeai-0.4.0b11/pygeai/tests/integration/lab → pygeai-0.5.0b3/pygeai/tests/integration/assistants}/__init__.py +0 -0
  315. {pygeai-0.4.0b11/pygeai/tests/integration/lab/agents → pygeai-0.5.0b3/pygeai/tests/integration/assistants/rag}/__init__.py +0 -0
  316. {pygeai-0.4.0b11/pygeai/tests/integration/lab/tools → pygeai-0.5.0b3/pygeai/tests/integration/chat}/__init__.py +0 -0
  317. {pygeai-0.4.0b11/pygeai/tests → pygeai-0.5.0b3/pygeai/tests/integration}/lab/__init__.py +0 -0
  318. {pygeai-0.4.0b11/pygeai/tests → pygeai-0.5.0b3/pygeai/tests/integration}/lab/agents/__init__.py +0 -0
  319. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/agents/test_agents_list.py +0 -0
  320. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/agents/test_delete_agent.py +0 -0
  321. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/agents/test_get_agent.py +0 -0
  322. {pygeai-0.4.0b11/pygeai/tests → pygeai-0.5.0b3/pygeai/tests/integration}/lab/processes/__init__.py +0 -0
  323. {pygeai-0.4.0b11/pygeai/tests/lab/spec → pygeai-0.5.0b3/pygeai/tests/integration/lab/reasoning_strategies}/__init__.py +0 -0
  324. {pygeai-0.4.0b11/pygeai/tests/lab/strategies → pygeai-0.5.0b3/pygeai/tests/integration/lab/tools}/__init__.py +0 -0
  325. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/integration/lab/tools/test_list_tools.py +0 -0
  326. {pygeai-0.4.0b11/pygeai/tests/lab/tools → pygeai-0.5.0b3/pygeai/tests/lab}/__init__.py +0 -0
  327. {pygeai-0.4.0b11/pygeai/tests/migration → pygeai-0.5.0b3/pygeai/tests/lab/agents}/__init__.py +0 -0
  328. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/agents/test_clients.py +0 -0
  329. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/agents/test_mappers.py +0 -0
  330. {pygeai-0.4.0b11/pygeai/tests/organization → pygeai-0.5.0b3/pygeai/tests/lab/processes}/__init__.py +0 -0
  331. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/processes/test_clients.py +0 -0
  332. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/processes/test_mappers.py +0 -0
  333. {pygeai-0.4.0b11/pygeai/tests/organization/limits → pygeai-0.5.0b3/pygeai/tests/lab/spec}/__init__.py +0 -0
  334. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/spec/test_loader.py +0 -0
  335. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/spec/test_parsers.py +0 -0
  336. {pygeai-0.4.0b11/pygeai/tests/snippets → pygeai-0.5.0b3/pygeai/tests/lab/strategies}/__init__.py +0 -0
  337. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/strategies/test_clients.py +0 -0
  338. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/strategies/test_mappers.py +0 -0
  339. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/test_managers.py +0 -0
  340. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/test_mappers.py +0 -0
  341. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/test_models.py +0 -0
  342. {pygeai-0.4.0b11/pygeai/tests/snippets/assistants → pygeai-0.5.0b3/pygeai/tests/lab/tools}/__init__.py +0 -0
  343. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/tools/test_clients.py +0 -0
  344. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/lab/tools/test_mappers.py +0 -0
  345. {pygeai-0.4.0b11/pygeai/tests/snippets/assistants/data_analyst → pygeai-0.5.0b3/pygeai/tests/migration}/__init__.py +0 -0
  346. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/migration/test_strategies.py +0 -0
  347. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/migration/test_tools.py +0 -0
  348. {pygeai-0.4.0b11/pygeai/tests/snippets/assistants/rag → pygeai-0.5.0b3/pygeai/tests/organization}/__init__.py +0 -0
  349. {pygeai-0.4.0b11/pygeai/tests/snippets/chat → pygeai-0.5.0b3/pygeai/tests/organization/limits}/__init__.py +0 -0
  350. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/organization/limits/test_clients.py +0 -0
  351. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/organization/limits/test_managers.py +0 -0
  352. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/organization/test_clients.py +0 -0
  353. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/organization/test_managers.py +0 -0
  354. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/organization/test_mappers.py +0 -0
  355. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/proxy/__init__.py +0 -0
  356. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/proxy/test_clients.py +0 -0
  357. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/proxy/test_config.py +0 -0
  358. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/proxy/test_integration.py +0 -0
  359. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/proxy/test_managers.py +0 -0
  360. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/proxy/test_servers.py +0 -0
  361. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/proxy/test_tool.py +0 -0
  362. {pygeai-0.4.0b11/pygeai/tests/snippets/embeddings → pygeai-0.5.0b3/pygeai/tests/snippets}/__init__.py +0 -0
  363. {pygeai-0.4.0b11/pygeai/tests/snippets/evaluation → pygeai-0.5.0b3/pygeai/tests/snippets/assistants}/__init__.py +0 -0
  364. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/create_chat_assistant.py +0 -0
  365. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/create_text_assistant.py +0 -0
  366. {pygeai-0.4.0b11/pygeai/tests/snippets/files → pygeai-0.5.0b3/pygeai/tests/snippets/assistants/data_analyst}/__init__.py +0 -0
  367. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/data_analyst/extend_and_check.py +0 -0
  368. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/data_analyst/extend_dataset.py +0 -0
  369. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/data_analyst/get_status.py +0 -0
  370. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/file_summarizer_assistant.py +0 -0
  371. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/get_assistant_data.py +0 -0
  372. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/get_assistant_list.py +0 -0
  373. {pygeai-0.4.0b11/pygeai/tests/snippets/gam → pygeai-0.5.0b3/pygeai/tests/snippets/assistants/rag}/__init__.py +0 -0
  374. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/create_rag_assistant.py +0 -0
  375. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/delete_al_documents.py +0 -0
  376. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/delete_document.py +0 -0
  377. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +0 -0
  378. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/get_document.py +0 -0
  379. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/get_documents.py +0 -0
  380. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +0 -0
  381. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/update_rag_assistant.py +0 -0
  382. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/rag/upload_document.py +0 -0
  383. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/send_feedback.py +0 -0
  384. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/assistants/update_chat_assistant.py +0 -0
  385. {pygeai-0.4.0b11/pygeai/tests/snippets/lab → pygeai-0.5.0b3/pygeai/tests/snippets/chat}/__init__.py +0 -0
  386. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/cancel_request.py +0 -0
  387. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/chat_completion.py +0 -0
  388. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/chat_completion_1.py +0 -0
  389. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/chat_completion_2.py +0 -0
  390. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/chat_completion_3.py +0 -0
  391. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/chat_completion_4.py +0 -0
  392. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/chat_completion_streaming.py +0 -0
  393. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/get_request_status.py +0 -0
  394. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/chat/send_chat_request.py +0 -0
  395. {pygeai-0.4.0b11/pygeai/tests/snippets/lab/agents → pygeai-0.5.0b3/pygeai/tests/snippets/embeddings}/__init__.py +0 -0
  396. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/embeddings/generate_embeddings.py +0 -0
  397. {pygeai-0.4.0b11/pygeai/tests/snippets/lab/processes → pygeai-0.5.0b3/pygeai/tests/snippets/evaluation}/__init__.py +0 -0
  398. {pygeai-0.4.0b11/pygeai/tests/snippets/lab/processes/jobs → pygeai-0.5.0b3/pygeai/tests/snippets/files}/__init__.py +0 -0
  399. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/files/delete_file.py +0 -0
  400. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/files/get_file_content.py +0 -0
  401. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/files/get_file_data.py +0 -0
  402. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/files/get_file_list.py +0 -0
  403. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/files/upload_file.py +0 -0
  404. {pygeai-0.4.0b11/pygeai/tests/snippets/lab/processes/kbs → pygeai-0.5.0b3/pygeai/tests/snippets/gam}/__init__.py +0 -0
  405. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/gam/gam_access_token.py +0 -0
  406. {pygeai-0.4.0b11/pygeai/tests/snippets/lab/samples → pygeai-0.5.0b3/pygeai/tests/snippets/lab}/__init__.py +0 -0
  407. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agentic_flow_example_1.py +0 -0
  408. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agentic_flow_example_2.py +0 -0
  409. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agentic_flow_example_3.py +0 -0
  410. {pygeai-0.4.0b11/pygeai/tests/snippets/lab/strategies → pygeai-0.5.0b3/pygeai/tests/snippets/lab/agents}/__init__.py +0 -0
  411. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/create_agent.py +0 -0
  412. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/create_agent_2.py +0 -0
  413. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +0 -0
  414. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +0 -0
  415. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/delete_agent.py +0 -0
  416. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/get_agent.py +0 -0
  417. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/list_agents.py +0 -0
  418. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/publish_agent_revision.py +0 -0
  419. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/agents/update_agent.py +0 -0
  420. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/assistant_to_agent.py +0 -0
  421. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/crud_ui.py +0 -0
  422. {pygeai-0.4.0b11/pygeai/tests/snippets/lab/tools → pygeai-0.5.0b3/pygeai/tests/snippets/lab/processes}/__init__.py +0 -0
  423. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/processes/create_process.py +0 -0
  424. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/processes/create_task.py +0 -0
  425. {pygeai-0.4.0b11/pygeai/tests/snippets/lab/use_cases → pygeai-0.5.0b3/pygeai/tests/snippets/lab/processes/jobs}/__init__.py +0 -0
  426. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +0 -0
  427. {pygeai-0.4.0b11/pygeai/tests/snippets/migrate → pygeai-0.5.0b3/pygeai/tests/snippets/lab/processes/kbs}/__init__.py +0 -0
  428. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/processes/kbs/create_kb.py +0 -0
  429. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/processes/kbs/get_kb.py +0 -0
  430. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +0 -0
  431. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/processes/kbs/try_all.py +0 -0
  432. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/processes/list_processes.py +0 -0
  433. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/runner_1.py +0 -0
  434. {pygeai-0.4.0b11/pygeai/tests/snippets/organization → pygeai-0.5.0b3/pygeai/tests/snippets/lab/samples}/__init__.py +0 -0
  435. {pygeai-0.4.0b11/pygeai/tests/snippets/rerank → pygeai-0.5.0b3/pygeai/tests/snippets/lab/strategies}/__init__.py +0 -0
  436. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +0 -0
  437. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +0 -0
  438. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +0 -0
  439. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +0 -0
  440. {pygeai-0.4.0b11/pygeai/tests/snippets/secrets → pygeai-0.5.0b3/pygeai/tests/snippets/lab/tools}/__init__.py +0 -0
  441. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +0 -0
  442. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/delete_tool.py +0 -0
  443. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/get_parameter.py +0 -0
  444. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/get_tool.py +0 -0
  445. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/list_tools.py +0 -0
  446. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/publish_tool_revision.py +0 -0
  447. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/set_parameters.py +0 -0
  448. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/tools/update_tool.py +0 -0
  449. {pygeai-0.4.0b11/pygeai/tests/snippets/usage_limit → pygeai-0.5.0b3/pygeai/tests/snippets/lab/use_cases}/__init__.py +0 -0
  450. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +0 -0
  451. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +0 -0
  452. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +0 -0
  453. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +0 -0
  454. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/create_web_designer.py +0 -0
  455. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/create_web_reader.py +0 -0
  456. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +0 -0
  457. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +0 -0
  458. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/update_web_designer.py +0 -0
  459. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +0 -0
  460. {pygeai-0.4.0b11/pygeai/vendor/a2a/auth → pygeai-0.5.0b3/pygeai/tests/snippets/migrate}/__init__.py +0 -0
  461. /pygeai-0.4.0b11/pygeai/vendor/a2a/py.typed → /pygeai-0.5.0b3/pygeai/tests/snippets/organization/__init__.py +0 -0
  462. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/organization/create_project.py +0 -0
  463. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/organization/delete_project.py +0 -0
  464. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/organization/export_request_data.py +0 -0
  465. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/organization/get_project_data.py +0 -0
  466. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/organization/get_project_list.py +0 -0
  467. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/organization/get_project_tokens.py +0 -0
  468. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/organization/update_project.py +0 -0
  469. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/rerank/rerank_chunks.py +0 -0
  470. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/usage_limit/delete_usage_limit.py +0 -0
  471. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/usage_limit/get_all_usage_limit_from_organization.py +0 -0
  472. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_organization.py +0 -0
  473. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_project.py +0 -0
  474. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/usage_limit/set_usage_limit_organization.py +0 -0
  475. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/usage_limit/set_usage_limit_project.py +0 -0
  476. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/usage_limit/update_usage_limit_organization.py +0 -0
  477. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/tests/snippets/usage_limit/update_usage_limit_project.py +0 -0
  478. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/__init__.py +0 -0
  479. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/auth/user.py +0 -0
  480. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/client/__init__.py +0 -0
  481. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/client/client.py +0 -0
  482. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/client/errors.py +0 -0
  483. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/client/helpers.py +0 -0
  484. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/__init__.py +0 -0
  485. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/agent_execution/__init__.py +0 -0
  486. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/agent_execution/agent_executor.py +0 -0
  487. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/agent_execution/context.py +0 -0
  488. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +0 -0
  489. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +0 -0
  490. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/apps/__init__.py +0 -0
  491. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +0 -0
  492. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +0 -0
  493. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +0 -0
  494. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +0 -0
  495. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/context.py +0 -0
  496. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/events/__init__.py +0 -0
  497. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/events/event_consumer.py +0 -0
  498. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/events/event_queue.py +0 -0
  499. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +0 -0
  500. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/events/queue_manager.py +0 -0
  501. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/request_handlers/__init__.py +0 -0
  502. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +0 -0
  503. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +0 -0
  504. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/request_handlers/request_handler.py +0 -0
  505. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/request_handlers/response_helpers.py +0 -0
  506. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/tasks/__init__.py +0 -0
  507. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +0 -0
  508. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +0 -0
  509. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/tasks/push_notifier.py +0 -0
  510. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/tasks/result_aggregator.py +0 -0
  511. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/tasks/task_manager.py +0 -0
  512. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/tasks/task_store.py +0 -0
  513. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/server/tasks/task_updater.py +0 -0
  514. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/types.py +0 -0
  515. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/utils/__init__.py +0 -0
  516. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/utils/artifact.py +0 -0
  517. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/utils/errors.py +0 -0
  518. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/utils/helpers.py +0 -0
  519. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/utils/message.py +0 -0
  520. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/utils/task.py +0 -0
  521. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai/vendor/a2a/utils/telemetry.py +0 -0
  522. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai.egg-info/dependency_links.txt +0 -0
  523. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai.egg-info/entry_points.txt +0 -0
  524. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai.egg-info/requires.txt +0 -0
  525. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/pygeai.egg-info/top_level.txt +0 -0
  526. {pygeai-0.4.0b11 → pygeai-0.5.0b3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygeai
3
- Version: 0.4.0b11
3
+ Version: 0.5.0b3
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
@@ -48,7 +48,7 @@ By using the Python SDK to interact with Globant Enterprise AI, you agree with t
48
48
  [Terms and Conditions](https://www.globant.com/enterprise-ai/terms-of-use)
49
49
 
50
50
  ## Compatibility
51
- This package is compatible with the Globant Enterprise AI release from June 2025.
51
+ This package is compatible with the Globant Enterprise AI release from November 2025.
52
52
 
53
53
  ## Configuration
54
54
 
@@ -60,22 +60,50 @@ Before using the SDK, you need to define `GEAI_API_KEY` (`$SAIA_APITOKEN`) and `
60
60
 
61
61
  **Note:** If you plan to use the [Evaluation Module](https://wiki.genexus.com/enterprise-ai/wiki?896,Evaluation), you must also define `GEAI_API_EVAL_URL`
62
62
 
63
+ ### Credentials file
64
+ The credentials file is organized via profiles, so one can interact with different instances of Globant Enterprise AI by just
65
+ referencing which profile one wishes to use. This also applies to different levels of permissions.
66
+
67
+ The structure of the credentials file is as follows:
68
+
69
+ ```
70
+ [default]
71
+ geai_api_key = <API_TOKEN>
72
+ geai_api_base_url = <GEAI_BASE_URL>
73
+ geai_api_evaul_url = <GEAI_EVALUATION_MODULE_URL>
74
+
75
+ [<another alias>]
76
+ geai_api_key = <API_TOKEN>
77
+ geai_api_base_url = <GEAI_BASE_URL>
78
+ geai_api_evaul_url = <GEAI_EVALUATION_MODULE_URL>
79
+
80
+ ```
81
+
82
+ After setting the profiles, one can use them with the --alias option, for example:
83
+
84
+ ```bash
85
+ geai --alias test llm list-providers
86
+ ```
87
+
63
88
  ## Modules
64
89
 
65
- The SDK consists of several modules, all accessible through a meta-package:
66
-
67
- - **`pygeai`**: This meta-package encapsulates all components of the SDK.
68
- - **`pygeai-cli`**: This package provides a command-line tool for interacting with the SDK.
69
- - **`pygeai-chat`**: This package offers facilities to chat with assistants/agents created in Globant Enterprise AI.
70
- - **`pygeai-dbg`**: This package includes a debugger to troubleshoot potential SDK issues and gain detailed insights into its operations.
71
- - **`pygeai-core`**: This package handles interactions with the fundamental components of Globant Enterprise AI, including users, groups, permissions, API keys, organizations, and [Projects](https://wiki.genexus.com/enterprise-ai/wiki?565,Projects).
72
- - **`pygeai-admin`**: This package enables interactions with the Globant Enterprise AI instance.
73
- - **`pygeai-lab`**: This package facilitates interactions with AI LAB.
74
- - **`pygeai-evaluation`**: This package provides functionality from the evaluation module.
75
- - **`pygeai-gam`**: This package allows interaction with [GAM] (https://wiki.genexus.com/commwiki/wiki?24746,Table+of+contents%3AGeneXus+Access+Manager+%28GAM%29,).
76
- - **`pygeai-assistant`**: This package handles interactions with various Assistants, including [Data Analyst Assistants](https://wiki.genexus.com/enterprise-ai/wiki?886,Data+Analyst+Assistant+2.0), [RAG Assistants](https://wiki.genexus.com/enterprise-ai/wiki?44,RAG+Assistants+Introduction), [Chat with Data Assistants](https://wiki.genexus.com/enterprise-ai/wiki?159,Chat+with+Data+Assistant), [Chat with API Assistants](https://wiki.genexus.com/enterprise-ai/wiki?110,API+Assistant), and [Chat Assistants](https://wiki.genexus.com/enterprise-ai/wiki?708,Chat+Assistant).
77
- - **`pygeai-organization`**: This package facilitates interactions with Organizations in Globant Enterprise AI.
78
- - **`pygeai-flows`**: This package enables interactions with [Flows](https://wiki.genexus.com/enterprise-ai/wiki?321,Flows+in+Globant+Enterprise+AI) [in development].
90
+ The SDK consists of several modules, all accessible through a single package `pygeai`:
91
+
92
+ - **`pygeai`**: The package encapsulates all components of the SDK.
93
+ - **`admin`**: Allows the user to interact with some of the administration endpoints of Globant Enterprise AI.
94
+ - **`assistant`**: This module handles interactions with various Assistants, including [Data Analyst Assistants](https://wiki.genexus.com/enterprise-ai/wiki?886,Data+Analyst+Assistant+2.0), [RAG Assistants](https://wiki.genexus.com/enterprise-ai/wiki?44,RAG+Assistants+Introduction), [Chat with Data Assistants](https://wiki.genexus.com/enterprise-ai/wiki?159,Chat+with+Data+Assistant), [Chat with API Assistants](https://wiki.genexus.com/enterprise-ai/wiki?110,API+Assistant), and [Chat Assistants](https://wiki.genexus.com/enterprise-ai/wiki?708,Chat+Assistant [soon to be deprecated]).
95
+ - **`chat`**: This module offers facilities to chat with assistants/agents created in Globant Enterprise AI.
96
+ - **`core`**: This module handles interactions with the fundamental components of Globant Enterprise.
97
+ - **`cli`**: This module provides a command-line tool for interacting with the SDK.
98
+ - **`dbg`**: This module includes a debugger to troubleshoot potential SDK issues and gain detailed insights into its operations.
99
+ - **`evaluation`**: This module provides functionality for the evaluation module.
100
+ - **`flows`**: This module enables interactions with [Flows](https://wiki.genexus.com/enterprise-ai/wiki?321,Flows+in+Globant+Enterprise+AI) [in development].
101
+ - **`gam`**: This module allows interaction with [GAM] (https://wiki.genexus.com/commwiki/wiki?24746,Table+of+contents%3AGeneXus+Access+Manager+%28GAM%29,).
102
+ - **`health`**: Provides an easy way to check the status of the Globant Enterprise AI instance one is using.
103
+ - **`lab`**: This module facilitates interactions with [The Lab] (https://docs.globant.ai/en/wiki?1671,The+Lab).
104
+ - **`organization`**: This module facilitates interactions with Organizations and [Projects](https://wiki.genexus.com/enterprise-ai/wiki?565,Projects) in Globant Enterprise AI.
105
+ - **`migration`**: This module provides functionality to migrate Agents, Tools and Projects between instances and organizations.
106
+ - **`proxy`**: This module handles [integrations with MCP and A2A] (https://docs.globant.ai/en/wiki?1179,Importing+Tools+using+MCP+and+A2A+Servers).
79
107
 
80
108
  ## Usage
81
109
 
@@ -9,7 +9,7 @@ By using the Python SDK to interact with Globant Enterprise AI, you agree with t
9
9
  [Terms and Conditions](https://www.globant.com/enterprise-ai/terms-of-use)
10
10
 
11
11
  ## Compatibility
12
- This package is compatible with the Globant Enterprise AI release from June 2025.
12
+ This package is compatible with the Globant Enterprise AI release from November 2025.
13
13
 
14
14
  ## Configuration
15
15
 
@@ -21,22 +21,50 @@ Before using the SDK, you need to define `GEAI_API_KEY` (`$SAIA_APITOKEN`) and `
21
21
 
22
22
  **Note:** If you plan to use the [Evaluation Module](https://wiki.genexus.com/enterprise-ai/wiki?896,Evaluation), you must also define `GEAI_API_EVAL_URL`
23
23
 
24
+ ### Credentials file
25
+ The credentials file is organized via profiles, so one can interact with different instances of Globant Enterprise AI by just
26
+ referencing which profile one wishes to use. This also applies to different levels of permissions.
27
+
28
+ The structure of the credentials file is as follows:
29
+
30
+ ```
31
+ [default]
32
+ geai_api_key = <API_TOKEN>
33
+ geai_api_base_url = <GEAI_BASE_URL>
34
+ geai_api_evaul_url = <GEAI_EVALUATION_MODULE_URL>
35
+
36
+ [<another alias>]
37
+ geai_api_key = <API_TOKEN>
38
+ geai_api_base_url = <GEAI_BASE_URL>
39
+ geai_api_evaul_url = <GEAI_EVALUATION_MODULE_URL>
40
+
41
+ ```
42
+
43
+ After setting the profiles, one can use them with the --alias option, for example:
44
+
45
+ ```bash
46
+ geai --alias test llm list-providers
47
+ ```
48
+
24
49
  ## Modules
25
50
 
26
- The SDK consists of several modules, all accessible through a meta-package:
27
-
28
- - **`pygeai`**: This meta-package encapsulates all components of the SDK.
29
- - **`pygeai-cli`**: This package provides a command-line tool for interacting with the SDK.
30
- - **`pygeai-chat`**: This package offers facilities to chat with assistants/agents created in Globant Enterprise AI.
31
- - **`pygeai-dbg`**: This package includes a debugger to troubleshoot potential SDK issues and gain detailed insights into its operations.
32
- - **`pygeai-core`**: This package handles interactions with the fundamental components of Globant Enterprise AI, including users, groups, permissions, API keys, organizations, and [Projects](https://wiki.genexus.com/enterprise-ai/wiki?565,Projects).
33
- - **`pygeai-admin`**: This package enables interactions with the Globant Enterprise AI instance.
34
- - **`pygeai-lab`**: This package facilitates interactions with AI LAB.
35
- - **`pygeai-evaluation`**: This package provides functionality from the evaluation module.
36
- - **`pygeai-gam`**: This package allows interaction with [GAM] (https://wiki.genexus.com/commwiki/wiki?24746,Table+of+contents%3AGeneXus+Access+Manager+%28GAM%29,).
37
- - **`pygeai-assistant`**: This package handles interactions with various Assistants, including [Data Analyst Assistants](https://wiki.genexus.com/enterprise-ai/wiki?886,Data+Analyst+Assistant+2.0), [RAG Assistants](https://wiki.genexus.com/enterprise-ai/wiki?44,RAG+Assistants+Introduction), [Chat with Data Assistants](https://wiki.genexus.com/enterprise-ai/wiki?159,Chat+with+Data+Assistant), [Chat with API Assistants](https://wiki.genexus.com/enterprise-ai/wiki?110,API+Assistant), and [Chat Assistants](https://wiki.genexus.com/enterprise-ai/wiki?708,Chat+Assistant).
38
- - **`pygeai-organization`**: This package facilitates interactions with Organizations in Globant Enterprise AI.
39
- - **`pygeai-flows`**: This package enables interactions with [Flows](https://wiki.genexus.com/enterprise-ai/wiki?321,Flows+in+Globant+Enterprise+AI) [in development].
51
+ The SDK consists of several modules, all accessible through a single package `pygeai`:
52
+
53
+ - **`pygeai`**: The package encapsulates all components of the SDK.
54
+ - **`admin`**: Allows the user to interact with some of the administration endpoints of Globant Enterprise AI.
55
+ - **`assistant`**: This module handles interactions with various Assistants, including [Data Analyst Assistants](https://wiki.genexus.com/enterprise-ai/wiki?886,Data+Analyst+Assistant+2.0), [RAG Assistants](https://wiki.genexus.com/enterprise-ai/wiki?44,RAG+Assistants+Introduction), [Chat with Data Assistants](https://wiki.genexus.com/enterprise-ai/wiki?159,Chat+with+Data+Assistant), [Chat with API Assistants](https://wiki.genexus.com/enterprise-ai/wiki?110,API+Assistant), and [Chat Assistants](https://wiki.genexus.com/enterprise-ai/wiki?708,Chat+Assistant [soon to be deprecated]).
56
+ - **`chat`**: This module offers facilities to chat with assistants/agents created in Globant Enterprise AI.
57
+ - **`core`**: This module handles interactions with the fundamental components of Globant Enterprise.
58
+ - **`cli`**: This module provides a command-line tool for interacting with the SDK.
59
+ - **`dbg`**: This module includes a debugger to troubleshoot potential SDK issues and gain detailed insights into its operations.
60
+ - **`evaluation`**: This module provides functionality for the evaluation module.
61
+ - **`flows`**: This module enables interactions with [Flows](https://wiki.genexus.com/enterprise-ai/wiki?321,Flows+in+Globant+Enterprise+AI) [in development].
62
+ - **`gam`**: This module allows interaction with [GAM] (https://wiki.genexus.com/commwiki/wiki?24746,Table+of+contents%3AGeneXus+Access+Manager+%28GAM%29,).
63
+ - **`health`**: Provides an easy way to check the status of the Globant Enterprise AI instance one is using.
64
+ - **`lab`**: This module facilitates interactions with [The Lab] (https://docs.globant.ai/en/wiki?1671,The+Lab).
65
+ - **`organization`**: This module facilitates interactions with Organizations and [Projects](https://wiki.genexus.com/enterprise-ai/wiki?565,Projects) in Globant Enterprise AI.
66
+ - **`migration`**: This module provides functionality to migrate Agents, Tools and Projects between instances and organizations.
67
+ - **`proxy`**: This module handles [integrations with MCP and A2A] (https://docs.globant.ai/en/wiki?1179,Importing+Tools+using+MCP+and+A2A+Servers).
40
68
 
41
69
  ## Usage
42
70
 
@@ -4,7 +4,7 @@ import sys
4
4
  from pathlib import Path
5
5
 
6
6
  __author__ = 'Globant'
7
- __version__ = '0.4.0'
7
+ __version__ = '0.5.0'
8
8
 
9
9
  # Add vendor directory to Python path
10
10
  package_root = Path(__file__).parent
@@ -4,5 +4,5 @@ GEAI - ClI
4
4
  Command line interface to interact with Globant Enterprise AI.
5
5
  """
6
6
 
7
- __version__ = '0.4.0'
7
+ __version__ = '0.5.0'
8
8
 
@@ -30,7 +30,7 @@ class Session(metaclass=Singleton):
30
30
  eval_url: Optional[str] = None,
31
31
  ):
32
32
  if not api_key or not base_url:
33
- raise MissingRequirementException("Cannot instantiate session without api_key and base_url")
33
+ logger.warning("Cannot instantiate session without api_key and base_url")
34
34
 
35
35
  self.__api_key = api_key
36
36
  self.__base_url = base_url
@@ -114,9 +114,7 @@ def get_settings():
114
114
 
115
115
  if __name__ == "__main__":
116
116
  settings = get_settings()
117
- geai_api_key = settings.get_api_key()
118
117
  geai_base_url = settings.get_base_url()
119
118
  geai_eval_url = settings.get_eval_url()
120
- print(f"api_key: {geai_api_key}")
121
119
  print(f"base_url: {geai_base_url}")
122
120
  print(f"eval_url: {geai_eval_url}")
@@ -559,7 +559,7 @@ class AILabManager:
559
559
  tool_id: Optional[str] = None,
560
560
  tool_public_name: Optional[str] = None,
561
561
  parameters: List[ToolParameter] = None
562
- ) -> Tool:
562
+ ) -> EmptyResponse:
563
563
  """
564
564
  Sets or updates parameters for a specific tool in the specified project.
565
565
 
@@ -591,7 +591,7 @@ class AILabManager:
591
591
  logger.error(f"Error received while setting tool parameters: {error}")
592
592
  raise APIError(f"Error received while setting tool parameters: {error}")
593
593
 
594
- result = ToolMapper.map_to_tool(response_data)
594
+ result = ResponseMapper.map_to_empty_response(response_data or "Parameter set successfully")
595
595
  return result
596
596
 
597
597
  def list_reasoning_strategies(
@@ -114,7 +114,8 @@ class ToolClient(AILabClient):
114
114
  headers=headers,
115
115
  data=data
116
116
  )
117
- if response.status_code != 200:
117
+
118
+ if response.status_code >= 300:
118
119
  logger.error(f"Invalid status code returned from the API endpoint: {response.text}")
119
120
  raise APIResponseError(f"API returned an error: {response.text}")
120
121
  try:
@@ -168,7 +169,7 @@ class ToolClient(AILabClient):
168
169
  "allowExternal": allow_external
169
170
  }
170
171
  )
171
- if response.status_code != 200:
172
+ if response.status_code >= 300:
172
173
  logger.error(f"Invalid status code returned from the API endpoint: {response.text}")
173
174
  raise APIResponseError(f"API returned an error: {response.text}")
174
175
  try:
@@ -212,7 +213,7 @@ class ToolClient(AILabClient):
212
213
  "allowDrafts": allow_drafts,
213
214
  }
214
215
  )
215
- if response.status_code != 200:
216
+ if response.status_code >= 300:
216
217
  logger.error(f"Invalid status code returned from the API endpoint: {response.text}")
217
218
  raise APIResponseError(f"API returned an error: {response.text}")
218
219
  try:
@@ -255,7 +256,7 @@ class ToolClient(AILabClient):
255
256
  endpoint=endpoint,
256
257
  headers=headers
257
258
  )
258
- if response.status_code != 200:
259
+ if response.status_code >= 300:
259
260
  logger.error(f"Invalid status code returned from the API endpoint: {response.text}")
260
261
  raise APIResponseError(f"API returned an error: {response.text}")
261
262
 
@@ -375,7 +376,7 @@ class ToolClient(AILabClient):
375
376
  headers=headers,
376
377
  data=data
377
378
  )
378
- if response.status_code != 200:
379
+ if response.status_code >= 300:
379
380
  logger.error(f"Invalid status code returned from the API endpoint: {response.text}")
380
381
  raise APIResponseError(f"API returned an error: {response.text}")
381
382
  try:
@@ -463,7 +464,7 @@ class ToolClient(AILabClient):
463
464
  "allowDrafts": allow_drafts,
464
465
  }
465
466
  )
466
- if response.status_code != 200:
467
+ if response.status_code >= 300:
467
468
  logger.error(f"Invalid status code returned from the API endpoint: {response.text}")
468
469
  raise APIResponseError(f"API returned an error: {response.text}")
469
470
  try:
@@ -520,16 +521,11 @@ class ToolClient(AILabClient):
520
521
  headers=headers,
521
522
  data=data
522
523
  )
523
- if response.status_code != 200:
524
- logger.error(f"Invalid status code returned from the API endpoint: {response.text}")
525
- raise APIResponseError(f"API returned an error: {response.text}")
526
- try:
527
- result = response.json()
528
- except JSONDecodeError as e:
529
- logger.error(f"Unable to set parameters for tool {tool_id or tool_public_name} in project {self.project_id}: JSON parsing error (status {response.status_code}): {e}. Response: {response.text}")
530
- raise InvalidAPIResponseException(f"Unable to set parameters for tool {tool_id or tool_public_name} in project {self.project_id}: {response.text}")
531
-
532
- return result
524
+ if response.status_code != 204:
525
+ logger.error(f"Unable to set parameter for tool {tool_id or tool_public_name} from project {self.project_id}: JSON parsing error (status {response.status_code}). Response: {response.text}")
526
+ raise InvalidAPIResponseException(f"Unable to set parameter for tool {tool_id or tool_public_name} from project {self.project_id}: {response.text}")
527
+ else:
528
+ return {}
533
529
 
534
530
  def export_tool(
535
531
  self,
@@ -559,7 +555,7 @@ class ToolClient(AILabClient):
559
555
  endpoint=endpoint,
560
556
  headers=headers,
561
557
  )
562
- if response.status_code != 200:
558
+ if response.status_code >= 300:
563
559
  logger.error(f"Invalid status code returned from the API endpoint: {response.text}")
564
560
  raise APIResponseError(f"API returned an error: {response.text}")
565
561
  try:
@@ -0,0 +1,91 @@
1
+ from unittest import TestCase
2
+ import uuid
3
+ from pygeai.assistant.managers import AssistantManager
4
+ from pygeai.core.models import WelcomeData, LlmSettings
5
+ from pygeai.assistant.rag.models import (
6
+ Search,
7
+ RetrieverOptions,
8
+ SearchOptions,
9
+ ChunkOptions,
10
+ IndexOptions,
11
+ RAGAssistant,
12
+ )
13
+
14
+
15
+ class TestAssistantCreateRagIntegration(TestCase):
16
+
17
+ def setUp(self):
18
+ """
19
+ Set up the test environment.
20
+ """
21
+ self.assistant_manager = AssistantManager(alias="beta")
22
+
23
+ self.new_rag = self.__load_rag()
24
+ self.created_rag: RAGAssistant = None
25
+
26
+
27
+ def tearDown(self):
28
+ """
29
+ Clean up after each test if necessary.
30
+ This can be used to delete the created tool
31
+ """
32
+ if isinstance(self.created_rag, RAGAssistant):
33
+ self.assistant_manager.delete_assistant(assistant_name=self.created_rag.name)
34
+
35
+
36
+ def __load_rag(self):
37
+ llm_options = LlmSettings(
38
+ cache=False,
39
+ temperature=0.1,
40
+ max_tokens=999,
41
+ model_name="gpt-3.5-turbo-16k",
42
+ n=1,
43
+ presence_penalty=0,
44
+ frequency_penalty=0,
45
+ provider="OpenAI",
46
+ stream=False,
47
+ top_p=1.0,
48
+ type=None,
49
+ verbose=True,
50
+ )
51
+
52
+ retriever_options = RetrieverOptions(type="vectorStore")
53
+
54
+ search_options = SearchOptions(
55
+ history_count=2,
56
+ llm=llm_options,
57
+ search=Search(
58
+ k=5,
59
+ return_source_documents=False,
60
+ score_threshold=0,
61
+ prompt="Use {context} and {question}",
62
+ template="",
63
+ ),
64
+ retriever=retriever_options,
65
+ )
66
+
67
+ chunk_options = ChunkOptions(chunk_size=999, chunk_overlap=0)
68
+
69
+ index_options = IndexOptions(chunks=chunk_options)
70
+
71
+ welcome_data = WelcomeData(
72
+ title="Test Profile Welcome Data",
73
+ description="Test Profile with WelcomeData",
74
+ features=[],
75
+ examples_prompt=[],
76
+ )
77
+
78
+ return RAGAssistant(
79
+ name=str(uuid.uuid4()),
80
+ description="Test Profile with WelcomeData",
81
+ search_options=search_options,
82
+ index_options=index_options,
83
+ welcome_data=welcome_data,
84
+ )
85
+
86
+
87
+ def test_create_rag_assistant(self):
88
+ rag_assistant = self.__load_rag()
89
+ self.created_rag = self.assistant_manager.create_assistant(rag_assistant)
90
+
91
+ self.assertIsInstance(self.created_rag, RAGAssistant, "Failed to create RAG assistant")
@@ -56,13 +56,9 @@ class TestChatGenerateImageIntegration(TestCase):
56
56
  self.new_image["model"] = ""
57
57
  created_image = self.__generate_image()
58
58
 
59
- self.assertEqual(
60
- created_image["error"]["code"], 400,
61
- "Expected a 400 code for no model"
62
- )
63
59
  self.assertEqual(
64
60
  created_image["error"]["message"],
65
- "Invalid 'model' name. Must follow pattern {provider}/{modelName}",
61
+ "LLM Provider NOT provided. Pass in the LLM provider you are trying to call",
66
62
  "Expected an error message when no model is provided"
67
63
  )
68
64
 
@@ -33,7 +33,6 @@ class TestAILabCreateAgentIntegration(TestCase):
33
33
  access_scope="public",
34
34
  public_name=f"public_{random_str}",
35
35
  job_description="Translator",
36
- avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
37
36
  description="Agent that translates from any language to english.",
38
37
  agent_data=AgentData(
39
38
  prompt=Prompt(
@@ -142,7 +141,6 @@ class TestAILabCreateAgentIntegration(TestCase):
142
141
  self.assertEqual(prompt.inputs, agent.agent_data.prompt.inputs)
143
142
 
144
143
 
145
- @unittest.skip("Skipping test due to mismatch in expected behavior")
146
144
  def test_create_agent_without_required_data(self):
147
145
  test_params = [ True, False ]
148
146
 
@@ -152,12 +150,19 @@ class TestAILabCreateAgentIntegration(TestCase):
152
150
  self.new_agent = Agent(
153
151
  name=str(uuid.uuid4())
154
152
  )
155
- with self.assertRaises(APIError) as exception:
156
- self.__create_agent(automatic_publish=auto_publish)
157
-
158
- #TODO: Change validation error to a more specific one
159
- self.assertIn("400",str(exception.exception))
160
- self.assertIn("Bad Request",str(exception.exception))
153
+ if auto_publish:
154
+
155
+ with self.assertRaises(APIError) as exception:
156
+ self.__create_agent(automatic_publish=auto_publish)
157
+
158
+ #TODO: Change validation error to a more specific one
159
+ self.assertIn(
160
+ "A valid prompt is required. To be valid, it must provide clear instructions to the model",
161
+ str(exception.exception)
162
+ )
163
+ else:
164
+ created_agent = self.__create_agent(automatic_publish=auto_publish)
165
+ self.assertTrue(isinstance(created_agent, Agent), "Expected a created agent")
161
166
 
162
167
 
163
168
  def test_create_agent_no_name(self):
@@ -1,4 +1,5 @@
1
1
  from unittest import TestCase
2
+ import unittest
2
3
  from pygeai.lab.managers import AILabManager
3
4
  from pygeai.lab.models import SharingLink
4
5
  from pygeai.core.common.exceptions import APIError, MissingRequirementException
@@ -16,7 +17,7 @@ class TestAILabCreateSharingLinkIntegration(TestCase):
16
17
  agent_id=self.agent_id if agent_id is None else agent_id
17
18
  )
18
19
 
19
-
20
+ @unittest.skip("Endpoint is not found. Validate if it was deleted")
20
21
  def test_create_sharing_link(self):
21
22
  shared_link = self.__create_sharing_link()
22
23
  self.assertIsInstance(shared_link, SharingLink, "Expected response to be an instance of SharingLink")
@@ -46,6 +47,7 @@ class TestAILabCreateSharingLinkIntegration(TestCase):
46
47
  )
47
48
 
48
49
 
50
+ @unittest.skip("Endpoint is not found. Validate if it was deleted")
49
51
  def test_create_sharing_link_no_agent_id(self):
50
52
  with self.assertRaises(MissingRequirementException) as context:
51
53
  self.__create_sharing_link(agent_id="")
@@ -56,6 +58,7 @@ class TestAILabCreateSharingLinkIntegration(TestCase):
56
58
  )
57
59
 
58
60
 
61
+ @unittest.skip("Endpoint is not found. Validate if it was deleted")
59
62
  def test_create_sharing_link_invalid_agent_id(self):
60
63
  with self.assertRaises(APIError) as exception:
61
64
  invalid_id = "0026e53d-ea78-4cac-af9f-12650invalid"
@@ -28,7 +28,6 @@ class TestAILabPublishAgentRevisionIntegration(TestCase):
28
28
  access_scope="public",
29
29
  public_name=f"public_{random_str}",
30
30
  job_description=f"SummarizerAgent{random_str}",
31
- avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
32
31
  description=f"Agent that summarized documents. {random_str}",
33
32
  agent_data=AgentData(
34
33
  prompt=Prompt(
@@ -25,7 +25,6 @@ class TestAILabUpdateAgentIntegration(TestCase):
25
25
  access_scope="public",
26
26
  public_name=f"public_{random_str}",
27
27
  job_description=f"SummarizerAgent{random_str}",
28
- avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
29
28
  description=f"Agent that summarized documents. {random_str}",
30
29
  agent_data=AgentData(
31
30
  prompt=Prompt(
@@ -192,23 +191,21 @@ class TestAILabUpdateAgentIntegration(TestCase):
192
191
  self.agent_to_update.agent_data.prompt.instructions = ""
193
192
 
194
193
  for auto_publish in test_params:
195
- with self.subTest(input=auto_publish):
196
- with self.assertRaises(ValidationError) as exception:
197
- self.__update_agent(automatic_publish=auto_publish)
198
-
199
- self.assertIn(
200
- "instructions",
201
- str(exception.exception),
202
- f"Expected a validation error about allowed values for instructions when autopublish is {'enabled' if auto_publish else 'disabled'}"
203
- )
204
- self.assertIn(
205
- "Input should be a valid string [type=string_type, input_value=None, input_type=NoneType]",
206
- str(exception.exception),
207
- f"Expected a validation error about allowed values for instructions when autopublish is {'enabled' if auto_publish else 'disabled'}"
208
- )
194
+ with self.subTest(input=auto_publish):
195
+ if auto_publish == True:
196
+ with self.assertRaises(ValidationError) as exception:
197
+ self.__update_agent(automatic_publish=auto_publish)
198
+ self.assertIn(
199
+ "agent_data.prompt must have at least instructions for publication",
200
+ str(exception.exception),
201
+ f"Expected a validation error about allowed values for instructions when autopublish is {'enabled' if auto_publish else 'disabled'}"
202
+ )
203
+ else:
204
+ updated_agent = self.__update_agent(automatic_publish=auto_publish)
205
+ self.assertTrue(isinstance(updated_agent, Agent))
209
206
 
210
- # TODO: Change validation when API behavior is fixed
211
- def test_update_agent_no_model(self):
207
+
208
+ def test_update_agent_no_model(self):
212
209
  test_params = [ True, False ]
213
210
  self.agent_to_update.agent_data.models[0].name = ""
214
211
 
@@ -218,9 +215,8 @@ class TestAILabUpdateAgentIntegration(TestCase):
218
215
  # 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
216
  if auto_publish == False:
220
217
  updated_agent = self.__update_agent(automatic_publish=auto_publish)
221
- error_msg = str(exception.exception)
222
218
 
223
- self.assertTrue(self.isInstance(updated_agent), Agent)
219
+ self.assertTrue(isinstance(updated_agent, Agent))
224
220
  else:
225
221
  with self.assertRaises(APIError) as exception:
226
222
  self.__update_agent(automatic_publish=auto_publish)