Creates new S3Storage instance
Configuration options
Saves snapshot to S3, optionally marking as latest
Loads snapshot by ID or latest if undefined
Lists all snapshot IDs for a session scope.
TODO: Add pagination support for long-running agents with many snapshots. Future signature could be:
listSnapshots(params: {
sessionId: string
scope: Scope
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 }>
Loads manifest or returns default if not found
Saves manifest to S3
S3-based implementation of SnapshotStorage for persisting session snapshots