From 607786b2e435536f8e50f5175c62837ca1cdfa9f Mon Sep 17 00:00:00 2001 From: Daniel Madrid <105010181+dannimad@users.noreply.github.com> Date: Mon, 28 Aug 2023 17:58:03 -0700 Subject: [PATCH] Tag asserts 6.2 (#17060) In preparation to minor client release 6.2.0 --- .../tree2/src/core/forest/editableForest.ts | 2 +- .../editable-tree/ProxyTarget.ts | 2 +- .../editable-tree/editableField.ts | 2 +- .../sequence-field/rebase.ts | 13 +-- .../sequence-field/sequenceFieldToDelta.ts | 5 +- .../feature-libraries/sequence-field/utils.ts | 2 +- .../tree2/src/shared-tree-core/editManager.ts | 6 +- .../tree2/src/shared-tree/schematizedTree.ts | 2 +- packages/dds/merge-tree/src/mergeTree.ts | 2 +- .../src/id-compressor/appendOnlySortedMap.ts | 5 +- .../src/id-compressor/finalSpace.ts | 2 +- .../src/id-compressor/idCompressor.ts | 33 ++++--- .../src/id-compressor/sessions.ts | 11 ++- .../src/assertionShortCodesMap.ts | 90 +++++++------------ 14 files changed, 88 insertions(+), 89 deletions(-) diff --git a/experimental/dds/tree2/src/core/forest/editableForest.ts b/experimental/dds/tree2/src/core/forest/editableForest.ts index b6ea85d23e9e..de5c9e97775e 100644 --- a/experimental/dds/tree2/src/core/forest/editableForest.ts +++ b/experimental/dds/tree2/src/core/forest/editableForest.ts @@ -48,7 +48,7 @@ export function initializeForest( forest: IEditableForest, content: readonly ITreeCursorSynchronous[], ): void { - assert(forest.isEmpty, "forest must be empty"); + assert(forest.isEmpty, 0x747 /* forest must be empty */); const insert: Delta.Insert = { type: Delta.MarkType.Insert, content }; forest.applyDelta(new Map([[rootFieldKey, [insert]]])); } diff --git a/experimental/dds/tree2/src/feature-libraries/editable-tree/ProxyTarget.ts b/experimental/dds/tree2/src/feature-libraries/editable-tree/ProxyTarget.ts index ac3b49e3fdbb..bf3d7f96e152 100644 --- a/experimental/dds/tree2/src/feature-libraries/editable-tree/ProxyTarget.ts +++ b/experimental/dds/tree2/src/feature-libraries/editable-tree/ProxyTarget.ts @@ -54,7 +54,7 @@ export abstract class ProxyTarget { if (this.lazyCursor.state !== ITreeSubscriptionCursorState.Current) { assert( this.lazyCursor.state === ITreeSubscriptionCursorState.Cleared, - "Unset cursor should be in cleared state", + 0x749 /* Unset cursor should be in cleared state */, ); assert( this.anchor !== undefined, diff --git a/experimental/dds/tree2/src/feature-libraries/editable-tree/editableField.ts b/experimental/dds/tree2/src/feature-libraries/editable-tree/editableField.ts index 80406e601402..067b09310d0e 100644 --- a/experimental/dds/tree2/src/feature-libraries/editable-tree/editableField.ts +++ b/experimental/dds/tree2/src/feature-libraries/editable-tree/editableField.ts @@ -404,7 +404,7 @@ export class FieldProxyTarget extends ProxyTarget implements Editab const parentAnchorNode = this.context.forest.anchors.locate(parentAnchor); // As the "parentAnchor === undefined" case is handled above, parentAnchorNode should exist. - assert(parentAnchorNode !== undefined, "parentAnchorNode must exist."); + assert(parentAnchorNode !== undefined, 0x748 /* parentAnchorNode must exist. */); return treeStatusFromPath(parentAnchorNode); } diff --git a/experimental/dds/tree2/src/feature-libraries/sequence-field/rebase.ts b/experimental/dds/tree2/src/feature-libraries/sequence-field/rebase.ts index 41655a756f96..1aec394289d0 100644 --- a/experimental/dds/tree2/src/feature-libraries/sequence-field/rebase.ts +++ b/experimental/dds/tree2/src/feature-libraries/sequence-field/rebase.ts @@ -161,13 +161,13 @@ function rebaseMarkList( if (markEmptiesCells(baseMark)) { assert(isDetachMark(baseMark), 0x709 /* Only detach marks should empty cells */); const detachId = getDetachCellId(baseMark, baseIntention); - assert(detachId.revision !== undefined, "Detach ID should have a revision"); + assert(detachId.revision !== undefined, 0x74a /* Detach ID should have a revision */); addLineageToRecipients(lineageRecipients, detachId.revision, detachId.localId, length); } if (areInputCellsEmpty(rebasedMark)) { if (markEmptiesCells(baseMark)) { - assert(isDetachMark(baseMark), "Only detaches empty cells"); + assert(isDetachMark(baseMark), 0x74b /* Only detaches empty cells */); if (baseMark.type === "MoveOut" || baseMark.detachIdOverride === undefined) { setMarkAdjacentCells(rebasedMark, detachBlock); } @@ -189,7 +189,7 @@ function rebaseMarkList( if (detachId.revision === baseIntention) { addIdRange(detachBlock, { id: baseMark.id, count: baseMark.count }); } else { - assert(detachId.revision !== undefined, "Detach ID should have revision"); + assert(detachId.revision !== undefined, 0x74c /* Detach ID should have revision */); lineageEntries.push({ revision: detachId.revision, id: detachId.localId, @@ -788,8 +788,11 @@ function getLineageHolder(mark: Mark): HasLineage { } function setMarkAdjacentCells(mark: Mark, adjacentCells: IdRange[]): void { - assert(mark.cellId !== undefined, "Can only set adjacent cells on a mark with cell ID"); - assert(mark.cellId.adjacentCells === undefined, "Should not overwrite adjacentCells"); + assert( + mark.cellId !== undefined, + 0x74d /* Can only set adjacent cells on a mark with cell ID */, + ); + assert(mark.cellId.adjacentCells === undefined, 0x74e /* Should not overwrite adjacentCells */); mark.cellId.adjacentCells = adjacentCells; } diff --git a/experimental/dds/tree2/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts b/experimental/dds/tree2/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts index f1bf4b6bcefe..98f84738d9af 100644 --- a/experimental/dds/tree2/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts +++ b/experimental/dds/tree2/src/feature-libraries/sequence-field/sequenceFieldToDelta.ts @@ -28,7 +28,10 @@ export function sequenceFieldToDelta( const changes = getEffectiveNodeChanges(mark); const cellDeltas = cellDeltaFromMark(mark, revision, idAllocator, changes === undefined); if (changes !== undefined) { - assert(cellDeltas.length === 1, "Invalid nested changes on non length-1 mark"); + assert( + cellDeltas.length === 1, + 0x74f /* Invalid nested changes on non length-1 mark */, + ); const fullDelta = withChildModifications(changes, cellDeltas[0], deltaFromChild); out.push(fullDelta); } else { diff --git a/experimental/dds/tree2/src/feature-libraries/sequence-field/utils.ts b/experimental/dds/tree2/src/feature-libraries/sequence-field/utils.ts index 715c40fe2726..bbe868588d18 100644 --- a/experimental/dds/tree2/src/feature-libraries/sequence-field/utils.ts +++ b/experimental/dds/tree2/src/feature-libraries/sequence-field/utils.ts @@ -117,7 +117,7 @@ export function getOutputCellId( revision: RevisionTag | undefined, ): CellId | undefined { if (markEmptiesCells(mark)) { - assert(isDetachMark(mark), "Only detaches can empty cells"); + assert(isDetachMark(mark), 0x750 /* Only detaches can empty cells */); return getDetachCellId(mark, revision); } else if (markFillsCells(mark)) { return undefined; diff --git a/experimental/dds/tree2/src/shared-tree-core/editManager.ts b/experimental/dds/tree2/src/shared-tree-core/editManager.ts index 9a8062efc82b..1fe9392e616d 100644 --- a/experimental/dds/tree2/src/shared-tree-core/editManager.ts +++ b/experimental/dds/tree2/src/shared-tree-core/editManager.ts @@ -319,11 +319,11 @@ export class EditManager< const trunkSize = getPathFromBase(this.trunk.getHead(), this.trunkBase).length; assert( this.sequenceMap.size === trunkSize + 1, - "The size of the sequenceMap must have one element more than the trunk", + 0x744 /* The size of the sequenceMap must have one element more than the trunk */, ); assert( this.trunkMetadata.size === trunkSize, - "The size of the trunkMetadata must be the same as the trunk", + 0x745 /* The size of the trunkMetadata must be the same as the trunk */, ); } } @@ -610,7 +610,7 @@ export class EditManager< : searchBy; const commit = this.sequenceMap.getPairOrNextLower(sequenceId); - assert(commit !== undefined, "sequence id has been evicted"); + assert(commit !== undefined, 0x746 /* sequence id has been evicted */); return commit; } diff --git a/experimental/dds/tree2/src/shared-tree/schematizedTree.ts b/experimental/dds/tree2/src/shared-tree/schematizedTree.ts index c1dae602fef7..7ec79fc8e174 100644 --- a/experimental/dds/tree2/src/shared-tree/schematizedTree.ts +++ b/experimental/dds/tree2/src/shared-tree/schematizedTree.ts @@ -43,7 +43,7 @@ export function initializeContent( schema: TypedSchemaCollection, setInitialTree: () => void, ): void { - assert(schemaDataIsEmpty(storedSchema), "cannot initialize after a schema is set"); + assert(schemaDataIsEmpty(storedSchema), 0x743 /* cannot initialize after a schema is set */); const rootSchema = schema.rootFieldSchema; const rootKind = rootSchema.kind.identifier; diff --git a/packages/dds/merge-tree/src/mergeTree.ts b/packages/dds/merge-tree/src/mergeTree.ts index 00695c84f192..07a8a952bc52 100644 --- a/packages/dds/merge-tree/src/mergeTree.ts +++ b/packages/dds/merge-tree/src/mergeTree.ts @@ -1350,7 +1350,7 @@ export class MergeTree { if (marker !== undefined) { assert( marker.isLeaf() && Marker.is(marker), - "Object returned is not a valid marker", + 0x751 /* Object returned is not a valid marker */, ); foundMarker = marker; } diff --git a/packages/runtime/container-runtime/src/id-compressor/appendOnlySortedMap.ts b/packages/runtime/container-runtime/src/id-compressor/appendOnlySortedMap.ts index d8492dd09932..08a7b7ede502 100644 --- a/packages/runtime/container-runtime/src/id-compressor/appendOnlySortedMap.ts +++ b/packages/runtime/container-runtime/src/id-compressor/appendOnlySortedMap.ts @@ -234,7 +234,10 @@ export class AppendOnlySortedMap { let prev: readonly [K, unknown] | undefined; for (const kv of this.entries()) { if (prev !== undefined) { - assert(this.comparator(kv[0], prev[0]) > 0, "Keys in map must be sorted."); + assert( + this.comparator(kv[0], prev[0]) > 0, + 0x752 /* Keys in map must be sorted. */, + ); } prev = kv; } diff --git a/packages/runtime/container-runtime/src/id-compressor/finalSpace.ts b/packages/runtime/container-runtime/src/id-compressor/finalSpace.ts index aa37ac44d161..54240010dd89 100644 --- a/packages/runtime/container-runtime/src/id-compressor/finalSpace.ts +++ b/packages/runtime/container-runtime/src/id-compressor/finalSpace.ts @@ -29,7 +29,7 @@ export class FinalSpace { lastCluster === undefined || // eslint-disable-next-line @typescript-eslint/restrict-plus-operands newCluster.baseFinalId === lastCluster.baseFinalId + lastCluster.capacity, - "Cluster insert to final_space is out of order.", + 0x753 /* Cluster insert to final_space is out of order. */, ); this.clusterList.push(newCluster); } diff --git a/packages/runtime/container-runtime/src/id-compressor/idCompressor.ts b/packages/runtime/container-runtime/src/id-compressor/idCompressor.ts index a53461b9cced..e38708935b9f 100644 --- a/packages/runtime/container-runtime/src/id-compressor/idCompressor.ts +++ b/packages/runtime/container-runtime/src/id-compressor/idCompressor.ts @@ -108,7 +108,7 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { // As policy, the first session is always the local session. Preserve this invariant // during deserialization. const firstSession = localSessionIdOrDeserialized.sessions().next(); - assert(!firstSession.done, "First session must be present."); + assert(!firstSession.done, 0x754 /* First session must be present. */); this.localSession = firstSession.value; this.localSessionId = stableIdFromNumericUuid( this.localSession.sessionUuid, @@ -218,7 +218,7 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { return; } - assert(range.ids.count > 0, "Malformed ID Range."); + assert(range.ids.count > 0, 0x755 /* Malformed ID Range. */); const { sessionId, ids } = range; const { count, firstGenCount } = ids; const session = this.sessions.getOrCreate(sessionId); @@ -254,7 +254,10 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { // The last cluster in the sessions chain is the last cluster globally, so it can be expanded. lastCluster.capacity += newClaimedFinalCount; lastCluster.count += count; - assert(!this.sessions.clusterCollides(lastCluster), "Cluster collision detected."); + assert( + !this.sessions.clusterCollides(lastCluster), + 0x756 /* Cluster collision detected. */, + ); if (isLocal) { this.logger?.sendTelemetryEvent({ eventName: "RuntimeIdCompressor:ClusterExpansion", @@ -289,7 +292,7 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { this.telemetryLocalIdCount = 0; } - assert(!session.isEmpty(), "Empty sessions should not be created."); + assert(!session.isEmpty(), 0x757 /* Empty sessions should not be created. */); } private addEmptyCluster(session: Session, capacity: number): IdCluster { @@ -298,7 +301,7 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { capacity, 0, ); - assert(!this.sessions.clusterCollides(newCluster), "Cluster collision detected."); + assert(!this.sessions.clusterCollides(newCluster), 0x758 /* Cluster collision detected. */); this.finalSpace.addCluster(newCluster); return newCluster; } @@ -379,7 +382,10 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { if (alignedGenCount > lastFinalizedGenCount) { // should be an eager final id generated by the local session if (containingCluster.session === this.localSession) { - assert(!this.normalizer.contains(alignedLocal), "Normalizer out of sync."); + assert( + !this.normalizer.contains(alignedLocal), + 0x759 /* Normalizer out of sync. */, + ); } else { throw new Error("Unknown ID"); } @@ -432,7 +438,7 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { } else { assert( genCountFromLocalId(alignedLocal) <= this.localGenCount, - "Clusters out of sync.", + 0x75a /* Clusters out of sync. */, ); // Id is an eager final return getAlignedFinal(containingCluster, alignedLocal) as @@ -513,7 +519,7 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { } } - assert(index === totalSize, "Serialized size was incorrectly calculated."); + assert(index === totalSize, 0x75b /* Serialized size was incorrectly calculated. */); this.logger?.sendTelemetryEvent({ eventName: "RuntimeIdCompressor:SerializedIdCompressorSize", size: serializedFloat.byteLength, @@ -540,7 +546,7 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { bufferUint: new BigUint64Array(buffer), }; const version = readNumber(index); - assert(version === currentWrittenVersion, "Unknown serialized version."); + assert(version === currentWrittenVersion, 0x75c /* Unknown serialized version. */); const hasLocalState = readBoolean(index); const clusterCapacity = readNumber(index); const sessionCount = readNumber(index); @@ -551,12 +557,15 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { const sessions: [NumericUuid, Session][] = []; if (!hasLocalState) { // If !hasLocalState, there won't be a serialized local session ID so insert one at the beginning - assert(sessionId !== undefined, "Local session ID is undefined."); + assert(sessionId !== undefined, 0x75d /* Local session ID is undefined. */); const localSessionNumeric = numericUuidFromStableId(sessionId); sessions.push([localSessionNumeric, new Session(localSessionNumeric)]); sessionOffset = 1; } else { - assert(sessionId === undefined, "Local state should not exist in serialized form."); + assert( + sessionId === undefined, + 0x75e /* Local state should not exist in serialized form. */, + ); } for (let i = 0; i < sessionCount; i++) { @@ -595,7 +604,7 @@ export class IdCompressor implements IIdCompressor, IIdCompressorCore { assert( index.index === index.bufferFloat.length, - "Failed to read entire serialized compressor.", + 0x75f /* Failed to read entire serialized compressor. */, ); return compressor; } diff --git a/packages/runtime/container-runtime/src/id-compressor/sessions.ts b/packages/runtime/container-runtime/src/id-compressor/sessions.ts index 14112dfdf88b..a88296f33ffa 100644 --- a/packages/runtime/container-runtime/src/id-compressor/sessions.ts +++ b/packages/runtime/container-runtime/src/id-compressor/sessions.ts @@ -54,7 +54,10 @@ export class Sessions { return existing; } const session = new Session(sessionId); - assert(this.uuidSpace.set(session.sessionUuid, session), "Duplicate session in map."); + assert( + this.uuidSpace.set(session.sessionUuid, session), + 0x760 /* Duplicate session in map. */, + ); this.sessionCache.set(sessionId, session); return session; } @@ -111,7 +114,7 @@ export class Sessions { } const [_, session] = closestMatch; - assert(session !== owningSession, "Failed to attempt to detect collisions."); + assert(session !== owningSession, 0x761 /* Failed to attempt to detect collisions. */); const lastCluster = session.getLastCluster(); if (lastCluster === undefined) { // If the closest session is empty (the local session), then it is guaranteed (probabilistically) that there are no @@ -138,7 +141,7 @@ export class Sessions { } assert( session === firstSessionThis, - "The only non-empty session must be the local session.", + 0x762 /* The only non-empty session must be the local session. */, ); } else if (!session.equals(otherSession)) { return false; @@ -367,7 +370,7 @@ export function getAlignedLocal( ): LocalCompressedId { assert( finalWithin >= cluster.baseFinalId && finalWithin <= lastAllocatedFinal(cluster), - "Supplied ID is not within the cluster.", + 0x763 /* Supplied ID is not within the cluster. */, ); const finalDelta = finalWithin - cluster.baseFinalId; return (cluster.baseLocalId - finalDelta) as LocalCompressedId; diff --git a/packages/runtime/test-runtime-utils/src/assertionShortCodesMap.ts b/packages/runtime/test-runtime-utils/src/assertionShortCodesMap.ts index b0c6e4f2de35..84c95d1a8fee 100644 --- a/packages/runtime/test-runtime-utils/src/assertionShortCodesMap.ts +++ b/packages/runtime/test-runtime-utils/src/assertionShortCodesMap.ts @@ -625,16 +625,11 @@ export const shortCodeMap = { "0x385": "For clarity and paranoid defense against adding future attachment states", "0x386": "Must have pending blob entry for uploaded blob", "0x387": "Must have pending blob entry for blob which failed to upload", - "0x388": "Must only transition to offline flow while runtime is disconnected", - "0x389": "No pending blob entry", - "0x38a": "Blob must be in online flow to transition to offline flow", "0x38b": "Resubmitted ops must have metadata", "0x38d": "blob must be uploaded before resubmitting BlobAttach op", "0x38f": "local online BlobAttach op with no pending blob entry", "0x390": "Must be attached to get GC data", "0x391": "Redirect table size must match BlobManager's local ID count", - "0x392": "Connect event delay must be canceled before subsequent connect event", - "0x393": "Must have clientId when connecting", "0x394": "connect event delay must be cleared before propagating connect event", "0x395": "it's one and the same thing", "0x397": "Unexpected summary stage", @@ -748,7 +743,6 @@ export const shortCodeMap = { "0x421": "expected exactly one node", "0x422": "unexpected type", "0x428": "Clients with local changes cannot be used to generate summaries", - "0x42b": "EditManager data is required in summary", "0x42c": "There should not already be stored EditManager data when loading from summary", "0x42d": "Navigation to detached fields should never fail", "0x42e": "Cursor must be current to be used", @@ -807,40 +801,6 @@ export const shortCodeMap = { "0x47b": "No repair data found", "0x47c": "No repair data found", "0x47d": "No repair data found", - "0x47f": "Keys in map must be sorted.", - "0x480": "Values in map must be sorted.", - "0x481": "Clusters must have a positive capacity", - "0x482": "Clusters must not exceed max cluster size", - "0x484": "Attempted to create duplicate session", - "0x485": "Inconsistent local ID state", - "0x486": "Inconsistent override state", - "0x487": "Inconsistent override state", - "0x488": "Non-empty range must properly consume local IDs", - "0x489": "Ranges finalized out of order.", - "0x48a": "Cannot finalize an empty range.", - "0x48b": "The number of allocated final IDs must not exceed the JS maximum safe integer.", - "0x48c": "Cluster already exists for session but there is no finalized local ID", - "0x48e": "The number of allocated final IDs must not exceed the JS maximum safe integer.", - "0x48f": "Override IDs must be in sorted order.", - "0x490": "Ranges finalized out of order.", - "0x491": "Malformed range: override ID ahead of range start.", - "0x492": "No cluster was created when overflow occurred.", - "0x493": "No cluster exists but IDs were finalized.", - "0x494": "Cannot have multiple local IDs with identical overrides.", - "0x495": "Cannot add a second override for final id", - "0x496": "Session ID Normalizer produced unexpected local ID", - "0x497": "Session ID Normalizer produced unexpected local ID", - "0x498": "session not serialized", - "0x499": "Cannot resume existing session.", - "0x49a": "Inconsistent last finalized state when deserializing", - "0x49b": "malformed IdCreationRange", - "0x49c": "Unexpectedly large upper number when incrementing UUID", - "0x49d": "Unexpectedly large variant number when incrementing UUID", - "0x49e": "Local ID space must start at -1.", - "0x49f": "Local ID space must be contiguous.", - "0x4a0": "Gaps in final space must align to a local.", - "0x4a1": "Empty range should not be reified.", - "0x4a2": "Expected an UuidString", "0x4a3": "Expected a StableId", "0x4a4": "SparseNode.parent is an UpPath API and thus should never be called on the root SparseNode.", "0x4a5": "child must be parented to be removed", @@ -910,7 +870,6 @@ export const shortCodeMap = { "0x518": "First message in the batch needs to be chunkable", "0x519": "We don't support old loaders", "0x51a": "We should have something to chunk", - "0x51b": "Final ID block should not be registered without an existing local range.", "0x51c": "unexpected indexOfChunkStack", "0x51d": "unexpected indexWithinChunkStack", "0x51e": "must be in fields mode", @@ -1024,8 +983,6 @@ export const shortCodeMap = { "0x5a9": "protocol summary is already a combined tree!", "0x5aa": "subdirectory should exist after creation", "0x5ad": "Cannot change the markerId of an existing marker", - "0x5ae": "Malformed normalization range.", - "0x5af": "Malformed normalization block.", "0x5b0": "parent must exist", "0x5b1": "There is no explicit schema for this node type. Ensure that the type is correct and the schema for it was added to the SchemaData", "0x5b4": "Should not change constraint violation count during amend pass", @@ -1051,7 +1008,6 @@ export const shortCodeMap = { "0x5d3": "Unexpected join op with current clientId while connected", "0x5d4": "no base snapshot", "0x5d5": "no snapshot blobs", - "0x5d6": "Unexpected clientId when setting stashed clientId", "0x5d7": "Two entries for the same GC node with different unreferenced timestamp", "0x5d8": "GC blob missing from snapshot", "0x5d9": "node id should always be an absolute route", @@ -1065,11 +1021,7 @@ export const shortCodeMap = { "0x5e1": "interval ID should not be undefined", "0x5e2": "interval ID should not be undefined", "0x5e3": "expected string data for resubmitted schema op", - "0x5e4": "expected content to be an object", - "0x5e5": "expected revision id to be valid stable id", "0x5e6": "Requested coded for unsupported format.", - "0x5e7": "expected changeset to be defined", - "0x5e8": "expected changeset to be defined", "0x5ea": "Tried to encode unsupported fieldKind", "0x5eb": "Property should always be a ContainerProperty.", "0x5ec": "The attribution for summarization should not be local type", @@ -1084,12 +1036,6 @@ export const shortCodeMap = { "0x5f5": "Unexpected pending message received", "0x5f6": "Summarizer must not have locally pending changes.", "0x5f7": "can only append padding segment", - "0x5f8": "Not an int", - "0x5f9": "Query returned null unexpectedly", - "0x5fa": "Query returned no pizzas", - "0x5fb": "Query returned null unexpectedly", - "0x5fc": "Query returned no pizzas", - "0x5fd": "root node must be a Query node", "0x5fe": "StableRange must be constructed with endpoints from the same trait", "0x5ff": "StableRange must be constructed with endpoints from the same trait", "0x600": "An edit is already open.", @@ -1356,7 +1302,6 @@ export const shortCodeMap = { "0x727": "sequenceNumber should be defined", "0x728": "unregistered event ran", "0x729": "Expected last evicted commit to be new trunk base", - "0x72a": "Sequence number has been evicted", "0x72b": "downCast only valid on wrapped nodes", "0x72c": "Insert marks must have a cellId", "0x72d": "Invalid nested changes on non-1 skip mark", @@ -1380,5 +1325,38 @@ export const shortCodeMap = { "0x73f": "incompatible value shape: expected no value", "0x740": "expected a single constant for value", "0x741": "type must match shape", - "0x742": "had extra local fields when shape does not support them" + "0x742": "had extra local fields when shape does not support them", + "0x743": "cannot initialize after a schema is set", + "0x744": "The size of the sequenceMap must have one element more than the trunk", + "0x745": "The size of the trunkMetadata must be the same as the trunk", + "0x746": "sequence id has been evicted", + "0x747": "forest must be empty", + "0x748": "parentAnchorNode must exist.", + "0x749": "Unset cursor should be in cleared state", + "0x74a": "Detach ID should have a revision", + "0x74b": "Only detaches empty cells", + "0x74c": "Detach ID should have revision", + "0x74d": "Can only set adjacent cells on a mark with cell ID", + "0x74e": "Should not overwrite adjacentCells", + "0x74f": "Invalid nested changes on non length-1 mark", + "0x750": "Only detaches can empty cells", + "0x751": "Object returned is not a valid marker", + "0x752": "Keys in map must be sorted.", + "0x753": "Cluster insert to final_space is out of order.", + "0x754": "First session must be present.", + "0x755": "Malformed ID Range.", + "0x756": "Cluster collision detected.", + "0x757": "Empty sessions should not be created.", + "0x758": "Cluster collision detected.", + "0x759": "Normalizer out of sync.", + "0x75a": "Clusters out of sync.", + "0x75b": "Serialized size was incorrectly calculated.", + "0x75c": "Unknown serialized version.", + "0x75d": "Local session ID is undefined.", + "0x75e": "Local state should not exist in serialized form.", + "0x75f": "Failed to read entire serialized compressor.", + "0x760": "Duplicate session in map.", + "0x761": "Failed to attempt to detect collisions.", + "0x762": "The only non-empty session must be the local session.", + "0x763": "Supplied ID is not within the cluster." };