supermemory/apps
addyCooks b67bec88e5 test(mcp): restore SupermemoryClient coverage and fix two blank error messages
#1406 shipped the API-error unwrapping and the status-aware handleError
fallbacks with a test file that had already been deleted in #1397, so
SupermemoryClient - every outbound API call, extractApiErrorMessage, and
all of handleError - had no coverage at all.

Restores src/server/client/index.test.ts with 53 cases covering the SDK
wiring, space scoping, result normalisation, forgetMemory's exact-match
and similarity fallbacks, the raw-fetch endpoints, and the full status
table.

Two of those cases failed against the untested code:

- A 403 whose body is {"error": ""} leaked the raw JSON envelope to the
  user, because extractApiErrorMessage falls through to the raw string
  when the recognised key holds an empty value. An envelope we parsed
  but that carries no message now yields undefined so the caller reaches
  its scope-aware fallback.
- A status outside the mapped switch (409, 413, ...) with an empty body
  reached the user as an Error with an empty message. Unmapped statuses
  with no message now report the status instead.
2026-09-08 13:00:49 +05:30
..
docs chore(web): reduce the app to a redirect shell, drop the browser extension (#1651) 2026-09-07 19:56:46 +00:00
mcp test(mcp): restore SupermemoryClient coverage and fix two blank error messages 2026-09-08 13:00:49 +05:30
memory-graph-playground fix: add type checks for TypeScript workspaces (#1447) 2026-08-13 17:55:50 +05:30
raycast-extension fix(mcp): bound tool inputs and scope get_document to the active space (#1593) 2026-08-24 21:36:04 +00:00
sdk-playground feat(sdk-playground): reflect SDK-owned memory block in debug view (#1533) 2026-09-01 06:10:37 +00:00
web chore(web): reduce the app to a redirect shell, drop the browser extension (#1651) 2026-09-07 19:56:46 +00:00