Yes: @falkster/heidi. Zero dependencies, Node 18+ fetch, full types. The whole surface: ask, memory search and writes, tools, agents, activity, with automatic rate-limit retry honouring Retry-After.
const heidi = new Heidi({ baseUrl, token }) and you are one await from an answer with sources. Every memory hit is typed with text, kind, namespace, and source_url, the receipt.
Works in Node, Bun, Deno, and edge runtimes; nothing to polyfill.