Commit Graph

4183 Commits

Author SHA1 Message Date
Mohamed Boudra
9dcc8314b2 Add barge-in telemetry 2025-11-15 19:31:27 +01:00
Mohamed Boudra
4bd36c0808 feat: keep agents running during orchestrator speech 2025-11-15 19:21:57 +01:00
Mohamed Boudra
24a245bd17 auto-focus orchestrator agent during realtime 2025-11-15 19:18:39 +01:00
Mohamed Boudra
7284efd0fe Prototype streaming TTS chunks 2025-11-15 19:06:53 +01:00
Mohamed Boudra
561e164b02 Document streaming STT requirements 2025-11-15 18:54:37 +01:00
Mohamed Boudra
104aae95da Stop emitting TTS after speech detection 2025-11-15 18:41:31 +01:00
Mohamed Boudra
8202985bad Interrupt focused agent before realtime turns 2025-11-15 18:35:13 +01:00
Mohamed Boudra
377fa196f8 Abort realtime playback as soon as speech arrives 2025-11-15 18:26:37 +01:00
Mohamed Boudra
673c6f1594 Abort realtime turn on speech start 2025-11-15 18:21:02 +01:00
Mohamed Boudra
e7b8cc373c Add JSON validation to MCP tool responses 2025-11-15 18:18:14 +01:00
Mohamed Boudra
2a02f41182 refactor: implement agent cancellation and deletion with UI controls
Add cancel button during agent runs, real-time mode toggle in all states, and agent deletion via long-press action sheet. Server now handles cancel_agent_request and delete_agent_request messages, cleaning up agent state and notifying clients.
2025-11-15 18:13:04 +01:00
Mohamed Boudra
66b465a132 fix: update image picker media types 2025-11-15 17:49:41 +01:00
Mohamed Boudra
37d0fe0637 Run app tests in forked Vitest workers 2025-11-15 17:47:51 +01:00
Mohamed Boudra
e208f1c5bd Ensure unique fallback tool ids 2025-11-15 17:41:15 +01:00
Mohamed Boudra
19d172cc8d docs: add agent deletion feature to task list 2025-11-15 17:40:05 +01:00
Mohamed Boudra
b45583a2b2 refactor: standardize pending permission keying and user message hydration 2025-11-15 17:36:15 +01:00
Mohamed Boudra
e26219c967 test: cover tool call hydration preview 2025-11-15 17:33:56 +01:00
Mohamed Boudra
af7d7cedb0 Deduplicate replayed tool calls 2025-11-15 16:33:10 +01:00
Mohamed Boudra
edcfdf970d refactor(ui): extract diff viewer and tool call parsers into reusable components 2025-11-15 16:28:57 +01:00
Mohamed Boudra
1886898bf2 Fix image picker launcher crash 2025-11-15 15:36:22 +01:00
Mohamed Boudra
ddd10f0566 test: move stream harness into vitest 2025-11-15 15:26:49 +01:00
Mohamed Boudra
a57315d78d Add real stream regression tests 2025-11-15 15:06:43 +01:00
Mohamed Boudra
320328b0ca Work around Android dispatchDraw crash 2025-11-15 14:56:13 +01:00
Mohamed Boudra
b85deb2906 Fix duplicate keys for permission cards 2025-11-15 14:48:56 +01:00
Mohamed Boudra
1003d45004 Fix tool call deduping 2025-11-15 14:35:40 +01:00
Mohamed Boudra
e3895ddaf5 test: ensure claude hydration renders tool bodies 2025-11-15 14:15:38 +01:00
Mohamed Boudra
900cc00c03 Highlight tool call pills 2025-11-15 13:49:16 +01:00
Mohamed Boudra
bd77d53e02 Fix hydrated tool call statuses and show tool outputs 2025-11-15 13:29:55 +01:00
Mohamed Boudra
b5daa1fa66 Filter active agents from resume list 2025-11-15 12:49:19 +01:00
Mohamed Boudra
3ba748ce7c Rename refresh menu label 2025-11-15 12:44:35 +01:00
Mohamed Boudra
6da27613aa Render todo lists in agent stream 2025-11-15 12:43:01 +01:00
Mohamed Boudra
1d9f6a0df3 feat: render tool call outputs 2025-11-15 12:22:14 +01:00
Mohamed Boudra
c37e499562 refactor(agent): unify timeline events with tool_call schema and add resume/refresh capabilities 2025-11-15 11:58:41 +01:00
Mohamed Boudra
8cf808b14d refactor(agent): consolidate agent system into unified AgentManager with provider-based architecture
Replace separate ACP and agent-types modules with unified AgentManager using provider pattern. Migrate Claude and Codex implementations to provider-specific clients. Streamline session-agent integration, remove old ACP notification types, and introduce agent timeline events. Delete obsolete documentation and test files. Add AgentRegistry for persistence and agent-stream-based communication pattern.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 02:06:09 +01:00
Mohamed Boudra
90b0094aae feat: add agent registry 2025-11-14 20:20:17 +01:00
Mohamed Boudra
5a2b84ee6f test(agent): enhance timeline event tracking for commands and file changes 2025-11-14 19:59:34 +01:00
Mohamed Boudra
0f3668c9ed test(agent): add permission request handling tests for Codex agent 2025-11-14 19:40:46 +01:00
Mohamed Boudra
1dfb7913b1 feat(agent): add AgentManager for lifecycle and session management 2025-11-14 19:25:37 +01:00
Mohamed Boudra
8a0a6d9488 refactor(agent): add session history persistence and permission timeouts for Claude agent 2025-11-14 19:14:23 +01:00
Mohamed Boudra
b2c89df7c7 refactor(file-explorer): add deep linking, path navigation, diff preview, and Codex session persistence 2025-11-14 19:02:54 +01:00
Mohamed Boudra
f766a18d7b refactor(file-explorer): centralize navigation state in session context and optimize initialization 2025-11-11 18:15:46 +01:00
Mohamed Boudra
c5b30ed878 Add read-only file explorer 2025-11-07 20:36:23 +01:00
Mohamed Boudra
30686df548 chore: update expo-clipboard to v8 and fix typos in documentation 2025-11-07 09:50:27 +01:00
Mohamed Boudra
a118fd3315 refactor(agent): add wait_for_agent tool and simplify prompt sending API 2025-11-03 11:47:15 +01:00
Mohamed Boudra
1d22fe46e7 refactor: streamline agent orchestration and add blockquote styling
- Simplify agent-prompt.md with clearer delegation rules and workflow
- Add blockquote markdown styling to message component
- Update agent type to support both claude and codex agents

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 19:59:10 +01:00
Mohamed Boudra
6a88c585e3 feat(ui): improve dropdown menu contrast with lighter popover background
- Update popover background color from #09090b to #18181b (zinc-900)
- Apply popover background to dropdown menu instead of card color
- Provides better visual separation and elevated appearance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 22:42:29 +01:00
Mohamed Boudra
54c19f89bf fix(git-diff): refresh diff data on screen mount and ignore agents.json
- Always request fresh git diff when screen opens (no caching)
- Add packages/server/agents.json to .gitignore (runtime data)
- Remove agents.json from git tracking

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 22:36:24 +01:00
Mohamed Boudra
c5446e808d feat(app): add git diff viewer with dropdown menu and UI improvements
- Add git diff viewer screen to display local changes per agent
  - Parse git diff output into file sections with syntax highlighting
  - Horizontal scrolling for long diff lines (no text wrapping)
  - Request diff data on mount via new WebSocket messages

