nvoken
DocumentationMemorySpaces

Build

MemorySpaces

Select user-private or tenant-shared durable memory independently from Agent behavior and Conversation continuity.

A MemorySpace is the durable identity for agent memory. It is selected by scope and namespace, independently from the Agent, Conversation, and actor.

User memory

const answer = await agent.text("Remember my preferred report format.", {
  tenant: "acme",
  user: "alice",
  memory: { scope: "user", namespace: "reports" },
});

User memory requires an actor user and resolves inside that exact (tenant, user, namespace) scope.

Shared tenant memory

await agent.text("Remember this team's escalation policy.", {
  tenant: "acme",
  user: "alice",
  memory: { scope: "tenant", namespace: "support-team" },
});

Any authorized caller may intentionally select the same tenant namespace. The shared MemorySpace does not prove user membership and does not erase actor attribution from the Turn.

Agent defaults and one-Turn selection

An Agent revision may declare a default memory scope. A Turn can select an allowed scope and namespace explicitly, or disable memory with { scope: "none" }. Inline behavior requires explicit namespaces for user or tenant memory because it has no stored Agent identity from which to derive one.

Inspect and erase

Use client.raw().memorySpaces or the console to resolve, list, read, and delete MemorySpaces. Deleting a MemorySpace erases its retained memory content; historical Turn facts can keep the former MemorySpace ID so usage and observability remain honest.