pygeai 0.1.6__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 (788) hide show
  1. pygeai/__init__.py +11 -2
  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 +48 -57
  146. pygeai/assistant/data/__init__.py +0 -0
  147. pygeai/assistant/data/clients.py +15 -0
  148. pygeai/assistant/data_analyst/__init__.py +0 -0
  149. pygeai/assistant/data_analyst/clients.py +75 -0
  150. pygeai/assistant/data_analyst/endpoints.py +2 -0
  151. pygeai/assistant/endpoints.py +0 -2
  152. pygeai/assistant/managers.py +738 -0
  153. pygeai/assistant/mappers.py +153 -0
  154. pygeai/assistant/rag/clients.py +132 -21
  155. pygeai/assistant/rag/mappers.py +228 -0
  156. pygeai/assistant/rag/models.py +396 -0
  157. pygeai/assistant/rag/responses.py +10 -0
  158. pygeai/auth/__init__.py +0 -0
  159. pygeai/auth/clients.py +129 -0
  160. pygeai/auth/endpoints.py +6 -0
  161. pygeai/chat/clients.py +406 -31
  162. pygeai/chat/endpoints.py +3 -0
  163. pygeai/chat/iris.py +17 -0
  164. pygeai/chat/managers.py +64 -0
  165. pygeai/chat/session.py +38 -0
  166. pygeai/chat/settings.py +6 -0
  167. pygeai/chat/ui.py +678 -0
  168. pygeai/cli/__init__.py +0 -1
  169. pygeai/cli/commands/admin.py +9 -12
  170. pygeai/cli/commands/analytics.py +533 -0
  171. pygeai/cli/commands/assistant.py +11 -11
  172. pygeai/cli/commands/auth.py +299 -0
  173. pygeai/cli/commands/base.py +201 -7
  174. pygeai/cli/commands/chat.py +875 -14
  175. pygeai/cli/commands/common.py +30 -26
  176. pygeai/cli/commands/configuration.py +84 -9
  177. pygeai/cli/commands/docs.py +105 -0
  178. pygeai/cli/commands/embeddings.py +187 -0
  179. pygeai/cli/commands/evaluation.py +2069 -0
  180. pygeai/cli/commands/feedback.py +93 -0
  181. pygeai/cli/commands/files.py +312 -0
  182. pygeai/cli/commands/flows/__init__.py +0 -0
  183. pygeai/cli/commands/gam.py +349 -0
  184. pygeai/cli/commands/lab/__init__.py +0 -0
  185. pygeai/cli/commands/lab/ai_lab.py +4110 -0
  186. pygeai/cli/commands/lab/common.py +135 -0
  187. pygeai/cli/commands/lab/options.py +8 -0
  188. pygeai/cli/commands/lab/spec.py +273 -0
  189. pygeai/cli/commands/lab/utils.py +13 -0
  190. pygeai/cli/commands/llm.py +164 -0
  191. pygeai/cli/commands/migrate.py +1198 -0
  192. pygeai/cli/commands/options.py +86 -0
  193. pygeai/cli/commands/organization.py +560 -98
  194. pygeai/cli/commands/rag.py +306 -10
  195. pygeai/cli/commands/rerank.py +108 -0
  196. pygeai/cli/commands/secrets.py +357 -0
  197. pygeai/cli/commands/usage_limits.py +583 -0
  198. pygeai/cli/commands/validators.py +209 -0
  199. pygeai/cli/commands/version.py +44 -0
  200. pygeai/cli/error_handler.py +151 -0
  201. pygeai/cli/geai.py +171 -30
  202. pygeai/cli/geai_proxy.py +318 -0
  203. pygeai/cli/install_man.py +107 -0
  204. pygeai/cli/parsers.py +78 -25
  205. pygeai/cli/texts/help.py +712 -55
  206. pygeai/core/__init__.py +9 -1
  207. pygeai/core/base/clients.py +61 -10
  208. pygeai/core/base/mappers.py +208 -30
  209. pygeai/core/base/models.py +8 -308
  210. pygeai/core/base/responses.py +18 -1
  211. pygeai/core/base/session.py +110 -17
  212. pygeai/core/common/config.py +98 -16
  213. pygeai/core/common/decorators.py +44 -0
  214. pygeai/core/common/exceptions.py +104 -4
  215. pygeai/core/embeddings/__init__.py +19 -0
  216. pygeai/core/embeddings/clients.py +93 -0
  217. pygeai/core/embeddings/endpoints.py +1 -0
  218. pygeai/core/embeddings/managers.py +62 -0
  219. pygeai/core/embeddings/mappers.py +52 -0
  220. pygeai/core/embeddings/models.py +14 -0
  221. pygeai/core/embeddings/responses.py +31 -0
  222. pygeai/core/feedback/__init__.py +0 -0
  223. pygeai/core/feedback/clients.py +50 -0
  224. pygeai/core/feedback/endpoints.py +1 -0
  225. pygeai/core/feedback/models.py +10 -0
  226. pygeai/core/files/__init__.py +0 -0
  227. pygeai/core/files/clients.py +156 -0
  228. pygeai/core/files/endpoints.py +5 -0
  229. pygeai/core/files/managers.py +224 -0
  230. pygeai/core/files/mappers.py +44 -0
  231. pygeai/core/files/models.py +24 -0
  232. pygeai/core/files/responses.py +19 -0
  233. pygeai/core/handlers.py +32 -0
  234. pygeai/core/llm/__init__.py +0 -0
  235. pygeai/core/llm/clients.py +53 -0
  236. pygeai/core/llm/endpoints.py +4 -0
  237. pygeai/core/models.py +799 -0
  238. pygeai/core/plugins/__init__.py +0 -0
  239. pygeai/core/plugins/clients.py +32 -0
  240. pygeai/core/plugins/endpoints.py +1 -0
  241. pygeai/core/plugins/models.py +86 -0
  242. pygeai/core/rerank/__init__.py +0 -0
  243. pygeai/core/rerank/clients.py +35 -0
  244. pygeai/core/rerank/endpoints.py +1 -0
  245. pygeai/core/rerank/managers.py +47 -0
  246. pygeai/core/rerank/mappers.py +23 -0
  247. pygeai/core/rerank/models.py +27 -0
  248. pygeai/core/responses.py +104 -0
  249. pygeai/core/secrets/__init__.py +0 -0
  250. pygeai/core/secrets/clients.py +212 -0
  251. pygeai/core/secrets/endpoints.py +7 -0
  252. pygeai/core/services/llm/__init__.py +0 -0
  253. pygeai/core/services/llm/model.py +186 -0
  254. pygeai/core/services/llm/providers.py +15 -0
  255. pygeai/core/services/response.py +18 -0
  256. pygeai/core/services/rest.py +311 -89
  257. pygeai/core/utils/__init__.py +0 -0
  258. pygeai/core/utils/console.py +83 -0
  259. pygeai/core/utils/parsers.py +32 -0
  260. pygeai/core/utils/validators.py +10 -0
  261. pygeai/dbg/__init__.py +3 -0
  262. pygeai/dbg/debugger.py +870 -0
  263. pygeai/evaluation/__init__.py +0 -0
  264. pygeai/evaluation/clients.py +19 -0
  265. pygeai/evaluation/dataset/__init__.py +0 -0
  266. pygeai/evaluation/dataset/clients.py +514 -0
  267. pygeai/evaluation/dataset/endpoints.py +26 -0
  268. pygeai/evaluation/plan/__init__.py +0 -0
  269. pygeai/evaluation/plan/clients.py +302 -0
  270. pygeai/evaluation/plan/endpoints.py +16 -0
  271. pygeai/evaluation/result/__init__.py +0 -0
  272. pygeai/evaluation/result/clients.py +70 -0
  273. pygeai/evaluation/result/endpoints.py +2 -0
  274. pygeai/flows/__init__.py +0 -0
  275. pygeai/flows/endpoints.py +362 -0
  276. pygeai/flows/models.py +1304 -0
  277. pygeai/gam/__init__.py +0 -0
  278. pygeai/gam/clients.py +178 -0
  279. pygeai/gam/endpoints.py +4 -0
  280. pygeai/health/__init__.py +0 -0
  281. pygeai/health/clients.py +24 -0
  282. pygeai/health/endpoints.py +1 -0
  283. pygeai/lab/__init__.py +0 -0
  284. pygeai/lab/agents/__init__.py +0 -0
  285. pygeai/lab/agents/clients.py +426 -0
  286. pygeai/lab/agents/endpoints.py +12 -0
  287. pygeai/lab/agents/mappers.py +319 -0
  288. pygeai/lab/clients.py +24 -0
  289. pygeai/lab/constants.py +3 -0
  290. pygeai/lab/managers.py +1558 -0
  291. pygeai/lab/models.py +1719 -0
  292. pygeai/lab/processes/__init__.py +0 -0
  293. pygeai/lab/processes/clients.py +1051 -0
  294. pygeai/lab/processes/endpoints.py +26 -0
  295. pygeai/lab/processes/mappers.py +395 -0
  296. pygeai/lab/runners.py +90 -0
  297. pygeai/lab/spec/__init__.py +0 -0
  298. pygeai/lab/spec/loader.py +24 -0
  299. pygeai/lab/spec/parsers.py +39 -0
  300. pygeai/lab/strategies/__init__.py +0 -0
  301. pygeai/lab/strategies/clients.py +212 -0
  302. pygeai/lab/strategies/endpoints.py +5 -0
  303. pygeai/lab/strategies/mappers.py +58 -0
  304. pygeai/lab/tools/__init__.py +0 -0
  305. pygeai/lab/tools/clients.py +465 -0
  306. pygeai/lab/tools/endpoints.py +13 -0
  307. pygeai/lab/tools/mappers.py +131 -0
  308. pygeai/man/__init__.py +1 -0
  309. pygeai/man/man1/__init__.py +1 -0
  310. pygeai/man/man1/geai-proxy.1 +246 -0
  311. pygeai/man/man1/geai.1 +2615 -0
  312. pygeai/migration/__init__.py +33 -0
  313. pygeai/migration/strategies.py +603 -0
  314. pygeai/migration/tools.py +180 -0
  315. pygeai/organization/clients.py +246 -18
  316. pygeai/organization/endpoints.py +17 -8
  317. pygeai/organization/limits/__init__.py +0 -0
  318. pygeai/organization/limits/clients.py +281 -0
  319. pygeai/organization/limits/endpoints.py +15 -0
  320. pygeai/organization/limits/managers.py +331 -0
  321. pygeai/organization/limits/mappers.py +21 -0
  322. pygeai/organization/managers.py +537 -0
  323. pygeai/organization/mappers.py +111 -46
  324. pygeai/organization/responses.py +61 -11
  325. pygeai/proxy/__init__.py +0 -0
  326. pygeai/proxy/clients.py +216 -0
  327. pygeai/proxy/config.py +128 -0
  328. pygeai/proxy/managers.py +232 -0
  329. pygeai/proxy/servers.py +304 -0
  330. pygeai/proxy/tool.py +69 -0
  331. pygeai/tests/admin/__init__.py +0 -0
  332. pygeai/tests/admin/test_clients.py +148 -0
  333. pygeai/tests/analytics/__init__.py +0 -0
  334. pygeai/tests/analytics/test_clients.py +86 -0
  335. pygeai/tests/analytics/test_managers.py +94 -0
  336. pygeai/tests/analytics/test_mappers.py +84 -0
  337. pygeai/tests/analytics/test_responses.py +73 -0
  338. pygeai/tests/assistants/rag/__init__.py +0 -0
  339. pygeai/tests/assistants/rag/test_clients.py +346 -0
  340. pygeai/tests/assistants/rag/test_mappers.py +189 -0
  341. pygeai/tests/assistants/rag/test_models.py +292 -0
  342. pygeai/tests/assistants/test_clients.py +176 -80
  343. pygeai/tests/assistants/test_managers.py +198 -0
  344. pygeai/tests/assistants/test_mappers.py +111 -0
  345. pygeai/tests/auth/__init__.py +0 -0
  346. pygeai/tests/auth/test_clients.py +289 -0
  347. pygeai/tests/auth/test_oauth.py +172 -0
  348. pygeai/tests/auth/test_session_logging.py +150 -0
  349. pygeai/tests/chat/__init__.py +0 -0
  350. pygeai/tests/chat/test_clients.py +393 -0
  351. pygeai/tests/chat/test_iris.py +38 -0
  352. pygeai/tests/chat/test_session.py +62 -0
  353. pygeai/tests/chat/test_ui.py +224 -0
  354. pygeai/tests/cli/__init__.py +0 -0
  355. pygeai/tests/cli/commands/__init__.py +0 -0
  356. pygeai/tests/cli/commands/lab/__init__.py +0 -0
  357. pygeai/tests/cli/commands/lab/test_ai_lab.py +786 -0
  358. pygeai/tests/cli/commands/lab/test_common.py +208 -0
  359. pygeai/tests/cli/commands/lab/test_spec.py +246 -0
  360. pygeai/tests/cli/commands/test_assistant.py +202 -0
  361. pygeai/tests/cli/commands/test_chat.py +130 -0
  362. pygeai/tests/cli/commands/test_common.py +350 -0
  363. pygeai/tests/cli/commands/test_embeddings.py +132 -0
  364. pygeai/tests/cli/commands/test_evaluation.py +656 -0
  365. pygeai/tests/cli/commands/test_feedback.py +65 -0
  366. pygeai/tests/cli/commands/test_files.py +161 -0
  367. pygeai/tests/cli/commands/test_gam.py +201 -0
  368. pygeai/tests/cli/commands/test_llm.py +114 -0
  369. pygeai/tests/cli/commands/test_migrate.py +176 -0
  370. pygeai/tests/cli/commands/test_organization.py +276 -0
  371. pygeai/tests/cli/commands/test_rag.py +266 -0
  372. pygeai/tests/cli/commands/test_rerank.py +110 -0
  373. pygeai/tests/cli/commands/test_secrets.py +171 -0
  374. pygeai/tests/cli/commands/test_show_help.py +41 -0
  375. pygeai/tests/cli/commands/test_usage_limits.py +412 -0
  376. pygeai/tests/cli/commands/test_validators.py +160 -0
  377. pygeai/tests/cli/commands/test_version.py +81 -0
  378. pygeai/tests/cli/docker/__init__.py +0 -0
  379. pygeai/tests/cli/test_credentials_flag.py +316 -0
  380. pygeai/tests/cli/test_error_handler.py +225 -0
  381. pygeai/tests/cli/test_geai_driver.py +154 -0
  382. pygeai/tests/cli/test_parsers.py +154 -0
  383. pygeai/tests/core/base/__init__.py +0 -0
  384. pygeai/tests/core/base/data/__init__.py +0 -0
  385. pygeai/tests/core/base/data/mappers.py +117 -0
  386. pygeai/tests/core/base/data/models.py +312 -0
  387. pygeai/tests/core/base/test_mappers.py +569 -0
  388. pygeai/tests/core/base/test_models.py +261 -0
  389. pygeai/tests/core/base/test_responses.py +53 -0
  390. pygeai/tests/core/common/__init__.py +0 -0
  391. pygeai/tests/core/common/data/__init__.py +0 -0
  392. pygeai/tests/core/common/test_config.py +186 -0
  393. pygeai/tests/core/common/test_decorators.py +69 -0
  394. pygeai/tests/core/embeddings/__init__.py +0 -0
  395. pygeai/tests/core/embeddings/test_clients.py +225 -0
  396. pygeai/tests/core/embeddings/test_managers.py +171 -0
  397. pygeai/tests/core/embeddings/test_mappers.py +142 -0
  398. pygeai/tests/core/feedback/__init__.py +0 -0
  399. pygeai/tests/core/feedback/test_clients.py +64 -0
  400. pygeai/tests/core/files/__init__.py +0 -0
  401. pygeai/tests/core/files/test_clients.py +128 -0
  402. pygeai/tests/core/files/test_managers.py +219 -0
  403. pygeai/tests/core/files/test_mappers.py +137 -0
  404. pygeai/tests/core/files/test_models.py +103 -0
  405. pygeai/tests/core/files/test_responses.py +122 -0
  406. pygeai/tests/core/llm/__init__.py +0 -0
  407. pygeai/tests/core/llm/test_clients.py +142 -0
  408. pygeai/tests/core/plugins/__init__.py +0 -0
  409. pygeai/tests/core/plugins/test_clients.py +66 -0
  410. pygeai/tests/core/rerank/__init__.py +0 -0
  411. pygeai/tests/core/rerank/test_clients.py +76 -0
  412. pygeai/tests/core/rerank/test_managers.py +99 -0
  413. pygeai/tests/core/rerank/test_mappers.py +54 -0
  414. pygeai/tests/core/secrets/__init__.py +0 -0
  415. pygeai/tests/core/secrets/test_clients.py +264 -0
  416. pygeai/tests/core/services/__init__.py +0 -0
  417. pygeai/tests/core/services/test_rest.py +273 -0
  418. pygeai/tests/core/test_handlers.py +66 -0
  419. pygeai/tests/core/utils/__init__.py +0 -0
  420. pygeai/tests/core/utils/test_console.py +80 -0
  421. pygeai/tests/dbg/__init__.py +0 -0
  422. pygeai/tests/dbg/test_debugger.py +591 -0
  423. pygeai/tests/evaluation/__init__.py +0 -0
  424. pygeai/tests/evaluation/dataset/__init__.py +0 -0
  425. pygeai/tests/evaluation/dataset/test_clients.py +265 -0
  426. pygeai/tests/evaluation/plan/__init__.py +0 -0
  427. pygeai/tests/evaluation/plan/test_clients.py +195 -0
  428. pygeai/tests/evaluation/result/__init__.py +0 -0
  429. pygeai/tests/evaluation/result/test_clients.py +66 -0
  430. pygeai/tests/gam/__init__.py +0 -0
  431. pygeai/tests/gam/test_clients.py +195 -0
  432. pygeai/tests/health/__init__.py +0 -0
  433. pygeai/tests/health/test_clients.py +41 -0
  434. pygeai/tests/integration/__init__.py +0 -0
  435. pygeai/tests/integration/assistants/__init__.py +0 -0
  436. pygeai/tests/integration/assistants/rag/__init__.py +0 -0
  437. pygeai/tests/integration/assistants/rag/test_create_rag.py +91 -0
  438. pygeai/tests/integration/chat/__init__.py +0 -0
  439. pygeai/tests/integration/chat/test_generate_image.py +158 -0
  440. pygeai/tests/integration/lab/__init__.py +0 -0
  441. pygeai/tests/integration/lab/agents/__init__.py +0 -0
  442. pygeai/tests/integration/lab/agents/test_agents_list.py +106 -0
  443. pygeai/tests/integration/lab/agents/test_create_agent.py +319 -0
  444. pygeai/tests/integration/lab/agents/test_create_sharing_link.py +70 -0
  445. pygeai/tests/integration/lab/agents/test_delete_agent.py +75 -0
  446. pygeai/tests/integration/lab/agents/test_get_agent.py +94 -0
  447. pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +127 -0
  448. pygeai/tests/integration/lab/agents/test_update_agent.py +250 -0
  449. pygeai/tests/integration/lab/processes/__init__.py +0 -0
  450. pygeai/tests/integration/lab/processes/test_create_process.py +345 -0
  451. pygeai/tests/integration/lab/processes/test_create_task.py +211 -0
  452. pygeai/tests/integration/lab/processes/test_delete_process.py +111 -0
  453. pygeai/tests/integration/lab/processes/test_get_process.py +201 -0
  454. pygeai/tests/integration/lab/processes/test_list_process_instances.py +91 -0
  455. pygeai/tests/integration/lab/processes/test_list_processes.py +138 -0
  456. pygeai/tests/integration/lab/processes/test_publish_process_revision.py +232 -0
  457. pygeai/tests/integration/lab/processes/test_update_process.py +289 -0
  458. pygeai/tests/integration/lab/reasoning_strategies/__init__.py +0 -0
  459. pygeai/tests/integration/lab/reasoning_strategies/test_get_reasoning_strategy.py +70 -0
  460. pygeai/tests/integration/lab/reasoning_strategies/test_list_reasoning_strategies.py +93 -0
  461. pygeai/tests/integration/lab/reasoning_strategies/test_update_reasoning_strategy.py +149 -0
  462. pygeai/tests/integration/lab/tools/__init__.py +0 -0
  463. pygeai/tests/integration/lab/tools/test_create_tool.py +288 -0
  464. pygeai/tests/integration/lab/tools/test_delete_tool.py +87 -0
  465. pygeai/tests/integration/lab/tools/test_get_parameter.py +98 -0
  466. pygeai/tests/integration/lab/tools/test_get_tool.py +91 -0
  467. pygeai/tests/integration/lab/tools/test_list_tools.py +106 -0
  468. pygeai/tests/integration/lab/tools/test_publish_tool_revision.py +119 -0
  469. pygeai/tests/integration/lab/tools/test_set_parameter.py +114 -0
  470. pygeai/tests/integration/lab/tools/test_update_tool.py +267 -0
  471. pygeai/tests/lab/__init__.py +0 -0
  472. pygeai/tests/lab/agents/__init__.py +0 -0
  473. pygeai/tests/lab/agents/test_clients.py +481 -0
  474. pygeai/tests/lab/agents/test_mappers.py +440 -0
  475. pygeai/tests/lab/processes/__init__.py +0 -0
  476. pygeai/tests/lab/processes/test_clients.py +1416 -0
  477. pygeai/tests/lab/processes/test_mappers.py +1092 -0
  478. pygeai/tests/lab/spec/__init__.py +0 -0
  479. pygeai/tests/lab/spec/test_loader.py +59 -0
  480. pygeai/tests/lab/spec/test_parsers.py +182 -0
  481. pygeai/tests/lab/strategies/__init__.py +0 -0
  482. pygeai/tests/lab/strategies/test_clients.py +241 -0
  483. pygeai/tests/lab/strategies/test_mappers.py +132 -0
  484. pygeai/tests/lab/test_managers.py +553 -0
  485. pygeai/tests/lab/test_mappers.py +245 -0
  486. pygeai/tests/lab/test_models.py +1154 -0
  487. pygeai/tests/lab/tools/__init__.py +0 -0
  488. pygeai/tests/lab/tools/test_clients.py +521 -0
  489. pygeai/tests/lab/tools/test_mappers.py +198 -0
  490. pygeai/tests/migration/__init__.py +0 -0
  491. pygeai/tests/migration/test_strategies.py +405 -0
  492. pygeai/tests/migration/test_tools.py +159 -0
  493. pygeai/tests/organization/limits/__init__.py +0 -0
  494. pygeai/tests/organization/limits/test_clients.py +567 -0
  495. pygeai/tests/organization/limits/test_managers.py +402 -0
  496. pygeai/tests/organization/test_clients.py +615 -64
  497. pygeai/tests/organization/test_managers.py +424 -0
  498. pygeai/tests/organization/test_mappers.py +153 -0
  499. pygeai/tests/organization/test_responses.py +137 -0
  500. pygeai/tests/proxy/__init__.py +1 -0
  501. pygeai/tests/proxy/test_clients.py +397 -0
  502. pygeai/tests/proxy/test_config.py +171 -0
  503. pygeai/tests/proxy/test_integration.py +305 -0
  504. pygeai/tests/proxy/test_managers.py +312 -0
  505. pygeai/tests/proxy/test_servers.py +387 -0
  506. pygeai/tests/proxy/test_tool.py +176 -0
  507. pygeai/tests/snippets/__init__.py +0 -0
  508. pygeai/tests/snippets/analytics/__init__.py +0 -0
  509. pygeai/tests/snippets/analytics/get_agent_usage_per_user.py +16 -0
  510. pygeai/tests/snippets/analytics/get_agents_created_and_modified.py +11 -0
  511. pygeai/tests/snippets/analytics/get_average_cost_per_request.py +10 -0
  512. pygeai/tests/snippets/analytics/get_overall_error_rate.py +10 -0
  513. pygeai/tests/snippets/analytics/get_top_10_agents_by_requests.py +12 -0
  514. pygeai/tests/snippets/analytics/get_total_active_users.py +10 -0
  515. pygeai/tests/snippets/analytics/get_total_cost.py +10 -0
  516. pygeai/tests/snippets/analytics/get_total_requests_per_day.py +12 -0
  517. pygeai/tests/snippets/analytics/get_total_tokens.py +12 -0
  518. pygeai/tests/snippets/assistants/__init__.py +0 -0
  519. pygeai/tests/snippets/assistants/create_chat_assistant.py +54 -0
  520. pygeai/tests/snippets/assistants/create_text_assistant.py +51 -0
  521. pygeai/tests/snippets/assistants/data_analyst/__init__.py +0 -0
  522. pygeai/tests/snippets/assistants/data_analyst/extend_and_check.py +100 -0
  523. pygeai/tests/snippets/assistants/data_analyst/extend_dataset.py +9 -0
  524. pygeai/tests/snippets/assistants/data_analyst/get_status.py +9 -0
  525. pygeai/tests/snippets/assistants/file_summarizer_assistant.py +149 -0
  526. pygeai/tests/snippets/assistants/get_assistant_data.py +8 -0
  527. pygeai/tests/snippets/assistants/get_assistant_list.py +7 -0
  528. pygeai/tests/snippets/assistants/rag/__init__.py +0 -0
  529. pygeai/tests/snippets/assistants/rag/create_rag_assistant.py +65 -0
  530. pygeai/tests/snippets/assistants/rag/delete_al_documents.py +7 -0
  531. pygeai/tests/snippets/assistants/rag/delete_document.py +10 -0
  532. pygeai/tests/snippets/assistants/rag/delete_rag_assistant.py +8 -0
  533. pygeai/tests/snippets/assistants/rag/get_document.py +10 -0
  534. pygeai/tests/snippets/assistants/rag/get_documents.py +7 -0
  535. pygeai/tests/snippets/assistants/rag/get_rag_assistant_data.py +8 -0
  536. pygeai/tests/snippets/assistants/rag/update_rag_assistant.py +48 -0
  537. pygeai/tests/snippets/assistants/rag/upload_document.py +19 -0
  538. pygeai/tests/snippets/assistants/send_feedback.py +14 -0
  539. pygeai/tests/snippets/assistants/update_chat_assistant.py +63 -0
  540. pygeai/tests/snippets/auth/__init__.py +0 -0
  541. pygeai/tests/snippets/chat/__init__.py +0 -0
  542. pygeai/tests/snippets/chat/cancel_request.py +7 -0
  543. pygeai/tests/snippets/chat/chat_completion.py +28 -0
  544. pygeai/tests/snippets/chat/chat_completion_1.py +40 -0
  545. pygeai/tests/snippets/chat/chat_completion_2.py +60 -0
  546. pygeai/tests/snippets/chat/chat_completion_3.py +27 -0
  547. pygeai/tests/snippets/chat/chat_completion_4.py +67 -0
  548. pygeai/tests/snippets/chat/chat_completion_streaming.py +63 -0
  549. pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
  550. pygeai/tests/snippets/chat/get_request_status.py +7 -0
  551. pygeai/tests/snippets/chat/get_response.py +15 -0
  552. pygeai/tests/snippets/chat/get_response_complete_example.py +67 -0
  553. pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
  554. pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
  555. pygeai/tests/snippets/chat/get_response_with_instructions.py +19 -0
  556. pygeai/tests/snippets/chat/get_response_with_metadata.py +24 -0
  557. pygeai/tests/snippets/chat/get_response_with_parallel_tools.py +58 -0
  558. pygeai/tests/snippets/chat/get_response_with_reasoning.py +21 -0
  559. pygeai/tests/snippets/chat/get_response_with_store.py +38 -0
  560. pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
  561. pygeai/tests/snippets/chat/get_response_with_truncation.py +24 -0
  562. pygeai/tests/snippets/chat/send_chat_request.py +33 -0
  563. pygeai/tests/snippets/dbg/__init__.py +0 -0
  564. pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
  565. pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
  566. pygeai/tests/snippets/dbg/file_debugging.py +72 -0
  567. pygeai/tests/snippets/dbg/module_debugging.py +61 -0
  568. pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
  569. pygeai/tests/snippets/dbg/stepping_example.py +40 -0
  570. pygeai/tests/snippets/embeddings/__init__.py +0 -0
  571. pygeai/tests/snippets/embeddings/cache_example.py +31 -0
  572. pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
  573. pygeai/tests/snippets/embeddings/generate_embeddings.py +26 -0
  574. pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
  575. pygeai/tests/snippets/embeddings/openai_example.py +30 -0
  576. pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
  577. pygeai/tests/snippets/evaluation/__init__.py +0 -0
  578. pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
  579. pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
  580. pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
  581. pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
  582. pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
  583. pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
  584. pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
  585. pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
  586. pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
  587. pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
  588. pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
  589. pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
  590. pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
  591. pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
  592. pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
  593. pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
  594. pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
  595. pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
  596. pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
  597. pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
  598. pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
  599. pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
  600. pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
  601. pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
  602. pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
  603. pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
  604. pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
  605. pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
  606. pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
  607. pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
  608. pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
  609. pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
  610. pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
  611. pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
  612. pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
  613. pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
  614. pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
  615. pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
  616. pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
  617. pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
  618. pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
  619. pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
  620. pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
  621. pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
  622. pygeai/tests/snippets/files/__init__.py +0 -0
  623. pygeai/tests/snippets/files/delete_file.py +9 -0
  624. pygeai/tests/snippets/files/get_file_content.py +10 -0
  625. pygeai/tests/snippets/files/get_file_data.py +9 -0
  626. pygeai/tests/snippets/files/get_file_list.py +6 -0
  627. pygeai/tests/snippets/files/upload_file.py +13 -0
  628. pygeai/tests/snippets/gam/__init__.py +0 -0
  629. pygeai/tests/snippets/gam/gam_access_token.py +87 -0
  630. pygeai/tests/snippets/lab/__init__.py +0 -0
  631. pygeai/tests/snippets/lab/agentic_flow_example_1.py +326 -0
  632. pygeai/tests/snippets/lab/agentic_flow_example_2.py +206 -0
  633. pygeai/tests/snippets/lab/agentic_flow_example_3.py +486 -0
  634. pygeai/tests/snippets/lab/agentic_flow_example_4.py +446 -0
  635. pygeai/tests/snippets/lab/agents/__init__.py +0 -0
  636. pygeai/tests/snippets/lab/agents/create_agent.py +48 -0
  637. pygeai/tests/snippets/lab/agents/create_agent_2.py +48 -0
  638. pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +48 -0
  639. pygeai/tests/snippets/lab/agents/create_agent_with_permissions.py +39 -0
  640. pygeai/tests/snippets/lab/agents/create_agent_with_properties.py +46 -0
  641. pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +48 -0
  642. pygeai/tests/snippets/lab/agents/delete_agent.py +12 -0
  643. pygeai/tests/snippets/lab/agents/get_agent.py +24 -0
  644. pygeai/tests/snippets/lab/agents/get_agent_with_new_fields.py +62 -0
  645. pygeai/tests/snippets/lab/agents/get_sharing_link.py +13 -0
  646. pygeai/tests/snippets/lab/agents/list_agents.py +18 -0
  647. pygeai/tests/snippets/lab/agents/publish_agent_revision.py +12 -0
  648. pygeai/tests/snippets/lab/agents/update_agent.py +50 -0
  649. pygeai/tests/snippets/lab/agents/update_agent_properties.py +50 -0
  650. pygeai/tests/snippets/lab/assistant_to_agent.py +191 -0
  651. pygeai/tests/snippets/lab/crud_ui.py +462 -0
  652. pygeai/tests/snippets/lab/processes/__init__.py +0 -0
  653. pygeai/tests/snippets/lab/processes/create_process.py +24 -0
  654. pygeai/tests/snippets/lab/processes/create_task.py +8 -0
  655. pygeai/tests/snippets/lab/processes/jobs/__init__.py +0 -0
  656. pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +21 -0
  657. pygeai/tests/snippets/lab/processes/kbs/__init__.py +0 -0
  658. pygeai/tests/snippets/lab/processes/kbs/create_kb.py +18 -0
  659. pygeai/tests/snippets/lab/processes/kbs/get_kb.py +26 -0
  660. pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +30 -0
  661. pygeai/tests/snippets/lab/processes/kbs/try_all.py +73 -0
  662. pygeai/tests/snippets/lab/processes/list_processes.py +10 -0
  663. pygeai/tests/snippets/lab/runner_1.py +212 -0
  664. pygeai/tests/snippets/lab/samples/__init__.py +0 -0
  665. pygeai/tests/snippets/lab/samples/summarize_files.py +162 -0
  666. pygeai/tests/snippets/lab/strategies/__init__.py +0 -0
  667. pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +22 -0
  668. pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +10 -0
  669. pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +16 -0
  670. pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +26 -0
  671. pygeai/tests/snippets/lab/tools/__init__.py +0 -0
  672. pygeai/tests/snippets/lab/tools/create_tool.py +48 -0
  673. pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +50 -0
  674. pygeai/tests/snippets/lab/tools/delete_tool.py +21 -0
  675. pygeai/tests/snippets/lab/tools/get_parameter.py +21 -0
  676. pygeai/tests/snippets/lab/tools/get_tool.py +22 -0
  677. pygeai/tests/snippets/lab/tools/list_tools.py +23 -0
  678. pygeai/tests/snippets/lab/tools/publish_tool_revision.py +13 -0
  679. pygeai/tests/snippets/lab/tools/set_parameters.py +33 -0
  680. pygeai/tests/snippets/lab/tools/update_tool.py +52 -0
  681. pygeai/tests/snippets/lab/use_cases/__init__.py +0 -0
  682. pygeai/tests/snippets/lab/use_cases/c_code_fixer_agent_flow.py +238 -0
  683. pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +1640 -0
  684. pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +4541 -0
  685. pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +133 -0
  686. pygeai/tests/snippets/lab/use_cases/create_web_designer.py +189 -0
  687. pygeai/tests/snippets/lab/use_cases/create_web_reader.py +185 -0
  688. pygeai/tests/snippets/lab/use_cases/file_summarizer_example.py +157 -0
  689. pygeai/tests/snippets/lab/use_cases/file_summarizer_example_2.py +157 -0
  690. pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +1773 -0
  691. pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +4541 -0
  692. pygeai/tests/snippets/lab/use_cases/update_web_designer.py +188 -0
  693. pygeai/tests/snippets/lab/use_cases/update_web_reader.py +195 -0
  694. pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +210 -0
  695. pygeai/tests/snippets/migrate/__init__.py +45 -0
  696. pygeai/tests/snippets/migrate/agent_migration.py +110 -0
  697. pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
  698. pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
  699. pygeai/tests/snippets/migrate/process_migration.py +64 -0
  700. pygeai/tests/snippets/migrate/project_migration.py +42 -0
  701. pygeai/tests/snippets/migrate/tool_migration.py +64 -0
  702. pygeai/tests/snippets/organization/__init__.py +0 -0
  703. pygeai/tests/snippets/organization/add_project_member.py +10 -0
  704. pygeai/tests/snippets/organization/add_project_member_batch.py +44 -0
  705. pygeai/tests/snippets/organization/create_project.py +23 -0
  706. pygeai/tests/snippets/organization/delete_project.py +7 -0
  707. pygeai/tests/snippets/organization/export_request_data.py +7 -0
  708. pygeai/tests/snippets/organization/get_memberships.py +12 -0
  709. pygeai/tests/snippets/organization/get_organization_members.py +6 -0
  710. pygeai/tests/snippets/organization/get_project_data.py +7 -0
  711. pygeai/tests/snippets/organization/get_project_list.py +8 -0
  712. pygeai/tests/snippets/organization/get_project_members.py +6 -0
  713. pygeai/tests/snippets/organization/get_project_memberships.py +12 -0
  714. pygeai/tests/snippets/organization/get_project_roles.py +6 -0
  715. pygeai/tests/snippets/organization/get_project_tokens.py +7 -0
  716. pygeai/tests/snippets/organization/update_project.py +14 -0
  717. pygeai/tests/snippets/rerank/__init__.py +0 -0
  718. pygeai/tests/snippets/rerank/rerank_chunks.py +19 -0
  719. pygeai/tests/snippets/secrets/__init__.py +0 -0
  720. pygeai/tests/snippets/usage_limit/__init__.py +0 -0
  721. pygeai/tests/snippets/usage_limit/delete_usage_limit.py +16 -0
  722. pygeai/tests/snippets/usage_limit/get_all_usage_limit_from_organization.py +12 -0
  723. pygeai/tests/snippets/usage_limit/get_usage_limit_from_organization.py +11 -0
  724. pygeai/tests/snippets/usage_limit/get_usage_limit_from_project.py +13 -0
  725. pygeai/tests/snippets/usage_limit/set_usage_limit_organization.py +22 -0
  726. pygeai/tests/snippets/usage_limit/set_usage_limit_project.py +23 -0
  727. pygeai/tests/snippets/usage_limit/update_usage_limit_organization.py +23 -0
  728. pygeai/tests/snippets/usage_limit/update_usage_limit_project.py +24 -0
  729. pygeai/vendor/a2a/__init__.py +1 -0
  730. pygeai/vendor/a2a/auth/__init__.py +0 -0
  731. pygeai/vendor/a2a/auth/user.py +31 -0
  732. pygeai/vendor/a2a/client/__init__.py +19 -0
  733. pygeai/vendor/a2a/client/client.py +425 -0
  734. pygeai/vendor/a2a/client/errors.py +33 -0
  735. pygeai/vendor/a2a/client/helpers.py +22 -0
  736. pygeai/vendor/a2a/py.typed +0 -0
  737. pygeai/vendor/a2a/server/__init__.py +1 -0
  738. pygeai/vendor/a2a/server/agent_execution/__init__.py +18 -0
  739. pygeai/vendor/a2a/server/agent_execution/agent_executor.py +44 -0
  740. pygeai/vendor/a2a/server/agent_execution/context.py +155 -0
  741. pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +20 -0
  742. pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +77 -0
  743. pygeai/vendor/a2a/server/apps/__init__.py +16 -0
  744. pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +16 -0
  745. pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +88 -0
  746. pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +426 -0
  747. pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +123 -0
  748. pygeai/vendor/a2a/server/context.py +23 -0
  749. pygeai/vendor/a2a/server/events/__init__.py +21 -0
  750. pygeai/vendor/a2a/server/events/event_consumer.py +149 -0
  751. pygeai/vendor/a2a/server/events/event_queue.py +156 -0
  752. pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +85 -0
  753. pygeai/vendor/a2a/server/events/queue_manager.py +35 -0
  754. pygeai/vendor/a2a/server/request_handlers/__init__.py +20 -0
  755. pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +435 -0
  756. pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +327 -0
  757. pygeai/vendor/a2a/server/request_handlers/request_handler.py +161 -0
  758. pygeai/vendor/a2a/server/request_handlers/response_helpers.py +133 -0
  759. pygeai/vendor/a2a/server/tasks/__init__.py +20 -0
  760. pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +62 -0
  761. pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +51 -0
  762. pygeai/vendor/a2a/server/tasks/push_notifier.py +25 -0
  763. pygeai/vendor/a2a/server/tasks/result_aggregator.py +151 -0
  764. pygeai/vendor/a2a/server/tasks/task_manager.py +253 -0
  765. pygeai/vendor/a2a/server/tasks/task_store.py +22 -0
  766. pygeai/vendor/a2a/server/tasks/task_updater.py +155 -0
  767. pygeai/vendor/a2a/types.py +1624 -0
  768. pygeai/vendor/a2a/utils/__init__.py +40 -0
  769. pygeai/vendor/a2a/utils/artifact.py +72 -0
  770. pygeai/vendor/a2a/utils/errors.py +69 -0
  771. pygeai/vendor/a2a/utils/helpers.py +176 -0
  772. pygeai/vendor/a2a/utils/message.py +83 -0
  773. pygeai/vendor/a2a/utils/task.py +57 -0
  774. pygeai/vendor/a2a/utils/telemetry.py +299 -0
  775. pygeai-0.6.0b15.dist-info/METADATA +205 -0
  776. pygeai-0.6.0b15.dist-info/RECORD +799 -0
  777. {pygeai-0.1.6.dist-info → pygeai-0.6.0b15.dist-info}/WHEEL +1 -1
  778. pygeai-0.6.0b15.dist-info/entry_points.txt +5 -0
  779. {pygeai-0.1.6.dist-info → pygeai-0.6.0b15.dist-info/licenses}/LICENSE +13 -1
  780. {pygeai-0.1.6.dist-info → pygeai-0.6.0b15.dist-info}/top_level.txt +0 -1
  781. docs/source/conf.py +0 -45
  782. pygeai/core/clients.py +0 -240
  783. pygeai/tests/core/test_clients.py +0 -49
  784. pygeai-0.1.6.dist-info/METADATA +0 -92
  785. pygeai-0.1.6.dist-info/RECORD +0 -65
  786. pygeai-0.1.6.dist-info/SOURCES.sync-conflict-20241223-145950-3QD4F42.txt +0 -41
  787. pygeai-0.1.6.dist-info/entry_points.txt +0 -2
  788. /pygeai/{agent → analytics}/__init__.py +0 -0
