Skip to content

SessionManager

Defined in: src/session/session-manager.ts:81

Manages session persistence for agents, enabling conversation state to be saved and restored across invocations using pluggable storage backends.

Also supports multi-agent orchestrators (Graph, Swarm) via the MultiAgentPlugin interface. Scope is auto-detected based on whether initAgent or initMultiAgent is called.

import { SessionManager, FileStorage } from '@strands-agents/sdk'
const session = new SessionManager({
sessionId: 'my-session',
storage: { snapshot: new FileStorage() },
})
const agent = new Agent({ sessionManager: session })
new SessionManager(config): SessionManager;

Defined in: src/session/session-manager.ts:96

ParameterType
configSessionManagerConfig

SessionManager

get name(): string;

Defined in: src/session/session-manager.ts:92

Unique identifier for this plugin.

string

A stable string identifier for the plugin. Used for logging, duplicate detection, and plugin management.

For strands-vended plugins, names should be prefixed with strands:.

Plugin.name

initAgent(agent): void;

Defined in: src/session/session-manager.ts:105

Initializes the plugin by registering lifecycle hook callbacks.

ParameterType
agentLocalAgent

void

Plugin.initAgent


saveSnapshot(params): Promise<void>;

Defined in: src/session/session-manager.ts:129

Saves a snapshot of the target’s current state.

ParameterType
params{ target: LocalAgent; isLatest: boolean; }
params.targetLocalAgent
params.isLatestboolean

Promise<void>

saveSnapshot(params): Promise<void>;

Defined in: src/session/session-manager.ts:130

Saves a snapshot of the target’s current state.

ParameterType
params{ target: Graph | Swarm; state?: MultiAgentState; isLatest: boolean; }
params.targetGraph | Swarm
params.state?MultiAgentState
params.isLatestboolean

Promise<void>


deleteSession(): Promise<void>;

Defined in: src/session/session-manager.ts:148

Deletes all snapshots and manifests for this session from storage.

Promise<void>


restoreSnapshot(params): Promise<boolean>;

Defined in: src/session/session-manager.ts:153

Loads a snapshot from storage and restores it into the target. Returns false if no snapshot exists.

ParameterType
params{ target: LocalAgent; snapshotId?: string; }
params.targetLocalAgent
params.snapshotId?string

Promise<boolean>

restoreSnapshot(params): Promise<boolean>;

Defined in: src/session/session-manager.ts:154

Loads a snapshot from storage and restores it into the target. Returns false if no snapshot exists.

ParameterType
params{ target: Graph | Swarm; state?: MultiAgentState; snapshotId?: string; }
params.targetGraph | Swarm
params.state?MultiAgentState
params.snapshotId?string

Promise<boolean>


initMultiAgent(orchestrator): void;

Defined in: src/session/session-manager.ts:241

Initializes the multi-agent plugin by registering orchestrator lifecycle hooks.

ParameterType
orchestratorMultiAgent

void

MultiAgentPlugin.initMultiAgent