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,522 @@
1
+ """
2
+ SharePoint and OneDrive Toolkits for AI-Parrot
3
+
4
+ Toolkit wrappers for SharePoint and OneDrive file management tools.
5
+ """
6
+ from typing import Dict, Any, Optional, List
7
+ from navconfig.logging import logging
8
+
9
+ from .sharepoint import (
10
+ ListSharePointFilesTool,
11
+ SearchSharePointFilesTool,
12
+ DownloadSharePointFileTool,
13
+ UploadSharePointFileTool
14
+ )
15
+ from .onedrive import (
16
+ ListOneDriveFilesTool,
17
+ SearchOneDriveFilesTool,
18
+ DownloadOneDriveFileTool,
19
+ UploadOneDriveFileTool
20
+ )
21
+ from .base import O365AuthMode
22
+
23
+
24
+ class SharePointToolkit:
25
+ """
26
+ SharePoint file management toolkit for AI-Parrot agents.
27
+
28
+ This toolkit provides comprehensive SharePoint integration:
29
+ - List files in document libraries
30
+ - Search for files
31
+ - Download files
32
+ - Upload files
33
+
34
+ Usage:
35
+ toolkit = SharePointToolkit(
36
+ client_id='your-client-id',
37
+ client_secret='your-client-secret',
38
+ tenant_id='your-tenant-id'
39
+ )
40
+
41
+ # Add to agent
42
+ agent = BasicAgent(
43
+ name="SharePointAgent",
44
+ tools=toolkit.get_tools()
45
+ )
46
+ """
47
+
48
+ def __init__(
49
+ self,
50
+ client_id: str,
51
+ client_secret: Optional[str] = None,
52
+ tenant_id: str = None,
53
+ default_auth_mode: str = O365AuthMode.DIRECT,
54
+ scopes: Optional[List[str]] = None,
55
+ **kwargs
56
+ ):
57
+ """
58
+ Initialize SharePoint toolkit.
59
+
60
+ Args:
61
+ client_id: Azure AD application client ID
62
+ client_secret: Azure AD application client secret
63
+ tenant_id: Azure AD tenant ID
64
+ default_auth_mode: Default authentication mode
65
+ scopes: Custom Graph API scopes
66
+ **kwargs: Additional arguments
67
+ """
68
+ self.logger = logging.getLogger('Parrot.Toolkits.SharePoint')
69
+
70
+ # Store credentials
71
+ self.credentials = {
72
+ 'client_id': client_id,
73
+ 'tenant_id': tenant_id
74
+ }
75
+
76
+ if client_secret:
77
+ self.credentials['client_secret'] = client_secret
78
+
79
+ self.default_auth_mode = default_auth_mode
80
+ self.scopes = scopes or [
81
+ "Sites.Read.All",
82
+ "Sites.ReadWrite.All",
83
+ "Files.Read.All",
84
+ "Files.ReadWrite.All"
85
+ ]
86
+
87
+ # Initialize tools
88
+ self._tools: List[Any] = []
89
+ self._initialize_tools()
90
+
91
+ self.logger.info(
92
+ f"SharePointToolkit initialized with {len(self._tools)} tools"
93
+ )
94
+
95
+ def _initialize_tools(self):
96
+ """Initialize all SharePoint tools."""
97
+ common_params = {
98
+ 'credentials': self.credentials,
99
+ 'default_auth_mode': self.default_auth_mode,
100
+ 'scopes': self.scopes
101
+ }
102
+
103
+ self._tools = [
104
+ ListSharePointFilesTool(**common_params),
105
+ SearchSharePointFilesTool(**common_params),
106
+ DownloadSharePointFileTool(**common_params),
107
+ UploadSharePointFileTool(**common_params)
108
+ ]
109
+
110
+ self.logger.debug("Registered SharePoint tools")
111
+
112
+ def get_tools(self) -> List[Any]:
113
+ """Get all toolkit tools."""
114
+ return self._tools
115
+
116
+ def get_tool_by_name(self, name: str) -> Optional[Any]:
117
+ """Get a specific tool by name."""
118
+ for tool in self._tools:
119
+ if tool.name == name:
120
+ return tool
121
+ return None
122
+
123
+ async def cleanup(self):
124
+ """Clean up all tool resources."""
125
+ for tool in self._tools:
126
+ try:
127
+ await tool.cleanup()
128
+ except Exception as e:
129
+ self.logger.warning(f"Error cleaning up tool {tool.name}: {e}")
130
+
131
+ def __repr__(self) -> str:
132
+ tool_names = [tool.name for tool in self._tools]
133
+ return f"SharePointToolkit(tools={tool_names})"
134
+
135
+
136
+ class OneDriveToolkit:
137
+ """
138
+ OneDrive file management toolkit for AI-Parrot agents.
139
+
140
+ This toolkit provides comprehensive OneDrive integration:
141
+ - List files in folders
142
+ - Search for files
143
+ - Download files
144
+ - Upload files
145
+
146
+ Usage:
147
+ toolkit = OneDriveToolkit(
148
+ client_id='your-client-id',
149
+ client_secret='your-client-secret',
150
+ tenant_id='your-tenant-id'
151
+ )
152
+
153
+ # Add to agent
154
+ agent = BasicAgent(
155
+ name="OneDriveAgent",
156
+ tools=toolkit.get_tools()
157
+ )
158
+ """
159
+
160
+ def __init__(
161
+ self,
162
+ client_id: str,
163
+ client_secret: Optional[str] = None,
164
+ tenant_id: str = None,
165
+ default_auth_mode: str = O365AuthMode.DIRECT,
166
+ scopes: Optional[List[str]] = None,
167
+ **kwargs
168
+ ):
169
+ """
170
+ Initialize OneDrive toolkit.
171
+
172
+ Args:
173
+ client_id: Azure AD application client ID
174
+ client_secret: Azure AD application client secret
175
+ tenant_id: Azure AD tenant ID
176
+ default_auth_mode: Default authentication mode
177
+ scopes: Custom Graph API scopes
178
+ **kwargs: Additional arguments
179
+ """
180
+ self.logger = logging.getLogger('Parrot.Toolkits.OneDrive')
181
+
182
+ # Store credentials
183
+ self.credentials = {
184
+ 'client_id': client_id,
185
+ 'tenant_id': tenant_id
186
+ }
187
+
188
+ if client_secret:
189
+ self.credentials['client_secret'] = client_secret
190
+
191
+ self.default_auth_mode = default_auth_mode
192
+ self.scopes = scopes or [
193
+ "Files.Read",
194
+ "Files.ReadWrite",
195
+ "Files.Read.All",
196
+ "Files.ReadWrite.All"
197
+ ]
198
+
199
+ # Initialize tools
200
+ self._tools: List[Any] = []
201
+ self._initialize_tools()
202
+
203
+ self.logger.info(
204
+ f"OneDriveToolkit initialized with {len(self._tools)} tools"
205
+ )
206
+
207
+ def _initialize_tools(self):
208
+ """Initialize all OneDrive tools."""
209
+ common_params = {
210
+ 'credentials': self.credentials,
211
+ 'default_auth_mode': self.default_auth_mode,
212
+ 'scopes': self.scopes
213
+ }
214
+
215
+ self._tools = [
216
+ ListOneDriveFilesTool(**common_params),
217
+ SearchOneDriveFilesTool(**common_params),
218
+ DownloadOneDriveFileTool(**common_params),
219
+ UploadOneDriveFileTool(**common_params)
220
+ ]
221
+
222
+ self.logger.debug("Registered OneDrive tools")
223
+
224
+ def get_tools(self) -> List[Any]:
225
+ """Get all toolkit tools."""
226
+ return self._tools
227
+
228
+ def get_tool_by_name(self, name: str) -> Optional[Any]:
229
+ """Get a specific tool by name."""
230
+ for tool in self._tools:
231
+ if tool.name == name:
232
+ return tool
233
+ return None
234
+
235
+ async def cleanup(self):
236
+ """Clean up all tool resources."""
237
+ for tool in self._tools:
238
+ try:
239
+ await tool.cleanup()
240
+ except Exception as e:
241
+ self.logger.warning(f"Error cleaning up tool {tool.name}: {e}")
242
+
243
+ def __repr__(self) -> str:
244
+ tool_names = [tool.name for tool in self._tools]
245
+ return f"OneDriveToolkit(tools={tool_names})"
246
+
247
+
248
+ class Office365FileManagementToolkit:
249
+ """
250
+ Complete Office365 file management toolkit (SharePoint + OneDrive).
251
+
252
+ This toolkit bundles both SharePoint and OneDrive tools for
253
+ comprehensive file management across Office365.
254
+
255
+ Usage:
256
+ toolkit = Office365FileManagementToolkit(
257
+ client_id='your-client-id',
258
+ client_secret='your-client-secret',
259
+ tenant_id='your-tenant-id'
260
+ )
261
+
262
+ agent = BasicAgent(
263
+ name="FileAgent",
264
+ tools=toolkit.get_tools()
265
+ )
266
+ """
267
+
268
+ def __init__(
269
+ self,
270
+ client_id: str,
271
+ client_secret: Optional[str] = None,
272
+ tenant_id: str = None,
273
+ default_auth_mode: str = O365AuthMode.DIRECT,
274
+ scopes: Optional[List[str]] = None,
275
+ enable_sharepoint: bool = True,
276
+ enable_onedrive: bool = True,
277
+ **kwargs
278
+ ):
279
+ """
280
+ Initialize complete file management toolkit.
281
+
282
+ Args:
283
+ client_id: Azure AD application client ID
284
+ client_secret: Azure AD application client secret
285
+ tenant_id: Azure AD tenant ID
286
+ default_auth_mode: Default authentication mode
287
+ scopes: Custom Graph API scopes
288
+ enable_sharepoint: Enable SharePoint tools
289
+ enable_onedrive: Enable OneDrive tools
290
+ **kwargs: Additional arguments
291
+ """
292
+ self.logger = logging.getLogger('Parrot.Toolkits.O365FileManagement')
293
+
294
+ self.enable_sharepoint = enable_sharepoint
295
+ self.enable_onedrive = enable_onedrive
296
+
297
+ # Store credentials
298
+ self.credentials = {
299
+ 'client_id': client_id,
300
+ 'tenant_id': tenant_id
301
+ }
302
+
303
+ if client_secret:
304
+ self.credentials['client_secret'] = client_secret
305
+
306
+ # Initialize sub-toolkits
307
+ self._tools: List[Any] = []
308
+
309
+ if enable_sharepoint:
310
+ sp_toolkit = SharePointToolkit(
311
+ client_id=client_id,
312
+ client_secret=client_secret,
313
+ tenant_id=tenant_id,
314
+ default_auth_mode=default_auth_mode,
315
+ scopes=scopes
316
+ )
317
+ self._tools.extend(sp_toolkit.get_tools())
318
+
319
+ if enable_onedrive:
320
+ od_toolkit = OneDriveToolkit(
321
+ client_id=client_id,
322
+ client_secret=client_secret,
323
+ tenant_id=tenant_id,
324
+ default_auth_mode=default_auth_mode,
325
+ scopes=scopes
326
+ )
327
+ self._tools.extend(od_toolkit.get_tools())
328
+
329
+ self.logger.info(
330
+ f"Office365FileManagementToolkit initialized with {len(self._tools)} tools"
331
+ )
332
+
333
+ def get_tools(self) -> List[Any]:
334
+ """Get all toolkit tools."""
335
+ return self._tools
336
+
337
+ def get_tool_by_name(self, name: str) -> Optional[Any]:
338
+ """Get a specific tool by name."""
339
+ for tool in self._tools:
340
+ if tool.name == name:
341
+ return tool
342
+ return None
343
+
344
+ def get_sharepoint_tools(self) -> List[Any]:
345
+ """Get only SharePoint tools."""
346
+ return [
347
+ tool for tool in self._tools
348
+ if isinstance(tool, (
349
+ ListSharePointFilesTool,
350
+ SearchSharePointFilesTool,
351
+ DownloadSharePointFileTool,
352
+ UploadSharePointFileTool
353
+ ))
354
+ ]
355
+
356
+ def get_onedrive_tools(self) -> List[Any]:
357
+ """Get only OneDrive tools."""
358
+ return [
359
+ tool for tool in self._tools
360
+ if isinstance(tool, (
361
+ ListOneDriveFilesTool,
362
+ SearchOneDriveFilesTool,
363
+ DownloadOneDriveFileTool,
364
+ UploadOneDriveFileTool
365
+ ))
366
+ ]
367
+
368
+ async def cleanup(self):
369
+ """Clean up all tool resources."""
370
+ for tool in self._tools:
371
+ try:
372
+ await tool.cleanup()
373
+ except Exception as e:
374
+ self.logger.warning(f"Error cleaning up tool {tool.name}: {e}")
375
+
376
+ def __repr__(self) -> str:
377
+ tool_names = [tool.name for tool in self._tools]
378
+ return f"Office365FileManagementToolkit(tools={tool_names})"
379
+
380
+
381
+ # ============================================================================
382
+ # Factory Functions
383
+ # ============================================================================
384
+
385
+ def create_sharepoint_toolkit(
386
+ client_id: str,
387
+ client_secret: str,
388
+ tenant_id: str,
389
+ **kwargs
390
+ ) -> SharePointToolkit:
391
+ """
392
+ Factory function to create a SharePoint toolkit.
393
+
394
+ Args:
395
+ client_id: Azure AD application client ID
396
+ client_secret: Azure AD application client secret
397
+ tenant_id: Azure AD tenant ID
398
+ **kwargs: Additional toolkit arguments
399
+
400
+ Returns:
401
+ Configured SharePointToolkit instance
402
+ """
403
+ return SharePointToolkit(
404
+ client_id=client_id,
405
+ client_secret=client_secret,
406
+ tenant_id=tenant_id,
407
+ **kwargs
408
+ )
409
+
410
+
411
+ def create_onedrive_toolkit(
412
+ client_id: str,
413
+ client_secret: str,
414
+ tenant_id: str,
415
+ **kwargs
416
+ ) -> OneDriveToolkit:
417
+ """
418
+ Factory function to create a OneDrive toolkit.
419
+
420
+ Args:
421
+ client_id: Azure AD application client ID
422
+ client_secret: Azure AD application client secret
423
+ tenant_id: Azure AD tenant ID
424
+ **kwargs: Additional toolkit arguments
425
+
426
+ Returns:
427
+ Configured OneDriveToolkit instance
428
+ """
429
+ return OneDriveToolkit(
430
+ client_id=client_id,
431
+ client_secret=client_secret,
432
+ tenant_id=tenant_id,
433
+ **kwargs
434
+ )
435
+
436
+
437
+ def create_file_management_toolkit(
438
+ client_id: str,
439
+ client_secret: str,
440
+ tenant_id: str,
441
+ **kwargs
442
+ ) -> Office365FileManagementToolkit:
443
+ """
444
+ Factory function to create a complete file management toolkit.
445
+
446
+ Args:
447
+ client_id: Azure AD application client ID
448
+ client_secret: Azure AD application client secret
449
+ tenant_id: Azure AD tenant ID
450
+ **kwargs: Additional toolkit arguments
451
+
452
+ Returns:
453
+ Configured Office365FileManagementToolkit instance
454
+ """
455
+ return Office365FileManagementToolkit(
456
+ client_id=client_id,
457
+ client_secret=client_secret,
458
+ tenant_id=tenant_id,
459
+ **kwargs
460
+ )
461
+
462
+
463
+ # ============================================================================
464
+ # Example Usage
465
+ # ============================================================================
466
+
467
+ if __name__ == "__main__":
468
+ """
469
+ Example usage of file management toolkits.
470
+ """
471
+ import asyncio
472
+ from parrot.bots.agent import BasicAgent
473
+
474
+ async def main():
475
+ credentials = {
476
+ 'client_id': 'your-client-id',
477
+ 'client_secret': 'your-client-secret',
478
+ 'tenant_id': 'your-tenant-id'
479
+ }
480
+
481
+ # Example 1: SharePoint toolkit
482
+ sp_toolkit = create_sharepoint_toolkit(**credentials)
483
+
484
+ sp_agent = BasicAgent(
485
+ name="SharePointAgent",
486
+ role="SharePoint File Manager",
487
+ tools=sp_toolkit.get_tools()
488
+ )
489
+
490
+ # Example 2: OneDrive toolkit
491
+ od_toolkit = create_onedrive_toolkit(**credentials)
492
+
493
+ od_agent = BasicAgent(
494
+ name="OneDriveAgent",
495
+ role="OneDrive File Manager",
496
+ tools=od_toolkit.get_tools()
497
+ )
498
+
499
+ # Example 3: Complete file management toolkit
500
+ file_toolkit = create_file_management_toolkit(**credentials)
501
+
502
+ file_agent = BasicAgent(
503
+ name="FileAgent",
504
+ role="Office365 File Manager",
505
+ tools=file_toolkit.get_tools()
506
+ )
507
+
508
+ print(f"SharePoint tools: {len(sp_toolkit.get_tools())}")
509
+ print(f"OneDrive tools: {len(od_toolkit.get_tools())}")
510
+ print(f"Total file management tools: {len(file_toolkit.get_tools())}")
511
+
512
+ asyncio.run(main())
513
+
514
+
515
+ __all__ = [
516
+ 'SharePointToolkit',
517
+ 'OneDriveToolkit',
518
+ 'Office365FileManagementToolkit',
519
+ 'create_sharepoint_toolkit',
520
+ 'create_onedrive_toolkit',
521
+ 'create_file_management_toolkit'
522
+ ]