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.
- agentui/.prettierrc +15 -0
- agentui/QUICKSTART.md +272 -0
- agentui/README.md +59 -0
- agentui/env.example +16 -0
- agentui/jsconfig.json +14 -0
- agentui/package-lock.json +4242 -0
- agentui/package.json +34 -0
- agentui/scripts/postinstall/apply-patches.mjs +260 -0
- agentui/src/app.css +61 -0
- agentui/src/app.d.ts +13 -0
- agentui/src/app.html +12 -0
- agentui/src/components/LoadingSpinner.svelte +64 -0
- agentui/src/components/ThemeSwitcher.svelte +159 -0
- agentui/src/components/index.js +4 -0
- agentui/src/lib/api/bots.ts +60 -0
- agentui/src/lib/api/chat.ts +22 -0
- agentui/src/lib/api/http.ts +25 -0
- agentui/src/lib/components/BotCard.svelte +33 -0
- agentui/src/lib/components/ChatBubble.svelte +63 -0
- agentui/src/lib/components/Toast.svelte +21 -0
- agentui/src/lib/config.ts +20 -0
- agentui/src/lib/stores/auth.svelte.ts +73 -0
- agentui/src/lib/stores/theme.svelte.js +64 -0
- agentui/src/lib/stores/toast.svelte.ts +31 -0
- agentui/src/lib/utils/conversation.ts +39 -0
- agentui/src/routes/+layout.svelte +20 -0
- agentui/src/routes/+page.svelte +232 -0
- agentui/src/routes/login/+page.svelte +200 -0
- agentui/src/routes/talk/[agentId]/+page.svelte +297 -0
- agentui/src/routes/talk/[agentId]/+page.ts +7 -0
- agentui/static/README.md +1 -0
- agentui/svelte.config.js +11 -0
- agentui/tailwind.config.ts +53 -0
- agentui/tsconfig.json +3 -0
- agentui/vite.config.ts +10 -0
- ai_parrot-0.17.2.dist-info/METADATA +472 -0
- ai_parrot-0.17.2.dist-info/RECORD +535 -0
- ai_parrot-0.17.2.dist-info/WHEEL +6 -0
- ai_parrot-0.17.2.dist-info/entry_points.txt +2 -0
- ai_parrot-0.17.2.dist-info/licenses/LICENSE +21 -0
- ai_parrot-0.17.2.dist-info/top_level.txt +6 -0
- crew-builder/.prettierrc +15 -0
- crew-builder/QUICKSTART.md +259 -0
- crew-builder/README.md +113 -0
- crew-builder/env.example +17 -0
- crew-builder/jsconfig.json +14 -0
- crew-builder/package-lock.json +4182 -0
- crew-builder/package.json +37 -0
- crew-builder/scripts/postinstall/apply-patches.mjs +260 -0
- crew-builder/src/app.css +62 -0
- crew-builder/src/app.d.ts +13 -0
- crew-builder/src/app.html +12 -0
- crew-builder/src/components/LoadingSpinner.svelte +64 -0
- crew-builder/src/components/ThemeSwitcher.svelte +149 -0
- crew-builder/src/components/index.js +9 -0
- crew-builder/src/lib/api/bots.ts +60 -0
- crew-builder/src/lib/api/chat.ts +80 -0
- crew-builder/src/lib/api/client.ts +56 -0
- crew-builder/src/lib/api/crew/crew.ts +136 -0
- crew-builder/src/lib/api/index.ts +5 -0
- crew-builder/src/lib/api/o365/auth.ts +65 -0
- crew-builder/src/lib/auth/auth.ts +54 -0
- crew-builder/src/lib/components/AgentNode.svelte +43 -0
- crew-builder/src/lib/components/BotCard.svelte +33 -0
- crew-builder/src/lib/components/ChatBubble.svelte +67 -0
- crew-builder/src/lib/components/ConfigPanel.svelte +278 -0
- crew-builder/src/lib/components/JsonTreeNode.svelte +76 -0
- crew-builder/src/lib/components/JsonViewer.svelte +24 -0
- crew-builder/src/lib/components/MarkdownEditor.svelte +48 -0
- crew-builder/src/lib/components/ThemeToggle.svelte +36 -0
- crew-builder/src/lib/components/Toast.svelte +67 -0
- crew-builder/src/lib/components/Toolbar.svelte +157 -0
- crew-builder/src/lib/components/index.ts +10 -0
- crew-builder/src/lib/config.ts +8 -0
- crew-builder/src/lib/stores/auth.svelte.ts +228 -0
- crew-builder/src/lib/stores/crewStore.ts +369 -0
- crew-builder/src/lib/stores/theme.svelte.js +145 -0
- crew-builder/src/lib/stores/toast.svelte.ts +69 -0
- crew-builder/src/lib/utils/conversation.ts +39 -0
- crew-builder/src/lib/utils/markdown.ts +122 -0
- crew-builder/src/lib/utils/talkHistory.ts +47 -0
- crew-builder/src/routes/+layout.svelte +20 -0
- crew-builder/src/routes/+page.svelte +539 -0
- crew-builder/src/routes/agents/+page.svelte +247 -0
- crew-builder/src/routes/agents/[agentId]/+page.svelte +288 -0
- crew-builder/src/routes/agents/[agentId]/+page.ts +7 -0
- crew-builder/src/routes/builder/+page.svelte +204 -0
- crew-builder/src/routes/crew/ask/+page.svelte +1052 -0
- crew-builder/src/routes/crew/ask/+page.ts +1 -0
- crew-builder/src/routes/integrations/o365/+page.svelte +304 -0
- crew-builder/src/routes/login/+page.svelte +197 -0
- crew-builder/src/routes/talk/[agentId]/+page.svelte +487 -0
- crew-builder/src/routes/talk/[agentId]/+page.ts +7 -0
- crew-builder/static/README.md +1 -0
- crew-builder/svelte.config.js +11 -0
- crew-builder/tailwind.config.ts +53 -0
- crew-builder/tsconfig.json +3 -0
- crew-builder/vite.config.ts +10 -0
- mcp_servers/calculator_server.py +309 -0
- parrot/__init__.py +27 -0
- parrot/__pycache__/__init__.cpython-310.pyc +0 -0
- parrot/__pycache__/version.cpython-310.pyc +0 -0
- parrot/_version.py +34 -0
- parrot/a2a/__init__.py +48 -0
- parrot/a2a/client.py +658 -0
- parrot/a2a/discovery.py +89 -0
- parrot/a2a/mixin.py +257 -0
- parrot/a2a/models.py +376 -0
- parrot/a2a/server.py +770 -0
- parrot/agents/__init__.py +29 -0
- parrot/bots/__init__.py +12 -0
- parrot/bots/a2a_agent.py +19 -0
- parrot/bots/abstract.py +3139 -0
- parrot/bots/agent.py +1129 -0
- parrot/bots/basic.py +9 -0
- parrot/bots/chatbot.py +669 -0
- parrot/bots/data.py +1618 -0
- parrot/bots/database/__init__.py +5 -0
- parrot/bots/database/abstract.py +3071 -0
- parrot/bots/database/cache.py +286 -0
- parrot/bots/database/models.py +468 -0
- parrot/bots/database/prompts.py +154 -0
- parrot/bots/database/retries.py +98 -0
- parrot/bots/database/router.py +269 -0
- parrot/bots/database/sql.py +41 -0
- parrot/bots/db/__init__.py +6 -0
- parrot/bots/db/abstract.py +556 -0
- parrot/bots/db/bigquery.py +602 -0
- parrot/bots/db/cache.py +85 -0
- parrot/bots/db/documentdb.py +668 -0
- parrot/bots/db/elastic.py +1014 -0
- parrot/bots/db/influx.py +898 -0
- parrot/bots/db/mock.py +96 -0
- parrot/bots/db/multi.py +783 -0
- parrot/bots/db/prompts.py +185 -0
- parrot/bots/db/sql.py +1255 -0
- parrot/bots/db/tools.py +212 -0
- parrot/bots/document.py +680 -0
- parrot/bots/hrbot.py +15 -0
- parrot/bots/kb.py +170 -0
- parrot/bots/mcp.py +36 -0
- parrot/bots/orchestration/README.md +463 -0
- parrot/bots/orchestration/__init__.py +1 -0
- parrot/bots/orchestration/agent.py +155 -0
- parrot/bots/orchestration/crew.py +3330 -0
- parrot/bots/orchestration/fsm.py +1179 -0
- parrot/bots/orchestration/hr.py +434 -0
- parrot/bots/orchestration/storage/__init__.py +4 -0
- parrot/bots/orchestration/storage/memory.py +100 -0
- parrot/bots/orchestration/storage/mixin.py +119 -0
- parrot/bots/orchestration/verify.py +202 -0
- parrot/bots/product.py +204 -0
- parrot/bots/prompts/__init__.py +96 -0
- parrot/bots/prompts/agents.py +155 -0
- parrot/bots/prompts/data.py +216 -0
- parrot/bots/prompts/output_generation.py +8 -0
- parrot/bots/scraper/__init__.py +3 -0
- parrot/bots/scraper/models.py +122 -0
- parrot/bots/scraper/scraper.py +1173 -0
- parrot/bots/scraper/templates.py +115 -0
- parrot/bots/stores/__init__.py +5 -0
- parrot/bots/stores/local.py +172 -0
- parrot/bots/webdev.py +81 -0
- parrot/cli.py +17 -0
- parrot/clients/__init__.py +16 -0
- parrot/clients/base.py +1491 -0
- parrot/clients/claude.py +1191 -0
- parrot/clients/factory.py +129 -0
- parrot/clients/google.py +4567 -0
- parrot/clients/gpt.py +1975 -0
- parrot/clients/grok.py +432 -0
- parrot/clients/groq.py +986 -0
- parrot/clients/hf.py +582 -0
- parrot/clients/models.py +18 -0
- parrot/conf.py +395 -0
- parrot/embeddings/__init__.py +9 -0
- parrot/embeddings/base.py +157 -0
- parrot/embeddings/google.py +98 -0
- parrot/embeddings/huggingface.py +74 -0
- parrot/embeddings/openai.py +84 -0
- parrot/embeddings/processor.py +88 -0
- parrot/exceptions.c +13868 -0
- parrot/exceptions.cpython-310-x86_64-linux-gnu.so +0 -0
- parrot/exceptions.pxd +22 -0
- parrot/exceptions.pxi +15 -0
- parrot/exceptions.pyx +44 -0
- parrot/generators/__init__.py +29 -0
- parrot/generators/base.py +200 -0
- parrot/generators/html.py +293 -0
- parrot/generators/react.py +205 -0
- parrot/generators/streamlit.py +203 -0
- parrot/generators/template.py +105 -0
- parrot/handlers/__init__.py +4 -0
- parrot/handlers/agent.py +861 -0
- parrot/handlers/agents/__init__.py +1 -0
- parrot/handlers/agents/abstract.py +900 -0
- parrot/handlers/bots.py +338 -0
- parrot/handlers/chat.py +915 -0
- parrot/handlers/creation.sql +192 -0
- parrot/handlers/crew/ARCHITECTURE.md +362 -0
- parrot/handlers/crew/README_BOTMANAGER_PERSISTENCE.md +303 -0
- parrot/handlers/crew/README_REDIS_PERSISTENCE.md +366 -0
- parrot/handlers/crew/__init__.py +0 -0
- parrot/handlers/crew/handler.py +801 -0
- parrot/handlers/crew/models.py +229 -0
- parrot/handlers/crew/redis_persistence.py +523 -0
- parrot/handlers/jobs/__init__.py +10 -0
- parrot/handlers/jobs/job.py +384 -0
- parrot/handlers/jobs/mixin.py +627 -0
- parrot/handlers/jobs/models.py +115 -0
- parrot/handlers/jobs/worker.py +31 -0
- parrot/handlers/models.py +596 -0
- parrot/handlers/o365_auth.py +105 -0
- parrot/handlers/stream.py +337 -0
- parrot/interfaces/__init__.py +6 -0
- parrot/interfaces/aws.py +143 -0
- parrot/interfaces/credentials.py +113 -0
- parrot/interfaces/database.py +27 -0
- parrot/interfaces/google.py +1123 -0
- parrot/interfaces/hierarchy.py +1227 -0
- parrot/interfaces/http.py +651 -0
- parrot/interfaces/images/__init__.py +0 -0
- parrot/interfaces/images/plugins/__init__.py +24 -0
- parrot/interfaces/images/plugins/abstract.py +58 -0
- parrot/interfaces/images/plugins/analisys.py +148 -0
- parrot/interfaces/images/plugins/classify.py +150 -0
- parrot/interfaces/images/plugins/classifybase.py +182 -0
- parrot/interfaces/images/plugins/detect.py +150 -0
- parrot/interfaces/images/plugins/exif.py +1103 -0
- parrot/interfaces/images/plugins/hash.py +52 -0
- parrot/interfaces/images/plugins/vision.py +104 -0
- parrot/interfaces/images/plugins/yolo.py +66 -0
- parrot/interfaces/images/plugins/zerodetect.py +197 -0
- parrot/interfaces/o365.py +978 -0
- parrot/interfaces/onedrive.py +822 -0
- parrot/interfaces/sharepoint.py +1435 -0
- parrot/interfaces/soap.py +257 -0
- parrot/loaders/__init__.py +8 -0
- parrot/loaders/abstract.py +1131 -0
- parrot/loaders/audio.py +199 -0
- parrot/loaders/basepdf.py +53 -0
- parrot/loaders/basevideo.py +1568 -0
- parrot/loaders/csv.py +409 -0
- parrot/loaders/docx.py +116 -0
- parrot/loaders/epubloader.py +316 -0
- parrot/loaders/excel.py +199 -0
- parrot/loaders/factory.py +55 -0
- parrot/loaders/files/__init__.py +0 -0
- parrot/loaders/files/abstract.py +39 -0
- parrot/loaders/files/html.py +26 -0
- parrot/loaders/files/text.py +63 -0
- parrot/loaders/html.py +152 -0
- parrot/loaders/markdown.py +442 -0
- parrot/loaders/pdf.py +373 -0
- parrot/loaders/pdfmark.py +320 -0
- parrot/loaders/pdftables.py +506 -0
- parrot/loaders/ppt.py +476 -0
- parrot/loaders/qa.py +63 -0
- parrot/loaders/splitters/__init__.py +10 -0
- parrot/loaders/splitters/base.py +138 -0
- parrot/loaders/splitters/md.py +228 -0
- parrot/loaders/splitters/token.py +143 -0
- parrot/loaders/txt.py +26 -0
- parrot/loaders/video.py +89 -0
- parrot/loaders/videolocal.py +218 -0
- parrot/loaders/videounderstanding.py +377 -0
- parrot/loaders/vimeo.py +167 -0
- parrot/loaders/web.py +599 -0
- parrot/loaders/youtube.py +504 -0
- parrot/manager/__init__.py +5 -0
- parrot/manager/manager.py +1030 -0
- parrot/mcp/__init__.py +28 -0
- parrot/mcp/adapter.py +105 -0
- parrot/mcp/cli.py +174 -0
- parrot/mcp/client.py +119 -0
- parrot/mcp/config.py +75 -0
- parrot/mcp/integration.py +842 -0
- parrot/mcp/oauth.py +933 -0
- parrot/mcp/server.py +225 -0
- parrot/mcp/transports/__init__.py +3 -0
- parrot/mcp/transports/base.py +279 -0
- parrot/mcp/transports/grpc_session.py +163 -0
- parrot/mcp/transports/http.py +312 -0
- parrot/mcp/transports/mcp.proto +108 -0
- parrot/mcp/transports/quic.py +1082 -0
- parrot/mcp/transports/sse.py +330 -0
- parrot/mcp/transports/stdio.py +309 -0
- parrot/mcp/transports/unix.py +395 -0
- parrot/mcp/transports/websocket.py +547 -0
- parrot/memory/__init__.py +16 -0
- parrot/memory/abstract.py +209 -0
- parrot/memory/agent.py +32 -0
- parrot/memory/cache.py +175 -0
- parrot/memory/core.py +555 -0
- parrot/memory/file.py +153 -0
- parrot/memory/mem.py +131 -0
- parrot/memory/redis.py +613 -0
- parrot/models/__init__.py +46 -0
- parrot/models/basic.py +118 -0
- parrot/models/compliance.py +208 -0
- parrot/models/crew.py +395 -0
- parrot/models/detections.py +654 -0
- parrot/models/generation.py +85 -0
- parrot/models/google.py +223 -0
- parrot/models/groq.py +23 -0
- parrot/models/openai.py +30 -0
- parrot/models/outputs.py +285 -0
- parrot/models/responses.py +938 -0
- parrot/notifications/__init__.py +743 -0
- parrot/openapi/__init__.py +3 -0
- parrot/openapi/components.yaml +641 -0
- parrot/openapi/config.py +322 -0
- parrot/outputs/__init__.py +32 -0
- parrot/outputs/formats/__init__.py +108 -0
- parrot/outputs/formats/altair.py +359 -0
- parrot/outputs/formats/application.py +122 -0
- parrot/outputs/formats/base.py +351 -0
- parrot/outputs/formats/bokeh.py +356 -0
- parrot/outputs/formats/card.py +424 -0
- parrot/outputs/formats/chart.py +436 -0
- parrot/outputs/formats/d3.py +255 -0
- parrot/outputs/formats/echarts.py +310 -0
- parrot/outputs/formats/generators/__init__.py +0 -0
- parrot/outputs/formats/generators/abstract.py +61 -0
- parrot/outputs/formats/generators/panel.py +145 -0
- parrot/outputs/formats/generators/streamlit.py +86 -0
- parrot/outputs/formats/generators/terminal.py +63 -0
- parrot/outputs/formats/holoviews.py +310 -0
- parrot/outputs/formats/html.py +147 -0
- parrot/outputs/formats/jinja2.py +46 -0
- parrot/outputs/formats/json.py +87 -0
- parrot/outputs/formats/map.py +933 -0
- parrot/outputs/formats/markdown.py +172 -0
- parrot/outputs/formats/matplotlib.py +237 -0
- parrot/outputs/formats/mixins/__init__.py +0 -0
- parrot/outputs/formats/mixins/emaps.py +855 -0
- parrot/outputs/formats/plotly.py +341 -0
- parrot/outputs/formats/seaborn.py +310 -0
- parrot/outputs/formats/table.py +397 -0
- parrot/outputs/formats/template_report.py +138 -0
- parrot/outputs/formats/yaml.py +125 -0
- parrot/outputs/formatter.py +152 -0
- parrot/outputs/templates/__init__.py +95 -0
- parrot/pipelines/__init__.py +0 -0
- parrot/pipelines/abstract.py +210 -0
- parrot/pipelines/detector.py +124 -0
- parrot/pipelines/models.py +90 -0
- parrot/pipelines/planogram.py +3002 -0
- parrot/pipelines/table.sql +97 -0
- parrot/plugins/__init__.py +106 -0
- parrot/plugins/importer.py +80 -0
- parrot/py.typed +0 -0
- parrot/registry/__init__.py +18 -0
- parrot/registry/registry.py +594 -0
- parrot/scheduler/__init__.py +1189 -0
- parrot/scheduler/models.py +60 -0
- parrot/security/__init__.py +16 -0
- parrot/security/prompt_injection.py +268 -0
- parrot/security/security_events.sql +25 -0
- parrot/services/__init__.py +1 -0
- parrot/services/mcp/__init__.py +8 -0
- parrot/services/mcp/config.py +13 -0
- parrot/services/mcp/server.py +295 -0
- parrot/services/o365_remote_auth.py +235 -0
- parrot/stores/__init__.py +7 -0
- parrot/stores/abstract.py +352 -0
- parrot/stores/arango.py +1090 -0
- parrot/stores/bigquery.py +1377 -0
- parrot/stores/cache.py +106 -0
- parrot/stores/empty.py +10 -0
- parrot/stores/faiss_store.py +1157 -0
- parrot/stores/kb/__init__.py +9 -0
- parrot/stores/kb/abstract.py +68 -0
- parrot/stores/kb/cache.py +165 -0
- parrot/stores/kb/doc.py +325 -0
- parrot/stores/kb/hierarchy.py +346 -0
- parrot/stores/kb/local.py +457 -0
- parrot/stores/kb/prompt.py +28 -0
- parrot/stores/kb/redis.py +659 -0
- parrot/stores/kb/store.py +115 -0
- parrot/stores/kb/user.py +374 -0
- parrot/stores/models.py +59 -0
- parrot/stores/pgvector.py +3 -0
- parrot/stores/postgres.py +2853 -0
- parrot/stores/utils/__init__.py +0 -0
- parrot/stores/utils/chunking.py +197 -0
- parrot/telemetry/__init__.py +3 -0
- parrot/telemetry/mixin.py +111 -0
- parrot/template/__init__.py +3 -0
- parrot/template/engine.py +259 -0
- parrot/tools/__init__.py +23 -0
- parrot/tools/abstract.py +644 -0
- parrot/tools/agent.py +363 -0
- parrot/tools/arangodbsearch.py +537 -0
- parrot/tools/arxiv_tool.py +188 -0
- parrot/tools/calculator/__init__.py +3 -0
- parrot/tools/calculator/operations/__init__.py +38 -0
- parrot/tools/calculator/operations/calculus.py +80 -0
- parrot/tools/calculator/operations/statistics.py +76 -0
- parrot/tools/calculator/tool.py +150 -0
- parrot/tools/cloudwatch.py +988 -0
- parrot/tools/codeinterpreter/__init__.py +127 -0
- parrot/tools/codeinterpreter/executor.py +371 -0
- parrot/tools/codeinterpreter/internals.py +473 -0
- parrot/tools/codeinterpreter/models.py +643 -0
- parrot/tools/codeinterpreter/prompts.py +224 -0
- parrot/tools/codeinterpreter/tool.py +664 -0
- parrot/tools/company_info/__init__.py +6 -0
- parrot/tools/company_info/tool.py +1138 -0
- parrot/tools/correlationanalysis.py +437 -0
- parrot/tools/database/abstract.py +286 -0
- parrot/tools/database/bq.py +115 -0
- parrot/tools/database/cache.py +284 -0
- parrot/tools/database/models.py +95 -0
- parrot/tools/database/pg.py +343 -0
- parrot/tools/databasequery.py +1159 -0
- parrot/tools/db.py +1800 -0
- parrot/tools/ddgo.py +370 -0
- parrot/tools/decorators.py +271 -0
- parrot/tools/dftohtml.py +282 -0
- parrot/tools/document.py +549 -0
- parrot/tools/ecs.py +819 -0
- parrot/tools/edareport.py +368 -0
- parrot/tools/elasticsearch.py +1049 -0
- parrot/tools/employees.py +462 -0
- parrot/tools/epson/__init__.py +96 -0
- parrot/tools/excel.py +683 -0
- parrot/tools/file/__init__.py +13 -0
- parrot/tools/file/abstract.py +76 -0
- parrot/tools/file/gcs.py +378 -0
- parrot/tools/file/local.py +284 -0
- parrot/tools/file/s3.py +511 -0
- parrot/tools/file/tmp.py +309 -0
- parrot/tools/file/tool.py +501 -0
- parrot/tools/file_reader.py +129 -0
- parrot/tools/flowtask/__init__.py +19 -0
- parrot/tools/flowtask/tool.py +761 -0
- parrot/tools/gittoolkit.py +508 -0
- parrot/tools/google/__init__.py +18 -0
- parrot/tools/google/base.py +169 -0
- parrot/tools/google/tools.py +1251 -0
- parrot/tools/googlelocation.py +5 -0
- parrot/tools/googleroutes.py +5 -0
- parrot/tools/googlesearch.py +5 -0
- parrot/tools/googlesitesearch.py +5 -0
- parrot/tools/googlevoice.py +2 -0
- parrot/tools/gvoice.py +695 -0
- parrot/tools/ibisworld/README.md +225 -0
- parrot/tools/ibisworld/__init__.py +11 -0
- parrot/tools/ibisworld/tool.py +366 -0
- parrot/tools/jiratoolkit.py +1718 -0
- parrot/tools/manager.py +1098 -0
- parrot/tools/math.py +152 -0
- parrot/tools/metadata.py +476 -0
- parrot/tools/msteams.py +1621 -0
- parrot/tools/msword.py +635 -0
- parrot/tools/multidb.py +580 -0
- parrot/tools/multistoresearch.py +369 -0
- parrot/tools/networkninja.py +167 -0
- parrot/tools/nextstop/__init__.py +4 -0
- parrot/tools/nextstop/base.py +286 -0
- parrot/tools/nextstop/employee.py +733 -0
- parrot/tools/nextstop/store.py +462 -0
- parrot/tools/notification.py +435 -0
- parrot/tools/o365/__init__.py +42 -0
- parrot/tools/o365/base.py +295 -0
- parrot/tools/o365/bundle.py +522 -0
- parrot/tools/o365/events.py +554 -0
- parrot/tools/o365/mail.py +992 -0
- parrot/tools/o365/onedrive.py +497 -0
- parrot/tools/o365/sharepoint.py +641 -0
- parrot/tools/openapi_toolkit.py +904 -0
- parrot/tools/openweather.py +527 -0
- parrot/tools/pdfprint.py +1001 -0
- parrot/tools/powerbi.py +518 -0
- parrot/tools/powerpoint.py +1113 -0
- parrot/tools/pricestool.py +146 -0
- parrot/tools/products/__init__.py +246 -0
- parrot/tools/prophet_tool.py +171 -0
- parrot/tools/pythonpandas.py +630 -0
- parrot/tools/pythonrepl.py +910 -0
- parrot/tools/qsource.py +436 -0
- parrot/tools/querytoolkit.py +395 -0
- parrot/tools/quickeda.py +827 -0
- parrot/tools/resttool.py +553 -0
- parrot/tools/retail/__init__.py +0 -0
- parrot/tools/retail/bby.py +528 -0
- parrot/tools/sandboxtool.py +703 -0
- parrot/tools/sassie/__init__.py +352 -0
- parrot/tools/scraping/__init__.py +7 -0
- parrot/tools/scraping/docs/select.md +466 -0
- parrot/tools/scraping/documentation.md +1278 -0
- parrot/tools/scraping/driver.py +436 -0
- parrot/tools/scraping/models.py +576 -0
- parrot/tools/scraping/options.py +85 -0
- parrot/tools/scraping/orchestrator.py +517 -0
- parrot/tools/scraping/readme.md +740 -0
- parrot/tools/scraping/tool.py +3115 -0
- parrot/tools/seasonaldetection.py +642 -0
- parrot/tools/shell_tool/__init__.py +5 -0
- parrot/tools/shell_tool/actions.py +408 -0
- parrot/tools/shell_tool/engine.py +155 -0
- parrot/tools/shell_tool/models.py +322 -0
- parrot/tools/shell_tool/tool.py +442 -0
- parrot/tools/site_search.py +214 -0
- parrot/tools/textfile.py +418 -0
- parrot/tools/think.py +378 -0
- parrot/tools/toolkit.py +298 -0
- parrot/tools/webapp_tool.py +187 -0
- parrot/tools/whatif.py +1279 -0
- parrot/tools/workday/MULTI_WSDL_EXAMPLE.md +249 -0
- parrot/tools/workday/__init__.py +6 -0
- parrot/tools/workday/models.py +1389 -0
- parrot/tools/workday/tool.py +1293 -0
- parrot/tools/yfinance_tool.py +306 -0
- parrot/tools/zipcode.py +217 -0
- parrot/utils/__init__.py +2 -0
- parrot/utils/helpers.py +73 -0
- parrot/utils/parsers/__init__.py +5 -0
- parrot/utils/parsers/toml.c +12078 -0
- parrot/utils/parsers/toml.cpython-310-x86_64-linux-gnu.so +0 -0
- parrot/utils/parsers/toml.pyx +21 -0
- parrot/utils/toml.py +11 -0
- parrot/utils/types.cpp +20936 -0
- parrot/utils/types.cpython-310-x86_64-linux-gnu.so +0 -0
- parrot/utils/types.pyx +213 -0
- parrot/utils/uv.py +11 -0
- parrot/version.py +10 -0
- parrot/yaml-rs/Cargo.lock +350 -0
- parrot/yaml-rs/Cargo.toml +19 -0
- parrot/yaml-rs/pyproject.toml +19 -0
- parrot/yaml-rs/python/yaml_rs/__init__.py +81 -0
- parrot/yaml-rs/src/lib.rs +222 -0
- requirements/docker-compose.yml +24 -0
- requirements/requirements-dev.txt +21 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# π Quick Start Guide
|
|
2
|
+
|
|
3
|
+
Get up and running with AgentCrew Builder in 5 minutes!
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Node.js 18+ ([Download](https://nodejs.org/))
|
|
8
|
+
- Python 3.11+ ([Download](https://www.python.org/))
|
|
9
|
+
- npm (comes with Node.js)
|
|
10
|
+
|
|
11
|
+
## Setup (Option 1: Local Development)
|
|
12
|
+
|
|
13
|
+
### 1. Run Setup Script
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
chmod +x setup.sh
|
|
17
|
+
./setup.sh
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### 2. Start Backend
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
python3 backend_example.py
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The API will start at `http://localhost:8000`
|
|
27
|
+
- API docs: `http://localhost:8000/docs`
|
|
28
|
+
|
|
29
|
+
### 3. Start Frontend (in a new terminal)
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm run dev
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The app will start at `http://localhost:5173`
|
|
36
|
+
|
|
37
|
+
## Setup (Option 2: Docker)
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
docker-compose up
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
This starts both frontend and backend automatically!
|
|
44
|
+
|
|
45
|
+
## Your First Workflow
|
|
46
|
+
|
|
47
|
+
### Step 1: Create a Research Pipeline
|
|
48
|
+
|
|
49
|
+
1. **Open** `http://localhost:5173` in your browser
|
|
50
|
+
|
|
51
|
+
2. **Set crew metadata** in the toolbar:
|
|
52
|
+
- Name: `research_pipeline`
|
|
53
|
+
- Description: `Sequential pipeline for research and writing`
|
|
54
|
+
|
|
55
|
+
3. **Add your first agent** - Click "Add Agent" button
|
|
56
|
+
- Agent ID: `researcher`
|
|
57
|
+
- Name: `Research Agent`
|
|
58
|
+
- Model: `gemini-2.5-pro`
|
|
59
|
+
- Temperature: `0.7`
|
|
60
|
+
- Tools: Check β
`GoogleSearchTool`
|
|
61
|
+
- System Prompt:
|
|
62
|
+
```
|
|
63
|
+
You are an expert AI researcher. Gather comprehensive
|
|
64
|
+
information on the given topic and provide detailed findings.
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
4. **Add second agent** - Click "Add Agent" again
|
|
68
|
+
- Agent ID: `analyzer`
|
|
69
|
+
- Name: `Analysis Agent`
|
|
70
|
+
- Model: `gemini-2.5-pro`
|
|
71
|
+
- Temperature: `0.6`
|
|
72
|
+
- System Prompt:
|
|
73
|
+
```
|
|
74
|
+
You are a data analyst. Analyze the research findings
|
|
75
|
+
and extract key insights.
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
5. **Add third agent**
|
|
79
|
+
- Agent ID: `writer`
|
|
80
|
+
- Name: `Writer Agent`
|
|
81
|
+
- Model: `gemini-2.5-pro`
|
|
82
|
+
- Temperature: `0.8`
|
|
83
|
+
- System Prompt:
|
|
84
|
+
```
|
|
85
|
+
You are a technical writer. Create a well-structured
|
|
86
|
+
report from the analysis.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 2: Connect Agents
|
|
90
|
+
|
|
91
|
+
1. **Drag** from the bottom handle of `Research Agent`
|
|
92
|
+
2. **Drop** onto the top handle of `Analysis Agent`
|
|
93
|
+
3. **Connect** `Analysis Agent` to `Writer Agent`
|
|
94
|
+
|
|
95
|
+
Your workflow: `Researcher β Analyzer β Writer`
|
|
96
|
+
|
|
97
|
+
### Step 3: Export and Use
|
|
98
|
+
|
|
99
|
+
1. **Click** "Export JSON" button
|
|
100
|
+
2. **Save** the file as `research_pipeline.json`
|
|
101
|
+
|
|
102
|
+
Your workflow is now ready to use!
|
|
103
|
+
|
|
104
|
+
## Using Your Workflow
|
|
105
|
+
|
|
106
|
+
### Option A: Upload via API
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
curl -X POST http://localhost:8000/api/crews/upload \
|
|
110
|
+
-F "file=@research_pipeline.json"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Option B: Run with Python
|
|
114
|
+
|
|
115
|
+
```python
|
|
116
|
+
import requests
|
|
117
|
+
|
|
118
|
+
# Upload crew
|
|
119
|
+
with open('research_pipeline.json', 'rb') as f:
|
|
120
|
+
response = requests.post(
|
|
121
|
+
'http://localhost:8000/api/crews/upload',
|
|
122
|
+
files={'file': f}
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
print(response.json())
|
|
126
|
+
|
|
127
|
+
# Run crew
|
|
128
|
+
result = requests.post(
|
|
129
|
+
'http://localhost:8000/api/crews/research_pipeline/run',
|
|
130
|
+
json={
|
|
131
|
+
'task': 'Research the latest trends in AI for 2025'
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
print(result.json())
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Option C: Direct Integration with AI-parrot
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
from ai_parrot import AgentCrew
|
|
142
|
+
import json
|
|
143
|
+
|
|
144
|
+
# Load your exported configuration
|
|
145
|
+
with open('research_pipeline.json', 'r') as f:
|
|
146
|
+
crew_config = json.load(f)
|
|
147
|
+
|
|
148
|
+
# Create crew (assuming you have from_config method)
|
|
149
|
+
crew = AgentCrew.from_config(crew_config)
|
|
150
|
+
|
|
151
|
+
# Run it!
|
|
152
|
+
result = crew.run(task="Research the latest trends in AI for 2025")
|
|
153
|
+
print(result)
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Example Workflows
|
|
157
|
+
|
|
158
|
+
### π Content Creation Pipeline
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
[Topic Researcher] β [Outline Creator] β [Content Writer] β [Editor]
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### π Data Analysis Pipeline
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
[Data Collector] β [Data Cleaner] β [Analyzer] β [Visualizer] β [Reporter]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### π€ Customer Support
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
[Question Classifier] β [Knowledge Searcher] β [Response Generator] β [Quality Checker]
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### πΌ Business Intelligence
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
[Market Researcher] β [Competitor Analyzer] β [Trend Analyst] β [Strategy Advisor]
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Tips & Tricks
|
|
183
|
+
|
|
184
|
+
### π¨ Visual Design
|
|
185
|
+
- **Arrange nodes** by dragging them around
|
|
186
|
+
- **Zoom** using mouse wheel
|
|
187
|
+
- **Pan** by dragging the background
|
|
188
|
+
- **Use MiniMap** for navigation (bottom-right)
|
|
189
|
+
|
|
190
|
+
### βοΈ Configuration
|
|
191
|
+
- **Form mode**: Easy configuration with guided fields
|
|
192
|
+
- **JSON mode**: Advanced users can edit raw JSON
|
|
193
|
+
- **Switch freely** between modes without losing data
|
|
194
|
+
|
|
195
|
+
### π Connections
|
|
196
|
+
- **Sequential flow**: Connect agents in order
|
|
197
|
+
- **Parallel branches**: Multiple agents can start without connections
|
|
198
|
+
- **Execution order**: Determined by topological sort
|
|
199
|
+
|
|
200
|
+
### π€ Export
|
|
201
|
+
- **Auto-download**: Clicking Export downloads JSON immediately
|
|
202
|
+
- **Filename**: Named after your crew (e.g., `research_pipeline.json`)
|
|
203
|
+
- **Format**: Ready to use with AgentCrew API
|
|
204
|
+
|
|
205
|
+
## Common Issues
|
|
206
|
+
|
|
207
|
+
### Frontend not starting?
|
|
208
|
+
```bash
|
|
209
|
+
# Clear cache and reinstall
|
|
210
|
+
rm -rf node_modules package-lock.json
|
|
211
|
+
npm install
|
|
212
|
+
npm run dev
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Backend not starting?
|
|
216
|
+
```bash
|
|
217
|
+
# Reinstall Python dependencies
|
|
218
|
+
pip3 install --upgrade -r requirements.txt
|
|
219
|
+
python3 backend_example.py
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Agents not connecting?
|
|
223
|
+
- Ensure you drag from **bottom** handle (source)
|
|
224
|
+
- Drop on **top** handle (target)
|
|
225
|
+
- Check that handles are visible when hovering
|
|
226
|
+
|
|
227
|
+
### Export shows empty agents?
|
|
228
|
+
- Verify all required fields are filled:
|
|
229
|
+
- Agent ID (unique)
|
|
230
|
+
- Name
|
|
231
|
+
- System Prompt
|
|
232
|
+
- Save configuration before exporting
|
|
233
|
+
|
|
234
|
+
## Next Steps
|
|
235
|
+
|
|
236
|
+
1. **Explore examples** in `/examples` directory
|
|
237
|
+
2. **Read full documentation** in `README.md`
|
|
238
|
+
3. **Integrate with your AI-parrot backend**
|
|
239
|
+
4. **Create complex workflows** with multiple branches
|
|
240
|
+
5. **Share your workflows** with the community!
|
|
241
|
+
|
|
242
|
+
## Getting Help
|
|
243
|
+
|
|
244
|
+
- π [Full Documentation](README.md)
|
|
245
|
+
- π [Report Issues](https://github.com/your-repo/issues)
|
|
246
|
+
- π¬ [Community Discord](https://discord.gg/your-link)
|
|
247
|
+
- π§ [Email Support](mailto:support@your-domain.com)
|
|
248
|
+
|
|
249
|
+
## What's Next?
|
|
250
|
+
|
|
251
|
+
- [ ] Try creating a parallel execution workflow
|
|
252
|
+
- [ ] Experiment with different models and temperatures
|
|
253
|
+
- [ ] Add custom tools to your agents
|
|
254
|
+
- [ ] Build a production-ready crew for your use case
|
|
255
|
+
- [ ] Contribute improvements to the project!
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
**Happy Building! π¦**
|
crew-builder/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# AgentCrew Builder
|
|
2
|
+
|
|
3
|
+
AgentCrew Builder is a SvelteKit 5 application that lets you assemble, configure and export AgentCrew pipelines visually. The project now ships with Tailwind CSS v4, DaisyUI theme switching and an opinionated auth flow that persists bearer tokens in local storage.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- π§ **Visual crew editor** powered by [@xyflow/svelte](https://xyflow.com/) for drag-and-drop agent orchestration
|
|
8
|
+
- π οΈ **Dual configuration modes** (form and JSON) with DaisyUI styling
|
|
9
|
+
- π **Theme switching** with DaisyUI v5 following the [Scott Spence guide](https://scottspence.com/posts/theme-switching-in-sveltekit-updated-for-daisyui-v5-and-tailwind-v4)
|
|
10
|
+
- π **Auth store** that persists bearer tokens and exposes login/logout helpers
|
|
11
|
+
- π **Axios client** that injects bearer tokens into every request and handles common HTTP failures
|
|
12
|
+
- π¦ **Modern tooling**: Svelte 5, SvelteKit 2, Tailwind CSS 4, DaisyUI 5, Prettier 3
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
- Node.js 20+
|
|
17
|
+
- npm 10+
|
|
18
|
+
|
|
19
|
+
## Getting started
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
cd crew-builder
|
|
23
|
+
npm install
|
|
24
|
+
npm run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The app runs on <http://localhost:5173> by default.
|
|
28
|
+
|
|
29
|
+
### Available scripts
|
|
30
|
+
|
|
31
|
+
| Command | Description |
|
|
32
|
+
| ---------------- | ------------------------------------------ |
|
|
33
|
+
| `npm run dev` | Start the Vite dev server |
|
|
34
|
+
| `npm run build` | Create a production build |
|
|
35
|
+
| `npm run preview`| Preview the production build locally |
|
|
36
|
+
| `npm run check` | Run `svelte-check` for type and lint hints |
|
|
37
|
+
|
|
38
|
+
## Security hardening
|
|
39
|
+
|
|
40
|
+
Running `npm install` now triggers a post-install patch step that mitigates the
|
|
41
|
+
`cookie` (GHSA-pxg6-pf52-xh8x) and `esbuild` (GHSA-67mh-4wv8-2f99) advisories
|
|
42
|
+
without forcing breaking framework upgrades. The script:
|
|
43
|
+
|
|
44
|
+
- Replaces the transitive `cookie` implementation with a hardened parser and
|
|
45
|
+
serializer that reject out-of-spec values.
|
|
46
|
+
- Disables the vulnerable `esbuild.serve()` helper that allowed cross-origin
|
|
47
|
+
access to the development server.
|
|
48
|
+
- Marks both packages with `-patched` versions inside `package-lock.json` so
|
|
49
|
+
future audits record that the fixes are applied locally.
|
|
50
|
+
|
|
51
|
+
If you reinstall dependencies in an environment where `postinstall` hooks are
|
|
52
|
+
disabled, run the patcher manually:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm run postinstall
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Authentication helpers
|
|
59
|
+
|
|
60
|
+
The auth store (`src/lib/stores/auth.ts`) keeps the user profile and bearer token in local storage. It exposes:
|
|
61
|
+
|
|
62
|
+
- `init()` β restore session data at start-up
|
|
63
|
+
- `login(email, password)` β call the `/auth/login` API with the `x-auth-method: BasicAuth` header
|
|
64
|
+
- `logout()` β clear storage and redirect to `/login`
|
|
65
|
+
- `checkAuth()` β lightweight token presence check
|
|
66
|
+
|
|
67
|
+
Derived stores `isAuthenticated` and `currentUser` are exported for convenience.
|
|
68
|
+
|
|
69
|
+
## API client
|
|
70
|
+
|
|
71
|
+
An Axios instance lives in `src/lib/api/client.ts`. It automatically injects the bearer token and reacts to `401` responses by clearing storage and redirecting to `/login`. Feature-specific APIs are grouped under `src/lib/api`:
|
|
72
|
+
|
|
73
|
+
- `auth.login` β authentication endpoint
|
|
74
|
+
- `crew.*` β CRUD helpers for crew management
|
|
75
|
+
|
|
76
|
+
## Styling
|
|
77
|
+
|
|
78
|
+
Tailwind CSS v4 is enabled through the official Vite plugin. DaisyUI v5 powers ready-made components and the theme switcher. Theme selection is stored in local storage and updates the `data-theme` attribute on the document root.
|
|
79
|
+
|
|
80
|
+
## Export format
|
|
81
|
+
|
|
82
|
+
The `crewStore` still produces JSON compatible with the AgentCrew backend:
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"name": "research_pipeline",
|
|
87
|
+
"description": "Sequential pipeline for research and writing",
|
|
88
|
+
"execution_mode": "sequential",
|
|
89
|
+
"agents": [
|
|
90
|
+
{
|
|
91
|
+
"agent_id": "agent_1",
|
|
92
|
+
"name": "Agent 1",
|
|
93
|
+
"agent_class": "Agent",
|
|
94
|
+
"config": {
|
|
95
|
+
"model": "gemini-2.5-pro",
|
|
96
|
+
"temperature": 0.7
|
|
97
|
+
},
|
|
98
|
+
"system_prompt": "You are an expert AI agent."
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Download the definition via the toolbarβs **Export JSON** button or push it directly to your backend with **Upload**.
|
|
105
|
+
|
|
106
|
+
## Next steps
|
|
107
|
+
|
|
108
|
+
- Wire the auth store into your login route
|
|
109
|
+
- Extend `crewStore` with persistence or backend syncing
|
|
110
|
+
- Add new DaisyUI themes to `themeOptions` in `ThemeToggle.svelte`
|
|
111
|
+
- Introduce additional execution modes once the backend supports them
|
|
112
|
+
|
|
113
|
+
Happy building! π¦
|
crew-builder/env.example
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# AI-Parrot API Configuration
|
|
2
|
+
# Copy this file to .env and update with your actual values
|
|
3
|
+
|
|
4
|
+
# API Base URL (without trailing slash)
|
|
5
|
+
# This is where your AI-Parrot backend is hosted
|
|
6
|
+
VITE_API_URL=http://localhost:8000
|
|
7
|
+
|
|
8
|
+
# Production example:
|
|
9
|
+
# VITE_API_URL=https://api.your-domain.com
|
|
10
|
+
|
|
11
|
+
# The login endpoint will be constructed as:
|
|
12
|
+
# ${VITE_API_URL}/api/v1/login
|
|
13
|
+
|
|
14
|
+
# Notes:
|
|
15
|
+
# - Remove 'http://' or 'https://' if your apiClient already handles it
|
|
16
|
+
# - Don't include '/api/v1' in the base URL as it's part of the endpoint path
|
|
17
|
+
# - Ensure your backend has CORS properly configured for this origin
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./.svelte-kit/tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"allowJs": true,
|
|
5
|
+
"checkJs": true,
|
|
6
|
+
"esModuleInterop": true,
|
|
7
|
+
"forceConsistentCasingInFileNames": true,
|
|
8
|
+
"resolveJsonModule": true,
|
|
9
|
+
"skipLibCheck": true,
|
|
10
|
+
"sourceMap": true,
|
|
11
|
+
"strict": true,
|
|
12
|
+
"moduleResolution": "bundler"
|
|
13
|
+
}
|
|
14
|
+
}
|