pygeai/flows/models.py ADDED
@@ -0,0 +1,1304 @@
1
+ from enum import Enum
2
+
3
+ from typing import Dict, Any, Literal
4
+ from pydantic import BaseModel, Field
5
+ from typing import List, Optional
6
+
7
+
8
+ class ActiveDataPoint(BaseModel):
9
+ date_time: int
10
+ value: int
11
+
12
+
13
+ class ActiveMetric(BaseModel):
14
+ message_description_key: str
15
+ message_title_key: str
16
+ metric_data: List[ActiveDataPoint]
17
+ metric_description: str
18
+ metric_name: str
19
+
20
+
21
+ class AgentWebhook(BaseModel):
22
+ description: str
23
+ headers: Dict[str, str]
24
+ id: str
25
+ url: str
26
+
27
+
28
+ class Aggregate(BaseModel):
29
+ schedule_interval: int
30
+
31
+
32
+ class AnalyticsChatbotRequest(BaseModel):
33
+ entities: Dict[str, str]
34
+ entities_text: str
35
+ event: str
36
+ intent: str
37
+ query: str
38
+ request_id: str
39
+ selected: bool
40
+
41
+
42
+ class GeoLocation(BaseModel):
43
+ latitude: float
44
+ longitude: float
45
+
46
+
47
+ class UserInfo(BaseModel):
48
+ avatar: Optional[str]
49
+ country: Optional[str]
50
+ email: Optional[str]
51
+ first_name: Optional[str]
52
+ last_name: Optional[str]
53
+ phone_number: Optional[str]
54
+ username: Optional[str]
55
+
56
+
57
+ class AnalyticsEvent(BaseModel):
58
+ action: str
59
+ category: str
60
+ chat_bot_id: str
61
+ client_id: str
62
+ conversation_id: str
63
+ flow: str
64
+ label: str
65
+ request: 'ChatbotRequest'
66
+ request_id: str
67
+ response: 'ChatbotResponse'
68
+ timestamp: Optional[str]
69
+ user_info: Optional[UserInfo]
70
+
71
+
72
+ class ApiError(BaseModel):
73
+ args: Dict[str, str]
74
+ code: str
75
+ message: str
76
+ message_key: str
77
+
78
+
79
+ class ApiKey(BaseModel):
80
+ host: str
81
+ key: str
82
+ key_name: str
83
+ type: str
84
+
85
+
86
+ class AverageSentMessageMetrics(BaseModel):
87
+ message_description_key: str
88
+ message_title_key: str
89
+ metric_description: str
90
+ metric_name: str
91
+ sent_messages: float
92
+
93
+
94
+ class B2ChatConfig(BaseModel):
95
+ endpoint: str
96
+ id: str
97
+ integration_enabled: bool
98
+ password: str
99
+ username: str
100
+ webhook: str
101
+
102
+
103
+ class BatchFAQResult(BaseModel):
104
+ failed: bool
105
+ id: str
106
+ message: str
107
+
108
+
109
+ class BatchFAQResponse(BaseModel):
110
+ results: List[BatchFAQResult]
111
+
112
+
113
+ class BillingConfiguration(BaseModel):
114
+ bot_id: str
115
+ bundle_session_price: float
116
+ end_period: str
117
+ extra_session_price: float
118
+ id: str
119
+ max_conversation_duration_per_session: int
120
+ max_conversations_per_session: int
121
+ open_billing: bool
122
+ sessions_bundle: int
123
+ start_period: str
124
+
125
+
126
+ class BillingRequest(BaseModel):
127
+ end_period: str
128
+ organization_id: str
129
+ start_period: str
130
+
131
+
132
+ class BotDetail(BaseModel):
133
+ id: str
134
+ name: str
135
+ status: str
136
+
137
+
138
+ class BotBillDetail(BaseModel):
139
+ bot: BotDetail
140
+ free_sessions: int
141
+ total_sessions: int
142
+
143
+
144
+ class BotSnapshot(BaseModel):
145
+ auto: bool
146
+ bot_full_configuration: Dict[str, Any]
147
+ description: str
148
+ id: str
149
+ name: str
150
+ snapshot_date: str
151
+ username: str
152
+
153
+
154
+ class Boundaries(BaseModel):
155
+ height: float
156
+ width: float
157
+
158
+
159
+ class BillingRuleName(str, Enum):
160
+ BY_DURATION = "BY_DURATION"
161
+ BY_MESSAGES = "BY_MESSAGES"
162
+ BILLABLE_FIRST_3_BY_DAY = "BILLABLE_FIRST_3_BY_DAY"
163
+
164
+
165
+ class ByDurationRule(BaseModel):
166
+ description: str
167
+ duration_minutes: int
168
+ enabled: bool
169
+ name: BillingRuleName
170
+
171
+
172
+ class ByFirstThreeBillableRule(BaseModel):
173
+ description: str
174
+ enabled: bool
175
+ name: BillingRuleName
176
+
177
+
178
+ class ByMessagesRule(BaseModel):
179
+ description: str
180
+ enabled: bool
181
+ messages_limit: int
182
+ name: BillingRuleName
183
+
184
+
185
+ class Chain(BaseModel):
186
+ type: str
187
+
188
+
189
+ class ChatbotRequest(BaseModel):
190
+ channel: str
191
+ channel_id: str
192
+ client_id: str
193
+ context_extra_data: Dict[str, Any] = {}
194
+ entities: Dict[str, Any] = {}
195
+ event: str
196
+ geo_location: Optional[GeoLocation]
197
+ language: Optional[str]
198
+ locale: Optional[str]
199
+ platform: Optional[str]
200
+ query: str
201
+ request_extra_data: Dict[str, Any] = {}
202
+ request_id: str
203
+ session_id: str
204
+ timestamp: Optional[str]
205
+ user_info: Optional[UserInfo]
206
+
207
+
208
+ class ChatbotResponse(BaseModel):
209
+ chatbot_request: ChatbotRequest
210
+ chatbot_responses_history: List[Any] = []
211
+ disable_text_interaction: bool
212
+ extra_data: Dict[str, Any] = {}
213
+ file_support_enabled: bool
214
+ responses: List[Any] = []
215
+ timestamp: str
216
+ user_info: Optional[UserInfo]
217
+
218
+
219
+ class Chunks(BaseModel):
220
+ chunk_overlap: int
221
+ chunk_size: int
222
+
223
+
224
+ class CommonEntity(BaseModel):
225
+ id: str
226
+ set: str
227
+ text: str
228
+
229
+
230
+ class CompletedFlowData(BaseModel):
231
+ completed_flow_count: int
232
+ total_flow_count: int
233
+
234
+
235
+ class CompletedFlowMetric(BaseModel):
236
+ message_description_key: str
237
+ message_title_key: str
238
+ metric_data: CompletedFlowData
239
+ metric_description: str
240
+ metric_name: str
241
+
242
+
243
+ class Content(BaseModel):
244
+ text: str
245
+
246
+
247
+ class Context(BaseModel):
248
+ channel: str
249
+ channel_id: str
250
+ check_serializable: bool
251
+ context_values: Dict[str, Any] = {}
252
+ conversation_id: str
253
+ expired: bool
254
+ extra_data: Dict[str, Any] = {}
255
+ flow: str
256
+ force_prompt: bool
257
+ locale: str
258
+ platform: str
259
+ session_id: str
260
+ user_info: Optional[UserInfo]
261
+
262
+
263
+ class ContextSettings(BaseModel):
264
+ auto_snapshot_max_count: int
265
+ auto_snapshot_on_flow_updates_enabled: bool
266
+ check_serializable: bool
267
+ file_support_enabled: bool
268
+ file_support_force_references: bool
269
+ max_inactivity_time: int
270
+ max_response_history: int
271
+ revision_enabled: bool
272
+ show_logs: bool
273
+ store_entities_on_context: bool
274
+ store_user_info_on_context: bool
275
+ upload_max_file_count: int
276
+ upload_max_file_size: int
277
+ use_locale_from_request: bool
278
+
279
+
280
+ class ContextValue(BaseModel):
281
+ global_: bool = Field(..., alias='global')
282
+ lifespan: int
283
+ time: int
284
+ value: Any
285
+
286
+
287
+ class ContextVariable(BaseModel):
288
+ description: str
289
+ example: str
290
+ id: str
291
+ is_constant: bool
292
+ is_protected: bool
293
+ label: str
294
+ type: str
295
+ value: Any
296
+
297
+
298
+ class CreateApiKeyRequest(BaseModel):
299
+ key_name: str
300
+ host: str
301
+ type: str
302
+
303
+
304
+ class CustomResolver(BaseModel):
305
+ resolver: str
306
+ entities: Dict[str, Any] = {}
307
+
308
+
309
+ class DataPageBotSnapshot(BaseModel):
310
+ content: List[Any] = []
311
+ has_more: bool
312
+ page: int
313
+ size: int
314
+ total: int
315
+
316
+
317
+ class DataPageLOVRecord(BaseModel):
318
+ content: List[Any] = []
319
+ has_more: bool
320
+ page: int
321
+ size: int
322
+ total: int
323
+
324
+
325
+ class DataPageMapStringObject(BaseModel):
326
+ content: List[Any] = []
327
+ has_more: bool
328
+ page: int
329
+ size: int
330
+ total: int
331
+
332
+
333
+ class DataPagePNDataSource(BaseModel):
334
+ content: List[Any] = []
335
+ has_more: bool
336
+ page: int
337
+ size: int
338
+ total: int
339
+
340
+
341
+ class DataPagePushNotification(BaseModel):
342
+ content: List[Any] = []
343
+ has_more: bool
344
+ page: int
345
+ size: int
346
+ total: int
347
+
348
+
349
+ class DemoSettings(BaseModel):
350
+ background: str
351
+ show_branding: bool
352
+ show_description: bool
353
+ show_logs: bool
354
+ style: str
355
+
356
+
357
+ class Embeddings(BaseModel):
358
+ model_name: str
359
+ provider: str
360
+
361
+
362
+ class EngagedData(BaseModel):
363
+ active_user_count: int
364
+ engaged_user_count: int
365
+
366
+
367
+ class EngagedMetric(BaseModel):
368
+ message_description_key: str
369
+ message_title_key: str
370
+ metric_data: EngagedData
371
+ metric_description: str
372
+ metric_name: str
373
+
374
+
375
+ class Entity(BaseModel):
376
+ data_details: List[Any]
377
+ data_status: str
378
+ editor: UserInfo
379
+ entity_type: str
380
+ id: str
381
+ locale: str
382
+ message_keys: Dict[str, Any]
383
+ name: str
384
+ values: List[Any]
385
+
386
+
387
+ class EntityMetadata(BaseModel):
388
+ count_of_invalid_entities: int
389
+ end_index: int
390
+ entity: str
391
+ group: str
392
+ role: str
393
+ start_index: int
394
+ value: str
395
+
396
+
397
+ class EntityValue(BaseModel):
398
+ duplicated: bool
399
+ duplicated_synonyms: List[str]
400
+ synonyms: List[str]
401
+ value: str
402
+
403
+
404
+ class EventData(BaseModel):
405
+ action: str
406
+ category: str
407
+ event_count: int
408
+ label: str
409
+ percentage: int
410
+
411
+
412
+ class EventMetric(BaseModel):
413
+ message_description_key: str
414
+ message_title_key: str
415
+ metric_column_descriptions: Dict[str, Any]
416
+ metric_data: List[EventData]
417
+ metric_description: str
418
+ metric_name: str
419
+
420
+
421
+ class ExtractedFAQ(BaseModel):
422
+ answer: str
423
+ question: str
424
+
425
+
426
+ class FallbackData(BaseModel):
427
+ count: int
428
+ id: int
429
+ intent: str
430
+ last_occurrence: int
431
+ query: str
432
+ resolved_with: str
433
+ ticket_status: str
434
+ updated_on: int
435
+
436
+
437
+ class FallbackFaq(BaseModel):
438
+ answer: str
439
+ editor: UserInfo
440
+ id: str
441
+ intent: str
442
+ queries: List[str]
443
+ questions: List[str]
444
+ set: str
445
+ update: bool
446
+
447
+
448
+ class FallbackIntent(BaseModel):
449
+ data_details: List[Any]
450
+ data_status: str
451
+ description: str
452
+ duplicated: bool
453
+ editor: UserInfo
454
+ flow_id: str
455
+ friendly_name: str
456
+ id: str
457
+ locale: str
458
+ message_keys: Dict[str, Any]
459
+ metadata: 'IntentMetadata'
460
+ model: str
461
+ name: str
462
+ personality: bool
463
+ queries: List[str]
464
+ training_phrases: List[str]
465
+
466
+
467
+ class FallbackQuery(BaseModel):
468
+ queries: List[str]
469
+
470
+
471
+ class Faq(BaseModel):
472
+ answer: str
473
+ editor: UserInfo
474
+ id: str
475
+ questions: List[str]
476
+ set: str
477
+ update: bool
478
+
479
+
480
+ class File(BaseModel):
481
+ absolute: bool
482
+ absolute_file: 'File'
483
+ absolute_path: str
484
+ canonical_file: 'File'
485
+ canonical_path: str
486
+ directory: bool
487
+ executable: bool
488
+ file: bool
489
+ free_space: int
490
+ hidden: bool
491
+ last_modified: int
492
+ name: str
493
+ parent: str
494
+ parent_file: 'File'
495
+ path: str
496
+ readable: bool
497
+ total_space: int
498
+ usable_space: int
499
+ writable: bool
500
+
501
+
502
+ class FileAttachment(BaseModel):
503
+ external_url: str
504
+ file_name: str
505
+ id: str
506
+ mime_type: str
507
+ page_number: int
508
+ url: str
509
+
510
+
511
+ class FingerPrintDto(BaseModel):
512
+ trained_at: float
513
+ version: str
514
+
515
+
516
+ class FluentLabDescriptor(BaseModel):
517
+ allows_multi: bool
518
+ app_description: str
519
+ app_name: str
520
+ app_version: str
521
+ icon_path: str
522
+ id: str
523
+ settings_schema: Dict[str, Any]
524
+ svg_content: str
525
+ type: str
526
+
527
+
528
+ class Folder(BaseModel):
529
+ id: str
530
+ name: str
531
+
532
+
533
+ class FolderDto(BaseModel):
534
+ id: str
535
+ name: str
536
+
537
+
538
+ class Fork(BaseModel):
539
+ content: Dict[str, Any]
540
+ flow: str
541
+ intent: 'Intent'
542
+ resolver_name: str
543
+
544
+
545
+ class Fulfillment(BaseModel):
546
+ name: str
547
+ not_handled: bool
548
+ prompt: bool
549
+ prompting_context: List[str]
550
+ results: Dict[str, Any]
551
+ tool_call: bool
552
+
553
+
554
+ class FunnelMetric(BaseModel):
555
+ children: List[Any]
556
+ conversation_end_count: int
557
+ conversation_end_percentage: float
558
+ count: int
559
+ entities_text: str
560
+ fallback: bool
561
+ flow: str
562
+ intent: str
563
+ percentage: float
564
+ type: str
565
+
566
+
567
+ class IndexOptions(BaseModel):
568
+ chunks: Chunks
569
+
570
+
571
+ class Integration(BaseModel):
572
+ category: str
573
+ enabled: bool
574
+ id: str
575
+ settings: Dict[str, Any]
576
+ type: str
577
+
578
+
579
+ class IntentMetadata(BaseModel):
580
+ count_of_duplicate_intent: Dict[str, int]
581
+ count_of_invalid_intents: Dict[str, int]
582
+ local_entities: List[str]
583
+
584
+
585
+ class Intent(BaseModel):
586
+ data_details: List[str]
587
+ data_status: str
588
+ description: str
589
+ duplicated: bool
590
+ editor: UserInfo
591
+ flow_id: str
592
+ friendly_name: str
593
+ id: str
594
+ locale: str
595
+ message_keys: Dict[str, List[Any]]
596
+ metadata: IntentMetadata
597
+ model: str
598
+ name: str
599
+ personality: bool
600
+ training_phrases: List[str]
601
+ data_messages_keys: Dict[str, Any]
602
+
603
+
604
+ class IntentDetectorConfig(BaseModel):
605
+ enabled: bool
606
+ fallback_intent: str
607
+ name: str
608
+ priority: int
609
+ props: Dict[str, Any]
610
+ type: str
611
+
612
+
613
+ class IntentDto(BaseModel):
614
+ intents: List[Intent]
615
+ metadata: IntentMetadata
616
+
617
+
618
+ class InteractionsMetric(BaseModel):
619
+ intents: List[Any]
620
+ message_description_key: str
621
+ message_title_key: str
622
+ metric_description: str
623
+ metric_name: str
624
+
625
+
626
+ class LLMManagerRequest(BaseModel):
627
+ model: str
628
+ text: str
629
+ vendor: str
630
+
631
+
632
+ class LOVRecord(BaseModel):
633
+ description: str
634
+ id: str
635
+
636
+
637
+ class Label(BaseModel):
638
+ id: str
639
+ key: str
640
+ locale: str
641
+ text: str
642
+
643
+
644
+ class LabelDto(BaseModel):
645
+ key: str
646
+ locale: str
647
+ value: str
648
+
649
+
650
+ class LangflowFlow(BaseModel):
651
+ data: Dict[str, Any]
652
+ description: str
653
+ id: str
654
+ name: str
655
+ validation: Dict[str, Any]
656
+
657
+
658
+ class LlamaIndexDocument(BaseModel):
659
+ exists_in_file_storage: bool
660
+ file_name: str
661
+ id: str
662
+ tags: List[str]
663
+ text: str
664
+ updated: str
665
+ url: str
666
+ exits_in_file_storage: bool
667
+
668
+
669
+ class LLM(BaseModel):
670
+ cache: bool
671
+ frequency_penalty: int
672
+ max_tokens: int
673
+ model_name: str
674
+ n: int
675
+ presence_penalty: int
676
+ provider: str
677
+ stream: bool
678
+ temperature: int
679
+ top_p: int
680
+ verbose: bool
681
+
682
+
683
+ class MessageInfo(BaseModel):
684
+ count: int
685
+ intent_label: str
686
+
687
+
688
+ class MessageMetrics(BaseModel):
689
+ intents: List[Any]
690
+ message_description_key: str
691
+ message_title_key: str
692
+ metric_description: str
693
+ metric_name: str
694
+
695
+
696
+ class Metadata(BaseModel):
697
+ boundaries: Boundaries
698
+ bounget_boundaries: Boundaries
699
+ gotos: List[Any]
700
+
701
+
702
+ class Metadatum(BaseModel):
703
+ key: str
704
+ type: str
705
+ value: str
706
+
707
+
708
+ class Model(BaseModel):
709
+ id: str
710
+ locale: str
711
+
712
+
713
+ class ModelConfig(BaseModel):
714
+ model: str
715
+ threshold: float
716
+
717
+
718
+ class MostUsedFlowData(BaseModel):
719
+ complete_flow_count: int
720
+ flow: str
721
+ incomplete_flow_count: int
722
+ label: str
723
+ last_occurrence: int
724
+ total_interactions: int
725
+
726
+
727
+ class MostUsedFlowMetric(BaseModel):
728
+ message_description_key: str
729
+ message_title_key: str
730
+ metric_data: List[MostUsedFlowData]
731
+ metric_description: str
732
+ metric_name: str
733
+
734
+
735
+ class MostUsedIntentData(BaseModel):
736
+ intent: str
737
+ last_occurrence: int
738
+ queries: int
739
+ total_matches: int
740
+
741
+
742
+ class MostUsedIntentMetrics(BaseModel):
743
+ message_description_key: str
744
+ message_title_key: str
745
+ metric_data: List[MostUsedIntentData]
746
+ metric_description: str
747
+ metric_name: str
748
+
749
+
750
+ class NLUPipeline(BaseModel):
751
+ fallback_intent: str
752
+ id: str
753
+ intent_detectors: List[Any]
754
+ nlupipeline_configuration_defined: bool
755
+
756
+
757
+ class NLUPipelineContext(BaseModel):
758
+ intents_by_intent_detector: Dict[str, Any]
759
+ intents_by_priority_group: Dict[str, Any]
760
+ last_executed_priority_group: int
761
+ optimal_intents_by_priority_group: Dict[str, Any]
762
+
763
+
764
+ class NewEngagedData(BaseModel):
765
+ new_engaged_user_count: int
766
+ new_user_count: int
767
+
768
+
769
+ class NewEngagedMetric(BaseModel):
770
+ message_description_key: str
771
+ message_title_key: str
772
+ metric_data: NewEngagedData
773
+ metric_description: str
774
+ metric_name: str
775
+
776
+
777
+ class NewUserData(BaseModel):
778
+ active_user_count: int
779
+ new_user_count: int
780
+
781
+
782
+ class NewUserMetric(BaseModel):
783
+ message_description_key: str
784
+ message_title_key: str
785
+ metric_data: NewUserData
786
+ metric_description: str
787
+ metric_name: str
788
+
789
+
790
+ class Organization(BaseModel):
791
+ id: str
792
+ name: str
793
+
794
+
795
+ class OrganizationBill(BaseModel):
796
+ bill_date: str
797
+ billing_configuration: BillingConfiguration
798
+ bots: List[Any]
799
+ extra_sessions: int
800
+ free_sessions: int
801
+ id: str
802
+ organization: Organization
803
+ total_extra_sessions_cost: float
804
+ total_sessions: int
805
+ total_sessions_cost: float
806
+
807
+
808
+ class PNDataSource(BaseModel):
809
+ id: str
810
+ uri: str
811
+ name: str
812
+ description: Optional[str]
813
+ token: str
814
+ schema: Optional[str]
815
+ type: str # Enum: [ API, FILE ]
816
+ enabled: bool
817
+ verified: bool
818
+
819
+
820
+ class PNStatistics(BaseModel):
821
+ answered: int
822
+ delivered: int
823
+ errors: int
824
+ ignored: int
825
+ recipients: int
826
+ sent: int
827
+
828
+
829
+ class Sort(BaseModel):
830
+ empty: bool
831
+ sorted: bool
832
+ unsorted: bool
833
+
834
+
835
+ class Pageable(BaseModel):
836
+ offset: int
837
+ page_number: int
838
+ page_size: int
839
+ paged: bool
840
+ sort: Sort
841
+ unpaged: bool
842
+
843
+
844
+ class Page(BaseModel):
845
+ content: List[dict]
846
+ empty: bool
847
+ first: bool
848
+ last: bool
849
+ number: int
850
+ number_of_elements: int
851
+ pageable: Pageable
852
+ size: int
853
+ sort: Sort
854
+ total_elements: int
855
+ total_pages: int
856
+
857
+
858
+ class ParameterPrompt(BaseModel):
859
+ force_prompt: bool
860
+ parameter: str
861
+ resolver: str
862
+ results: dict
863
+
864
+
865
+ class Personality(BaseModel):
866
+ answers: List[str]
867
+ data_details: List[str]
868
+ data_status: str # Enum Array [ 2 ]
869
+ description: str
870
+ editor: UserInfo
871
+ flow_id: str
872
+ friendly_name: str
873
+ intent_name: str
874
+ locale: str
875
+ message_keys: dict
876
+ model: str
877
+ phrases: List[str]
878
+
879
+
880
+ class PersonalityMetadata(BaseModel):
881
+ count_of_invalid_personalities: int
882
+
883
+
884
+ class PersonalityDto(BaseModel):
885
+ metadata: PersonalityMetadata
886
+ personalities: Page
887
+
888
+
889
+ class PipelineResolverDto(BaseModel):
890
+ name: str
891
+ set: str
892
+ locale: str
893
+ resolver_configs: List[dict]
894
+
895
+
896
+ class Plugin(BaseModel):
897
+ max_token_send_limit: str
898
+ model_id: str
899
+ model_name: str
900
+ plugin_description: str
901
+ plugin_id: str
902
+ plugin_name: str
903
+ plugin_type: str
904
+ provider_name: str
905
+ streams: bool
906
+ supported_categories: str
907
+ supported_file_extensions: str
908
+ supports_multimodal: bool
909
+ temperature: float
910
+
911
+
912
+ class ProcessResult(BaseModel):
913
+ created: int
914
+ name: str
915
+ reference: dict
916
+ updated: int
917
+
918
+
919
+ class Profiling(BaseModel):
920
+ name: str
921
+ operator: str # Enum Array [ 8 ]
922
+ value: str
923
+
924
+
925
+ class Prompt(BaseModel):
926
+ model: str
927
+ prompt: str
928
+ system: str
929
+ temperature: float
930
+ vendor: str
931
+
932
+
933
+ class PromptInjectionDetectionSettings(BaseModel):
934
+ enabled_heuristic_detection: bool
935
+ enabled_model_detection: bool
936
+ heuristic_detection_threshold: float
937
+ max_length_prompt: int
938
+ model_detection_threshold: float
939
+
940
+
941
+ class PromptTemplate(BaseModel):
942
+ id: str
943
+ template: str
944
+
945
+
946
+ class PushNotificationStatus(str, Enum):
947
+ DRAFT = "Draft"
948
+ SETTLED = "Settled"
949
+ SENT = "Sent"
950
+ READY_TO_SEND = "ReadyToSend"
951
+ TEMPLATE_CHANGED = "TemplateChanged"
952
+ PREPARING_TO_SEND = "PreparingToSend"
953
+ SENDING = "Sending"
954
+ SCHEDULED = "Scheduled"
955
+ ERROR = "Error"
956
+
957
+
958
+ class PushNotification(BaseModel):
959
+ flow_name: str
960
+ id: str
961
+ name: str
962
+ description: str
963
+ channel: str
964
+ datasource: str
965
+ locale: str
966
+ status: PushNotificationStatus
967
+ created: str # ISO 8601 datetime
968
+ modified: str # ISO 8601 datetime
969
+ sent: Optional[str] # ISO 8601 datetime
970
+ template: str
971
+ notes: Dict[str, str]
972
+ event: str
973
+ recipientname: str
974
+ recipientnumber: str
975
+ recipients: int
976
+
977
+
978
+ class QueryInfo(BaseModel):
979
+ last_occurrence: int
980
+ query: str
981
+ total_matches: int
982
+
983
+
984
+ class QueryInfoMetrics(BaseModel):
985
+ intent: str
986
+ message_description_key: str
987
+ message_title_key: str
988
+ metric_data: List[QueryInfo]
989
+ metric_description: str
990
+ metric_name: str
991
+ queries: int
992
+ total_matches: int
993
+
994
+
995
+ class QuotasSettings(BaseModel):
996
+ active_sessions: int
997
+ session_queries_per_minute: int
998
+
999
+
1000
+ class Response(BaseModel):
1001
+ content: str
1002
+ extra_data: Dict[str, str]
1003
+ id: str
1004
+ locale: str
1005
+ name: str
1006
+ platform: str
1007
+ prompt: bool
1008
+ template: str
1009
+ type: Literal["TEXT", "SSML", "RICH_MESSAGE", "ASSISTANT_TOOL"]
1010
+
1011
+
1012
+ class RetentionRateData(BaseModel):
1013
+ retained_engaged_user_count: int
1014
+ total_engaged_user_count: int
1015
+
1016
+
1017
+ class RetentionRateMetric(BaseModel):
1018
+ message_description_key: str
1019
+ message_title_key: str
1020
+ metric_data: RetentionRateData
1021
+ metric_description: str
1022
+ metric_name: str
1023
+
1024
+
1025
+ class ModelStatus(BaseModel):
1026
+ approx_training_time: float
1027
+ entities_with_issues: bool
1028
+ id: str
1029
+ intent_with_issues: bool
1030
+ locale: str
1031
+ model: str
1032
+ model_file: str
1033
+ not_handled_error_list: List[str]
1034
+ personality_with_issues: bool
1035
+ status: Literal[
1036
+ "AWAITING_TRAINING", "TRAINED", "TRAINING", "ERROR_WHILE_TRAINING", "WITHOUT_MODEL", "UPLOADING_DATA"
1037
+ ]
1038
+ training_start: str
1039
+
1040
+
1041
+ class TrainingServerStatusDto(BaseModel):
1042
+ fingerprint: FingerPrintDto
1043
+ model_file: str
1044
+ num_active_training_jobs: int
1045
+ trained_at_training_server: bool
1046
+ training_progress: float
1047
+
1048
+
1049
+ class StatusResponseDto(BaseModel):
1050
+ model_status: ModelStatus
1051
+ server_status: TrainingServerStatusDto
1052
+
1053
+
1054
+ class Template(BaseModel):
1055
+ description: str
1056
+ dynamic_component: bool
1057
+ id: str
1058
+ key: str
1059
+ locale: str
1060
+ platform: str
1061
+ type: List[int]
1062
+ value: List[Any]
1063
+
1064
+
1065
+ class Timestamp(BaseModel):
1066
+ date: int
1067
+ day: int
1068
+ hours: int
1069
+ minutes: int
1070
+ month: int
1071
+ nanos: int
1072
+ seconds: int
1073
+ time: int
1074
+ timezone_offset: int
1075
+ year: int
1076
+
1077
+
1078
+ class TotalEventData(BaseModel):
1079
+ date_time: int
1080
+ value: int
1081
+
1082
+
1083
+ class TotalEventMetric(BaseModel):
1084
+ message_description_key: str
1085
+ message_title_key: str
1086
+ metric_data: List[TotalEventData]
1087
+ metric_description: str
1088
+ metric_name: str
1089
+
1090
+
1091
+ class TrainedModel(BaseModel):
1092
+ creation_time: str
1093
+ file_location: str
1094
+ id: str
1095
+ model_locale: str
1096
+ model_name: str
1097
+ user_info: UserInfo
1098
+
1099
+
1100
+ class TrainingDataConfig(BaseModel):
1101
+ config_name: str
1102
+ editor: UserInfo
1103
+ id: str
1104
+ language: str
1105
+ pipeline: List[Dict[str, Any]]
1106
+
1107
+
1108
+ class TrainingDataConfigDto(BaseModel):
1109
+ config_name: str
1110
+ id: str
1111
+ language: str
1112
+ pipeline: List[Dict[str, Any]]
1113
+
1114
+
1115
+ class Segment(BaseModel):
1116
+ entity_type: str
1117
+ group: str
1118
+ role: str
1119
+ text: str
1120
+
1121
+
1122
+ class TrainingPhrase(BaseModel):
1123
+ duplicated: bool
1124
+ segments: List[Segment]
1125
+ text: str
1126
+
1127
+
1128
+ class TrainingResultDto(BaseModel):
1129
+ entities_with_issues: bool
1130
+ intent_with_issues: bool
1131
+ locale: str
1132
+ model_name: str
1133
+ not_handled_error_keys_list: List[str]
1134
+ not_handled_error_list: List[str]
1135
+ personality_with_issues: bool
1136
+ successful_training: bool
1137
+
1138
+
1139
+ class AnalyticsTranscriptsResponse(BaseModel):
1140
+ content: str
1141
+ extra_data: Dict[str, Any]
1142
+ name: str
1143
+ prompt: bool
1144
+ template: str
1145
+ type: Literal["TEXT", "SSML", "RICH_MESSAGE", "ASSISTANT_TOOL"]
1146
+
1147
+
1148
+ class TranscriptData(BaseModel):
1149
+ logs: List[Any]
1150
+ request: AnalyticsChatbotRequest
1151
+ responses: List[AnalyticsTranscriptsResponse]
1152
+
1153
+
1154
+ class ConversationData(BaseModel):
1155
+ client_id: str
1156
+ conversation_id: str
1157
+ locale: str
1158
+ logs: List[str]
1159
+ platform: str
1160
+ query: str
1161
+ timestamp: int
1162
+ transcripts: List[TranscriptData]
1163
+ user_id: int
1164
+ user_info: UserInfo
1165
+ username: str
1166
+
1167
+
1168
+ class TranscriptMetric(BaseModel):
1169
+ conversations: List[ConversationData]
1170
+
1171
+
1172
+ class Transition(BaseModel):
1173
+ id: str
1174
+ condition: str
1175
+ next_state: str = Field(..., alias="next-state")
1176
+ next_flow: str = Field(..., alias="next-flow")
1177
+ event: str
1178
+ keywords: List[str]
1179
+ index: int
1180
+
1181
+
1182
+ class URI(BaseModel):
1183
+ absolute: bool
1184
+ authority: str
1185
+ fragment: str
1186
+ host: str
1187
+ opaque: bool
1188
+ path: str
1189
+ port: Optional[int]
1190
+ query: str
1191
+ raw_authority: str
1192
+ raw_fragment: str
1193
+ raw_path: str
1194
+ raw_query: str
1195
+ raw_scheme_specific_part: str
1196
+ raw_user_info: str
1197
+ scheme: str
1198
+ scheme_specific_part: str
1199
+ user_info: str
1200
+
1201
+
1202
+ class URL(BaseModel):
1203
+ authority: str
1204
+ content: Dict[str, Any]
1205
+ default_port: Optional[int]
1206
+ file: str
1207
+ host: str
1208
+ path: str
1209
+ port: Optional[int]
1210
+ protocol: str
1211
+ query: str
1212
+ ref: str
1213
+ user_info: str
1214
+
1215
+
1216
+ class UnansweredMessageMetrics(BaseModel):
1217
+ message_description_key: str
1218
+ message_title_key: str
1219
+ metric_description: str
1220
+ metric_name: str
1221
+ total_message: int
1222
+ unanswered_message: int
1223
+
1224
+
1225
+ class UpdateCommonEntityRequest(BaseModel):
1226
+ add_entities: List[CommonEntity]
1227
+ delete_entities: List[CommonEntity]
1228
+
1229
+
1230
+ class PageConversationData(BaseModel):
1231
+ content: List[ConversationData]
1232
+ empty: bool
1233
+ first: bool
1234
+ last: bool
1235
+ number: int
1236
+ number_of_elements: int
1237
+ pageable: Pageable
1238
+ size: int
1239
+ sort: Sort
1240
+ total_elements: int
1241
+ total_pages: int
1242
+
1243
+
1244
+ class UserConversation(BaseModel):
1245
+ conversations: PageConversationData
1246
+
1247
+
1248
+ class UserInformation(BaseModel):
1249
+ avatar: str
1250
+ client_id: str
1251
+ count: int
1252
+ country: str
1253
+ first_seen: int
1254
+ id: int
1255
+ last_seen: int
1256
+ username: str
1257
+
1258
+
1259
+ class ValidationFailure(BaseModel):
1260
+ id: str
1261
+ message: str
1262
+ validation_level: str # ENUM: [WARNING, ERROR]
1263
+
1264
+
1265
+ class Validator(BaseModel):
1266
+ entity: str
1267
+ entity_type: str = Field(..., alias="entity-type")
1268
+ intents: List[str]
1269
+ type: str
1270
+
1271
+
1272
+ class Variable(BaseModel):
1273
+ key: str
1274
+ value: str
1275
+
1276
+
1277
+ class Webhook(BaseModel):
1278
+ description: str
1279
+ headers: Dict[str, str]
1280
+ id: str
1281
+ url: str
1282
+
1283
+
1284
+ class WhatsappB2CConfig(BaseModel):
1285
+ client: str
1286
+ endpoint: str
1287
+ id: str
1288
+ integration_enabled: bool
1289
+ push_notification_allowed: bool
1290
+ secret: str
1291
+ security_endpoint: str
1292
+
1293
+
1294
+ class WhatsappConfig(BaseModel):
1295
+ appsecret: str
1296
+ endpoint: str
1297
+ id: str
1298
+ integration_enabled: bool
1299
+ jwt: str
1300
+ phone: str
1301
+ phoneid: str
1302
+ push_notification_allowed: bool
1303
+ verify: str
1304
+ wbai: str