reserveSnapshotId function
Mints a new snapshotId (a plain random UUID).
The runtime normally supplies the snapshotId to the store at save time, but some flows need the id ahead of time - e.g. an agent turn that wants to know the snapshotId at turn start, and have the snapshot persisted at turn end reuse that very id, or the detach path which pre-reserves the in-flight snapshot's id.
Implementation
String reserveSnapshotId() => generateUuidV4();