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.
What's new
Vision fallback: image questions walk a chain (gemini-3.8-flash → 3.7-flash → 3.6-flash → Claude Haiku 4.5 → GPT-5 mini) instead of failing when one provider is out of credit. Router.chain() and describe_with_fallback() are new.
Documents: make_document writes PDF, Word, Excel and PowerPoint from Markdown (or from a file) into documents/. openpyxl, python-docx and reportlab are now installed everywhere; python-pptx is new.
Phone as a last resort: the phone decision prefers otto's own tools, judges attached files by name only, and when no model can decide, uses the phone only for an explicit device request.
Phone action dictionary: a bridge that offers actions() / run_action() gets phone_find (search the phone's premapped actions) and phone_action (run one by name). The prompt stays the same size however many actions the phone has. Actions the person finishes hand the phone over; message text and recipients stay out of the log.