earendil-works/pi · error · CborError
CBOR map length exceeds configured limit of ${options.maxCon
Error message
CBOR map length exceeds configured limit of ${options.maxContainerLength} What it means
Error "CBOR map length exceeds configured limit of ${options.maxContainerLength}" thrown in earendil-works/pi.
Source
Thrown at packages/protocol/src/cbor/encoder.ts:192
} finally {
ancestors.delete(value);
}
return;
}
if (isPlainObject(value)) {
if (ancestors.has(value)) throw new CborError("CBOR values must not contain cycles");
for (const symbol of Object.getOwnPropertySymbols(value)) {
if (Object.prototype.propertyIsEnumerable.call(value, symbol)) {
throw new CborError("CBOR map keys must be strings");
}
}
const entries: Array<readonly [string, unknown]> = [];
for (const key of Object.keys(value)) {
const entryValue = value[key];
if (entryValue !== undefined) entries.push([key, entryValue]);
}
if (entries.length > options.maxContainerLength) {
throw new CborError(`CBOR map length exceeds configured limit of ${options.maxContainerLength}`);
}
ancestors.add(value);
try {
writeArgument(writer, 5, entries.length);
for (const [key, entryValue] of entries) {
encodeText(writer, key, options);
encodeValue(writer, entryValue, options, depth + 1, ancestors);
}
} finally {
ancestors.delete(value);
}
return;
}
throw new CborError(`Unsupported CBOR value type: ${typeof value}`);
}
/** Encodes the protocol's strict, definite-length RFC 8949 subset. */View on GitHub (pinned to 4af9d21d3b)
Solutions
- Reduce the map size or raise options.maxContainerLength.
When it happens
Trigger: Thrown at packages/protocol/src/cbor/encoder.ts:192 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/ed1bba7518a72b70.
Report an issue: GitHub.