ai-parrot 0.17.2__cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.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.
Files changed (535) hide show
  1. agentui/.prettierrc +15 -0
  2. agentui/QUICKSTART.md +272 -0
  3. agentui/README.md +59 -0
  4. agentui/env.example +16 -0
  5. agentui/jsconfig.json +14 -0
  6. agentui/package-lock.json +4242 -0
  7. agentui/package.json +34 -0
  8. agentui/scripts/postinstall/apply-patches.mjs +260 -0
  9. agentui/src/app.css +61 -0
  10. agentui/src/app.d.ts +13 -0
  11. agentui/src/app.html +12 -0
  12. agentui/src/components/LoadingSpinner.svelte +64 -0
  13. agentui/src/components/ThemeSwitcher.svelte +159 -0
  14. agentui/src/components/index.js +4 -0
  15. agentui/src/lib/api/bots.ts +60 -0
  16. agentui/src/lib/api/chat.ts +22 -0
  17. agentui/src/lib/api/http.ts +25 -0
  18. agentui/src/lib/components/BotCard.svelte +33 -0
  19. agentui/src/lib/components/ChatBubble.svelte +63 -0
  20. agentui/src/lib/components/Toast.svelte +21 -0
  21. agentui/src/lib/config.ts +20 -0
  22. agentui/src/lib/stores/auth.svelte.ts +73 -0
  23. agentui/src/lib/stores/theme.svelte.js +64 -0
  24. agentui/src/lib/stores/toast.svelte.ts +31 -0
  25. agentui/src/lib/utils/conversation.ts +39 -0
  26. agentui/src/routes/+layout.svelte +20 -0
  27. agentui/src/routes/+page.svelte +232 -0
  28. agentui/src/routes/login/+page.svelte +200 -0
  29. agentui/src/routes/talk/[agentId]/+page.svelte +297 -0
  30. agentui/src/routes/talk/[agentId]/+page.ts +7 -0
  31. agentui/static/README.md +1 -0
  32. agentui/svelte.config.js +11 -0
  33. agentui/tailwind.config.ts +53 -0
  34. agentui/tsconfig.json +3 -0
  35. agentui/vite.config.ts +10 -0
  36. ai_parrot-0.17.2.dist-info/METADATA +472 -0
  37. ai_parrot-0.17.2.dist-info/RECORD +535 -0
  38. ai_parrot-0.17.2.dist-info/WHEEL +6 -0
  39. ai_parrot-0.17.2.dist-info/entry_points.txt +2 -0
  40. ai_parrot-0.17.2.dist-info/licenses/LICENSE +21 -0
  41. ai_parrot-0.17.2.dist-info/top_level.txt +6 -0
  42. crew-builder/.prettierrc +15 -0
  43. crew-builder/QUICKSTART.md +259 -0
  44. crew-builder/README.md +113 -0
  45. crew-builder/env.example +17 -0
  46. crew-builder/jsconfig.json +14 -0
  47. crew-builder/package-lock.json +4182 -0
  48. crew-builder/package.json +37 -0
  49. crew-builder/scripts/postinstall/apply-patches.mjs +260 -0
  50. crew-builder/src/app.css +62 -0
  51. crew-builder/src/app.d.ts +13 -0
  52. crew-builder/src/app.html +12 -0
  53. crew-builder/src/components/LoadingSpinner.svelte +64 -0
  54. crew-builder/src/components/ThemeSwitcher.svelte +149 -0
  55. crew-builder/src/components/index.js +9 -0
  56. crew-builder/src/lib/api/bots.ts +60 -0
  57. crew-builder/src/lib/api/chat.ts +80 -0
  58. crew-builder/src/lib/api/client.ts +56 -0
  59. crew-builder/src/lib/api/crew/crew.ts +136 -0
  60. crew-builder/src/lib/api/index.ts +5 -0
  61. crew-builder/src/lib/api/o365/auth.ts +65 -0
  62. crew-builder/src/lib/auth/auth.ts +54 -0
  63. crew-builder/src/lib/components/AgentNode.svelte +43 -0
  64. crew-builder/src/lib/components/BotCard.svelte +33 -0
  65. crew-builder/src/lib/components/ChatBubble.svelte +67 -0
  66. crew-builder/src/lib/components/ConfigPanel.svelte +278 -0
  67. crew-builder/src/lib/components/JsonTreeNode.svelte +76 -0
  68. crew-builder/src/lib/components/JsonViewer.svelte +24 -0
  69. crew-builder/src/lib/components/MarkdownEditor.svelte +48 -0
  70. crew-builder/src/lib/components/ThemeToggle.svelte +36 -0
  71. crew-builder/src/lib/components/Toast.svelte +67 -0
  72. crew-builder/src/lib/components/Toolbar.svelte +157 -0
  73. crew-builder/src/lib/components/index.ts +10 -0
  74. crew-builder/src/lib/config.ts +8 -0
  75. crew-builder/src/lib/stores/auth.svelte.ts +228 -0
  76. crew-builder/src/lib/stores/crewStore.ts +369 -0
  77. crew-builder/src/lib/stores/theme.svelte.js +145 -0
  78. crew-builder/src/lib/stores/toast.svelte.ts +69 -0
  79. crew-builder/src/lib/utils/conversation.ts +39 -0
  80. crew-builder/src/lib/utils/markdown.ts +122 -0
  81. crew-builder/src/lib/utils/talkHistory.ts +47 -0
  82. crew-builder/src/routes/+layout.svelte +20 -0
  83. crew-builder/src/routes/+page.svelte +539 -0
  84. crew-builder/src/routes/agents/+page.svelte +247 -0
  85. crew-builder/src/routes/agents/[agentId]/+page.svelte +288 -0
  86. crew-builder/src/routes/agents/[agentId]/+page.ts +7 -0
  87. crew-builder/src/routes/builder/+page.svelte +204 -0
  88. crew-builder/src/routes/crew/ask/+page.svelte +1052 -0
  89. crew-builder/src/routes/crew/ask/+page.ts +1 -0
  90. crew-builder/src/routes/integrations/o365/+page.svelte +304 -0
  91. crew-builder/src/routes/login/+page.svelte +197 -0
  92. crew-builder/src/routes/talk/[agentId]/+page.svelte +487 -0
  93. crew-builder/src/routes/talk/[agentId]/+page.ts +7 -0
  94. crew-builder/static/README.md +1 -0
  95. crew-builder/svelte.config.js +11 -0
  96. crew-builder/tailwind.config.ts +53 -0
  97. crew-builder/tsconfig.json +3 -0
  98. crew-builder/vite.config.ts +10 -0
  99. mcp_servers/calculator_server.py +309 -0
  100. parrot/__init__.py +27 -0
  101. parrot/__pycache__/__init__.cpython-310.pyc +0 -0
  102. parrot/__pycache__/version.cpython-310.pyc +0 -0
  103. parrot/_version.py +34 -0
  104. parrot/a2a/__init__.py +48 -0
  105. parrot/a2a/client.py +658 -0
  106. parrot/a2a/discovery.py +89 -0
  107. parrot/a2a/mixin.py +257 -0
  108. parrot/a2a/models.py +376 -0
  109. parrot/a2a/server.py +770 -0
  110. parrot/agents/__init__.py +29 -0
  111. parrot/bots/__init__.py +12 -0
  112. parrot/bots/a2a_agent.py +19 -0
  113. parrot/bots/abstract.py +3139 -0
  114. parrot/bots/agent.py +1129 -0
  115. parrot/bots/basic.py +9 -0
  116. parrot/bots/chatbot.py +669 -0
  117. parrot/bots/data.py +1618 -0
  118. parrot/bots/database/__init__.py +5 -0
  119. parrot/bots/database/abstract.py +3071 -0
  120. parrot/bots/database/cache.py +286 -0
  121. parrot/bots/database/models.py +468 -0
  122. parrot/bots/database/prompts.py +154 -0
  123. parrot/bots/database/retries.py +98 -0
  124. parrot/bots/database/router.py +269 -0
  125. parrot/bots/database/sql.py +41 -0
  126. parrot/bots/db/__init__.py +6 -0
  127. parrot/bots/db/abstract.py +556 -0
  128. parrot/bots/db/bigquery.py +602 -0
  129. parrot/bots/db/cache.py +85 -0
  130. parrot/bots/db/documentdb.py +668 -0
  131. parrot/bots/db/elastic.py +1014 -0
  132. parrot/bots/db/influx.py +898 -0
  133. parrot/bots/db/mock.py +96 -0
  134. parrot/bots/db/multi.py +783 -0
  135. parrot/bots/db/prompts.py +185 -0
  136. parrot/bots/db/sql.py +1255 -0
  137. parrot/bots/db/tools.py +212 -0
  138. parrot/bots/document.py +680 -0
  139. parrot/bots/hrbot.py +15 -0
  140. parrot/bots/kb.py +170 -0
  141. parrot/bots/mcp.py +36 -0
  142. parrot/bots/orchestration/README.md +463 -0
  143. parrot/bots/orchestration/__init__.py +1 -0
  144. parrot/bots/orchestration/agent.py +155 -0
  145. parrot/bots/orchestration/crew.py +3330 -0
  146. parrot/bots/orchestration/fsm.py +1179 -0
  147. parrot/bots/orchestration/hr.py +434 -0
  148. parrot/bots/orchestration/storage/__init__.py +4 -0
  149. parrot/bots/orchestration/storage/memory.py +100 -0
  150. parrot/bots/orchestration/storage/mixin.py +119 -0
  151. parrot/bots/orchestration/verify.py +202 -0
  152. parrot/bots/product.py +204 -0
  153. parrot/bots/prompts/__init__.py +96 -0
  154. parrot/bots/prompts/agents.py +155 -0
  155. parrot/bots/prompts/data.py +216 -0
  156. parrot/bots/prompts/output_generation.py +8 -0
  157. parrot/bots/scraper/__init__.py +3 -0
  158. parrot/bots/scraper/models.py +122 -0
  159. parrot/bots/scraper/scraper.py +1173 -0
  160. parrot/bots/scraper/templates.py +115 -0
  161. parrot/bots/stores/__init__.py +5 -0
  162. parrot/bots/stores/local.py +172 -0
  163. parrot/bots/webdev.py +81 -0
  164. parrot/cli.py +17 -0
  165. parrot/clients/__init__.py +16 -0
  166. parrot/clients/base.py +1491 -0
  167. parrot/clients/claude.py +1191 -0
  168. parrot/clients/factory.py +129 -0
  169. parrot/clients/google.py +4567 -0
  170. parrot/clients/gpt.py +1975 -0
  171. parrot/clients/grok.py +432 -0
  172. parrot/clients/groq.py +986 -0
  173. parrot/clients/hf.py +582 -0
  174. parrot/clients/models.py +18 -0
  175. parrot/conf.py +395 -0
  176. parrot/embeddings/__init__.py +9 -0
  177. parrot/embeddings/base.py +157 -0
  178. parrot/embeddings/google.py +98 -0
  179. parrot/embeddings/huggingface.py +74 -0
  180. parrot/embeddings/openai.py +84 -0
  181. parrot/embeddings/processor.py +88 -0
  182. parrot/exceptions.c +13868 -0
  183. parrot/exceptions.cpython-310-x86_64-linux-gnu.so +0 -0
  184. parrot/exceptions.pxd +22 -0
  185. parrot/exceptions.pxi +15 -0
  186. parrot/exceptions.pyx +44 -0
  187. parrot/generators/__init__.py +29 -0
  188. parrot/generators/base.py +200 -0
  189. parrot/generators/html.py +293 -0
  190. parrot/generators/react.py +205 -0
  191. parrot/generators/streamlit.py +203 -0
  192. parrot/generators/template.py +105 -0
  193. parrot/handlers/__init__.py +4 -0
  194. parrot/handlers/agent.py +861 -0
  195. parrot/handlers/agents/__init__.py +1 -0
  196. parrot/handlers/agents/abstract.py +900 -0
  197. parrot/handlers/bots.py +338 -0
  198. parrot/handlers/chat.py +915 -0
  199. parrot/handlers/creation.sql +192 -0
  200. parrot/handlers/crew/ARCHITECTURE.md +362 -0
  201. parrot/handlers/crew/README_BOTMANAGER_PERSISTENCE.md +303 -0
  202. parrot/handlers/crew/README_REDIS_PERSISTENCE.md +366 -0
  203. parrot/handlers/crew/__init__.py +0 -0
  204. parrot/handlers/crew/handler.py +801 -0
  205. parrot/handlers/crew/models.py +229 -0
  206. parrot/handlers/crew/redis_persistence.py +523 -0
  207. parrot/handlers/jobs/__init__.py +10 -0
  208. parrot/handlers/jobs/job.py +384 -0
  209. parrot/handlers/jobs/mixin.py +627 -0
  210. parrot/handlers/jobs/models.py +115 -0
  211. parrot/handlers/jobs/worker.py +31 -0
  212. parrot/handlers/models.py +596 -0
  213. parrot/handlers/o365_auth.py +105 -0
  214. parrot/handlers/stream.py +337 -0
  215. parrot/interfaces/__init__.py +6 -0
  216. parrot/interfaces/aws.py +143 -0
  217. parrot/interfaces/credentials.py +113 -0
  218. parrot/interfaces/database.py +27 -0
  219. parrot/interfaces/google.py +1123 -0
  220. parrot/interfaces/hierarchy.py +1227 -0
  221. parrot/interfaces/http.py +651 -0
  222. parrot/interfaces/images/__init__.py +0 -0
  223. parrot/interfaces/images/plugins/__init__.py +24 -0
  224. parrot/interfaces/images/plugins/abstract.py +58 -0
  225. parrot/interfaces/images/plugins/analisys.py +148 -0
  226. parrot/interfaces/images/plugins/classify.py +150 -0
  227. parrot/interfaces/images/plugins/classifybase.py +182 -0
  228. parrot/interfaces/images/plugins/detect.py +150 -0
  229. parrot/interfaces/images/plugins/exif.py +1103 -0
  230. parrot/interfaces/images/plugins/hash.py +52 -0
  231. parrot/interfaces/images/plugins/vision.py +104 -0
  232. parrot/interfaces/images/plugins/yolo.py +66 -0
  233. parrot/interfaces/images/plugins/zerodetect.py +197 -0
  234. parrot/interfaces/o365.py +978 -0
  235. parrot/interfaces/onedrive.py +822 -0
  236. parrot/interfaces/sharepoint.py +1435 -0
  237. parrot/interfaces/soap.py +257 -0
  238. parrot/loaders/__init__.py +8 -0
  239. parrot/loaders/abstract.py +1131 -0
  240. parrot/loaders/audio.py +199 -0
  241. parrot/loaders/basepdf.py +53 -0
  242. parrot/loaders/basevideo.py +1568 -0
  243. parrot/loaders/csv.py +409 -0
  244. parrot/loaders/docx.py +116 -0
  245. parrot/loaders/epubloader.py +316 -0
  246. parrot/loaders/excel.py +199 -0
  247. parrot/loaders/factory.py +55 -0
  248. parrot/loaders/files/__init__.py +0 -0
  249. parrot/loaders/files/abstract.py +39 -0
  250. parrot/loaders/files/html.py +26 -0
  251. parrot/loaders/files/text.py +63 -0
  252. parrot/loaders/html.py +152 -0
  253. parrot/loaders/markdown.py +442 -0
  254. parrot/loaders/pdf.py +373 -0
  255. parrot/loaders/pdfmark.py +320 -0
  256. parrot/loaders/pdftables.py +506 -0
  257. parrot/loaders/ppt.py +476 -0
  258. parrot/loaders/qa.py +63 -0
  259. parrot/loaders/splitters/__init__.py +10 -0
  260. parrot/loaders/splitters/base.py +138 -0
  261. parrot/loaders/splitters/md.py +228 -0
  262. parrot/loaders/splitters/token.py +143 -0
  263. parrot/loaders/txt.py +26 -0
  264. parrot/loaders/video.py +89 -0
  265. parrot/loaders/videolocal.py +218 -0
  266. parrot/loaders/videounderstanding.py +377 -0
  267. parrot/loaders/vimeo.py +167 -0
  268. parrot/loaders/web.py +599 -0
  269. parrot/loaders/youtube.py +504 -0
  270. parrot/manager/__init__.py +5 -0
  271. parrot/manager/manager.py +1030 -0
  272. parrot/mcp/__init__.py +28 -0
  273. parrot/mcp/adapter.py +105 -0
  274. parrot/mcp/cli.py +174 -0
  275. parrot/mcp/client.py +119 -0
  276. parrot/mcp/config.py +75 -0
  277. parrot/mcp/integration.py +842 -0
  278. parrot/mcp/oauth.py +933 -0
  279. parrot/mcp/server.py +225 -0
  280. parrot/mcp/transports/__init__.py +3 -0
  281. parrot/mcp/transports/base.py +279 -0
  282. parrot/mcp/transports/grpc_session.py +163 -0
  283. parrot/mcp/transports/http.py +312 -0
  284. parrot/mcp/transports/mcp.proto +108 -0
  285. parrot/mcp/transports/quic.py +1082 -0
  286. parrot/mcp/transports/sse.py +330 -0
  287. parrot/mcp/transports/stdio.py +309 -0
  288. parrot/mcp/transports/unix.py +395 -0
  289. parrot/mcp/transports/websocket.py +547 -0
  290. parrot/memory/__init__.py +16 -0
  291. parrot/memory/abstract.py +209 -0
  292. parrot/memory/agent.py +32 -0
  293. parrot/memory/cache.py +175 -0
  294. parrot/memory/core.py +555 -0
  295. parrot/memory/file.py +153 -0
  296. parrot/memory/mem.py +131 -0
  297. parrot/memory/redis.py +613 -0
  298. parrot/models/__init__.py +46 -0
  299. parrot/models/basic.py +118 -0
  300. parrot/models/compliance.py +208 -0
  301. parrot/models/crew.py +395 -0
  302. parrot/models/detections.py +654 -0
  303. parrot/models/generation.py +85 -0
  304. parrot/models/google.py +223 -0
  305. parrot/models/groq.py +23 -0
  306. parrot/models/openai.py +30 -0
  307. parrot/models/outputs.py +285 -0
  308. parrot/models/responses.py +938 -0
  309. parrot/notifications/__init__.py +743 -0
  310. parrot/openapi/__init__.py +3 -0
  311. parrot/openapi/components.yaml +641 -0
  312. parrot/openapi/config.py +322 -0
  313. parrot/outputs/__init__.py +32 -0
  314. parrot/outputs/formats/__init__.py +108 -0
  315. parrot/outputs/formats/altair.py +359 -0
  316. parrot/outputs/formats/application.py +122 -0
  317. parrot/outputs/formats/base.py +351 -0
  318. parrot/outputs/formats/bokeh.py +356 -0
  319. parrot/outputs/formats/card.py +424 -0
  320. parrot/outputs/formats/chart.py +436 -0
  321. parrot/outputs/formats/d3.py +255 -0
  322. parrot/outputs/formats/echarts.py +310 -0
  323. parrot/outputs/formats/generators/__init__.py +0 -0
  324. parrot/outputs/formats/generators/abstract.py +61 -0
  325. parrot/outputs/formats/generators/panel.py +145 -0
  326. parrot/outputs/formats/generators/streamlit.py +86 -0
  327. parrot/outputs/formats/generators/terminal.py +63 -0
  328. parrot/outputs/formats/holoviews.py +310 -0
  329. parrot/outputs/formats/html.py +147 -0
  330. parrot/outputs/formats/jinja2.py +46 -0
  331. parrot/outputs/formats/json.py +87 -0
  332. parrot/outputs/formats/map.py +933 -0
  333. parrot/outputs/formats/markdown.py +172 -0
  334. parrot/outputs/formats/matplotlib.py +237 -0
  335. parrot/outputs/formats/mixins/__init__.py +0 -0
  336. parrot/outputs/formats/mixins/emaps.py +855 -0
  337. parrot/outputs/formats/plotly.py +341 -0
  338. parrot/outputs/formats/seaborn.py +310 -0
  339. parrot/outputs/formats/table.py +397 -0
  340. parrot/outputs/formats/template_report.py +138 -0
  341. parrot/outputs/formats/yaml.py +125 -0
  342. parrot/outputs/formatter.py +152 -0
  343. parrot/outputs/templates/__init__.py +95 -0
  344. parrot/pipelines/__init__.py +0 -0
  345. parrot/pipelines/abstract.py +210 -0
  346. parrot/pipelines/detector.py +124 -0
  347. parrot/pipelines/models.py +90 -0
  348. parrot/pipelines/planogram.py +3002 -0
  349. parrot/pipelines/table.sql +97 -0
  350. parrot/plugins/__init__.py +106 -0
  351. parrot/plugins/importer.py +80 -0
  352. parrot/py.typed +0 -0
  353. parrot/registry/__init__.py +18 -0
  354. parrot/registry/registry.py +594 -0
  355. parrot/scheduler/__init__.py +1189 -0
  356. parrot/scheduler/models.py +60 -0
  357. parrot/security/__init__.py +16 -0
  358. parrot/security/prompt_injection.py +268 -0
  359. parrot/security/security_events.sql +25 -0
  360. parrot/services/__init__.py +1 -0
  361. parrot/services/mcp/__init__.py +8 -0
  362. parrot/services/mcp/config.py +13 -0
  363. parrot/services/mcp/server.py +295 -0
  364. parrot/services/o365_remote_auth.py +235 -0
  365. parrot/stores/__init__.py +7 -0
  366. parrot/stores/abstract.py +352 -0
  367. parrot/stores/arango.py +1090 -0
  368. parrot/stores/bigquery.py +1377 -0
  369. parrot/stores/cache.py +106 -0
  370. parrot/stores/empty.py +10 -0
  371. parrot/stores/faiss_store.py +1157 -0
  372. parrot/stores/kb/__init__.py +9 -0
  373. parrot/stores/kb/abstract.py +68 -0
  374. parrot/stores/kb/cache.py +165 -0
  375. parrot/stores/kb/doc.py +325 -0
  376. parrot/stores/kb/hierarchy.py +346 -0
  377. parrot/stores/kb/local.py +457 -0
  378. parrot/stores/kb/prompt.py +28 -0
  379. parrot/stores/kb/redis.py +659 -0
  380. parrot/stores/kb/store.py +115 -0
  381. parrot/stores/kb/user.py +374 -0
  382. parrot/stores/models.py +59 -0
  383. parrot/stores/pgvector.py +3 -0
  384. parrot/stores/postgres.py +2853 -0
  385. parrot/stores/utils/__init__.py +0 -0
  386. parrot/stores/utils/chunking.py +197 -0
  387. parrot/telemetry/__init__.py +3 -0
  388. parrot/telemetry/mixin.py +111 -0
  389. parrot/template/__init__.py +3 -0
  390. parrot/template/engine.py +259 -0
  391. parrot/tools/__init__.py +23 -0
  392. parrot/tools/abstract.py +644 -0
  393. parrot/tools/agent.py +363 -0
  394. parrot/tools/arangodbsearch.py +537 -0
  395. parrot/tools/arxiv_tool.py +188 -0
  396. parrot/tools/calculator/__init__.py +3 -0
  397. parrot/tools/calculator/operations/__init__.py +38 -0
  398. parrot/tools/calculator/operations/calculus.py +80 -0
  399. parrot/tools/calculator/operations/statistics.py +76 -0
  400. parrot/tools/calculator/tool.py +150 -0
  401. parrot/tools/cloudwatch.py +988 -0
  402. parrot/tools/codeinterpreter/__init__.py +127 -0
  403. parrot/tools/codeinterpreter/executor.py +371 -0
  404. parrot/tools/codeinterpreter/internals.py +473 -0
  405. parrot/tools/codeinterpreter/models.py +643 -0
  406. parrot/tools/codeinterpreter/prompts.py +224 -0
  407. parrot/tools/codeinterpreter/tool.py +664 -0
  408. parrot/tools/company_info/__init__.py +6 -0
  409. parrot/tools/company_info/tool.py +1138 -0
  410. parrot/tools/correlationanalysis.py +437 -0
  411. parrot/tools/database/abstract.py +286 -0
  412. parrot/tools/database/bq.py +115 -0
  413. parrot/tools/database/cache.py +284 -0
  414. parrot/tools/database/models.py +95 -0
  415. parrot/tools/database/pg.py +343 -0
  416. parrot/tools/databasequery.py +1159 -0
  417. parrot/tools/db.py +1800 -0
  418. parrot/tools/ddgo.py +370 -0
  419. parrot/tools/decorators.py +271 -0
  420. parrot/tools/dftohtml.py +282 -0
  421. parrot/tools/document.py +549 -0
  422. parrot/tools/ecs.py +819 -0
  423. parrot/tools/edareport.py +368 -0
  424. parrot/tools/elasticsearch.py +1049 -0
  425. parrot/tools/employees.py +462 -0
  426. parrot/tools/epson/__init__.py +96 -0
  427. parrot/tools/excel.py +683 -0
  428. parrot/tools/file/__init__.py +13 -0
  429. parrot/tools/file/abstract.py +76 -0
  430. parrot/tools/file/gcs.py +378 -0
  431. parrot/tools/file/local.py +284 -0
  432. parrot/tools/file/s3.py +511 -0
  433. parrot/tools/file/tmp.py +309 -0
  434. parrot/tools/file/tool.py +501 -0
  435. parrot/tools/file_reader.py +129 -0
  436. parrot/tools/flowtask/__init__.py +19 -0
  437. parrot/tools/flowtask/tool.py +761 -0
  438. parrot/tools/gittoolkit.py +508 -0
  439. parrot/tools/google/__init__.py +18 -0
  440. parrot/tools/google/base.py +169 -0
  441. parrot/tools/google/tools.py +1251 -0
  442. parrot/tools/googlelocation.py +5 -0
  443. parrot/tools/googleroutes.py +5 -0
  444. parrot/tools/googlesearch.py +5 -0
  445. parrot/tools/googlesitesearch.py +5 -0
  446. parrot/tools/googlevoice.py +2 -0
  447. parrot/tools/gvoice.py +695 -0
  448. parrot/tools/ibisworld/README.md +225 -0
  449. parrot/tools/ibisworld/__init__.py +11 -0
  450. parrot/tools/ibisworld/tool.py +366 -0
  451. parrot/tools/jiratoolkit.py +1718 -0
  452. parrot/tools/manager.py +1098 -0
  453. parrot/tools/math.py +152 -0
  454. parrot/tools/metadata.py +476 -0
  455. parrot/tools/msteams.py +1621 -0
  456. parrot/tools/msword.py +635 -0
  457. parrot/tools/multidb.py +580 -0
  458. parrot/tools/multistoresearch.py +369 -0
  459. parrot/tools/networkninja.py +167 -0
  460. parrot/tools/nextstop/__init__.py +4 -0
  461. parrot/tools/nextstop/base.py +286 -0
  462. parrot/tools/nextstop/employee.py +733 -0
  463. parrot/tools/nextstop/store.py +462 -0
  464. parrot/tools/notification.py +435 -0
  465. parrot/tools/o365/__init__.py +42 -0
  466. parrot/tools/o365/base.py +295 -0
  467. parrot/tools/o365/bundle.py +522 -0
  468. parrot/tools/o365/events.py +554 -0
  469. parrot/tools/o365/mail.py +992 -0
  470. parrot/tools/o365/onedrive.py +497 -0
  471. parrot/tools/o365/sharepoint.py +641 -0
  472. parrot/tools/openapi_toolkit.py +904 -0
  473. parrot/tools/openweather.py +527 -0
  474. parrot/tools/pdfprint.py +1001 -0
  475. parrot/tools/powerbi.py +518 -0
  476. parrot/tools/powerpoint.py +1113 -0
  477. parrot/tools/pricestool.py +146 -0
  478. parrot/tools/products/__init__.py +246 -0
  479. parrot/tools/prophet_tool.py +171 -0
  480. parrot/tools/pythonpandas.py +630 -0
  481. parrot/tools/pythonrepl.py +910 -0
  482. parrot/tools/qsource.py +436 -0
  483. parrot/tools/querytoolkit.py +395 -0
  484. parrot/tools/quickeda.py +827 -0
  485. parrot/tools/resttool.py +553 -0
  486. parrot/tools/retail/__init__.py +0 -0
  487. parrot/tools/retail/bby.py +528 -0
  488. parrot/tools/sandboxtool.py +703 -0
  489. parrot/tools/sassie/__init__.py +352 -0
  490. parrot/tools/scraping/__init__.py +7 -0
  491. parrot/tools/scraping/docs/select.md +466 -0
  492. parrot/tools/scraping/documentation.md +1278 -0
  493. parrot/tools/scraping/driver.py +436 -0
  494. parrot/tools/scraping/models.py +576 -0
  495. parrot/tools/scraping/options.py +85 -0
  496. parrot/tools/scraping/orchestrator.py +517 -0
  497. parrot/tools/scraping/readme.md +740 -0
  498. parrot/tools/scraping/tool.py +3115 -0
  499. parrot/tools/seasonaldetection.py +642 -0
  500. parrot/tools/shell_tool/__init__.py +5 -0
  501. parrot/tools/shell_tool/actions.py +408 -0
  502. parrot/tools/shell_tool/engine.py +155 -0
  503. parrot/tools/shell_tool/models.py +322 -0
  504. parrot/tools/shell_tool/tool.py +442 -0
  505. parrot/tools/site_search.py +214 -0
  506. parrot/tools/textfile.py +418 -0
  507. parrot/tools/think.py +378 -0
  508. parrot/tools/toolkit.py +298 -0
  509. parrot/tools/webapp_tool.py +187 -0
  510. parrot/tools/whatif.py +1279 -0
  511. parrot/tools/workday/MULTI_WSDL_EXAMPLE.md +249 -0
  512. parrot/tools/workday/__init__.py +6 -0
  513. parrot/tools/workday/models.py +1389 -0
  514. parrot/tools/workday/tool.py +1293 -0
  515. parrot/tools/yfinance_tool.py +306 -0
  516. parrot/tools/zipcode.py +217 -0
  517. parrot/utils/__init__.py +2 -0
  518. parrot/utils/helpers.py +73 -0
  519. parrot/utils/parsers/__init__.py +5 -0
  520. parrot/utils/parsers/toml.c +12078 -0
  521. parrot/utils/parsers/toml.cpython-310-x86_64-linux-gnu.so +0 -0
  522. parrot/utils/parsers/toml.pyx +21 -0
  523. parrot/utils/toml.py +11 -0
  524. parrot/utils/types.cpp +20936 -0
  525. parrot/utils/types.cpython-310-x86_64-linux-gnu.so +0 -0
  526. parrot/utils/types.pyx +213 -0
  527. parrot/utils/uv.py +11 -0
  528. parrot/version.py +10 -0
  529. parrot/yaml-rs/Cargo.lock +350 -0
  530. parrot/yaml-rs/Cargo.toml +19 -0
  531. parrot/yaml-rs/pyproject.toml +19 -0
  532. parrot/yaml-rs/python/yaml_rs/__init__.py +81 -0
  533. parrot/yaml-rs/src/lib.rs +222 -0
  534. requirements/docker-compose.yml +24 -0
  535. requirements/requirements-dev.txt +21 -0
