pygeai 0.2.7b43__tar.gz → 0.2.7b45__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 (491) hide show
  1. {pygeai-0.2.7b43/pygeai.egg-info → pygeai-0.2.7b45}/PKG-INFO +1 -1
  2. pygeai-0.2.7b45/docs/geai-proxy/README.md +256 -0
  3. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/man/man1/geai-proxy.1 +15 -0
  4. {pygeai-0.2.7b43 → pygeai-0.2.7b45/pygeai.egg-info}/PKG-INFO +1 -1
  5. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pyproject.toml +1 -1
  6. pygeai-0.2.7b43/docs/geai-proxy/README.md +0 -237
  7. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/LICENSE +0 -0
  8. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/MANIFEST.in +0 -0
  9. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/README.md +0 -0
  10. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/__init__.py +0 -0
  11. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/admin/__init__.py +0 -0
  12. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/admin/clients.py +0 -0
  13. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/admin/endpoints.py +0 -0
  14. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/__init__.py +0 -0
  15. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/clients.py +0 -0
  16. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/data/__init__.py +0 -0
  17. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/data/clients.py +0 -0
  18. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/data_analyst/__init__.py +0 -0
  19. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/data_analyst/clients.py +0 -0
  20. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/data_analyst/endpoints.py +0 -0
  21. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/endpoints.py +0 -0
  22. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/managers.py +0 -0
  23. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/mappers.py +0 -0
  24. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/rag/__init__.py +0 -0
  25. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/rag/clients.py +0 -0
  26. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/rag/endpoints.py +0 -0
  27. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/rag/mappers.py +0 -0
  28. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/rag/models.py +0 -0
  29. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/assistant/rag/responses.py +0 -0
  30. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/chat/__init__.py +0 -0
  31. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/chat/clients.py +0 -0
  32. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/chat/endpoints.py +0 -0
  33. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/chat/iris.py +0 -0
  34. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/chat/managers.py +0 -0
  35. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/chat/session.py +0 -0
  36. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/chat/settings.py +0 -0
  37. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/chat/ui.py +0 -0
  38. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/__init__.py +0 -0
  39. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/__main__.py +0 -0
  40. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/__init__.py +0 -0
  41. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/admin.py +0 -0
  42. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/assistant.py +0 -0
  43. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/base.py +0 -0
  44. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/builders.py +0 -0
  45. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/chat.py +0 -0
  46. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/common.py +0 -0
  47. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/configuration.py +0 -0
  48. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/embeddings.py +0 -0
  49. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/evaluation.py +0 -0
  50. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/feedback.py +0 -0
  51. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/files.py +0 -0
  52. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/flows/__init__.py +0 -0
  53. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/gam.py +0 -0
  54. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/lab/__init__.py +0 -0
  55. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/lab/ai_lab.py +0 -0
  56. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/lab/common.py +0 -0
  57. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/lab/spec.py +0 -0
  58. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/llm.py +0 -0
  59. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/migrate.py +0 -0
  60. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/options.py +0 -0
  61. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/organization.py +0 -0
  62. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/rag.py +0 -0
  63. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/rerank.py +0 -0
  64. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/secrets.py +0 -0
  65. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/usage_limits.py +0 -0
  66. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/validators.py +0 -0
  67. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/commands/version.py +0 -0
  68. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/geai.py +0 -0
  69. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/geai_proxy.py +0 -0
  70. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/install_man.py +0 -0
  71. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/parsers.py +0 -0
  72. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/texts/__init__.py +0 -0
  73. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/cli/texts/help.py +0 -0
  74. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/__init__.py +0 -0
  75. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/base/__init__.py +0 -0
  76. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/base/clients.py +0 -0
  77. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/base/mappers.py +0 -0
  78. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/base/models.py +0 -0
  79. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/base/responses.py +0 -0
  80. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/base/session.py +0 -0
  81. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/common/__init__.py +0 -0
  82. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/common/config.py +0 -0
  83. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/common/decorators.py +0 -0
  84. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/common/exceptions.py +0 -0
  85. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/embeddings/__init__.py +0 -0
  86. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/embeddings/clients.py +0 -0
  87. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/embeddings/endpoints.py +0 -0
  88. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/embeddings/managers.py +0 -0
  89. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/embeddings/mappers.py +0 -0
  90. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/embeddings/models.py +0 -0
  91. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/embeddings/responses.py +0 -0
  92. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/feedback/__init__.py +0 -0
  93. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/feedback/clients.py +0 -0
  94. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/feedback/endpoints.py +0 -0
  95. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/feedback/models.py +0 -0
  96. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/files/__init__.py +0 -0
  97. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/files/clients.py +0 -0
  98. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/files/endpoints.py +0 -0
  99. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/files/managers.py +0 -0
  100. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/files/mappers.py +0 -0
  101. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/files/models.py +0 -0
  102. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/files/responses.py +0 -0
  103. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/handlers.py +0 -0
  104. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/llm/__init__.py +0 -0
  105. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/llm/clients.py +0 -0
  106. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/llm/endpoints.py +0 -0
  107. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/models.py +0 -0
  108. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/plugins/__init__.py +0 -0
  109. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/plugins/clients.py +0 -0
  110. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/plugins/endpoints.py +0 -0
  111. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/plugins/models.py +0 -0
  112. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/rerank/__init__.py +0 -0
  113. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/rerank/clients.py +0 -0
  114. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/rerank/endpoints.py +0 -0
  115. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/rerank/managers.py +0 -0
  116. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/rerank/mappers.py +0 -0
  117. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/rerank/models.py +0 -0
  118. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/responses.py +0 -0
  119. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/secrets/__init__.py +0 -0
  120. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/secrets/clients.py +0 -0
  121. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/secrets/endpoints.py +0 -0
  122. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/services/__init__.py +0 -0
  123. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/services/llm/__init__.py +0 -0
  124. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/services/llm/model.py +0 -0
  125. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/services/llm/providers.py +0 -0
  126. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/services/response.py +0 -0
  127. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/services/rest.py +0 -0
  128. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/singleton.py +0 -0
  129. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/utils/__init__.py +0 -0
  130. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/core/utils/console.py +0 -0
  131. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/dbg/__init__.py +0 -0
  132. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/dbg/debugger.py +0 -0
  133. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/__init__.py +0 -0
  134. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/clients.py +0 -0
  135. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/dataset/__init__.py +0 -0
  136. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/dataset/clients.py +0 -0
  137. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/dataset/endpoints.py +0 -0
  138. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/plan/__init__.py +0 -0
  139. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/plan/clients.py +0 -0
  140. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/plan/endpoints.py +0 -0
  141. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/result/__init__.py +0 -0
  142. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/result/clients.py +0 -0
  143. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/evaluation/result/endpoints.py +0 -0
  144. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/flows/__init__.py +0 -0
  145. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/flows/endpoints.py +0 -0
  146. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/flows/models.py +0 -0
  147. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/gam/__init__.py +0 -0
  148. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/gam/clients.py +0 -0
  149. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/gam/endpoints.py +0 -0
  150. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/health/__init__.py +0 -0
  151. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/health/clients.py +0 -0
  152. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/health/endpoints.py +0 -0
  153. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/__init__.py +0 -0
  154. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/agents/__init__.py +0 -0
  155. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/agents/clients.py +0 -0
  156. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/agents/endpoints.py +0 -0
  157. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/agents/mappers.py +0 -0
  158. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/constants.py +0 -0
  159. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/managers.py +0 -0
  160. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/models.py +0 -0
  161. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/processes/__init__.py +0 -0
  162. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/processes/clients.py +0 -0
  163. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/processes/endpoints.py +0 -0
  164. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/processes/mappers.py +0 -0
  165. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/runners.py +0 -0
  166. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/spec/__init__.py +0 -0
  167. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/spec/loader.py +0 -0
  168. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/spec/parsers.py +0 -0
  169. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/strategies/__init__.py +0 -0
  170. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/strategies/clients.py +0 -0
  171. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/strategies/endpoints.py +0 -0
  172. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/strategies/mappers.py +0 -0
  173. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/tools/__init__.py +0 -0
  174. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/tools/clients.py +0 -0
  175. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/tools/endpoints.py +0 -0
  176. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/lab/tools/mappers.py +0 -0
  177. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/man/__init__.py +0 -0
  178. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/man/man1/__init__.py +0 -0
  179. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/man/man1/geai.1 +0 -0
  180. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/migration/__init__.py +0 -0
  181. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/migration/strategies.py +0 -0
  182. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/migration/tools.py +0 -0
  183. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/__init__.py +0 -0
  184. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/clients.py +0 -0
  185. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/endpoints.py +0 -0
  186. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/limits/__init__.py +0 -0
  187. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/limits/clients.py +0 -0
  188. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/limits/endpoints.py +0 -0
  189. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/limits/managers.py +0 -0
  190. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/limits/mappers.py +0 -0
  191. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/managers.py +0 -0
  192. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/mappers.py +0 -0
  193. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/organization/responses.py +0 -0
  194. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/proxy/__init__.py +0 -0
  195. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/proxy/clients.py +0 -0
  196. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/proxy/config.py +0 -0
  197. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/proxy/managers.py +0 -0
  198. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/proxy/servers.py +0 -0
  199. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/proxy/tool.py +0 -0
  200. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/__init__.py +0 -0
  201. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/admin/__init__.py +0 -0
  202. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/admin/test_clients.py +0 -0
  203. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/assistants/__init__.py +0 -0
  204. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/assistants/rag/__init__.py +0 -0
  205. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/assistants/rag/test_clients.py +0 -0
  206. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/assistants/rag/test_mappers.py +0 -0
  207. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/assistants/rag/test_models.py +0 -0
  208. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/assistants/test_clients.py +0 -0
  209. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/assistants/test_managers.py +0 -0
  210. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/assistants/test_mappers.py +0 -0
  211. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/chat/__init__.py +0 -0
  212. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/chat/test_clients.py +0 -0
  213. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/chat/test_iris.py +0 -0
  214. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/chat/test_session.py +0 -0
  215. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/chat/test_ui.py +0 -0
  216. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/__init__.py +0 -0
  217. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/__init__.py +0 -0
  218. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/lab/__init__.py +0 -0
  219. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/lab/test_ai_lab.py +0 -0
  220. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/lab/test_common.py +0 -0
  221. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/lab/test_spec.py +0 -0
  222. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_assistant.py +0 -0
  223. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_chat.py +0 -0
  224. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_common.py +0 -0
  225. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_embeddings.py +0 -0
  226. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_feedback.py +0 -0
  227. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_files.py +0 -0
  228. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_gam.py +0 -0
  229. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_llm.py +0 -0
  230. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_migrate.py +0 -0
  231. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_organization.py +0 -0
  232. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_rag.py +0 -0
  233. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_rerank.py +0 -0
  234. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_show_help.py +0 -0
  235. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_usage_limits.py +0 -0
  236. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_validators.py +0 -0
  237. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/commands/test_version.py +0 -0
  238. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/cli/test_parsers.py +0 -0
  239. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/__init__.py +0 -0
  240. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/base/__init__.py +0 -0
  241. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/base/data/__init__.py +0 -0
  242. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/base/data/mappers.py +0 -0
  243. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/base/data/models.py +0 -0
  244. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/base/test_mappers.py +0 -0
  245. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/base/test_models.py +0 -0
  246. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/common/__init__.py +0 -0
  247. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/common/data/__init__.py +0 -0
  248. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/common/test_config.py +0 -0
  249. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/common/test_decorators.py +0 -0
  250. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/embeddings/__init__.py +0 -0
  251. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/embeddings/test_clients.py +0 -0
  252. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/feedback/__init__.py +0 -0
  253. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/feedback/test_clients.py +0 -0
  254. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/files/__init__.py +0 -0
  255. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/files/test_clients.py +0 -0
  256. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/files/test_managers.py +0 -0
  257. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/files/test_models.py +0 -0
  258. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/files/test_responses.py +0 -0
  259. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/llm/__init__.py +0 -0
  260. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/llm/test_clients.py +0 -0
  261. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/rerank/__init__.py +0 -0
  262. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/rerank/test_clients.py +0 -0
  263. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/rerank/test_managers.py +0 -0
  264. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/rerank/test_mappers.py +0 -0
  265. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/secrets/__init__.py +0 -0
  266. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/secrets/test_clients.py +0 -0
  267. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/services/__init__.py +0 -0
  268. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/services/test_rest.py +0 -0
  269. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/test_handlers.py +0 -0
  270. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/utils/__init__.py +0 -0
  271. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/core/utils/test_console.py +0 -0
  272. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/dbg/__init__.py +0 -0
  273. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/dbg/test_debugger.py +0 -0
  274. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/gam/__init__.py +0 -0
  275. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/gam/test_clients.py +0 -0
  276. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/health/__init__.py +0 -0
  277. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/health/test_clients.py +0 -0
  278. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/__init__.py +0 -0
  279. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/__init__.py +0 -0
  280. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/agents/__init__.py +0 -0
  281. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/agents/test_agents_list.py +0 -0
  282. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/agents/test_create_agent.py +0 -0
  283. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/agents/test_create_sharing_link.py +0 -0
  284. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/agents/test_delete_agent.py +0 -0
  285. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/agents/test_get_agent.py +0 -0
  286. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +0 -0
  287. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/integration/lab/agents/test_update_agent.py +0 -0
  288. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/__init__.py +0 -0
  289. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/agents/__init__.py +0 -0
  290. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/agents/test_clients.py +0 -0
  291. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/agents/test_mappers.py +0 -0
  292. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/processes/__init__.py +0 -0
  293. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/processes/test_clients.py +0 -0
  294. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/processes/test_mappers.py +0 -0
  295. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/spec/__init__.py +0 -0
  296. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/spec/test_loader.py +0 -0
  297. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/spec/test_parsers.py +0 -0
  298. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/strategies/__init__.py +0 -0
  299. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/strategies/test_clients.py +0 -0
  300. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/strategies/test_mappers.py +0 -0
  301. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/test_managers.py +0 -0
  302. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/test_mappers.py +0 -0
  303. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/test_models.py +0 -0
  304. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/tools/__init__.py +0 -0
  305. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/tools/test_clients.py +0 -0
  306. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/lab/tools/test_mappers.py +0 -0
  307. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/migration/__init__.py +0 -0
  308. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/migration/test_strategies.py +0 -0
  309. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/migration/test_tools.py +0 -0
  310. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/organization/__init__.py +0 -0
  311. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/organization/limits/__init__.py +0 -0
  312. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/organization/limits/test_clients.py +0 -0
  313. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/organization/limits/test_managers.py +0 -0
  314. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/organization/test_clients.py +0 -0
  315. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/organization/test_managers.py +0 -0
  316. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/organization/test_mappers.py +0 -0
  317. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/__init__.py +0 -0
  318. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/__init__.py +0 -0
  319. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/create_chat_assistant.py +0 -0
  320. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/create_text_assistant.py +0 -0
  321. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/data_analyst/__init__.py +0 -0
  322. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/data_analyst/extend_and_check.py +0 -0
  323. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/data_analyst/extend_dataset.py +0 -0
  324. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/data_analyst/get_status.py +0 -0
  325. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/file_summarizer_assistant.py +0 -0
  326. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/get_assistant_data.py +0 -0
  327. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/get_assistant_list.py +0 -0
  328. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/__init__.py +0 -0
  329. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/create_rag_assistant.py +0 -0
  330. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/delete_al_documents.py +0 -0
  331. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/delete_document.py +0 -0
  332. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +0 -0
  333. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/get_document.py +0 -0
  334. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/get_documents.py +0 -0
  335. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +0 -0
  336. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/update_rag_assistant.py +0 -0
  337. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/rag/upload_document.py +0 -0
  338. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/send_feedback.py +0 -0
  339. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/assistants/update_chat_assistant.py +0 -0
  340. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/__init__.py +0 -0
  341. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/cancel_request.py +0 -0
  342. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/chat_completion.py +0 -0
  343. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/chat_completion_1.py +0 -0
  344. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/chat_completion_2.py +0 -0
  345. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/chat_completion_3.py +0 -0
  346. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/chat_completion_4.py +0 -0
  347. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/chat_completion_streaming.py +0 -0
  348. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/get_request_status.py +0 -0
  349. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/chat/send_chat_request.py +0 -0
  350. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/embeddings/__init__.py +0 -0
  351. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/embeddings/generate_embeddings.py +0 -0
  352. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/evaluation/__init__.py +0 -0
  353. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/files/__init__.py +0 -0
  354. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/files/delete_file.py +0 -0
  355. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/files/get_file_content.py +0 -0
  356. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/files/get_file_data.py +0 -0
  357. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/files/get_file_list.py +0 -0
  358. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/files/upload_file.py +0 -0
  359. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/gam/__init__.py +0 -0
  360. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/gam/gam_access_token.py +0 -0
  361. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/__init__.py +0 -0
  362. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agentic_flow_example_1.py +0 -0
  363. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agentic_flow_example_2.py +0 -0
  364. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agentic_flow_example_3.py +0 -0
  365. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agentic_flow_example_4.py +0 -0
  366. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/__init__.py +0 -0
  367. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/create_agent.py +0 -0
  368. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/create_agent_2.py +0 -0
  369. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/delete_agent.py +0 -0
  370. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/get_agent.py +0 -0
  371. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/get_sharing_link.py +0 -0
  372. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/list_agents.py +0 -0
  373. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/publish_agent_revision.py +0 -0
  374. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/agents/update_agent.py +0 -0
  375. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/assistant_to_agent.py +0 -0
  376. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/crud_ui.py +0 -0
  377. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/__init__.py +0 -0
  378. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/create_process.py +0 -0
  379. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/create_task.py +0 -0
  380. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/jobs/__init__.py +0 -0
  381. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +0 -0
  382. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/kbs/__init__.py +0 -0
  383. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/kbs/create_kb.py +0 -0
  384. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/kbs/get_kb.py +0 -0
  385. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +0 -0
  386. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/kbs/try_all.py +0 -0
  387. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/processes/list_processes.py +0 -0
  388. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/runner_1.py +0 -0
  389. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/samples/__init__.py +0 -0
  390. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/samples/summarize_files.py +0 -0
  391. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/strategies/__init__.py +0 -0
  392. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +0 -0
  393. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +0 -0
  394. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +0 -0
  395. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +0 -0
  396. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/__init__.py +0 -0
  397. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/create_tool.py +0 -0
  398. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/delete_tool.py +0 -0
  399. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/get_parameter.py +0 -0
  400. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/get_tool.py +0 -0
  401. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/list_tools.py +0 -0
  402. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/publish_tool_revision.py +0 -0
  403. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/set_parameters.py +0 -0
  404. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/tools/update_tool.py +0 -0
  405. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/__init__.py +0 -0
  406. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +0 -0
  407. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +0 -0
  408. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +0 -0
  409. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +0 -0
  410. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/create_web_designer.py +0 -0
  411. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/create_web_reader.py +0 -0
  412. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example.py +0 -0
  413. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +0 -0
  414. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +0 -0
  415. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +0 -0
  416. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/update_web_designer.py +0 -0
  417. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/update_web_reader.py +0 -0
  418. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +0 -0
  419. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/migrate/__init__.py +0 -0
  420. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/organization/__init__.py +0 -0
  421. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/organization/create_project.py +0 -0
  422. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/organization/delete_project.py +0 -0
  423. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/organization/export_request_data.py +0 -0
  424. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/organization/get_project_data.py +0 -0
  425. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/organization/get_project_list.py +0 -0
  426. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/organization/get_project_tokens.py +0 -0
  427. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/organization/update_project.py +0 -0
  428. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/rerank/__init__.py +0 -0
  429. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/rerank/rerank_chunks.py +0 -0
  430. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/secrets/__init__.py +0 -0
  431. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/__init__.py +0 -0
  432. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/delete_usage_limit.py +0 -0
  433. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/get_all_usage_limit_from_organization.py +0 -0
  434. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_organization.py +0 -0
  435. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_project.py +0 -0
  436. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/set_usage_limit_organization.py +0 -0
  437. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/set_usage_limit_project.py +0 -0
  438. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/update_usage_limit_organization.py +0 -0
  439. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/tests/snippets/usage_limit/update_usage_limit_project.py +0 -0
  440. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/__init__.py +0 -0
  441. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/auth/__init__.py +0 -0
  442. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/auth/user.py +0 -0
  443. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/client/__init__.py +0 -0
  444. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/client/client.py +0 -0
  445. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/client/errors.py +0 -0
  446. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/client/helpers.py +0 -0
  447. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/py.typed +0 -0
  448. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/__init__.py +0 -0
  449. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/agent_execution/__init__.py +0 -0
  450. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/agent_execution/agent_executor.py +0 -0
  451. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/agent_execution/context.py +0 -0
  452. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +0 -0
  453. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +0 -0
  454. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/apps/__init__.py +0 -0
  455. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +0 -0
  456. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +0 -0
  457. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +0 -0
  458. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +0 -0
  459. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/context.py +0 -0
  460. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/events/__init__.py +0 -0
  461. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/events/event_consumer.py +0 -0
  462. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/events/event_queue.py +0 -0
  463. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +0 -0
  464. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/events/queue_manager.py +0 -0
  465. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/request_handlers/__init__.py +0 -0
  466. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +0 -0
  467. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +0 -0
  468. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/request_handlers/request_handler.py +0 -0
  469. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/request_handlers/response_helpers.py +0 -0
  470. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/tasks/__init__.py +0 -0
  471. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +0 -0
  472. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +0 -0
  473. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/tasks/push_notifier.py +0 -0
  474. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/tasks/result_aggregator.py +0 -0
  475. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/tasks/task_manager.py +0 -0
  476. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/tasks/task_store.py +0 -0
  477. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/server/tasks/task_updater.py +0 -0
  478. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/types.py +0 -0
  479. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/utils/__init__.py +0 -0
  480. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/utils/artifact.py +0 -0
  481. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/utils/errors.py +0 -0
  482. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/utils/helpers.py +0 -0
  483. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/utils/message.py +0 -0
  484. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/utils/task.py +0 -0
  485. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai/vendor/a2a/utils/telemetry.py +0 -0
  486. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai.egg-info/SOURCES.txt +0 -0
  487. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai.egg-info/dependency_links.txt +0 -0
  488. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai.egg-info/entry_points.txt +0 -0
  489. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai.egg-info/requires.txt +0 -0
  490. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/pygeai.egg-info/top_level.txt +0 -0
  491. {pygeai-0.2.7b43 → pygeai-0.2.7b45}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygeai
