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,1011 @@
1
+ The Lab - Usage
2
+ ===============
3
+
4
+ The Globant Enterprise AI Lab enables developers to create and manage AI agents, tools, tasks, and processes.
5
+ The `AILabManager` class provides a high-level interface for these operations, while low-level clients
6
+ (`AgentClient`, `ToolClient`, `AgenticProcessClient`) offer direct API access, and the `geai ai-lab` CLI provides
7
+ command-line control. This section documents all Lab operations, grouped by resource type (Agents, Tools, Tasks,
8
+ Processes), with examples for command-line, low-level, and high-level usage.
9
+
10
+ Agents
11
+ ------
12
+
13
+ Create Agent
14
+ ~~~~~~~~~~~~
15
+
16
+ Creates a new AI agent in a specified project, defining its name, access scope, prompt instructions, LLM settings, and other configurations.
17
+
18
+ Command Line
19
+ ^^^^^^^^^^^^
20
+
21
+ .. code-block:: shell
22
+
23
+ geai ai-lab create-agent \
24
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
25
+ --name "Public Translator V2" \
26
+ --access-scope "public" \
27
+ --public-name "com.genexus.geai.public_translator" \
28
+ --job-description "Translates" \
29
+ --avatar-image "https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png" \
30
+ --description "Agent that translates from any language to english." \
31
+ --agent-data-prompt-instructions "the user will provide a text, you must return the same text translated to english" \
32
+ --agent-data-prompt-input "text" \
33
+ --agent-data-prompt-input "avoid slang indicator" \
34
+ --agent-data-prompt-output '{"key": "translated_text", "description": "translated text, with slang or not depending on the indication. in plain text."}' \
35
+ --agent-data-prompt-output '{"key": "summary", "description": "a summary in the original language of the text to be translated, also in plain text."}' \
36
+ --agent-data-prompt-example '{"inputData": "opitiiiis mundo [no-slang]", "output": "{\"translated_text\":\"hello world\",\"Summary\":\"saludo\"}"}' \
37
+ --agent-data-llm-max-tokens 5000 \
38
+ --agent-data-llm-timeout 0 \
39
+ --agent-data-llm-temperature 0.5 \
40
+ --agent-data-model-name "gpt-4-turbo-preview" \
41
+ --automatic-publish 0
42
+
43
+ Low-Level Service Layer
44
+ ^^^^^^^^^^^^^^^^^^^^^^^
45
+
46
+ .. code-block:: python
47
+
48
+ from pygeai.lab.agents.clients import AgentClient
49
+
50
+ client = AgentClient()
51
+ response = client.create_agent(
52
+ project_id="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
53
+ name="Public Translator V2",
54
+ access_scope="public",
55
+ public_name="com.genexus.geai.public_translator",
56
+ job_description="Translates",
57
+ avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
58
+ description="Agent that translates from any language to english.",
59
+ agent_data_prompt={
60
+ "instructions": "the user will provide a text, you must return the same text translated to english",
61
+ "inputs": ["text", "avoid slang indicator"],
62
+ "outputs": [
63
+ {"key": "translated_text", "description": "translated text, with slang or not depending on the indication. in plain text."},
64
+ {"key": "summary", "description": "a summary in the original language of the text to be translated, also in plain text."}
65
+ ],
66
+ "examples": [
67
+ {"inputData": "opitiiiis mundo [no-slang]", "output": "{\"translated_text\":\"hello world\",\"Summary\":\"saludo\"}"}
68
+ ]
69
+ },
70
+ agent_data_llm_config={
71
+ "maxTokens": 5000,
72
+ "timeout": 0,
73
+ "temperature": 0.5
74
+ },
75
+ agent_data_models=[{"name": "gpt-4-turbo-preview"}],
76
+ automatic_publish=False
77
+ )
78
+ print(response)
79
+
80
+ High-Level Service Layer
81
+ ^^^^^^^^^^^^^^^^^^^^^^^^
82
+
83
+ .. code-block:: python
84
+
85
+ from pygeai.lab.managers import AILabManager
86
+ from pygeai.lab.models import Agent, AgentData, Prompt, PromptOutput, PromptExample, LlmConfig, ModelList, Model
87
+
88
+ manager = AILabManager()
89
+
90
+ prompt = Prompt(
91
+ instructions="the user will provide a text, you must return the same text translated to english",
92
+ inputs=["text", "avoid slang indicator"],
93
+ outputs=[
94
+ PromptOutput(key="translated_text", description="translated text, with slang or not depending on the indication. in plain text."),
95
+ PromptOutput(key="summary", description="a summary in the original language of the text to be translated, also in plain text.")
96
+ ],
97
+ examples=[
98
+ PromptExample(input_data="opitiiiis mundo [no-slang]", output="{\"translated_text\":\"hello world\",\"Summary\":\"saludo\"}")
99
+ ]
100
+ )
101
+ llm_config = LlmConfig(max_tokens=5000, timeout=0, temperature=0.5)
102
+ models = ModelList(models=[Model(name="gpt-4-turbo-preview")])
103
+ agent_data = AgentData(prompt=prompt, llm_config=llm_config, models=models)
104
+
105
+ agent = Agent(
106
+ name="Public Translator V2",
107
+ access_scope="public",
108
+ public_name="com.genexus.geai.public_translator",
109
+ job_description="Translates",
110
+ avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
111
+ description="Agent that translates from any language to english.",
112
+ agent_data=agent_data
113
+ )
114
+
115
+ created_agent = manager.create_agent(
116
+ agent=agent,
117
+ automatic_publish=False
118
+ )
119
+ print(created_agent)
120
+
121
+ Update Agent
122
+ ~~~~~~~~~~~~
123
+
124
+ Updates an existing agent’s configuration, such as its name, prompt instructions, or LLM settings.
125
+
126
+ Command Line
127
+ ^^^^^^^^^^^^
128
+
129
+ .. code-block:: shell
130
+
131
+ geai ai-lab update-agent \
132
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
133
+ --agent-id "agent-123" \
134
+ --name "Public Translator V3" \
135
+ --description "Updated agent for translations." \
136
+ --agent-data-prompt-instructions "the user provides text, translate it to English accurately" \
137
+ --agent-data-llm-temperature 0.7 \
138
+ --automatic-publish 0
139
+
140
+ Low-Level Service Layer
141
+ ^^^^^^^^^^^^^^^^^^^^^^^
142
+
143
+ .. code-block:: python
144
+
145
+ from pygeai.lab.agents.clients import AgentClient
146
+
147
+ client = AgentClient()
148
+ response = client.update_agent(
149
+ agent_id="agent-123",
150
+ name="Public Translator V3",
151
+ description="Updated agent for translations.",
152
+ agent_data_prompt={
153
+ "instructions": "the user provides text, translate it to English accurately"
154
+ },
155
+ agent_data_llm_config={
156
+ "temperature": 0.7
157
+ },
158
+ automatic_publish=False
159
+ )
160
+ print(response)
161
+
162
+ High-Level Service Layer
163
+ ^^^^^^^^^^^^^^^^^^^^^^^^
164
+
165
+ .. code-block:: python
166
+
167
+ from pygeai.lab.managers import AILabManager
168
+ from pygeai.lab.models import Agent, AgentData, Prompt, LlmConfig
169
+
170
+ manager = AILabManager()
171
+
172
+ agent = Agent(
173
+ name="Public Translator V3",
174
+ description="Updated agent for translations.",
175
+ agent_data=AgentData(
176
+ prompt=Prompt(instructions="the user provides text, translate it to English accurately"),
177
+ llm_config=LlmConfig(temperature=0.7)
178
+ )
179
+ )
180
+
181
+ updated_agent = manager.update_agent(
182
+ agent_id="agent-123",
183
+ agent=agent,
184
+ automatic_publish=False
185
+ )
186
+ print(updated_agent)
187
+
188
+ List Agents
189
+ ~~~~~~~~~~~
190
+
191
+ Retrieves a list of agents in a specified project, with optional filters for status, pagination, scope, and draft inclusion.
192
+
193
+ Command Line
194
+ ^^^^^^^^^^^^
195
+
196
+ .. code-block:: shell
197
+
198
+ geai ai-lab list-agents \
199
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
200
+ --status "active" \
201
+ --allow-drafts 0 \
202
+ --allow-external 1
203
+
204
+ Low-Level Service Layer
205
+ ^^^^^^^^^^^^^^^^^^^^^^^
206
+
207
+ .. code-block:: python
208
+
209
+ from pygeai.lab.agents.clients import AgentClient
210
+
211
+ client = AgentClient()
212
+ response = client.list_agents(
213
+ status="active",
214
+ allow_drafts=False,
215
+ allow_external=True
216
+ )
217
+ print(response)
218
+
219
+ High-Level Service Layer
220
+ ^^^^^^^^^^^^^^^^^^^^^^^^
221
+
222
+ .. code-block:: python
223
+
224
+ from pygeai.lab.managers import AILabManager
225
+ from pygeai.lab.models import FilterSettings
226
+
227
+ manager = AILabManager()
228
+
229
+ filters = FilterSettings(
230
+ status="active",
231
+ allow_drafts=False,
232
+ allow_external=True
233
+ )
234
+ agent_list = manager.get_agent_list(
235
+ filter_settings=filters
236
+ )
237
+ print(agent_list)
238
+
239
+ Delete Agent
240
+ ~~~~~~~~~~~~
241
+
242
+ Deletes an agent from a specified project by its ID.
243
+
244
+ Command Line
245
+ ^^^^^^^^^^^^
246
+
247
+ .. code-block:: shell
248
+
249
+ geai ai-lab delete-agent \
250
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
251
+ --agent-id "agent-123"
252
+
253
+ Low-Level Service Layer
254
+ ^^^^^^^^^^^^^^^^^^^^^^^
255
+
256
+ .. code-block:: python
257
+
258
+ from pygeai.lab.agents.clients import AgentClient
259
+
260
+ client = AgentClient()
261
+ response = client.delete_agent(
262
+ agent_id="agent-123"
263
+ )
264
+ print(response)
265
+
266
+ High-Level Service Layer
267
+ ^^^^^^^^^^^^^^^^^^^^^^^^
268
+
269
+ .. code-block:: python
270
+
271
+ from pygeai.lab.managers import AILabManager
272
+
273
+ manager = AILabManager()
274
+ response = manager.delete_agent(
275
+ agent_id="agent-123"
276
+ )
277
+ print(response)
278
+
279
+ Publish Agent Revision
280
+ ~~~~~~~~~~~~~~~~~~~~~~
281
+
282
+ Publishes a revision of an agent, making it available for use.
283
+
284
+ Command Line
285
+ ^^^^^^^^^^^^
286
+
287
+ .. code-block:: shell
288
+
289
+ geai ai-lab publish-agent-revision \
290
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
291
+ --agent-id "agent-123"
292
+
293
+ Low-Level Service Layer
294
+ ^^^^^^^^^^^^^^^^^^^^^^^
295
+
296
+ .. code-block:: python
297
+
298
+ from pygeai.lab.agents.clients import AgentClient
299
+
300
+ client = AgentClient()
301
+ response = client.publish_agent_revision(
302
+ agent_id="agent-123"
303
+ )
304
+ print(response)
305
+
306
+ High-Level Service Layer
307
+ ^^^^^^^^^^^^^^^^^^^^^^^^
308
+
309
+ .. code-block:: python
310
+
311
+ from pygeai.lab.managers import AILabManager
312
+
313
+ manager = AILabManager()
314
+ response = manager.publish_agent_revision(
315
+ agent_id="agent-123"
316
+ )
317
+ print(response)
318
+
319
+ Tools
320
+ -----
321
+
322
+ Create Tool
323
+ ~~~~~~~~~~~
324
+
325
+ Creates a new tool in a specified project, defining its name, description, scope, and parameters for agent use.
326
+
327
+ Command Line
328
+ ^^^^^^^^^^^^
329
+
330
+ .. code-block:: shell
331
+
332
+ geai ai-lab create-tool \
333
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
334
+ --name "sample tool V3" \
335
+ --description "a builtin tool that does something but really does nothing cos it does not exist." \
336
+ --scope "builtin" \
337
+ --parameter '{"key": "input", "dataType": "String", "description": "some input that the tool needs.", "isRequired": true}' \
338
+ --parameter '{"key": "some_nonsensitive_id", "dataType": "String", "description": "Configuration that is static, in the sense that whenever the tool is used, the value for this parameter is configured here. The llm will not know about it.", "isRequired": true, "type": "config", "fromSecret": false, "value": "example-fake-config-value-12345"}' \
339
+ --automatic-publish 0
340
+
341
+ Low-Level Service Layer
342
+ ^^^^^^^^^^^^^^^^^^^^^^^
343
+
344
+ .. code-block:: python
345
+
346
+ from pygeai.lab.tools.clients import ToolClient
347
+
348
+ client = ToolClient()
349
+ response = client.create_tool(
350
+ name="sample tool V3",
351
+ description="a builtin tool that does something but really does nothing cos it does not exist.",
352
+ scope="builtin",
353
+ parameters=[
354
+ {"key": "input", "dataType": "String", "description": "some input that the tool needs.", "isRequired": True},
355
+ {"key": "some_nonsensitive_id", "dataType": "String", "description": "Configuration that is static, in the sense that whenever the tool is used, the value for this parameter is configured here. The llm will not know about it.", "isRequired": True, "type": "config", "fromSecret": False, "value": "example-fake-config-value-12345"}
356
+ ],
357
+ automatic_publish=False
358
+ )
359
+ print(response)
360
+
361
+ High-Level Service Layer
362
+ ^^^^^^^^^^^^^^^^^^^^^^^^
363
+
364
+ .. code-block:: python
365
+
366
+ from pygeai.lab.managers import AILabManager
367
+ from pygeai.lab.models import Tool, ToolParameter
368
+
369
+ manager = AILabManager()
370
+
371
+ tool = Tool(
372
+ name="sample tool V3",
373
+ description="a builtin tool that does something but really does nothing cos it does not exist.",
374
+ scope="builtin",
375
+ parameters=[
376
+ ToolParameter(
377
+ key="input",
378
+ data_type="String",
379
+ description="some input that the tool needs.",
380
+ is_required=True
381
+ ),
382
+ ToolParameter(
383
+ key="some_nonsensitive_id",
384
+ data_type="String",
385
+ description="Configuration that is static, in the sense that whenever the tool is used, the value for this parameter is configured here. The llm will not know about it.",
386
+ is_required=True,
387
+ type="config",
388
+ from_secret=False,
389
+ value="example-fake-config-value-12345"
390
+ )
391
+ ]
392
+ )
393
+
394
+ created_tool = manager.create_tool(
395
+ tool=tool,
396
+ automatic_publish=False
397
+ )
398
+ print(created_tool)
399
+
400
+ Update Tool
401
+ ~~~~~~~~~~~
402
+
403
+ Updates an existing tool’s configuration, such as its name, description, or parameters.
404
+
405
+ Command Line
406
+ ^^^^^^^^^^^^
407
+
408
+ .. code-block:: shell
409
+
410
+ geai ai-lab update-tool \
411
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
412
+ --tool-id "tool-456" \
413
+ --name "sample tool V4" \
414
+ --description "Updated builtin tool." \
415
+ --scope "builtin" \
416
+ --parameter '{"key": "input", "dataType": "String", "description": "updated input.", "isRequired": true}' \
417
+ --automatic-publish 0
418
+
419
+ Low-Level Service Layer
420
+ ^^^^^^^^^^^^^^^^^^^^^^^
421
+
422
+ .. code-block:: python
423
+
424
+ from pygeai.lab.tools.clients import ToolClient
425
+
426
+ client = ToolClient()
427
+ response = client.update_tool(
428
+ tool_id="tool-456",
429
+ name="sample tool V4",
430
+ description="Updated builtin tool.",
431
+ scope="builtin",
432
+ parameters=[
433
+ {"key": "input", "dataType": "String", "description": "updated input.", "isRequired": True}
434
+ ],
435
+ automatic_publish=False
436
+ )
437
+ print(response)
438
+
439
+ High-Level Service Layer
440
+ ^^^^^^^^^^^^^^^^^^^^^^^^
441
+
442
+ .. code-block:: python
443
+
444
+ from pygeai.lab.managers import AILabManager
445
+ from pygeai.lab.models import Tool, ToolParameter
446
+
447
+ manager = AILabManager()
448
+
449
+ tool = Tool(
450
+ name="sample tool V4",
451
+ description="Updated builtin tool.",
452
+ scope="builtin",
453
+ parameters=[
454
+ ToolParameter(
455
+ key="input",
456
+ data_type="String",
457
+ description="updated input.",
458
+ is_required=True
459
+ )
460
+ ]
461
+ )
462
+
463
+ updated_tool = manager.update_tool(
464
+ tool_id="tool-456",
465
+ tool=tool,
466
+ automatic_publish=False
467
+ )
468
+ print(updated_tool)
469
+
470
+ Delete Tool
471
+ ~~~~~~~~~~~
472
+
473
+ Deletes a tool from a specified project by its ID.
474
+
475
+ Command Line
476
+ ^^^^^^^^^^^^
477
+
478
+ .. code-block:: shell
479
+
480
+ geai ai-lab delete-tool \
481
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
482
+ --tool-id "tool-456"
483
+
484
+ Low-Level Service Layer
485
+ ^^^^^^^^^^^^^^^^^^^^^^^
486
+
487
+ .. code-block:: python
488
+
489
+ from pygeai.lab.tools.clients import ToolClient
490
+
491
+ client = ToolClient()
492
+ response = client.delete_tool(
493
+ tool_id="tool-456"
494
+ )
495
+ print(response)
496
+
497
+ High-Level Service Layer
498
+ ^^^^^^^^^^^^^^^^^^^^^^^^
499
+
500
+ .. code-block:: python
501
+
502
+ from pygeai.lab.managers import AILabManager
503
+
504
+ manager = AILabManager()
505
+ response = manager.delete_tool(
506
+ tool_id="tool-456"
507
+ )
508
+ print(response)
509
+
510
+ Publish Tool Revision
511
+ ~~~~~~~~~~~~~~~~~~~~~
512
+
513
+ Publishes a revision of a tool, making it available for use.
514
+
515
+ Command Line
516
+ ^^^^^^^^^^^^
517
+
518
+ .. code-block:: shell
519
+
520
+ geai ai-lab publish-tool-revision \
521
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
522
+ --tool-id "tool-456"
523
+
524
+ Low-Level Service Layer
525
+ ^^^^^^^^^^^^^^^^^^^^^^^
526
+
527
+ .. code-block:: python
528
+
529
+ from pygeai.lab.tools.clients import ToolClient
530
+
531
+ client = ToolClient()
532
+ response = client.publish_tool_revision(
533
+ tool_id="tool-456"
534
+ )
535
+ print(response)
536
+
537
+ High-Level Service Layer
538
+ ^^^^^^^^^^^^^^^^^^^^^^^^
539
+
540
+ .. code-block:: python
541
+
542
+ from pygeai.lab.managers import AILabManager
543
+
544
+ manager = AILabManager()
545
+ response = manager.publish_tool_revision(
546
+ tool_id="tool-456"
547
+ )
548
+ print(response)
549
+
550
+ Tasks
551
+ -----
552
+
553
+ Create Task
554
+ ~~~~~~~~~~~
555
+
556
+ Creates a new task in a specified project, defining its name, description, prompt configuration, and artifact types.
557
+
558
+ Command Line
559
+ ^^^^^^^^^^^^
560
+
561
+ .. code-block:: shell
562
+
563
+ geai ai-lab create-task \
564
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
565
+ --name "Sample v2" \
566
+ --description "A simple task that requires no tools and define no prompt" \
567
+ --title-template "Sample Task" \
568
+ --automatic-publish 0
569
+
570
+ Low-Level Service Layer
571
+ ^^^^^^^^^^^^^^^^^^^^^^^
572
+
573
+ .. code-block:: python
574
+
575
+ from pygeai.lab.processes.clients import AgenticProcessClient
576
+
577
+ client = AgenticProcessClient()
578
+ response = client.create_task(
579
+ name="Sample v2",
580
+ description="A simple task that requires no tools and define no prompt",
581
+ title_template="Sample Task",
582
+ prompt_data={},
583
+ artifact_types=[],
584
+ automatic_publish=False
585
+ )
586
+ print(response)
587
+
588
+ High-Level Service Layer
589
+ ^^^^^^^^^^^^^^^^^^^^^^^^
590
+
591
+ .. code-block:: python
592
+
593
+ from pygeai.lab.managers import AILabManager
594
+ from pygeai.lab.models import Task, Prompt, ArtifactTypeList
595
+
596
+ manager = AILabManager()
597
+
598
+ task = Task(
599
+ name="Sample v2",
600
+ description="A simple task that requires no tools and define no prompt",
601
+ title_template="Sample Task",
602
+ prompt_data=Prompt(),
603
+ artifact_types=ArtifactTypeList(artifact_types=[])
604
+ )
605
+
606
+ created_task = manager.create_task(
607
+ task=task,
608
+ automatic_publish=False
609
+ )
610
+ print(created_task)
611
+
612
+ Update Task
613
+ ~~~~~~~~~~~
614
+
615
+ Updates an existing task’s configuration, such as its name, description, or prompt settings.
616
+
617
+ Command Line
618
+ ^^^^^^^^^^^^
619
+
620
+ .. code-block:: shell
621
+
622
+ geai ai-lab update-task \
623
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
624
+ --task-id "task-789" \
625
+ --name "Sample v3" \
626
+ --description "Updated simple task." \
627
+ --title-template "Updated Sample Task" \
628
+ --automatic-publish 0
629
+
630
+ Low-Level Service Layer
631
+ ^^^^^^^^^^^^^^^^^^^^^^^
632
+
633
+ .. code-block:: python
634
+
635
+ from pygeai.lab.processes.clients import AgenticProcessClient
636
+
637
+ client = AgenticProcessClient()
638
+ response = client.update_task(
639
+ task_id="task-789",
640
+ name="Sample v3",
641
+ description="Updated simple task.",
642
+ title_template="Updated Sample Task",
643
+ prompt_data={},
644
+ artifact_types=[],
645
+ automatic_publish=False
646
+ )
647
+ print(response)
648
+
649
+ High-Level Service Layer
650
+ ^^^^^^^^^^^^^^^^^^^^^^^^
651
+
652
+ .. code-block:: python
653
+
654
+ from pygeai.lab.managers import AILabManager
655
+ from pygeai.lab.models import Task, Prompt, ArtifactTypeList
656
+
657
+ manager = AILabManager()
658
+
659
+ task = Task(
660
+ name="Sample v3",
661
+ description="Updated simple task.",
662
+ title_template="Updated Sample Task",
663
+ prompt_data=Prompt(),
664
+ artifact_types=ArtifactTypeList(artifact_types=[])
665
+ )
666
+
667
+ updated_task = manager.update_task(
668
+ task_id="task-789",
669
+ task=task,
670
+ automatic_publish=False
671
+ )
672
+ print(updated_task)
673
+
674
+ Delete Task
675
+ ~~~~~~~~~~~
676
+
677
+ Deletes a task from a specified project by its ID.
678
+
679
+ Command Line
680
+ ^^^^^^^^^^^^
681
+
682
+ .. code-block:: shell
683
+
684
+ geai ai-lab delete-task \
685
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
686
+ --task-id "task-789"
687
+
688
+ Low-Level Service Layer
689
+ ^^^^^^^^^^^^^^^^^^^^^^^
690
+
691
+ .. code-block:: python
692
+
693
+ from pygeai.lab.processes.clients import AgenticProcessClient
694
+
695
+ client = AgenticProcessClient()
696
+ response = client.delete_task(
697
+ task_id="task-789"
698
+ )
699
+ print(response)
700
+
701
+ High-Level Service Layer
702
+ ^^^^^^^^^^^^^^^^^^^^^^^^
703
+
704
+ .. code-block:: python
705
+
706
+ from pygeai.lab.managers import AILabManager
707
+
708
+ manager = AILabManager()
709
+ response = manager.delete_task(
710
+ task_id="task-789"
711
+ )
712
+ print(response)
713
+
714
+ Publish Task Revision
715
+ ~~~~~~~~~~~~~~~~~~~~~
716
+
717
+ Publishes a revision of a task, making it available for use.
718
+
719
+ Command Line
720
+ ^^^^^^^^^^^^
721
+
722
+ .. code-block:: shell
723
+
724
+ geai ai-lab publish-task-revision \
725
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
726
+ --task-id "task-789"
727
+
728
+ Low-Level Service Layer
729
+ ^^^^^^^^^^^^^^^^^^^^^^^
730
+
731
+ .. code-block:: python
732
+
733
+ from pygeai.lab.processes.clients import AgenticProcessClient
734
+
735
+ client = AgenticProcessClient()
736
+ response = client.publish_task_revision(
737
+ task_id="task-789"
738
+ )
739
+ print(response)
740
+
741
+ High-Level Service Layer
742
+ ^^^^^^^^^^^^^^^^^^^^^^^^
743
+
744
+ .. code-block:: python
745
+
746
+ from pygeai.lab.managers import AILabManager
747
+
748
+ manager = AILabManager()
749
+ response = manager.publish_task_revision(
750
+ task_id="task-789"
751
+ )
752
+ print(response)
753
+
754
+ Processes
755
+ ---------
756
+
757
+ Create Process
758
+ ~~~~~~~~~~~~~~
759
+
760
+ Creates a new agentic process in a specified project, defining its workflow with activities, signals, events, and sequence flows.
761
+
762
+ Command Line
763
+ ^^^^^^^^^^^^
764
+
765
+ .. code-block:: shell
766
+
767
+ geai ai-lab create-process \
768
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
769
+ --key "product_def" \
770
+ --name "Basic Process V4" \
771
+ --description "This is a sample process" \
772
+ --kb '{"name": "basic-sample", "artifactTypeName": ["sample-artifact"]}' \
773
+ --agentic-activity '{"key": "activityOne", "name": "First Step", "taskName": "basic-task", "agentName": "sample-translator", "agentRevisionId": 0}' \
774
+ --artifact-signal '{"key": "artifact.upload.1", "name": "artifact.upload", "handlingType": "C", "artifactTypeName": ["sample-artifact"]}' \
775
+ --user-signal '{"key": "signal_done", "name": "process-completed"}' \
776
+ --start-event '{"key": "artifact.upload.1", "name": "artifact.upload"}' \
777
+ --end-event '{"key": "end", "name": "Done"}' \
778
+ --sequence-flow '{"key": "step1", "sourceKey": "artifact.upload.1", "targetKey": "activityOne"}' \
779
+ --sequence-flow '{"key": "step2", "sourceKey": "activityOne", "targetKey": "signal_done"}' \
780
+ --sequence-flow '{"key": "stepEnd", "sourceKey": "signal_done", "targetKey": "end"}' \
781
+ --automatic-publish 0
782
+
783
+ Low-Level Service Layer
784
+ ^^^^^^^^^^^^^^^^^^^^^^^
785
+
786
+ .. code-block:: python
787
+
788
+ from pygeai.lab.processes.clients import AgenticProcessClient
789
+
790
+ client = AgenticProcessClient()
791
+ response = client.create_process(
792
+ key="product_def",
793
+ name="Basic Process V4",
794
+ description="This is a sample process",
795
+ kb={"name": "basic-sample", "artifactTypeName": ["sample-artifact"]},
796
+ agentic_activities=[
797
+ {"key": "activityOne", "name": "First Step", "taskName": "basic-task", "agentName": "sample-translator", "agentRevisionId": 0}
798
+ ],
799
+ artifact_signals=[
800
+ {"key": "artifact.upload.1", "name": "artifact.upload", "handlingType": "C", "artifactTypeName": ["sample-artifact"]}
801
+ ],
802
+ user_signals=[
803
+ {"key": "signal_done", "name": "process-completed"}
804
+ ],
805
+ start_event={"key": "artifact.upload.1", "name": "artifact.upload"},
806
+ end_event={"key": "end", "name": "Done"},
807
+ sequence_flows=[
808
+ {"key": "step1", "sourceKey": "artifact.upload.1", "targetKey": "activityOne"},
809
+ {"key": "step2", "sourceKey": "activityOne", "targetKey": "signal_done"},
810
+ {"key": "stepEnd", "sourceKey": "signal_done", "targetKey": "end"}
811
+ ],
812
+ automatic_publish=False
813
+ )
814
+ print(response)
815
+
816
+ High-Level Service Layer
817
+ ^^^^^^^^^^^^^^^^^^^^^^^^
818
+
819
+ .. code-block:: python
820
+
821
+ from pygeai.lab.managers import AILabManager
822
+ from pygeai.lab.models import AgenticProcess, KnowledgeBase, AgenticActivity, ArtifactSignal, UserSignal, Event, SequenceFlow
823
+
824
+ manager = AILabManager()
825
+
826
+ process = AgenticProcess(
827
+ key="product_def",
828
+ name="Basic Process V4",
829
+ description="This is a sample process",
830
+ kb=KnowledgeBase(name="basic-sample", artifact_type_name=["sample-artifact"]),
831
+ agentic_activities=[
832
+ AgenticActivity(
833
+ key="activityOne",
834
+ name="First Step",
835
+ task_name="basic-task",
836
+ agent_name="sample-translator",
837
+ agent_revision_id=0
838
+ )
839
+ ],
840
+ artifact_signals=[
841
+ ArtifactSignal(
842
+ key="artifact.upload.1",
843
+ name="artifact.upload",
844
+ handling_type="C",
845
+ artifact_type_name=["sample-artifact"]
846
+ )
847
+ ],
848
+ user_signals=[
849
+ UserSignal(key="signal_done", name="process-completed")
850
+ ],
851
+ start_event=Event(key="artifact.upload.1", name="artifact.upload"),
852
+ end_event=Event(key="end", name="Done"),
853
+ sequence_flows=[
854
+ SequenceFlow(key="step1", source_key="artifact.upload.1", target_key="activityOne"),
855
+ SequenceFlow(key="step2", source_key="activityOne", target_key="signal_done"),
856
+ SequenceFlow(key="stepEnd", source_key="signal_done", target_key="end")
857
+ ]
858
+ )
859
+
860
+ created_process = manager.create_process(
861
+ process=process,
862
+ automatic_publish=False
863
+ )
864
+ print(created_process)
865
+
866
+ Update Process
867
+ ~~~~~~~~~~~~~~
868
+
869
+ Updates an existing process’s configuration, such as its name, description, or workflow components.
870
+
871
+ Command Line
872
+ ^^^^^^^^^^^^
873
+
874
+ .. code-block:: shell
875
+
876
+ geai ai-lab update-process \
877
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
878
+ --process-id "process-101" \
879
+ --key "product_def" \
880
+ --name "Basic Process V5" \
881
+ --description "Updated sample process" \
882
+ --kb '{"name": "basic-sample", "artifactTypeName": ["sample-artifact"]}' \
883
+ --automatic-publish 0
884
+
885
+ Low-Level Service Layer
886
+ ^^^^^^^^^^^^^^^^^^^^^^^
887
+
888
+ .. code-block:: python
889
+
890
+ from pygeai.lab.processes.clients import AgenticProcessClient
891
+
892
+ client = AgenticProcessClient()
893
+ response = client.update_process(
894
+ process_id="process-101",
895
+ key="product_def",
896
+ name="Basic Process V5",
897
+ description="Updated sample process",
898
+ kb={"name": "basic-sample", "artifactTypeName": ["sample-artifact"]},
899
+ agentic_activities=[],
900
+ artifact_signals=[],
901
+ user_signals=[],
902
+ start_event={},
903
+ end_event={},
904
+ sequence_flows=[],
905
+ automatic_publish=False
906
+ )
907
+ print(response)
908
+
909
+ High-Level Service Layer
910
+ ^^^^^^^^^^^^^^^^^^^^^^^^
911
+
912
+ .. code-block:: python
913
+
914
+ from pygeai.lab.managers import AILabManager
915
+ from pygeai.lab.models import AgenticProcess, KnowledgeBase
916
+
917
+ manager = AILabManager()
918
+
919
+ process = AgenticProcess(
920
+ key="product_def",
921
+ name="Basic Process V5",
922
+ description="Updated sample process",
923
+ kb=KnowledgeBase(name="basic-sample", artifact_type_name=["sample-artifact"])
924
+ )
925
+
926
+ updated_process = manager.update_process(
927
+ process_id="process-101",
928
+ process=process,
929
+ automatic_publish=False
930
+ )
931
+ print(updated_process)
932
+
933
+ Delete Process
934
+ ~~~~~~~~~~~~~~
935
+
936
+ Deletes a process from a specified project by its ID.
937
+
938
+ Command Line
939
+ ^^^^^^^^^^^^
940
+
941
+ .. code-block:: shell
942
+
943
+ geai ai-lab delete-process \
944
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
945
+ --process-id "process-101"
946
+
947
+ Low-Level Service Layer
948
+ ^^^^^^^^^^^^^^^^^^^^^^^
949
+
950
+ .. code-block:: python
951
+
952
+ from pygeai.lab.processes.clients import AgenticProcessClient
953
+
954
+ client = AgenticProcessClient()
955
+ response = client.delete_process(
956
+ process_id="process-101"
957
+ )
958
+ print(response)
959
+
960
+ High-Level Service Layer
961
+ ^^^^^^^^^^^^^^^^^^^^^^^^
962
+
963
+ .. code-block:: python
964
+
965
+ from pygeai.lab.managers import AILabManager
966
+
967
+ manager = AILabManager()
968
+ response = manager.delete_process(
969
+ process_id="process-101"
970
+ )
971
+ print(response)
972
+
973
+ Publish Process Revision
974
+ ~~~~~~~~~~~~~~~~~~~~~~~~
975
+
976
+ Publishes a revision of a process, making it available for use.
977
+
978
+ Command Line
979
+ ^^^^^^^^^^^^
980
+
981
+ .. code-block:: shell
982
+
983
+ geai ai-lab publish-process-revision \
984
+ --project-id "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
985
+ --process-id "process-101"
986
+
987
+ Low-Level Service Layer
988
+ ^^^^^^^^^^^^^^^^^^^^^^^
989
+
990
+ .. code-block:: python
991
+
992
+ from pygeai.lab.processes.clients import AgenticProcessClient
993
+
994
+ client = AgenticProcessClient()
995
+ response = client.publish_process_revision(
996
+ process_id="process-101"
997
+ )
998
+ print(response)
999
+
1000
+ High-Level Service Layer
1001
+ ^^^^^^^^^^^^^^^^^^^^^^^^
1002
+
1003
+ .. code-block:: python
1004
+
1005
+ from pygeai.lab.managers import AILabManager
1006
+
1007
+ manager = AILabManager()
1008
+ response = manager.publish_process_revision(
1009
+ process_id="process-101"
1010
+ )
1011
+ print(response)