You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
Voice commands are ordinary patron tool calls. The listener calls the operator's existing priced chart_show_chart (and chart_read_chart for "read") with the display owner's npub and dpop_token, and display as dictated - blank "Where?" is this Mac's agent_id. The operator relays the change and this (or the named) Mac's relay changes the chart and takes its picture; the listener never drives the chart. Only the Shortcut's free resolve and scale lookups are answered locally. "snapshot" is not bought by voice (a picture cannot be spoken).
Siri answers within about 3 seconds: an early refusal (sign-in expired, balance too low, unknown or silent display) is spoken; otherwise the hand-off, "Chart PLTR at half scale sent to Mac-mini. Good luck." ("this Mac" when "Where?" was blank; no scale for "as is"). The call finishes in the background and its outcome is logged - tool, "Where?" and any refusal, never the token.
An expired sign-in is spoken ("Your ChartRemotely sign-in expired. Answer the DM on your phone to renew.") and renewed in the background: one chart_request_npub_proof DM at a time, then chart_receive_npub_proof on a slowing schedule for about half an hour; the new token goes back into the Keychain.
chartremotely setup keeps the DM proof's dpop_token as the voice sign-in, in the login Keychain (generic password "ChartRemotely voice sign-in", one per npub), and the owner's npub in the config as owner_npub. Its DM prompt suggests replying with a longer cache_duration (e.g. 30 days, or unlimited; default 2 hours). A Mac paired with a saved or made key, or already paired, is offered the DM sign-in too. The nsec is never asked for or stored.
The voice Shortcut no longer says "On it, requesting your chart now…" before sending; it speaks only the listener's reply. Re-run chartremotely setup for the sign-in and the new Shortcut.
Removed
forward.py: the listener no longer uses the operator's /agent/forward, and no longer runs a chart change on this Mac itself.
Merged
Voice commands call the priced chart tool as a patron and hand off at once (#22)