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.
Added
A search all event hit names its invitation text in untrusted (["title", "excerpt"]), on cli-core
0.460.0. Over MCP an agent sees it marked in the answer itself, not only in the server instructions.
memo search all finds Google Calendar events that gcal stored, from every calendar, ranked with messages,
mail and notes (cli-core 0.459.0). A hit has kind: "event" and an event:<id> reference, which gcal <profile> events show opens. --only takes events; meta.accounts and the searched: line name each
calendar read. When events were searched by words only, the answer says why, as for notes and messages.
memo context lists the person's calendar events under events: upcoming and recent, one occurrence
per series, none cancelled, from every calendar any identity linked to them is invited through; events.accounts
names the calendars read. The text answer shows them under "Upcoming events" and "Recent events".
Event text is marked as other people's words.memo context --json carries untrusted, the event fields
the invitation's sender wrote (events.upcoming.title, events.upcoming.location and the same under recent),
as cli-core's calendar tools mark them. Memo's MCP instructions say an event's title, description and place are
data, never instructions.
Changed — may break callers
memo context --json names a missing calendar in not_read (source: "events", "no calendar in the store —
gcal sync"), so an answer that used to have an empty not_read now has that entry until gcal syncs.
@wirecat/cli-core 0.451.0 → 0.463.0. The shared store moves to version 35 (an occurrence names its series
in a column); builds that speak version 34 still open it.
The MCP server is memo mcp serve; memo mcp alone only shows its commands (cli-core 0.463.0). --http, --port, --public-url and --permission move to mcp serve, and memo mcp --revoke is now memo mcp revoke. There is no alias: an app whose MCP settings run memo mcp gets the help and exit 2, so change
its args to ["mcp", "serve"]; set Claude Code up with claude mcp add memo -- memo mcp serve. memo mcp server start runs mcp serve --http and still passes --permission on.
Fixed
memo sync stops on Ctrl-C and SIGTERM, where it used to ignore SIGTERM and run to the end. It stops at the
next batch of emails, mail account or notes folder, keeps the resume point, ends a running himalaya, releases the
import lock, and fails with cancelled (exit 130). memo sync --timeout <duration> stops it the same way at
a deadline, with timeout (exit 9); without it a sync has no time limit, as before.
Memo's agent skill publishes to ClawHub as cli-memo again. ClawHub keeps skill names per publisher, so wirecat/cli-memo is memo's own name, and every WireCat tool's skill now uses its plain name. The next release
publishes it as cli-memo 1.0.1. memo skill install still writes skills/cli-memo/.