mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-15 21:11:08 +02:00
Analytics: the new runtime emitted usage into durable events but never reported it to PostHog (only the permission classifier self-reported). New IUsageReporter seam on the turn loop — invoked once per completed model call, after the durable append, failure-isolated. The real bridge emits the same llm_usage event as the old loop; useCase/subUseCase come from the AsyncLocalStorage context the stage-6 headless runners already establish via withUseCase, defaulting to copilot_chat for UI-driven session turns (matching the old createRun default). Capturing at the loop covers ALL turns — the session bus never sees headless ones. Voice: the new renderer path rendered <voice> tags literally and never fired TTS. The live overlay now extracts completed <voice> blocks (robust to tags split across deltas) into chatState.voiceSegments; App speaks new segments via the existing useVoiceTTS when voice output is on, skipping segments streamed before a session became active. Tags are stripped from both the streaming message and persisted assistant messages, mirroring the legacy display-time strip. Tests: usage report assertion in the runtime suite; four voice tests (split-delta extraction, per-call scan reset, state stripping+segments, persisted-message stripping). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| account | ||
| agent-schedule | ||
| agents | ||
| analytics | ||
| application | ||
| auth | ||
| background-tasks | ||
| billing | ||
| code-mode | ||
| composio | ||
| config | ||
| di | ||
| events | ||
| filesystem | ||
| knowledge | ||
| local-sites | ||
| mcp | ||
| migrations | ||
| models | ||
| pre_built | ||
| runs | ||
| schedule | ||
| search | ||
| security | ||
| services | ||
| sessions | ||
| slack | ||
| turns | ||
| voice | ||
| workspace | ||
| index.ts | ||