Commit Graph

106 Commits

Author SHA1 Message Date
Mohamed Boudra
79aec0069c Improve daemon RPC resiliency and diff handling 2026-02-04 10:21:36 +07:00
Mohamed Boudra
363566587e Fix web voice mode; share VAD/segmenting 2026-02-04 08:22:27 +07:00
Mohamed Boudra
469a25c724 feat: add live model and thinking option preferences UI (#8)
* feat: add live model and thinking option preferences UI

* refactor: remove agent variant support and clean up thinking options

* feat: live model + thinking presets (RPC)
2026-02-04 08:18:15 +07:00
Mohamed Boudra
cf9c1c23d3 Merge branch 'main' into real-time/voice-agent-ui-refresh 2026-02-03 23:12:19 +07:00
Mohamed Boudra
d500b25632 refactor: rename realtime to voice throughout codebase 2026-02-03 23:12:17 +07:00
Mohamed Boudra
201fbcc0c6 Merge branch 'main' of github.com:boudra/paseo 2026-02-03 23:05:12 +07:00
Mohamed Boudra
14b0db55b0 consolidate checkout status handling and improve git detection 2026-02-03 14:50:15 +07:00
Mohamed Boudra
af89de1237 feat: add presence-gated Expo push notifications 2026-02-03 12:59:00 +07:00
Mohamed Boudra
bf9555829b refactor: replace agent_list polling with request/response RPC pattern 2026-02-01 22:37:32 +07:00
Mohamed Boudra
0618dc6b0d refactor: rename session_state to agent_list and add subscriptions 2026-01-30 13:39:40 +07:00
Mohamed Boudra
c015fdbef1 refactor: replace agent-control MCP with labels system and Paseo MCP 2026-01-29 11:31:15 +07:00
Mohamed Boudra
f7935f9cc1 Update files 2026-01-28 15:25:12 +07:00
Mohamed Boudra
96b211a2cf Update files 2026-01-28 13:25:48 +07:00
Mohamed Boudra
766585d1cb Update files 2026-01-27 13:06:01 +07:00
Mohamed Boudra
637967fa14 Update files 2026-01-26 20:38:39 +07:00
Mohamed Boudra
c233c99cd3 Update files 2026-01-26 18:03:51 +07:00
Mohamed Boudra
ccd175b4b7 Capture dictation/TTS debug audio and show dictation errors 2026-01-25 09:35:07 +07:00
Mohamed Boudra
9af2957ca0 Update files 2026-01-24 21:43:51 +07:00
Mohamed Boudra
6ecf88b502 refactor agent route for draft→chat transition 2026-01-24 19:18:07 +07:00
Mohamed Boudra
b498c9ea81 Add streaming ASR partial transcripts and reset hosts to env default
- Stream partial transcripts to the client during dictation for live feedback
- Use OpenAI semantic VAD instead of manual commit intervals for better word boundaries
- Append silence tail on finish to flush final utterance through VAD
- Skip committing silence-only audio tails
- Reset hosts to env-defined daemon when env var is present, overriding stored state
2026-01-24 19:01:14 +07:00
Mohamed Boudra
b86075040d Update files 2026-01-24 16:10:58 +07:00
Mohamed Boudra
a0cab29e1a Merge branch 'lockdown-dictation-e2e' 2026-01-23 18:55:21 +07:00
Mohamed Boudra
0ff0293a97 Stream dictation via OpenAI Realtime and simplify retry UI 2026-01-23 18:55:14 +07:00
Mohamed Boudra
907b9f9fbd Dedup checkout status refetch and in-flight requests 2026-01-23 15:46:44 +07:00
Mohamed Boudra
eab8713c24 Persist base branch for Paseo worktrees and gate merge action 2026-01-23 15:27:42 +07:00
Mohamed Boudra
27c493922c Replace checkout diff parsing with async highlighted diff 2026-01-23 11:23:56 +07:00
Mohamed Boudra
53155ebcc9 feat(app): checkout diff pane styling and e2e test support
- Style diff file cards edge-to-edge with single divider between files
- Remove monospace font from filenames for better readability
- Add checkout-ship e2e test for app
- Export Page type from e2e fixtures
- Add checkout query hooks for diff, status, and PR status
2026-01-23 08:37:15 +07:00
Mohamed Boudra
ddbcc272f1 feat: migrate from wsUrl to endpoints + add relay transport and pairing 2026-01-21 14:55:23 +07:00
Mohamed Boudra
ae9a98223f refactor: rename conversation to voice conversation throughout stack 2026-01-21 11:43:16 +07:00
Mohamed Boudra
513138ac13 Fix e2e daemon isolation and fast model defaults 2026-01-20 13:36:06 +07:00
Mohamed Boudra
facd99ab13 Fix dictation lifecycle and add real STT e2e 2026-01-20 13:09:22 +07:00
Mohamed Boudra
687ea706b1 test(app): add E2E tests and improve form state with test coverage 2026-01-20 12:12:29 +07:00
Mohamed Boudra
d9c487dd54 feat: add Tauri desktop app support and terminal management 2026-01-20 10:09:35 +07:00
Mohamed Boudra
ed50c168ad refactor(app): unified panel state machine for mobile sidebars
Replace separate sidebar stores with a unified panel store that uses a
discriminated union state machine on mobile. This makes it impossible
for both the agent list and file explorer sidebars to be open at the
same time on mobile.

Mobile state machine (mobileView):
- 'agent': Main agent view (no overlay panel)
- 'agent-list': Agent list sidebar (left overlay)
- 'file-explorer': File explorer sidebar (right overlay)

Desktop retains independent boolean toggles since sidebars sit
alongside content rather than overlaying it.

Key changes:
- Created stores/panel-store.ts with unified state
- Deleted stores/sidebar-store.ts and explorer-sidebar-store.ts
- Updated all components to use new panel store
- Animation contexts derive isOpen from unified state
2026-01-16 16:19:49 +07:00
Mohamed Boudra
ef853914d5 feat: improve agent stream view UI, fix history replay timestamps, and enhance planner/worker loop 2026-01-15 15:10:08 +07:00
Mohamed Boudra
6ac2ef7366 feat: add favicon status hook 2026-01-14 19:19:04 +07:00
Mohamed Boudra
f1827731ed fix: resolve type errors for CI deployment 2026-01-14 19:11:01 +07:00
Mohamed Boudra
34a49c147f feat: add smart notification routing with device-aware heartbeats and push support 2026-01-13 16:07:34 +07:00
Mohamed Boudra
868f9fb571 WIP: Large refactor checkpoint
- Refactored daemon client and RPC layer
- Added new client package structure in server
- Removed legacy hooks (use-daemon-request, use-session-rpc, use-websocket)
- Added use-daemon-client hook
- Added e2e test infrastructure with Playwright
- Updated agent providers and session handling
- Removed codex-sdk patches
2026-01-12 13:30:20 +07:00
Mohamed Boudra
f81fd1c01a Add command autocomplete and stream spacing updates 2026-01-11 22:36:34 +07:00
Mohamed Boudra
e57cad2660 feat(app): extract form preferences into dedicated hook with per-provider storage 2026-01-11 16:21:59 +07:00
Mohamed Boudra
ebabcc09e5 feat: add opencode provider and refactor stream model to head/tail architecture 2026-01-11 16:00:25 +07:00
Mohamed Boudra
a515f1fd03 feat: add drag-and-drop image upload and improve image previews
- Add FileDropZone component with overlay for web drag-and-drop
- Add useFileDropZone hook using native addEventListener for web
- Wire up drag-drop to agent screen to add images to input
- Improve image preview styling with visible border
- Show X button on hover with dark overlay for removal

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-07 18:05:02 +07:00
Mohamed Boudra
ed25db4e22 feat(git-diff): server-side syntax highlighting with full file context
- Move syntax highlighting from client to server for proper AST context
- Add highlighted_diff_request/response message types
- Create diff-highlighter and syntax-highlighter utils on server
- Fix TSX dialect to use "ts jsx" for proper TypeScript parsing
- Redesign diff UI: card-style file sections, GitHub Dark theme colors
- Reduce visual clutter: smaller padding, subtle backgrounds

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 15:26:09 +07:00
Mohamed Boudra
bf22373502 feat(git-diff): add 10-second auto-refetch interval
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 08:25:22 +07:00
Mohamed Boudra
348242541c feat(git-diff): add React Query with pull-to-refresh and cleaner diff display
- Add useGitDiffQuery hook using React Query for caching and revalidation
- Add sendRpcRequest utility for promisified WebSocket RPC with requestId matching
- Add requestId to git_diff_request/response for proper request correlation
- Enable pull-to-refresh via RefreshControl in GitDiffPane
- Auto-revalidate when sidebar opens with "changes" tab active
- Clean up diff display: remove metadata noise, strip +/- prefixes
- Default both sidebars open on web platform

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 21:27:35 +07:00
Mohamed Boudra
e8890a2fc1 wip: uncommitted changes
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 16:06:40 +07:00
Mohamed Boudra
b3a1729df2 Use replace navigation for agent switches 2026-01-01 16:55:58 +07:00
Mohamed Boudra
0cb8bbcf62 Improve dictation UX: transcribe-only mode with UI fixes
- Dictation now appends transcribed text to input instead of auto-sending
- Voice button stays visible even with attachments or existing text
- Dictation works on create agent screen (not just agent chat)
- Input auto-grows when dictation appends text
- New agent screen input has solid background (no transparency)
- Timer preserves duration after confirming (no scary reset to zero)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 11:24:15 +07:00
Mohamed Boudra
1269edcb6e Persist new agent form config 2025-12-28 23:36:05 +07:00