@@ -0,0 +1,3 @@
1
+ from .config import setup_swagger, TAGS_METADATA
2
+
3
+ __all__ = ['setup_swagger', 'TAGS_METADATA']
@@ -0,0 +1,641 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: AI-Parrot API Components
4
+ version: 1.0.0
5
+
6
+ components:
7
+ schemas:
8
+ # ==================== Error Responses ====================
9
+ ErrorResponse:
10
+ type: object
11
+ required:
12
+ - error
13
+ - message
14
+ properties:
15
+ error:
16
+ type: string
17
+ description: Error type/category
18
+ example: "Bad Request"
19
+ message:
20
+ type: string
21
+ description: Human-readable error message
22
+ example: "Invalid input parameters"
23
+ details:
24
+ type: object
25
+ description: Additional error details
26
+ additionalProperties: true
27
+
28
+ ValidationErrorResponse:
29
+ type: object
30
+ required:
31
+ - error
32
+ - message
33
+ - errors
34
+ properties:
35
+ error:
36
+ type: string
37
+ example: "Validation Error"
38
+ message:
39
+ type: string
40
+ example: "Input validation failed"
41
+ errors:
42
+ type: array
43
+ items:
44
+ type: object
45
+ properties:
46
+ loc:
47
+ type: array
48
+ items:
49
+ oneOf:
50
+ - type: string
51
+ - type: integer
52
+ description: Error location path
53
+ msg:
54
+ type: string
55
+ description: Error message
56
+ type:
57
+ type: string
58
+ description: Error type
59
+
60
+ # ==================== Chatbot Schemas ====================
61
+ ChatbotInfo:
62
+ type: object
63
+ description: Información básica de un chatbot
64
+ properties:
65
+ chatbot:
66
+ type: string
67
+ description: Nombre del chatbot
68
+ example: "nextstop"
69
+ description:
70
+ type: string
71
+ description: Descripción del propósito del chatbot
72
+ example: "Travel planning assistant"
73
+ role:
74
+ type: string
75
+ description: Rol o personalidad del chatbot
76
+ example: "You are a helpful travel agent"
77
+ embedding_model:
78
+ type: string
79
+ description: Modelo de embeddings usado
80
+ example: "text-embedding-3-small"
81
+ llm:
82
+ type: string
83
+ description: Modelo LLM usado
84
+ example: "ChatOpenAI(model='gpt-4', temperature=0.7)"
85
+ temperature:
86
+ type: number
87
+ format: float
88
+ description: Temperatura del modelo
89
+ minimum: 0.0
90
+ maximum: 2.0
91
+ example: 0.7
92
+ config_file:
93
+ type: string
94
+ nullable: true
95
+ description: Path al archivo de configuración
96
+ example: "/config/bots/nextstop.yaml"
97
+
98
+ ChatRequest:
99
+ type: object
100
+ required:
101
+ - query
102
+ properties:
103
+ query:
104
+ type: string
105
+ description: Pregunta o mensaje del usuario
106
+ minLength: 1
107
+ maxLength: 4000
108
+ example: "¿Cuál es el mejor momento para visitar Japón?"
109
+ search_type:
110
+ type: string
111
+ enum: [similarity, mmr, ensemble]
112
+ default: similarity
113
+ description: Tipo de búsqueda en vector store
114
+ return_sources:
115
+ type: boolean
116
+ default: true
117
+ description: Incluir fuentes en la respuesta
118
+ return_context:
119
+ type: boolean
120
+ default: false
121
+ description: Incluir contexto RAG usado
122
+ llm:
123
+ type: string
124
+ nullable: true
125
+ description: LLM alternativo a usar (ej. 'openai', 'google', 'anthropic')
126
+ example: "openai"
127
+ model:
128
+ type: string
129
+ nullable: true
130
+ description: Modelo específico a usar
131
+ example: "gpt-4-turbo"
132
+ session_id:
133
+ type: string
134
+ nullable: true
135
+ description: ID de sesión para mantener contexto conversacional
136
+ example: "session_abc123"
137
+ temperature:
138
+ type: number
139
+ format: float
140
+ minimum: 0.0
141
+ maximum: 2.0
142
+ nullable: true
143
+ description: Override de temperatura del modelo
144
+ max_tokens:
145
+ type: integer
146
+ minimum: 1
147
+ maximum: 32000
148
+ nullable: true
149
+ description: Máximo de tokens en la respuesta
150
+
151
+ ChatResponse:
152
+ type: object
153
+ required:
154
+ - response
155
+ properties:
156
+ response:
157
+ type: string
158
+ description: Respuesta del chatbot
159
+ example: "La mejor época para visitar Japón es durante la primavera..."
160
+ sources:
161
+ type: array
162
+ description: Fuentes usadas para generar la respuesta
163
+ items:
164
+ type: object
165
+ properties:
166
+ content:
167
+ type: string
168
+ description: Contenido del documento fuente
169
+ metadata:
170
+ type: object
171
+ description: Metadatos del documento
172
+ properties:
173
+ source:
174
+ type: string
175
+ page:
176
+ type: integer
177
+ title:
178
+ type: string
179
+ score:
180
+ type: number
181
+ format: float
182
+ description: Score de relevancia
183
+ context:
184
+ type: array
185
+ description: Contexto RAG usado (si return_context=true)
186
+ items:
187
+ type: string
188
+ session_id:
189
+ type: string
190
+ description: ID de sesión usado
191
+ metadata:
192
+ type: object
193
+ description: Metadatos adicionales
194
+ properties:
195
+ model:
196
+ type: string
197
+ temperature:
198
+ type: number
199
+ tokens_used:
200
+ type: integer
201
+ response_time:
202
+ type: number
203
+
204
+ # ==================== Bot Management Schemas ====================
205
+ BotModel:
206
+ type: object
207
+ required:
208
+ - name
209
+ - bot_class
210
+ properties:
211
+ chatbot_id:
212
+ type: string
213
+ format: uuid
214
+ readOnly: true
215
+ description: ID único del bot (generado automáticamente)
216
+ name:
217
+ type: string
218
+ description: Nombre único del bot
219
+ minLength: 3
220
+ maxLength: 100
221
+ pattern: "^[a-zA-Z0-9_-]+$"
222
+ example: "travel_assistant"
223
+ bot_class:
224
+ type: string
225
+ description: Clase Python del bot
226
+ enum: [BasicBot, Chatbot, BasicAgent, CustomAgent]
227
+ example: "Chatbot"
228
+ description:
229
+ type: string
230
+ nullable: true
231
+ description: Descripción del propósito del bot
232
+ maxLength: 500
233
+ example: "Asistente para planificación de viajes"
234
+ role:
235
+ type: string
236
+ nullable: true
237
+ description: System prompt / rol del bot
238
+ maxLength: 2000
239
+ example: "Eres un agente de viajes experto que ayuda a planificar vacaciones"
240
+ use_llm:
241
+ type: string
242
+ enum: [openai, google, anthropic, groq]
243
+ default: google
244
+ description: Proveedor de LLM a usar
245
+ use_model:
246
+ type: string
247
+ description: Modelo específico del LLM
248
+ example: "gpt-4-turbo"
249
+ temperature:
250
+ type: number
251
+ format: float
252
+ minimum: 0.0
253
+ maximum: 2.0
254
+ default: 0.7
255
+ description: Temperatura del modelo
256
+ embedding_model:
257
+ type: string
258
+ nullable: true
259
+ description: Modelo de embeddings
260
+ example: "text-embedding-3-small"
261
+ config_file:
262
+ type: string
263
+ nullable: true
264
+ description: Path a archivo de configuración YAML
265
+ tools:
266
+ type: array
267
+ description: Lista de herramientas habilitadas
268
+ items:
269
+ type: string
270
+ example: ["web_search", "calculator", "database_query"]
271
+ vector_store:
272
+ type: object
273
+ nullable: true
274
+ description: Configuración del vector store
275
+ properties:
276
+ collection_name:
277
+ type: string
278
+ embedding_model:
279
+ type: string
280
+ distance_metric:
281
+ type: string
282
+ enum: [cosine, euclidean, inner_product]
283
+ created_at:
284
+ type: string
285
+ format: date-time
286
+ readOnly: true
287
+ updated_at:
288
+ type: string
289
+ format: date-time
290
+ readOnly: true
291
+ created_by:
292
+ type: string
293
+ readOnly: true
294
+ description: User ID del creador
295
+
296
+ BotList:
297
+ type: object
298
+ properties:
299
+ bots:
300
+ type: array
301
+ items:
302
+ $ref: "#/components/schemas/BotModel"
303
+ total:
304
+ type: integer
305
+ description: Total de bots disponibles
306
+ active:
307
+ type: integer
308
+ description: Bots actualmente activos en memoria
309
+
310
+ # ==================== Agent Schemas ====================
311
+ AgentChatRequest:
312
+ type: object
313
+ required:
314
+ - agent_name
315
+ - query
316
+ properties:
317
+ agent_name:
318
+ type: string
319
+ description: Nombre o ID del agente
320
+ example: "research_agent"
321
+ query:
322
+ type: string
323
+ description: Pregunta o tarea para el agente
324
+ minLength: 1
325
+ maxLength: 4000
326
+ example: "Investiga las últimas tendencias en IA para 2024"
327
+ session_id:
328
+ type: string
329
+ nullable: true
330
+ description: ID de sesión para mantener estado
331
+ user_id:
332
+ type: string
333
+ nullable: true
334
+ description: ID del usuario
335
+ output_mode:
336
+ type: string
337
+ enum: [json, html, markdown, terminal, default]
338
+ default: json
339
+ description: Formato de salida deseado
340
+ output_format:
341
+ type: string
342
+ enum: [json, html, markdown, text]
343
+ nullable: true
344
+ description: Formato específico (override de Accept header)
345
+ search_type:
346
+ type: string
347
+ enum: [similarity, mmr, ensemble]
348
+ default: similarity
349
+ description: Tipo de búsqueda en vector store
350
+ use_vector_context:
351
+ type: boolean
352
+ default: true
353
+ description: Usar contexto del vector store
354
+ use_conversation_history:
355
+ type: boolean
356
+ default: true
357
+ description: Usar historial conversacional
358
+ return_sources:
359
+ type: boolean
360
+ default: true
361
+ description: Incluir fuentes en respuesta
362
+ format_kwargs:
363
+ type: object
364
+ description: Argumentos adicionales para formateo
365
+ properties:
366
+ show_metadata:
367
+ type: boolean
368
+ default: true
369
+ show_sources:
370
+ type: boolean
371
+ default: true
372
+ show_thinking:
373
+ type: boolean
374
+ default: false
375
+ include_citations:
376
+ type: boolean
377
+ default: true
378
+ mcp_servers:
379
+ type: array
380
+ description: MCP servers adicionales a usar
381
+ items:
382
+ $ref: "#/components/schemas/MCPServerConfig"
383
+ ask_kwargs:
384
+ type: object
385
+ description: Argumentos adicionales para el método ask()
386
+ additionalProperties: true
387
+
388
+ MCPServerConfig:
389
+ type: object
390
+ required:
391
+ - name
392
+ - url
393
+ properties:
394
+ name:
395
+ type: string
396
+ description: Nombre identificador del servidor MCP
397
+ example: "weather_api"
398
+ url:
399
+ type: string
400
+ format: uri
401
+ description: URL del servidor MCP
402
+ example: "https://api.weather.com/mcp"
403
+ auth_type:
404
+ type: string
405
+ enum: [none, api_key, bearer, basic, oauth2]
406
+ default: none
407
+ description: Tipo de autenticación
408
+ auth_config:
409
+ type: object
410
+ description: Configuración de autenticación
411
+ properties:
412
+ api_key:
413
+ type: string
414
+ bearer_token:
415
+ type: string
416
+ username:
417
+ type: string
418
+ password:
419
+ type: string
420
+ headers:
421
+ type: object
422
+ description: Headers HTTP adicionales
423
+ additionalProperties:
424
+ type: string
425
+ example:
426
+ User-Agent: "AI-Parrot/1.0"
427
+ X-Custom-Header: "value"
428
+ timeout:
429
+ type: integer
430
+ minimum: 1
431
+ maximum: 300
432
+ default: 30
433
+ description: Timeout en segundos
434
+ retry_count:
435
+ type: integer
436
+ minimum: 0
437
+ maximum: 5
438
+ default: 3
439
+
440
+ AgentResponse:
441
+ type: object
442
+ required:
443
+ - response
444
+ - agent
445
+ properties:
446
+ response:
447
+ type: string
448
+ description: Respuesta del agente
449
+ agent:
450
+ type: string
451
+ description: Nombre del agente que respondió
452
+ session_id:
453
+ type: string
454
+ nullable: true
455
+ sources:
456
+ type: array
457
+ items:
458
+ type: object
459
+ properties:
460
+ content:
461
+ type: string
462
+ metadata:
463
+ type: object
464
+ score:
465
+ type: number
466
+ tools_used:
467
+ type: array
468
+ description: Herramientas usadas por el agente
469
+ items:
470
+ type: object
471
+ properties:
472
+ tool_name:
473
+ type: string
474
+ input:
475
+ type: object
476
+ output:
477
+ type: object
478
+ execution_time:
479
+ type: number
480
+ thinking:
481
+ type: string
482
+ nullable: true
483
+ description: Proceso de razonamiento del agente (si está habilitado)
484
+ metadata:
485
+ type: object
486
+ properties:
487
+ model:
488
+ type: string
489
+ temperature:
490
+ type: number
491
+ tokens_used:
492
+ type: integer
493
+ response_time:
494
+ type: number
495
+ mcp_servers_used:
496
+ type: array
497
+ items:
498
+ type: string
499
+
500
+ AgentInfo:
501
+ type: object
502
+ properties:
503
+ message:
504
+ type: string
505
+ version:
506
+ type: string
507
+ usage:
508
+ type: object
509
+ properties:
510
+ method:
511
+ type: string
512
+ endpoint:
513
+ type: string
514
+ required_fields:
515
+ type: array
516
+ items:
517
+ type: string
518
+ optional_fields:
519
+ type: array
520
+ items:
521
+ type: string
522
+ output_modes:
523
+ type: array
524
+ items:
525
+ type: string
526
+
527
+ # ==================== Feedback Schemas ====================
528
+ FeedbackRequest:
529
+ type: object
530
+ required:
531
+ - chatbot_id
532
+ - question
533
+ - rating
534
+ properties:
535
+ chatbot_id:
536
+ type: string
537
+ description: ID del bot que generó la respuesta
538
+ question:
539
+ type: string
540
+ description: Pregunta original del usuario
541
+ rating:
542
+ type: integer
543
+ minimum: 1
544
+ maximum: 5
545
+ description: Calificación de 1 a 5
546
+ response:
547
+ type: string
548
+ nullable: true
549
+ description: Respuesta del bot
550
+ feedback_text:
551
+ type: string
552
+ nullable: true
553
+ maxLength: 1000
554
+ description: Comentarios adicionales del usuario
555
+ response_time:
556
+ type: number
557
+ nullable: true
558
+ description: Tiempo de respuesta en segundos
559
+ sources_used:
560
+ type: array
561
+ nullable: true
562
+ items:
563
+ type: string
564
+
565
+ FeedbackResponse:
566
+ type: object
567
+ properties:
568
+ message:
569
+ type: string
570
+ feedback_id:
571
+ type: string
572
+ question:
573
+ type: string
574
+
575
+ # ==================== Common Parameters ====================
576
+ parameters:
577
+ ChatbotName:
578
+ name: chatbot_name
579
+ in: path
580
+ required: true
581
+ description: Nombre único del chatbot
582
+ schema:
583
+ type: string
584
+ pattern: "^[a-zA-Z0-9_-]+$"
585
+ example: "travel_assistant"
586
+
587
+ AgentId:
588
+ name: agent_id
589
+ in: path
590
+ required: true
591
+ description: ID o nombre del agente
592
+ schema:
593
+ type: string
594
+ example: "research_agent"
595
+
596
+ MethodName:
597
+ name: method_name
598
+ in: path
599
+ required: true
600
+ description: Nombre del método a invocar en el bot/agent
601
+ schema:
602
+ type: string
603
+ pattern: "^[a-zA-Z_][a-zA-Z0-9_]*$"
604
+ example: "summarize"
605
+
606
+ BotId:
607
+ name: id
608
+ in: path
609
+ required: true
610
+ description: UUID del bot
611
+ schema:
612
+ type: string
613
+ format: uuid
614
+
615
+ OutputFormat:
616
+ name: output_format
617
+ in: query
618
+ required: false
619
+ description: Formato de salida deseado
620
+ schema:
621
+ type: string
622
+ enum: [json, html, markdown, text]
623
+ default: json
624
+
625
+ # ==================== Security Schemes ====================
626
+ securitySchemes:
627
+ sessionAuth:
628
+ type: apiKey
629
+ in: cookie
630
+ name: session
631
+ description: Session-based authentication using HTTP cookies
632
+
633
+ bearerAuth:
634
+ type: http
635
+ scheme: bearer
636
+ bearerFormat: JWT
637
+ description: JWT token authentication
638
+
639
+ # Global security requirement (can be overridden per operation)
640
+ security:
641
+ - sessionAuth: []