pygeai 0.2.7b42__tar.gz → 0.2.7b43__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 (490) hide show
  1. {pygeai-0.2.7b42/pygeai.egg-info → pygeai-0.2.7b43}/PKG-INFO +1 -1
  2. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/docs/geai-proxy/README.md +45 -8
  3. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/man/man1/geai-proxy.1 +76 -0
  4. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/proxy/managers.py +2 -2
  5. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/proxy/servers.py +5 -5
  6. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/proxy/tool.py +5 -5
  7. {pygeai-0.2.7b42 → pygeai-0.2.7b43/pygeai.egg-info}/PKG-INFO +1 -1
  8. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pyproject.toml +1 -1
  9. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/LICENSE +0 -0
  10. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/MANIFEST.in +0 -0
  11. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/README.md +0 -0
  12. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/__init__.py +0 -0
  13. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/admin/__init__.py +0 -0
  14. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/admin/clients.py +0 -0
  15. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/admin/endpoints.py +0 -0
  16. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/__init__.py +0 -0
  17. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/clients.py +0 -0
  18. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/data/__init__.py +0 -0
  19. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/data/clients.py +0 -0
  20. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/data_analyst/__init__.py +0 -0
  21. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/data_analyst/clients.py +0 -0
  22. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/data_analyst/endpoints.py +0 -0
  23. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/endpoints.py +0 -0
  24. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/managers.py +0 -0
  25. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/mappers.py +0 -0
  26. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/rag/__init__.py +0 -0
  27. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/rag/clients.py +0 -0
  28. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/rag/endpoints.py +0 -0
  29. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/rag/mappers.py +0 -0
  30. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/rag/models.py +0 -0
  31. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/assistant/rag/responses.py +0 -0
  32. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/chat/__init__.py +0 -0
  33. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/chat/clients.py +0 -0
  34. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/chat/endpoints.py +0 -0
  35. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/chat/iris.py +0 -0
  36. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/chat/managers.py +0 -0
  37. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/chat/session.py +0 -0
  38. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/chat/settings.py +0 -0
  39. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/chat/ui.py +0 -0
  40. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/__init__.py +0 -0
  41. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/__main__.py +0 -0
  42. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/__init__.py +0 -0
  43. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/admin.py +0 -0
  44. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/assistant.py +0 -0
  45. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/base.py +0 -0
  46. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/builders.py +0 -0
  47. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/chat.py +0 -0
  48. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/common.py +0 -0
  49. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/configuration.py +0 -0
  50. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/embeddings.py +0 -0
  51. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/evaluation.py +0 -0
  52. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/feedback.py +0 -0
  53. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/files.py +0 -0
  54. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/flows/__init__.py +0 -0
  55. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/gam.py +0 -0
  56. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/lab/__init__.py +0 -0
  57. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/lab/ai_lab.py +0 -0
  58. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/lab/common.py +0 -0
  59. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/lab/spec.py +0 -0
  60. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/llm.py +0 -0
  61. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/migrate.py +0 -0
  62. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/options.py +0 -0
  63. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/organization.py +0 -0
  64. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/rag.py +0 -0
  65. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/rerank.py +0 -0
  66. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/secrets.py +0 -0
  67. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/usage_limits.py +0 -0
  68. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/validators.py +0 -0
  69. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/commands/version.py +0 -0
  70. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/geai.py +0 -0
  71. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/geai_proxy.py +0 -0
  72. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/install_man.py +0 -0
  73. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/parsers.py +0 -0
  74. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/texts/__init__.py +0 -0
  75. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/cli/texts/help.py +0 -0
  76. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/__init__.py +0 -0
  77. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/base/__init__.py +0 -0
  78. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/base/clients.py +0 -0
  79. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/base/mappers.py +0 -0
  80. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/base/models.py +0 -0
  81. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/base/responses.py +0 -0
  82. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/base/session.py +0 -0
  83. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/common/__init__.py +0 -0
  84. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/common/config.py +0 -0
  85. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/common/decorators.py +0 -0
  86. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/common/exceptions.py +0 -0
  87. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/embeddings/__init__.py +0 -0
  88. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/embeddings/clients.py +0 -0
  89. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/embeddings/endpoints.py +0 -0
  90. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/embeddings/managers.py +0 -0
  91. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/embeddings/mappers.py +0 -0
  92. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/embeddings/models.py +0 -0
  93. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/embeddings/responses.py +0 -0
  94. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/feedback/__init__.py +0 -0
  95. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/feedback/clients.py +0 -0
  96. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/feedback/endpoints.py +0 -0
  97. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/feedback/models.py +0 -0
  98. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/files/__init__.py +0 -0
  99. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/files/clients.py +0 -0
  100. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/files/endpoints.py +0 -0
  101. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/files/managers.py +0 -0
  102. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/files/mappers.py +0 -0
  103. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/files/models.py +0 -0
  104. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/files/responses.py +0 -0
  105. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/handlers.py +0 -0
  106. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/llm/__init__.py +0 -0
  107. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/llm/clients.py +0 -0
  108. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/llm/endpoints.py +0 -0
  109. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/models.py +0 -0
  110. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/plugins/__init__.py +0 -0
  111. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/plugins/clients.py +0 -0
  112. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/plugins/endpoints.py +0 -0
  113. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/plugins/models.py +0 -0
  114. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/rerank/__init__.py +0 -0
  115. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/rerank/clients.py +0 -0
  116. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/rerank/endpoints.py +0 -0
  117. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/rerank/managers.py +0 -0
  118. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/rerank/mappers.py +0 -0
  119. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/rerank/models.py +0 -0
  120. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/responses.py +0 -0
  121. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/secrets/__init__.py +0 -0
  122. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/secrets/clients.py +0 -0
  123. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/secrets/endpoints.py +0 -0
  124. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/services/__init__.py +0 -0
  125. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/services/llm/__init__.py +0 -0
  126. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/services/llm/model.py +0 -0
  127. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/services/llm/providers.py +0 -0
  128. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/services/response.py +0 -0
  129. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/services/rest.py +0 -0
  130. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/singleton.py +0 -0
  131. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/utils/__init__.py +0 -0
  132. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/core/utils/console.py +0 -0
  133. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/dbg/__init__.py +0 -0
  134. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/dbg/debugger.py +0 -0
  135. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/__init__.py +0 -0
  136. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/clients.py +0 -0
  137. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/dataset/__init__.py +0 -0
  138. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/dataset/clients.py +0 -0
  139. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/dataset/endpoints.py +0 -0
  140. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/plan/__init__.py +0 -0
  141. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/plan/clients.py +0 -0
  142. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/plan/endpoints.py +0 -0
  143. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/result/__init__.py +0 -0
  144. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/result/clients.py +0 -0
  145. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/evaluation/result/endpoints.py +0 -0
  146. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/flows/__init__.py +0 -0
  147. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/flows/endpoints.py +0 -0
  148. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/flows/models.py +0 -0
  149. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/gam/__init__.py +0 -0
  150. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/gam/clients.py +0 -0
  151. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/gam/endpoints.py +0 -0
  152. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/health/__init__.py +0 -0
  153. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/health/clients.py +0 -0
  154. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/health/endpoints.py +0 -0
  155. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/__init__.py +0 -0
  156. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/agents/__init__.py +0 -0
  157. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/agents/clients.py +0 -0
  158. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/agents/endpoints.py +0 -0
  159. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/agents/mappers.py +0 -0
  160. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/constants.py +0 -0
  161. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/managers.py +0 -0
  162. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/models.py +0 -0
  163. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/processes/__init__.py +0 -0
  164. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/processes/clients.py +0 -0
  165. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/processes/endpoints.py +0 -0
  166. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/processes/mappers.py +0 -0
  167. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/runners.py +0 -0
  168. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/spec/__init__.py +0 -0
  169. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/spec/loader.py +0 -0
  170. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/spec/parsers.py +0 -0
  171. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/strategies/__init__.py +0 -0
  172. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/strategies/clients.py +0 -0
  173. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/strategies/endpoints.py +0 -0
  174. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/strategies/mappers.py +0 -0
  175. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/tools/__init__.py +0 -0
  176. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/tools/clients.py +0 -0
  177. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/tools/endpoints.py +0 -0
  178. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/lab/tools/mappers.py +0 -0
  179. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/man/__init__.py +0 -0
  180. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/man/man1/__init__.py +0 -0
  181. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/man/man1/geai.1 +0 -0
  182. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/migration/__init__.py +0 -0
  183. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/migration/strategies.py +0 -0
  184. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/migration/tools.py +0 -0
  185. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/__init__.py +0 -0
  186. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/clients.py +0 -0
  187. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/endpoints.py +0 -0
  188. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/limits/__init__.py +0 -0
  189. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/limits/clients.py +0 -0
  190. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/limits/endpoints.py +0 -0
  191. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/limits/managers.py +0 -0
  192. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/limits/mappers.py +0 -0
  193. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/managers.py +0 -0
  194. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/mappers.py +0 -0
  195. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/organization/responses.py +0 -0
  196. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/proxy/__init__.py +0 -0
  197. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/proxy/clients.py +0 -0
  198. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/proxy/config.py +0 -0
  199. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/__init__.py +0 -0
  200. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/admin/__init__.py +0 -0
  201. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/admin/test_clients.py +0 -0
  202. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/assistants/__init__.py +0 -0
  203. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/assistants/rag/__init__.py +0 -0
  204. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/assistants/rag/test_clients.py +0 -0
  205. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/assistants/rag/test_mappers.py +0 -0
  206. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/assistants/rag/test_models.py +0 -0
  207. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/assistants/test_clients.py +0 -0
  208. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/assistants/test_managers.py +0 -0
  209. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/assistants/test_mappers.py +0 -0
  210. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/chat/__init__.py +0 -0
  211. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/chat/test_clients.py +0 -0
  212. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/chat/test_iris.py +0 -0
  213. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/chat/test_session.py +0 -0
  214. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/chat/test_ui.py +0 -0
  215. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/__init__.py +0 -0
  216. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/__init__.py +0 -0
  217. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/lab/__init__.py +0 -0
  218. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/lab/test_ai_lab.py +0 -0
  219. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/lab/test_common.py +0 -0
  220. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/lab/test_spec.py +0 -0
  221. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_assistant.py +0 -0
  222. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_chat.py +0 -0
  223. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_common.py +0 -0
  224. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_embeddings.py +0 -0
  225. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_feedback.py +0 -0
  226. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_files.py +0 -0
  227. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_gam.py +0 -0
  228. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_llm.py +0 -0
  229. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_migrate.py +0 -0
  230. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_organization.py +0 -0
  231. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_rag.py +0 -0
  232. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_rerank.py +0 -0
  233. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_show_help.py +0 -0
  234. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_usage_limits.py +0 -0
  235. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_validators.py +0 -0
  236. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/commands/test_version.py +0 -0
  237. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/cli/test_parsers.py +0 -0
  238. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/__init__.py +0 -0
  239. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/base/__init__.py +0 -0
  240. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/base/data/__init__.py +0 -0
  241. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/base/data/mappers.py +0 -0
  242. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/base/data/models.py +0 -0
  243. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/base/test_mappers.py +0 -0
  244. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/base/test_models.py +0 -0
  245. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/common/__init__.py +0 -0
  246. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/common/data/__init__.py +0 -0
  247. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/common/test_config.py +0 -0
  248. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/common/test_decorators.py +0 -0
  249. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/embeddings/__init__.py +0 -0
  250. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/embeddings/test_clients.py +0 -0
  251. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/feedback/__init__.py +0 -0
  252. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/feedback/test_clients.py +0 -0
  253. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/files/__init__.py +0 -0
  254. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/files/test_clients.py +0 -0
  255. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/files/test_managers.py +0 -0
  256. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/files/test_models.py +0 -0
  257. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/files/test_responses.py +0 -0
  258. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/llm/__init__.py +0 -0
  259. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/llm/test_clients.py +0 -0
  260. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/rerank/__init__.py +0 -0
  261. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/rerank/test_clients.py +0 -0
  262. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/rerank/test_managers.py +0 -0
  263. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/rerank/test_mappers.py +0 -0
  264. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/secrets/__init__.py +0 -0
  265. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/secrets/test_clients.py +0 -0
  266. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/services/__init__.py +0 -0
  267. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/services/test_rest.py +0 -0
  268. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/test_handlers.py +0 -0
  269. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/utils/__init__.py +0 -0
  270. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/core/utils/test_console.py +0 -0
  271. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/dbg/__init__.py +0 -0
  272. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/dbg/test_debugger.py +0 -0
  273. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/gam/__init__.py +0 -0
  274. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/gam/test_clients.py +0 -0
  275. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/health/__init__.py +0 -0
  276. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/health/test_clients.py +0 -0
  277. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/__init__.py +0 -0
  278. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/__init__.py +0 -0
  279. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/agents/__init__.py +0 -0
  280. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/agents/test_agents_list.py +0 -0
  281. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/agents/test_create_agent.py +0 -0
  282. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/agents/test_create_sharing_link.py +0 -0
  283. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/agents/test_delete_agent.py +0 -0
  284. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/agents/test_get_agent.py +0 -0
  285. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +0 -0
  286. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/integration/lab/agents/test_update_agent.py +0 -0
  287. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/__init__.py +0 -0
  288. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/agents/__init__.py +0 -0
  289. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/agents/test_clients.py +0 -0
  290. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/agents/test_mappers.py +0 -0
  291. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/processes/__init__.py +0 -0
  292. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/processes/test_clients.py +0 -0
  293. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/processes/test_mappers.py +0 -0
  294. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/spec/__init__.py +0 -0
  295. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/spec/test_loader.py +0 -0
  296. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/spec/test_parsers.py +0 -0
  297. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/strategies/__init__.py +0 -0
  298. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/strategies/test_clients.py +0 -0
  299. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/strategies/test_mappers.py +0 -0
  300. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/test_managers.py +0 -0
  301. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/test_mappers.py +0 -0
  302. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/test_models.py +0 -0
  303. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/tools/__init__.py +0 -0
  304. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/tools/test_clients.py +0 -0
  305. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/lab/tools/test_mappers.py +0 -0
  306. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/migration/__init__.py +0 -0
  307. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/migration/test_strategies.py +0 -0
  308. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/migration/test_tools.py +0 -0
  309. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/organization/__init__.py +0 -0
  310. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/organization/limits/__init__.py +0 -0
  311. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/organization/limits/test_clients.py +0 -0
  312. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/organization/limits/test_managers.py +0 -0
  313. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/organization/test_clients.py +0 -0
  314. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/organization/test_managers.py +0 -0
  315. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/organization/test_mappers.py +0 -0
  316. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/__init__.py +0 -0
  317. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/__init__.py +0 -0
  318. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/create_chat_assistant.py +0 -0
  319. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/create_text_assistant.py +0 -0
  320. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/data_analyst/__init__.py +0 -0
  321. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/data_analyst/extend_and_check.py +0 -0
  322. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/data_analyst/extend_dataset.py +0 -0
  323. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/data_analyst/get_status.py +0 -0
  324. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/file_summarizer_assistant.py +0 -0
  325. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/get_assistant_data.py +0 -0
  326. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/get_assistant_list.py +0 -0
  327. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/__init__.py +0 -0
  328. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/create_rag_assistant.py +0 -0
  329. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/delete_al_documents.py +0 -0
  330. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/delete_document.py +0 -0
  331. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +0 -0
  332. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/get_document.py +0 -0
  333. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/get_documents.py +0 -0
  334. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +0 -0
  335. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/update_rag_assistant.py +0 -0
  336. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/rag/upload_document.py +0 -0
  337. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/send_feedback.py +0 -0
  338. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/assistants/update_chat_assistant.py +0 -0
  339. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/__init__.py +0 -0
  340. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/cancel_request.py +0 -0
  341. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/chat_completion.py +0 -0
  342. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/chat_completion_1.py +0 -0
  343. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/chat_completion_2.py +0 -0
  344. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/chat_completion_3.py +0 -0
  345. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/chat_completion_4.py +0 -0
  346. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/chat_completion_streaming.py +0 -0
  347. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/get_request_status.py +0 -0
  348. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/chat/send_chat_request.py +0 -0
  349. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/embeddings/__init__.py +0 -0
  350. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/embeddings/generate_embeddings.py +0 -0
  351. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/evaluation/__init__.py +0 -0
  352. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/files/__init__.py +0 -0
  353. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/files/delete_file.py +0 -0
  354. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/files/get_file_content.py +0 -0
  355. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/files/get_file_data.py +0 -0
  356. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/files/get_file_list.py +0 -0
  357. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/files/upload_file.py +0 -0
  358. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/gam/__init__.py +0 -0
  359. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/gam/gam_access_token.py +0 -0
  360. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/__init__.py +0 -0
  361. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agentic_flow_example_1.py +0 -0
  362. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agentic_flow_example_2.py +0 -0
  363. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agentic_flow_example_3.py +0 -0
  364. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agentic_flow_example_4.py +0 -0
  365. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/__init__.py +0 -0
  366. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/create_agent.py +0 -0
  367. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/create_agent_2.py +0 -0
  368. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/delete_agent.py +0 -0
  369. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/get_agent.py +0 -0
  370. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/get_sharing_link.py +0 -0
  371. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/list_agents.py +0 -0
  372. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/publish_agent_revision.py +0 -0
  373. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/agents/update_agent.py +0 -0
  374. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/assistant_to_agent.py +0 -0
  375. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/crud_ui.py +0 -0
  376. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/__init__.py +0 -0
  377. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/create_process.py +0 -0
  378. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/create_task.py +0 -0
  379. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/jobs/__init__.py +0 -0
  380. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +0 -0
  381. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/kbs/__init__.py +0 -0
  382. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/kbs/create_kb.py +0 -0
  383. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/kbs/get_kb.py +0 -0
  384. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +0 -0
  385. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/kbs/try_all.py +0 -0
  386. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/processes/list_processes.py +0 -0
  387. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/runner_1.py +0 -0
  388. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/samples/__init__.py +0 -0
  389. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/samples/summarize_files.py +0 -0
  390. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/strategies/__init__.py +0 -0
  391. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +0 -0
  392. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +0 -0
  393. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +0 -0
  394. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +0 -0
  395. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/__init__.py +0 -0
  396. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/create_tool.py +0 -0
  397. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/delete_tool.py +0 -0
  398. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/get_parameter.py +0 -0
  399. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/get_tool.py +0 -0
  400. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/list_tools.py +0 -0
  401. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/publish_tool_revision.py +0 -0
  402. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/set_parameters.py +0 -0
  403. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/tools/update_tool.py +0 -0
  404. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/__init__.py +0 -0
  405. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +0 -0
  406. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +0 -0
  407. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +0 -0
  408. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +0 -0
  409. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/create_web_designer.py +0 -0
  410. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/create_web_reader.py +0 -0
  411. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example.py +0 -0
  412. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +0 -0
  413. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +0 -0
  414. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +0 -0
  415. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/update_web_designer.py +0 -0
  416. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/update_web_reader.py +0 -0
  417. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +0 -0
  418. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/migrate/__init__.py +0 -0
  419. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/organization/__init__.py +0 -0
  420. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/organization/create_project.py +0 -0
  421. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/organization/delete_project.py +0 -0
  422. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/organization/export_request_data.py +0 -0
  423. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/organization/get_project_data.py +0 -0
  424. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/organization/get_project_list.py +0 -0
  425. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/organization/get_project_tokens.py +0 -0
  426. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/organization/update_project.py +0 -0
  427. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/rerank/__init__.py +0 -0
  428. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/rerank/rerank_chunks.py +0 -0
  429. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/secrets/__init__.py +0 -0
  430. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/__init__.py +0 -0
  431. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/delete_usage_limit.py +0 -0
  432. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/get_all_usage_limit_from_organization.py +0 -0
  433. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_organization.py +0 -0
  434. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/get_usage_limit_from_project.py +0 -0
  435. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/set_usage_limit_organization.py +0 -0
  436. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/set_usage_limit_project.py +0 -0
  437. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/update_usage_limit_organization.py +0 -0
  438. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/tests/snippets/usage_limit/update_usage_limit_project.py +0 -0
  439. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/__init__.py +0 -0
  440. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/auth/__init__.py +0 -0
  441. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/auth/user.py +0 -0
  442. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/client/__init__.py +0 -0
  443. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/client/client.py +0 -0
  444. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/client/errors.py +0 -0
  445. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/client/helpers.py +0 -0
  446. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/py.typed +0 -0
  447. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/__init__.py +0 -0
  448. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/agent_execution/__init__.py +0 -0
  449. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/agent_execution/agent_executor.py +0 -0
  450. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/agent_execution/context.py +0 -0
  451. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +0 -0
  452. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +0 -0
  453. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/apps/__init__.py +0 -0
  454. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +0 -0
  455. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +0 -0
  456. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +0 -0
  457. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +0 -0
  458. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/context.py +0 -0
  459. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/events/__init__.py +0 -0
  460. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/events/event_consumer.py +0 -0
  461. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/events/event_queue.py +0 -0
  462. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +0 -0
  463. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/events/queue_manager.py +0 -0
  464. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/request_handlers/__init__.py +0 -0
  465. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +0 -0
  466. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +0 -0
  467. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/request_handlers/request_handler.py +0 -0
  468. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/request_handlers/response_helpers.py +0 -0
  469. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/tasks/__init__.py +0 -0
  470. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +0 -0
  471. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +0 -0
  472. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/tasks/push_notifier.py +0 -0
  473. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/tasks/result_aggregator.py +0 -0
  474. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/tasks/task_manager.py +0 -0
  475. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/tasks/task_store.py +0 -0
  476. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/server/tasks/task_updater.py +0 -0
  477. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/types.py +0 -0
  478. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/utils/__init__.py +0 -0
  479. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/utils/artifact.py +0 -0
  480. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/utils/errors.py +0 -0
  481. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/utils/helpers.py +0 -0
  482. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/utils/message.py +0 -0
  483. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/utils/task.py +0 -0
  484. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai/vendor/a2a/utils/telemetry.py +0 -0
  485. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai.egg-info/SOURCES.txt +0 -0
  486. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai.egg-info/dependency_links.txt +0 -0
  487. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai.egg-info/entry_points.txt +0 -0
  488. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai.egg-info/requires.txt +0 -0
  489. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/pygeai.egg-info/top_level.txt +0 -0
  490. {pygeai-0.2.7b42 → pygeai-0.2.7b43}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygeai
3
- Version: 0.2.7b42
3
+ Version: 0.2.7b43
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
@@ -73,6 +73,20 @@ This section declares the Model Context Protocol (MCP) servers that this proxy w
73
73
  }
74
74
  ```
75
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
+
76
90
  3. **Multiple Servers Combined**:
77
91
  ```json
78
92
  {
@@ -107,8 +121,10 @@ This section declares the Agent to Agent Protocol (A2A) servers that this proxy
107
121
  {
108
122
  "a2aServers": {
109
123
  "hello-world": {
110
- "publicpreffix": "com.genexus.a2a.sampleagent",
111
- "url": "http://localhost:9999"
124
+ "url": "http://localhost:9999",
125
+ "headers":{
126
+ "Authorization": "Bearer fh84ff...."
127
+ }
112
128
  }
113
129
  }
114
130
  }
@@ -145,6 +161,28 @@ Generated new proxy ID: 37bae96b-bc99-4110-bb61-b912b28f9e32
145
161
  -> Insert proxy description:
146
162
  ```
147
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
+
148
186
  ## Usage
149
187
 
150
188
  ### Starting the Proxy
@@ -173,14 +211,13 @@ geai-proxy sample-mcp-config.json --alias beta
173
211
 
174
212
  ```mermaid
175
213
  graph TD
176
- %% Elementos principales
177
214
  user["User (Person)\nClient interacting with the GEAI"]
178
215
  geai["GEAI (Software System)\nGlobant Enterprise AI"]
179
- proxy["MCP Proxy (Software System)\nProxy that connects to multiple MCP Servers to call tools"]
216
+ proxy["MCP Proxy \nProxy that connects to multiple MCP Servers to call tools"]
180
217
 
181
- mcpA["MCP Server A (Software System)\nTool server for search functionality"]
182
- mcpB["MCP Server B (Software System)\nTool server for code execution"]
183
- mcpC["MCP Server C (Software System)\nTool server for database queries"]
218
+ mcpA["MCP Server A"]
219
+ a2aB["A2A Server B "]
220
+ mcpC["MCP Server C "]
184
221
 
185
222
  %% Conexiones
186
223
  user -->|Interacts/Calls tools via| geai
@@ -192,7 +229,7 @@ graph TD
192
229
  proxy -->|Calls Search Tool| mcpA
193
230
  mcpA -->|Returns search results| proxy
194
231
 
195
- proxy -->|Calls Code Tool| mcpB
232
+ proxy -->|Calls Code Tool| a2aB
196
233
  mcpB -->|Returns code output| proxy
197
234
 
198
235
  proxy -->|Calls DB Tool| mcpC
@@ -92,6 +92,55 @@ The configuration file should be in JSON format with the following structure:
92
92
  }