3
- Version: 0.2.7b43
3
+ Version: 0.2.7b45
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
@@ -0,0 +1,256 @@
1
+ # GEAI Proxy Documentation
2
+
3
+ ## NAME
4
+ `geai-proxy` – proxy service for managing Model Context Protocol (MCP) servers with GEAI
5
+
6
+ ## SYNOPSIS
7
+ ```bash
8
+ geai-proxy [OPTIONS] CONFIG_FILE
9
+ ```
10
+
11
+ ## DESCRIPTION
12
+ The GEAI Proxy is a Python-based tool that acts as an intermediary between the GEAI API and various tool servers. It manages the registration, execution, and result handling of tool operations through a proxy service.
13
+
14
+ To install:
15
+
16
+ ```bash
17
+ pip install pygeai
18
+ ```
19
+
20
+ ## CONFIGURATION
21
+
22
+ The GEAI Proxy requires two distinct types of configuration:
23
+
24
+ ### 1. MCP Servers Configuration
25
+
26
+ This section declares the Model Context Protocol (MCP) servers that this proxy will link with GEAI. The configuration follows the Claude Desktop standard format and supports multiple servers in one file.
27
+
28
+ #### Configuration File Format
29
+
30
+ ```json
31
+ {
32
+ "mcpServers": {
33
+ "serverName1": {
34
+ "command": "command-to-launch-server",
35
+ "args": ["arg1", "arg2", "..."]
36
+ },
37
+ "serverName2": {
38
+ "command": "command-to-launch-server",
39
+ "args": ["arg1", "arg2", "..."]
40
+ }
41
+ }
42
+ }
43
+ ```
44
+
45
+ #### Example: Puppeteer Server
46
+
47
+ ```json
48
+ {
49
+ "mcpServers": {
50
+ "puppeteer": {
51
+ "command": "npx",
52
+ "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
53
+ }
54
+ }
55
+ }
56
+ ```
57
+
58
+ #### Example: Filesystem Server
59
+
60
+ ```json
61
+ {
62
+ "mcpServers": {
63
+ "filesystem": {
64
+ "command": "npx",
65
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "~/mcp-shared-folder"]
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ #### Example: HTTP+SSE Server
72
+
73
+ ```json
74
+ {
75
+ "mcpServers": {
76
+ "markitdown": {
77
+ "uri": "http://localhost:5000/sse"
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ #### Example: Multiple Servers Combined
84
+
85
+ ```json
86
+ {
87
+ "mcpServers": {
88
+ "puppeteer": {
89
+ "command": "npx",
90
+ "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
91
+ },
92
+ "filesystem": {
93
+ "command": "npx",
94
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "~/mcp-shared-folder"]
95
+ },
96
+ "markitdown": {
97
+ "uri": "http://localhost:5000/sse"
98
+ },
99
+ "custom-server": {
100
+ "command": "python",
101
+ "args": ["path/to/your/custom_mcp_server.py"]
102
+ }
103
+ }
104
+ }
105
+ ```
106
+
107
+ ## PUBLIC TOOL REGISTRATION
108
+
109
+ Tools provided by both MCP and A2A servers can be published to GEAI under a public namespace by including the `public_prefix` field in their configuration entry.
110
+
111
+ This allows tools to be registered under a well-defined global identifier, making them discoverable and shareable across proxies and clients.
112
+
113
+ ### MCP Server Example with Public Prefix
114
+
115
+ Registers tools from the `puppeteer` MCP server under the prefix `com.globant.puppeteer`:
116
+
117
+ ```json
118
+ {
119
+ "mcpServers": {
120
+ "public_prefix": "com.globant.puppeteer",
121
+ "puppeteer": {
122
+ "command": "npx",
123
+ "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
124
+ }
125
+ }
126
+ }
127
+ ```
128
+
129
+ ### A2A Server Example with Public Prefix
130
+
131
+ Registers tools from the `hello-world` A2A agent under the prefix `com.genexus.a2a.sampleagent`:
132
+
133
+ ```json
134
+ {
135
+ "a2aServers": {
136
+ "hello-world": {
137
+ "public_prefix": "com.genexus.a2a.sampleagent",
138
+ "url": "http://localhost:9999",
139
+ "headers": {
140
+ "Authorization": "Bearer fh84ff...."
141
+ }
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ ### Resulting Tool Identifiers
148
+
149
+ For example, a tool named `translate_text` would be available as:
150
+
151
+ ```text
152
+ com.genexus.a2a.sampleagent.translate_text
153
+ ```
154
+
155
+ ### 2. Proxy Authentication Configuration
156
+
157
+ This section establishes the connection between the proxy and GEAI and manages user aliases.
158
+
159
+ #### Automatic Configuration (First Run)
160
+
161
+ ```bash
162
+ geai-proxy sample-mcp-config.json --alias myalias
163
+ ```
164
+
165
+ #### Manual Configuration (Reconfiguration)
166
+
167
+ ```bash
168
+ geai-proxy --configure --alias myalias
169
+ ```
170
+
171
+ During interactive setup, the CLI will prompt:
172
+
173
+ ```
174
+ # Configuring GEAI proxy settings...
175
+ Generated new proxy ID: 37bae96b-bc99-4110-bb61-b912b28f9e32
176
+ -> Insert proxy ID (UUID) (Current: 37bae96b-bc99-4110-bb61-b912b28f9e32, Leave empty to keep):
177
+ -> Insert proxy API key:
178
+ -> Insert proxy base URL:
179
+ -> Insert proxy name:
180
+ -> Insert proxy description:
181
+ ```
182
+
183
+ ## PROXY CONFIGURATION PARAMETERS
184
+
185
+ During interactive setup, the following parameters are requested:
186
+
187
+ - **proxy ID (UUID)**
188
+ A unique identifier for this proxy instance. If left empty, the automatically generated UUID will be used.
189
+
190
+ - **proxy API key**
191
+ The API key used to authenticate the proxy with the GEAI backend. Must be a token from GEAI for a specific project.
192
+
193
+ - **proxy base URL**
194
+ The base URL of the GEAI installation to connect to.
195
+ Example: `https://api.beta.saia.ai`
196
+
197
+ - **proxy name**
198
+ Human-readable name for this proxy instance, stored under the alias.
199
+
200
+ - **proxy description**
201
+ Optional. Helps identify this proxy instance when using multiple aliases.
202
+
203
+ ### Environment Variables
204
+
205
+ All of the above configuration parameters can also be set via environment variables:
206
+
207
+ - `GEAI_API_KEY`
208
+ - `GEAI_API_BASE_URL`
209
+ - `PROXY_ID`
210
+ - `PROXY_NAME`
211
+ - `PROXY_DESCRIPTION`
212
+
213
+ These environment variables override or represent the configuration of the **default alias**. Therefore, they will only be taken into account if the proxy is invoked with `--alias default`. When using a different alias, these variables are ignored.
214
+
215
+ ## USAGE
216
+
217
+ To start the proxy server with a config and alias:
218
+
219
+ ```bash
220
+ geai-proxy sample-mcp-config.json --alias myalias
221
+ ```
222
+
223
+ ### Command Line Arguments
224
+
225
+ - **config_file**: Path to the MCP servers configuration file (JSON).
226
+ - **--alias ALIAS**: Alias for the proxy settings.
227
+ - **--configure**: Reconfigure proxy authentication settings.
228
+
229
+ ## FILES
230
+
231
+ - `pygeai/proxy/sample-mcp-config.json` – Sample configuration file for MCP servers.
232
+
233
+ ## SEE ALSO
234
+
235
+ - `pygeai (1)`
236
+
237
+ ## THIRD-PARTY COMPONENTS
238
+
239
+ This software includes code from the `a2a-python` project by Google LLC, licensed under the Apache License 2.0.
240
+
241
+ Only the vendored component in `pygeai/vendor/a2a/` is Apache-licensed. The rest is MIT-licensed.
242
+
243
+ License sources:
244
+
245
+ - https://github.com/google/a2a-python
246
+ - `pygeai/vendor/a2a/LICENSE`
247
+
248
+ ## AUTHOR
249
+
250
+ Written by the GEAI development team.
251
+
252
+ ## COPYRIGHT
253
+
254
+ Copyright © 2025 GEAI development team.
255
+
256
+ This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -191,6 +191,21 @@ A human-readable name assigned to this instance of \fBgeai-proxy\fR. This name i
191
191
  \fBproxy description\fR
192
192
  An optional description to help identify this proxy instance, especially when multiple proxies are used under different aliases.
193
193
 
194
+ .SS Environment Variables
195
+ The above configuration parameters can also be set using environment variables:
196
+
197
+ .TP
198
+ \fBGEAI_API_KEY\fR
199
+ .TP
200
+ \fBGEAI_API_BASE_URL\fR
201
+ .TP
202
+ \fBPROXY_ID\fR
203
+ .TP
204
+ \fBPROXY_NAME\fR
205
+ .TP
206
+ \fBPROXY_DESCRIPTION\fR
207
+
208
+ These environment variables override or represent the configuration of the \fBdefault alias\fR. Therefore, they are only taken into account if the proxy is invoked with \fB\-\-alias default\fR. When using a different alias, these variables are ignored.
194
209
 
195
210
  .SH USAGE
196
211
  To start the proxy server with a specific configuration and alias:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygeai
3
- Version: 0.2.7b43
3
+ Version: 0.2.7b45
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pygeai"
7
- version = "0.2.7b43"
7
+ version = "0.2.7b45"
8
8
  description = "Software Development Kit to interact with Globant Enterprise AI."
9
9
  license = "MIT"
10
10
  requires-python = ">=3.10"
@@ -1,237 +0,0 @@
1
- # GEAI Proxy Documentation
2
-
3
- ## Overview
4
-
5
- The GEAI Proxy is a Python-based tool that acts as an intermediary between the GEAI API and various tool servers. It manages the registration, execution, and result handling of tool operations through a proxy service.
6
-
7
- ## Installation
8
-
9
- ## Third-party Components
10
-
11
- This project includes code from [`a2a-python`](https://github.com/google/a2a-python) by Google LLC, used under the Apache License, Version 2.0.
12
-
13
- Only the vendored component located in `pygeai/vendor/a2a/` is subject to the Apache License.
14
- The rest of this project is licensed under the MIT License (see `LICENSE` file for details).
15
-
16
-
17
- ```bash
18
- pip install pygeai
19
- ```
20
-
21
- ## Configuration
22
-
23
- The GEAI Proxy requires two distinct types of configuration:
24
-
25
- ### 1. MCP Servers Configuration
26
-
27
- This section declares the Model Context Protocol (MCP) servers that this proxy will link with GEAI. The configuration follows the Claude Desktop standard format and supports multiple servers in one file.
28
-
29
- #### Configuration File Format
30
-
31
- ```json
32
- {
33
- "mcpServers": {
34
- "serverName1": {
35
- "command": "command-to-launch-server",
36
- "args": ["arg1", "arg2", ...]
37
- },
38
- "serverName2": {
39
- "command": "command-to-launch-server",
40
- "args": ["arg1", "arg2", ...]
41
- }
42
- }
43
- }
44
- ```
45
-
46
- #### Example Configurations
47
-
48
- 1. **Puppeteer Server** (for web automation):
49
- ```json
50
- {
51
- "mcpServers": {
52
- "puppeteer": {
53
- "command": "npx",
54
- "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
55
- }
56
- }
57
- }
58
- ```
59
-
60
- 2. **Filesystem Server** (for file operations):
61
- ```json
62
- {
63
- "mcpServers": {
64
- "filesystem": {
65
- "command": "npx",
66
- "args": [
67
- "-y",
68
- "@modelcontextprotocol/server-filesystem",
69
- "~/mcp-shared-folder"
70
- ]
71
- }
72
- }
73
- }
74
- ```
75
-
76
- 2. **Location Services Server** (Using http+sse protocol):
77
- ```json
78
- {
79
- "mcpServers": {
80
- "location-services": {
81
- "uri": "https://location.public-services.com/",
82
- "headers": [
83
- "X-API-KEY", "<my api key"
84
- ]
85
- }
86
- }
87
- }
88
- ```
89
-
90
- 3. **Multiple Servers Combined**:
91
- ```json
92
- {
93
- "mcpServers": {
94
- "puppeteer": {
95
- "command": "npx",
96
- "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
97
- },
98
- "filesystem": {
99
- "command": "npx",
100
- "args": [
101
- "-y",
102
- "@modelcontextprotocol/server-filesystem",
103
- "~/mcp-shared-folder"
104
- ]
105
- },
106
- "custom-server": {
107
- "command": "python",
108
- "args": ["path/to/your/custom_mcp_server.py"]
109
- }
110
- }
111
- }
112
- ```
113
-
114
- ### 1. A2A Servers Configuration
115
-
116
- This section declares the Agent to Agent Protocol (A2A) servers that this proxy will link with GEAI. The configuration follows the standard format and supports multiple servers in one file.
117
-
118
- #### Configuration File Format
119
-
120
- ```json
121
- {
122
- "a2aServers": {
123
- "hello-world": {
124
- "url": "http://localhost:9999",
125
- "headers":{
126
- "Authorization": "Bearer fh84ff...."
127
- }
128
- }
129
- }
130
- }
131
- ```
132
-
133
- A sample configuration file is provided at:
134
- ```
135
- pygeai/proxy/sample-mcp-config.json
136
- ```
137
-
138
- ### 2. Proxy Authentication Configuration
139
-
140
- This section establishes the connection between the proxy and GEAI and manages user aliases. You can configure it automatically on first run or manually reconfigure an existing alias.
141
-
142
- #### Automatic Configuration (First Run)
143
- ```bash
144
- geai-proxy sample-mcp-config.json --alias myalias
145
- ```
146
-
147
- #### Manual Configuration (Reconfiguration)
148
- ```bash
149
- geai-proxy --configure --alias myalias
150
- ```
151
-
152
- During interactive setup, the CLI will prompt you for each required setting:
153
-
154
- ```bash
155
- # Configuring GEAI proxy settings...
156
- Generated new proxy ID: 37bae96b-bc99-4110-bb61-b912b28f9e32
157
- -> Insert proxy ID (UUID) (Current: 37bae96b-bc99-4110-bb61-b912b28f9e32, Leave empty to keep):
158
- -> Insert proxy API key:
159
- -> Insert proxy base URL:
160
- -> Insert proxy name:
161
- -> Insert proxy description:
162
- ```
163
-
164
- ## Proxy Configuration Parameters
165
-
166
- During interactive setup, the following parameters are requested:
167
-
168
- - **proxy ID (UUID)**
169
- A unique identifier for this proxy instance. If left empty, the automatically generated UUID will be used.
170
-
171
- - **proxy API key**
172
- The API key used to authenticate the proxy with the GEAI backend.
173
- This must be an API token generated in GEAI for a specific project.
174
-
175
- - **proxy base URL**
176
- The base URL of the GEAI installation this proxy will connect to.
177
- For example: `https://api.beta.saia.ai`
178
-
179
- - **proxy name**
180
- A human-readable name assigned to this instance of `geai-proxy`.
181
- This name is stored under the configured alias.
182
-
183
- - **proxy description**
184
- An optional description to help identify this proxy instance, especially when using multiple proxies under different aliases.
185
-
186
- ## Usage
187
-
188
- ### Starting the Proxy
189
-
190
- To start the proxy server with a specific configuration and alias:
191
-
192
- ```bash
193
- geai-proxy sample-mcp-config.json --alias myalias
194
- ```
195
-
196
- ### Command Line Arguments
197
-
198
- | Argument | Description | Required |
199
- |----------|-------------|----------|
200
- | `config_file` | Path to the MCP servers configuration file (JSON format) | Yes |
201
- | `--alias` | Alias for the proxy settings | No |
202
- | `--configure` | Command to reconfigure proxy authentication | No |
203
-
204
- ## Command Line Usage
205
-
206
- ```bash
207
- geai-proxy sample-mcp-config.json --alias beta
208
- ```
209
-
210
- ## Architecture
211
-
212
- ```mermaid
213
- graph TD
214
- user["User (Person)\nClient interacting with the GEAI"]
215
- geai["GEAI (Software System)\nGlobant Enterprise AI"]
216
- proxy["MCP Proxy \nProxy that connects to multiple MCP Servers to call tools"]
217
-
218
- mcpA["MCP Server A"]
219
- a2aB["A2A Server B "]
220
- mcpC["MCP Server C "]
221
-
222
- %% Conexiones
223
- user -->|Interacts/Calls tools via| geai
224
- geai -->|Returns tool responses| user
225
- geai -->|Calls tools via| proxy
226
- proxy -->|Returns tool responses| geai
227
-
228
- user -->|Calls Search Tool| proxy
229
- proxy -->|Calls Search Tool| mcpA
230
- mcpA -->|Returns search results| proxy
231
-
232
- proxy -->|Calls Code Tool| a2aB
233
- mcpB -->|Returns code output| proxy
234
-
235
- proxy -->|Calls DB Tool| mcpC
236
- mcpC -->|Returns query results| proxy
237
- ```
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes