WOLBΛRG

subscribe()

Register real-time callbacks for memory change events — filter by organization, agent, and event type.

Signature

subscribe(
  filter: SubscribeFilter,
  callback: (event: MemoryChangeEvent) => void,
): Unsubscribe

interface SubscribeFilter {
  organization: string;
  agent?: string;
  event?: SubscribableEvent | SubscribableEvent[];
}

type SubscribableEvent =
  | "remember"
  | "update"
  | "forget"
  | "compress"
  | "ingest"
  | "*";

interface MemoryChangeEvent {
  event: Exclude<SubscribableEvent, "*">;
  organization: string;
  agent: string;
  memoryId: string | string[];
  timestamp: string;
  traceId?: string;
  sessionId?: string;
  upsertAction?: "created" | "updated" | "skipped";
}

type Unsubscribe = () => void;

Example

const stop = ctx.subscribe(
  { organization: "my-org", event: ["remember", "update"] },
  (e) => console.log(e.event, e.memoryId),
);

await ctx.remember({
  agent: "assistant",
  content: { text: "Ships prefer express checkout" },
});

stop();
await ctx.close(); // also clears remaining subscriptions

Backend notes

BackendDelivery
SQLiteSame Node process only
PostgreSQLCross-process via LISTEN/NOTIFY

Full guide: Real-time events.