@tangle-network/agent-runtime 2.3.14 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{activation-B8dLwJj6.d.ts → activation-BzC4bbcR.d.ts} +2 -2
- package/dist/{activation-BzNeFJDB.js → activation-DJsJdvb7.js} +4 -4
- package/dist/{activation-BzNeFJDB.js.map → activation-DJsJdvb7.js.map} +1 -1
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +3 -3
- package/dist/{bundle-DhV73H6U.js → bundle-DYwJ3alD.js} +2 -2
- package/dist/{bundle-DhV73H6U.js.map → bundle-DYwJ3alD.js.map} +1 -1
- package/dist/candidate-execution/index.d.ts +3 -3
- package/dist/candidate-execution/index.js +5 -5
- package/dist/{coordination-manager-BluavEgY.js → coordination-manager-CXlabreV.js} +4 -4
- package/dist/{coordination-manager-BluavEgY.js.map → coordination-manager-CXlabreV.js.map} +1 -1
- package/dist/{delegate-Bzpvzgl_.js → delegate-DgMQo-K8.js} +2 -2
- package/dist/{delegate-Bzpvzgl_.js.map → delegate-DgMQo-K8.js.map} +1 -1
- package/dist/durable.d.ts +1 -1
- package/dist/durable.js +9 -9
- package/dist/{graph-DHjdkdcj.js → graph-DSVXDbSf.js} +7 -7
- package/dist/graph-DSVXDbSf.js.map +1 -0
- package/dist/{improve-D9A79N5a.js → improve-CMSrJ22U.js} +7 -7
- package/dist/{improve-D9A79N5a.js.map → improve-CMSrJ22U.js.map} +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +10 -10
- package/dist/intelligence.d.ts +4 -4
- package/dist/intelligence.js +7 -7
- package/dist/kernel.d.ts +3 -3
- package/dist/kernel.js +12 -12
- package/dist/{loop-runner-D9fuOb69.d.ts → loop-runner-BU5HX1Y7.d.ts} +2 -2
- package/dist/{loop-runner-DqvZtCe5.js → loop-runner-De7RIY_2.js} +2 -2
- package/dist/{loop-runner-DqvZtCe5.js.map → loop-runner-De7RIY_2.js.map} +1 -1
- package/dist/loop-runner-bin.d.ts +1 -1
- package/dist/loop-runner-bin.js +1 -1
- package/dist/mcp/bin.js +3 -3
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +6 -6
- package/dist/{prepare-DrHOZFJy.js → prepare-BfaOus1-.js} +3 -3
- package/dist/{prepare-DrHOZFJy.js.map → prepare-BfaOus1-.js.map} +1 -1
- package/dist/{profile-BzzmKuIX.js → profile-CvucOo-Q.js} +2 -2
- package/dist/{profile-BzzmKuIX.js.map → profile-CvucOo-Q.js.map} +1 -1
- package/dist/profiles.d.ts +1 -1
- package/dist/{protected-model-port-IKqhTypD.d.ts → protected-model-port-DEsNIYi1.d.ts} +2 -2
- package/dist/{provision-supervisor-DP5U58V4.js → provision-supervisor-BoOIYwov.js} +5 -5
- package/dist/{provision-supervisor-DP5U58V4.js.map → provision-supervisor-BoOIYwov.js.map} +1 -1
- package/dist/{run-cancellation-BxoFCpJ_.js → run-cancellation-3tqWES3A.js} +2 -2
- package/dist/{run-cancellation-BxoFCpJ_.js.map → run-cancellation-3tqWES3A.js.map} +1 -1
- package/dist/{runtime-LY1ovtim.js → runtime-1dL7Te6f.js} +54 -30
- package/dist/runtime-1dL7Te6f.js.map +1 -0
- package/dist/{scope-DRaBilEX.js → scope-CwhYLg6s.js} +2550 -2487
- package/dist/scope-CwhYLg6s.js.map +1 -0
- package/dist/{search-executor-DLo_9jUv.js → search-executor-5d-avuUt.js} +4 -4
- package/dist/{search-executor-DLo_9jUv.js.map → search-executor-5d-avuUt.js.map} +1 -1
- package/dist/{server-CeQ2alK3.js → server-DtAPLLu3.js} +4 -4
- package/dist/{server-CeQ2alK3.js.map → server-DtAPLLu3.js.map} +1 -1
- package/dist/{structural-rollout-BIjjZ_XX.js → structural-rollout-Dk0NlRpZ.js} +4 -4
- package/dist/{structural-rollout-BIjjZ_XX.js.map → structural-rollout-Dk0NlRpZ.js.map} +1 -1
- package/dist/{supervise-BdAUXtjZ.js → supervise-DYtL1RvC.js} +6 -6
- package/dist/{supervise-BdAUXtjZ.js.map → supervise-DYtL1RvC.js.map} +1 -1
- package/dist/{supervision-discovery-Da5zebY2.js → supervision-discovery-EtxsGdsk.js} +3 -3
- package/dist/{supervision-discovery-Da5zebY2.js.map → supervision-discovery-EtxsGdsk.js.map} +1 -1
- package/dist/{supervisor-3JHXy3tz.js → supervisor-CORJv7-r.js} +222 -147
- package/dist/supervisor-CORJv7-r.js.map +1 -0
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +13 -13
- package/dist/{top-web-DK6lTMHG.js → top-web-B0a7QfaZ.js} +551 -149
- package/dist/top-web-B0a7QfaZ.js.map +1 -0
- package/dist/tui/bin.js +4 -3
- package/dist/tui/bin.js.map +1 -1
- package/dist/tui/index.d.ts +203 -3
- package/dist/tui/index.js +3 -3
- package/dist/{types-S3RbyJ4x.d.ts → types-QS0ItMiE.d.ts} +151 -21
- package/dist/{workspace-streams-Dep2L6XD.js → workspace-streams-COSTjQLW.js} +85 -88
- package/dist/workspace-streams-COSTjQLW.js.map +1 -0
- package/dist/{workspace-streams-Dq2Fzk3c.d.ts → workspace-streams-DbKiDOWA.d.ts} +9 -3
- package/package.json +2 -1
- package/dist/graph-DHjdkdcj.js.map +0 -1
- package/dist/runtime-LY1ovtim.js.map +0 -1
- package/dist/scope-DRaBilEX.js.map +0 -1
- package/dist/supervisor-3JHXy3tz.js.map +0 -1
- package/dist/top-web-DK6lTMHG.js.map +0 -1
- package/dist/workspace-streams-Dep2L6XD.js.map +0 -1
|
@@ -689,6 +689,73 @@ function deepFreezeCandidate(value, seen = /* @__PURE__ */ new Set()) {
|
|
|
689
689
|
for (const child of Object.values(value)) deepFreezeCandidate(child, seen);
|
|
690
690
|
return Object.freeze(value);
|
|
691
691
|
}
|
|
692
|
+
// src/candidate-execution/artifact-streams.ts
|
|
693
|
+
/** Verify the complete stream, including its final digest, before accepting its consumer's result. */
|
|
694
|
+
async function* verifiedArtifactChunks(artifact, port, signal) {
|
|
695
|
+
signal?.throwIfAborted();
|
|
696
|
+
if (!("content" in artifact) && !port.readStream) throw new Error("streaming workspace artifacts require readStream");
|
|
697
|
+
const chunks = "content" in artifact ? [Buffer.from(artifact.content, "base64")] : port.readStream(artifact, { signal });
|
|
698
|
+
const hash = createHash("sha256");
|
|
699
|
+
let byteLength = 0;
|
|
700
|
+
for await (const chunk of chunks) {
|
|
701
|
+
signal?.throwIfAborted();
|
|
702
|
+
if (!(chunk instanceof Uint8Array)) throw new Error("candidate artifact emitted a non-byte chunk");
|
|
703
|
+
byteLength += chunk.byteLength;
|
|
704
|
+
if (byteLength > artifact.byteLength) throw new Error("candidate artifact exceeds its declared length");
|
|
705
|
+
hash.update(chunk);
|
|
706
|
+
yield chunk;
|
|
707
|
+
}
|
|
708
|
+
signal?.throwIfAborted();
|
|
709
|
+
if (byteLength !== artifact.byteLength || `sha256:${hash.digest("hex")}` !== artifact.sha256) throw new Error("candidate artifact failed digest or length verification");
|
|
710
|
+
}
|
|
711
|
+
const selfVerifyingPuts = /* @__PURE__ */ new WeakMap();
|
|
712
|
+
/**
|
|
713
|
+
* Declare that this exact putStream resolves only after reading its stored object back from where
|
|
714
|
+
* this exact readStream reads it, and matching its digest and length. The claim belongs to the
|
|
715
|
+
* pair, so a wrapper that replaces either function never inherits it.
|
|
716
|
+
*/
|
|
717
|
+
function markPutStreamVerified(putStream, readStream) {
|
|
718
|
+
selfVerifyingPuts.set(putStream, readStream);
|
|
719
|
+
}
|
|
720
|
+
/** Whether a port's putStream already read back what its readStream will return. */
|
|
721
|
+
function putStreamVerifiedBy(port) {
|
|
722
|
+
return port.putStream !== void 0 && port.readStream !== void 0 && selfVerifyingPuts.get(port.putStream) === port.readStream;
|
|
723
|
+
}
|
|
724
|
+
/** Stream evaluator evidence into its existing store and verify durable readback before returning. */
|
|
725
|
+
async function persistCandidateOutputArtifactStream(port, input) {
|
|
726
|
+
if (!port.putStream || !port.readStream) throw new Error("streaming workspace persistence requires putStream and readStream");
|
|
727
|
+
input.signal?.throwIfAborted();
|
|
728
|
+
const hash = createHash("sha256");
|
|
729
|
+
let byteLength = 0;
|
|
730
|
+
let consumed = false;
|
|
731
|
+
async function* checked() {
|
|
732
|
+
for await (const chunk of input.chunks) {
|
|
733
|
+
input.signal?.throwIfAborted();
|
|
734
|
+
if (!(chunk instanceof Uint8Array)) throw new Error("candidate artifact emitted a non-byte chunk");
|
|
735
|
+
byteLength += chunk.byteLength;
|
|
736
|
+
if (byteLength > input.maxBytes) throw new Error("candidate workspace archive exceeds maxArchiveBytes");
|
|
737
|
+
hash.update(chunk);
|
|
738
|
+
yield chunk;
|
|
739
|
+
}
|
|
740
|
+
consumed = true;
|
|
741
|
+
input.signal?.throwIfAborted();
|
|
742
|
+
}
|
|
743
|
+
const chunks = checked();
|
|
744
|
+
try {
|
|
745
|
+
const ref = agentCandidateArtifactRefSchema.parse(await port.putStream({
|
|
746
|
+
executionId: input.executionId,
|
|
747
|
+
purpose: input.purpose,
|
|
748
|
+
chunks,
|
|
749
|
+
...input.signal ? { signal: input.signal } : {}
|
|
750
|
+
}));
|
|
751
|
+
input.signal?.throwIfAborted();
|
|
752
|
+
if (!consumed || ref.sha256 !== `sha256:${hash.digest("hex")}` || ref.byteLength !== byteLength) throw new Error("candidate output locator does not identify the submitted bytes");
|
|
753
|
+
if (!putStreamVerifiedBy(port)) for await (const _chunk of verifiedArtifactChunks(ref, port, input.signal));
|
|
754
|
+
return immutableCandidateValue(ref);
|
|
755
|
+
} finally {
|
|
756
|
+
await chunks.return(void 0);
|
|
757
|
+
}
|
|
758
|
+
}
|
|
692
759
|
// src/candidate-execution/artifacts.ts
|
|
693
760
|
function artifactCacheKey(artifact) {
|
|
694
761
|
return `${artifact.sha256}:${artifact.byteLength}`;
|
|
@@ -1300,8 +1367,10 @@ function assertWorkspaceFilesWithinLimits(files, limits) {
|
|
|
1300
1367
|
assertWorkspacePathOrder(path, previousPath, observedPaths, "candidate workspace paths must be unique and sorted");
|
|
1301
1368
|
previousPath = path;
|
|
1302
1369
|
if (!isWorkspaceFileMode(file.mode)) throw new Error(`candidate workspace file has unsupported mode: ${path}`);
|
|
1303
|
-
if (file
|
|
1304
|
-
|
|
1370
|
+
if ("bytes" in file && "byteLength" in file) throw new Error(`candidate workspace file has ambiguous length: ${path}`);
|
|
1371
|
+
const byteLength = "bytes" in file ? file.bytes.byteLength : file.byteLength;
|
|
1372
|
+
if (!Number.isSafeInteger(byteLength) || byteLength < 0 || byteLength > limits.maxFileBytes) throw new Error(`candidate workspace file exceeds maxFileBytes: ${path}`);
|
|
1373
|
+
totalBytes += byteLength;
|
|
1305
1374
|
if (totalBytes > limits.maxTotalFileBytes) throw new Error("candidate workspace exceeds maxTotalFileBytes");
|
|
1306
1375
|
}
|
|
1307
1376
|
}
|
|
@@ -1406,73 +1475,6 @@ function workspaceTarHeader(name, mode, size) {
|
|
|
1406
1475
|
gname: ""
|
|
1407
1476
|
};
|
|
1408
1477
|
}
|
|
1409
|
-
// src/candidate-execution/artifact-streams.ts
|
|
1410
|
-
/** Verify the complete stream, including its final digest, before accepting its consumer's result. */
|
|
1411
|
-
async function* verifiedArtifactChunks(artifact, port, signal) {
|
|
1412
|
-
signal?.throwIfAborted();
|
|
1413
|
-
if (!("content" in artifact) && !port.readStream) throw new Error("streaming workspace artifacts require readStream");
|
|
1414
|
-
const chunks = "content" in artifact ? [Buffer.from(artifact.content, "base64")] : port.readStream(artifact, { signal });
|
|
1415
|
-
const hash = createHash("sha256");
|
|
1416
|
-
let byteLength = 0;
|
|
1417
|
-
for await (const chunk of chunks) {
|
|
1418
|
-
signal?.throwIfAborted();
|
|
1419
|
-
if (!(chunk instanceof Uint8Array)) throw new Error("candidate artifact emitted a non-byte chunk");
|
|
1420
|
-
byteLength += chunk.byteLength;
|
|
1421
|
-
if (byteLength > artifact.byteLength) throw new Error("candidate artifact exceeds its declared length");
|
|
1422
|
-
hash.update(chunk);
|
|
1423
|
-
yield chunk;
|
|
1424
|
-
}
|
|
1425
|
-
signal?.throwIfAborted();
|
|
1426
|
-
if (byteLength !== artifact.byteLength || `sha256:${hash.digest("hex")}` !== artifact.sha256) throw new Error("candidate artifact failed digest or length verification");
|
|
1427
|
-
}
|
|
1428
|
-
const selfVerifyingPuts = /* @__PURE__ */ new WeakMap();
|
|
1429
|
-
/**
|
|
1430
|
-
* Declare that this exact putStream resolves only after reading its stored object back from where
|
|
1431
|
-
* this exact readStream reads it, and matching its digest and length. The claim belongs to the
|
|
1432
|
-
* pair, so a wrapper that replaces either function never inherits it.
|
|
1433
|
-
*/
|
|
1434
|
-
function markPutStreamVerified(putStream, readStream) {
|
|
1435
|
-
selfVerifyingPuts.set(putStream, readStream);
|
|
1436
|
-
}
|
|
1437
|
-
/** Whether a port's putStream already read back what its readStream will return. */
|
|
1438
|
-
function putStreamVerifiedBy(port) {
|
|
1439
|
-
return port.putStream !== void 0 && port.readStream !== void 0 && selfVerifyingPuts.get(port.putStream) === port.readStream;
|
|
1440
|
-
}
|
|
1441
|
-
/** Stream evaluator evidence into its existing store and verify durable readback before returning. */
|
|
1442
|
-
async function persistCandidateOutputArtifactStream(port, input) {
|
|
1443
|
-
if (!port.putStream || !port.readStream) throw new Error("streaming workspace persistence requires putStream and readStream");
|
|
1444
|
-
input.signal?.throwIfAborted();
|
|
1445
|
-
const hash = createHash("sha256");
|
|
1446
|
-
let byteLength = 0;
|
|
1447
|
-
let consumed = false;
|
|
1448
|
-
async function* checked() {
|
|
1449
|
-
for await (const chunk of input.chunks) {
|
|
1450
|
-
input.signal?.throwIfAborted();
|
|
1451
|
-
if (!(chunk instanceof Uint8Array)) throw new Error("candidate artifact emitted a non-byte chunk");
|
|
1452
|
-
byteLength += chunk.byteLength;
|
|
1453
|
-
if (byteLength > input.maxBytes) throw new Error("candidate workspace archive exceeds maxArchiveBytes");
|
|
1454
|
-
hash.update(chunk);
|
|
1455
|
-
yield chunk;
|
|
1456
|
-
}
|
|
1457
|
-
consumed = true;
|
|
1458
|
-
input.signal?.throwIfAborted();
|
|
1459
|
-
}
|
|
1460
|
-
const chunks = checked();
|
|
1461
|
-
try {
|
|
1462
|
-
const ref = agentCandidateArtifactRefSchema.parse(await port.putStream({
|
|
1463
|
-
executionId: input.executionId,
|
|
1464
|
-
purpose: input.purpose,
|
|
1465
|
-
chunks,
|
|
1466
|
-
...input.signal ? { signal: input.signal } : {}
|
|
1467
|
-
}));
|
|
1468
|
-
input.signal?.throwIfAborted();
|
|
1469
|
-
if (!consumed || ref.sha256 !== `sha256:${hash.digest("hex")}` || ref.byteLength !== byteLength) throw new Error("candidate output locator does not identify the submitted bytes");
|
|
1470
|
-
if (!putStreamVerifiedBy(port)) for await (const _chunk of verifiedArtifactChunks(ref, port, input.signal));
|
|
1471
|
-
return immutableCandidateValue(ref);
|
|
1472
|
-
} finally {
|
|
1473
|
-
await chunks.return(void 0);
|
|
1474
|
-
}
|
|
1475
|
-
}
|
|
1476
1478
|
// src/candidate-execution/git-materialize.ts
|
|
1477
1479
|
async function verifyCandidateCode(code, repositories, patchBytes) {
|
|
1478
1480
|
if (code.kind === "disabled") return void 0;
|
|
@@ -2306,15 +2308,17 @@ async function readAgentCandidateWorkspaceArtifactFiles(input) {
|
|
|
2306
2308
|
await consumeWorkspaceArtifacts(input, void 0, selected);
|
|
2307
2309
|
return new Map([...selected].map(([path, chunks]) => [path, Buffer.concat(chunks)]));
|
|
2308
2310
|
}
|
|
2309
|
-
/** Restore regular
|
|
2311
|
+
/** Restore regular files into an empty destination after complete verification; paths selects a subset. */
|
|
2310
2312
|
async function materializeAgentCandidateWorkspaceFromArtifacts(input) {
|
|
2311
2313
|
input.signal?.throwIfAborted();
|
|
2312
2314
|
if (!input.artifacts.readStream) throw new Error("streaming workspace artifacts require readStream");
|
|
2315
|
+
const paths = input.paths === void 0 ? void 0 : new Set(input.paths);
|
|
2316
|
+
if (paths && paths.size !== input.paths?.length) throw new Error("workspace selection must name unique manifest files");
|
|
2313
2317
|
const destination = resolve(input.destination);
|
|
2314
2318
|
await prepareEmptyDestination(destination);
|
|
2315
2319
|
const staging = await mkdtemp(`${destination}.materializing-`);
|
|
2316
2320
|
try {
|
|
2317
|
-
await consumeWorkspaceArtifacts(input, staging);
|
|
2321
|
+
await consumeWorkspaceArtifacts(input, staging, void 0, paths);
|
|
2318
2322
|
input.signal?.throwIfAborted();
|
|
2319
2323
|
await rename(staging, destination);
|
|
2320
2324
|
} catch (error) {
|
|
@@ -2325,13 +2329,17 @@ async function materializeAgentCandidateWorkspaceFromArtifacts(input) {
|
|
|
2325
2329
|
throw error;
|
|
2326
2330
|
}
|
|
2327
2331
|
}
|
|
2328
|
-
async function consumeWorkspaceArtifacts(input, destination, selected) {
|
|
2332
|
+
async function consumeWorkspaceArtifacts(input, destination, selected, paths) {
|
|
2329
2333
|
const { artifacts, signal } = input;
|
|
2330
2334
|
const snapshot = deepFreezeCandidate(structuredClone(input.snapshot));
|
|
2331
2335
|
signal?.throwIfAborted();
|
|
2332
2336
|
if (!artifacts.readStream) throw new Error("streaming workspace artifacts require readStream");
|
|
2333
2337
|
const limits = workspaceLimits(input.limits);
|
|
2334
2338
|
validateManifest(snapshot.material, limits);
|
|
2339
|
+
if (paths) {
|
|
2340
|
+
const files = new Set(snapshot.material.files.map((file) => file.path));
|
|
2341
|
+
if ([...paths].some((path) => !files.has(path))) throw new Error("workspace selection must name unique manifest files");
|
|
2342
|
+
}
|
|
2335
2343
|
if (snapshot.archive.byteLength > limits.maxArchiveBytes) throw new Error("candidate workspace archive exceeds maxArchiveBytes");
|
|
2336
2344
|
const manifest = canonicalCandidateBytes$1(snapshot.material);
|
|
2337
2345
|
verifyBytes(manifest, snapshot.manifest.sha256, snapshot.manifest.byteLength, "candidate workspace manifest");
|
|
@@ -2353,7 +2361,7 @@ async function consumeWorkspaceArtifacts(input, destination, selected) {
|
|
|
2353
2361
|
signal?.throwIfAborted();
|
|
2354
2362
|
const expected = snapshot.material.files[index++];
|
|
2355
2363
|
if (!expected || entry.header.type !== "file" || entry.header.name !== `workspace/${expected.path}` || entry.header.mode !== expected.mode || entry.header.size !== expected.byteLength) throw new Error("candidate workspace archive does not match its snapshot manifest");
|
|
2356
|
-
const file = destination ? await openDestination(destination, expected.path) : void 0;
|
|
2364
|
+
const file = destination && (!paths || paths.has(expected.path)) ? await openDestination(destination, expected.path) : void 0;
|
|
2357
2365
|
try {
|
|
2358
2366
|
async function* checked() {
|
|
2359
2367
|
const hash = createHash("sha256");
|
|
@@ -2467,19 +2475,8 @@ async function digestChunks(chunks, maxBytes, signal) {
|
|
|
2467
2475
|
};
|
|
2468
2476
|
}
|
|
2469
2477
|
function validateManifest(material, limits) {
|
|
2470
|
-
if (material.kind !== "agent-candidate-workspace-manifest"
|
|
2471
|
-
|
|
2472
|
-
let previous;
|
|
2473
|
-
const paths = /* @__PURE__ */ new Set();
|
|
2474
|
-
for (const file of material.files) {
|
|
2475
|
-
safeArchivePath(file.path, limits.maxPathBytes);
|
|
2476
|
-
assertWorkspacePathOrder(file.path, previous, paths, "candidate workspace paths must be unique and sorted");
|
|
2477
|
-
previous = file.path;
|
|
2478
|
-
if (!Number.isSafeInteger(file.mode) || file.mode < 0 || file.mode > 511) throw new Error("candidate workspace file has unsupported mode");
|
|
2479
|
-
if (!Number.isSafeInteger(file.byteLength) || file.byteLength < 0 || file.byteLength > limits.maxFileBytes) throw new Error("candidate workspace file exceeds maxFileBytes");
|
|
2480
|
-
total += file.byteLength;
|
|
2481
|
-
if (total > limits.maxTotalFileBytes) throw new Error("candidate workspace exceeds maxTotalFileBytes");
|
|
2482
|
-
}
|
|
2478
|
+
if (material.kind !== "agent-candidate-workspace-manifest") throw new Error("candidate workspace has an invalid manifest kind");
|
|
2479
|
+
assertWorkspaceFilesWithinLimits(material.files, limits);
|
|
2483
2480
|
}
|
|
2484
2481
|
async function* oneChunk(bytes) {
|
|
2485
2482
|
yield bytes;
|
|
@@ -2487,6 +2484,6 @@ async function* oneChunk(bytes) {
|
|
|
2487
2484
|
function asError(error) {
|
|
2488
2485
|
return error instanceof Error ? error : new Error(String(error));
|
|
2489
2486
|
}
|
|
2490
|
-
export {
|
|
2487
|
+
export { isAsyncIterable as $, markPutStreamVerified as A, verifyCanonicalCandidateDocument as B, captureMaterializedWorkspace as C, boundedChildDeadlineAt as Ct, verifyMaterializedProfileWorkspace as D, teardownExecutor as Dt, verifyBytes as E, singleFlightTeardown as Et, deepFreezeCandidate as F, chargedTokens as G, abortError as H, embeddedCandidateArtifact as I, deleteBoxSafe as J, cloneSpend as K, immutableCandidateValue as L, canonicalCandidateBytes$1 as M, canonicalCandidateDigest$1 as N, verifyMaterializedWorkspace as O, teardownSurfaces as Ot, canonicalCandidateDocument as P, isAbortError as Q, omitTopLevelDigest as R, candidateWorkspaceManifest as S, armDeadlineTimer as St, readVerifiedArtifact as T, isDeadlineAbortReason as Tt, addSpend as U, hasControlCharacter as V, addTokenUsage as W, fnv1a32Hex as X, errorMessage as Y, hasCompleteCacheBreakdown as Z, persistCandidateOutputArtifact as _, ACCEPTED_RESULT_GRACE_MS as _t, verifyAgentCandidateWorkspaceArtifacts as a, sleep as at, WorkspaceScanLimitError as b, DEFAULT_SUCCESSFUL_SHUTDOWN_MS as bt, createAgentCandidateWorkspacePort as c, throwIfAborted as ct, verifyTaskCheckout as d, zeroSpend as dt, mapWithConcurrency as et, verifyTaskOutcomePatch as f, zeroTokenUsage as ft, workspaceLimits as g, withBudgetResources as gt, verifyAgentCandidateWorkspaceArchive as h, resourceTelemetry as ht, readAgentCandidateWorkspaceArtifactFiles as i, roundBoxMinutes as it, verifiedArtifactChunks as j, verifyWorkspaceSnapshotArtifacts as k, readCandidateGitHubResource as l, unmeteredSpend as lt, safeArchivePath as m, assertResources as mt, captureAgentCandidateWorkspaceTreeToArtifacts as n, randomSuffix as nt, verifyAgentCandidateWorkspaceTree as o, stringifySafe as ot, captureAgentCandidateWorkspaceFiles as p, addResourceSpend as pt, cloneTokenUsage as q, materializeAgentCandidateWorkspaceFromArtifacts as r, randomUuid as rt, captureAgentCandidateWorkspace as s, throwAbort as st, captureAgentCandidateWorkspaceToArtifacts as t, promptCacheTokenClasses as tt, verifyCandidateCode as u, withTimeout as ut, assertExactObjectKeys as v, CHILD_DEADLINE_REASON as vt, readMaterializedWorkspaceFiles as w, checkInIdleMs as wt, artifactCacheKey as x, ROOT_DEADLINE_REASON as xt, isWellFormedUnicode as y, DEADLINE_CHECK_IN_MESSAGE as yt, sha256Bytes$1 as z };
|
|
2491
2488
|
|
|
2492
|
-
//# sourceMappingURL=workspace-streams-
|
|
2489
|
+
//# sourceMappingURL=workspace-streams-COSTjQLW.js.map
|