pygeai 0.4.0b3__tar.gz → 0.4.0b4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pygeai might be problematic. Click here for more details.

Files changed (507) hide show
  1. {pygeai-0.4.0b3/pygeai.egg-info → pygeai-0.4.0b4}/PKG-INFO +4 -4
  2. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/README.md +3 -3
  3. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/models.py +1 -1
  4. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/models.py +1 -1
  5. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/processes/mappers.py +2 -2
  6. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/tools/mappers.py +5 -5
  7. pygeai-0.4.0b4/pygeai/tests/integration/chat/test_generate_image.py +162 -0
  8. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_create_agent.py +9 -12
  9. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_update_agent.py +6 -14
  10. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/tools/test_create_tool.py +0 -1
  11. pygeai-0.4.0b4/pygeai/tests/integration/lab/tools/test_list_tools.py +38 -0
  12. pygeai-0.4.0b4/pygeai/vendor/a2a/py.typed +0 -0
  13. {pygeai-0.4.0b3 → pygeai-0.4.0b4/pygeai.egg-info}/PKG-INFO +4 -4
  14. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/SOURCES.txt +3 -0
  15. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pyproject.toml +1 -1
  16. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/LICENSE +0 -0
  17. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/MANIFEST.in +0 -0
  18. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/docs/geai-proxy/README.md +0 -0
  19. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/__init__.py +0 -0
  20. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/admin/__init__.py +0 -0
  21. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/admin/clients.py +0 -0
  22. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/admin/endpoints.py +0 -0
  23. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/__init__.py +0 -0
  24. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/clients.py +0 -0
  25. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data/__init__.py +0 -0
  26. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data/clients.py +0 -0
  27. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data_analyst/__init__.py +0 -0
  28. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data_analyst/clients.py +0 -0
  29. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/data_analyst/endpoints.py +0 -0
  30. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/endpoints.py +0 -0
  31. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/managers.py +0 -0
  32. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/mappers.py +0 -0
  33. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/__init__.py +0 -0
  34. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/clients.py +0 -0
  35. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/endpoints.py +0 -0
  36. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/mappers.py +0 -0
  37. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/assistant/rag/responses.py +0 -0
  38. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/__init__.py +0 -0
  39. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/clients.py +0 -0
  40. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/endpoints.py +0 -0
  41. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/iris.py +0 -0
  42. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/managers.py +0 -0
  43. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/session.py +0 -0
  44. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/settings.py +0 -0
  45. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/chat/ui.py +0 -0
  46. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/__init__.py +0 -0
  47. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/__main__.py +0 -0
  48. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/__init__.py +0 -0
  49. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/admin.py +0 -0
  50. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/assistant.py +0 -0
  51. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/base.py +0 -0
  52. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/builders.py +0 -0
  53. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/chat.py +0 -0
  54. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/common.py +0 -0
  55. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/configuration.py +0 -0
  56. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/embeddings.py +0 -0
  57. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/evaluation.py +0 -0
  58. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/feedback.py +0 -0
  59. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/files.py +0 -0
  60. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/flows/__init__.py +0 -0
  61. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/gam.py +0 -0
  62. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/lab/__init__.py +0 -0
  63. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/lab/ai_lab.py +0 -0
  64. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/lab/common.py +0 -0
  65. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/lab/spec.py +0 -0
  66. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/llm.py +0 -0
  67. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/migrate.py +0 -0
  68. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/options.py +0 -0
  69. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/organization.py +0 -0
  70. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/rag.py +0 -0
  71. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/rerank.py +0 -0
  72. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/secrets.py +0 -0
  73. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/usage_limits.py +0 -0
  74. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/validators.py +0 -0
  75. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/commands/version.py +0 -0
  76. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/geai.py +0 -0
  77. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/geai_proxy.py +0 -0
  78. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/install_man.py +0 -0
  79. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/parsers.py +0 -0
  80. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/texts/__init__.py +0 -0
  81. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/cli/texts/help.py +0 -0
  82. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/__init__.py +0 -0
  83. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/__init__.py +0 -0
  84. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/clients.py +0 -0
  85. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/mappers.py +0 -0
  86. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/models.py +0 -0
  87. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/responses.py +0 -0
  88. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/base/session.py +0 -0
  89. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/common/__init__.py +0 -0
  90. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/common/config.py +0 -0
  91. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/common/decorators.py +0 -0
  92. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/common/exceptions.py +0 -0
  93. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/__init__.py +0 -0
  94. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/clients.py +0 -0
  95. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/endpoints.py +0 -0
  96. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/managers.py +0 -0
  97. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/mappers.py +0 -0
  98. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/models.py +0 -0
  99. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/embeddings/responses.py +0 -0
  100. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/feedback/__init__.py +0 -0
  101. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/feedback/clients.py +0 -0
  102. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/feedback/endpoints.py +0 -0
  103. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/feedback/models.py +0 -0
  104. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/__init__.py +0 -0
  105. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/clients.py +0 -0
  106. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/endpoints.py +0 -0
  107. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/managers.py +0 -0
  108. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/mappers.py +0 -0
  109. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/models.py +0 -0
  110. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/files/responses.py +0 -0
  111. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/handlers.py +0 -0
  112. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/llm/__init__.py +0 -0
  113. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/llm/clients.py +0 -0
  114. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/llm/endpoints.py +0 -0
  115. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/models.py +0 -0
  116. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/plugins/__init__.py +0 -0
  117. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/plugins/clients.py +0 -0
  118. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/plugins/endpoints.py +0 -0
  119. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/plugins/models.py +0 -0
  120. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/__init__.py +0 -0
  121. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/clients.py +0 -0
  122. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/endpoints.py +0 -0
  123. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/managers.py +0 -0
  124. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/mappers.py +0 -0
  125. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/rerank/models.py +0 -0
  126. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/responses.py +0 -0
  127. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/secrets/__init__.py +0 -0
  128. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/secrets/clients.py +0 -0
  129. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/secrets/endpoints.py +0 -0
  130. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/__init__.py +0 -0
  131. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/llm/__init__.py +0 -0
  132. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/llm/model.py +0 -0
  133. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/llm/providers.py +0 -0
  134. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/response.py +0 -0
  135. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/services/rest.py +0 -0
  136. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/singleton.py +0 -0
  137. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/utils/__init__.py +0 -0
  138. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/core/utils/console.py +0 -0
  139. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/dbg/__init__.py +0 -0
  140. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/dbg/debugger.py +0 -0
  141. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/__init__.py +0 -0
  142. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/clients.py +0 -0
  143. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/dataset/__init__.py +0 -0
  144. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/dataset/clients.py +0 -0
  145. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/dataset/endpoints.py +0 -0
  146. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/plan/__init__.py +0 -0
  147. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/plan/clients.py +0 -0
  148. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/plan/endpoints.py +0 -0
  149. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/result/__init__.py +0 -0
  150. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/result/clients.py +0 -0
  151. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/evaluation/result/endpoints.py +0 -0
  152. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/flows/__init__.py +0 -0
  153. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/flows/endpoints.py +0 -0
  154. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/flows/models.py +0 -0
  155. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/gam/__init__.py +0 -0
  156. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/gam/clients.py +0 -0
  157. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/gam/endpoints.py +0 -0
  158. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/health/__init__.py +0 -0
  159. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/health/clients.py +0 -0
  160. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/health/endpoints.py +0 -0
  161. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/__init__.py +0 -0
  162. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/agents/__init__.py +0 -0
  163. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/agents/clients.py +0 -0
  164. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/agents/endpoints.py +0 -0
  165. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/agents/mappers.py +0 -0
  166. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/constants.py +0 -0
  167. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/managers.py +0 -0
  168. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/processes/__init__.py +0 -0
  169. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/processes/clients.py +0 -0
  170. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/processes/endpoints.py +0 -0
  171. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/runners.py +0 -0
  172. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/spec/__init__.py +0 -0
  173. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/spec/loader.py +0 -0
  174. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/spec/parsers.py +0 -0
  175. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/strategies/__init__.py +0 -0
  176. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/strategies/clients.py +0 -0
  177. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/strategies/endpoints.py +0 -0
  178. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/strategies/mappers.py +0 -0
  179. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/tools/__init__.py +0 -0
  180. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/tools/clients.py +0 -0
  181. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/lab/tools/endpoints.py +0 -0
  182. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/man/__init__.py +0 -0
  183. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/man/man1/__init__.py +0 -0
  184. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/man/man1/geai-proxy.1 +0 -0
  185. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/man/man1/geai.1 +0 -0
  186. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/migration/__init__.py +0 -0
  187. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/migration/strategies.py +0 -0
  188. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/migration/tools.py +0 -0
  189. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/__init__.py +0 -0
  190. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/clients.py +0 -0
  191. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/endpoints.py +0 -0
  192. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/__init__.py +0 -0
  193. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/clients.py +0 -0
  194. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/endpoints.py +0 -0
  195. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/managers.py +0 -0
  196. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/limits/mappers.py +0 -0
  197. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/managers.py +0 -0
  198. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/mappers.py +0 -0
  199. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/organization/responses.py +0 -0
  200. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/__init__.py +0 -0
  201. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/clients.py +0 -0
  202. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/config.py +0 -0
  203. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/managers.py +0 -0
  204. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/servers.py +0 -0
  205. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/proxy/tool.py +0 -0
  206. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/__init__.py +0 -0
  207. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/admin/__init__.py +0 -0
  208. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/admin/test_clients.py +0 -0
  209. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/__init__.py +0 -0
  210. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/rag/__init__.py +0 -0
  211. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/rag/test_clients.py +0 -0
  212. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/rag/test_mappers.py +0 -0
  213. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/rag/test_models.py +0 -0
  214. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/test_clients.py +0 -0
  215. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/test_managers.py +0 -0
  216. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/assistants/test_mappers.py +0 -0
  217. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/__init__.py +0 -0
  218. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/test_clients.py +0 -0
  219. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/test_iris.py +0 -0
  220. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/test_session.py +0 -0
  221. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/chat/test_ui.py +0 -0
  222. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/__init__.py +0 -0
  223. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/__init__.py +0 -0
  224. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/lab/__init__.py +0 -0
  225. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/lab/test_ai_lab.py +0 -0
  226. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/lab/test_common.py +0 -0
  227. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/lab/test_spec.py +0 -0
  228. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_assistant.py +0 -0
  229. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_chat.py +0 -0
  230. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_common.py +0 -0
  231. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_embeddings.py +0 -0
  232. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_feedback.py +0 -0
  233. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_files.py +0 -0
  234. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_gam.py +0 -0
  235. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_llm.py +0 -0
  236. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_migrate.py +0 -0
  237. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_organization.py +0 -0
  238. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_rag.py +0 -0
  239. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_rerank.py +0 -0
  240. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_show_help.py +0 -0
  241. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_usage_limits.py +0 -0
  242. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_validators.py +0 -0
  243. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/commands/test_version.py +0 -0
  244. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/cli/test_parsers.py +0 -0
  245. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/__init__.py +0 -0
  246. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/__init__.py +0 -0
  247. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/data/__init__.py +0 -0
  248. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/data/mappers.py +0 -0
  249. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/data/models.py +0 -0
  250. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/test_mappers.py +0 -0
  251. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/base/test_models.py +0 -0
  252. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/common/__init__.py +0 -0
  253. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/common/data/__init__.py +0 -0
  254. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/common/test_config.py +0 -0
  255. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/common/test_decorators.py +0 -0
  256. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/embeddings/__init__.py +0 -0
  257. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/embeddings/test_clients.py +0 -0
  258. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/feedback/__init__.py +0 -0
  259. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/feedback/test_clients.py +0 -0
  260. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/__init__.py +0 -0
  261. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/test_clients.py +0 -0
  262. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/test_managers.py +0 -0
  263. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/test_models.py +0 -0
  264. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/files/test_responses.py +0 -0
  265. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/llm/__init__.py +0 -0
  266. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/llm/test_clients.py +0 -0
  267. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/rerank/__init__.py +0 -0
  268. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/rerank/test_clients.py +0 -0
  269. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/rerank/test_managers.py +0 -0
  270. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/rerank/test_mappers.py +0 -0
  271. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/secrets/__init__.py +0 -0
  272. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/secrets/test_clients.py +0 -0
  273. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/services/__init__.py +0 -0
  274. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/services/test_rest.py +0 -0
  275. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/test_handlers.py +0 -0
  276. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/utils/__init__.py +0 -0
  277. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/core/utils/test_console.py +0 -0
  278. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/dbg/__init__.py +0 -0
  279. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/dbg/test_debugger.py +0 -0
  280. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/gam/__init__.py +0 -0
  281. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/gam/test_clients.py +0 -0
  282. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/health/__init__.py +0 -0
  283. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/health/test_clients.py +0 -0
  284. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/__init__.py +0 -0
  285. {pygeai-0.4.0b3/pygeai/tests/integration/lab → pygeai-0.4.0b4/pygeai/tests/integration/chat}/__init__.py +0 -0
  286. {pygeai-0.4.0b3/pygeai/tests/integration/lab/agents → pygeai-0.4.0b4/pygeai/tests/integration/lab}/__init__.py +0 -0
  287. {pygeai-0.4.0b3/pygeai/tests/integration/lab/tools → pygeai-0.4.0b4/pygeai/tests/integration/lab/agents}/__init__.py +0 -0
  288. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_agents_list.py +0 -0
  289. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_create_sharing_link.py +0 -0
  290. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_delete_agent.py +0 -0
  291. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_get_agent.py +0 -0
  292. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +0 -0
  293. {pygeai-0.4.0b3/pygeai/tests/lab → pygeai-0.4.0b4/pygeai/tests/integration/lab/tools}/__init__.py +0 -0
  294. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/tools/test_delete_tool.py +0 -0
  295. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/integration/lab/tools/test_get_tool.py +0 -0
  296. {pygeai-0.4.0b3/pygeai/tests/lab/agents → pygeai-0.4.0b4/pygeai/tests/lab}/__init__.py +0 -0
  297. {pygeai-0.4.0b3/pygeai/tests/lab/processes → pygeai-0.4.0b4/pygeai/tests/lab/agents}/__init__.py +0 -0
  298. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/agents/test_clients.py +0 -0
  299. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/agents/test_mappers.py +0 -0
  300. {pygeai-0.4.0b3/pygeai/tests/lab/spec → pygeai-0.4.0b4/pygeai/tests/lab/processes}/__init__.py +0 -0
  301. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/processes/test_clients.py +0 -0
  302. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/processes/test_mappers.py +0 -0
  303. {pygeai-0.4.0b3/pygeai/tests/lab/strategies → pygeai-0.4.0b4/pygeai/tests/lab/spec}/__init__.py +0 -0
  304. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/spec/test_loader.py +0 -0
  305. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/spec/test_parsers.py +0 -0
  306. {pygeai-0.4.0b3/pygeai/tests/lab/tools → pygeai-0.4.0b4/pygeai/tests/lab/strategies}/__init__.py +0 -0
  307. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/strategies/test_clients.py +0 -0
  308. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/strategies/test_mappers.py +0 -0
  309. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/test_managers.py +0 -0
  310. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/test_mappers.py +0 -0
  311. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/test_models.py +0 -0
  312. {pygeai-0.4.0b3/pygeai/tests/migration → pygeai-0.4.0b4/pygeai/tests/lab/tools}/__init__.py +0 -0
  313. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/tools/test_clients.py +0 -0
  314. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/lab/tools/test_mappers.py +0 -0
  315. {pygeai-0.4.0b3/pygeai/tests/organization → pygeai-0.4.0b4/pygeai/tests/migration}/__init__.py +0 -0
  316. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/migration/test_strategies.py +0 -0
  317. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/migration/test_tools.py +0 -0
  318. {pygeai-0.4.0b3/pygeai/tests/organization/limits → pygeai-0.4.0b4/pygeai/tests/organization}/__init__.py +0 -0
  319. {pygeai-0.4.0b3/pygeai/tests/snippets → pygeai-0.4.0b4/pygeai/tests/organization/limits}/__init__.py +0 -0
  320. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/limits/test_clients.py +0 -0
  321. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/limits/test_managers.py +0 -0
  322. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/test_clients.py +0 -0
  323. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/test_managers.py +0 -0
  324. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/organization/test_mappers.py +0 -0
  325. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/__init__.py +0 -0
  326. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_clients.py +0 -0
  327. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_config.py +0 -0
  328. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_integration.py +0 -0
  329. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_managers.py +0 -0
  330. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_servers.py +0 -0
  331. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/proxy/test_tool.py +0 -0
  332. {pygeai-0.4.0b3/pygeai/tests/snippets/assistants → pygeai-0.4.0b4/pygeai/tests/snippets}/__init__.py +0 -0
  333. {pygeai-0.4.0b3/pygeai/tests/snippets/assistants/data_analyst → pygeai-0.4.0b4/pygeai/tests/snippets/assistants}/__init__.py +0 -0
  334. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/create_chat_assistant.py +0 -0
  335. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/create_text_assistant.py +0 -0
  336. {pygeai-0.4.0b3/pygeai/tests/snippets/assistants/rag → pygeai-0.4.0b4/pygeai/tests/snippets/assistants/data_analyst}/__init__.py +0 -0
  337. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/data_analyst/extend_and_check.py +0 -0
  338. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/data_analyst/extend_dataset.py +0 -0
  339. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/data_analyst/get_status.py +0 -0
  340. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/file_summarizer_assistant.py +0 -0
  341. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/get_assistant_data.py +0 -0
  342. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/get_assistant_list.py +0 -0
  343. {pygeai-0.4.0b3/pygeai/tests/snippets/chat → pygeai-0.4.0b4/pygeai/tests/snippets/assistants/rag}/__init__.py +0 -0
  344. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/create_rag_assistant.py +0 -0
  345. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/delete_al_documents.py +0 -0
  346. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/delete_document.py +0 -0
  347. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +0 -0
  348. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/get_document.py +0 -0
  349. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/get_documents.py +0 -0
  350. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +0 -0
  351. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/update_rag_assistant.py +0 -0
  352. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/rag/upload_document.py +0 -0
  353. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/send_feedback.py +0 -0
  354. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/assistants/update_chat_assistant.py +0 -0
  355. {pygeai-0.4.0b3/pygeai/tests/snippets/embeddings → pygeai-0.4.0b4/pygeai/tests/snippets/chat}/__init__.py +0 -0
  356. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/cancel_request.py +0 -0
  357. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion.py +0 -0
  358. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_1.py +0 -0
  359. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_2.py +0 -0
  360. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_3.py +0 -0
  361. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_4.py +0 -0
  362. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/chat_completion_streaming.py +0 -0
  363. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/get_request_status.py +0 -0
  364. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/chat/send_chat_request.py +0 -0
  365. {pygeai-0.4.0b3/pygeai/tests/snippets/evaluation → pygeai-0.4.0b4/pygeai/tests/snippets/embeddings}/__init__.py +0 -0
  366. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/embeddings/generate_embeddings.py +0 -0
  367. {pygeai-0.4.0b3/pygeai/tests/snippets/files → pygeai-0.4.0b4/pygeai/tests/snippets/evaluation}/__init__.py +0 -0
  368. {pygeai-0.4.0b3/pygeai/tests/snippets/gam → pygeai-0.4.0b4/pygeai/tests/snippets/files}/__init__.py +0 -0
  369. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/delete_file.py +0 -0
  370. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/get_file_content.py +0 -0
  371. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/get_file_data.py +0 -0
  372. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/get_file_list.py +0 -0
  373. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/files/upload_file.py +0 -0
  374. {pygeai-0.4.0b3/pygeai/tests/snippets/lab → pygeai-0.4.0b4/pygeai/tests/snippets/gam}/__init__.py +0 -0
  375. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/gam/gam_access_token.py +0 -0
  376. {pygeai-0.4.0b3/pygeai/tests/snippets/lab/agents → pygeai-0.4.0b4/pygeai/tests/snippets/lab}/__init__.py +0 -0
  377. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agentic_flow_example_1.py +0 -0
  378. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agentic_flow_example_2.py +0 -0
  379. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agentic_flow_example_3.py +0 -0
  380. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agentic_flow_example_4.py +0 -0
  381. {pygeai-0.4.0b3/pygeai/tests/snippets/lab/processes → pygeai-0.4.0b4/pygeai/tests/snippets/lab/agents}/__init__.py +0 -0
  382. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/create_agent.py +0 -0
  383. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/create_agent_2.py +0 -0
  384. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +0 -0
  385. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +0 -0
  386. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/delete_agent.py +0 -0
  387. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/get_agent.py +0 -0
  388. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/get_sharing_link.py +0 -0
  389. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/list_agents.py +0 -0
  390. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/publish_agent_revision.py +0 -0
  391. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/agents/update_agent.py +0 -0
  392. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/assistant_to_agent.py +0 -0
  393. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/crud_ui.py +0 -0
  394. {pygeai-0.4.0b3/pygeai/tests/snippets/lab/processes/jobs → pygeai-0.4.0b4/pygeai/tests/snippets/lab/processes}/__init__.py +0 -0
  395. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/create_process.py +0 -0
  396. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/create_task.py +0 -0
  397. {pygeai-0.4.0b3/pygeai/tests/snippets/lab/processes/kbs → pygeai-0.4.0b4/pygeai/tests/snippets/lab/processes/jobs}/__init__.py +0 -0
  398. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +0 -0
  399. {pygeai-0.4.0b3/pygeai/tests/snippets/lab/samples → pygeai-0.4.0b4/pygeai/tests/snippets/lab/processes/kbs}/__init__.py +0 -0
  400. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/kbs/create_kb.py +0 -0
  401. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/kbs/get_kb.py +0 -0
  402. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +0 -0
  403. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/kbs/try_all.py +0 -0
  404. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/processes/list_processes.py +0 -0
  405. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/runner_1.py +0 -0
  406. {pygeai-0.4.0b3/pygeai/tests/snippets/lab/strategies → pygeai-0.4.0b4/pygeai/tests/snippets/lab/samples}/__init__.py +0 -0
  407. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/samples/summarize_files.py +0 -0
  408. {pygeai-0.4.0b3/pygeai/tests/snippets/lab/tools → pygeai-0.4.0b4/pygeai/tests/snippets/lab/strategies}/__init__.py +0 -0
  409. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +0 -0
  410. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +0 -0
  411. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +0 -0
  412. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +0 -0
  413. {pygeai-0.4.0b3/pygeai/tests/snippets/lab/use_cases → pygeai-0.4.0b4/pygeai/tests/snippets/lab/tools}/__init__.py +0 -0
  414. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/create_tool.py +0 -0
  415. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +0 -0
  416. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/delete_tool.py +0 -0
  417. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/get_parameter.py +0 -0
  418. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/get_tool.py +0 -0
  419. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/list_tools.py +0 -0
  420. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/publish_tool_revision.py +0 -0
  421. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/set_parameters.py +0 -0
  422. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/tools/update_tool.py +0 -0
  423. {pygeai-0.4.0b3/pygeai/tests/snippets/migrate → pygeai-0.4.0b4/pygeai/tests/snippets/lab/use_cases}/__init__.py +0 -0
  424. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +0 -0
  425. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +0 -0
  426. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +0 -0
  427. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +0 -0
  428. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_web_designer.py +0 -0
  429. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/create_web_reader.py +0 -0
  430. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example.py +0 -0
  431. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +0 -0
  432. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +0 -0
  433. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +0 -0
  434. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_web_designer.py +0 -0
  435. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_web_reader.py +0 -0
  436. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +0 -0
  437. {pygeai-0.4.0b3/pygeai/tests/snippets/organization → pygeai-0.4.0b4/pygeai/tests/snippets/migrate}/__init__.py +0 -0
  438. {pygeai-0.4.0b3/pygeai/tests/snippets/rerank → pygeai-0.4.0b4/pygeai/tests/snippets/organization}/__init__.py +0 -0
  439. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/create_project.py +0 -0
  440. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/delete_project.py +0 -0
  441. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/export_request_data.py +0 -0
  442. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/get_project_data.py +0 -0
  443. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/get_project_list.py +0 -0
  444. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/get_project_tokens.py +0 -0
  445. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/organization/update_project.py +0 -0
  446. {pygeai-0.4.0b3/pygeai/tests/snippets/secrets → pygeai-0.4.0b4/pygeai/tests/snippets/rerank}/__init__.py +0 -0
  447. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/rerank/rerank_chunks.py +0 -0
  448. {pygeai-0.4.0b3/pygeai/tests/snippets/usage_limit → pygeai-0.4.0b4/pygeai/tests/snippets/secrets}/__init__.py +0 -0
  449. {pygeai-0.4.0b3/pygeai/vendor/a2a/auth → pygeai-0.4.0b4/pygeai/tests/snippets/usage_limit}/__init__.py +0 -0
  450. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/delete_usage_limit.py +0 -0
  451. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/get_all_usage_limit_from_organization.py +0 -0
  452. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_organization.py +0 -0
  453. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_project.py +0 -0
  454. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/set_usage_limit_organization.py +0 -0
  455. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/set_usage_limit_project.py +0 -0
  456. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/update_usage_limit_organization.py +0 -0
  457. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/tests/snippets/usage_limit/update_usage_limit_project.py +0 -0
  458. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/__init__.py +0 -0
  459. /pygeai-0.4.0b3/pygeai/vendor/a2a/py.typed → /pygeai-0.4.0b4/pygeai/vendor/a2a/auth/__init__.py +0 -0
  460. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/auth/user.py +0 -0
  461. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/client/__init__.py +0 -0
  462. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/client/client.py +0 -0
  463. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/client/errors.py +0 -0
  464. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/client/helpers.py +0 -0
  465. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/__init__.py +0 -0
  466. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/__init__.py +0 -0
  467. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/agent_executor.py +0 -0
  468. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/context.py +0 -0
  469. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +0 -0
  470. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +0 -0
  471. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/__init__.py +0 -0
  472. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +0 -0
  473. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +0 -0
  474. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +0 -0
  475. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +0 -0
  476. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/context.py +0 -0
  477. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/__init__.py +0 -0
  478. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/event_consumer.py +0 -0
  479. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/event_queue.py +0 -0
  480. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +0 -0
  481. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/events/queue_manager.py +0 -0
  482. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/__init__.py +0 -0
  483. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +0 -0
  484. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +0 -0
  485. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/request_handler.py +0 -0
  486. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/request_handlers/response_helpers.py +0 -0
  487. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/__init__.py +0 -0
  488. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +0 -0
  489. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +0 -0
  490. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/push_notifier.py +0 -0
  491. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/result_aggregator.py +0 -0
  492. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/task_manager.py +0 -0
  493. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/task_store.py +0 -0
  494. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/server/tasks/task_updater.py +0 -0
  495. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/types.py +0 -0
  496. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/__init__.py +0 -0
  497. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/artifact.py +0 -0
  498. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/errors.py +0 -0
  499. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/helpers.py +0 -0
  500. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/message.py +0 -0
  501. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/task.py +0 -0
  502. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai/vendor/a2a/utils/telemetry.py +0 -0
  503. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/dependency_links.txt +0 -0
  504. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/entry_points.txt +0 -0
  505. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/requires.txt +0 -0
  506. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/pygeai.egg-info/top_level.txt +0 -0
  507. {pygeai-0.4.0b3 → pygeai-0.4.0b4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygeai
3
- Version: 0.4.0b3
3
+ Version: 0.4.0b4
4
4
  Summary: Software Development Kit to interact with Globant Enterprise AI.
5
5
  Author-email: Globant <geai-sdk@globant.com>
6
6
  License-Expression: MIT
@@ -41,11 +41,11 @@ Dynamic: license-file
41
41
 
42
42
  PyGEAI is a Software Development Kit (SDK) for interacting with [Globant Enterprise AI](https://wiki.genexus.com/enterprise-ai/wiki?8,Table+of+contents%3AEnterprise+AI). It comprises libraries, tools, code samples, and documentation to simplify your experience with the platform.
43
43
 
44
- ## Repository
44
+ ## Terms and conditions
45
45
 
46
- Find the PyGEAI source code and documentation in the following GitHub repository:
46
+ By using the Python SDK to interact with Globant Enterprise AI, you agree with the following Terms and Conditions:
47
47
 
48
- [GitHub repository](https://github.com/RT-GEN029-GI/pygeai)
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
- ## Repository
5
+ ## Terms and conditions
6
6
 
7
- Find the PyGEAI source code and documentation in the following GitHub repository:
7
+ By using the Python SDK to interact with Globant Enterprise AI, you agree with the following Terms and Conditions:
8
8
 
9
- [GitHub repository](https://github.com/RT-GEN029-GI/pygeai)
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.to_dict() if self.variables else None,
230
+ "variables": self.variables.to_list() if self.variables else None,
231
231
  "vectorStore": self.vector_store
232
232
  }
233
233
  return {k: v for k, v in result.items() if v is not None}
@@ -94,7 +94,7 @@ class Model(CustomBaseModel):
94
94
  :param llm_config: Optional[LlmConfig] - Overrides default agent LLM settings.
95
95
  :param prompt: Optional[dict] - A tailored prompt specific to this model.
96
96
  """
97
- name: str = Field(..., alias="name")
97
+ name: Optional[str] = Field(None, alias="name")
98
98
  llm_config: Optional[LlmConfig] = Field(None, alias="llmConfig")
99
99
  prompt: Optional[Dict[str, Any]] = Field(None, alias="prompt")
100
100
 
@@ -110,8 +110,8 @@ class AgenticProcessMapper:
110
110
  """
111
111
  return [
112
112
  Variable(
113
- key=var["key"],
114
- value=var["value"]
113
+ key=var.get("key"),
114
+ value=var.get("value")
115
115
  )
116
116
  for var in data
117
117
  ]
@@ -37,8 +37,8 @@ class ToolMapper:
37
37
  """
38
38
  return [
39
39
  ToolMessage(
40
- description=msg["description"],
41
- type=msg["type"]
40
+ description=msg.get("description"),
41
+ type=msg.get("type")
42
42
  )
43
43
  for msg in messages_data
44
44
  ]
@@ -55,9 +55,9 @@ class ToolMapper:
55
55
  """
56
56
  tool_data = data.get("tool", data)
57
57
 
58
- name = tool_data["name"]
59
- description = tool_data["description"]
60
- scope = tool_data["scope"]
58
+ name = tool_data.get("name")
59
+ description = tool_data.get("description")
60
+ scope = tool_data.get("scope")
61
61
  parameter_data = tool_data.get("parameters")
62
62
  parameters = cls._map_parameters(parameter_data) if parameter_data else None
63
63
 
@@ -0,0 +1,162 @@
1
+ from unittest import TestCase
2
+ from pygeai.chat.clients import ChatClient
3
+
4
+ chat_client: ChatClient
5
+
6
+ class TestChatGenerateImageIntegration(TestCase):
7
+
8
+ def setUp(self):
9
+ self.chat_client = ChatClient(alias="beta")
10
+ self.new_image = self.__load_image()
11
+
12
+
13
+ def __load_image(self):
14
+ return {
15
+ "model": "openai/gpt-image-1",
16
+ "prompt": "generate an image of a futuristic city skyline at sunset",
17
+ "n": 1,
18
+ "quality": "high",
19
+ "size": "1024x1536"
20
+ }
21
+
22
+
23
+ def __generate_image(self, image = None):
24
+ image = image if image is not None else self.new_image
25
+ return self.chat_client.generate_image(
26
+ model=image["model"],
27
+ prompt=image["prompt"],
28
+ n=image["n"],
29
+ quality=image["quality"],
30
+ size=image["size"],
31
+ aspect_ratio= image["aspect_ratio"] if "aspect_ratio" in image else None
32
+ )
33
+
34
+
35
+ def test_generate_image(self):
36
+ created_image = self.__generate_image()
37
+ self.assertEqual(len(created_image["data"]), 1, "Expected an image to be generated")
38
+
39
+
40
+ def test_generate_image_invalid_model(self):
41
+ self.new_image["model"] = "openai/gpt-image-10",
42
+ created_image = self.__generate_image()
43
+
44
+ self.assertEqual(
45
+ created_image["error"]["code"], 400,
46
+ "Expected a 400 code for invalid model"
47
+ )
48
+ self.assertEqual(
49
+ created_image["error"]["message"],
50
+ 'Provider \'["openai\' does not exists.',
51
+ "Expected an error message when model does not exists"
52
+ )
53
+
54
+
55
+ def test_generate_image_no_model(self):
56
+ self.new_image["model"] = ""
57
+ created_image = self.__generate_image()
58
+
59
+ self.assertEqual(
60
+ created_image["error"]["code"], 400,
61
+ "Expected a 400 code for no model"
62
+ )
63
+ self.assertEqual(
64
+ created_image["error"]["message"],
65
+ "Invalid 'model' name. Must follow pattern {provider}/{modelName}",
66
+ "Expected an error message when no model is provided"
67
+ )
68
+
69
+
70
+ def test_generate_image_no_prompt(self):
71
+ self.new_image["prompt"] = ""
72
+ created_image = self.__generate_image()
73
+
74
+ self.assertEqual(
75
+ created_image["error"]["type"],
76
+ "invalid_request_error",
77
+ "Expected a 400 code for no model"
78
+ )
79
+ self.assertEqual(
80
+ created_image["error"]["param"], "prompt",
81
+ "Expected an error message when no model is provided"
82
+ )
83
+
84
+
85
+ def test_generate_image_specific_n(self):
86
+ self.new_image["n"] = 2
87
+
88
+ created_image = self.__generate_image()
89
+ self.assertEqual(len(created_image["data"]), 2, "Expected two images to be generated")
90
+
91
+
92
+ def test_generate_image_no_n(self):
93
+ self.new_image["n"] = None # default is 1
94
+
95
+ created_image = self.__generate_image()
96
+ self.assertEqual(len(created_image["data"]), 1, "Expected an image to be generated")
97
+
98
+
99
+ def test_generate_image_no_supported_n(self):
100
+ self.new_image["model"] = "openai/dall-e-3"
101
+ self.new_image["n"] = 5
102
+
103
+ created_image = self.__generate_image()
104
+ self.assertIn(
105
+ "Invalid 'n': integer above maximum value",
106
+ created_image["error"]["message"],
107
+ "Expected an error message when n is not supported by the model"
108
+ )
109
+
110
+
111
+ def test_generate_image_no_quality(self):
112
+ self.new_image["quality"] = ""
113
+
114
+ created_image = self.__generate_image()
115
+ self.assertIn(
116
+ "Invalid value: ''. Supported values are: 'low', 'medium', 'high', and 'auto'",
117
+ created_image["error"]["message"],
118
+ "Expected an error message when quality is not provided"
119
+ )
120
+
121
+
122
+ def test_generate_image_no_supported_quality(self):
123
+ self.new_image["model"] = "openai/dall-e-3"
124
+
125
+ created_image = self.__generate_image()
126
+ self.assertIn(
127
+ "Invalid value: 'high'. Supported values are: 'standard' and 'hd'",
128
+ created_image["error"]["message"],
129
+ "Expected an error message when quality is not supported by the model"
130
+ )
131
+
132
+
133
+ def test_generate_image_no_size(self):
134
+ self.new_image["size"] = ""
135
+
136
+ created_image = self.__generate_image()
137
+ self.assertIn(
138
+ "Invalid value: ''. Supported values are: '1024x1024', '1024x1536', '1536x1024', and 'auto'",
139
+ created_image["error"]["message"],
140
+ "Expected an error message when no size is provided"
141
+ )
142
+
143
+
144
+ def test_generate_image_no_supported_size(self):
145
+ self.new_image["size"] = 1024
146
+ self.new_image["quality"] = None
147
+
148
+ created_image = self.__generate_image()
149
+ self.assertIn(
150
+ "Invalid type for 'size': expected one of '1024x1024', '1024x1536', '1536x1024', or 'auto', but got an integer instead",
151
+ created_image["error"]["message"],
152
+ "Expected an error message when no size is provided"
153
+ )
154
+
155
+
156
+ def test_generate_image_with_aspect_ratio(self):
157
+ self.new_image["model"] = "vertex_ai/imagen-3.0-generate-001"
158
+ self.new_image["aspect_ratio"] = "4:3"
159
+ self.new_image["quality"] = None
160
+
161
+ created_image = self.__generate_image()
162
+ self.assertEqual(len(created_image["data"]), 1, "Expected an image to be generated")
@@ -287,21 +287,18 @@ class TestAILabCreateAgentIntegration(TestCase):
287
287
  )
288
288
 
289
289
 
290
- @unittest.skip("Agent is getting created regardless of the prompt instructions being empty")
291
290
  def test_create_agent_no_prompt_instructions(self):
292
291
  self.new_agent.agent_data.prompt.instructions = ""
293
- with self.assertRaises(ValidationError) as exception:
294
- self.__create_agent()
295
- self.assertIn(
296
- "instructions",
297
- str(exception.exception),
298
- "Expected a validation error about allowed values for instructions"
299
- )
292
+ self.created_agent = self.__create_agent()
300
293
 
301
- self.assertIn(
302
- "Input should be a valid string [type=string_type, input_value=None, input_type=NoneType]",
303
- str(exception.exception),
304
- "Expected a validation error about allowed values for instructions"
294
+ self.assertTrue(
295
+ isinstance(self.created_agent, Agent),
296
+ "Expected a created agent"
297
+ )
298
+
299
+ self.assertIsNone(
300
+ self.created_agent.agent_data.prompt.instructions,
301
+ "Expected the created agent to not have prompt instructions"
305
302
  )
306
303
 
307
304
 
@@ -207,28 +207,20 @@ class TestAILabUpdateAgentIntegration(TestCase):
207
207
  f"Expected a validation error about allowed values for instructions when autopublish is {'enabled' if auto_publish else 'disabled'}"
208
208
  )
209
209
 
210
-
210
+ # TODO: Change validation when API behavior is fixed
211
211
  def test_update_agent_no_model(self):
212
212
  test_params = [ True, False ]
213
213
  self.agent_to_update.agent_data.models[0].name = ""
214
214
 
215
215
  for auto_publish in test_params:
216
216
  with self.subTest(input=auto_publish):
217
- if auto_publish == False:
218
- with self.assertRaises(ValidationError) as exception:
219
- self.__update_agent(automatic_publish=auto_publish)
217
+
218
+ # If the agent is not published, the API returns a warning message for invalid model name. However, the sdk mapping is not returning it.
219
+ if auto_publish == False:
220
+ updated_agent = self.__update_agent(automatic_publish=auto_publish)
220
221
  error_msg = str(exception.exception)
221
222
 
222
- self.assertIn(
223
- "name",
224
- error_msg,
225
- "Expected a validation error about empty model name"
226
- )
227
- self.assertIn(
228
- "Input should be a valid string [type=string_type, input_value=None, input_type=NoneType]",
229
- error_msg,
230
- "Expected a validation error about empty model name"
231
- )
223
+ self.assertTrue(self.isInstance(updated_agent), Agent)
232
224
  else:
233
225
  with self.assertRaises(APIError) as exception:
234
226
  self.__update_agent(automatic_publish=auto_publish)
@@ -28,7 +28,6 @@ class TestAILabCreateToolIntegration(TestCase):
28
28
 
29
29
 
30
30
  def __load_tool(self):
31
- #random_str = str(uuid.uuid4())
32
31
  return Tool(
33
32
  name=str(uuid.uuid4()),
34
33
  description="Tool created for sdk testing purposes",
@@ -0,0 +1,38 @@
1
+ from unittest import TestCase
2
+ from pygeai.lab.managers import AILabManager
3
+ from pygeai.lab.models import ToolList, FilterSettings
4
+ import copy
5
+
6
+ ai_lab_manager: AILabManager
7
+
8
+ class TestAILabListToolsIntegration(TestCase):
9
+
10
+ def setUp(self):
11
+ self.ai_lab_manager = AILabManager(alias="beta")
12
+ self.filter_settings = FilterSettings(
13
+ allow_external=False,
14
+ allow_drafts=True,
15
+ access_scope="private"
16
+ )
17
+ """ list-tools or lt List tools
18
+ --project-id or --pid ID of the project
19
+ --id ID of the tool to filter by. Defaults to an empty string (no filtering).
20
+ --count Number of tools to retrieve. Defaults to '100'.
21
+ --access-scope Access scope of the tools, either "public" or "private". Defaults to "public".
22
+ --allow-drafts Whether to include draft tools. Defaults to 1 (True).
23
+ --scope Scope of the tools, must be 'builtin', 'external', or 'api'. Defaults to 'api'.
24
+ --allow-external Whether to include external tools. Defaults to 1 (True). """
25
+
26
+ def __list_tools(self, filter_settings: FilterSettings = None):
27
+ filter_settings = filter_settings if filter_settings != None else self.filter_settings
28
+ return self.ai_lab_manager.list_tools(filter_settings=filter_settings)
29
+
30
+ def test_private_list_tools(self):
31
+ result = self.__list_tools()
32
+ self.assertIsInstance(result, ToolList , "Expected a list of tools")
33
+ print(result)
34
+ for tool in result.tools:
35
+ self.assertTrue(tool.access_scope == "private", "Expected all tools to be private")
36
+
37
+
38
+
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygeai
3
- Version: 0.4.0b3
3
+ Version: 0.4.0b4
4
4
  Summary: Software Development Kit to interact with Globant Enterprise AI.
5
5
  Author-email: Globant <geai-sdk@globant.com>
6
6
  License-Expression: MIT
@@ -41,11 +41,11 @@ Dynamic: license-file
41
41
 
42
42
  PyGEAI is a Software Development Kit (SDK) for interacting with [Globant Enterprise AI](https://wiki.genexus.com/enterprise-ai/wiki?8,Table+of+contents%3AEnterprise+AI). It comprises libraries, tools, code samples, and documentation to simplify your experience with the platform.
43
43
 
44
- ## Repository
44
+ ## Terms and conditions
45
45
 
46
- Find the PyGEAI source code and documentation in the following GitHub repository:
46
+ By using the Python SDK to interact with Globant Enterprise AI, you agree with the following Terms and Conditions:
47
47
 
48
- [GitHub repository](https://github.com/RT-GEN029-GI/pygeai)
48
+ [Terms and Conditions](https://www.globant.com/enterprise-ai/terms-of-use)
49
49
 
50
50
  ## Compatibility
51
51
  This package is compatible with the Globant Enterprise AI release from June 2025.
@@ -279,6 +279,8 @@ pygeai/tests/gam/test_clients.py
279
279
  pygeai/tests/health/__init__.py
280
280
  pygeai/tests/health/test_clients.py
281
281
  pygeai/tests/integration/__init__.py
282
+ pygeai/tests/integration/chat/__init__.py
283
+ pygeai/tests/integration/chat/test_generate_image.py
282
284
  pygeai/tests/integration/lab/__init__.py
283
285
  pygeai/tests/integration/lab/agents/__init__.py
284
286
  pygeai/tests/integration/lab/agents/test_agents_list.py
@@ -292,6 +294,7 @@ pygeai/tests/integration/lab/tools/__init__.py
292
294
  pygeai/tests/integration/lab/tools/test_create_tool.py
293
295
  pygeai/tests/integration/lab/tools/test_delete_tool.py
294
296
  pygeai/tests/integration/lab/tools/test_get_tool.py
297
+ pygeai/tests/integration/lab/tools/test_list_tools.py
295
298
  pygeai/tests/lab/__init__.py
296
299
  pygeai/tests/lab/test_managers.py
297
300
  pygeai/tests/lab/test_mappers.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pygeai"
7
- version = "0.4.0b3"
7
+ version = "0.4.0b4"
8
8
  description = "Software Development Kit to interact with Globant Enterprise AI."
9
9
  license = "MIT"
10
10
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes