Commit Graph

408 Commits

Author SHA1 Message Date
Peter Steinberger
a541f83f16 macOS: include mail sounds in chime picker 2025-12-09 03:28:29 +01:00
Peter Steinberger
291a6d572d macOS: broaden chime sound catalog 2025-12-09 03:27:17 +01:00
Peter Steinberger
903f0d3d94 Control: route health/heartbeat over RPC stdio 2025-12-09 02:26:08 +00:00
Peter Steinberger
6e766633cf Docs: voice overlay plan and fix web mocks 2025-12-09 03:25:55 +01:00
Peter Steinberger
743ac65829 Voice wake: log overlay lifecycle and enforce PTT cooldown 2025-12-09 03:20:52 +01:00
Peter Steinberger
ff9acf33e0 fix(voicewake): snap overlay to top-right 2025-12-09 03:18:05 +01:00
Peter Steinberger
e728ef1272 Voice wake: drop stale recognition callbacks 2025-12-09 03:08:22 +01:00
Peter Steinberger
2d6140ac50 fix merge; add control logging 2025-12-09 01:46:09 +00:00
Peter Steinberger
2aeaa06a95 style(macos): remove quit separator and resize settings 2025-12-09 02:28:05 +01:00
Peter Steinberger
c543f71a45 feat(macos): add instances tab and presence beacons 2025-12-09 02:25:45 +01:00
Peter Steinberger
40b4fe277e Voice wake: send or dismiss on release 2025-12-09 02:25:06 +01:00
Peter Steinberger
6491048c52 chore: harden rpc assistant streaming types 2025-12-09 01:41:05 +01:00
Peter Steinberger
ac17dc581a feat(macos): surface session activity in menu bar 2025-12-09 01:41:05 +01:00
Peter Steinberger
ee6c509aa4 control: reconnect on EOF and relax rpc text parse 2025-12-09 00:29:31 +00:00
Peter Steinberger
1cae65acdb chore: single-source working state from agent events 2025-12-09 01:17:01 +01:00
Peter Steinberger
9b4c7bedb8 chore(mac): drop duplicate job-state tracking 2025-12-09 01:06:46 +01:00
Peter Steinberger
b21a1e68f9 macos: log health timeout and control requests 2025-12-09 00:00:50 +00:00
Peter Steinberger
b5d80a57b4 chore(mac): prefer host runtime for remote relay 2025-12-09 00:59:56 +01:00
Peter Steinberger
85fdcfe0de chore: guard host runtime and simplify packaging 2025-12-09 00:59:56 +01:00
Peter Steinberger
388a33df9f feat(mac): add agent events debug window 2025-12-09 00:59:56 +01:00
Peter Steinberger
0f5cc91536 macOS: extract attributed string helper 2025-12-09 00:59:56 +01:00
Peter Steinberger
1c341a9033 relay: don't crash when webchat port is busy 2025-12-08 23:49:57 +00:00
Peter Steinberger
83ba6a4b33 feat: stream tool/job events over control channel 2025-12-09 00:31:39 +01:00
Peter Steinberger
14c117f1ea feat: broadcast agent events over control channel 2025-12-09 00:28:03 +01:00
Peter Steinberger
6581b3d43a refactor(mac): split menubar UI into smaller files 2025-12-09 00:27:53 +01:00
Peter Steinberger
6e957d53cd macos: show detailed health failure 2025-12-08 23:20:14 +00:00
Peter Steinberger
40dc21128f feat: emit job-state events from rpc 2025-12-09 00:18:14 +01:00
Peter Steinberger
6e5e466052 fix(mac): stabilize voice wake visuals 2025-12-09 00:12:43 +01:00
Peter Steinberger
662749df89 Mac: clarify runtime comments 2025-12-09 00:08:19 +01:00
Peter Steinberger
4238316abe fix(mac): switch push-to-talk to right option 2025-12-08 23:50:31 +01:00
Peter Steinberger
5fa1de87d9 macos: timeout control health probes 2025-12-08 22:45:58 +00:00
Peter Steinberger
6ca9ab9ad2 macos: keep remote control tunnel alive 2025-12-08 23:28:03 +01:00
Peter Steinberger
9a2f868216 Build: update webchat bundle 2025-12-08 23:20:10 +01:00
Peter Steinberger
4f061e92ec VoiceWake: track listening state for PTT 2025-12-08 23:17:11 +01:00
Peter Steinberger
f8cfc92127 macos: swap bubble shadow for 1px border 2025-12-08 23:14:00 +01:00
Peter Steinberger
5ec4b930cf macos: add inset margin so overlay shadow isn't clipped 2025-12-08 22:56:49 +01:00
Peter Steinberger
07b72bbf5a macos: fail fast when SSH tunnel exits 2025-12-08 22:53:40 +01:00
Peter Steinberger
6184ff62de VoiceWake: guard trigger chime 2025-12-08 22:52:51 +01:00
Peter Steinberger
374351530e macos: add soft shadow behind overlay bubble 2025-12-08 22:51:04 +01:00
Peter Steinberger
1aab87b8fd macos: deepen shadow on close pill 2025-12-08 22:45:40 +01:00
Peter Steinberger
8f20b3c657 Remove overlay bar meter 2025-12-08 22:45:40 +01:00
Peter Steinberger
47a4a22ebb macos: restore overlay close button 2025-12-08 21:40:18 +00:00
Peter Steinberger
72f54fc78e macos: stabilize close hover and unclipped button 2025-12-08 22:38:51 +01:00
Peter Steinberger
6b0453edc3 VoiceWake: button meter + fix label color 2025-12-08 22:38:30 +01:00
Peter Steinberger
0f8901bd57 macos: stabilize control connection wait 2025-12-08 21:37:07 +00:00
Peter Steinberger
701f14dae4 macos: blink critter when overlay dismisses empty 2025-12-08 22:34:11 +01:00
Peter Steinberger
422a9ae515 macos: sync ears with overlay visibility 2025-12-08 22:31:03 +01:00
Peter Steinberger
4dbbd6c717 VoiceWake: add level meter 2025-12-08 22:28:49 +01:00
Peter Steinberger
735e5f5c6d macos: refine speech noise floor tracking 2025-12-08 22:24:12 +01:00
Peter Steinberger
9580ff3ac0 macos: polish voice overlay and remote command handling 2025-12-08 22:23:24 +01:00
Peter Steinberger
d1d4906db2 macos: harden control channel connect continuation 2025-12-08 22:16:05 +01:00
Peter Steinberger
609b89b653 ux: float close button outside bubble, stronger shadow 2025-12-08 22:11:38 +01:00
Peter Steinberger
a45cd40158 macos: control channel diagnostics and tunnel-based testing 2025-12-08 22:04:02 +01:00
Peter Steinberger
a44ddb3eea fix: avoid auto-send task init error 2025-12-08 22:02:03 +01:00
Peter Steinberger
43d52297f8 ux: float close button outside bubble and reduce hover flicker 2025-12-08 21:59:05 +01:00
Peter Steinberger
1ba7dcf0b1 chore: sync webchat bundle and voice wake settings 2025-12-08 21:51:08 +01:00
Peter Steinberger
926c6dd90f macos: use control channel for health and heartbeat 2025-12-08 21:50:51 +01:00
Peter Steinberger
bebd620656 VoiceWake: centralize send chime and guard play 2025-12-08 21:25:30 +01:00
Peter Steinberger
21127449ff ux: add hover/ edit close button and keep overlay until escape or send 2025-12-08 21:22:04 +01:00
Peter Steinberger
b754971847 VoiceWake: skip send chime when nothing to send 2025-12-08 20:57:41 +01:00
Peter Steinberger
bb2cb83126 VoiceWake: streamline chimes, default to Glass 2025-12-08 20:50:34 +01:00
Peter Steinberger
17fc11e475 VoiceWake: add chimes for trigger and send 2025-12-08 20:45:05 +01:00
Peter Steinberger
2c4fbf82d0 ux: keep window in edit, add escape to cancel; fix lint drift 2025-12-08 20:22:56 +01:00
Peter Steinberger
f38556bebf VoiceWake: sanitize triggers only when applying 2025-12-08 20:20:56 +01:00
Peter Steinberger
43183aeff7 RPC: stream heartbeat events to menu 2025-12-08 20:18:54 +01:00
Peter Steinberger
ecc0743fd8 HeartbeatStore: fix main-actor cleanup 2025-12-08 20:17:38 +01:00
Peter Steinberger
13bbc5cfe6 VoiceWake: keep empty trigger rows 2025-12-08 20:13:49 +01:00
Peter Steinberger
0782d913f6 ux: top-align overlay content 2025-12-08 20:10:39 +01:00
Peter Steinberger
ede1d43f99 ui: strip label color attributes so text uses primary color 2025-12-08 20:00:36 +01:00
Peter Steinberger
414acf3aaf ux: use primary text color in display label 2025-12-08 19:57:29 +01:00
Peter Steinberger
90e8b97e5e ux: wrap label to overlay width, remove label background 2025-12-08 19:43:07 +01:00
Peter Steinberger
4cf5862d61 ux: keep vibrancy, brighten label, ensure wrapping 2025-12-08 19:36:48 +01:00
Peter Steinberger
41d807d66b ui: drop translucency for overlay background 2025-12-08 19:20:46 +01:00
Peter Steinberger
c219067e73 ux: brighten display label and wrap properly 2025-12-08 19:15:58 +01:00
Peter Steinberger
d7183f0ff3 ux: show vibrant label until edit, then switch to text view 2025-12-08 19:11:59 +01:00
Peter Steinberger
2f6c23e2b9 tweak: strengthen partial transcript tint 2025-12-08 18:54:02 +01:00
Peter Steinberger
964db9b232 tweak: centralize overlay max/min heights 2025-12-08 18:52:19 +01:00
Peter Steinberger
8c13ed42f3 fix: hide overlay scrollbar unless content overflows 2025-12-08 18:50:14 +01:00
Peter Steinberger
132cc164e8 perf(mac): move blocking launchctl/webchat work off main 2025-12-08 18:42:13 +01:00
Peter Steinberger
980815f6dd tweak: allow overlay to grow to 400px then scroll 2025-12-08 18:33:14 +01:00
Peter Steinberger
0484f2782b fix: keep overlay attributed colors and auto-resize 2025-12-08 18:28:17 +01:00
Peter Steinberger
a755f55757 docs/macos: simplify sag install (auto-tap) 2025-12-08 18:19:54 +01:00
Peter Steinberger
4d3a82dc85 fix: polish voice overlay and webchat lint 2025-12-08 17:32:34 +01:00
Peter Steinberger
c7ffca1fea fix(mac): surface webchat load failures and preflight reachability 2025-12-08 17:24:08 +01:00
Peter Steinberger
0cf02f5b79 feat(mac): add push-to-talk hotkey 2025-12-08 17:24:08 +01:00
Peter Steinberger
b07763df7d Webchat: push updates over WebSocket 2025-12-08 16:19:33 +00:00
Peter Steinberger
141af1715a fix: restart webchat tunnel on main actor 2025-12-08 17:14:43 +01:00
Peter Steinberger
3903ad5e3a fix(mac): harden remote webchat tunnel and keep it alive 2025-12-08 17:14:43 +01:00
Peter Steinberger
492d0229ab fix: resize overlay on text updates and keep final tint 2025-12-08 17:14:43 +01:00
Peter Steinberger
9e3e6acd88 Webchat: poll session for messages/thinking 2025-12-08 16:14:12 +00:00
Peter Steinberger
11b31f7b47 Webchat: sync thinking level with session 2025-12-08 16:10:14 +00:00
Peter Steinberger
dd2a3b5e26 chore: use 5s silence before speech, 2s after 2025-12-08 17:06:12 +01:00
Peter Steinberger
5b1d5d5dbc chore: fix lint warnings and formatting 2025-12-08 17:05:27 +01:00
Peter Steinberger
36e7996646 chore: extend voice capture hard stop to 120s 2025-12-08 16:58:38 +01:00
Peter Steinberger
169be77ad6 chore: use 2s silence or 5s max capture 2025-12-08 16:55:08 +01:00
Peter Steinberger
eb138da2cd fix(mac): run remote health with pnpm under zsh 2025-12-08 16:52:42 +01:00
Peter Steinberger
56cb9e4153 fix: finalize only after full 1s silence 2025-12-08 16:52:13 +01:00
Peter Steinberger
b53084adb6 fix(mac): surface health errors instead of pending 2025-12-08 16:50:20 +01:00
Peter Steinberger
ccf682acb3 feat: add outcome-based dismiss animations 2025-12-08 16:49:58 +01:00
Peter Steinberger
1f6f30f38a chore: remove overlay shadow/border 2025-12-08 16:45:25 +01:00