@tangle-network/agent-runtime 0.177.1 → 0.179.0
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/README.md +1 -1
- package/dist/{activation-XVI_z1g3.js → activation-C-FAeybF.js} +2 -2
- package/dist/{activation-XVI_z1g3.js.map → activation-C-FAeybF.js.map} +1 -1
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +2 -2
- package/dist/{authoring-bXmPNfCI.js → authoring-kLYzRjsB.js} +2 -2
- package/dist/{authoring-bXmPNfCI.js.map → authoring-kLYzRjsB.js.map} +1 -1
- package/dist/candidate-execution/index.js +2 -2
- package/dist/{candidate-execution-fBNUyWyE.js → candidate-execution-7lVEly33.js} +2 -2
- package/dist/{candidate-execution-fBNUyWyE.js.map → candidate-execution-7lVEly33.js.map} +1 -1
- package/dist/conversation.d.ts +1 -1
- package/dist/{coordination-driver-xO1tkxy-.js → coordination-driver-BeLF1j7n.js} +2 -2
- package/dist/{coordination-driver-xO1tkxy-.js.map → coordination-driver-BeLF1j7n.js.map} +1 -1
- package/dist/durable.d.ts +2 -2
- package/dist/durable.js +1 -1
- package/dist/{environment-provider-5E82esWE.d.ts → environment-provider-BGCU0IRa.d.ts} +2 -2
- package/dist/environment-provider.d.ts +1 -1
- package/dist/{graph-DwJXa1Ph.js → graph-CZFWujWS.js} +2 -2
- package/dist/{graph-DwJXa1Ph.js.map → graph-CZFWujWS.js.map} +1 -1
- package/dist/graph.d.ts +3 -3
- package/dist/graph.js +3 -3
- package/dist/{improvement-cycle-eiSv6aH4.js → improvement-cycle-CADEjVOB.js} +3 -3
- package/dist/{improvement-cycle-eiSv6aH4.js.map → improvement-cycle-CADEjVOB.js.map} +1 -1
- package/dist/{index-Bs0uhf-y.d.ts → index-DNXW665W.d.ts} +2 -2
- package/dist/{index-BnAiQVLD.d.ts → index-DhnWuHkN.d.ts} +5 -5
- package/dist/{index-C9XTLVP1.d.ts → index-lu9HFbv5.d.ts} +4 -4
- package/dist/index.d.ts +7 -7
- package/dist/index.js +9 -9
- package/dist/intelligence.d.ts +4 -4
- package/dist/intelligence.js +3 -3
- package/dist/kernel.d.ts +6 -6
- package/dist/kernel.js +8 -8
- package/dist/{knowledge-Bmtj_7u7.js → knowledge-BZvQ7Pca.js} +4 -4
- package/dist/{knowledge-Bmtj_7u7.js.map → knowledge-BZvQ7Pca.js.map} +1 -1
- package/dist/knowledge.d.ts +1 -1
- package/dist/knowledge.js +1 -1
- package/dist/{loop-runner-bin-ChS5deJ0.d.ts → loop-runner-bin-BnSUNv5h.d.ts} +3 -3
- package/dist/{loop-runner-bin-GTN5wqCt.js → loop-runner-bin-CeMD66qH.js} +3 -3
- package/dist/{loop-runner-bin-GTN5wqCt.js.map → loop-runner-bin-CeMD66qH.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 +3 -3
- package/dist/mcp/index.js +5 -5
- package/dist/{openai-tools-BBj1QGJp.js → openai-tools-CQq1fhJ0.js} +2 -2
- package/dist/{openai-tools-BBj1QGJp.js.map → openai-tools-CQq1fhJ0.js.map} +1 -1
- package/dist/primeintellect/index.d.ts +1 -1
- package/dist/{provision-supervisor-zA__ayUX.js → provision-supervisor-C_o4UH8c.js} +3 -3
- package/dist/{provision-supervisor-zA__ayUX.js.map → provision-supervisor-C_o4UH8c.js.map} +1 -1
- package/dist/{redact-DkRLcSiE.d.ts → redact-GpYsFenv.d.ts} +3 -3
- package/dist/{runtime-CJNlF5wM.js → runtime-BblXWn4d.js} +8 -8
- package/dist/{runtime-CJNlF5wM.js.map → runtime-BblXWn4d.js.map} +1 -1
- package/dist/{runtime-B2eZ76kG.d.ts → runtime-oGfkncdd.d.ts} +3 -3
- package/dist/{stream-agent-turn-ByY8po9W.d.ts → stream-agent-turn-esfjghd9.d.ts} +2 -2
- package/dist/{structural-rollout-BeAUK7Ta.js → structural-rollout-D4uIcI7I.js} +2 -2
- package/dist/{structural-rollout-BeAUK7Ta.js.map → structural-rollout-D4uIcI7I.js.map} +1 -1
- package/dist/{supervise-HsRKOlKY.js → supervise-Ckj6Ewdi.js} +3 -3
- package/dist/{supervise-HsRKOlKY.js.map → supervise-Ckj6Ewdi.js.map} +1 -1
- package/dist/{supervisor-ChLgoYhG.js → supervisor--tj9JsFo.js} +192 -35
- package/dist/{supervisor-ChLgoYhG.js.map → supervisor--tj9JsFo.js.map} +1 -1
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +12 -12
- package/dist/tui/index.d.ts +1 -1
- package/dist/tui/index.js +1 -1
- package/dist/{types-a2ZZUl80.d.ts → types-CPpvwwTx.d.ts} +23 -10
- package/dist/{workspace-archive-DOZAeeKU.js → workspace-archive-ByonPBl-.js} +3 -1
- package/dist/workspace-archive-ByonPBl-.js.map +1 -0
- package/package.json +17 -17
- package/dist/workspace-archive-DOZAeeKU.js.map +0 -1
|
@@ -9,7 +9,7 @@ import { a as concreteProfileModel, c as profileModelExecutionSettings, d as age
|
|
|
9
9
|
import { c as linkAbort, i as resolveAgentEnvironmentProvider, l as runAbortable, n as providerAsExecutor, r as providerAsSandboxClient, s as abortError$1 } from "./environment-provider-DKyMWQJd.js";
|
|
10
10
|
import { i as notifyRuntimeHookEvent } from "./runtime-hooks-tXpAarhW.js";
|
|
11
11
|
import { n as assertNoSymlinkDescendant, r as publishExclusiveDurableFile } from "./durable-file-g3YdfEh4.js";
|
|
12
|
-
import { AGENT_PROFILE_MATERIALIZATION_AXES, AgentEnvironmentCapabilitiesSchema, AgentExactRunControlRefSchema, AgentInteractiveSessionControlClaimAcknowledgementSchema, AgentInteractiveSessionControlClaimSchema, AgentInteractiveSessionPromptAcknowledgementSchema, AgentInteractiveSessionRefSchema, AgentInteractiveSessionStatusSchema, AgentInteractiveSessionStopAcknowledgementSchema, AgentNativeContextContinuationResultSchema, AgentTurnInputSchema, AgentTurnResultSchema, InteractionAcknowledgementSchema, InteractionResponseCommandSchema, NativeContextBoundaryProofSchema, NativeContextContinuationRequestSchema, REASONING_EFFORTS, RuntimeEventEnvelopeSchema, TerminalReplayWindowSchema, TerminalSessionRefSchema, agentInteractiveSessionControlClaimAcknowledgementMatchesRequest, agentInteractiveSessionControlClaimMatchesRef, agentInteractiveSessionPromptAcknowledgementMatchesCommand, agentInteractiveSessionRefMatchesStart, agentInteractiveSessionRunRef, agentInteractiveSessionStatusMatchesRef, agentInteractiveSessionStopAcknowledgementMatchesCommand, agentNativeContextContinuationResultMatchesRequest, agentProfileSchema, canonicalAgentProfileDigest, canonicalCandidateDigest, exactAgentInteractiveSessionStart, harnessTypeSchema, nativeContextContinuationTurnDigest, nativeReasoningControl, profileMaterializationAxes, profileMaterializationAxes as profileMaterializationAxes$1, renderInputPartsAsText, sha256DigestSchema } from "@tangle-network/agent-interface";
|
|
12
|
+
import { AGENT_PROFILE_MATERIALIZATION_AXES, AgentEnvironmentCapabilitiesSchema, AgentExactRunControlRefSchema, AgentInteractiveSessionControlClaimAcknowledgementSchema, AgentInteractiveSessionControlClaimSchema, AgentInteractiveSessionPromptAcknowledgementSchema, AgentInteractiveSessionRefSchema, AgentInteractiveSessionStatusSchema, AgentInteractiveSessionStopAcknowledgementSchema, AgentNativeContextContinuationResultSchema, AgentTurnInputSchema, AgentTurnResultSchema, ContextTransferRequestSchema, InteractionAcknowledgementSchema, InteractionResponseCommandSchema, NativeContextBoundaryProofSchema, NativeContextContinuationRequestSchema, REASONING_EFFORTS, RuntimeEventEnvelopeSchema, TerminalReplayWindowSchema, TerminalSessionRefSchema, agentInteractiveSessionControlClaimAcknowledgementMatchesRequest, agentInteractiveSessionControlClaimMatchesRef, agentInteractiveSessionPromptAcknowledgementMatchesCommand, agentInteractiveSessionRefMatchesStart, agentInteractiveSessionRunRef, agentInteractiveSessionStatusMatchesRef, agentInteractiveSessionStopAcknowledgementMatchesCommand, agentNativeContextContinuationResultMatchesRequest, agentProfileSchema, canonicalAgentProfileDigest, canonicalCandidateDigest, exactAgentInteractiveSessionStart, harnessTypeSchema, nativeContextContinuationTurnDigest, nativeReasoningControl, profileMaterializationAxes, profileMaterializationAxes as profileMaterializationAxes$1, renderInputPartsAsText, sha256DigestSchema } from "@tangle-network/agent-interface";
|
|
13
13
|
import { estimateCost, isModelPriced } from "@tangle-network/agent-eval";
|
|
14
14
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
15
15
|
import { basename, delimiter, dirname, isAbsolute, join, resolve, sep, win32 } from "node:path";
|
|
@@ -11037,7 +11037,7 @@ function retainedSecretNames(secrets) {
|
|
|
11037
11037
|
return Array.isArray(secrets) ? [...secrets].sort() : Object.keys(secrets).sort();
|
|
11038
11038
|
}
|
|
11039
11039
|
/** Project one headless turn into the material that `freshTurnInput` forwards. */
|
|
11040
|
-
function retainedTurnMaterial(input) {
|
|
11040
|
+
function retainedTurnMaterial(input, contextTransfer) {
|
|
11041
11041
|
return {
|
|
11042
11042
|
...input.prompt === void 0 ? {} : { prompt: input.prompt },
|
|
11043
11043
|
...input.parts === void 0 ? {} : { parts: input.parts },
|
|
@@ -11045,7 +11045,8 @@ function retainedTurnMaterial(input) {
|
|
|
11045
11045
|
...input.timeoutMs === void 0 ? {} : { timeoutMs: input.timeoutMs },
|
|
11046
11046
|
...input.context === void 0 ? {} : { context: input.context },
|
|
11047
11047
|
...input.interactions === void 0 ? {} : { interactions: input.interactions },
|
|
11048
|
-
...input.providerOptions === void 0 ? {} : { providerOptions: input.providerOptions }
|
|
11048
|
+
...input.providerOptions === void 0 ? {} : { providerOptions: input.providerOptions },
|
|
11049
|
+
...contextTransfer === void 0 ? {} : { contextTransferRequestDigest: contextTransfer.requestDigest }
|
|
11049
11050
|
};
|
|
11050
11051
|
}
|
|
11051
11052
|
//#endregion
|
|
@@ -11144,8 +11145,38 @@ function createRetainedRunHandle(environment, session, initialControlRef, capabi
|
|
|
11144
11145
|
const clock = now ?? Date.now;
|
|
11145
11146
|
const measuredCapabilities = structuredClone(capabilities);
|
|
11146
11147
|
let activeControlRef = freezeControlRef(initialControlRef);
|
|
11148
|
+
const knownControlRefDigests = /* @__PURE__ */ new Set([canonicalCandidateDigest(activeControlRef)]);
|
|
11149
|
+
const synchronizeActiveControlRef = () => {
|
|
11150
|
+
let candidate;
|
|
11151
|
+
try {
|
|
11152
|
+
candidate = session.controlRef;
|
|
11153
|
+
} catch (error) {
|
|
11154
|
+
throw new RetainedRunProviderContractError("provider retained session control reference read failed", {
|
|
11155
|
+
code: "RETAINED_CONTROL_REF_READ_FAILED",
|
|
11156
|
+
cause: error
|
|
11157
|
+
});
|
|
11158
|
+
}
|
|
11159
|
+
if (candidate === void 0) return;
|
|
11160
|
+
const parsed = AgentExactRunControlRefSchema.safeParse(candidate);
|
|
11161
|
+
if (!parsed.success) throw new RetainedRunProviderContractError("provider retained session returned an invalid current control reference", {
|
|
11162
|
+
code: "RETAINED_CONTROL_REF_INVALID",
|
|
11163
|
+
cause: parsed.error
|
|
11164
|
+
});
|
|
11165
|
+
const candidateDigest = canonicalCandidateDigest(parsed.data);
|
|
11166
|
+
if (sameControlCoordinates(parsed.data, activeControlRef) || knownControlRefDigests.has(candidateDigest)) return;
|
|
11167
|
+
try {
|
|
11168
|
+
activeControlRef = freezeControlRef(exactContinuedControlRef(parsed.data, activeControlRef));
|
|
11169
|
+
knownControlRefDigests.add(candidateDigest);
|
|
11170
|
+
} catch (error) {
|
|
11171
|
+
throw new RetainedRunProviderContractError("provider retained session advanced to an invalid control reference", {
|
|
11172
|
+
code: "RETAINED_CONTROL_REF_ADVANCE_INVALID",
|
|
11173
|
+
cause: error
|
|
11174
|
+
});
|
|
11175
|
+
}
|
|
11176
|
+
};
|
|
11147
11177
|
const snapshot = async (reason, signal) => {
|
|
11148
11178
|
if (signal?.aborted) throw abortError(signal.reason);
|
|
11179
|
+
synchronizeActiveControlRef();
|
|
11149
11180
|
let status;
|
|
11150
11181
|
try {
|
|
11151
11182
|
status = await awaitAbortable$1(Promise.resolve().then(() => session.status({ signal })), signal);
|
|
@@ -11153,6 +11184,7 @@ function createRetainedRunHandle(environment, session, initialControlRef, capabi
|
|
|
11153
11184
|
if (signal?.aborted) throw abortError(signal.reason);
|
|
11154
11185
|
status = "unknown";
|
|
11155
11186
|
}
|
|
11187
|
+
synchronizeActiveControlRef();
|
|
11156
11188
|
const effect = status === "cancelled" ? "cancelled" : status === "completed" || status === "failed" || status === "expired" ? "not_live" : "unknown";
|
|
11157
11189
|
return {
|
|
11158
11190
|
runId: activeControlRef.runId,
|
|
@@ -11164,8 +11196,137 @@ function createRetainedRunHandle(environment, session, initialControlRef, capabi
|
|
|
11164
11196
|
...signal?.aborted ? { signal: String(signal.reason ?? "aborted") } : {}
|
|
11165
11197
|
};
|
|
11166
11198
|
};
|
|
11199
|
+
const assertContinuationIsCurrent = (continuationSource, nextControlRef) => {
|
|
11200
|
+
if (!sameControlCoordinates(activeControlRef, continuationSource) && !sameControlCoordinates(activeControlRef, nextControlRef)) throw new Error("provider advanced the retained session while another native continuation was pending");
|
|
11201
|
+
};
|
|
11202
|
+
const missingContinuationAdmission = () => new RetainedRunProviderContractError("provider accepted a native continuation without an admission reference", { code: "RETAINED_NATIVE_CONTINUATION_ADMISSION_MISSING" });
|
|
11203
|
+
const executeNativeContinuation = async (request, turn, admission, expectedSource) => {
|
|
11204
|
+
synchronizeActiveControlRef();
|
|
11205
|
+
const exactRequest = NativeContextContinuationRequestSchema.parse(request);
|
|
11206
|
+
const continuationSource = expectedSource ?? activeControlRef;
|
|
11207
|
+
if (!sameControlCoordinates(activeControlRef, continuationSource)) throw new Error("native continuation retained-run control changed before admission");
|
|
11208
|
+
if (!sameControlCoordinates(exactRequest.run, continuationSource)) throw new Error("native continuation request targets another retained run");
|
|
11209
|
+
const { timeoutMs, signal, ...semanticTurn } = turn;
|
|
11210
|
+
if (nativeContextContinuationTurnDigest(semanticTurn) !== exactRequest.turnDigest) throw new Error("native continuation request targets another user turn");
|
|
11211
|
+
const nativeCapabilities = measuredCapabilities.nativeContinuation;
|
|
11212
|
+
if (nativeCapabilities?.atomicBoundary !== true || nativeCapabilities.requestIdempotency !== true || !session.continueNative) throw new Error(`provider "${activeControlRef.provider}" does not support retry-safe native continuation`);
|
|
11213
|
+
if (admission !== void 0 && nativeCapabilities.admissionControl !== true) throw new Error(`provider "${activeControlRef.provider}" does not advertise early native continuation admission control`);
|
|
11214
|
+
let outcome;
|
|
11215
|
+
try {
|
|
11216
|
+
outcome = AgentNativeContextContinuationResultSchema.parse(await awaitAbortable$1(Promise.resolve().then(() => {
|
|
11217
|
+
const providerOptions = {
|
|
11218
|
+
turn: semanticTurn,
|
|
11219
|
+
...timeoutMs === void 0 ? {} : { timeoutMs },
|
|
11220
|
+
...signal === void 0 ? {} : { signal },
|
|
11221
|
+
...admission === void 0 ? {} : { onAdmission: admission.onAdmission }
|
|
11222
|
+
};
|
|
11223
|
+
return session.continueNative(exactRequest, providerOptions);
|
|
11224
|
+
}), signal));
|
|
11225
|
+
} catch (error) {
|
|
11226
|
+
try {
|
|
11227
|
+
synchronizeActiveControlRef();
|
|
11228
|
+
} catch (syncError) {
|
|
11229
|
+
throw new AggregateError([error, syncError], "native continuation failed and its current control reference could not be read");
|
|
11230
|
+
}
|
|
11231
|
+
throw error;
|
|
11232
|
+
}
|
|
11233
|
+
const admissionFailure = admission?.failure();
|
|
11234
|
+
if (admissionFailure !== void 0) throw admissionFailure;
|
|
11235
|
+
synchronizeActiveControlRef();
|
|
11236
|
+
if (outcome.acknowledgement.operationId !== exactRequest.operationId || outcome.acknowledgement.requestDigest !== exactRequest.requestDigest) throw new Error("provider returned a native continuation result for another request");
|
|
11237
|
+
if (outcome.acknowledgement.actualBoundary !== void 0) {
|
|
11238
|
+
const actualBoundary = NativeContextBoundaryProofSchema.parse(outcome.acknowledgement.actualBoundary);
|
|
11239
|
+
assertBoundaryBinding(exactRequest.run, actualBoundary);
|
|
11240
|
+
}
|
|
11241
|
+
if (outcome.acknowledgement.status !== "accepted" && outcome.acknowledgement.status !== "replayed") return structuredClone(outcome);
|
|
11242
|
+
if (admission !== void 0 && !admission.isSettled() && outcome.acknowledgement.status === "accepted") throw missingContinuationAdmission();
|
|
11243
|
+
if (!("result" in outcome) || !("controlRef" in outcome)) throw new Error("provider omitted the successful native continuation result");
|
|
11244
|
+
if (!agentNativeContextContinuationResultMatchesRequest(exactRequest, outcome)) throw new Error("provider returned a native continuation result for another request");
|
|
11245
|
+
const nextControlRef = exactContinuedControlRef(outcome.controlRef, continuationSource);
|
|
11246
|
+
assertResultBinding(nextControlRef, outcome.result);
|
|
11247
|
+
assertContinuationIsCurrent(continuationSource, nextControlRef);
|
|
11248
|
+
if (admission !== void 0 && !admission.isSettled()) {
|
|
11249
|
+
if (outcome.acknowledgement.status !== "replayed") throw missingContinuationAdmission();
|
|
11250
|
+
admission.onAdmission(nextControlRef);
|
|
11251
|
+
}
|
|
11252
|
+
const admittedControlRef = admission?.controlRef();
|
|
11253
|
+
if (admission !== void 0 && admittedControlRef === void 0) throw missingContinuationAdmission();
|
|
11254
|
+
if (admittedControlRef !== void 0 && !sameControlCoordinates(nextControlRef, admittedControlRef)) throw new RetainedRunProviderContractError("provider changed the native continuation run after admission", { code: "RETAINED_NATIVE_CONTINUATION_RESULT_CHANGED" });
|
|
11255
|
+
activeControlRef = freezeControlRef(nextControlRef);
|
|
11256
|
+
knownControlRefDigests.add(canonicalCandidateDigest(activeControlRef));
|
|
11257
|
+
return structuredClone({
|
|
11258
|
+
...outcome,
|
|
11259
|
+
controlRef: copyControlRef(activeControlRef)
|
|
11260
|
+
});
|
|
11261
|
+
};
|
|
11262
|
+
const beginNativeContinuation = (request, turn) => {
|
|
11263
|
+
synchronizeActiveControlRef();
|
|
11264
|
+
if (measuredCapabilities.nativeContinuation?.admissionControl !== true) throw new Error(`provider "${activeControlRef.provider}" does not advertise early native continuation admission control`);
|
|
11265
|
+
const continuationSource = activeControlRef;
|
|
11266
|
+
let admissionSettled = false;
|
|
11267
|
+
let admissionCalled = false;
|
|
11268
|
+
let admittedControlRef;
|
|
11269
|
+
let admissionFailure;
|
|
11270
|
+
let resolveAdmission;
|
|
11271
|
+
let rejectAdmission;
|
|
11272
|
+
const admissionPromise = new Promise((resolve, reject) => {
|
|
11273
|
+
resolveAdmission = resolve;
|
|
11274
|
+
rejectAdmission = reject;
|
|
11275
|
+
});
|
|
11276
|
+
admissionPromise.catch(() => void 0);
|
|
11277
|
+
const failAdmission = (error) => {
|
|
11278
|
+
admissionFailure ??= error;
|
|
11279
|
+
if (admissionSettled) return;
|
|
11280
|
+
admissionSettled = true;
|
|
11281
|
+
rejectAdmission(error);
|
|
11282
|
+
};
|
|
11283
|
+
const onAdmission = (candidate) => {
|
|
11284
|
+
if (admissionCalled) {
|
|
11285
|
+
const error = new RetainedRunProviderContractError("provider called native continuation admission more than once", { code: "RETAINED_NATIVE_CONTINUATION_ADMISSION_DUPLICATE" });
|
|
11286
|
+
failAdmission(error);
|
|
11287
|
+
throw error;
|
|
11288
|
+
}
|
|
11289
|
+
admissionCalled = true;
|
|
11290
|
+
try {
|
|
11291
|
+
const nextControlRef = exactContinuedControlRef(AgentExactRunControlRefSchema.parse(candidate), continuationSource);
|
|
11292
|
+
assertContinuationIsCurrent(continuationSource, nextControlRef);
|
|
11293
|
+
activeControlRef = freezeControlRef(nextControlRef);
|
|
11294
|
+
knownControlRefDigests.add(canonicalCandidateDigest(activeControlRef));
|
|
11295
|
+
admittedControlRef = activeControlRef;
|
|
11296
|
+
if (!admissionSettled) {
|
|
11297
|
+
admissionSettled = true;
|
|
11298
|
+
resolveAdmission(copyControlRef(activeControlRef));
|
|
11299
|
+
}
|
|
11300
|
+
} catch (error) {
|
|
11301
|
+
const contractError = error instanceof RetainedRunProviderContractError ? error : new RetainedRunProviderContractError(error instanceof Error ? error.message : "provider returned an invalid native continuation admission reference", {
|
|
11302
|
+
code: "RETAINED_NATIVE_CONTINUATION_ADMISSION_INVALID",
|
|
11303
|
+
cause: error
|
|
11304
|
+
});
|
|
11305
|
+
failAdmission(contractError);
|
|
11306
|
+
throw contractError;
|
|
11307
|
+
}
|
|
11308
|
+
};
|
|
11309
|
+
const result = executeNativeContinuation(request, turn, {
|
|
11310
|
+
isSettled: () => admissionSettled,
|
|
11311
|
+
failure: () => admissionFailure,
|
|
11312
|
+
controlRef: () => admittedControlRef === void 0 ? void 0 : copyControlRef(admittedControlRef),
|
|
11313
|
+
onAdmission
|
|
11314
|
+
}, continuationSource);
|
|
11315
|
+
result.then((outcome) => {
|
|
11316
|
+
if (admissionSettled) return;
|
|
11317
|
+
const error = new RetainedRunProviderContractError(outcome.acknowledgement.status === "accepted" || outcome.acknowledgement.status === "replayed" ? "provider accepted a native continuation without an admission reference" : "native continuation ended without durable admission", { code: outcome.acknowledgement.status === "accepted" || outcome.acknowledgement.status === "replayed" ? "RETAINED_NATIVE_CONTINUATION_ADMISSION_MISSING" : "RETAINED_NATIVE_CONTINUATION_NOT_ADMITTED" });
|
|
11318
|
+
failAdmission(error);
|
|
11319
|
+
}, (error) => {
|
|
11320
|
+
failAdmission(error);
|
|
11321
|
+
});
|
|
11322
|
+
return {
|
|
11323
|
+
admission: admissionPromise,
|
|
11324
|
+
result
|
|
11325
|
+
};
|
|
11326
|
+
};
|
|
11167
11327
|
return {
|
|
11168
11328
|
get controlRef() {
|
|
11329
|
+
synchronizeActiveControlRef();
|
|
11169
11330
|
return copyControlRef(activeControlRef);
|
|
11170
11331
|
},
|
|
11171
11332
|
get capabilities() {
|
|
@@ -11185,8 +11346,12 @@ function createRetainedRunHandle(environment, session, initialControlRef, capabi
|
|
|
11185
11346
|
}
|
|
11186
11347
|
return current;
|
|
11187
11348
|
},
|
|
11188
|
-
events: (options) =>
|
|
11349
|
+
events: (options) => {
|
|
11350
|
+
synchronizeActiveControlRef();
|
|
11351
|
+
return retainedRunEvents(session, copyControlRef(activeControlRef), options, clock);
|
|
11352
|
+
},
|
|
11189
11353
|
result: async () => {
|
|
11354
|
+
synchronizeActiveControlRef();
|
|
11190
11355
|
let candidate;
|
|
11191
11356
|
try {
|
|
11192
11357
|
candidate = await exactSessionResult(session);
|
|
@@ -11202,6 +11367,7 @@ function createRetainedRunHandle(environment, session, initialControlRef, capabi
|
|
|
11202
11367
|
code: "RETAINED_RESULT_SCHEMA_INVALID",
|
|
11203
11368
|
cause: parsed.error
|
|
11204
11369
|
});
|
|
11370
|
+
synchronizeActiveControlRef();
|
|
11205
11371
|
try {
|
|
11206
11372
|
assertResultBinding(activeControlRef, parsed.data);
|
|
11207
11373
|
} catch (error) {
|
|
@@ -11213,51 +11379,33 @@ function createRetainedRunHandle(environment, session, initialControlRef, capabi
|
|
|
11213
11379
|
return structuredClone(parsed.data);
|
|
11214
11380
|
},
|
|
11215
11381
|
async respondToInteraction(command, options) {
|
|
11382
|
+
synchronizeActiveControlRef();
|
|
11216
11383
|
const exactCommand = InteractionResponseCommandSchema.parse(command);
|
|
11217
11384
|
assertInteractionBinding(activeControlRef, exactCommand);
|
|
11218
11385
|
if (measuredCapabilities.interactions?.replay !== true || measuredCapabilities.interactions.responseIdempotency !== true) throw new Error(`provider "${activeControlRef.provider}" does not promise retry-safe interaction responses`);
|
|
11219
11386
|
const respond = session.respondToInteraction ?? environment.respondToInteraction;
|
|
11220
11387
|
if (!respond) throw new Error(`provider "${activeControlRef.provider}" does not support interaction responses`);
|
|
11221
11388
|
const acknowledgement = InteractionAcknowledgementSchema.parse(await awaitAbortable$1(Promise.resolve().then(() => respond.call(session.respondToInteraction ? session : environment, exactCommand, options)), options?.signal));
|
|
11389
|
+
synchronizeActiveControlRef();
|
|
11222
11390
|
if (acknowledgement.operationId !== exactCommand.operationId || acknowledgement.commandDigest !== exactCommand.commandDigest || canonicalCandidateDigest(acknowledgement.binding) !== canonicalCandidateDigest(exactCommand.binding)) throw new Error("provider returned an interaction acknowledgement for another command");
|
|
11223
11391
|
return structuredClone(acknowledgement);
|
|
11224
11392
|
},
|
|
11225
11393
|
async contextBoundary(options) {
|
|
11394
|
+
synchronizeActiveControlRef();
|
|
11226
11395
|
if (!session.contextBoundary) return null;
|
|
11227
11396
|
const proof = await awaitAbortable$1(Promise.resolve().then(() => session.contextBoundary(options)), options?.signal);
|
|
11397
|
+
synchronizeActiveControlRef();
|
|
11228
11398
|
if (proof === null) return null;
|
|
11229
11399
|
const exactProof = NativeContextBoundaryProofSchema.parse(proof);
|
|
11230
11400
|
assertBoundaryBinding(activeControlRef, exactProof);
|
|
11231
11401
|
return structuredClone(exactProof);
|
|
11232
11402
|
},
|
|
11233
|
-
|
|
11234
|
-
|
|
11235
|
-
|
|
11236
|
-
const { timeoutMs, signal, ...semanticTurn } = turn;
|
|
11237
|
-
if (nativeContextContinuationTurnDigest(semanticTurn) !== exactRequest.turnDigest) throw new Error("native continuation request targets another user turn");
|
|
11238
|
-
if (measuredCapabilities.nativeContinuation?.atomicBoundary !== true || measuredCapabilities.nativeContinuation.requestIdempotency !== true || !session.continueNative) throw new Error(`provider "${activeControlRef.provider}" does not support retry-safe native continuation`);
|
|
11239
|
-
const outcome = AgentNativeContextContinuationResultSchema.parse(await awaitAbortable$1(Promise.resolve().then(() => session.continueNative(exactRequest, {
|
|
11240
|
-
turn: semanticTurn,
|
|
11241
|
-
...timeoutMs === void 0 ? {} : { timeoutMs },
|
|
11242
|
-
...signal === void 0 ? {} : { signal }
|
|
11243
|
-
})), signal));
|
|
11244
|
-
if (outcome.acknowledgement.operationId !== exactRequest.operationId || outcome.acknowledgement.requestDigest !== exactRequest.requestDigest) throw new Error("provider returned a native continuation result for another request");
|
|
11245
|
-
if (outcome.acknowledgement.actualBoundary !== void 0) {
|
|
11246
|
-
const actualBoundary = NativeContextBoundaryProofSchema.parse(outcome.acknowledgement.actualBoundary);
|
|
11247
|
-
assertBoundaryBinding(exactRequest.run, actualBoundary);
|
|
11248
|
-
}
|
|
11249
|
-
if (outcome.acknowledgement.status !== "accepted" && outcome.acknowledgement.status !== "replayed") return structuredClone(outcome);
|
|
11250
|
-
if (!("result" in outcome) || !("controlRef" in outcome)) throw new Error("provider omitted the successful native continuation result");
|
|
11251
|
-
if (!agentNativeContextContinuationResultMatchesRequest(exactRequest, outcome)) throw new Error("provider returned a native continuation result for another request");
|
|
11252
|
-
const nextControlRef = exactContinuedControlRef(outcome.controlRef, activeControlRef);
|
|
11253
|
-
assertResultBinding(nextControlRef, outcome.result);
|
|
11254
|
-
activeControlRef = freezeControlRef(nextControlRef);
|
|
11255
|
-
return structuredClone({
|
|
11256
|
-
...outcome,
|
|
11257
|
-
controlRef: copyControlRef(activeControlRef)
|
|
11258
|
-
});
|
|
11403
|
+
beginNativeContinuation,
|
|
11404
|
+
continueNative(request, turn) {
|
|
11405
|
+
return executeNativeContinuation(request, turn, void 0, void 0);
|
|
11259
11406
|
},
|
|
11260
11407
|
async cancel(options) {
|
|
11408
|
+
synchronizeActiveControlRef();
|
|
11261
11409
|
assertStableText(options.operationId, "retained cancellation operation id");
|
|
11262
11410
|
if (options.reason !== void 0) assertStableText(options.reason, "retained cancellation reason");
|
|
11263
11411
|
if (options.signal?.aborted) throw abortError(options.signal.reason);
|
|
@@ -11333,8 +11481,9 @@ async function startRetainedRun(options) {
|
|
|
11333
11481
|
}
|
|
11334
11482
|
if (typeof options.onAdmission !== "function") throw new Error("startRetainedRun requires an awaited onAdmission durability hook");
|
|
11335
11483
|
const identity = options.identity ?? mintRetainedIdentity(options.environment.idempotencyKey, options.turn.turnId);
|
|
11484
|
+
const contextTransfer = retainedContextTransfer(options.turn.contextTransfer);
|
|
11336
11485
|
if (!options.provider.get) throw new Error(`provider "${options.provider.name}" cannot reconstruct an environment by id`);
|
|
11337
|
-
const intent = retainedRunIntent(options, identity);
|
|
11486
|
+
const intent = retainedRunIntent(options, identity, contextTransfer);
|
|
11338
11487
|
if (options.intent === void 0) await admitDurably(options.onAdmission, intent);
|
|
11339
11488
|
else assertExactRetainedRunIntent(options.intent, intent);
|
|
11340
11489
|
const providerCapabilities = await assertRetainedCapabilities(options.provider);
|
|
@@ -11368,6 +11517,7 @@ async function startRetainedRun(options) {
|
|
|
11368
11517
|
environment,
|
|
11369
11518
|
environmentIdempotencyKey: options.environment.idempotencyKey,
|
|
11370
11519
|
turn: options.turn,
|
|
11520
|
+
contextTransfer,
|
|
11371
11521
|
identity,
|
|
11372
11522
|
onAdmission: options.onAdmission,
|
|
11373
11523
|
capabilities,
|
|
@@ -11393,6 +11543,7 @@ async function startRetainedRunInEnvironment(options) {
|
|
|
11393
11543
|
}
|
|
11394
11544
|
if (typeof options.onAdmission !== "function") throw new Error("startRetainedRunInEnvironment requires an awaited onAdmission durability hook");
|
|
11395
11545
|
const identity = options.identity ?? mintRetainedIdentity(options.environment.idempotencyKey, options.turn.turnId);
|
|
11546
|
+
const contextTransfer = retainedContextTransfer(options.turn.contextTransfer);
|
|
11396
11547
|
const providerCapabilities = await assertRetainedCapabilities(options.provider);
|
|
11397
11548
|
if (!options.provider.get) throw new Error(`provider "${options.provider.name}" cannot reconstruct an environment by id`);
|
|
11398
11549
|
const environment = await options.provider.get(options.environment.id);
|
|
@@ -11407,6 +11558,7 @@ async function startRetainedRunInEnvironment(options) {
|
|
|
11407
11558
|
environment,
|
|
11408
11559
|
environmentIdempotencyKey: options.environment.idempotencyKey,
|
|
11409
11560
|
turn: options.turn,
|
|
11561
|
+
contextTransfer,
|
|
11410
11562
|
identity,
|
|
11411
11563
|
onAdmission: options.onAdmission,
|
|
11412
11564
|
capabilities,
|
|
@@ -11444,7 +11596,8 @@ async function dispatchRetainedRun(options) {
|
|
|
11444
11596
|
reference = await environment.dispatch(freshTurnInput(options.turn, {
|
|
11445
11597
|
turnId: options.turn.turnId,
|
|
11446
11598
|
detach: true,
|
|
11447
|
-
...identity
|
|
11599
|
+
...identity,
|
|
11600
|
+
...options.contextTransfer === void 0 ? {} : { contextTransfer: options.contextTransfer }
|
|
11448
11601
|
}));
|
|
11449
11602
|
} catch (error) {
|
|
11450
11603
|
await destroyIfCreated(error);
|
|
@@ -11549,7 +11702,7 @@ async function recoverRetainedRun(options) {
|
|
|
11549
11702
|
handle: createRetainedRunHandle(environment, exact.session, exact.controlRef, capabilities, options.now)
|
|
11550
11703
|
};
|
|
11551
11704
|
}
|
|
11552
|
-
function retainedRunIntent(options, identity) {
|
|
11705
|
+
function retainedRunIntent(options, identity, contextTransfer) {
|
|
11553
11706
|
const requestedProfileDigest = canonicalCandidateDigest(options.environment.profile);
|
|
11554
11707
|
const requestDigest = canonicalCandidateDigest({
|
|
11555
11708
|
kind: "retained-run-intent.v1",
|
|
@@ -11560,7 +11713,7 @@ function retainedRunIntent(options, identity) {
|
|
|
11560
11713
|
executionId: identity.executionId,
|
|
11561
11714
|
requestedProfileDigest,
|
|
11562
11715
|
create: retainedCreateMaterial(options.environment),
|
|
11563
|
-
turn: retainedTurnMaterial(options.turn)
|
|
11716
|
+
turn: retainedTurnMaterial(options.turn, contextTransfer)
|
|
11564
11717
|
});
|
|
11565
11718
|
return {
|
|
11566
11719
|
phase: "intent",
|
|
@@ -11574,6 +11727,10 @@ function retainedRunIntent(options, identity) {
|
|
|
11574
11727
|
requestDigest
|
|
11575
11728
|
};
|
|
11576
11729
|
}
|
|
11730
|
+
function retainedContextTransfer(value) {
|
|
11731
|
+
if (value === void 0) return void 0;
|
|
11732
|
+
return detachedSnapshot(ContextTransferRequestSchema.parse(value), "retained context transfer request");
|
|
11733
|
+
}
|
|
11577
11734
|
function assertExactRetainedRunIntent(received, expected) {
|
|
11578
11735
|
if (canonicalCandidateDigest(parseRetainedRunIntent(received)) !== canonicalCandidateDigest(expected)) throw new Error("retained run intent conflicts with replay material");
|
|
11579
11736
|
}
|
|
@@ -15292,4 +15449,4 @@ function isNonEmptySpend(s) {
|
|
|
15292
15449
|
//#endregion
|
|
15293
15450
|
export { bridgeRuntimeAttachmentsKey as $, buildRuntimeEventOtelSpans as $t, readWorkerInteractiveBinding as A, profileMaterializationAxes$1 as An, isLiveNodeStatus as At, retainedCreateMaterial as B, worktreeCliProfileMaterialization as Bn, probeSandboxCapabilities as Bt, timerAt as C, parseCodexTokenUsage as Cn, DEFAULT_PEER_MAIL_LIMITS as Ct, readWorkerInteractiveAdmissions as D, controlProfileMaterialization as Dn, isPeerMailEnvelope as Dt, interactiveAdmissionSeamKey as E, assertProfileMaterialization as En, createPeerMailbox as Et, startRetainedInteractiveRun as F, renderProfileMaterializationIssues as Fn, createSandboxForSpec as Ft, DEFAULT_SUCCESSFUL_SHUTDOWN_MS as G, observedModelMatchesDeclared as Gt, freeSlots as H, routerBrain as Ht, reconnectRetainedRun as I, renderUnsupported as In, defaultSelectWinner as It, createBudgetPool as J, readTraceContextFromEnv as Jt, teardownExecutor as K, createPropagatingTraceEmitter as Kt, recoverRetainedRun as L, sandboxActProfileMaterialization as Ln, isTerminalDecision as Lt, workerInteractiveBindingsDir as M, promptModelProfileMaterialization as Mn, createInPlaceCliExecutor as Mt, reconnectRetainedInteractiveRun as N, promptOnlyProfileMaterialization as Nn, taskToPrompt as Nt, workerInteractiveAdmissionFile as O, defineProfileMaterializationContract as On, peerMailTools as Ot, recoverRetainedInteractiveRun as P, promptResourceProfileMaterialization as Pn, TERMINAL_DECISIONS as Pt, bridgeModelRouteRefusal as Q, buildLoopSpanNodes as Qt, startRetainedRun as R, unsupportedProfileDimensions as Rn, runAgentRounds as Rt, pollFor as S, localHarnessExecutable as Sn, AUTHORITY_MARKERS as St, waitUntil as T, AGENT_PROFILE_MATERIALIZATION_AXES as Tn, claimsAuthority as Tt, queueOf as U, runBrainLoop as Ut, effectiveConcurrency as V, acquireSandbox as Vt, rollingDispatch as W, canonicalObservedModel as Wt, bindReusableExecutorExecutionId as X, INTELLIGENCE_WIRE_VERSION as Xt, spendFromUsageEvents as Y, traceContextToEnv as Yt, bridgeAdmissionRead as Z, buildLoopOtelSpans as Zt, recordScopeOwnerMaterialization as _, createWorktree as _n, sandboxSessionTraceSource as _t, uncertainSpawnBudgets as a, loopEventToOtelSpan as an, createExecutorRegistry as at, createWaitProbes as b, LOCAL_HARNESSES as bn, readWorkerProgress as bt, pickBestDelivered as c, toOtelAttributes as cn, WORKER_TRACE_PROPAGATION as ct, driverChild as d, sanitizeAgentRuntimeEvent as dn, workerTraceHeaders as dt, createOpenInferenceFileExporter as en, bridgeStopSignalKey as et, withDriverExecutor as f, sanitizeKnowledgeReadinessReport as fn, workerTraceSeamKey as ft, meterRuntimeOwnedProviderAttempt as g, captureWorktreeDiff as gn, decodeToolPart as gt, meterRuntimeOwnedAccounting as h, runWorktreeHarness as hn, createPushTraceSource as ht, sumMeasuredSpendFromEvents as i, generateSpanId as in, createExecutor as it, workerInteractiveBindingFile as j, promptControlProfileMaterialization as jn, isTerminalNodeStatus as jt, attachWorker as k, fullProfileMaterialization as kn, peerMailVerbNames as kt, runFinalizer as l, createRuntimeEventCollector as ln, readWorkerTraceContext as lt, deriveNodeExecutionIdentity as m, runSettledCommand as mn, createSteerableSandboxSession as mt, createSupervisor as n, exportEvalRuns as nn, cliInPlaceExecutor as nt, bestDelivered as o, padSpanId as on, snapshotExecutorConfig as ot, createScope as p, sanitizeRuntimeStreamEvent as pn, DEFAULT_SANDBOX_STEERING_MAX_TURNS as pt, assertValidBudget as q, mergeTraceEnv as qt, maxSeqOf as r, flatOtelSpan as rn, cliWorktreeExecutor as rt, collectDelivered as s, padTraceId as sn, createWorktreeCliExecutor as st, createRootHandle as t, createOtelExporter as tn, captureReusableExecutorConfig as tt, runTree as u, createRuntimeStreamEventCollector as un, workerTraceEnv as ut, scopeOwnerExecutorNodeContext as v, removeWorktree as vn, DEFAULT_STALL_AFTER_MS as vt, validateWaitSpec as w, CodexExecutionDiagnosticError as wn, PEER_MAIL_WIRE_KEY as wt, isWaitOutcome as x, harnessSupportsReasoningEffort as xn, createInbox as xt, settledToIteration as y, DEFAULT_LOCAL_HARNESS as yn, createActivityLog as yt, startRetainedRunInEnvironment as z, validateProfileMaterialization as zn, createSandboxLineage as zt };
|
|
15294
15451
|
|
|
15295
|
-
//# sourceMappingURL=supervisor
|
|
15452
|
+
//# sourceMappingURL=supervisor--tj9JsFo.js.map
|