@zhivex-ai/core 1.28.0 → 1.30.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/dist/agent/cancellation-intent.d.ts +14 -0
- package/dist/agent/cancellation-intent.d.ts.map +1 -0
- package/dist/agent/cancellation-intent.js +93 -0
- package/dist/agent/cancellation-intent.js.map +1 -0
- package/dist/agent/cancellation.d.ts.map +1 -1
- package/dist/agent/cancellation.js +33 -61
- package/dist/agent/cancellation.js.map +1 -1
- package/dist/agent/children.d.ts.map +1 -1
- package/dist/agent/children.js +2 -1
- package/dist/agent/children.js.map +1 -1
- package/dist/agent/common.d.ts.map +1 -1
- package/dist/agent/common.js +9 -3
- package/dist/agent/common.js.map +1 -1
- package/dist/agent/context.d.ts +8 -0
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +32 -12
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/execution.d.ts.map +1 -1
- package/dist/agent/execution.js +137 -12
- package/dist/agent/execution.js.map +1 -1
- package/dist/agent/lifecycle.d.ts.map +1 -1
- package/dist/agent/lifecycle.js +4 -2
- package/dist/agent/lifecycle.js.map +1 -1
- package/dist/agent/memory.d.ts +5 -0
- package/dist/agent/memory.d.ts.map +1 -0
- package/dist/agent/memory.js +20 -0
- package/dist/agent/memory.js.map +1 -0
- package/dist/agent/state.d.ts +2 -2
- package/dist/agent/state.d.ts.map +1 -1
- package/dist/agent/state.js +60 -6
- package/dist/agent/state.js.map +1 -1
- package/dist/agent-state.d.ts.map +1 -1
- package/dist/agent-state.js +14 -0
- package/dist/agent-state.js.map +1 -1
- package/dist/api-stability.d.ts.map +1 -1
- package/dist/api-stability.js +1 -0
- package/dist/api-stability.js.map +1 -1
- package/dist/computer-use.d.ts +90 -0
- package/dist/computer-use.d.ts.map +1 -0
- package/dist/computer-use.js +137 -0
- package/dist/computer-use.js.map +1 -0
- package/dist/errors.d.ts +7 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +14 -3
- package/dist/errors.js.map +1 -1
- package/dist/experimental-entry.d.ts +2 -0
- package/dist/experimental-entry.d.ts.map +1 -1
- package/dist/experimental-entry.js +1 -0
- package/dist/experimental-entry.js.map +1 -1
- package/dist/generate-text.d.ts.map +1 -1
- package/dist/generate-text.js +8 -1
- package/dist/generate-text.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/safety-policy.js +3 -3
- package/dist/safety-policy.js.map +1 -1
- package/dist/types/agent-state.d.ts +12 -0
- package/dist/types/agent-state.d.ts.map +1 -1
- package/dist/types/agents.d.ts +4 -0
- package/dist/types/agents.d.ts.map +1 -1
- package/dist/types/model-tools.d.ts +2 -0
- package/dist/types/model-tools.d.ts.map +1 -1
- package/dist/types/stream.d.ts +3 -0
- package/dist/types/stream.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/agent/execution.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { AgentCancellationError, assertAgentNotCancelled, cancellationAfterFailure } from "./cancellation-intent.js";
|
|
2
|
+
import { hasDisabledMemory, withoutInvocationMemory } from "./memory.js";
|
|
1
3
|
import { createAgentBudgetCoordinator, assertAgentTokenReservation } from "../agent-budget-coordinator.js";
|
|
2
4
|
import { childStateObserver, loadFailureState, runCheckpoints, observeChildState, projectChildRun, reconcileChildRuns, upsertChildRun } from "./children.js";
|
|
3
5
|
import { validateMaxSteps } from "../validate-max-steps.js";
|
|
@@ -7,7 +9,7 @@ import { getAgentApprovalRequests } from "../agent-approval.js";
|
|
|
7
9
|
import { fingerprintAgentHarness } from "../agent-harness.js";
|
|
8
10
|
import { normalizeAgentRunState } from "../agent-state.js";
|
|
9
11
|
import { BoundedReplayBroadcast } from "../bounded-broadcast.js";
|
|
10
|
-
import { ConflictError, GuardrailTriggeredError, ValidationError } from "../errors.js";
|
|
12
|
+
import { ConflictError, GuardrailTriggeredError, ProviderToolCallError, ValidationError } from "../errors.js";
|
|
11
13
|
import { aggregateTokenUsage, generateText, getGenerateTextStepTiming, streamText } from "../generate-text.js";
|
|
12
14
|
import { isCallableToolDefinition, serializeJsonValue } from "../messages.js";
|
|
13
15
|
import { evaluateAgentBudgetPreflight, getAgentBudgetStatus } from "../safety-policy.js";
|
|
@@ -17,11 +19,40 @@ import { z } from "zod";
|
|
|
17
19
|
import { approvalsFromEvents, cloneMetadata, cloneState, createFailedState, createTerminalState, joinInstructions, mapSteps, messagePrefixLength, normalizeApprovalStatus, randomId, resolveAgentOutputMode, snapshotRequest, snapshotResponse, toOutput } from "./common.js";
|
|
18
20
|
import { AgentPolicyTimeoutError, acquireAgentExecutionLease, createAgentAbortContext, resolveRunPolicy, withAgentPolicyTimeout } from "./lifecycle.js";
|
|
19
21
|
import { claimAgentExecution, finalizeState, persistFailureState, persistState } from "./state.js";
|
|
20
|
-
import { resolveContext } from "./context.js";
|
|
22
|
+
import { resolveContext, initializePendingMemory } from "./context.js";
|
|
21
23
|
import { emitApprovalTelemetry, emitFinalizedStepTelemetry, emitInvocationFinishTelemetry, emitInvocationStartTelemetry, emitRunFinishTelemetry, emitRunStartTelemetry, emitTelemetryEvent, emitToolApprovalTelemetry, withAgentTelemetryRunContext } from "./telemetry.js";
|
|
22
24
|
import { applyGuardrailFailure, runGuardrails } from "./guardrails.js";
|
|
23
25
|
import { acquireExecutionEnvironment, durableToolCallId, wrapToolWithExecutionEnvironment, wrapToolWithJournal } from "./tool-execution.js";
|
|
24
26
|
import { compactAgentMessages } from "./compaction.js";
|
|
27
|
+
/** Complete receipts may settle a failed call; an uncertain prefix never frees
|
|
28
|
+
* its allocation. Settlement errors cannot replace the original provider failure. */
|
|
29
|
+
const settleFailedProviderRequest = async (policy, state, error) => {
|
|
30
|
+
if (error instanceof ProviderToolCallError && error.providerRequestCount !== undefined && policy?.budgetCoordinator) {
|
|
31
|
+
try {
|
|
32
|
+
await policy.budgetCoordinator.settle(`model:${state.runId}:${state.currentStep + 1}`, error.usage);
|
|
33
|
+
}
|
|
34
|
+
catch { /* The coordinator retains unknown or exceeded allocations. */ }
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
/** Cancellation does not erase a dispatched request's accounting receipt. Use
|
|
38
|
+
* the worker checkpoint, so cancellation-only CAS retries retain their proof;
|
|
39
|
+
* competing durable writes are never rebased over or silently reported saved. */
|
|
40
|
+
const persistCancelledProviderReceipt = async (agent, state, cancelled, error, policy) => {
|
|
41
|
+
if (!(error instanceof ProviderToolCallError) || error.providerRequestCount === undefined)
|
|
42
|
+
return cancelled;
|
|
43
|
+
const checkpoint = runCheckpoints.get(state) ?? state;
|
|
44
|
+
await settleFailedProviderRequest(policy, checkpoint, error);
|
|
45
|
+
const receipt = { ...createFailedState(checkpoint, error), status: cancelled.status,
|
|
46
|
+
cancelledAt: cancelled.cancelledAt, cancellationReason: cancelled.cancellationReason,
|
|
47
|
+
cancellationCascade: cancelled.cancellationCascade };
|
|
48
|
+
try {
|
|
49
|
+
await persistState(agent, receipt, policy, state);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
throw error;
|
|
53
|
+
} // Preserve the confirmed/uncertain receipt for the caller.
|
|
54
|
+
return receipt;
|
|
55
|
+
};
|
|
25
56
|
const subAgentToolInputSchema = z.object({
|
|
26
57
|
prompt: z.string().min(1),
|
|
27
58
|
system: z.string().optional()
|
|
@@ -354,7 +385,7 @@ const createGenerateOptions = (agent, state, input, messages, maxSteps, context,
|
|
|
354
385
|
const saveAttempt = async () => {
|
|
355
386
|
state.compactionAttempts = structuredClone(checkpointState.compactionAttempts);
|
|
356
387
|
runCheckpoints.set(state, checkpointState);
|
|
357
|
-
await persistState(agent, checkpointState, runPolicy);
|
|
388
|
+
await persistState(agent, checkpointState, runPolicy, state);
|
|
358
389
|
state.revision = checkpointState.revision;
|
|
359
390
|
};
|
|
360
391
|
const compacted = await compactAgentMessages(compaction, checkpointState, activeMessages, step, context, abortSignal, {
|
|
@@ -463,13 +494,18 @@ const createGenerateOptions = (agent, state, input, messages, maxSteps, context,
|
|
|
463
494
|
};
|
|
464
495
|
state.messages = compacted.messages;
|
|
465
496
|
state.compactions = checkpointState.compactions;
|
|
466
|
-
await persistState(agent, checkpointState, runPolicy);
|
|
497
|
+
await persistState(agent, checkpointState, runPolicy, state);
|
|
467
498
|
state.revision = checkpointState.revision;
|
|
468
499
|
await onCompaction?.(compacted.record);
|
|
469
500
|
return compacted.messages;
|
|
470
501
|
}
|
|
471
502
|
: undefined,
|
|
472
503
|
onBeforeModelStep: async ({ step, request }) => {
|
|
504
|
+
await assertAgentNotCancelled(agent.store, state);
|
|
505
|
+
// Internal requests need independent input reservations. Until the adapter
|
|
506
|
+
// exposes that lifecycle, a bounded agent step admits one dispatch only.
|
|
507
|
+
if (budget || coordinator)
|
|
508
|
+
request.maxProviderRequests = 1;
|
|
473
509
|
if (budget) {
|
|
474
510
|
const remaining = getAgentBudgetStatus({ ...state, usage: liveUsage, toolResults: liveToolResults }, budget).remaining;
|
|
475
511
|
const ceilings = [requestedMaxTokens, remaining.outputTokens, remaining.totalTokens].filter((value) => value !== undefined);
|
|
@@ -544,8 +580,9 @@ const createGenerateOptions = (agent, state, input, messages, maxSteps, context,
|
|
|
544
580
|
if (coordinator && primaryReservationId)
|
|
545
581
|
await coordinator.settle(primaryReservationId, response.usage);
|
|
546
582
|
if (agent.store) {
|
|
547
|
-
await persistState(agent, checkpointState, runPolicy);
|
|
583
|
+
await persistState(agent, checkpointState, runPolicy, state);
|
|
548
584
|
state.revision = checkpointState.revision;
|
|
585
|
+
await assertAgentNotCancelled(agent.store, checkpointState);
|
|
549
586
|
}
|
|
550
587
|
if (failedToolResults)
|
|
551
588
|
Object.assign(state, checkpointState);
|
|
@@ -572,12 +609,13 @@ const createGenerateOptions = (agent, state, input, messages, maxSteps, context,
|
|
|
572
609
|
runCheckpoints.set(state, checkpointState);
|
|
573
610
|
observeChildState(agent, checkpointState);
|
|
574
611
|
if (agent.store) {
|
|
575
|
-
await persistState(agent, checkpointState, runPolicy);
|
|
612
|
+
await persistState(agent, checkpointState, runPolicy, state);
|
|
576
613
|
state.revision = checkpointState.revision;
|
|
577
614
|
}
|
|
578
615
|
},
|
|
579
616
|
stepOffset: state.currentStep,
|
|
580
617
|
onBeforeToolExecution: async ({ step, toolCalls }) => {
|
|
618
|
+
await assertAgentNotCancelled(agent.store, checkpointState);
|
|
581
619
|
if (budget) {
|
|
582
620
|
reservedToolCalls += toolCalls.length;
|
|
583
621
|
const trigger = evaluateAgentBudgetPreflight({ ...state, usage: liveUsage, toolResults: liveToolResults }, budget, {
|
|
@@ -626,6 +664,10 @@ const emptyAsyncIterable = async function* () {
|
|
|
626
664
|
return;
|
|
627
665
|
};
|
|
628
666
|
export const runAgent = async (agent, input = {}) => {
|
|
667
|
+
if (input.memory === false || input.state?.memory === false || hasDisabledMemory(agent)) {
|
|
668
|
+
input = { ...input, memory: false };
|
|
669
|
+
agent = withoutInvocationMemory(agent);
|
|
670
|
+
}
|
|
629
671
|
const invocationStartedAt = Date.now();
|
|
630
672
|
const telemetryRunId = input.runId ?? input.state?.runId ?? randomId("run");
|
|
631
673
|
const invocationInput = input.runId || input.state
|
|
@@ -648,6 +690,8 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
648
690
|
await emitInvocationStartTelemetry(agent, telemetryRunId, invocationStartedAt, validateMaxSteps(input.maxSteps ?? input.state?.maxSteps ?? agent.maxSteps));
|
|
649
691
|
try {
|
|
650
692
|
const context = await resolveContext(agent, invocationInput);
|
|
693
|
+
if (context.state.memory === false)
|
|
694
|
+
agent = withoutInvocationMemory(agent);
|
|
651
695
|
await reconcileChildRuns(context.state, agent.store);
|
|
652
696
|
observeChildState(agent, context.state);
|
|
653
697
|
const currentStatus = normalizeApprovalStatus(context.state.status);
|
|
@@ -675,7 +719,8 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
675
719
|
}
|
|
676
720
|
const freshRequiresExistingClaim = context.fresh && Boolean(context.state.idempotencyKey);
|
|
677
721
|
if (context.fresh && !freshRequiresExistingClaim) {
|
|
678
|
-
await claimAgentExecution(agent, context.state)
|
|
722
|
+
if (!await claimAgentExecution(agent, context.state))
|
|
723
|
+
return returnInvocationOutput(toOutput(context.state));
|
|
679
724
|
}
|
|
680
725
|
const executionLease = await acquireAgentExecutionLease(agent, context.state, policy);
|
|
681
726
|
if (!executionLease) {
|
|
@@ -687,13 +732,39 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
687
732
|
invocationStatus = outputState.status;
|
|
688
733
|
return returnInvocationOutput(toOutput(outputState));
|
|
689
734
|
}
|
|
735
|
+
let initializingMemory = false;
|
|
690
736
|
try {
|
|
691
737
|
if (!context.fresh || freshRequiresExistingClaim) {
|
|
692
|
-
await claimAgentExecution(agent, context.state)
|
|
738
|
+
if (!await claimAgentExecution(agent, context.state)) {
|
|
739
|
+
await executionLease.release();
|
|
740
|
+
return returnInvocationOutput(toOutput(context.state));
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
if (context.state.memoryInitialization === "pending") {
|
|
744
|
+
initializingMemory = true;
|
|
745
|
+
const prepared = await initializePendingMemory(agent, context.state);
|
|
746
|
+
context.messages = prepared.messages;
|
|
747
|
+
context.memoryMessages = prepared.memoryMessages;
|
|
748
|
+
// Persist the initialized context before model execution or another retry.
|
|
749
|
+
if (!await claimAgentExecution(agent, context.state)) {
|
|
750
|
+
await executionLease.release();
|
|
751
|
+
return returnInvocationOutput(toOutput(context.state));
|
|
752
|
+
}
|
|
693
753
|
}
|
|
694
754
|
await emitRunStartTelemetry(agent, context.state, context.memoryMessages, input.approvals, invocationStartedAt);
|
|
695
755
|
}
|
|
696
756
|
catch (error) {
|
|
757
|
+
const cancelled = initializingMemory ? await cancellationAfterFailure(agent.store, context.state) : undefined;
|
|
758
|
+
if (cancelled) {
|
|
759
|
+
await executionLease.release();
|
|
760
|
+
return returnInvocationOutput(toOutput(cancelled));
|
|
761
|
+
}
|
|
762
|
+
if (initializingMemory && context.state.memoryInitialization === "pending" && !executionLease.leaseLost()) {
|
|
763
|
+
try {
|
|
764
|
+
await persistFailureState({ ...agent, memory: undefined }, createFailedState(context.state, error), policy);
|
|
765
|
+
}
|
|
766
|
+
catch { /* Preserve the original initialization error. */ }
|
|
767
|
+
}
|
|
697
768
|
await executionLease.release();
|
|
698
769
|
throw error;
|
|
699
770
|
}
|
|
@@ -770,6 +841,7 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
770
841
|
...approvalsFromEvents(newSteps.flatMap((step) => step.response?.messages ?? []))
|
|
771
842
|
]);
|
|
772
843
|
await persistState(agent, output.state, policy);
|
|
844
|
+
await assertAgentNotCancelled(agent.store, output.state);
|
|
773
845
|
output.taskOutcome = output.state.taskOutcome;
|
|
774
846
|
await emitRunFinishTelemetry(agent, output.state);
|
|
775
847
|
executionEnvironmentStatus = output.status;
|
|
@@ -779,8 +851,9 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
779
851
|
executionEnvironmentError = {
|
|
780
852
|
message: error instanceof Error ? error.message : String(error)
|
|
781
853
|
};
|
|
782
|
-
|
|
854
|
+
let cancelled = error instanceof AgentCancellationError ? error.state : executionLease.cancelledState() ?? await cancellationAfterFailure(agent.store, context.state);
|
|
783
855
|
if (cancelled) {
|
|
856
|
+
cancelled = await persistCancelledProviderReceipt(agent, context.state, cancelled, error, policy);
|
|
784
857
|
executionEnvironmentStatus = cancelled.status;
|
|
785
858
|
await emitRunFinishTelemetry(agent, cancelled);
|
|
786
859
|
return returnInvocationOutput(toOutput(cancelled));
|
|
@@ -800,6 +873,7 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
800
873
|
}
|
|
801
874
|
const durableState = await loadFailureState(context.state, agent.store);
|
|
802
875
|
const failedState = createFailedState(durableState, error);
|
|
876
|
+
await settleFailedProviderRequest(policy, durableState, error);
|
|
803
877
|
try {
|
|
804
878
|
await persistFailureState(agent, failedState, policy);
|
|
805
879
|
}
|
|
@@ -826,6 +900,10 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
826
900
|
}
|
|
827
901
|
};
|
|
828
902
|
export const streamAgent = (agent, input = {}) => {
|
|
903
|
+
if (input.memory === false || input.state?.memory === false || hasDisabledMemory(agent)) {
|
|
904
|
+
input = { ...input, memory: false };
|
|
905
|
+
agent = withoutInvocationMemory(agent);
|
|
906
|
+
}
|
|
829
907
|
const invocationStartedAt = Date.now();
|
|
830
908
|
const telemetryRunId = input.runId ?? input.state?.runId ?? randomId("run");
|
|
831
909
|
const invocationInput = input.runId || input.state
|
|
@@ -869,6 +947,8 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
869
947
|
const runner = (async () => {
|
|
870
948
|
await emitInvocationStartTelemetry(agent, telemetryRunId, invocationStartedAt, validateMaxSteps(input.maxSteps ?? input.state?.maxSteps ?? agent.maxSteps));
|
|
871
949
|
const context = await resolveContext(agent, invocationInput);
|
|
950
|
+
if (context.state.memory === false)
|
|
951
|
+
agent = withoutInvocationMemory(agent);
|
|
872
952
|
await reconcileChildRuns(context.state, agent.store);
|
|
873
953
|
observeChildState(agent, context.state);
|
|
874
954
|
const currentStatus = normalizeApprovalStatus(context.state.status);
|
|
@@ -904,7 +984,11 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
904
984
|
}
|
|
905
985
|
const freshRequiresExistingClaim = context.fresh && Boolean(context.state.idempotencyKey);
|
|
906
986
|
if (context.fresh && !freshRequiresExistingClaim) {
|
|
907
|
-
await claimAgentExecution(agent, context.state)
|
|
987
|
+
if (!await claimAgentExecution(agent, context.state)) {
|
|
988
|
+
broadcast.close();
|
|
989
|
+
await finishInvocation(context.state.status);
|
|
990
|
+
return { output: toOutput(context.state), textStream: emptyAsyncIterable() };
|
|
991
|
+
}
|
|
908
992
|
}
|
|
909
993
|
const executionLease = await acquireAgentExecutionLease(agent, context.state, policy);
|
|
910
994
|
if (!executionLease) {
|
|
@@ -921,13 +1005,45 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
921
1005
|
};
|
|
922
1006
|
}
|
|
923
1007
|
activeLease = executionLease;
|
|
1008
|
+
let initializingMemory = false;
|
|
924
1009
|
try {
|
|
925
1010
|
if (!context.fresh || freshRequiresExistingClaim) {
|
|
926
|
-
await claimAgentExecution(agent, context.state)
|
|
1011
|
+
if (!await claimAgentExecution(agent, context.state)) {
|
|
1012
|
+
await executionLease.release();
|
|
1013
|
+
broadcast.close();
|
|
1014
|
+
await finishInvocation(context.state.status);
|
|
1015
|
+
return { output: toOutput(context.state), textStream: emptyAsyncIterable() };
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
if (context.state.memoryInitialization === "pending") {
|
|
1019
|
+
initializingMemory = true;
|
|
1020
|
+
const prepared = await initializePendingMemory(agent, context.state);
|
|
1021
|
+
context.messages = prepared.messages;
|
|
1022
|
+
context.memoryMessages = prepared.memoryMessages;
|
|
1023
|
+
// Persist the initialized context before model execution or another retry.
|
|
1024
|
+
if (!await claimAgentExecution(agent, context.state)) {
|
|
1025
|
+
await executionLease.release();
|
|
1026
|
+
broadcast.close();
|
|
1027
|
+
await finishInvocation(context.state.status);
|
|
1028
|
+
return { output: toOutput(context.state), textStream: emptyAsyncIterable() };
|
|
1029
|
+
}
|
|
927
1030
|
}
|
|
928
1031
|
await emitRunStartTelemetry(agent, context.state, context.memoryMessages, input.approvals, invocationStartedAt);
|
|
929
1032
|
}
|
|
930
1033
|
catch (error) {
|
|
1034
|
+
const cancelled = initializingMemory ? await cancellationAfterFailure(agent.store, context.state) : undefined;
|
|
1035
|
+
if (cancelled) {
|
|
1036
|
+
await executionLease.release();
|
|
1037
|
+
broadcast.close();
|
|
1038
|
+
await finishInvocation(cancelled.status);
|
|
1039
|
+
return { output: toOutput(cancelled), textStream: emptyAsyncIterable() };
|
|
1040
|
+
}
|
|
1041
|
+
if (initializingMemory && context.state.memoryInitialization === "pending" && !executionLease.leaseLost()) {
|
|
1042
|
+
try {
|
|
1043
|
+
await persistFailureState({ ...agent, memory: undefined }, createFailedState(context.state, error), policy);
|
|
1044
|
+
}
|
|
1045
|
+
catch { /* Preserve the original initialization error. */ }
|
|
1046
|
+
}
|
|
931
1047
|
await executionLease.release();
|
|
932
1048
|
throw error;
|
|
933
1049
|
}
|
|
@@ -1127,6 +1243,7 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
1127
1243
|
await emitApprovalTelemetry(agent, result.state, approvalsFromEvents(newSteps.flatMap((step) => step.response?.messages ?? [])));
|
|
1128
1244
|
}
|
|
1129
1245
|
await persistState(agent, result.state, policy);
|
|
1246
|
+
await assertAgentNotCancelled(agent.store, result.state);
|
|
1130
1247
|
result.taskOutcome = result.state.taskOutcome;
|
|
1131
1248
|
await emitRunFinishTelemetry(agent, result.state);
|
|
1132
1249
|
await publish({
|
|
@@ -1142,8 +1259,15 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
1142
1259
|
executionEnvironmentError = {
|
|
1143
1260
|
message: error instanceof Error ? error.message : String(error)
|
|
1144
1261
|
};
|
|
1145
|
-
|
|
1262
|
+
let cancelled = error instanceof AgentCancellationError ? error.state : executionLease.cancelledState() ?? await cancellationAfterFailure(agent.store, context.state);
|
|
1146
1263
|
if (cancelled) {
|
|
1264
|
+
try {
|
|
1265
|
+
cancelled = await persistCancelledProviderReceipt(agent, context.state, cancelled, error, policy);
|
|
1266
|
+
}
|
|
1267
|
+
catch (receiptError) {
|
|
1268
|
+
broadcast.fail(receiptError);
|
|
1269
|
+
throw receiptError;
|
|
1270
|
+
}
|
|
1147
1271
|
executionEnvironmentStatus = cancelled.status;
|
|
1148
1272
|
await emitRunFinishTelemetry(agent, cancelled);
|
|
1149
1273
|
await publish({
|
|
@@ -1181,6 +1305,7 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
1181
1305
|
}
|
|
1182
1306
|
const durableState = await loadFailureState(context.state, agent.store);
|
|
1183
1307
|
const failedState = createFailedState(durableState, error);
|
|
1308
|
+
await settleFailedProviderRequest(policy, durableState, error);
|
|
1184
1309
|
try {
|
|
1185
1310
|
await persistFailureState(agent, failedState, policy);
|
|
1186
1311
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/agent/execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/agent/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/agent/lifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/agent/lifecycle.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AAWrB,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,SAAS,EAAE,MAAM,EAG5B;CACF;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,aAAa,SACpD,eAAe,CAAC,MAAM,CAAC,SACvB,aAAa,CAAC,MAAM,CAAC,KAC3B,cAAc,GAAG,SAMnB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAU,CAAC,aACjC,OAAO,CAAC,CAAC,CAAC,WACZ;IACP,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,OAAO,CAAC;CAC3B,KACA,OAAO,CAAC,CAAC,CAQX,CAAC;AAEF,eAAO,MAAM,uBAAuB,qBAChB,WAAW,GAAG,SAAS,UACjC,cAAc,GAAG,SAAS,wBACZ,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;;;;;;;;;;CAmCrD,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;IAChD,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAcD,eAAO,MAAM,0BAA0B,GAAU,MAAM,SAAS,aAAa,SACpE,eAAe,CAAC,MAAM,CAAC,SACvB,aAAa,UACZ,cAAc,GAAG,SAAS,KACjC,OAAO,CAAC,0BAA0B,GAAG,SAAS,CA2GhD,CAAC"}
|
package/dist/agent/lifecycle.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { synchronizeAgentCancellation } from "./cancellation-intent.js";
|
|
1
2
|
import { normalizeAgentRunState } from "../agent-state.js";
|
|
2
3
|
import { ConflictError, ValidationError } from "../errors.js";
|
|
3
4
|
import { createMergedAbortSignal } from "../runtime.js";
|
|
@@ -138,11 +139,12 @@ export const acquireAgentExecutionLease = async (agent, state, policy) => {
|
|
|
138
139
|
lastHeartbeat = now;
|
|
139
140
|
}
|
|
140
141
|
if (now - lastCancellationPoll >= cancellationPollMs) {
|
|
141
|
-
const latest =
|
|
142
|
+
const latest = { ...state };
|
|
143
|
+
const cancellation = await synchronizeAgentCancellation(store, latest);
|
|
142
144
|
if (stopped)
|
|
143
145
|
return;
|
|
144
146
|
lastCancellationPoll = now;
|
|
145
|
-
if (
|
|
147
|
+
if (cancellation) {
|
|
146
148
|
cancelled = normalizeAgentRunState(latest);
|
|
147
149
|
controller.abort(new Error(latest.cancellationReason ?? "Agent run was cancelled."));
|
|
148
150
|
}
|