Interface LongTermMemoryPolicyInput

interface LongTermMemoryPolicyInput {
    enabled?: boolean;
    scopes?: Partial<Record<LongTermMemoryScope, boolean>>;
    shareWithOrganization?: boolean;
    storeAtomicDocs?: boolean;
    allowedCategories?: RollingSummaryMemoryCategory[];
}

Properties

enabled?: boolean

Master switch for persisting long-term memory (e.g., to RAG / knowledge graph).

Notes:

  • This does NOT disable rolling-summary compaction (prompt compaction).
  • When false, sinks should not persist any long-term memory artifacts.
scopes?: Partial<Record<LongTermMemoryScope, boolean>>

Enabled scopes for persistence. Unspecified scopes inherit prior/default values.

Defaults are conservative:

  • conversation: true
  • user/persona/org: false
shareWithOrganization?: boolean

Explicit opt-in required to write to organization-scoped memory. Even when scopes.organization=true, implementations should gate on this flag.

storeAtomicDocs?: boolean

Whether to create atomic per-item memory docs from memory_json (recommended).

allowedCategories?: RollingSummaryMemoryCategory[]

Optional allowlist of memory_json categories to persist as atomic docs.

  • null / undefined: persist all categories supported by the sink
  • []: persist none