93
93
  .fi
94
94
 
95
+ .SH PUBLIC TOOL REGISTRATION
96
+ Tools provided by both MCP and A2A servers can be published to GEAI under a public namespace
97
+ by including the \fBpublic_prefix\fR field in their configuration entry.
98
+
99
+ This allows tools to be registered under a well-defined global identifier, making them
100
+ discoverable and shareable across proxies and clients.
101
+
102
+ .SS MCP SERVER EXAMPLE WITH PUBLIC PREFIX
103
+ The following configuration registers all tools from the \fBpuppeteer\fR MCP server under
104
+ the public prefix \fIcom.globant.puppeteer\fR:
105
+
106
+ .nf
107
+ {
108
+ "mcpServers": {
109
+ "public_prefix": "com.globant.puppeteer",
110
+ "puppeteer": {
111
+ "command": "npx",
112
+ "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
113
+ }
114
+ }
115
+ }
116
+ .fi
117
+
118
+ .SS A2A SERVER EXAMPLE WITH PUBLIC PREFIX
119
+ The following configuration registers the tools provided by the \fBhello-world\fR A2A agent
120
+ under the prefix \fIcom.genexus.a2a.sampleagent\fR:
121
+
122
+ .nf
123
+ {
124
+ "a2aServers": {
125
+ "hello-world": {
126
+ "public_prefix": "com.genexus.a2a.sampleagent",
127
+ "url": "http://localhost:9999",
128
+ "headers": {
129
+ "Authorization": "Bearer fh84ff...."
130
+ }
131
+ }
132
+ }
133
+ }
134
+ .fi
135
+
136
+ .SS RESULTING TOOL IDENTIFIERS
137
+ When this prefix is set, all tools will be published using it. For example, a tool named
138
+ \fBtranslate_text\fR would be available as:
139
+
140
+ .nf
141
+ com.genexus.a2a.sampleagent.translate_text
142
+ .fi
143
+
95
144
  .SS 2. Proxy Authentication Configuration
