mailwarden
Advanced tools
+342
| /** | ||
| * Triage signals — per-thread flags an agent can act on WITHOUT opening the mail, | ||
| * derived from headers and MIME structure the `search` fetch already has in hand | ||
| * (format=full), so they cost no extra API call. | ||
| * | ||
| * Deliberately conservative: every signal is a documented header convention or MIME | ||
| * fact, never a guess from subject/body wording. A missing signal means "nothing | ||
| * declared", not "definitely personal mail". Pure, so a header corpus can hold it. | ||
| */ | ||
| import { domainToASCII } from "node:url"; | ||
| /** Fixed order for stable output — a thread's signals are always listed in this order. */ | ||
| export const ALL_SIGNALS = ["newsletter", "automated", "calendar", "replyToMismatch"]; | ||
| /** | ||
| * Local-parts that by convention mark a sender as a machine, not a person. Matched | ||
| * on the local-part only (before `@`) and only in these spellings — a person named | ||
| * "Noreen Reply" must not be flagged, so no substring matching. Hyphen and underscore | ||
| * are the two separators the same words are written with (`no-reply`, `no_reply`). | ||
| */ | ||
| const MACHINE_LOCAL_PARTS = /^(no[-_]?reply|do[-_]?not[-_]?reply|mailer-daemon|postmaster|notifications?|alerts?|bounces?)$/i; | ||
| /** | ||
| * A header's value, trimmed; `undefined` when the header is absent OR blank — a header | ||
| * with nothing in it declares nothing, so presence-only signals do not fire on it. | ||
| */ | ||
| function header(input, name) { | ||
| const n = name.toLowerCase(); | ||
| const h = input.headers.find((x) => (x.name ?? "").toLowerCase() === n); | ||
| const v = (h?.value ?? "").trim(); | ||
| return v === "" ? undefined : v; | ||
| } | ||
| /** | ||
| * Remove RFC 5322 comments — parenthesised, nestable, only outside quoted strings — | ||
| * so `bulk (mailer)` reads as `bulk` and `a@x.example (Alice)` as `a@x.example`. | ||
| */ | ||
| function stripComments(v) { | ||
| let out = ""; | ||
| let depth = 0; | ||
| let quoted = false; | ||
| for (let i = 0; i < v.length; i++) { | ||
| const c = v[i]; | ||
| if (quoted) { | ||
| out += c; | ||
| if (c === "\\" && i + 1 < v.length) | ||
| out += v[++i]; | ||
| else if (c === '"') | ||
| quoted = false; | ||
| } | ||
| else if (depth > 0) { | ||
| if (c === "\\") | ||
| i++; | ||
| else if (c === "(") | ||
| depth++; | ||
| else if (c === ")") | ||
| depth--; | ||
| } | ||
| else if (c === "(") | ||
| depth++; | ||
| else if (c === ")") | ||
| continue; // stray closer outside any comment: junk, dropped | ||
| else if (c === '"') { | ||
| quoted = true; | ||
| out += c; | ||
| } | ||
| else | ||
| out += c; | ||
| } | ||
| // An unclosed comment would swallow the rest of the value — malformed input, so | ||
| // rather than lose the address, leave the value as it came. | ||
| return depth > 0 ? v : out; | ||
| } | ||
| /** | ||
| * True when the value's double quotes do not pair up (an unescaped `"` left open) — | ||
| * malformed per RFC 5322; the quotes are then treated as ordinary characters. | ||
| */ | ||
| function unbalancedQuotes(v) { | ||
| let quoted = false; | ||
| for (let i = 0; i < v.length; i++) { | ||
| const c = v[i]; | ||
| if (quoted && c === "\\") | ||
| i++; | ||
| else if (c === '"') | ||
| quoted = !quoted; | ||
| } | ||
| return quoted; | ||
| } | ||
| /** The first token of a structured value — comments, parameters (`;…`) and folding gone. */ | ||
| function firstToken(value) { | ||
| if (!value) | ||
| return ""; | ||
| return (stripComments(value).trim().split(/[\s;]/)[0] ?? "").toLowerCase(); | ||
| } | ||
| /** Quotes made sane (an unbalanced `"` demotes all of them to text) and comments removed. */ | ||
| function normalizeAddressList(value) { | ||
| return stripComments(unbalancedQuotes(value) ? value.replace(/"/g, "") : value); | ||
| } | ||
| /** | ||
| * Split an address-list into its mailboxes at `,`/`;` outside quotes and outside `<…>`, | ||
| * keeping each item's offset into the input. Linear — one pass, no lookahead. | ||
| */ | ||
| function splitMailboxes(v) { | ||
| const items = []; | ||
| let cur = ""; | ||
| let start = 0; | ||
| let quoted = false; | ||
| let angle = false; | ||
| for (let i = 0; i < v.length; i++) { | ||
| const c = v[i]; | ||
| if (quoted) { | ||
| cur += c; | ||
| if (c === "\\" && i + 1 < v.length) | ||
| cur += v[++i]; | ||
| else if (c === '"') | ||
| quoted = false; | ||
| } | ||
| else if (c === '"') { | ||
| quoted = true; | ||
| cur += c; | ||
| } | ||
| else if (c === "<") { | ||
| angle = true; | ||
| cur += c; | ||
| } | ||
| else if (c === ">") { | ||
| angle = false; | ||
| cur += c; | ||
| } | ||
| else if ((c === "," || c === ";") && !angle) { | ||
| items.push({ text: cur, start }); | ||
| cur = ""; | ||
| start = i + 1; | ||
| } | ||
| else | ||
| cur += c; | ||
| } | ||
| items.push({ text: cur, start }); | ||
| return items; | ||
| } | ||
| /** Index of the mailbox's own angle-addr in an item — the LAST `<` outside quotes — or -1. */ | ||
| function angleIndex(item) { | ||
| return unquoted(item).lastIndexOf("<"); | ||
| } | ||
| /** The lowercased addr-spec of one mailbox item, "" when there is none. */ | ||
| function addrSpecOf(item) { | ||
| let raw; | ||
| // The addr-spec is the LAST angle-addr outside quotes: a quoted display name may | ||
| // contain a literal `<…>`, and the mailbox's own angle-addr is what ends it. | ||
| const lt = angleIndex(item); | ||
| const gt = lt === -1 ? -1 : unquoted(item).indexOf(">", lt); | ||
| if (lt !== -1 && gt !== -1) { | ||
| raw = item.slice(lt + 1, gt); | ||
| // Obsolete source route: `<@relay.example:user@host>` — the mailbox is after the colon. | ||
| if (raw.trim().startsWith("@") && raw.includes(":")) | ||
| raw = raw.slice(raw.indexOf(":") + 1); | ||
| // Obsolete whitespace around `@`, folded the same way as in the bare form below. | ||
| if (!raw.includes('"')) | ||
| raw = raw.replace(/\s*@\s*/, "@"); | ||
| } | ||
| else { | ||
| raw = item; | ||
| // Group syntax without angle-addrs: `Team: user@host` — drop the group name. | ||
| const at = raw.indexOf("@"); | ||
| const colon = raw.indexOf(":"); | ||
| if (colon !== -1 && (at === -1 || colon < at) && !raw.slice(0, colon).includes('"')) { | ||
| raw = raw.slice(colon + 1); | ||
| } | ||
| // Bare form: obsolete whitespace around `@` is folded away; anything else that is | ||
| // whitespace-separated from the addr-spec (an unbracketed name, junk) is not it. | ||
| if (!raw.includes('"')) { | ||
| raw = raw.replace(/\s*@\s*/, "@").trim(); | ||
| if (/\s/.test(raw)) | ||
| raw = raw.split(/\s+/).find((w) => w.includes("@")) ?? ""; | ||
| } | ||
| } | ||
| raw = raw.trim().toLowerCase(); | ||
| return raw.includes("@") ? raw : ""; | ||
| } | ||
| /** | ||
| * The addr-specs of an address-list header (From, Reply-To), lowercased, in order. | ||
| * Understands what a scanner needs to get the *right* address out of hostile input: | ||
| * quoted display names (a `<` or `@` inside quotes is text, not an address), comments, | ||
| * folding whitespace, groups (`Team: a@x, b@x;`), several mailboxes, and the obsolete | ||
| * source route (`<@relay:a@x>`). A mailbox with no `@` in it is not an address. | ||
| */ | ||
| export function addressesOf(value) { | ||
| if (!value) | ||
| return []; | ||
| return splitMailboxes(normalizeAddressList(value)) | ||
| .map((it) => addrSpecOf(it.text)) | ||
| .filter((a) => a !== ""); | ||
| } | ||
| /** Quoted strings replaced by a placeholder of the same length, so scanning ignores their content. */ | ||
| function unquoted(v) { | ||
| let out = ""; | ||
| let quoted = false; | ||
| for (let i = 0; i < v.length; i++) { | ||
| const c = v[i]; | ||
| if (quoted) { | ||
| if (c === "\\" && i + 1 < v.length) { | ||
| out += "__"; | ||
| i++; | ||
| } | ||
| else if (c === '"') { | ||
| quoted = false; | ||
| out += c; | ||
| } | ||
| else | ||
| out += "_"; | ||
| } | ||
| else { | ||
| if (c === '"') | ||
| quoted = true; | ||
| out += c; | ||
| } | ||
| } | ||
| return out; | ||
| } | ||
| /** Lowercased address out of a From/Reply-To value (the first, if several); "" when none. */ | ||
| export function addressOf(value) { | ||
| return addressesOf(value)[0] ?? ""; | ||
| } | ||
| /** | ||
| * The first mailbox of a From/Reply-To value as `{ address, name }`: the first item that | ||
| * carries an addr-spec, and its display name — what precedes the mailbox's own angle-addr | ||
| * (the LAST `<` outside quotes — a quoted name may contain a literal `<…>`), comments | ||
| * removed, an enclosing quoted-string unquoted. A name that was written with unquoted | ||
| * commas (`Doe, Jane <j@x>`) is kept whole: the earlier comma-split pieces belong to it | ||
| * as long as they carry no address syntax of their own. Linear in the input. | ||
| * `address` is "" when nothing recognisable is there — callers keep their own fallback. | ||
| */ | ||
| export function mailboxOf(value) { | ||
| if (!value) | ||
| return { address: "", name: "" }; | ||
| const v = normalizeAddressList(value); | ||
| const items = splitMailboxes(v); | ||
| for (const it of items) { | ||
| const address = addrSpecOf(it.text); | ||
| if (!address) | ||
| continue; | ||
| const lt = angleIndex(it.text); | ||
| if (lt === -1) | ||
| return { address, name: "" }; | ||
| const whole = v.slice(0, it.start + lt); | ||
| const own = it.text.slice(0, lt); | ||
| const name = /[<>@]/.test(unquoted(whole)) ? own : whole; | ||
| return { address, name: unquotePhrase(name) }; | ||
| } | ||
| return { address: "", name: "" }; | ||
| } | ||
| /** A display-name phrase: trimmed, an enclosing quoted-string unquoted and unescaped. */ | ||
| function unquotePhrase(phrase) { | ||
| const t = phrase.trim(); | ||
| const m = /^"(.*)"$/s.exec(t); | ||
| return (m ? m[1].replace(/\\(.)/g, "$1") : t).trim(); | ||
| } | ||
| /** The local-part of an addr-spec, with a quoted local-part (`"no-reply"@x`) unquoted. */ | ||
| function localPartOf(address) { | ||
| const at = address.lastIndexOf("@"); | ||
| const lp = at === -1 ? "" : address.slice(0, at).trim(); | ||
| const m = /^"(.*)"$/.exec(lp); | ||
| return m ? m[1].replace(/\\(.)/g, "$1") : lp; | ||
| } | ||
| /** Same domain, or one is a subdomain of the other — compared at label boundaries. */ | ||
| function sameOrSubdomain(a, b) { | ||
| return a === b || a.endsWith("." + b) || b.endsWith("." + a); | ||
| } | ||
| /** | ||
| * `X-Auto-Response-Suppress` (Exchange) marks a message whose sender wants no automatic | ||
| * replies — bulk/system mail. Its value `None` means "suppress nothing" and is the one | ||
| * value that declares no such thing; any other value list (`All`, `OOF, AutoReply`, …) does. | ||
| */ | ||
| function autoResponseSuppressed(value) { | ||
| if (value === undefined) | ||
| return false; | ||
| const tokens = stripComments(value).split(",").map((t) => t.trim().toLowerCase()).filter(Boolean); | ||
| return tokens.length > 0 && !tokens.every((t) => t === "none"); | ||
| } | ||
| /** | ||
| * The domain of an addr-spec as a COMPARISON key: case-folded, IDN and Punycode brought | ||
| * to the same (ASCII) form, Unicode normalized, trailing dot dropped — so `münchen.de`, | ||
| * `MÜNCHEN.de.` and `xn--mnchen-3ya.de` compare equal. "" when there is no domain. | ||
| */ | ||
| function domainKeyOf(address) { | ||
| const at = address.lastIndexOf("@"); | ||
| if (at === -1) | ||
| return ""; | ||
| const raw = address.slice(at + 1).trim().replace(/\.+$/, ""); | ||
| if (raw === "") | ||
| return ""; | ||
| return (domainToASCII(raw) || raw).toLowerCase().replace(/\.+$/, ""); | ||
| } | ||
| /** | ||
| * The signals a message declares. See the module comment for what each one means: | ||
| * | ||
| * - `newsletter` — mailing-list / bulk machinery: `List-Id`, `List-Unsubscribe`, or | ||
| * `Precedence: bulk|list`. (RFC 2919 / 2369; Precedence is the de-facto convention.) | ||
| * - `automated` — the sender says a machine wrote it: `Auto-Submitted` other than `no` | ||
| * (RFC 3834), `Precedence: auto_reply`, an `X-Auto-Response-Suppress` header, or a | ||
| * From local-part in the no-reply / mailer-daemon family. | ||
| * - `calendar` — a `text/calendar` MIME part or an `.ics` attachment: an invitation, | ||
| * update or reply the user may need to answer. | ||
| * - `replyToMismatch` — `Reply-To` names a *different domain* than `From`. Same-domain | ||
| * differences (`hello@` vs `support@`) are routine and not flagged. Common in phishing | ||
| * and in some legitimate marketing; a reason to look, not a verdict. | ||
| */ | ||
| export function deriveSignals(input) { | ||
| const out = new Set(); | ||
| const precedence = firstToken(header(input, "Precedence")); | ||
| if (header(input, "List-Id") !== undefined || | ||
| header(input, "List-Unsubscribe") !== undefined || | ||
| precedence === "bulk" || | ||
| precedence === "list") { | ||
| out.add("newsletter"); | ||
| } | ||
| const from = addressOf(header(input, "From")); | ||
| // RFC 3834: `no` (with optional comments/parameters) means a human sent it; any other | ||
| // value, including extension tokens, means a machine did. | ||
| const autoSubmitted = firstToken(header(input, "Auto-Submitted")); | ||
| if ((autoSubmitted !== "" && autoSubmitted !== "no") || | ||
| precedence === "auto_reply" || | ||
| autoResponseSuppressed(header(input, "X-Auto-Response-Suppress")) || | ||
| MACHINE_LOCAL_PARTS.test(localPartOf(from))) { | ||
| out.add("automated"); | ||
| } | ||
| if (input.parts.some((p) => /^text\/calendar\s*(;|$)/i.test((p.mimeType ?? "").trim()) || | ||
| /\.ics$/i.test(p.filename ?? ""))) { | ||
| out.add("calendar"); | ||
| } | ||
| const fromDomain = domainKeyOf(from); | ||
| if (fromDomain) { | ||
| // Every Reply-To mailbox counts: a reply goes to all of them, so one foreign | ||
| // domain among several is still a reply leaving the sender's domain. A subdomain | ||
| // of the sender's domain (or the sender's domain being one of the Reply-To's) is | ||
| // NOT foreign — `news@e.brand.example` → `help@brand.example` is how marketing | ||
| // mail is routinely built, and a phisher gets no subdomain of the domain he spoofs. | ||
| const foreign = addressesOf(header(input, "Reply-To")) | ||
| .map(domainKeyOf) | ||
| .some((d) => d !== "" && !sameOrSubdomain(d, fromDomain)); | ||
| if (foreign) | ||
| out.add("replyToMismatch"); | ||
| } | ||
| return ALL_SIGNALS.filter((s) => out.has(s)); | ||
| } | ||
| //# sourceMappingURL=signals.js.map |
| {"version":3,"file":"signals.js","sourceRoot":"","sources":["../src/signals.ts"],"names":[],"mappings":"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"} |
+20
-8
@@ -0,8 +1,9 @@ | ||
| import { ALL_SIGNALS, mailboxOf } from "./signals.js"; | ||
| /** Split a `From` header into a lowercased address + a best-effort display name. */ | ||
| export function parseSender(from) { | ||
| const m = /<([^>]+)>/.exec(from); | ||
| const email = (m ? m[1] : from).trim().toLowerCase(); | ||
| // The display name is whatever precedes the <angle-addr>, unquoted. | ||
| const name = (m ? from.slice(0, m.index) : "").trim().replace(/^"|"$/g, "").trim(); | ||
| return { email, name }; | ||
| // The same quote-/comment-aware scanner the signals use — so a display name that | ||
| // contains a literal `<other@x>` cannot pick the sender key (it groups the digest and | ||
| // dedupes bulk_unsubscribe per sender). Nothing recognisable → the raw value, as before. | ||
| const { address, name } = mailboxOf(from); | ||
| return { email: address || from.trim().toLowerCase(), name }; | ||
| } | ||
@@ -42,2 +43,3 @@ /** Age bucket of an RFC-2822 `Date` header relative to `now`. Unparseable → "undated". */ | ||
| const senders = new Map(); | ||
| const signals = Object.fromEntries(ALL_SIGNALS.map((k) => [k, 0])); | ||
| const labels = new Map(); | ||
@@ -53,8 +55,12 @@ let unread = 0; | ||
| byAge[ageBucket(t.date, now)]++; | ||
| for (const sig of t.signals) | ||
| signals[sig]++; | ||
| const { email, name } = parseSender(t.from); | ||
| const key = email || "(unknown)"; | ||
| const s = senders.get(key) ?? { name: "", count: 0, unread: 0 }; | ||
| const s = senders.get(key) ?? { name: "", count: 0, unread: 0, signals: new Set() }; | ||
| s.count++; | ||
| if (isUnread) | ||
| s.unread++; | ||
| for (const sig of t.signals) | ||
| s.signals.add(sig); | ||
| if (!s.name && name) | ||
@@ -73,3 +79,9 @@ s.name = name; // keep the first non-empty display name | ||
| const topSenders = [...senders.entries()] | ||
| .map(([sender, v]) => ({ sender, name: v.name, count: v.count, unread: v.unread })) | ||
| .map(([sender, v]) => ({ | ||
| sender, | ||
| name: v.name, | ||
| count: v.count, | ||
| unread: v.unread, | ||
| signals: ALL_SIGNALS.filter((k) => v.signals.has(k)), | ||
| })) | ||
| .sort((a, b) => b.count - a.count || a.sender.localeCompare(b.sender)) | ||
@@ -81,4 +93,4 @@ .slice(0, topN); | ||
| .slice(0, topN); | ||
| return { sampled: threads.length, unread, withAttachments, byAge, topSenders, topLabels }; | ||
| return { sampled: threads.length, unread, withAttachments, byAge, signals, topSenders, topLabels }; | ||
| } | ||
| //# sourceMappingURL=digest.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"digest.js","sourceRoot":"","sources":["../src/digest.ts"],"names":[],"mappings":"AA6CA,oFAAoF;AACpF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,oEAAoE;IACpE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,GAAS;IAClD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;IAC9C,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,iBAAiB,CAAC,EAAU,EAAE,QAA6B;IACzE,MAAM,KAAK,GAA2B;QACpC,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,QAAQ;QACzB,mBAAmB,EAAE,YAAY;QACjC,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,QAAQ;QACzB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,SAAS;KACnB,CAAC;IACF,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,qFAAqF;AACrF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3F,MAAM,UAAU,WAAW,CACzB,OAAwB,EACxB,SAAiC,EACjC,GAAS,EACT,OAAsB,EAAE;IAExB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACtF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2D,CAAC;IACnF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,QAAQ;YAAE,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,cAAc;YAAE,eAAe,EAAE,CAAC;QACxC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QAEhC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,IAAI,WAAW,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAChE,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,IAAI,QAAQ;YAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI;YAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,wCAAwC;QAC5E,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAEpB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAClC,yEAAyE;YACzE,uEAAuE;YACvE,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAClF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACrE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAElB,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACnE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAElB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC5F,CAAC"} | ||
| {"version":3,"file":"digest.js","sourceRoot":"","sources":["../src/digest.ts"],"names":[],"mappings":"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"} |
+50
-5
@@ -5,2 +5,3 @@ import { CliError } from "./cli.js"; | ||
| import path from "node:path"; | ||
| import { deriveSignals, mailboxOf } from "./signals.js"; | ||
| // --------------------------------------------------------------------------- | ||
@@ -51,2 +52,22 @@ // Pure helpers (exported & API-free so they're unit-testable without a mock). | ||
| /** | ||
| * Decode a `From` header for display WITHOUT letting the decoded text gain structure. | ||
| * RFC 2047 §6.2: a decoded encoded-word is text, never syntax — yet a display name that | ||
| * decodes to `<legit@news.example>,` would read as a second mailbox to anything that | ||
| * parses the DECODED string, and `parseSender` does (it is the sender key that groups | ||
| * `triage_digest` / `list_subscriptions` and dedupes `bulk_unsubscribe`): a crafted mail | ||
| * could take a legitimate newsletter's key. So the structure is read off the RAW value | ||
| * (`mailboxOf`), only the display name is decoded, and it is re-emitted QUOTED whenever | ||
| * it contains address syntax. Nothing recognisable as a mailbox → plain decoded text. | ||
| */ | ||
| export function decodeAddressHeader(raw) { | ||
| const { address, name } = mailboxOf(raw); | ||
| if (!address) | ||
| return decodeRfc2047(raw); | ||
| const shown = decodeRfc2047(name).trim(); | ||
| if (!shown) | ||
| return address; | ||
| const needsQuoting = /[()<>@,;:\\"[\]]/.test(shown); | ||
| return `${needsQuoting ? `"${shown.replace(/[\\"]/g, "\\$&")}"` : shown} <${address}>`; | ||
| } | ||
| /** | ||
| * True when an error is Google's `invalid_grant` — the stored refresh token is | ||
@@ -335,6 +356,15 @@ * expired or revoked (e.g. the 7-day expiry of a "Testing" OAuth consent screen). | ||
| } | ||
| /** Triage signals of one message: its headers plus a flat list of its MIME parts. */ | ||
| export function messageSignals(m) { | ||
| if (!m) | ||
| return []; | ||
| const parts = []; | ||
| walkParts(m.payload ?? undefined, (p) => parts.push({ mimeType: p.mimeType, filename: p.filename })); | ||
| return deriveSignals({ headers: m.payload?.headers ?? [], parts }); | ||
| } | ||
| /** Parse a raw Gmail message into the flat ParsedMessage shape. */ | ||
| export function parseMessage(m) { | ||
| const headers = m.payload?.headers ?? []; | ||
| const h = (n) => decodeRfc2047(headers.find((x) => x.name?.toLowerCase() === n.toLowerCase())?.value ?? ""); | ||
| const raw = (n) => headers.find((x) => x.name?.toLowerCase() === n.toLowerCase())?.value ?? ""; | ||
| const h = (n) => decodeRfc2047(raw(n)); | ||
| const { text, html } = collectBodies(m.payload ?? undefined); | ||
@@ -345,3 +375,3 @@ return { | ||
| labelIds: m.labelIds ?? [], | ||
| from: h("From"), | ||
| from: decodeAddressHeader(raw("From")), | ||
| to: h("To"), | ||
@@ -536,7 +566,8 @@ subject: h("Subject"), | ||
| const headers = msgs[0]?.payload?.headers ?? []; | ||
| const h = (n) => decodeRfc2047(headers.find((x) => x.name?.toLowerCase() === n.toLowerCase())?.value ?? ""); | ||
| const raw = (n) => headers.find((x) => x.name?.toLowerCase() === n.toLowerCase())?.value ?? ""; | ||
| const h = (n) => decodeRfc2047(raw(n)); | ||
| out.push({ | ||
| threadId: t.id, | ||
| messageCount: msgs.length, | ||
| from: h("From"), | ||
| from: decodeAddressHeader(raw("From")), | ||
| subject: h("Subject"), | ||
@@ -547,2 +578,3 @@ date: h("Date"), | ||
| hasAttachments: msgs.some((m) => collectAttachments(m).length > 0), | ||
| signals: messageSignals(msgs[0]), | ||
| }); | ||
@@ -618,3 +650,3 @@ } | ||
| messageId: last.id, | ||
| from: decodeRfc2047(raw("From")), | ||
| from: decodeAddressHeader(raw("From")), | ||
| subject: decodeRfc2047(raw("Subject")), | ||
@@ -648,2 +680,15 @@ listUnsubscribe: raw("List-Unsubscribe"), | ||
| } | ||
| /** | ||
| * Which of `names` a modify call's `add` would have to CREATE — label names (not ids) | ||
| * that don't exist yet, case-insensitively, as resolveLabelIds decides it. Read-only: | ||
| * this is the dry-run counterpart of the auto-create, so a rehearsal can say "would | ||
| * create label X" without creating it. Order and duplicates as given. | ||
| */ | ||
| async unknownLabelNames(names) { | ||
| const candidates = names.filter((s) => !looksLikeLabelId(s)); | ||
| if (candidates.length === 0) | ||
| return []; | ||
| const existing = new Set((await this.listLabels()).map((l) => l.name.toLowerCase())); | ||
| return candidates.filter((s) => !existing.has(s.toLowerCase())); | ||
| } | ||
| /** Resolve label ids/names for modify calls (names created in `add`, skipped in `remove`). */ | ||
@@ -650,0 +695,0 @@ async resolveLabelIds(add, remove) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../src/gmail.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../src/gmail.ts"],"names":[],"mappings":"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"} |
+10
-3
@@ -6,7 +6,7 @@ #!/usr/bin/env node | ||
| import { registerTools } from "./tools.js"; | ||
| import { getAuth, hasModifyScope, activeAccount } from "./auth.js"; | ||
| import { getAuth, hasModifyScope, hasFilterScope, activeAccount } from "./auth.js"; | ||
| import { Gmail } from "./gmail.js"; | ||
| import { sweepSnoozed } from "./snooze.js"; | ||
| import { startHttp } from "./http.js"; | ||
| import { resolveEnabledTiers } from "./tiers.js"; | ||
| import { resolveEnabledTiers, serverInstructions } from "./tiers.js"; | ||
| import { runDoctor } from "./doctor.js"; | ||
@@ -16,3 +16,10 @@ import { CliError, debugEnabled, findStrayPositional, readAccountArg, resolveMode } from "./cli.js"; | ||
| function makeServer() { | ||
| const server = new McpServer({ name: "mailwarden", version: VERSION }); | ||
| // `instructions` is what a tool-search client reads at session start to decide whether to look | ||
| // for our tools at all — derived from the same tier set that decides which tools get registered, | ||
| // with the same scope gate: a `filters` tier whose token is known to lack gmail.settings.basic | ||
| // registers no filter tools (tools.ts), so it must not advertise them here either. | ||
| const advertised = resolveEnabledTiers(process.env); | ||
| if (advertised.has("filters") && hasFilterScope() === false) | ||
| advertised.delete("filters"); | ||
| const server = new McpServer({ name: "mailwarden", version: VERSION }, { instructions: serverInstructions(advertised) }); | ||
| registerTools(server); | ||
@@ -19,0 +26,0 @@ return server; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+22
-3
@@ -289,3 +289,4 @@ /** | ||
| const SWEEP_LIST_CAP = 5000; | ||
| export async function sweepSnoozed(gmail, today = new Date()) { | ||
| export async function sweepSnoozed(gmail, today = new Date(), opts = {}) { | ||
| const dryRun = opts.dryRun === true; | ||
| // Minute-precision cutoff so timestamped snoozes fire at their local time; | ||
@@ -297,2 +298,3 @@ // bare-date labels stay due for the whole day via the prefix-sort rule. | ||
| const dueLabels = labels.filter((l) => isDue(l.name, cutoff)); | ||
| const due = new Set(); | ||
| const woken = new Set(); | ||
@@ -314,2 +316,9 @@ const errors = []; | ||
| } | ||
| for (const r of refs) | ||
| due.add(r.threadId); | ||
| // A dry run sees one page per label — nothing drains, so re-listing | ||
| // would only page the same refs (a label with more than SWEEP_LIST_CAP | ||
| // messages is under-reported here; the real sweep loops until empty). | ||
| if (dryRun) | ||
| break; | ||
| // UNREAD is deliberate: a resurfaced thread is marked unread so it | ||
@@ -330,3 +339,3 @@ // stands out in the inbox again, like Gmail's own snooze highlight. | ||
| // carry it would silently lose those snoozes (archived, never resurfaced). | ||
| if (drained) { | ||
| if (drained && !dryRun) { | ||
| try { | ||
@@ -340,4 +349,14 @@ await gmail.deleteLabel(label.id); | ||
| } | ||
| return { date: todayIso(today), wokenCount: woken.size, woken: [...woken], failedCount, errors }; | ||
| return { | ||
| date: todayIso(today), | ||
| dryRun, | ||
| dueLabels: dueLabels.map((l) => l.name), | ||
| dueThreadCount: due.size, | ||
| dueThreads: [...due], | ||
| wokenCount: woken.size, | ||
| woken: [...woken], | ||
| failedCount, | ||
| errors, | ||
| }; | ||
| } | ||
| //# sourceMappingURL=snooze.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"snooze.js","sourceRoot":"","sources":["../src/snooze.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,GAAG,aAAa,CAAC;AAC7B,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,CACzC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAE5G,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,8BAA8B;AAC5F,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEvD,iFAAiF;AACjF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,CAC3C,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,+EAA+E;AAC/E,SAAS,SAAS,CAAC,SAAiB;IAClC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,iEAAiE;IACjE,+DAA+D;IAC/D,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,sEAAsE;AACtE,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,SAAiB,EAAE,MAAc;IACrD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,MAAM,CAAC;AAC5C,CAAC;AAED,MAAM,QAAQ,GAA2B;IACvC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;CACZ,CAAC;AAEF,iFAAiF;AACjF,SAAS,OAAO,CAAC,IAAU,EAAE,CAAS;IACpC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAU,EAAE,MAAc;IAC7C,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACnF,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,sFAAsF;AACtF,SAAS,SAAS,CAAC,CAAS;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,SAAS,CAAC;QACtC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,kBAAkB;IAChE,CAAC;SAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,CAA2B,EAAE,EAAE,CAC7D,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAErC,mFAAmF;AACnF,SAAS,iBAAiB,CAAC,MAAc,EAAE,KAAW;IACpD,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB;IACxE,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc;IACxE,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAChD,IAAI,MAAM;QAAE,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,2EAA2E;QAC3E,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAAc,IAAI,IAAI,EAAE;IACvE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAC7B,IAAI,KAAK,CAAC,kBAAkB,KAAK,uCAAuC,CAAC,CAAC;IAE5E,yCAAyC;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAChE,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAClG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM;gBAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,4BAA4B,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,GAAG,GAAG;YAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,wEAAwE;IACxE,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,mDAAmD,CAAC,CAAC;IAClG,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,iDAAiD,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAE/D,gFAAgF;IAChF,8EAA8E;IAC9E,iFAAiF;IACjF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,kBAAkB,GAAG,6BAA6B,CAAC,CAAC;IAEnF,4EAA4E;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAAE,MAAM,MAAM,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAAE,MAAM,MAAM,EAAE,CAAC;QAC3C,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG;YAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,gEAAgE;QAC1F,oGAAoG,CACvG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAY,EAAE,QAAgB,EAAE,KAAa,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE;IAC5F,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAY,EAAE,QAAgB;IAC3D,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,kCAAkC;IAClC,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;SACnE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,6EAA6E;IAC7E,iEAAiE;IACjE,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;;;GAIG;AACH,KAAK,UAAU,OAAO,CAAO,KAAU,EAAE,KAAa,EAAE,EAA2B;IACjF,MAAM,OAAO,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAY;IAC5C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IACxC,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,KAAK,GAAwC,EAAE,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,MAAM,QAAQ,IAAI,MAAM,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,QAAQ;QACR,GAAG;QACH,OAAO,EAAE,MAAM,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC;KAChD,CAAC,CAAC,CAAC;IACJ,6EAA6E;IAC7E,gFAAgF;IAChF,OAAO,GAAG;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,kFAAkF;AAClF,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAY,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE;IACjE,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,qEAAqE;QACrE,qEAAqE;QACrE,yEAAyE;QACzE,4CAA4C;QAC5C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;YACxF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM;YACR,CAAC;YACD,mEAAmE;YACnE,oEAAoE;YACpE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/E,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,eAAe;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,uEAAuE;gBACvE,oEAAoE;gBACpE,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACvE,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACnG,CAAC"} | ||
| {"version":3,"file":"snooze.js","sourceRoot":"","sources":["../src/snooze.ts"],"names":[],"mappings":"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"} |
+37
-0
@@ -50,2 +50,39 @@ /** | ||
| /** | ||
| * The server-level `instructions` a client sees at initialize time. Clients that defer tool | ||
| * definitions (Claude Code's tool search loads only tool NAMES plus these instructions at session | ||
| * start) decide from this text WHEN to look for our tools at all — so it names the jobs the | ||
| * enabled tiers cover, in plain user language, and states the two invariants an agent must know | ||
| * before it acts (nothing sends, nothing hard-deletes). Kept well under the 2 KB truncation | ||
| * point, most important first. Tier-aware: a read-only deployment must not advertise snooze. | ||
| */ | ||
| export function serverInstructions(tiers) { | ||
| const jobs = []; | ||
| if (tiers.has("read")) { | ||
| jobs.push("search and read mail (search results are re-verified against live labels, so `is:unread`-style " + | ||
| "predicates are trustworthy), list labels, get a triage digest of a mailbox slice, and list " + | ||
| "subscriptions/newsletters by sender with their opt-out options"); | ||
| } | ||
| if (tiers.has("manage")) { | ||
| jobs.push("archive, label, mark read/unread, trash/untrash (recoverable), bulk-change everything matching " + | ||
| "a query, snooze a thread to a date/time or preset and sweep due snoozes back into the inbox, " + | ||
| "unsubscribe from newsletters (one-click, RFC 8058), and download attachments"); | ||
| } | ||
| if (tiers.has("filters")) { | ||
| jobs.push("list, create and delete server-side Gmail filters (auto-triage rules; label actions only)"); | ||
| } | ||
| const triggers = ["asks about their Gmail inbox, specific emails or newsletters"]; | ||
| if (tiers.has("manage")) | ||
| triggers.push("wants to organize, defer (snooze) or clean up mail"); | ||
| if (tiers.has("filters")) | ||
| triggers.push("wants Gmail to auto-triage incoming mail with rules"); | ||
| const scope = jobs.length === 0 | ||
| ? "No tools are enabled in this deployment." | ||
| : `Use these tools whenever the user ${triggers.join(", or ")}. They can: ${jobs.join("; ")}.`; | ||
| const which = tiers.has("read") ? " (call get_profile to confirm which)" : ""; | ||
| return (`mailwarden — live Gmail tools for the one account this server is connected to${which}. ` + | ||
| scope + | ||
| " By design there are NO compose/reply/forward/send tools and no permanent delete (trash only); do " + | ||
| "not look for them. Every call reads the live mailbox — nothing is cached or synced."); | ||
| } | ||
| /** | ||
| * Which of `required` a grant of `granted` does NOT cover — by *capability*, not string equality. | ||
@@ -52,0 +89,0 @@ * `gmail.modify` is a strict superset of `gmail.readonly`, so a token authorized for the full |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"tiers.js","sourceRoot":"","sources":["../src/tiers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,MAAM,CAAC,MAAM,SAAS,GAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,gDAAgD,CAAC;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG,8CAA8C,CAAC;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,sDAAsD,CAAC;AAE3F;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAsB;IACxD,MAAM,UAAU,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACxC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAa,CAAC,CAAC,CAAC;QAC5E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,QAAQ,CAChB,gCAAgC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK;gBAC9F,0CAA0C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,SAAuB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,GAAG,CAAC,mBAAmB,KAAK,GAAG;QAAE,OAAO,IAAI,GAAG,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACrD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAiB,EAAE,QAAkB;IACjE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC"} | ||
| {"version":3,"file":"tiers.js","sourceRoot":"","sources":["../src/tiers.ts"],"names":[],"mappings":"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"} |
+64
-15
@@ -8,2 +8,3 @@ import { z } from "zod"; | ||
| import { resolveEnabledTiers } from "./tiers.js"; | ||
| import { ALL_SIGNALS } from "./signals.js"; | ||
| import { fenceOutput } from "./sanitize.js"; | ||
@@ -34,2 +35,4 @@ export { resolveEnabledTiers } from "./tiers.js"; | ||
| }); | ||
| // Header/MIME-derived triage flags (see signals.ts). Only the ones that fire are listed. | ||
| const signalSchema = z.enum(ALL_SIGNALS); | ||
| const threadSummarySchema = z.object({ | ||
@@ -44,2 +47,3 @@ threadId: z.string(), | ||
| hasAttachments: z.boolean(), | ||
| signals: z.array(signalSchema), | ||
| }); | ||
@@ -123,2 +127,3 @@ const parsedMessageSchema = z.object({ | ||
| description: "Search Gmail with native query syntax (e.g. 'in:inbox from:foo@bar.com newer_than:7d'). Returns thread summaries; read-state/category predicates are re-verified against each hit's live labels. " + | ||
| "Each summary carries `signals` derived from the thread's first message headers/MIME — newsletter (List-Id/List-Unsubscribe/Precedence bulk or list), automated (Auto-Submitted, auto-reply/suppress headers, no-reply-style senders), calendar (text/calendar or .ics part), replyToMismatch (a Reply-To on another domain than From — a subdomain of the same domain counts as the same); empty when nothing is declared. " + | ||
| "Paginated: when more results exist, the response carries a nextPageToken — pass it back via pageToken to fetch the next page. " + | ||
@@ -177,3 +182,3 @@ "USE WHEN: locating threads by sender, subject, date, label, or read state. " + | ||
| server.registerTool("triage_digest", { | ||
| description: "Structured overview of a mailbox slice for triage DECISIONS — sender / label / age buckets plus unread and attachment counts, instead of a raw thread list. " + | ||
| description: "Structured overview of a mailbox slice for triage DECISIONS — sender / label / age buckets, unread and attachment counts, and header-derived signals (newsletter / automated / calendar / replyToMismatch — thread counts overall, and per sender the set of signals its threads carry), instead of a raw thread list. " + | ||
| "USE WHEN: deciding what to bulk-archive/snooze/label, or summarizing inbox state ('what's in my inbox?'). " + | ||
@@ -201,2 +206,8 @@ "DO NOT USE: to read a specific thread (use search/get_thread). " + | ||
| }), | ||
| signals: z.object({ | ||
| newsletter: z.number(), | ||
| automated: z.number(), | ||
| calendar: z.number(), | ||
| replyToMismatch: z.number(), | ||
| }), | ||
| topSenders: z.array(z.object({ | ||
@@ -207,2 +218,3 @@ sender: z.string(), | ||
| unread: z.number(), | ||
| signals: z.array(signalSchema), | ||
| })), | ||
@@ -323,8 +335,9 @@ topLabels: z.array(z.object({ label: z.string(), count: z.number() })), | ||
| "Labels may be given by name or by id: an unknown name in `add` is created automatically (use '/' for nested labels), an unknown name in `remove` is ignored. " + | ||
| "Returns matched/modified counts, affected thread IDs (capped at 500 — modifiedThreadCount has the true total), and per-chunk failures (partial success is reported, not hidden). " + | ||
| "Returns matched/modified counts, matched and modified thread IDs (both lists capped at 500 — matchedThreadCount/modifiedThreadCount hold the true totals), and per-chunk failures (partial success is reported, not hidden). " + | ||
| "If more messages match than maxMessages, only the first maxMessages are processed and 'capped' is true — raise maxMessages or re-run to finish the rest. " + | ||
| "Note: the query hits Gmail's search index as-is, WITHOUT the live re-verification search performs — for read-state-precise bulk ops, verify with search first. " + | ||
| "USE WHEN: mass operations — 'archive all newsletters older than 30 days' (query + remove INBOX), bulk labeling, bulk mark-read. " + | ||
| "Set dryRun:true to rehearse: the same query resolution, matched counts/threads and the labels that would be created — and no message or label is touched. " + | ||
| "USE WHEN: mass operations — 'archive all newsletters older than 30 days' (query + remove INBOX), bulk labeling, bulk mark-read; dryRun first when the query is broad or the user should see the set before it changes. " + | ||
| "DO NOT USE: for a single thread (use modify_labels or the dedicated tools), or with neither add nor remove. " + | ||
| "SIDE EFFECTS: modifies up to maxMessages messages in one call; label changes are reversible by the inverse call.", | ||
| "SIDE EFFECTS: modifies up to maxMessages messages in one call (none with dryRun); label changes are reversible by the inverse call.", | ||
| inputSchema: { | ||
@@ -337,5 +350,9 @@ // Non-empty: an empty query would match the ENTIRE mailbox (listMessageRefs | ||
| maxMessages: z.number().int().min(1).max(10000).default(1000), | ||
| dryRun: z.boolean().default(false), | ||
| }, | ||
| outputSchema: { | ||
| dryRun: z.boolean(), | ||
| matchedMessages: z.number(), | ||
| matchedThreadCount: z.number(), | ||
| matchedThreads: z.array(z.string()), | ||
| modifiedMessages: z.number(), | ||
@@ -346,2 +363,4 @@ modifiedThreadCount: z.number(), | ||
| capped: z.boolean(), | ||
| // Dry run only: names in `add` that don't exist yet and a real run would create. | ||
| labelsToCreate: z.array(z.string()).optional(), | ||
| failed: z.array(z.object({ messageIds: z.array(z.string()), error: z.string() })), | ||
@@ -351,3 +370,3 @@ }, | ||
| annotations: { title: "Bulk modify by query", ...write, destructiveHint: true }, | ||
| }, async ({ query, add, remove, maxMessages }) => { | ||
| }, async ({ query, add, remove, maxMessages, dryRun }) => { | ||
| if (add.length === 0 && remove.length === 0) { | ||
@@ -358,11 +377,29 @@ throw new Error("bulk_modify needs at least one label in add or remove — nothing to do."); | ||
| const refs = await gmail.listMessageRefs({ query, max: maxMessages }); | ||
| const matchedThreads = [...new Set(refs.map((r) => r.threadId))]; | ||
| // Both id lists are capped — a 10k-thread sweep must not flood the model context. | ||
| const shared = { | ||
| matchedMessages: refs.length, | ||
| matchedThreadCount: matchedThreads.length, | ||
| matchedThreads: matchedThreads.slice(0, 500), | ||
| // listMessageRefs stops at maxMessages: a full page means more may match. | ||
| capped: refs.length >= maxMessages, | ||
| }; | ||
| if (dryRun) { | ||
| return ok({ | ||
| dryRun: true, | ||
| ...shared, | ||
| modifiedMessages: 0, | ||
| modifiedThreadCount: 0, | ||
| modifiedThreads: [], | ||
| labelsToCreate: await gmail.unknownLabelNames(add), | ||
| failed: [], | ||
| }); | ||
| } | ||
| const res = await gmail.batchModifyMessages(refs, add, remove); | ||
| return ok({ | ||
| matchedMessages: refs.length, | ||
| dryRun: false, | ||
| ...shared, | ||
| modifiedMessages: res.modifiedMessages, | ||
| modifiedThreadCount: res.modifiedThreads.length, | ||
| // Cap the id list — a 10k-thread sweep must not flood the model context. | ||
| modifiedThreads: res.modifiedThreads.slice(0, 500), | ||
| // listMessageRefs stops at maxMessages: a full page means more may match. | ||
| capped: refs.length >= maxMessages, | ||
| failed: res.failed, | ||
@@ -470,5 +507,6 @@ }); | ||
| "Partial success is reported, never hidden: a thread that cannot be read or whose endpoint fails becomes an entry with a `reason`, and the remaining threads still run. " + | ||
| "USE WHEN: clearing out several newsletters at once — pair with list_subscriptions, which gives you the sender rows and their newestThreadId. " + | ||
| "Set dryRun:true to rehearse: same header reads, same per-sender dedupe (as a real run with every request succeeding), and each entry a real run would contact reports the endpoint it `wouldCall`; refusals and duplicates carry none — and nobody is contacted. " + | ||
| "USE WHEN: clearing out several newsletters at once — pair with list_subscriptions, which gives you the sender rows and their newestThreadId; dryRun first to show the user which senders would be contacted. " + | ||
| "DO NOT USE: for one thread (use unsubscribe), or to find candidates (use list_subscriptions — it contacts nobody). " + | ||
| "SIDE EFFECTS: up to one outbound HTTPS request per DISTINCT sender (plus up to 3 redirects each) — the only non-Google hosts mailwarden ever contacts. " + | ||
| "SIDE EFFECTS: up to one outbound HTTPS request per DISTINCT sender (plus up to 3 redirects each) — the only non-Google hosts mailwarden ever contacts (none with dryRun). " + | ||
| "Each confirms to that sender that the address is live, and none of it can be undone. The mailbox itself is not changed.", | ||
@@ -479,4 +517,6 @@ inputSchema: { | ||
| threadIds: z.array(z.string().min(1)).min(1).max(25), | ||
| dryRun: z.boolean().default(false), | ||
| }, | ||
| outputSchema: { | ||
| dryRun: z.boolean(), | ||
| requested: z.number(), | ||
@@ -487,2 +527,4 @@ attempted: z.number(), | ||
| skippedOutOfTime: z.number(), | ||
| // Requests a real run would make (dry run) / did make (real run). | ||
| requests: z.number(), | ||
| results: z.array(z.object({ | ||
@@ -497,2 +539,3 @@ threadId: z.string(), | ||
| duplicateOf: z.string().optional(), | ||
| wouldCall: z.string().optional(), | ||
| options: unsubscribeOptionsSchema, | ||
@@ -508,3 +551,3 @@ })), | ||
| }, | ||
| }, async ({ threadIds }) => ok(await bulkUnsubscribe(await client(), threadIds))); | ||
| }, async ({ threadIds, dryRun }) => ok(await bulkUnsubscribe(await client(), threadIds, undefined, { dryRun }))); | ||
| // ---- Snooze (mailwarden's differentiator) ---- | ||
@@ -536,6 +579,12 @@ server.registerTool("snooze", { | ||
| description: "Resurface all snoozed threads whose date is due (<= today), batched at 1000 messages per API request. " + | ||
| "USE WHEN: the user asks to process due snoozes, or as a scheduled maintenance call. " + | ||
| "SIDE EFFECTS: due threads return to the inbox marked unread; safe to run repeatedly. failedCount/errors report messages a batch could not wake (their label is kept for the next sweep).", | ||
| "Set dryRun:true to rehearse: reports the due labels and threads (dueLabels/dueThreads) as the sweep would find them (from the live label listing; a single snooze label with more than 5000 messages is under-counted in the rehearsal), and wakes nothing. " + | ||
| "USE WHEN: the user asks to process due snoozes, or as a scheduled maintenance call; dryRun to answer 'what is due right now?' without acting. " + | ||
| "SIDE EFFECTS: due threads return to the inbox marked unread (none with dryRun); safe to run repeatedly. failedCount/errors report messages a batch could not wake (their label is kept for the next sweep).", | ||
| inputSchema: { dryRun: z.boolean().default(false) }, | ||
| outputSchema: { | ||
| date: z.string(), | ||
| dryRun: z.boolean(), | ||
| dueLabels: z.array(z.string()), | ||
| dueThreadCount: z.number(), | ||
| dueThreads: z.array(z.string()), | ||
| wokenCount: z.number(), | ||
@@ -547,3 +596,3 @@ woken: z.array(z.string()), | ||
| annotations: { title: "Sweep snoozed", ...write }, | ||
| }, async () => ok(await sweepSnoozed(await client()))); | ||
| }, async ({ dryRun }) => ok(await sweepSnoozed(await client(), new Date(), { dryRun }))); | ||
| } | ||
@@ -550,0 +599,0 @@ function registerFilterTools(server) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"} |
+61
-15
@@ -359,10 +359,11 @@ /** | ||
| /** | ||
| * The half of `unsubscribeThread` that acts, split out so a bulk run can inspect | ||
| * a thread once — to group by sender before deciding — instead of fetching the | ||
| * same headers twice. | ||
| * The decision half of an unsubscribe, with no side effect: given what a thread | ||
| * advertises, either the endpoint a real run would POST to, or the structured | ||
| * refusal explaining why nothing would be sent. Pure, so the dry run and the real | ||
| * run cannot disagree about which endpoint (if any) is in play — the real run calls | ||
| * this and then acts on `endpoint`; the dry run calls this and reports it. | ||
| */ | ||
| async function unsubscribeFromInfo(info, deps = defaultUnsubscribeDeps, timeoutMs = TIMEOUT_MS) { | ||
| const threadId = info.threadId; | ||
| export function planUnsubscribe(info) { | ||
| const base = { | ||
| threadId, | ||
| threadId: info.threadId, | ||
| messageId: info.messageId, | ||
@@ -373,3 +374,6 @@ from: info.from, | ||
| if (!info.hasUnsubscribe) { | ||
| return { ...base, unsubscribed: false, reason: "The message advertises no List-Unsubscribe option." }; | ||
| return { | ||
| base, | ||
| refusal: { ...base, unsubscribed: false, reason: "The message advertises no List-Unsubscribe option." }, | ||
| }; | ||
| } | ||
@@ -383,3 +387,3 @@ if (!info.oneClick) { | ||
| "mailwarden cannot send. It is listed in `options.mailtos`."; | ||
| return { ...base, unsubscribed: false, reason }; | ||
| return { base, refusal: { ...base, unsubscribed: false, reason } }; | ||
| } | ||
@@ -400,11 +404,25 @@ // A header may list several https URIs. Take the first the vetting accepts — | ||
| return { | ||
| ...base, | ||
| unsubscribed: false, | ||
| reason: "The sender's one-click endpoint did not pass vetting (https and the default port only, " + | ||
| "no credentials in the URL). The advertised URLs are listed in `options.httpsUrls`.", | ||
| base, | ||
| refusal: { | ||
| ...base, | ||
| unsubscribed: false, | ||
| reason: "The sender's one-click endpoint did not pass vetting (https and the default port only, " + | ||
| "no credentials in the URL). The advertised URLs are listed in `options.httpsUrls`.", | ||
| }, | ||
| }; | ||
| } | ||
| const res = await oneClickUnsubscribe(usable, deps, timeoutMs); | ||
| return { base, endpoint: usable }; | ||
| } | ||
| /** | ||
| * The half of `unsubscribeThread` that acts, split out so a bulk run can inspect | ||
| * a thread once — to group by sender before deciding — instead of fetching the | ||
| * same headers twice. | ||
| */ | ||
| async function unsubscribeFromInfo(info, deps = defaultUnsubscribeDeps, timeoutMs = TIMEOUT_MS) { | ||
| const plan = planUnsubscribe(info); | ||
| if (plan.refusal) | ||
| return plan.refusal; | ||
| const res = await oneClickUnsubscribe(plan.endpoint, deps, timeoutMs); | ||
| return { | ||
| ...base, | ||
| ...plan.base, | ||
| unsubscribed: res.ok, | ||
@@ -557,4 +575,7 @@ url: res.url, | ||
| */ | ||
| export async function bulkUnsubscribe(gmail, threadIds, deps = defaultUnsubscribeDeps, budgetMs = BULK_BUDGET_MS) { | ||
| export async function bulkUnsubscribe(gmail, threadIds, deps = defaultUnsubscribeDeps, opts = {}) { | ||
| const dryRun = opts.dryRun === true; | ||
| const budgetMs = opts.budgetMs ?? BULK_BUDGET_MS; | ||
| const results = []; | ||
| let requests = 0; | ||
| // Sender address → the thread whose request already went out, plus the endpoints | ||
@@ -624,2 +645,23 @@ // that thread ADVERTISED. Compared advertised-to-advertised: the URL actually | ||
| attempted++; | ||
| if (dryRun) { | ||
| // Same decision as the real run, minus the request. The sender is recorded as | ||
| // handled exactly where the real run would record it — after a request WOULD | ||
| // have gone out — so the dedupe verdicts of both runs line up thread for thread. | ||
| const plan = planUnsubscribe(info); | ||
| if (plan.refusal) { | ||
| results.push(plan.refusal); | ||
| } | ||
| else { | ||
| requests++; | ||
| if (senderKey) | ||
| handled.set(senderKey, { threadId, urls: info.httpsUrls }); | ||
| results.push({ | ||
| ...plan.base, | ||
| unsubscribed: false, | ||
| wouldCall: plan.endpoint, | ||
| reason: "Dry run — no request made. A real run would POST to `wouldCall`.", | ||
| }); | ||
| } | ||
| continue; | ||
| } | ||
| // Never let one slow endpoint eat the rest of the budget. | ||
@@ -633,2 +675,4 @@ const perThread = Math.min(TIMEOUT_MS, remaining); | ||
| handled.set(senderKey, { threadId, urls: info.httpsUrls }); | ||
| if (res.url) | ||
| requests++; | ||
| results.push(res); | ||
@@ -648,2 +692,3 @@ } | ||
| return { | ||
| dryRun, | ||
| requested: threadIds.length, | ||
@@ -654,2 +699,3 @@ attempted, | ||
| skippedOutOfTime, | ||
| requests, | ||
| results, | ||
@@ -656,0 +702,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"unsubscribe.js","sourceRoot":"","sources":["../src/unsubscribe.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"unsubscribe.js","sourceRoot":"","sources":["../src/unsubscribe.ts"],"names":[],"mappings":"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"} |
+8
-4
| { | ||
| "name": "mailwarden", | ||
| "version": "0.9.0", | ||
| "version": "0.10.0", | ||
| "description": "A reliable, native Gmail MCP server with full mailbox control — search, labels, archive, trash, attachments, and snooze.", | ||
@@ -36,3 +36,4 @@ "mcpName": "io.github.csitte/mailwarden", | ||
| "sweep": "tsx src/index.ts --sweep", | ||
| "smoke": "node scripts/smoke-package.mjs" | ||
| "smoke": "node scripts/smoke-package.mjs", | ||
| "mcpb": "node scripts/build-mcpb.mjs" | ||
| }, | ||
@@ -56,3 +57,4 @@ "keywords": [ | ||
| "ip-address": "^10.3.1", | ||
| "postcss": "^8.5.23" | ||
| "postcss": "^8.5.23", | ||
| "tmp": "^0.2.6" | ||
| }, | ||
@@ -64,3 +66,3 @@ "engines": { | ||
| "@google-cloud/local-auth": "^3.0.1", | ||
| "@modelcontextprotocol/sdk": "^1.0.0", | ||
| "@modelcontextprotocol/sdk": "^1.30.0", | ||
| "express": "^4.21.0", | ||
@@ -72,5 +74,7 @@ "google-auth-library": "^9.15.1", | ||
| "devDependencies": { | ||
| "@anthropic-ai/mcpb": "^2.1.2", | ||
| "@types/express": "^4.17.21", | ||
| "@types/node": "^22.7.0", | ||
| "@vitest/coverage-v8": "^4.1.10", | ||
| "fflate": "^0.8.3", | ||
| "tsx": "^4.19.1", | ||
@@ -77,0 +81,0 @@ "typescript": "^5.6.2", |
+33
-11
@@ -9,8 +9,10 @@ # mailwarden | ||
| A reliable, **native** Gmail [MCP](https://modelcontextprotocol.io) server — full mailbox triage for AI assistants, with the feature nobody else ships: **snooze**. | ||
| A reliable, **native** Gmail [MCP](https://modelcontextprotocol.io) server — full mailbox triage for AI assistants, with the feature no other Gmail MCP server ships: **mailbox-side snooze**. | ||
| ## Highlights | ||
| - **Snooze — the feature nobody else ships.** Archive a thread now, have it resurface in the inbox | ||
| on a date. Built on dated labels + a sweep, so it works from any client and survives restarts. | ||
| - **Snooze — the only *mailbox-side* snooze in a Gmail MCP server.** Archive a thread now, have it | ||
| resurface in the inbox on a date. Built on dated labels + a sweep, so it works from any client, | ||
| is visible in Gmail itself, and survives restarts. (Where another server offers a "snooze", it is | ||
| a local reminder list — the mail never leaves or re-enters the inbox.) | ||
| - **Search you can trust.** Gmail's own search index silently drops `is:unread` in some operator | ||
@@ -43,9 +45,10 @@ combinations — `search` re-verifies every hit against its live labels and discards the index's | ||
| Most Gmail MCP servers cover the same read/label/send surface. Two capabilities are still unique to `mailwarden`, and one deliberate omission is a security feature, not a gap. | ||
| Most Gmail MCP servers cover the same read/label/send surface. Two capabilities are still unique to `mailwarden` among Gmail MCP servers (mailbox-side snooze, search re-verification), and one deliberate omission is a security feature, not a gap. Google's own server is also narrower than it looks: draft-only, and no trash, filters or unsubscribe. | ||
| | Capability | **mailwarden** | [taylorwilsdon](https://github.com/taylorwilsdon/google_workspace_mcp) | [Google official](https://developers.google.com/workspace/gmail/api/guides/configure-mcp-server) | mcpemails.com | | ||
| |---|:--:|:--:|:--:|:--:| | ||
| | **Snooze** — defer a thread back to the inbox on a date/time or preset | ✅ | — | — | — | | ||
| | **Mailbox-side snooze** — archive now, resurface in the inbox on a date/time or preset | ✅ | — | — | — | | ||
| | **Search-result re-verification** — drops the index's false positives against live labels | ✅ | — | — | — | | ||
| | **Sweep / bulk over a query** — one action across every matching thread | ✅ 1000/req, partial-success | — | — | ⚠️ bulk organize (no query re-verification) | | ||
| | **Unsubscribe** — per-sender overview + RFC 8058 one-click opt-out, no send scope needed | ✅ | — | — | — | | ||
| | **No send tools — by design** — a prompt-injected mail has no exfiltration path | ✅ no compose at all | ❌ sends | ⚠️ draft-only | ❌ sends | | ||
@@ -82,7 +85,7 @@ | **Least-privilege tool tiers** — OAuth scopes derived from the tools you enable | ✅ | — | ⚠️ scope split | ⚠️ scoped keys | | ||
| |---|---| | ||
| | `search` | Gmail query syntax → thread summaries (from/subject/date/labels/snippet); read-state/category predicates are re-verified against each hit's live labels; paginated via `pageToken`/`nextPageToken` | | ||
| | `search` | Gmail query syntax → thread summaries (from/subject/date/labels/snippet); read-state/category predicates are re-verified against each hit's live labels; paginated via `pageToken`/`nextPageToken`. Each hit carries `signals` — `newsletter` (List-Id / List-Unsubscribe / Precedence bulk or list), `automated` (Auto-Submitted, auto-reply/suppress headers, no-reply-style senders), `calendar` (text/calendar or .ics part), `replyToMismatch` (Reply-To on another domain than From; a subdomain of the same domain counts as the same) — read off the first message's headers/MIME, no extra call | | ||
| | `get_thread` | Full thread: headers, plaintext + HTML bodies, attachment metadata | | ||
| | `list_labels` | All labels (system + user) | | ||
| | `get_profile` | Connected account's address + total message/thread counts — confirm *which* mailbox is wired up before acting | | ||
| | **`triage_digest`** | Structured overview of a mailbox slice for *decisions*: top senders, label and age buckets, unread + attachment counts — instead of a raw thread list | | ||
| | **`triage_digest`** | Structured overview of a mailbox slice for *decisions*: top senders (each with the signals its threads carry), label and age buckets, unread + attachment counts, and how many threads are newsletters / automated / calendar invites / reply-to mismatches — instead of a raw thread list | | ||
| | `list_unsubscribe` | What opt-out options a thread advertises (`List-Unsubscribe`) — contacts nobody | | ||
@@ -92,3 +95,3 @@ | **`list_subscriptions`** | A mailbox slice grouped by *sender*: thread/unread counts, the date span each was seen over, and each one's opt-out options — one header fetch per sender, contacts nobody. `sendersFound` reports how many senders there were before `topN` truncated the list | | ||
| | `modify_labels` | Add/remove labels by **name or id** — an unknown name in `add` is auto-created (archive = remove `INBOX`, read = remove `UNREAD`) | | ||
| | **`bulk_modify`** | Batch label changes for every message matching a query — 1000 messages per API request, partial success reported per chunk (thread-id list capped at 500, `modifiedThreadCount` has the total) | | ||
| | **`bulk_modify`** | Batch label changes for every message matching a query — 1000 messages per API request, partial success reported per chunk (thread-id list capped at 500, `modifiedThreadCount` has the total). `dryRun: true` resolves the query and reports the matched threads and the labels it would create, touching nothing | | ||
| | `archive` / `mark_read` / `mark_unread` | Convenience wrappers | | ||
@@ -98,7 +101,7 @@ | `trash` / `untrash` | Move to / restore from Trash | | ||
| | **`unsubscribe`** | One-click opt-out (RFC 8058) using the endpoint from the message's own header — the only tool that contacts a non-Google host ([details](#unsubscribing--the-one-outbound-request)) | | ||
| | **`bulk_unsubscribe`** | The same for several threads, sequentially and **at most one request per sender**; partial success reported per thread | | ||
| | **`bulk_unsubscribe`** | The same for several threads, sequentially and **at most one request per sender**; partial success reported per thread. `dryRun: true` runs the same header reads and dedupe and reports the endpoint each thread `wouldCall` — contacting nobody | | ||
| | **`snooze`** | Archive now, resurface on/after a date (`YYYY-MM-DD`), a date+time (`2026-06-20 9am`), or a preset (`tomorrow`, `tomorrow 9am`, `weekend`, `next week`, a weekday name, `in N days`, `in N hours`) | | ||
| | **`unsnooze`** | Cancel a snooze, return to inbox now | | ||
| | **`list_snoozed`** | All snoozed threads + due dates | | ||
| | **`sweep_snoozed`** | Resurface threads whose snooze is due (run on demand, via cron, or the daemon); batched, with partial-failure reporting | | ||
| | **`sweep_snoozed`** | Resurface threads whose snooze is due (run on demand, via cron, or the daemon); batched, with partial-failure reporting. `dryRun: true` answers "what is due right now?" (`dueLabels`/`dueThreads`) without waking anything | | ||
| | `list_filters` | All Gmail filters (criteria + label actions); surfaces any `forward` address on existing filters for auditing | | ||
@@ -303,2 +306,13 @@ | `create_filter` | Create a server-side auto-triage rule (criteria → label actions only; **no forwarding** — see below). Optionally `applyToExisting` to also sweep matching mail already in the mailbox | | ||
| **Claude Code plugin** — the same server plus a `/mailwarden:setup` skill that walks you through the | ||
| OAuth setup and diagnoses a broken one. The repo root is the plugin (`.claude-plugin/plugin.json`), so | ||
| from a clone: | ||
| ```bash | ||
| claude --plugin-dir /path/to/mailwarden | ||
| ``` | ||
| It is submitted to Anthropic's community marketplace; once listed, `/plugin marketplace add anthropics/claude-plugins-community` | ||
| then `/plugin install mailwarden@claude-community` does the same without a clone. The plugin runs the full | ||
| tool surface — for a narrower tier (`MAILWARDEN_TOOLS=read`) or a second account, use `claude mcp add` with | ||
| the env you want instead (see [Config](#config-env) and [Multiple accounts](#multiple-accounts)). | ||
| **Claude Desktop** — add to `claude_desktop_config.json`: | ||
@@ -312,2 +326,10 @@ ```json | ||
| ``` | ||
| Or install the **MCPB bundle** (`mailwarden-<version>.mcpb`, attached to | ||
| [GitHub releases](https://github.com/csitte/mailwarden/releases) from 0.10.0 on) as a Desktop extension — Settings → | ||
| Extensions → *Install extension…* — the same server, self-contained at run time (no `npx`; Claude | ||
| Desktop brings the Node runtime), with the tool tiers as a setting. The bundle is built from the packed | ||
| npm package (same file set as published; `npm run mcpb`, verified in CI: validated, unpacked and booted) | ||
| and is the format Smithery uses for a local stdio server (Smithery gets a variant of the same file set | ||
| with full tool schemas). The one-time `npx -y mailwarden --auth` still applies (Node needed once for | ||
| that) — the bundle reads the same `~/.mailwarden/` token. | ||
@@ -381,3 +403,3 @@ **Remote (Streamable HTTP)** — for a VPS / claude.ai custom connector: | ||
| Working and used in daily mailbox automation. Core Gmail tools + snooze implemented against `googleapis`, covered by a vitest suite (458 tests — `npm run coverage`). Current version: see the npm badge above, the [changelog](https://github.com/csitte/mailwarden/blob/main/CHANGELOG.md), or [releases](https://github.com/csitte/mailwarden/releases). PRs welcome. | ||
| Working and used in daily mailbox automation. Core Gmail tools + snooze implemented against `googleapis`, covered by a vitest suite (723 tests — `npm run coverage`). Current version: see the npm badge above, the [changelog](https://github.com/csitte/mailwarden/blob/main/CHANGELOG.md), or [releases](https://github.com/csitte/mailwarden/releases). PRs welcome. | ||
@@ -384,0 +406,0 @@ ## License |
+37
-0
@@ -76,2 +76,8 @@ # Security policy & threat model | ||
| `mailwarden`'s own output. | ||
| - **Header text is not header syntax.** Where a header's *structure* matters — the `From` mailbox that | ||
| keys `triage_digest` / `list_subscriptions` grouping and the `bulk_unsubscribe` per-sender dedupe, | ||
| the `Reply-To` domains behind `replyToMismatch` — it is read off the raw wire form with a scanner | ||
| that knows RFC 5322 quoting, comments and groups; RFC 2047 encoded-words are decoded only into the | ||
| display name, and re-quoted if the decoded text contains address syntax. A display name cannot pose | ||
| as another sender's address, encoded or not (0.10.0). | ||
@@ -180,2 +186,33 @@ ### 4. Acting on stale state | ||
| ## Against published guidance | ||
| Two documents now say in general terms what the sections above say for this server. Listed so a | ||
| reviewer can check the mapping rather than take our word for it: | ||
| - **MCP Security Best Practices** (spec revision 2026-07-28, | ||
| <https://modelcontextprotocol.io/specification/2026-07-28/basic/security_best_practices>). | ||
| *Local MCP Server Compromise* — servers meant to run locally should use `stdio` or, over HTTP, | ||
| require an authorization token: `mailwarden` is stdio by default and `--http` binds loopback with | ||
| a mandatory bearer token and a Host allowlist (threat 6). *Scope Minimization* — a least-privilege | ||
| scope model with only what the surface uses: the tool tiers derive the OAuth scopes from the | ||
| enabled tools (threat 2). *SSRF* — HTTPS only, block private/link-local ranges, validate every | ||
| redirect hop: the unsubscribe guard does exactly that, per hop (threat 9). Its caveat against | ||
| hand-rolled IP parsing (encoding tricks — octal, hex, v4-mapped v6) is met differently here: the | ||
| guard never parses what a mail supplied, only the resolver's answers, as bytes, and anything it | ||
| cannot parse is refused. | ||
| - **OWASP MCP Security Cheat Sheet** | ||
| (<https://cheatsheetseries.owasp.org/cheatsheets/MCP_Security_Cheat_Sheet.html>). Its examples | ||
| read like this server's design: "Request narrow OAuth scopes (e.g., `mail.readonly` instead of | ||
| `mail.modify`)" — the `read` tier; "Treat every tool response as untrusted user input" — the | ||
| output fencing (threat 3); "Never fetch arbitrary URLs provided by the LLM" — the URL is never a | ||
| tool parameter (threat 9); "Bind MCP HTTP/SSE servers to specific interfaces (e.g., 127.0.0.1), | ||
| never 0.0.0.0" — the `--http` default (threat 6). Its "explicit user confirmation for destructive, | ||
| financial, or data-sharing operations" is a *client* control; what the server contributes is `destructiveHint` on `trash`, | ||
| `bulk_modify` and `create_filter`, so a client that gates on annotations gates the right tools, and no permanent | ||
| delete to confirm in the first place. | ||
| Where the guidance asks for something a server cannot deliver alone — confirmation prompts and | ||
| sandboxing of the local process are the client's and the OS's to provide — the non-goals below draw | ||
| the same line: a compromised client or machine is outside what this server can defend against. | ||
| ## Dependency advisories | ||
@@ -182,0 +219,0 @@ |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
402612
13.86%30
7.14%4232
15.19%401
5.8%8
33.33%24
4.35%