Epic: Ava Tool Trace Viewer Mini-App

t-272·Epic·
·
·
Created2 months ago·Updated2 months ago

Execution Summary

6/6
Tasks Completed
$0.00
Total Cost
0s
Total Time

Design

Edit

Add a Telegram mini-app that allows users to view full tool call traces from Ava's responses. When Ava uses tools, she can include a clickable link that opens an expandable view of the tool inputs/outputs.

Problem

Currently when Ava (Telegram bot) uses tools like python_exec, run_bash, read_file, etc., the user only sees a brief summary in the chat. There's no way to see the full tool input/output, which makes debugging and understanding Ava's actions difficult.

Solution

Store tool traces in SQLite and serve them via a lightweight web server. Include a 'view trace' link in Ava's messages that opens a mobile-friendly HTML page showing the full trace.

Architecture Overview

1. Storage: SQLite table in existing $AVA_DATA_ROOT/ava.db 2. Web Server: New Warp server in Omni/Ava/Web.hs (port 8079) 3. UI: Single HTML file with embedded CSS/JS, no build step 4. Integration: Store trace on tool exec, include link in response

Key Files

  • Omni/Ava.hs - Main Ava entry point
  • Omni/Agent/Telegram.hs - Telegram bot logic
  • Omni/Agent/Engine.hs - Tool execution engine
  • Omni/Dev/Beryllium/Ava.nix - Deployment config

Non-goals

  • No authentication (traces are ephemeral, 7-day expiry)
  • No real-time updates or WebSocket
  • No trace editing

Child Tasks

  • t-272.1 - Add tool_traces table to Ava SQLite db [Done]
  • t-272.2 - Create Ava web server module [Done]
  • t-272.3 - Build trace viewer mini-app HTML/CSS/JS [Done]
  • t-272.4 - Integrate trace storage into tool execution [Done]
  • t-272.5 - Add trace links to Telegram tool result messages [Done]
  • t-272.6 - Deploy: Add Ava web server to Beryllium config [Done]

Timeline (1)

🔄[human]Open → Done2 months ago