• Admin's avatar
    feat: add agent log viewer, SSE streaming, and L1 sandbox · 71aa8270
    Admin authored
    - services/agent_log_writer.py: Writes ExecutionRunLog rows via AIAgent
      callbacks (tool_start, tool_complete, step, status). Errors swallowed
      to never block agent execution.
    
    - services/workspace_manager.py: Creates isolated workspace directories
      per agent run (workspaces/{company_id}/{run_id}/) with src/,
      .agent_output/, README.md structure.
    
    - services/path_security.py: Path validation to prevent directory
      traversal, blocks dangerous paths (C:\Windows, /etc, .env, .git).
    
    - api/routes/run_logs.py: Added company-scoped runs_router with:
      GET /companies/{id}/runs/{runId} — run detail with all logs
      GET /companies/{id}/runs/{runId}/stream — SSE real-time log stream
    
    - api/routes/agents.py: run_agent_in_background now creates workspace,
      instantiates AgentLogWriter, passes callbacks to AIAgent, and cleans
      up workspace in finally block.
    
    - tests/test_agent_flow.py: Updated to mock WorkspaceManager and
      AgentLogWriter, relaxed AIAgent assertion to check core kwargs only.
    
    All 3 tests pass. Dashboard verified 0 JS errors via Playwright.
    71aa8270
Name
Last commit
Last update
..
agent Loading commit data...
alembic Loading commit data...
api Loading commit data...
auth Loading commit data...
backend/schemas Loading commit data...
common Loading commit data...
data Loading commit data...
middleware Loading commit data...
models Loading commit data...
prompts Loading commit data...
schemas Loading commit data...
scratch Loading commit data...
services Loading commit data...
static Loading commit data...
tests Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.env.example Loading commit data...
.env.test Loading commit data...
.gitignore Loading commit data...
API_DOCUMENTATION.md Loading commit data...
Dockerfile.dev Loading commit data...
Dockerfile.prod Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
__init__.py Loading commit data...
alembic.ini Loading commit data...
config.py Loading commit data...
database.py Loading commit data...
docker-compose.dev.yml Loading commit data...
docker-compose.n8n.yml Loading commit data...
docker-compose.prod.yml Loading commit data...
entrypoint.sh Loading commit data...
gemini_wrap.py Loading commit data...
initialize_db.py Loading commit data...
locustfile.py Loading commit data...
nginx.conf.example Loading commit data...
promtail-config.yaml Loading commit data...
pyproject.toml Loading commit data...
pyrightconfig.json Loading commit data...
pyscn.yaml Loading commit data...
requirements.txt Loading commit data...
server.py Loading commit data...
uv.lock Loading commit data...