Publish quixos-protocol from 473886a58fdacf15f2c873b77da96faf3be7fa65

This commit is contained in:
Quixos Subtree Publisher
2026-10-31 14:55:33 +00:00
2 changed files with 6 additions and 3 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"sourceRepo": "https://gitea.internal.quixos.org/quixos/quixos.git", "sourceRepo": "https://gitea.internal.quixos.org/quixos/quixos.git",
"sourceCommit": "e8df5e3396060619b33ab3cf9458231ef220ccc7", "sourceCommit": "473886a58fdacf15f2c873b77da96faf3be7fa65",
"sourcePath": "quixos-protocol", "sourcePath": "quixos-protocol",
"exportName": "quixos-protocol", "exportName": "quixos-protocol",
"mirrorRemote": "https://repos.quixos.org/quixos-toolchain/quixos-protocol.git" "mirrorRemote": "https://repos.quixos.org/quixos-toolchain/quixos-protocol.git"
+5 -2
View File
@@ -1,6 +1,9 @@
import { constants } from "node:fs"; import { constants } from "node:fs";
import { open } from "node:fs/promises"; import { open } from "node:fs/promises";
const admissionFailure = (code: string, kind: "file-bytes", measured: number, limit: number) =>
Object.assign(Error(code), { metadataAdmission: { kind, measured, limit } });
/** Admission estimates, not a hard V8 heap limit. A process/cgroup ceiling is /** Admission estimates, not a hard V8 heap limit. A process/cgroup ceiling is
* still required. Charge input, parse trees and derived indexes before reading * still required. Charge input, parse trees and derived indexes before reading
* or parsing. Each live candidate retains its reservation until explicit close. */ * or parsing. Each live candidate retains its reservation until explicit close. */
@@ -116,8 +119,8 @@ export async function readCandidateMetadata(
let releaseInput: (() => void) | undefined; let releaseInput: (() => void) | undefined;
try { try {
const stat = await handle.stat(); const stat = await handle.stat();
if (!stat.isFile() || !Number.isSafeInteger(stat.size) || stat.size > limit) if (!stat.isFile() || !Number.isSafeInteger(stat.size)) throw Error("CANDIDATE_METADATA_FILE_LIMIT");
throw Error("CANDIDATE_METADATA_FILE_LIMIT"); if (stat.size > limit) throw admissionFailure("CANDIDATE_METADATA_FILE_LIMIT", "file-bytes", stat.size, limit);
// Reserve the input buffer and UTF-16 decoding before allocating either. // Reserve the input buffer and UTF-16 decoding before allocating either.
releaseInput = scope.reserve((stat.size + 1) * 3); releaseInput = scope.reserve((stat.size + 1) * 3);
const bytes = Buffer.alloc(stat.size + 1); const bytes = Buffer.alloc(stat.size + 1);