it0/it0_app/lib
hailin 54257ac944 feat(voice): route instance voice calls through OpenClaw bridge
When a user places a voice call from an instance chat page (AgentInstanceChatPage),
the call is now routed through the OpenClaw bridge instead of iAgent's
VoiceSessionManager SDK loop. iAgent voice behavior is completely unchanged.

Changes:
- Flutter: ChatPage accepts agentInstanceId, passes to AgentCallPage
- Flutter: AgentCallPage sends instance_id in livekit/token request body
- Flutter: AgentInstanceChatPage passes instance.id as agentInstanceId
- voice-service: livekit_token.py includes instance_id in dispatch metadata
- voice-agent: agent.py reads instance_id from metadata, passes to LLM
- voice-agent: agent_llm.py stores _instance_id, sends instanceId in voice/start
- agent-service voice/start: stores instanceId in session metadata; skips
  VoiceSessionManager for instance mode (iAgent path unchanged)
- agent-service voice/inject: detects instanceId in session metadata and
  fire-and-forgets to OpenClaw bridge; callback via openclaw-app-callback
  emits text WS events that voice-agent collects for TTS playback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 10:00:15 -07:00
..
core fix(app): hide iAgent FAB on My Agents tab to prevent confusion 2026-03-10 09:00:09 -07:00
features feat(voice): route instance voice calls through OpenClaw bridge 2026-03-10 10:00:15 -07:00
l10n feat(flutter): add 4 general-purpose official agents to home page 2026-03-08 01:54:29 -08:00
app.dart feat(flutter): i18n体系(zh/zh_TW/en) + 智能体解聘功能 2026-03-08 00:05:55 -08:00
main.dart feat: add app upgrade system with self-hosted APK update support 2026-02-26 22:35:01 -08:00