96
145
  This section establishes the connection between the proxy and GEAI and manages user aliases.
97
146
  .TP
@@ -116,6 +165,33 @@ Generated new proxy ID: 37bae96b-bc99-4110-bb61-b912b28f9e32
116
165
  -> Insert proxy description:
117
166
  .fi
118
167
 
168
+ .SH PROXY CONFIGURATION PARAMETERS
169
+ During interactive setup, the following parameters are requested:
170
+
171
+ .TP
172
+ \fBproxy ID (UUID)\fR
173
+ A unique identifier for this proxy instance. If left empty, the automatically generated UUID
174
+ will be used.
175
+
176
+ .TP
177
+ \fBproxy API key\fR
178
+ The API key used to authenticate the proxy with the GEAI backend. This must be an API token
179
+ generated in GEAI for a specific project.
180
+
181
+ .TP
182
+ \fBproxy base URL\fR
183
+ The base URL of the GEAI installation this proxy will connect to.
184
+ For example: \fIhttps://api.beta.saia.ai\fR
185
+
186
+ .TP
187
+ \fBproxy name\fR
188
+ A human-readable name assigned to this instance of \fBgeai-proxy\fR. This name is stored under the configured alias.
189
+
190
+ .TP
191
+ \fBproxy description\fR
192
+ An optional description to help identify this proxy instance, especially when multiple proxies are used under different aliases.
193
+
194
+
119
195
  .SH USAGE
