{"record":{"id":"ee75e7374c9a5315","repo":"earendil-works/pi","slug":"indefinite-length-cbor-kind-s-are-not-supported","errorCode":null,"errorMessage":"Indefinite-length CBOR ${kind}s are not supported","messagePattern":"Indefinite-length CBOR (.+?)s are not supported","errorType":"exception","errorClass":"CborError","httpStatus":null,"severity":"error","filePath":"packages/protocol/src/cbor/decoder.ts","lineNumber":113,"sourceCode":"\t\t\t\treturn null;\n\t\t\tcase 27: {\n\t\t\t\tconst bytes = this.readBytes(8);\n\t\t\t\tconst value = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getFloat64(0, false);\n\t\t\t\tif (!Number.isFinite(value)) throw new CborError(\"Decoded CBOR number must be finite\");\n\t\t\t\tif (Number.isInteger(value) && !Number.isSafeInteger(value)) {\n\t\t\t\t\tthrow new CborError(\"Decoded CBOR integer is outside the safe range\");\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tcase 31:\n\t\t\t\tthrow new CborError(\"CBOR break marker is not supported\");\n\t\t\tdefault:\n\t\t\t\tthrow new CborError(\"Unsupported CBOR simple value or floating-point width\");\n\t\t}\n\t}\n\n\tprivate readLength(additionalInformation: number, kind: string, limit: number): number {\n\t\tif (additionalInformation === 31) throw new CborError(`Indefinite-length CBOR ${kind}s are not supported`);\n\t\tconst length = this.readArgument(additionalInformation);\n\t\tif (length > limit) throw new CborError(`CBOR ${kind} length exceeds configured limit of ${limit}`);\n\t\treturn length;\n\t}\n\n\tprivate readArgument(additionalInformation: number): number {\n\t\tif (additionalInformation < 24) return additionalInformation;\n\t\tswitch (additionalInformation) {\n\t\t\tcase 24:\n\t\t\t\treturn this.readByte();\n\t\t\tcase 25: {\n\t\t\t\tconst bytes = this.readBytes(2);\n\t\t\t\treturn bytes[0]! * 0x100 + bytes[1]!;\n\t\t\t}\n\t\t\tcase 26: {\n\t\t\t\tconst bytes = this.readBytes(4);\n\t\t\t\treturn bytes[0]! * 0x1_000_000 + bytes[1]! * 0x1_0000 + bytes[2]! * 0x100 + bytes[3]!;\n\t\t\t}","sourceCodeStart":95,"sourceCodeEnd":131,"githubUrl":"https://github.com/earendil-works/pi/blob/4af9d21d3b4d664e4a29fcabfec85171077248e3/packages/protocol/src/cbor/decoder.ts#L95-L131","documentation":"Error \"Indefinite-length CBOR ${kind}s are not supported\" thrown in earendil-works/pi.","triggerScenarios":"Thrown at packages/protocol/src/cbor/decoder.ts:113 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use definite-length CBOR encoding; indefinite-length items are not supported."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4af9d21d3b4d664e4a29fcabfec85171077248e3","analyzedAt":"2026-08-24T13:07:14.692Z","schemaVersion":2},"datasetVersion":"2026-08-24T17:17:21.512Z"}