pygeai 0.1.51b3__py3-none-any.whl → 0.6.0b15__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (648) hide show
  1. pygeai/__init__.py +9 -1
  2. pygeai/_docs/Makefile +20 -0
  3. pygeai/_docs/make.bat +35 -0
  4. pygeai/_docs/source/conf.py +117 -0
  5. pygeai/_docs/source/content/ai_lab/cli.rst +747 -0
  6. pygeai/_docs/source/content/ai_lab/models.rst +1734 -0
  7. pygeai/_docs/source/content/ai_lab/runner.rst +253 -0
  8. pygeai/_docs/source/content/ai_lab/spec.rst +431 -0
  9. pygeai/_docs/source/content/ai_lab/usage.rst +1011 -0
  10. pygeai/_docs/source/content/ai_lab.rst +102 -0
  11. pygeai/_docs/source/content/analytics.rst +598 -0
  12. pygeai/_docs/source/content/api_reference/admin.rst +161 -0
  13. pygeai/_docs/source/content/api_reference/assistant.rst +326 -0
  14. pygeai/_docs/source/content/api_reference/auth.rst +379 -0
  15. pygeai/_docs/source/content/api_reference/chat.rst +754 -0
  16. pygeai/_docs/source/content/api_reference/embeddings.rst +154 -0
  17. pygeai/_docs/source/content/api_reference/evaluation.rst +590 -0
  18. pygeai/_docs/source/content/api_reference/feedback.rst +237 -0
  19. pygeai/_docs/source/content/api_reference/files.rst +592 -0
  20. pygeai/_docs/source/content/api_reference/gam.rst +401 -0
  21. pygeai/_docs/source/content/api_reference/health.rst +58 -0
  22. pygeai/_docs/source/content/api_reference/project.rst +738 -0
  23. pygeai/_docs/source/content/api_reference/proxy.rst +318 -0
  24. pygeai/_docs/source/content/api_reference/rag.rst +710 -0
  25. pygeai/_docs/source/content/api_reference/rerank.rst +94 -0
  26. pygeai/_docs/source/content/api_reference/secrets.rst +495 -0
  27. pygeai/_docs/source/content/api_reference/usage_limits.rst +390 -0
  28. pygeai/_docs/source/content/api_reference.rst +58 -0
  29. pygeai/_docs/source/content/authentication.rst +295 -0
  30. pygeai/_docs/source/content/chat_gui.rst +121 -0
  31. pygeai/_docs/source/content/cli.rst +203 -0
  32. pygeai/_docs/source/content/debugger.rst +651 -0
  33. pygeai/_docs/source/content/intro.rst +67 -0
  34. pygeai/_docs/source/content/migration.rst +929 -0
  35. pygeai/_docs/source/content/modules.rst +7 -0
  36. pygeai/_docs/source/content/quickstart.rst +143 -0
  37. pygeai/_docs/source/content/samples.rst +394 -0
  38. pygeai/_docs/source/index.rst +75 -0
  39. pygeai/_docs/source/modules.rst +7 -0
  40. pygeai/_docs/source/pygeai.admin.rst +29 -0
  41. pygeai/_docs/source/pygeai.analytics.rst +53 -0
  42. pygeai/_docs/source/pygeai.assistant.data.rst +21 -0
  43. pygeai/_docs/source/pygeai.assistant.data_analyst.rst +29 -0
  44. pygeai/_docs/source/pygeai.assistant.rag.rst +53 -0
  45. pygeai/_docs/source/pygeai.assistant.rst +55 -0
  46. pygeai/_docs/source/pygeai.auth.rst +29 -0
  47. pygeai/_docs/source/pygeai.chat.rst +69 -0
  48. pygeai/_docs/source/pygeai.cli.commands.flows.rst +10 -0
  49. pygeai/_docs/source/pygeai.cli.commands.lab.rst +53 -0
  50. pygeai/_docs/source/pygeai.cli.commands.rst +222 -0
  51. pygeai/_docs/source/pygeai.cli.rst +62 -0
  52. pygeai/_docs/source/pygeai.cli.texts.rst +21 -0
  53. pygeai/_docs/source/pygeai.core.base.rst +53 -0
  54. pygeai/_docs/source/pygeai.core.common.rst +37 -0
  55. pygeai/_docs/source/pygeai.core.embeddings.rst +61 -0
  56. pygeai/_docs/source/pygeai.core.feedback.rst +37 -0
  57. pygeai/_docs/source/pygeai.core.files.rst +61 -0
  58. pygeai/_docs/source/pygeai.core.llm.rst +29 -0
  59. pygeai/_docs/source/pygeai.core.plugins.rst +37 -0
  60. pygeai/_docs/source/pygeai.core.rerank.rst +53 -0
  61. pygeai/_docs/source/pygeai.core.rst +63 -0
  62. pygeai/_docs/source/pygeai.core.secrets.rst +29 -0
  63. pygeai/_docs/source/pygeai.core.services.llm.rst +29 -0
  64. pygeai/_docs/source/pygeai.core.services.rst +37 -0
  65. pygeai/_docs/source/pygeai.core.utils.rst +37 -0
  66. pygeai/_docs/source/pygeai.dbg.rst +21 -0
  67. pygeai/_docs/source/pygeai.evaluation.dataset.rst +29 -0
  68. pygeai/_docs/source/pygeai.evaluation.plan.rst +29 -0
  69. pygeai/_docs/source/pygeai.evaluation.result.rst +29 -0
  70. pygeai/_docs/source/pygeai.evaluation.rst +31 -0
  71. pygeai/_docs/source/pygeai.flows.rst +29 -0
  72. pygeai/_docs/source/pygeai.gam.rst +29 -0
  73. pygeai/_docs/source/pygeai.health.rst +29 -0
  74. pygeai/_docs/source/pygeai.lab.agents.rst +37 -0
  75. pygeai/_docs/source/pygeai.lab.processes.rst +37 -0
  76. pygeai/_docs/source/pygeai.lab.rst +65 -0
  77. pygeai/_docs/source/pygeai.lab.spec.rst +29 -0
  78. pygeai/_docs/source/pygeai.lab.strategies.rst +37 -0
  79. pygeai/_docs/source/pygeai.lab.tools.rst +37 -0
  80. pygeai/_docs/source/pygeai.man.man1.rst +10 -0
  81. pygeai/_docs/source/pygeai.man.rst +18 -0
  82. pygeai/_docs/source/pygeai.migration.rst +29 -0
  83. pygeai/_docs/source/pygeai.organization.limits.rst +45 -0
  84. pygeai/_docs/source/pygeai.organization.rst +61 -0
  85. pygeai/_docs/source/pygeai.proxy.rst +53 -0
  86. pygeai/_docs/source/pygeai.rst +35 -0
  87. pygeai/_docs/source/pygeai.tests.admin.rst +21 -0
  88. pygeai/_docs/source/pygeai.tests.analytics.rst +45 -0
  89. pygeai/_docs/source/pygeai.tests.assistants.rag.rst +37 -0
  90. pygeai/_docs/source/pygeai.tests.assistants.rst +45 -0
  91. pygeai/_docs/source/pygeai.tests.auth.rst +29 -0
  92. pygeai/_docs/source/pygeai.tests.chat.rst +45 -0
  93. pygeai/_docs/source/pygeai.tests.cli.commands.lab.rst +37 -0
  94. pygeai/_docs/source/pygeai.tests.cli.commands.rst +165 -0
  95. pygeai/_docs/source/pygeai.tests.cli.docker.rst +10 -0
  96. pygeai/_docs/source/pygeai.tests.cli.rst +46 -0
  97. pygeai/_docs/source/pygeai.tests.core.base.data.rst +29 -0
  98. pygeai/_docs/source/pygeai.tests.core.base.rst +45 -0
  99. pygeai/_docs/source/pygeai.tests.core.common.data.rst +10 -0
  100. pygeai/_docs/source/pygeai.tests.core.common.rst +37 -0
  101. pygeai/_docs/source/pygeai.tests.core.embeddings.rst +37 -0
  102. pygeai/_docs/source/pygeai.tests.core.feedback.rst +21 -0
  103. pygeai/_docs/source/pygeai.tests.core.files.rst +53 -0
  104. pygeai/_docs/source/pygeai.tests.core.llm.rst +21 -0
  105. pygeai/_docs/source/pygeai.tests.core.plugins.rst +21 -0
  106. pygeai/_docs/source/pygeai.tests.core.rerank.rst +37 -0
  107. pygeai/_docs/source/pygeai.tests.core.rst +39 -0
  108. pygeai/_docs/source/pygeai.tests.core.secrets.rst +21 -0
  109. pygeai/_docs/source/pygeai.tests.core.services.rst +21 -0
  110. pygeai/_docs/source/pygeai.tests.core.utils.rst +21 -0
  111. pygeai/_docs/source/pygeai.tests.dbg.rst +21 -0
  112. pygeai/_docs/source/pygeai.tests.evaluation.dataset.rst +21 -0
  113. pygeai/_docs/source/pygeai.tests.evaluation.plan.rst +21 -0
  114. pygeai/_docs/source/pygeai.tests.evaluation.result.rst +21 -0
  115. pygeai/_docs/source/pygeai.tests.evaluation.rst +20 -0
  116. pygeai/_docs/source/pygeai.tests.gam.rst +21 -0
  117. pygeai/_docs/source/pygeai.tests.health.rst +21 -0
  118. pygeai/_docs/source/pygeai.tests.integration.assistants.rag.rst +21 -0
  119. pygeai/_docs/source/pygeai.tests.integration.assistants.rst +18 -0
  120. pygeai/_docs/source/pygeai.tests.integration.chat.rst +21 -0
  121. pygeai/_docs/source/pygeai.tests.integration.lab.agents.rst +69 -0
  122. pygeai/_docs/source/pygeai.tests.integration.lab.processes.rst +77 -0
  123. pygeai/_docs/source/pygeai.tests.integration.lab.reasoning_strategies.rst +37 -0
  124. pygeai/_docs/source/pygeai.tests.integration.lab.rst +21 -0
  125. pygeai/_docs/source/pygeai.tests.integration.lab.tools.rst +77 -0
  126. pygeai/_docs/source/pygeai.tests.integration.rst +20 -0
  127. pygeai/_docs/source/pygeai.tests.lab.agents.rst +29 -0
  128. pygeai/_docs/source/pygeai.tests.lab.processes.rst +29 -0
  129. pygeai/_docs/source/pygeai.tests.lab.rst +49 -0
  130. pygeai/_docs/source/pygeai.tests.lab.spec.rst +29 -0
  131. pygeai/_docs/source/pygeai.tests.lab.strategies.rst +29 -0
  132. pygeai/_docs/source/pygeai.tests.lab.tools.rst +29 -0
  133. pygeai/_docs/source/pygeai.tests.migration.rst +29 -0
  134. pygeai/_docs/source/pygeai.tests.organization.limits.rst +29 -0
  135. pygeai/_docs/source/pygeai.tests.organization.rst +53 -0
  136. pygeai/_docs/source/pygeai.tests.proxy.rst +61 -0
  137. pygeai/_docs/source/pygeai.tests.rst +33 -0
  138. pygeai/admin/clients.py +14 -11
  139. pygeai/admin/endpoints.py +2 -2
  140. pygeai/analytics/clients.py +505 -0
  141. pygeai/analytics/endpoints.py +35 -0
  142. pygeai/analytics/managers.py +606 -0
  143. pygeai/analytics/mappers.py +207 -0
  144. pygeai/analytics/responses.py +240 -0
  145. pygeai/assistant/clients.py +18 -45
  146. pygeai/assistant/data/clients.py +1 -0
  147. pygeai/assistant/data_analyst/clients.py +8 -12
  148. pygeai/assistant/managers.py +195 -157
  149. pygeai/assistant/mappers.py +4 -2
  150. pygeai/assistant/rag/clients.py +27 -67
  151. pygeai/assistant/rag/mappers.py +12 -6
  152. pygeai/assistant/rag/models.py +301 -159
  153. pygeai/auth/__init__.py +0 -0
  154. pygeai/auth/clients.py +129 -0
  155. pygeai/auth/endpoints.py +6 -0
  156. pygeai/chat/clients.py +308 -37
  157. pygeai/chat/endpoints.py +3 -0
  158. pygeai/chat/iris.py +2 -8
  159. pygeai/chat/managers.py +9 -6
  160. pygeai/chat/session.py +38 -0
  161. pygeai/chat/settings.py +6 -0
  162. pygeai/chat/ui.py +678 -0
  163. pygeai/cli/__init__.py +0 -1
  164. pygeai/cli/commands/admin.py +7 -10
  165. pygeai/cli/commands/analytics.py +533 -0
  166. pygeai/cli/commands/assistant.py +9 -9
  167. pygeai/cli/commands/auth.py +299 -0
  168. pygeai/cli/commands/base.py +71 -9
  169. pygeai/cli/commands/chat.py +676 -19
  170. pygeai/cli/commands/common.py +28 -24
  171. pygeai/cli/commands/configuration.py +66 -13
  172. pygeai/cli/commands/docs.py +105 -0
  173. pygeai/cli/commands/embeddings.py +58 -11
  174. pygeai/cli/commands/evaluation.py +38 -38
  175. pygeai/cli/commands/feedback.py +3 -4
  176. pygeai/cli/commands/files.py +7 -8
  177. pygeai/cli/commands/gam.py +85 -10
  178. pygeai/cli/commands/lab/ai_lab.py +340 -484
  179. pygeai/cli/commands/lab/options.py +8 -0
  180. pygeai/cli/commands/lab/spec.py +273 -0
  181. pygeai/cli/commands/lab/utils.py +13 -0
  182. pygeai/cli/commands/llm.py +6 -7
  183. pygeai/cli/commands/migrate.py +1064 -436
  184. pygeai/cli/commands/organization.py +516 -11
  185. pygeai/cli/commands/rag.py +13 -14
  186. pygeai/cli/commands/rerank.py +3 -5
  187. pygeai/cli/commands/secrets.py +8 -9
  188. pygeai/cli/commands/usage_limits.py +18 -20
  189. pygeai/cli/commands/validators.py +144 -1
  190. pygeai/cli/commands/version.py +4 -5
  191. pygeai/cli/error_handler.py +151 -0
  192. pygeai/cli/geai.py +170 -31
  193. pygeai/cli/geai_proxy.py +86 -25
  194. pygeai/cli/install_man.py +93 -22
  195. pygeai/cli/parsers.py +75 -25
  196. pygeai/cli/texts/help.py +265 -28
  197. pygeai/core/base/clients.py +53 -12
  198. pygeai/core/base/mappers.py +11 -2
  199. pygeai/core/base/session.py +95 -11
  200. pygeai/core/common/config.py +78 -14
  201. pygeai/core/common/exceptions.py +96 -6
  202. pygeai/core/embeddings/__init__.py +19 -0
  203. pygeai/core/embeddings/clients.py +23 -5
  204. pygeai/core/embeddings/managers.py +9 -4
  205. pygeai/core/embeddings/mappers.py +16 -2
  206. pygeai/core/embeddings/responses.py +9 -2
  207. pygeai/core/feedback/clients.py +8 -3
  208. pygeai/core/files/clients.py +23 -24
  209. pygeai/core/files/managers.py +121 -30
  210. pygeai/core/files/responses.py +4 -3
  211. pygeai/core/handlers.py +10 -1
  212. pygeai/core/llm/clients.py +22 -29
  213. pygeai/core/models.py +127 -11
  214. pygeai/core/plugins/clients.py +6 -6
  215. pygeai/core/rerank/clients.py +9 -3
  216. pygeai/core/rerank/managers.py +22 -5
  217. pygeai/core/secrets/clients.py +16 -37
  218. pygeai/core/services/response.py +18 -0
  219. pygeai/core/services/rest.py +159 -49
  220. pygeai/core/utils/__init__.py +0 -0
  221. pygeai/core/utils/console.py +83 -0
  222. pygeai/core/utils/parsers.py +32 -0
  223. pygeai/core/utils/validators.py +10 -0
  224. pygeai/dbg/__init__.py +3 -0
  225. pygeai/dbg/debugger.py +854 -14
  226. pygeai/evaluation/clients.py +7 -4
  227. pygeai/evaluation/dataset/clients.py +46 -44
  228. pygeai/evaluation/plan/clients.py +28 -26
  229. pygeai/evaluation/result/clients.py +38 -5
  230. pygeai/gam/clients.py +50 -28
  231. pygeai/gam/endpoints.py +2 -1
  232. pygeai/health/__init__.py +0 -0
  233. pygeai/health/clients.py +24 -0
  234. pygeai/health/endpoints.py +1 -0
  235. pygeai/lab/__init__.py +0 -90
  236. pygeai/lab/agents/clients.py +203 -162
  237. pygeai/lab/agents/endpoints.py +4 -0
  238. pygeai/lab/agents/mappers.py +57 -7
  239. pygeai/lab/clients.py +24 -0
  240. pygeai/lab/constants.py +3 -0
  241. pygeai/lab/managers.py +571 -541
  242. pygeai/lab/models.py +108 -19
  243. pygeai/lab/processes/clients.py +332 -340
  244. pygeai/lab/processes/mappers.py +3 -3
  245. pygeai/lab/runners.py +90 -0
  246. pygeai/lab/spec/__init__.py +0 -0
  247. pygeai/lab/spec/loader.py +24 -0
  248. pygeai/lab/spec/parsers.py +39 -0
  249. pygeai/lab/strategies/clients.py +67 -63
  250. pygeai/lab/strategies/mappers.py +1 -1
  251. pygeai/lab/tools/clients.py +85 -118
  252. pygeai/lab/tools/endpoints.py +4 -0
  253. pygeai/lab/tools/mappers.py +5 -5
  254. pygeai/man/man1/geai-proxy.1 +116 -0
  255. pygeai/man/man1/geai.1 +2580 -66
  256. pygeai/migration/__init__.py +33 -0
  257. pygeai/migration/strategies.py +468 -146
  258. pygeai/migration/tools.py +170 -3
  259. pygeai/organization/clients.py +245 -50
  260. pygeai/organization/endpoints.py +17 -8
  261. pygeai/organization/limits/clients.py +34 -32
  262. pygeai/organization/limits/managers.py +108 -49
  263. pygeai/organization/managers.py +347 -53
  264. pygeai/organization/mappers.py +102 -2
  265. pygeai/organization/responses.py +58 -1
  266. pygeai/proxy/clients.py +6 -3
  267. pygeai/proxy/config.py +14 -1
  268. pygeai/proxy/managers.py +61 -33
  269. pygeai/proxy/servers.py +196 -51
  270. pygeai/proxy/tool.py +33 -16
  271. pygeai/tests/admin/__init__.py +0 -0
  272. pygeai/tests/admin/test_clients.py +148 -0
  273. pygeai/tests/analytics/__init__.py +0 -0
  274. pygeai/tests/analytics/test_clients.py +86 -0
  275. pygeai/tests/analytics/test_managers.py +94 -0
  276. pygeai/tests/analytics/test_mappers.py +84 -0
  277. pygeai/tests/analytics/test_responses.py +73 -0
  278. pygeai/tests/assistants/rag/test_clients.py +346 -0
  279. pygeai/tests/assistants/rag/test_models.py +292 -0
  280. pygeai/tests/assistants/test_clients.py +176 -82
  281. pygeai/tests/assistants/test_managers.py +191 -57
  282. pygeai/tests/auth/__init__.py +0 -0
  283. pygeai/tests/auth/test_clients.py +289 -0
  284. pygeai/tests/auth/test_oauth.py +172 -0
  285. pygeai/tests/auth/test_session_logging.py +150 -0
  286. pygeai/tests/chat/__init__.py +0 -0
  287. pygeai/tests/chat/test_clients.py +393 -0
  288. pygeai/tests/chat/test_iris.py +38 -0
  289. pygeai/tests/chat/test_session.py +62 -0
  290. pygeai/tests/chat/test_ui.py +224 -0
  291. pygeai/tests/cli/commands/__init__.py +0 -0
  292. pygeai/tests/cli/commands/lab/__init__.py +0 -0
  293. pygeai/tests/cli/commands/lab/test_ai_lab.py +786 -0
  294. pygeai/tests/cli/commands/lab/test_common.py +208 -0
  295. pygeai/tests/cli/commands/lab/test_spec.py +246 -0
  296. pygeai/tests/cli/commands/test_assistant.py +202 -0
  297. pygeai/tests/cli/commands/test_chat.py +130 -0
  298. pygeai/tests/cli/commands/test_common.py +350 -0
  299. pygeai/tests/cli/commands/test_embeddings.py +132 -0
  300. pygeai/tests/cli/commands/test_evaluation.py +656 -0
  301. pygeai/tests/cli/commands/test_feedback.py +65 -0
  302. pygeai/tests/cli/commands/test_files.py +161 -0
  303. pygeai/tests/cli/commands/test_gam.py +201 -0
  304. pygeai/tests/cli/commands/test_llm.py +114 -0
  305. pygeai/tests/cli/commands/test_migrate.py +176 -0
  306. pygeai/tests/cli/commands/test_organization.py +276 -0
  307. pygeai/tests/cli/commands/test_rag.py +266 -0
  308. pygeai/tests/cli/commands/test_rerank.py +110 -0
  309. pygeai/tests/cli/commands/test_secrets.py +171 -0
  310. pygeai/tests/cli/commands/test_show_help.py +41 -0
  311. pygeai/tests/cli/commands/test_usage_limits.py +412 -0
  312. pygeai/tests/cli/commands/test_validators.py +160 -0
  313. pygeai/tests/cli/commands/test_version.py +81 -0
  314. pygeai/tests/cli/docker/__init__.py +0 -0
  315. pygeai/tests/cli/test_credentials_flag.py +316 -0
  316. pygeai/tests/cli/test_error_handler.py +225 -0
  317. pygeai/tests/cli/test_geai_driver.py +154 -0
  318. pygeai/tests/cli/test_parsers.py +5 -5
  319. pygeai/tests/core/base/data/models.py +7 -0
  320. pygeai/tests/core/base/test_mappers.py +43 -11
  321. pygeai/tests/core/base/test_models.py +3 -1
  322. pygeai/tests/core/base/test_responses.py +53 -0
  323. pygeai/tests/core/common/__init__.py +0 -0
  324. pygeai/tests/core/common/data/__init__.py +0 -0
  325. pygeai/tests/core/common/test_config.py +186 -0
  326. pygeai/tests/core/common/test_decorators.py +69 -0
  327. pygeai/tests/core/embeddings/__init__.py +0 -0
  328. pygeai/tests/core/embeddings/test_clients.py +225 -0
  329. pygeai/tests/core/embeddings/test_managers.py +171 -0
  330. pygeai/tests/core/embeddings/test_mappers.py +142 -0
  331. pygeai/tests/core/feedback/__init__.py +0 -0
  332. pygeai/tests/core/feedback/test_clients.py +64 -0
  333. pygeai/tests/core/files/test_clients.py +128 -0
  334. pygeai/tests/core/files/test_managers.py +124 -78
  335. pygeai/tests/core/files/test_mappers.py +137 -0
  336. pygeai/tests/core/files/test_models.py +103 -0
  337. pygeai/tests/core/files/test_responses.py +122 -0
  338. pygeai/tests/core/llm/__init__.py +0 -0
  339. pygeai/tests/core/llm/test_clients.py +142 -0
  340. pygeai/tests/core/plugins/__init__.py +0 -0
  341. pygeai/tests/core/plugins/test_clients.py +66 -0
  342. pygeai/tests/core/rerank/test_clients.py +76 -0
  343. pygeai/tests/core/rerank/test_managers.py +61 -39
  344. pygeai/tests/core/secrets/__init__.py +0 -0
  345. pygeai/tests/core/secrets/test_clients.py +264 -0
  346. pygeai/tests/core/services/__init__.py +0 -0
  347. pygeai/tests/core/services/test_rest.py +273 -0
  348. pygeai/tests/core/test_handlers.py +66 -0
  349. pygeai/tests/core/utils/__init__.py +0 -0
  350. pygeai/tests/core/utils/test_console.py +80 -0
  351. pygeai/tests/dbg/__init__.py +0 -0
  352. pygeai/tests/dbg/test_debugger.py +591 -0
  353. pygeai/tests/evaluation/__init__.py +0 -0
  354. pygeai/tests/evaluation/dataset/__init__.py +0 -0
  355. pygeai/tests/evaluation/dataset/test_clients.py +265 -0
  356. pygeai/tests/evaluation/plan/__init__.py +0 -0
  357. pygeai/tests/evaluation/plan/test_clients.py +195 -0
  358. pygeai/tests/evaluation/result/__init__.py +0 -0
  359. pygeai/tests/evaluation/result/test_clients.py +66 -0
  360. pygeai/tests/gam/__init__.py +0 -0
  361. pygeai/tests/gam/test_clients.py +195 -0
  362. pygeai/tests/health/__init__.py +0 -0
  363. pygeai/tests/health/test_clients.py +41 -0
  364. pygeai/tests/integration/__init__.py +0 -0
  365. pygeai/tests/integration/assistants/__init__.py +0 -0
  366. pygeai/tests/integration/assistants/rag/__init__.py +0 -0
  367. pygeai/tests/integration/assistants/rag/test_create_rag.py +91 -0
  368. pygeai/tests/integration/chat/__init__.py +0 -0
  369. pygeai/tests/integration/chat/test_generate_image.py +158 -0
  370. pygeai/tests/integration/lab/__init__.py +0 -0
  371. pygeai/tests/integration/lab/agents/__init__.py +0 -0
  372. pygeai/tests/integration/lab/agents/test_agents_list.py +106 -0
  373. pygeai/tests/integration/lab/agents/test_create_agent.py +319 -0
  374. pygeai/tests/integration/lab/agents/test_create_sharing_link.py +70 -0
  375. pygeai/tests/integration/lab/agents/test_delete_agent.py +75 -0
  376. pygeai/tests/integration/lab/agents/test_get_agent.py +94 -0
  377. pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +127 -0
  378. pygeai/tests/integration/lab/agents/test_update_agent.py +250 -0
  379. pygeai/tests/integration/lab/processes/__init__.py +0 -0
  380. pygeai/tests/integration/lab/processes/test_create_process.py +345 -0
  381. pygeai/tests/integration/lab/processes/test_create_task.py +211 -0
  382. pygeai/tests/integration/lab/processes/test_delete_process.py +111 -0
  383. pygeai/tests/integration/lab/processes/test_get_process.py +201 -0
  384. pygeai/tests/integration/lab/processes/test_list_process_instances.py +91 -0
  385. pygeai/tests/integration/lab/processes/test_list_processes.py +138 -0
  386. pygeai/tests/integration/lab/processes/test_publish_process_revision.py +232 -0
  387. pygeai/tests/integration/lab/processes/test_update_process.py +289 -0
  388. pygeai/tests/integration/lab/reasoning_strategies/__init__.py +0 -0
  389. pygeai/tests/integration/lab/reasoning_strategies/test_get_reasoning_strategy.py +70 -0
  390. pygeai/tests/integration/lab/reasoning_strategies/test_list_reasoning_strategies.py +93 -0
  391. pygeai/tests/integration/lab/reasoning_strategies/test_update_reasoning_strategy.py +149 -0
  392. pygeai/tests/integration/lab/tools/__init__.py +0 -0
  393. pygeai/tests/integration/lab/tools/test_create_tool.py +288 -0
  394. pygeai/tests/integration/lab/tools/test_delete_tool.py +87 -0
  395. pygeai/tests/integration/lab/tools/test_get_parameter.py +98 -0
  396. pygeai/tests/integration/lab/tools/test_get_tool.py +91 -0
  397. pygeai/tests/integration/lab/tools/test_list_tools.py +106 -0
  398. pygeai/tests/integration/lab/tools/test_publish_tool_revision.py +119 -0
  399. pygeai/tests/integration/lab/tools/test_set_parameter.py +114 -0
  400. pygeai/tests/integration/lab/tools/test_update_tool.py +267 -0
  401. pygeai/tests/lab/agents/__init__.py +0 -0
  402. pygeai/tests/lab/agents/test_clients.py +481 -0
  403. pygeai/tests/lab/agents/test_mappers.py +440 -0
  404. pygeai/tests/lab/processes/__init__.py +0 -0
  405. pygeai/tests/lab/processes/test_clients.py +1416 -0
  406. pygeai/tests/lab/processes/test_mappers.py +1092 -0
  407. pygeai/tests/lab/spec/__init__.py +0 -0
  408. pygeai/tests/lab/spec/test_loader.py +59 -0
  409. pygeai/tests/lab/spec/test_parsers.py +182 -0
  410. pygeai/tests/lab/strategies/__init__.py +0 -0
  411. pygeai/tests/lab/strategies/test_clients.py +241 -0
  412. pygeai/tests/lab/strategies/test_mappers.py +132 -0
  413. pygeai/tests/lab/test_managers.py +553 -0
  414. pygeai/tests/lab/test_models.py +500 -3
  415. pygeai/tests/lab/tools/__init__.py +0 -0
  416. pygeai/tests/lab/tools/test_clients.py +521 -0
  417. pygeai/tests/lab/tools/test_mappers.py +198 -0
  418. pygeai/tests/migration/__init__.py +0 -0
  419. pygeai/tests/migration/test_strategies.py +405 -0
  420. pygeai/tests/migration/test_tools.py +159 -0
  421. pygeai/tests/organization/limits/test_clients.py +567 -0
  422. pygeai/tests/organization/limits/test_managers.py +298 -56
  423. pygeai/tests/organization/test_clients.py +600 -30
  424. pygeai/tests/organization/test_managers.py +424 -0
  425. pygeai/tests/organization/test_mappers.py +153 -0
  426. pygeai/tests/organization/test_responses.py +137 -0
  427. pygeai/tests/proxy/__init__.py +1 -0
  428. pygeai/tests/proxy/test_clients.py +397 -0
  429. pygeai/tests/proxy/test_config.py +171 -0
  430. pygeai/tests/proxy/test_integration.py +305 -0
  431. pygeai/tests/proxy/test_managers.py +312 -0
  432. pygeai/tests/proxy/test_servers.py +387 -0
  433. pygeai/tests/proxy/test_tool.py +176 -0
  434. pygeai/tests/snippets/analytics/__init__.py +0 -0
  435. pygeai/tests/snippets/analytics/get_agent_usage_per_user.py +16 -0
  436. pygeai/tests/snippets/analytics/get_agents_created_and_modified.py +11 -0
  437. pygeai/tests/snippets/analytics/get_average_cost_per_request.py +10 -0
  438. pygeai/tests/snippets/analytics/get_overall_error_rate.py +10 -0
  439. pygeai/tests/snippets/analytics/get_top_10_agents_by_requests.py +12 -0
  440. pygeai/tests/snippets/analytics/get_total_active_users.py +10 -0
  441. pygeai/tests/snippets/analytics/get_total_cost.py +10 -0
  442. pygeai/tests/snippets/analytics/get_total_requests_per_day.py +12 -0
  443. pygeai/tests/snippets/analytics/get_total_tokens.py +12 -0
  444. pygeai/tests/snippets/auth/__init__.py +0 -0
  445. pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
  446. pygeai/tests/snippets/chat/get_response.py +15 -0
  447. pygeai/tests/snippets/chat/get_response_complete_example.py +67 -0
  448. pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
  449. pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
  450. pygeai/tests/snippets/chat/get_response_with_instructions.py +19 -0
  451. pygeai/tests/snippets/chat/get_response_with_metadata.py +24 -0
  452. pygeai/tests/snippets/chat/get_response_with_parallel_tools.py +58 -0
  453. pygeai/tests/snippets/chat/get_response_with_reasoning.py +21 -0
  454. pygeai/tests/snippets/chat/get_response_with_store.py +38 -0
  455. pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
  456. pygeai/tests/snippets/chat/get_response_with_truncation.py +24 -0
  457. pygeai/tests/snippets/dbg/__init__.py +0 -0
  458. pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
  459. pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
  460. pygeai/tests/snippets/dbg/file_debugging.py +72 -0
  461. pygeai/tests/snippets/dbg/module_debugging.py +61 -0
  462. pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
  463. pygeai/tests/snippets/dbg/stepping_example.py +40 -0
  464. pygeai/tests/snippets/embeddings/cache_example.py +31 -0
  465. pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
  466. pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
  467. pygeai/tests/snippets/embeddings/openai_example.py +30 -0
  468. pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
  469. pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
  470. pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
  471. pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
  472. pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
  473. pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
  474. pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
  475. pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
  476. pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
  477. pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
  478. pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
  479. pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
  480. pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
  481. pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
  482. pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
  483. pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
  484. pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
  485. pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
  486. pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
  487. pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
  488. pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
  489. pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
  490. pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
  491. pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
  492. pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
  493. pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
  494. pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
  495. pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
  496. pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
  497. pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
  498. pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
  499. pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
  500. pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
  501. pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
  502. pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
  503. pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
  504. pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
  505. pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
  506. pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
  507. pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
  508. pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
  509. pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
  510. pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
  511. pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
  512. pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
  513. pygeai/tests/snippets/files/delete_file.py +1 -4
  514. pygeai/tests/snippets/files/get_file_content.py +2 -4
  515. pygeai/tests/snippets/files/get_file_data.py +1 -4
  516. pygeai/tests/snippets/files/get_file_list.py +1 -6
  517. pygeai/tests/snippets/files/upload_file.py +1 -5
  518. pygeai/tests/snippets/gam/gam_access_token.py +87 -0
  519. pygeai/tests/snippets/lab/agentic_flow_example_1.py +25 -23
  520. pygeai/tests/snippets/lab/agentic_flow_example_4.py +23 -23
  521. pygeai/tests/snippets/lab/agents/create_agent.py +5 -8
  522. pygeai/tests/snippets/lab/agents/create_agent_2.py +1 -5
  523. pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +48 -0
  524. pygeai/tests/snippets/lab/agents/create_agent_with_permissions.py +39 -0
  525. pygeai/tests/snippets/lab/agents/create_agent_with_properties.py +46 -0
  526. pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +48 -0
  527. pygeai/tests/snippets/lab/agents/delete_agent.py +1 -5
  528. pygeai/tests/snippets/lab/agents/get_agent.py +2 -11
  529. pygeai/tests/snippets/lab/agents/get_agent_with_new_fields.py +62 -0
  530. pygeai/tests/snippets/lab/agents/get_sharing_link.py +2 -7
  531. pygeai/tests/snippets/lab/agents/list_agents.py +4 -7
  532. pygeai/tests/snippets/lab/agents/publish_agent_revision.py +2 -6
  533. pygeai/tests/snippets/lab/agents/update_agent.py +1 -5
  534. pygeai/tests/snippets/lab/agents/update_agent_properties.py +50 -0
  535. pygeai/tests/snippets/lab/assistant_to_agent.py +191 -0
  536. pygeai/tests/snippets/lab/crud_ui.py +462 -0
  537. pygeai/tests/snippets/lab/processes/create_process.py +3 -5
  538. pygeai/tests/snippets/lab/processes/create_task.py +3 -5
  539. pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +10 -19
  540. pygeai/tests/snippets/lab/processes/kbs/create_kb.py +2 -5
  541. pygeai/tests/snippets/lab/processes/kbs/get_kb.py +10 -16
  542. pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +13 -20
  543. pygeai/tests/snippets/lab/processes/kbs/try_all.py +5 -7
  544. pygeai/tests/snippets/lab/processes/list_processes.py +5 -7
  545. pygeai/tests/snippets/lab/runner_1.py +1 -1
  546. pygeai/tests/snippets/lab/samples/summarize_files.py +3 -3
  547. pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +2 -5
  548. pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +2 -5
  549. pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +3 -6
  550. pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +2 -5
  551. pygeai/tests/snippets/lab/tools/create_tool.py +4 -10
  552. pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +50 -0
  553. pygeai/tests/snippets/lab/tools/delete_tool.py +2 -6
  554. pygeai/tests/snippets/lab/tools/get_parameter.py +5 -7
  555. pygeai/tests/snippets/lab/tools/get_tool.py +5 -7
  556. pygeai/tests/snippets/lab/tools/list_tools.py +3 -7
  557. pygeai/tests/snippets/lab/tools/publish_tool_revision.py +3 -5
  558. pygeai/tests/snippets/lab/tools/set_parameters.py +4 -9
  559. pygeai/tests/snippets/lab/tools/update_tool.py +4 -8
  560. pygeai/tests/snippets/lab/use_cases/__init__.py +0 -0
  561. pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +1640 -0
  562. pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +4541 -0
  563. pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +133 -0
  564. pygeai/tests/snippets/lab/use_cases/create_web_designer.py +189 -0
  565. pygeai/tests/snippets/lab/use_cases/create_web_reader.py +185 -0
  566. pygeai/tests/snippets/lab/{file_summarizer_example.py → use_cases/file_summarizer_example.py} +3 -3
  567. pygeai/tests/snippets/lab/{file_summarizer_example_2.py → use_cases/file_summarizer_example_2.py} +12 -12
  568. pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +1773 -0
  569. pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +4541 -0
  570. pygeai/tests/snippets/lab/use_cases/update_web_designer.py +188 -0
  571. pygeai/tests/snippets/lab/use_cases/update_web_reader.py +195 -0
  572. pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +210 -0
  573. pygeai/tests/snippets/migrate/__init__.py +45 -0
  574. pygeai/tests/snippets/migrate/agent_migration.py +110 -0
  575. pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
  576. pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
  577. pygeai/tests/snippets/migrate/process_migration.py +64 -0
  578. pygeai/tests/snippets/migrate/project_migration.py +42 -0
  579. pygeai/tests/snippets/migrate/tool_migration.py +64 -0
  580. pygeai/tests/snippets/organization/add_project_member.py +10 -0
  581. pygeai/tests/snippets/organization/add_project_member_batch.py +44 -0
  582. pygeai/tests/snippets/organization/create_project.py +2 -2
  583. pygeai/tests/snippets/organization/get_memberships.py +12 -0
  584. pygeai/tests/snippets/organization/get_organization_members.py +6 -0
  585. pygeai/tests/snippets/organization/get_project_members.py +6 -0
  586. pygeai/tests/snippets/organization/get_project_memberships.py +12 -0
  587. pygeai/tests/snippets/organization/get_project_roles.py +6 -0
  588. pygeai/vendor/a2a/__init__.py +1 -0
  589. pygeai/vendor/a2a/auth/__init__.py +0 -0
  590. pygeai/vendor/a2a/auth/user.py +31 -0
  591. pygeai/vendor/a2a/client/__init__.py +19 -0
  592. pygeai/vendor/a2a/client/client.py +425 -0
  593. pygeai/vendor/a2a/client/errors.py +33 -0
  594. pygeai/vendor/a2a/client/helpers.py +22 -0
  595. pygeai/vendor/a2a/py.typed +0 -0
  596. pygeai/vendor/a2a/server/__init__.py +1 -0
  597. pygeai/vendor/a2a/server/agent_execution/__init__.py +18 -0
  598. pygeai/vendor/a2a/server/agent_execution/agent_executor.py +44 -0
  599. pygeai/vendor/a2a/server/agent_execution/context.py +155 -0
  600. pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +20 -0
  601. pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +77 -0
  602. pygeai/vendor/a2a/server/apps/__init__.py +16 -0
  603. pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +16 -0
  604. pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +88 -0
  605. pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +426 -0
  606. pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +123 -0
  607. pygeai/vendor/a2a/server/context.py +23 -0
  608. pygeai/vendor/a2a/server/events/__init__.py +21 -0
  609. pygeai/vendor/a2a/server/events/event_consumer.py +149 -0
  610. pygeai/vendor/a2a/server/events/event_queue.py +156 -0
  611. pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +85 -0
  612. pygeai/vendor/a2a/server/events/queue_manager.py +35 -0
  613. pygeai/vendor/a2a/server/request_handlers/__init__.py +20 -0
  614. pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +435 -0
  615. pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +327 -0
  616. pygeai/vendor/a2a/server/request_handlers/request_handler.py +161 -0
  617. pygeai/vendor/a2a/server/request_handlers/response_helpers.py +133 -0
  618. pygeai/vendor/a2a/server/tasks/__init__.py +20 -0
  619. pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +62 -0
  620. pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +51 -0
  621. pygeai/vendor/a2a/server/tasks/push_notifier.py +25 -0
  622. pygeai/vendor/a2a/server/tasks/result_aggregator.py +151 -0
  623. pygeai/vendor/a2a/server/tasks/task_manager.py +253 -0
  624. pygeai/vendor/a2a/server/tasks/task_store.py +22 -0
  625. pygeai/vendor/a2a/server/tasks/task_updater.py +155 -0
  626. pygeai/vendor/a2a/types.py +1624 -0
  627. pygeai/vendor/a2a/utils/__init__.py +40 -0
  628. pygeai/vendor/a2a/utils/artifact.py +72 -0
  629. pygeai/vendor/a2a/utils/errors.py +69 -0
  630. pygeai/vendor/a2a/utils/helpers.py +176 -0
  631. pygeai/vendor/a2a/utils/message.py +83 -0
  632. pygeai/vendor/a2a/utils/task.py +57 -0
  633. pygeai/vendor/a2a/utils/telemetry.py +299 -0
  634. pygeai-0.6.0b15.dist-info/METADATA +205 -0
  635. pygeai-0.6.0b15.dist-info/RECORD +799 -0
  636. {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/WHEEL +1 -1
  637. {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/entry_points.txt +2 -1
  638. {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/licenses/LICENSE +13 -1
  639. pygeai-0.6.0b15.dist-info/top_level.txt +1 -0
  640. docs/geai-proxy/README.md +0 -145
  641. docs/source/conf.py +0 -45
  642. pygeai/tests/core/test_managers.py +0 -233
  643. pygeai-0.1.51b3.dist-info/METADATA +0 -130
  644. pygeai-0.1.51b3.dist-info/RECORD +0 -324
  645. pygeai-0.1.51b3.dist-info/top_level.txt +0 -3
  646. scripts/bump_beta_version.py +0 -56
  647. {scripts → pygeai/analytics}/__init__.py +0 -0
  648. /pygeai/tests/snippets/lab/{c_code_fixer_agent_flow.py → use_cases/c_code_fixer_agent_flow.py} +0 -0
@@ -0,0 +1,110 @@
1
+ """
2
+ Agent Migration Examples
3
+
4
+ Demonstrates how to migrate agents between projects.
5
+ Uses project-scope API keys.
6
+ """
7
+
8
+ from pygeai.migration.strategies import AgentMigrationStrategy
9
+
10
+
11
+ def example_migrate_specific_agents():
12
+ """
13
+ Migrate specific agents by ID to an existing project.
14
+ Uses project-scope API keys.
15
+ """
16
+ agent_ids = [
17
+ "9d8e7f6g-5h4i-3j2k-1l0m-9n8o7p6q5r4s",
18
+ "1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p"
19
+ ]
20
+
21
+ strategy = AgentMigrationStrategy(
22
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
23
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
24
+ from_instance="https://api.test.example.ai",
25
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
26
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
27
+ to_instance="https://api.prod.example.ai",
28
+ agent_ids=agent_ids
29
+ )
30
+
31
+ result = strategy.migrate()
32
+
33
+ print(f"Migrated {len(result['migrated_agents'])} agents")
34
+ for agent in result['migrated_agents']:
35
+ print(f" - {agent['name']} (ID: {agent['id']})")
36
+
37
+ return result
38
+
39
+
40
+ def example_migrate_all_agents():
41
+ """
42
+ Automatically discover and migrate all agents from source project.
43
+ """
44
+ strategy = AgentMigrationStrategy(
45
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
46
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
47
+ from_instance="https://api.test.example.ai",
48
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
49
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
50
+ to_instance="https://api.prod.example.ai",
51
+ agent_ids=None # None means "all agents"
52
+ )
53
+
54
+ result = strategy.migrate()
55
+ print(f"Migrated all {len(result['migrated_agents'])} agents")
56
+
57
+ return result
58
+
59
+
60
+ def example_custom_filtered_migration():
61
+ """
62
+ Create a custom migration that only migrates agents with specific tags
63
+ or matching certain criteria.
64
+ """
65
+ from pygeai.lab.managers import AILabManager
66
+
67
+ # Initialize managers for source and destination
68
+ source_lab = AILabManager(
69
+ api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
70
+ project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
71
+ instance="https://api.test.example.ai"
72
+ )
73
+
74
+ # Get all agents and filter
75
+ all_agents = source_lab.get_agent_list()
76
+
77
+ # Custom filter: only migrate agents with "production" in their name
78
+ filtered_agent_ids = [
79
+ agent.id for agent in all_agents.agents
80
+ if "production" in agent.name.lower()
81
+ ]
82
+
83
+ print(f"Found {len(filtered_agent_ids)} agents matching filter")
84
+
85
+ # Now migrate only the filtered agents
86
+ strategy = AgentMigrationStrategy(
87
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
88
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
89
+ from_instance="https://api.test.example.ai",
90
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
91
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
92
+ agent_ids=filtered_agent_ids
93
+ )
94
+
95
+ result = strategy.migrate()
96
+ print(f"Migrated {len(result['migrated_agents'])} filtered agents")
97
+
98
+ return result
99
+
100
+
101
+ if __name__ == "__main__":
102
+ print("Agent Migration Examples")
103
+ print("=" * 80)
104
+ print("\nThese examples demonstrate various agent migration patterns.")
105
+ print("Uncomment to run specific examples:\n")
106
+
107
+ # Uncomment to run specific examples:
108
+ # example_migrate_specific_agents()
109
+ # example_migrate_all_agents()
110
+ # example_custom_filtered_migration()
@@ -0,0 +1,64 @@
1
+ """
2
+ RAG Assistant Migration Examples
3
+
4
+ Demonstrates how to migrate RAG assistants between projects.
5
+ Uses project-scope API keys.
6
+ """
7
+
8
+ from pygeai.migration.strategies import RAGAssistantMigrationStrategy
9
+
10
+
11
+ def example_migrate_all_assistants():
12
+ """
13
+ Migrate all RAG assistants from source project.
14
+ """
15
+ strategy = RAGAssistantMigrationStrategy(
16
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
17
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
18
+ from_instance="https://api.test.example.ai",
19
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
20
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
21
+ to_instance="https://api.prod.example.ai",
22
+ assistant_names=None # None for all assistants
23
+ )
24
+
25
+ result = strategy.migrate()
26
+ print(f"Migrated {len(result['migrated_assistants'])} assistants")
27
+
28
+ return result
29
+
30
+
31
+ def example_migrate_specific_assistants():
32
+ """
33
+ Migrate specific RAG assistants by name.
34
+ """
35
+ assistant_names = [
36
+ "Customer Support Assistant",
37
+ "Product Documentation Assistant"
38
+ ]
39
+
40
+ strategy = RAGAssistantMigrationStrategy(
41
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
42
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
43
+ from_instance="https://api.test.example.ai",
44
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
45
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
46
+ to_instance="https://api.prod.example.ai",
47
+ assistant_names=assistant_names
48
+ )
49
+
50
+ result = strategy.migrate()
51
+ print(f"Migrated {len(result['migrated_assistants'])} specific assistants")
52
+
53
+ return result
54
+
55
+
56
+ if __name__ == "__main__":
57
+ print("RAG Assistant Migration Examples")
58
+ print("=" * 80)
59
+ print("\nThese examples demonstrate RAG assistant migration patterns.")
60
+ print("Uncomment to run specific examples:\n")
61
+
62
+ # Uncomment to run specific examples:
63
+ # example_migrate_all_assistants()
64
+ # example_migrate_specific_assistants()
@@ -0,0 +1,179 @@
1
+ """
2
+ Migration Orchestrator Examples
3
+
4
+ Demonstrates how to orchestrate complex migrations with multiple strategies
5
+ and handle error scenarios.
6
+ """
7
+
8
+ from pygeai.migration.strategies import (
9
+ ProjectMigrationStrategy,
10
+ AgentMigrationStrategy,
11
+ ToolMigrationStrategy,
12
+ RAGAssistantMigrationStrategy
13
+ )
14
+ from pygeai.migration.tools import MigrationOrchestrator
15
+
16
+
17
+ def example_orchestrated_migration():
18
+ """
19
+ Use the orchestrator to execute multiple migration strategies in sequence.
20
+ This is useful for complex migrations with multiple resource types.
21
+ """
22
+ # First, create the project
23
+ project_strategy = ProjectMigrationStrategy(
24
+ from_api_key="source_org_key_abc123def456ghi789jkl012mno345pqr678",
25
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
26
+ from_instance="https://api.test.example.ai",
27
+ to_api_key="dest_org_key_stu901vwx234yz567abc890def123ghi456jkl789",
28
+ to_project_name="Orchestrated Migration Project",
29
+ admin_email="admin@example.com"
30
+ )
31
+
32
+ # Create the orchestrator
33
+ orchestrator = MigrationOrchestrator()
34
+
35
+ # Add the project creation strategy
36
+ orchestrator.add_strategy(project_strategy)
37
+
38
+ # After project creation, we'll need the new project ID
39
+ # The orchestrator will handle this automatically
40
+
41
+ # Add agent migration strategy
42
+ agent_strategy = AgentMigrationStrategy(
43
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
44
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
45
+ from_instance="https://api.test.example.ai",
46
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
47
+ to_project_id=None, # Will be filled by orchestrator after project creation
48
+ agent_ids=None # Migrate all agents
49
+ )
50
+ orchestrator.add_strategy(agent_strategy)
51
+
52
+ # Add tool migration strategy
53
+ tool_strategy = ToolMigrationStrategy(
54
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
55
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
56
+ from_instance="https://api.test.example.ai",
57
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
58
+ to_project_id=None, # Will be filled by orchestrator
59
+ tool_ids=None # Migrate all tools
60
+ )
61
+ orchestrator.add_strategy(tool_strategy)
62
+
63
+ # Execute all strategies in order
64
+ results = orchestrator.execute()
65
+
66
+ print(f"Migration completed:")
67
+ print(f" Total strategies: {results['total']}")
68
+ print(f" Successful: {results['completed']}")
69
+ print(f" Failed: {results['failed']}")
70
+
71
+ return results
72
+
73
+
74
+ def example_migration_with_error_handling():
75
+ """
76
+ Demonstrate proper error handling during migrations.
77
+ """
78
+ from pygeai.core.common.exceptions import MigrationException
79
+
80
+ try:
81
+ strategy = AgentMigrationStrategy(
82
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
83
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
84
+ from_instance="https://api.test.example.ai",
85
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
86
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
87
+ agent_ids=None
88
+ )
89
+
90
+ result = strategy.migrate()
91
+
92
+ print(f"✓ Migration successful: {result['summary']}")
93
+
94
+ except MigrationException as e:
95
+ print(f"✗ Migration failed: {e}")
96
+ print(f" Details: {e.details}")
97
+
98
+ except Exception as e:
99
+ print(f"✗ Unexpected error: {e}")
100
+
101
+
102
+ def example_full_migration_workflow():
103
+ """
104
+ Complete workflow: create project, migrate all resources, verify.
105
+ """
106
+ # Step 1: Create new project with usage limits
107
+ print("Step 1: Creating new project...")
108
+ project_strategy = ProjectMigrationStrategy(
109
+ from_api_key="source_org_key_abc123def456ghi789jkl012mno345pqr678",
110
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
111
+ from_instance="https://api.test.example.ai",
112
+ to_api_key="dest_org_key_stu901vwx234yz567abc890def123ghi456jkl789",
113
+ to_project_name="Complete Migration",
114
+ admin_email="admin@example.com"
115
+ )
116
+
117
+ project_result = project_strategy.migrate()
118
+ new_project_id = project_result['project_id']
119
+ print(f"✓ Project created: {new_project_id}")
120
+
121
+ # Step 2: Migrate agents
122
+ print("\nStep 2: Migrating agents...")
123
+ agent_strategy = AgentMigrationStrategy(
124
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
125
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
126
+ from_instance="https://api.test.example.ai",
127
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
128
+ to_project_id=new_project_id,
129
+ agent_ids=None
130
+ )
131
+ agent_result = agent_strategy.migrate()
132
+ print(f"✓ Migrated {len(agent_result['migrated_agents'])} agents")
133
+
134
+ # Step 3: Migrate tools
135
+ print("\nStep 3: Migrating tools...")
136
+ tool_strategy = ToolMigrationStrategy(
137
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
138
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
139
+ from_instance="https://api.test.example.ai",
140
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
141
+ to_project_id=new_project_id,
142
+ tool_ids=None
143
+ )
144
+ tool_result = tool_strategy.migrate()
145
+ print(f"✓ Migrated {len(tool_result['migrated_tools'])} tools")
146
+
147
+ # Step 4: Migrate RAG assistants
148
+ print("\nStep 4: Migrating RAG assistants...")
149
+ assistant_strategy = RAGAssistantMigrationStrategy(
150
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
151
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
152
+ from_instance="https://api.test.example.ai",
153
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
154
+ to_project_id=new_project_id,
155
+ assistant_names=None
156
+ )
157
+ assistant_result = assistant_strategy.migrate()
158
+ print(f"✓ Migrated {len(assistant_result['migrated_assistants'])} assistants")
159
+
160
+ print("\n✓ Complete migration finished successfully!")
161
+
162
+ return {
163
+ 'project': project_result,
164
+ 'agents': agent_result,
165
+ 'tools': tool_result,
166
+ 'assistants': assistant_result
167
+ }
168
+
169
+
170
+ if __name__ == "__main__":
171
+ print("Migration Orchestrator Examples")
172
+ print("=" * 80)
173
+ print("\nThese examples demonstrate complex migration workflows.")
174
+ print("Uncomment to run specific examples:\n")
175
+
176
+ # Uncomment to run specific examples:
177
+ # example_orchestrated_migration()
178
+ # example_migration_with_error_handling()
179
+ # example_full_migration_workflow()
@@ -0,0 +1,64 @@
1
+ """
2
+ Agentic Process Migration Examples
3
+
4
+ Demonstrates how to migrate agentic processes between projects.
5
+ Uses project-scope API keys.
6
+ """
7
+
8
+ from pygeai.migration.strategies import AgenticProcessMigrationStrategy
9
+
10
+
11
+ def example_migrate_all_processes():
12
+ """
13
+ Migrate all agentic processes from source project.
14
+ """
15
+ strategy = AgenticProcessMigrationStrategy(
16
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
17
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
18
+ from_instance="https://api.test.example.ai",
19
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
20
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
21
+ to_instance="https://api.prod.example.ai",
22
+ process_ids=None # None for all processes
23
+ )
24
+
25
+ result = strategy.migrate()
26
+ print(f"Migrated {len(result['migrated_processes'])} processes")
27
+
28
+ return result
29
+
30
+
31
+ def example_migrate_specific_processes():
32
+ """
33
+ Migrate specific agentic processes by ID.
34
+ """
35
+ process_ids = [
36
+ "4b5c6d7e-8f9g-0h1i-2j3k-4l5m6n7o8p9q",
37
+ "5c6d7e8f-9g0h-1i2j-3k4l-5m6n7o8p9q0r"
38
+ ]
39
+
40
+ strategy = AgenticProcessMigrationStrategy(
41
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
42
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
43
+ from_instance="https://api.test.example.ai",
44
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
45
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
46
+ to_instance="https://api.prod.example.ai",
47
+ process_ids=process_ids
48
+ )
49
+
50
+ result = strategy.migrate()
51
+ print(f"Migrated {len(result['migrated_processes'])} specific processes")
52
+
53
+ return result
54
+
55
+
56
+ if __name__ == "__main__":
57
+ print("Agentic Process Migration Examples")
58
+ print("=" * 80)
59
+ print("\nThese examples demonstrate agentic process migration patterns.")
60
+ print("Uncomment to run specific examples:\n")
61
+
62
+ # Uncomment to run specific examples:
63
+ # example_migrate_all_processes()
64
+ # example_migrate_specific_processes()
@@ -0,0 +1,42 @@
1
+ """
2
+ Project Migration Examples
3
+
4
+ Demonstrates how to create new projects and migrate usage limits.
5
+ Requires organization-scope API keys.
6
+ """
7
+
8
+ from pygeai.migration.strategies import ProjectMigrationStrategy
9
+
10
+
11
+ def example_create_project_with_usage_limits():
12
+ """
13
+ Create a new project and migrate usage limits from an existing project.
14
+ Requires organization-scope API keys.
15
+ """
16
+ strategy = ProjectMigrationStrategy(
17
+ from_api_key="source_org_key_abc123def456ghi789jkl012mno345pqr678",
18
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
19
+ from_instance="https://api.test.example.ai",
20
+ to_api_key="dest_org_key_stu901vwx234yz567abc890def123ghi456jkl789",
21
+ to_project_name="New Migrated Project",
22
+ admin_email="admin@example.com",
23
+ to_instance="https://api.prod.example.ai" # Optional: different instance
24
+ )
25
+
26
+ # Execute the migration
27
+ result = strategy.migrate()
28
+
29
+ print(f"Project created with ID: {result['project_id']}")
30
+ print(f"Migration result: {result}")
31
+
32
+ return result
33
+
34
+
35
+ if __name__ == "__main__":
36
+ print("Project Migration Example")
37
+ print("=" * 80)
38
+ print("\nThis example demonstrates creating a new project with usage limits.")
39
+ print("Uncomment to run:\n")
40
+
41
+ # Uncomment to run:
42
+ # example_create_project_with_usage_limits()
@@ -0,0 +1,64 @@
1
+ """
2
+ Tool Migration Examples
3
+
4
+ Demonstrates how to migrate tools between projects.
5
+ Uses project-scope API keys.
6
+ """
7
+
8
+ from pygeai.migration.strategies import ToolMigrationStrategy
9
+
10
+
11
+ def example_migrate_specific_tools():
12
+ """
13
+ Migrate specific tools by ID.
14
+ """
15
+ tool_ids = [
16
+ "2a3b4c5d-6e7f-8g9h-0i1j-2k3l4m5n6o7p",
17
+ "3b4c5d6e-7f8g-9h0i-1j2k-3l4m5n6o7p8q"
18
+ ]
19
+
20
+ strategy = ToolMigrationStrategy(
21
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
22
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
23
+ from_instance="https://api.test.example.ai",
24
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
25
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
26
+ to_instance="https://api.prod.example.ai",
27
+ tool_ids=tool_ids
28
+ )
29
+
30
+ result = strategy.migrate()
31
+ print(f"Migrated {len(result['migrated_tools'])} tools")
32
+
33
+ return result
34
+
35
+
36
+ def example_migrate_all_tools():
37
+ """
38
+ Migrate all tools from source project.
39
+ """
40
+ strategy = ToolMigrationStrategy(
41
+ from_api_key="source_project_key_123abc456def789ghi012jkl345mno678pqr901",
42
+ from_project_id="7x8y9z0a-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
43
+ from_instance="https://api.test.example.ai",
44
+ to_api_key="dest_project_key_789stu012vwx345yz678abc901def234ghi567",
45
+ to_project_id="3c4d5e6f-7g8h-9i0j-1k2l-3m4n5o6p7q8r",
46
+ to_instance="https://api.prod.example.ai",
47
+ tool_ids=None # None means "all tools"
48
+ )
49
+
50
+ result = strategy.migrate()
51
+ print(f"Migrated all {len(result['migrated_tools'])} tools")
52
+
53
+ return result
54
+
55
+
56
+ if __name__ == "__main__":
57
+ print("Tool Migration Examples")
58
+ print("=" * 80)
59
+ print("\nThese examples demonstrate tool migration patterns.")
60
+ print("Uncomment to run specific examples:\n")
61
+
62
+ # Uncomment to run specific examples:
63
+ # example_migrate_specific_tools()
64
+ # example_migrate_all_tools()
@@ -0,0 +1,10 @@
1
+ from pygeai.organization.managers import OrganizationManager
2
+
3
+ manager = OrganizationManager()
4
+
5
+ response = manager.add_project_member(
6
+ project_id="1956c032-3c66-4435-acb8-6a06e52f819f",
7
+ user_email="newuser@example.com",
8
+ roles=["Project member", "Project administrator"]
9
+ )
10
+ print(f"response: {response}")
@@ -0,0 +1,44 @@
1
+ import csv
2
+ from pygeai.organization.clients import OrganizationClient
3
+
4
+ client = OrganizationClient()
5
+
6
+ batch_file = "project_members.csv"
7
+
8
+ successful = 0
9
+ failed = 0
10
+ errors = []
11
+
12
+ with open(batch_file, 'r') as f:
13
+ csv_reader = csv.reader(f)
14
+ for line_num, row in enumerate(csv_reader, start=1):
15
+ if len(row) < 3:
16
+ error_msg = f"Line {line_num}: Invalid format - expected at least 3 columns (project_id, email, role1, ...)"
17
+ errors.append(error_msg)
18
+ failed += 1
19
+ continue
20
+
21
+ project_id = row[0].strip()
22
+ email = row[1].strip()
23
+ roles = [r.strip() for r in row[2:] if r.strip()]
24
+
25
+ if not (project_id and email and roles):
26
+ error_msg = f"Line {line_num}: Missing required fields"
27
+ errors.append(error_msg)
28
+ failed += 1
29
+ continue
30
+
31
+ try:
32
+ result = client.add_project_member(project_id, email, roles)
33
+ print(f"Successfully added {email} to project {project_id}")
34
+ successful += 1
35
+ except Exception as e:
36
+ error_msg = f"Line {line_num}: Failed to add {email} to project {project_id}: {str(e)}"
37
+ errors.append(error_msg)
38
+ failed += 1
39
+
40
+ print(f"\nBatch processing complete: {successful} successful, {failed} failed")
41
+ if errors:
42
+ print("\nErrors:")
43
+ for error in errors:
44
+ print(f" - {error}")
@@ -1,7 +1,7 @@
1
1
  from pygeai.organization.managers import OrganizationManager
2
2
  from pygeai.core.models import UsageLimit, Project
3
3
 
4
- manager = OrganizationManager()
4
+ manager = OrganizationManager(alias="sdkorg")
5
5
 
6
6
  usage_limit = UsageLimit(
7
7
  subscription_type="Monthly",
@@ -12,7 +12,7 @@ usage_limit = UsageLimit(
12
12
  )
13
13
 
14
14
  project = Project(
15
- name="New AI Project",
15
+ name="New TEST Project 2",
16
16
  description="An AI project focused on natural language processing",
17
17
  email="alejandro.trinidad@globant.com",
18
18
  usage_limit=usage_limit
@@ -0,0 +1,12 @@
1
+ from pygeai.organization.managers import OrganizationManager
2
+
3
+ manager = OrganizationManager(alias="sdkorg")
4
+
5
+ response = manager.get_memberships(
6
+ email="alejandro.trinidad@globant.com",
7
+ start_page=1,
8
+ page_size=10,
9
+ #order_key="organizationName",
10
+ #order_direction="asc"
11
+ )
12
+ print(f"response: {response}")
@@ -0,0 +1,6 @@
1
+ from pygeai.organization.managers import OrganizationManager
2
+
3
+ manager = OrganizationManager()
4
+
5
+ response = manager.get_organization_members(organization_id="4aa15b61-d3c7-4a5c-99b8-052d18a04ff2")
6
+ print(f"response: {response}")
@@ -0,0 +1,6 @@
1
+ from pygeai.organization.managers import OrganizationManager
2
+
3
+ manager = OrganizationManager()
4
+
5
+ response = manager.get_project_members(project_id="1956c032-3c66-4435-acb8-6a06e52f819f")
6
+ print(f"response: {response}")
@@ -0,0 +1,12 @@
1
+ from pygeai.organization.managers import OrganizationManager
2
+
3
+ manager = OrganizationManager()
4
+
5
+ response = manager.get_project_memberships(
6
+ email="user@example.com",
7
+ start_page=1,
8
+ page_size=10,
9
+ order_key="projectName",
10
+ order_direction="desc"
11
+ )
12
+ print(f"response: {response}")
@@ -0,0 +1,6 @@
1
+ from pygeai.organization.managers import OrganizationManager
2
+
3
+ manager = OrganizationManager(alias="sdkorg")
4
+
5
+ response = manager.get_project_roles(project_id="2ca6883f-6778-40bb-bcc1-85451fb11107")
6
+ print(f"response: {response}")
@@ -0,0 +1 @@
1
+ """The A2A Python SDK."""
File without changes