Complete overview of the actual files and directories in this project.
backend/
βββ app.py # Quart app β REST routes + Blueprint registration
βββ agent_builder/ # Config-driven agent module (see docs/AGENT_BUILDER.md)
β βββ __init__.py # Public API facade
β βββ models/ # Pure data (Pydantic/SQLModel)
β β βββ agent.py # AgentDefinition, Create/Update DTOs
β β βββ run.py # AgentRun, RunStatus
β β βββ evaluation.py # AgentEvaluation, SuccessCriteria
β β βββ chat.py # AgentRequest/Response
β βββ tools/ # Tool layer
β β βββ registry.py # ToolRegistry (dependency injection)
β β βββ schema_converter.py # JSON Schema β Pydantic
β β βββ mcp_adapter.py # MCP tool β LangChain adapter
β βββ engine/ # Execution engine
β β βββ react_runner.py # Build & invoke ReAct agents
β β βββ prompt_builder.py # System prompt composition
β β βββ callbacks.py # LLM & tool call logging
β βββ evaluator.py # Success criteria evaluation
β βββ service.py # WorkbenchService (deep module)
β βββ chat_service.py # ChatService (deep module)
β βββ persistence/ # Database layer
β β βββ database.py # SQLite engine + migrations
β β βββ repository.py # Agent/Run/Evaluation CRUD
β βββ routes.py # Quart Blueprint (/api/workbench/*)
β βββ tests/ # 132 tests (pytest)
β βββ test_models.py # Model validation
β βββ test_evaluator.py # Criteria evaluation
β βββ test_registry.py # ToolRegistry
β βββ test_prompt_builder.py
β βββ test_schema_converter.py
β βββ test_engine.py # extract_tools_used
β βββ test_service.py # WorkbenchService CRUD
β βββ test_persistence.py # Repository layer
β βββ test_e2e.py # Full REST API flow
βββ agent_workbench/ # Backward-compat shim (re-exports from agent_builder)
β βββ __init__.py
βββ agents.py # Legacy chat agent (AgentService for /api/agents/run)
βββ operations.py # @operation definitions β REST + MCP + LangChain tools
βββ api_decorators.py # Unified @operation decorator system
βββ csv_data.py # CSVTicketService β loads/queries csv/data.csv
βββ tickets.py # Ticket Pydantic models + enums
βββ tasks.py # Task models + TaskService (in-memory)
βββ mcp_handler.py # MCP JSON-RPC request routing
βββ workbench_integration.py # Wires project tools into agent_builder services
βββ usecase_demo.py # Background agent run service for demo pages
βββ data/ # SQLite databases (gitignored)
βββ tests/ # Backend tests (pytest)
β βββ test_agents.py # Operation registry + LangChain integration
β βββ test_tickets.py # CSV ticket parsing + SLA logic
β βββ test_usecase_demo.py # Demo run service
β βββ test_workbench_integration_e2e.py # Original E2E test
βββ requirements.txt # Python dependencies
frontend/
βββ src/
β βββ App.jsx # Root component β tab navigation + routing
β βββ main.jsx # React entry point
β βββ index.css # Global styles
β βββ features/ # Feature modules (one per tab)
β β βββ workbench/ # Agent Fabric β create/run/evaluate agents
β β β βββ WorkbenchPage.jsx
β β βββ agent/ # Agent Chat β one-shot conversation
β β β βββ AgentChat.jsx
β β βββ csvtickets/ # CSV Ticket Table β browse/filter/paginate
β β β βββ CSVTicketTable.jsx
β β βββ tickets/ # Ticket Visualizations (Nivo charts)
β β β βββ NivoTicketsDemo.jsx
β β β βββ SankeyTicketsDemo.jsx
β β β βββ StreamTicketsDemo.jsx
β β β βββ TicketsWithoutAnAssignee.jsx
β β βββ usecase-demo/ # Pre-built demo pages
β β β βββ UsecaseDemoPage.jsx
β β β βββ demoDefinitions.js
β β β βββ resultViews/
β β β βββ utils/
β β βββ dashboard/ # Dashboard with SSE streaming
β β β βββ Dashboard.jsx
β β βββ fields/ # CSV field documentation
β β β βββ FieldsDocs.jsx
β β βββ kitchensink/ # FluentUI component showcase
β β β βββ KitchenSink.jsx
β β βββ tasks/ # Task management UI
β β βββ TaskList.jsx
β β βββ TaskDialog.jsx
β βββ components/ # Shared components
β β βββ About.jsx
β βββ services/
β βββ api.js # Backend API client (fetchJSON helper)
βββ index.html # HTML entry point
βββ vite.config.js # Vite build config (proxy to backend:5001)
βββ package.json # Dependencies + scripts
tests/
βββ e2e/ # Playwright E2E tests
βββ app.spec.js # App shell, tickets, usecase demo, agent
βββ workbench.spec.js # Agent Fabric create/run/delete
βββ menu-screenshots.spec.js # Capture menu screenshots
βββ debug.spec.js # Smoke test
docs/
βββ AGENT_BUILDER.md # Agent builder architecture (mermaid diagrams)
βββ AGENTS.md # LangGraph agent setup + config
βββ CSV_AI_GUIDANCE.md # How agents query CSV data
βββ INSTALL_UBUNTU.md # Ubuntu 22.04 prerequisites
βββ LEARNING.md # Design principles guide
βββ LEVEL_UP.md # Day 4 teaching material
βββ NIVO.md # Nivo chart visualization guide
βββ PROJECT_STRUCTURE.md # This file
βββ PYDANTIC_ARCHITECTURE.md # Pydantic patterns
βββ QUICKSTART.md # 5-minute setup
βββ TROUBLESHOOTING.md # Common issues + fixes
βββ UNIFIED_ARCHITECTURE.md # REST + MCP via @operation
βββ ticker_reminder/ # Feature spec (ticket reminders)
βββ RULES.md # German version
βββ RULES_EN.md # English version
| File | Purpose |
|---|---|
setup.sh |
Automated bootstrap (venv, deps, Playwright) |
start-dev.sh |
Start backend + frontend + Ollama |
playwright.config.js |
E2E test config (3 browsers, web servers) |
Dockerfile |
Multi-stage build for deployment |
.env.example |
OpenAI API key template |
package.json (root) |
Playwright + npm scripts |