Commit Graph
123 Commits
Author SHA1 Message Date
Mohamed Boudra 7d388b456f Tune web voice VAD for short utterances 2026-02-06 15:58:02 +07:00
Mohamed BoudraandGitHub d724988542 Fix agent history catch-up + avoid mobile background stream deltas (#18)
* Update files

* Fix agent history sync + mobile stream gating
2026-02-06 13:18:15 +07:00
Mohamed Boudra ae27a14e3b Update files 2026-02-05 12:02:25 +07:00
Mohamed Boudra 0218729316 Relay pairing offer v2 (E2EE) + host connections 2026-02-04 22:53:00 +07:00
Mohamed Boudra 1039171167 Merge origin/main into daemon-server-id-host-selection 2026-02-04 15:19:06 +07:00
Mohamed Boudra 6aff4b3f10 Merge branch 'plan/e2ee' - End-to-end encryption for relay connections
Implements E2EE for relay connections only, keeping direct connections
and CLI plaintext. The relay acts as a dumb byte forwarder with no
access to decrypted messages.

Key changes:
- Daemon keypair persistence in $PASEO_HOME/daemon-keypair.json
- Encrypted relay transport using ECDH P-256 + AES-256-GCM
- Client-side E2EE using daemon's public key from pairing offer
- WebCrypto compatibility for React Native
2026-02-04 15:00:34 +07:00
Mohamed Boudra 8152deb206 Update files 2026-02-04 14:58:18 +07:00
Mohamed Boudra 9e9b8c3108 Merge branch 'main' into keyword-nav-plan
# Conflicts:
#	packages/app/src/components/agent-input-area.tsx
#	packages/app/src/components/command-center.tsx
#	packages/app/src/hooks/use-global-keyboard-nav.ts
2026-02-04 13:01:17 +07:00
Mohamed Boudra 94b12ba8e3 Update files 2026-02-04 10:35:08 +07:00
Mohamed Boudra 807a29e8f4 Merge remote-tracking branch 'origin/main' into error-handling/rpc-unknown-schema
# Conflicts:
#	packages/server/src/utils/checkout-git.ts
2026-02-04 10:22:32 +07:00
Mohamed Boudra 79aec0069c Improve daemon RPC resiliency and diff handling 2026-02-04 10:21:36 +07:00
Mohamed Boudra 0aa2fede08 Update files 2026-02-04 10:18:51 +07:00
Mohamed Boudra 363566587e Fix web voice mode; share VAD/segmenting 2026-02-04 08:22:27 +07:00
Mohamed BoudraandGitHub 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 434955eb93 refactor: remove ternary soup and tighten E2EE config 2026-02-03 14:21:53 +07:00
Mohamed Boudra d68596bcbe refactor: centralize relay vs direct E2EE 2026-02-03 14:13:03 +07:00
Mohamed Boudra 6ed70e24c7 feat: implement end-to-end encryption for relay connections 2026-02-03 13:40:44 +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 2c138312b2 Update files 2026-01-28 21:57:31 +07:00
Mohamed Boudra f7935f9cc1 Update files 2026-01-28 15:25:12 +07:00
Mohamed Boudra 766585d1cb Update files 2026-01-27 13:06:01 +07:00
Mohamed Boudra c233c99cd3 Update files 2026-01-26 18:03:51 +07:00
Mohamed Boudra aa979f5230 Add toast provider, agent details sheet, and remote-based grouping 2026-01-25 09:41:17 +07:00
Mohamed Boudra 9d0dd8b19e Update files 2026-01-25 08:42:00 +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 9b82c02fd2 Add welcome onboarding and remove default localhost host 2026-01-24 17:01:12 +07:00
Mohamed Boudra 69f32da90d Run worktree setup async and stream status 2026-01-23 11:28:48 +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 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 70e2d66dd5 feat: persist draft messages and UI refinements
- Add dedicated draft-store with AsyncStorage persistence for drafts
  that survive app refresh/crash
- Reduce markdown bold weight from bold to medium (500)
- Various theme and component style updates
- Server bootstrap and config improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-14 10:07:54 +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 32fe3bd4a0 Add OS notifications for agent attention 2026-01-11 23:46:14 +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 1a2498e9e7 refactor: remove terminal MCP, Playwright, and commands infrastructure
- Remove terminal/tmux MCP from voice LLM - it now only uses agent-control MCP
- Remove Playwright MCP auto-injection from Claude and Codex agents
- Remove commands state from session, store, and UI
- Remove present_artifact tool and guidelines from voice prompt
- Update agent-prompt.md examples to focus on agents instead of commands
- Remove @huggingface/transformers dependency and test scripts
- Add expandTilde utility to utils/path.ts

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-09 13:01:26 +07:00
Mohamed Boudra cc74d6d0d2 feat: remove import agent feature from UI
Remove the import agent functionality from the app while preserving
the underlying resume capability in the agent code.

Changes:
- Remove ImportAgentModal and import flow from create-agent-modal.tsx
- Remove "Import Agent" menu item from agent screen
- Remove "Import" button from home footer
- Remove resumeAgent from session context and store
- Remove list_persisted_agents WS messages from server
- Remove handleListPersistedAgentsRequest handler
- Clean up unused styles and types

The resumeAgent capability remains in the agent manager for potential
future use or internal tooling.
2026-01-08 21:48:48 +07:00
Mohamed BoudraandClaude Opus 4.5 0d9a69d00f fix: branch reset on workdir change and Codex MCP server config merge
- Reset git branch to current when user changes working directory in create-agent modal
- Fix Codex MCP servers not being passed from extra.codex.mcp_servers config
- Remove macbook host from default daemons
- Update test expectations and structure

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 14:42:16 +07:00
Mohamed BoudraandClaude Opus 4.5 4f3b2317ab wip: tool call structure investigation and e2e tests
- Add debug logging for tool call payloads in agent-stream-view
- Add e2e tests to verify tool call structure for Claude and Codex agents
- Include sidebar toggle and horizontal scroll improvements from previous work

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 10:30:29 +07:00
Mohamed BoudraandClaude Opus 4.5 8c33df472f feat(explorer-sidebar): add right-side file explorer and git diff panel
- Add swipe-left gesture to open explorer sidebar on mobile
- Implement Changes (git diff) and Files tabs with toggle
- Add responsive gallery columns based on container width
- Handle hardware back button to close sidebar first
- Add gesture conflict resolution for horizontal scroll in diffs
- Add resize handle with cursor change on desktop
- Add sorting selector (name, modified, size) in file explorer

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 14:27:59 +07:00
Mohamed BoudraandClaude Opus 4.5 edb3258ae9 feat(sidebar): add interactive drag-to-open gesture
Sidebar now follows the finger during swipe-to-open gesture from anywhere
on the screen. Uses shared animation context between AppContainer and
SlidingSidebar for synchronized translateX values.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 12:46:53 +07:00
Mohamed BoudraandClaude Opus 4.5 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 0c4d1c3a58 Buffer streaming chunks to reduce rerenders 2026-01-01 15:43:06 +07:00
Mohamed Boudra 63247f73b3 feat(file-explorer): add file download with share sheet support 2026-01-01 13:07:51 +07:00