- Add dropdown menu to agent header
  - Three-dot menu button with "View Changes" option
  - Position menu below button using window-aware measurements
  - Account for safe area insets and orientation changes

- Implement server-side git operations
  - Add git_diff_request/response message types
  - Execute `git diff HEAD` in agent's working directory
  - Handle errors gracefully with proper error messages

- Update session context for git diff state
  - Add gitDiffs Map to store diff content per agent
  - Add requestGitDiff helper function
  - WebSocket handler for git_diff_response messages

- Improve agent input area layout
  - Move status bar inline with attachment button
  - Full-width text input above button row
  - Better spacing and visual hierarchy

- Simplify agent status bar to show only status dot

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 22:30:43 +01:00
Mohamed Boudra
086dde30cc feat(agent): add git diff viewer and improve permission handling
- Add git diff viewer screen accessible via agent dropdown menu
- Implement git_diff_request/response WebSocket messages
- Add dropdown menu to agent screen header with "View Changes" option
- Clear pending permissions when starting new agent turn to prevent conflicts
- Treat agent refusals as completed rather than failed state
- Add test coverage for permission handling edge cases
- Configure vitest to run in single-threaded mode for stability
- Remove redundant wrapper in agent stream view

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 22:19:16 +01:00
Mohamed Boudra
70a1852e57 refactor(modal): replace bottom sheet with native modal and custom animations
Replace @gorhom/bottom-sheet with React Native's native Modal component and implement custom slide-in/slide-out animations using Reanimated. This provides better control over modal behavior and animations while reducing dependency on external libraries.

Key changes:
- Replace BottomSheetModal with native Modal component
- Implement custom slide animations using Reanimated shared values
- Add backdrop fade in/out animations
- Extract modal sections into focused components (ModalHeader, WorkingDirectorySection, AssistantSelector, ModeSelector, WorktreeSection)
- Add responsive layout support with compact/wide screen detection
- Fix keyboard animation to use transform instead of padding
- Improve modal lifecycle management with mount/unmount state tracking

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 20:37:14 +01:00