4 Commits

Author SHA1 Message Date
823af3c486 feat(pi-notifications): switch to afplay audio instead of desktop notifications
- Uses afplay to play an audio file (default: Glass.aiff)
- Configurable via PI_NOTIFICATION_AUDIO env var
- Works from sandboxed context — no osascript needed
- test-notify.ts verifies audio playback standalone
- Synced to auto-discovery extension path
2026-04-28 13:02:18 +01:00
040513e1d6 feat(pi-notifications): use 'tell application' for notifications to suppress Show button
- Tell target app (default: Ghostty) to display notification instead of raw osascript
- This attributes notification to the app, avoiding the 'Show' button that opens Script Editor
- Configurable via PI_NOTIFICATION_APP env var
- test-notify.ts falls back to plain display notification if target app isn't running
- Synced to auto-discovery extension path
2026-04-28 12:56:02 +01:00
383cb46fe7 feat(pi-notifications): add standalone test-notify.ts and fix AppleScript sound bug
- Add packages/pi-notifications/src/test-notify.ts for isolated testing
  - Run with: node --input-type=module -e "import {createJiti} from ..." ./packages/pi-notifications/src/test-notify.ts
  - Decoupled from agent loop — verifies osascript in extension context
- Fix: 'default' is a reserved word in AppleScript, skip sound param when sound='default'
- Synced fix to auto-discovery extension path
2026-04-28 12:10:30 +01:00
45a13fd08c feat(pi-notifications): add PI_NOTIFICATION_DEBUG mode with visible steer signal
- Add PI_NOTIFICATION_DEBUG=true env var
- When enabled, calls ctx.ui.steer() instead of desktop notification
- Lets you verify trigger logic in the agent loop without actual notifications
- Synced to both monorepo and auto-discovery extension paths
2026-04-28 12:09:06 +01:00