Skip to content

KeepShapesRevise

KeepShapesRevise = Omit<ReviseOperation, "shapes"> & object

A revise that keeps the Thing’s current Shapes. At submit the SDK reads the Thing’s declared Shapes and version and sends both, the version as expectedVersion (a caller-supplied expectedVersion wins). The Shapes are sent bare, so the revise re-certifies under each Shape’s head version, not the version the Thing was last certified under. A Thing revised earlier in the same submission carries that revise’s Shapes and no inferred version; one added, or renamed to or from, earlier in it is refused locally, since its Shapes are not known until that operation commits.

Because it pins the version it read, a resubmission of the same submissionId from a fresh process, after the first attempt committed, can conflict. Explicit shapes is the retry-safe form.

keepShapes: true

optional shapes?: never