{"id":"f078a25b-b572-40af-8015-453c6f263701","slug":"crewai-alexnodejs-goit-aad-hw-10","name":"goit-aad-hw-10","description":"Практичне завдання №2: мультиагентна система логістики — supervisor у LangGraph, CrewAI та Google ADK над спільним MCP-сервером (FastMCP), guardrails (injection/allowlist/PII), HITL, tracing у LangSmith, deepeval + DeepTeam","canonicalUrl":"https://www.xpersona.co/skill/crewai-alexnodejs-goit-aad-hw-10","sourceUrl":"https://github.com/alexnodejs/goit-aad-hw-10","homepage":null,"source":"GITHUB_REPOS","vendor":{"slug":"alexnodejs","label":"Alexnodejs","url":"https://github.com/alexnodejs/goit-aad-hw-10"},"protocols":["OPENCLEW"],"capabilities":["crewai","multi-agent"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-10-09T13:51:05.643Z","freshnessLabel":"Oct 9, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Oct 9, 2026"},{"label":"Vendor","value":"Alexnodejs"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Alexnodejs","href":"https://github.com/alexnodejs/goit-aad-hw-10","sourceUrl":"https://github.com/alexnodejs/goit-aad-hw-10","sourceType":"profile","confidence":"medium","observedAt":"2026-10-09T13:51:05.655Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/crewai-alexnodejs-goit-aad-hw-10/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/crewai-alexnodejs-goit-aad-hw-10/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-10-09T13:51:05.655Z","isPublic":true},{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/crewai-alexnodejs-goit-aad-hw-10/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/crewai-alexnodejs-goit-aad-hw-10/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Trust evidence available"],"agentCard":{"name":"goit-aad-hw-10","description":"Практичне завдання №2: мультиагентна система логістики — supervisor у LangGraph, CrewAI та Google ADK над спільним MCP-сервером (FastMCP), guardrails (injection/allowlist/PII), HITL, tracing у LangSmith, deepeval + DeepTeam","source":"GITHUB_REPOS","sourceId":"crewai:1350421897","repository":"https://github.com/alexnodejs/goit-aad-hw-10","documentation":"https://www.xpersona.co/skill/crewai-alexnodejs-goit-aad-hw-10/agent/crewai-alexnodejs-goit-aad-hw-10","protocols":["OPENCLEW"],"capabilities":["crewai","multi-agent"],"languages":["python"],"install":{"command":"git clone https://github.com/alexnodejs/goit-aad-hw-10.git","ecosystem":"git"},"examples":[{"kind":"example","language":"bash","snippet":"# 1. Оточення (окремий venv — див. розділ 12, чому не в базовий)\nuv venv --python 3.13\nuv pip install -r requirements.txt\n\n# 2. Ключі\ncp .env.example .env      # вписати OPENROUTER_API_KEY і LANGSMITH_API_KEY\n\n# 3. Самоперевірки БЕЗ мережі та БЕЗ ключів — усе має пройти\n.venv/bin/python mcp_server.py --selfcheck   # 4 MCP-інструменти, валідатори, JSON-конверт\n.venv/bin/python guards.py                   # injection / allowlist / PII / CostTracker\n.venv/bin/python mas_crewai.py --selfcheck   # склад crew і allowlist\n.venv/bin/python mas_adk.py --selfcheck      # структура workflow-пайплайна\n.venv/bin/python mas_langgraph.py --graph    # mermaid-схема графа\n.venv/bin/python -m pytest test_mas.py -v    # 63 тести\n\n# 4. Живі запити (потрібен ключ)\n.venv/bin/python mas_langgraph.py \"Де зараз посилка TTN-000001?\"\n.venv/bin/python mas_crewai.py    \"Скільки ноутбуків SKU-1001 на складах?\"\n.venv/bin/python mas_adk.py       \"Статус TTN-000001 і залишок SKU-1001\"\n\n# 5. Human-in-the-loop: граф зупиняється і чекає рішення оператора\n.venv/bin/python mas_langgraph.py --thread h1 \"Скасуй TTN-000004, клієнт відмовився, поверни 720 грн\"\n.venv/bin/python mas_langgraph.py --thread h1 --show-state      # інший процес бачить паузу\n.venv/bin/python mas_langgraph.py --thread h1 --approve         # або --reject \"занадто рано\"\n\n# 6. Повний прогін демонстрацій → demo_results.json, costs.json, trace_langsmith.json\n.venv/bin/python demos.py\n.venv/bin/python demos.py --only guardrails hitl\n\n# 7. Бонуси: evals і red-teaming (результати кешуються, --force перерахує)\n.venv/bin/python evals.py"},{"kind":"example","language":"text","snippet":"goit-aad-hw-10/\n├── mcp_server.py       # вимога 3: FastMCP-сервер, 4 інструменти + мок-дані домену\n├── guards.py           # вимога 5: injection / allowlist+валідація / PII + облік вартості\n├── mas_langgraph.py    # вимоги 1, 6: supervisor + 3 воркери, MCP, HITL, LangSmith, CLI\n├── mas_crewai.py       # вимога 2: той самий кейс на CrewAI над тим самим MCP-сервером\n├── mas_adk.py          # бонус: Google ADK, ParallelAgent → SequentialAgent\n├── evals.py            # бонус: deepeval (5 кейсів) + DeepTeam (3 типи атак)\n├── demos.py            # вимога 4 та зведення: усі демонстрації → JSON-артефакти\n├── test_mas.py         # вимога 7: 63 офлайн-тести\n├── requirements.txt · .gitignore · pytest.ini · .env.example\n├── demo_output.txt · pytest_output.txt          # вивід прогонів\n├── demo_results.json · costs.json · evals_results.json\n├── trace_langsmith.json                          # фрагмент трейсу для здачі\n├── evals_results_before_hardening.json           # red-teaming ДО виправлень\n└── Task_002_Vasileyko_Logistics.ipynb"}]}}