Strands Agents Typescript SDK
    Preparing search index...

    Interface SnapshotStorage

    Interface for snapshot persistence. Implementations provide storage backends (S3, filesystem, etc.).

    File layout convention:

    sessions/<session_id>/
    scopes/
    agent/<scope_id>/
    snapshots/
    snapshot_latest.json
    immutable_history/
    snapshot_<uuid>.json
    snapshot_<uuid>.json
    interface SnapshotStorage {
        saveSnapshot(
            params: {
                location: SnapshotLocation;
                snapshotId: string;
                isLatest: boolean;
                snapshot: Snapshot;
            },
        ): Promise<void>;
        loadSnapshot(
            params: { location: SnapshotLocation; snapshotId?: string },
        ): Promise<Snapshot>;
        listSnapshotIds(params: { location: SnapshotLocation }): Promise<string[]>;
        loadManifest(
            params: { location: SnapshotLocation },
        ): Promise<SnapshotManifest>;
        saveManifest(
            params: { location: SnapshotLocation; manifest: SnapshotManifest },
        ): Promise<void>;
    }

    Implemented by

    Index

    Methods

    • Persists a snapshot to storage.

      Parameters

      • params: {
            location: SnapshotLocation;
            snapshotId: string;
            isLatest: boolean;
            snapshot: Snapshot;
        }

      Returns Promise<void>

    • Lists all available snapshot IDs for a session scope.

      TODO: Add pagination support for long-running agents with many snapshots. Future signature could be:

      listSnapshots(params: {
      location: SnapshotLocation
      limit?: number // Max results to return (e.g., 100)
      startAfter?: string // Snapshot ID to start after (for cursor-based pagination)
      }): Promise<{ snapshotIds: string[]; nextToken?: string }>

      Parameters

      Returns Promise<string[]>