SDKsOverview

SDKs

Every SDK is generated from the same openapi.json the server publishes. Types are guaranteed in sync with the wire format.

Why generated?

  • Drift is impossible. If the server’s spec changes, regenerating the SDK shows the diff in the PR. Handwritten SDKs always lie eventually.
  • Every method has full types. Autocomplete in your editor for every parameter, every return field, every error code.
  • Pagination, retries, idempotency are wrapped uniformly in every language. You write business logic; the SDK does the plumbing.

What’s the same across all three

  • recall, remember, forget, pin, timeline core methods.
  • Resource families: facts, decisions, episodes, entities, relations.
  • Type-safe error subclasses (MnemoConflictError, MnemoRateLimitError).
  • Built-in retry with exponential backoff (configurable).
  • Idempotency-key helpers.
  • Cursor-based pagination iterators.

Need a language we don’t ship yet? Generate one from openapi.json with openapi-generator-cli and send a PR. Rust, Java, Ruby, Elixir, Swift — all welcome.