120
196
  To start the proxy server with a specific configuration and alias:
121
197
  .nf
@@ -59,8 +59,8 @@ class ServerManager:
59
59
 
60
60
  for server in self.servers.values():
61
61
  Console.write_stdout(f"Listing tools for server {server.name}", end="")
62
- if server.public_preffix:
63
- Console.write_stdout(f" | access scope:public prefix: {server.public_preffix}")
62
+ if server.public_prefix:
63
+ Console.write_stdout(f" | access scope:public prefix: {server.public_prefix}")
64
64
  else:
65
65
  Console.write_stdout(" ! access scope:private")
66
66
 
@@ -40,7 +40,7 @@ class ToolServer(ABC):
40
40
  self.config = config
41
41
  self.settings = settings
42
42
  self.name: str = sever_name
43
- self.public_preffix: str | None = None
43
+ self.public_prefix: str | None = None
44
44
  self.exit_stack: AsyncExitStack = AsyncExitStack()
45
45
 
46
46
  @abstractmethod
@@ -105,7 +105,7 @@ class A2AServer(ToolServer):
105
105
  """
106
106
  try:
107
107
  self.httpx_client = httpx.AsyncClient(timeout=60.0)
108
- self.public_preffix = self.config.get("publicpreffix")
108
+ self.public_prefix = self.config.get("public_prefix")
109
109
  headers = self.config.get("headers")
110
110
  if headers:
111
111
  self.httpx_client.headers.update(headers)
@@ -138,7 +138,7 @@ class A2AServer(ToolServer):
138
138
  }
139
139
  tools = []
140
140
  for skill in self.agent_card.skills:
141
- tools.append(ProxiedTool(self.name, skill.id, skill.description, self.public_preffix, input_schema))
141
+ tools.append(ProxiedTool(self.name, skill.id, skill.description, self.public_prefix, input_schema))
142
142
  return tools
143
143
 
144
144
  async def execute_tool(
@@ -197,7 +197,7 @@ class MCPServer(ToolServer):
197
197
  self.session: ClientSession | None = None
198
198
 
199
199
  async def initialize(self) -> None:
200
- self.public_preffix = self.config.get("publicpreffix")
200
+ self.public_prefix = self.config.get("public_prefix")
201
201
  transport = self.config.get("transport") or (
202
202
  "sse" if "uri" in self.config else "stdio"
203
203
  )
@@ -264,7 +264,7 @@ class MCPServer(ToolServer):
264
264
  self.name,
265
265
  tool.name,
266
266
  tool.description,
267
- self.public_preffix,
267
+ self.public_prefix,
268
268
  tool.inputSchema
269
269
  )
270
270
  )
@@ -9,7 +9,7 @@ class ProxiedTool:
9
9
  :param server_name: str - Name of the server exposing the tool
10
10
  :param name: str - Name of the tool
11
11
  :param description: str - Description of the tool's functionality
12
- :param public_preffix: str - Public prefix of the tool
12
+ :param public_prefix: str - Public prefix of the tool
13
13
  :param input_schema: dict[str, Any] - JSON schema defining the expected input for the tool
14
14
  :return: ProxiedTool - Instance of the ProxiedTool class
15
15
  :raises: ValueError - If any required parameter is invalid or missing
@@ -20,7 +20,7 @@ class ProxiedTool:
20
20
  server_name: str,
21
21
  name: str,
22
22
  description: str,
23
- public_preffix: str,
23
+ public_prefix: str,
24
24
  input_schema: dict[str, Any]
25
25
  ) -> None:
26
26
  self.server_name: str = server_name
@@ -28,7 +28,7 @@ class ProxiedTool:
28
28
  self.openai_compatible_name: str = self._get_openai_compatible_name(name)
29
29
  self.description: str = description
30
30
  self.input_schema: dict[str, Any] = input_schema
31
- self.public_preffix: str = public_preffix
31
+ self.public_prefix: str = public_prefix
32
32
 
33
33
  def get_full_name(self) -> str:
34
34
  """Get the full name of the tool."""
@@ -36,12 +36,12 @@ class ProxiedTool:
36
36
 
37
37
  def is_public(self) -> bool:
38
38
  """Check if the tool is public."""
39
- return self.public_preffix is not None
39
+ return self.public_prefix is not None
40
40
 
41
41
  def get_public_name(self) -> str:
42
42
  """Get the public name of the tool."""
43
43
  return (
44
- f"{self.public_preffix}.{self.name if self.server_name in self.public_preffix else self.get_full_name()}"
44
+ f"{self.public_prefix}.{self.name if self.server_name in self.public_prefix else self.get_full_name()}"
45
45
  )
46
46
 
47
47
  def format_for_llm(self) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygeai
3
- Version: 0.2.7b42
3
+ Version: 0.2.7b43
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.7b42"
7
+ version = "0.2.7b43"
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