feat: Add AgentBar arc dock with per-agent terminal frame and voice modal

- Add ui.json configs for Main (purple) and Ejecutor (red) agents
- AgentBar: fused arc-shaped dock at bottom with dynamic glow
- Quick press opens styled terminal frame mockup
- Hold opens voice modal with Web Speech API streaming transcription
- Responsive: full-width mobile, max-width on tablet/desktop/4K
- Agents API: serve uiConfig from ui.json in agent directories
- Agents page: route, store, toolbar integration
This commit is contained in:
2026-02-15 02:58:11 -06:00
parent 9f9f335439
commit e9689d6ea8
12 changed files with 1698 additions and 31 deletions

View File

@@ -12,6 +12,7 @@ import { handleRecordingsRoutes } from './recordings'
import { handleClaudeStatus } from './claude-status'
import { handleSnapshots, handleSnapshotById } from './snapshots'
import { handleGitStatus, handleGitDiff, handleGitLog, handleGitLogCommit, handleGitCompare, handleGitBranches, handleGitCurrentBranch, handleGitTree, handleGitFile } from './git'
import { handleAgents, handleAgentsFile } from './agents'
export async function handleRequest(req: Request): Promise<Response> {
const url = new URL(req.url)
@@ -247,5 +248,15 @@ export async function handleRequest(req: Request): Promise<Response> {
return handleGitFile(url)
}
// Agents
if (path === '/api/agents' && req.method === 'GET') {
return handleAgents(req)
}
if (path === '/api/agents/file') {
const res = await handleAgentsFile(req, url)
if (res) return res
}
return notFoundResponse()
}