@zhivex-ai/core 1.22.0 → 1.23.0-next.1
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 +8 -0
- package/dist/agent/children.d.ts +13 -0
- package/dist/agent/children.d.ts.map +1 -0
- package/dist/agent/children.js +75 -0
- package/dist/agent/children.js.map +1 -0
- package/dist/agent/context.d.ts +1 -1
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +4 -3
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/definition.d.ts +1 -1
- package/dist/agent/definition.d.ts.map +1 -1
- package/dist/agent/definition.js.map +1 -1
- package/dist/agent/execution.d.ts +3 -3
- package/dist/agent/execution.d.ts.map +1 -1
- package/dist/agent/execution.js +83 -74
- package/dist/agent/execution.js.map +1 -1
- package/dist/agent/instance.d.ts +12 -11
- package/dist/agent/instance.d.ts.map +1 -1
- package/dist/agent/instance.js +2 -0
- package/dist/agent/instance.js.map +1 -1
- package/dist/agent/state.d.ts.map +1 -1
- package/dist/agent/state.js +4 -0
- package/dist/agent/state.js.map +1 -1
- package/dist/agent-state.d.ts.map +1 -1
- package/dist/agent-state.js +3 -0
- package/dist/agent-state.js.map +1 -1
- package/dist/agents-entry.d.ts +1 -0
- package/dist/agents-entry.d.ts.map +1 -1
- package/dist/agents-entry.js +1 -0
- package/dist/agents-entry.js.map +1 -1
- package/dist/bounded-broadcast.d.ts +5 -2
- package/dist/bounded-broadcast.d.ts.map +1 -1
- package/dist/bounded-broadcast.js +17 -7
- package/dist/bounded-broadcast.js.map +1 -1
- package/dist/generate-object.js +2 -2
- package/dist/generate-object.js.map +1 -1
- package/dist/generate-text.d.ts.map +1 -1
- package/dist/generate-text.js +4 -3
- package/dist/generate-text.js.map +1 -1
- package/dist/safety-policy.d.ts +2 -0
- package/dist/safety-policy.d.ts.map +1 -1
- package/dist/safety-policy.js +18 -2
- package/dist/safety-policy.js.map +1 -1
- package/dist/types/agent-state.d.ts +2 -0
- package/dist/types/agent-state.d.ts.map +1 -1
- package/dist/types/agents.d.ts +13 -4
- package/dist/types/agents.d.ts.map +1 -1
- package/dist/types/generation.d.ts +6 -0
- package/dist/types/generation.d.ts.map +1 -1
- package/dist/validate-max-steps.d.ts +2 -0
- package/dist/validate-max-steps.d.ts.map +1 -0
- package/dist/validate-max-steps.js +9 -0
- package/dist/validate-max-steps.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -121,3 +121,11 @@ Object generation forwards the same tool approval policies, tool choice, context
|
|
|
121
121
|
### Recovering invalid tool arguments
|
|
122
122
|
|
|
123
123
|
`generateText`, `streamText`, and `Agent` accept `toolExecution: { validationErrorMode: "tool-result" }` to return schema errors for bounded model correction. Set `maxSteps`; agents can additionally set `policy.budget.maxToolErrors`. The default is `"throw"`, regardless of `stopOnError: false`. Invalid calls receive correlated `isError` results with `error.code: "TOOL_INPUT_VALIDATION_ERROR"` and issue codes/paths, without schema messages or received values. They never execute or request approval. Corrected calls follow the normal checks. Tools with input-dependent `isEnabled` remain strict; `stopOnError: true`, guardrails, unavailable tools and cancellation are not relaxed.
|
|
124
|
+
|
|
125
|
+
## Streaming retention and step limits
|
|
126
|
+
|
|
127
|
+
`maxSteps` must be a positive safe integer; invalid values throw `ValidationError` before generation. The default remains one step.
|
|
128
|
+
|
|
129
|
+
Text, object, and agent streams accept `streamBuffer: { maxHistory, maxSubscriberQueue, replayOverflow }`. Defaults retain 4,096 replay events and queue up to 256 events per active subscriber, with `replayOverflow: "error"`. Full replay can therefore reach its limit even with an active reader. For long responses, explicitly select `replayOverflow: "drop-oldest"`: active subscribers keep ordered delivery with backpressure, while readers starting later receive only the retained tail. `collect()` still returns the complete generated result. Retention limits count events, not tokens or bytes.
|
|
130
|
+
|
|
131
|
+
`textStream` exposes text only. Always await `collect()` after consuming it to detect provider failures; a normally ended text iterator alone does not establish success. `eventStream` exposes error events.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AgentChildRun, AgentDefinition, AgentRunState, AgentRunStore } from "../types.js";
|
|
2
|
+
export declare const runCheckpoints: WeakMap<AgentRunState, AgentRunState>;
|
|
3
|
+
export declare const childStateObserver: unique symbol;
|
|
4
|
+
export type ChildObservedAgent = AgentDefinition & {
|
|
5
|
+
[childStateObserver]?: (state: AgentRunState) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const observeChildState: (agent: AgentDefinition, state: AgentRunState) => void;
|
|
8
|
+
export declare const projectChildRun: (state: AgentRunState) => AgentChildRun;
|
|
9
|
+
export declare const upsertChildRun: (state: AgentRunState, child: AgentChildRun) => void;
|
|
10
|
+
/** Recover reverse links without executing a model or a tool. Store queries are scope-bound. */
|
|
11
|
+
export declare const reconcileChildRuns: (state: AgentRunState, store?: AgentRunStore, seen?: Set<string>) => Promise<void>;
|
|
12
|
+
export declare const loadFailureState: (state: AgentRunState, store?: AgentRunStore) => Promise<AgentRunState>;
|
|
13
|
+
//# sourceMappingURL=children.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"children.d.ts","sourceRoot":"","sources":["../../src/agent/children.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGhG,eAAO,MAAM,cAAc,uCAA8C,CAAC;AAG1E,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACvD,CAAC;AACF,eAAO,MAAM,iBAAiB,UAAW,eAAe,SAAS,aAAa,SAE7E,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,aAAa,KAAG,aAkBrD,CAAC;AAEH,eAAO,MAAM,cAAc,UAAW,aAAa,SAAS,aAAa,SAMxE,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,kBAAkB,UAAiB,aAAa,UAAU,aAAa,yBAA6B,OAAO,CAAC,IAAI,CAmB5H,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAiB,aAAa,UAAU,aAAa,KAAG,OAAO,CAAC,aAAa,CAYzG,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { countToolCallsInSteps, countToolErrors } from "./common.js";
|
|
2
|
+
export const runCheckpoints = new WeakMap();
|
|
3
|
+
// Private runtime observation also works without a store and when saving fails.
|
|
4
|
+
export const childStateObserver = Symbol("childStateObserver");
|
|
5
|
+
export const observeChildState = (agent, state) => {
|
|
6
|
+
agent[childStateObserver]?.(state);
|
|
7
|
+
};
|
|
8
|
+
export const projectChildRun = (state) => ({
|
|
9
|
+
runId: state.runId,
|
|
10
|
+
agentId: state.agentId,
|
|
11
|
+
parentRunId: state.parentRunId,
|
|
12
|
+
toolName: typeof state.metadata?.subagentToolName === "string" ? state.metadata.subagentToolName : undefined,
|
|
13
|
+
toolCallId: typeof state.metadata?.subagentToolCallId === "string" ? state.metadata.subagentToolCallId : undefined,
|
|
14
|
+
status: state.status,
|
|
15
|
+
outputText: state.outputText,
|
|
16
|
+
steps: state.currentStep,
|
|
17
|
+
toolCalls: countToolCallsInSteps(state.steps),
|
|
18
|
+
toolErrors: countToolErrors(state.toolResults),
|
|
19
|
+
usage: state.usage,
|
|
20
|
+
childRuns: state.childRuns,
|
|
21
|
+
startedAt: state.startedAt,
|
|
22
|
+
updatedAt: state.updatedAt,
|
|
23
|
+
error: state.error,
|
|
24
|
+
metadata: state.metadata,
|
|
25
|
+
...(state.status === "waiting_approval" && state.pendingApprovals.length ? { resumeState: state } : {})
|
|
26
|
+
});
|
|
27
|
+
export const upsertChildRun = (state, child) => {
|
|
28
|
+
// Identity is the run ID, not a provider tool-call ID which can repeat in later steps.
|
|
29
|
+
const children = state.childRuns ??= [];
|
|
30
|
+
const index = children.findIndex(existing => existing.runId === child.runId);
|
|
31
|
+
if (index < 0)
|
|
32
|
+
children.push(child);
|
|
33
|
+
else
|
|
34
|
+
children[index] = child;
|
|
35
|
+
};
|
|
36
|
+
/** Recover reverse links without executing a model or a tool. Store queries are scope-bound. */
|
|
37
|
+
export const reconcileChildRuns = async (state, store, seen = new Set()) => {
|
|
38
|
+
if (!store?.findByParentRunId || seen.has(state.runId))
|
|
39
|
+
return;
|
|
40
|
+
seen.add(state.runId);
|
|
41
|
+
for (const child of await store.findByParentRunId(state.runId, state.scope)) {
|
|
42
|
+
if (child.parentRunId !== state.runId || seen.has(child.runId) ||
|
|
43
|
+
child.scope?.tenantId !== state.scope?.tenantId ||
|
|
44
|
+
child.scope?.userId !== state.scope?.userId ||
|
|
45
|
+
child.scope?.namespace !== state.scope?.namespace)
|
|
46
|
+
continue;
|
|
47
|
+
await reconcileChildRuns(child, store, seen);
|
|
48
|
+
const existing = state.childRuns?.find(entry => entry.runId === child.runId);
|
|
49
|
+
// A failed save may leave the in-memory terminal observation newer than the store.
|
|
50
|
+
if (existing && ((existing.updatedAt ?? 0) > (child.updatedAt ?? 0) ||
|
|
51
|
+
(existing.status === "failed" && child.status === "running" &&
|
|
52
|
+
(existing.updatedAt ?? 0) >= (child.updatedAt ?? 0))))
|
|
53
|
+
continue;
|
|
54
|
+
const summary = projectChildRun(child);
|
|
55
|
+
upsertChildRun(state, { ...existing, ...summary, toolCallId: summary.toolCallId ?? existing?.toolCallId });
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
export const loadFailureState = async (state, store) => {
|
|
59
|
+
const checkpoint = runCheckpoints.get(state) ?? state;
|
|
60
|
+
let durable = checkpoint;
|
|
61
|
+
try {
|
|
62
|
+
durable = await store?.load(state.runId, state.scope) ?? checkpoint;
|
|
63
|
+
}
|
|
64
|
+
catch { /* preserve primary error */ }
|
|
65
|
+
// A provider response is already billable even when its checkpoint save failed.
|
|
66
|
+
// Keep its confirmed usage while retaining the store's CAS revision.
|
|
67
|
+
if (durable.status !== "cancelled" && durable.status !== "cancel_requested" &&
|
|
68
|
+
checkpoint.currentStep >= durable.currentStep && (checkpoint.updatedAt ?? 0) >= (durable.updatedAt ?? 0)) {
|
|
69
|
+
durable = { ...durable, ...checkpoint, revision: durable.revision };
|
|
70
|
+
}
|
|
71
|
+
for (const child of state.childRuns ?? [])
|
|
72
|
+
upsertChildRun(durable, child);
|
|
73
|
+
return durable;
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=children.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"children.js","sourceRoot":"","sources":["../../src/agent/children.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/context.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AgentDefinition, AgentExecutionEnvironmentBinding, AgentRunInput, AgentRunState, AgentRunStore, JsonValue, LanguageModel, ModelMessage } from "../types.js";
|
|
2
2
|
export declare const ensureValidIdempotencyInput: (input: AgentRunInput, store: AgentRunStore | undefined) => void;
|
|
3
3
|
export declare const ensureValidScope: (scope: AgentRunInput["scope"]) => void;
|
|
4
|
-
export declare const resolveContext: <TModel extends LanguageModel, TContext, TOutput>(agent: AgentDefinition<TModel, TContext, TOutput>, input: AgentRunInput<TModel, TContext
|
|
4
|
+
export declare const resolveContext: <TModel extends LanguageModel, TContext, TOutput, TContextInput>(agent: AgentDefinition<TModel, TContext, TOutput, TContextInput>, input: AgentRunInput<TModel, TContext, NoInfer<TContextInput>>) => Promise<{
|
|
5
5
|
state: AgentRunState;
|
|
6
6
|
messages: ModelMessage[];
|
|
7
7
|
remainingSteps: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,eAAe,EACf,gCAAgC,EAChC,aAAa,EACb,aAAa,EACb,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,aAAa,CAAC;AAyFrB,eAAO,MAAM,2BAA2B,UAAW,aAAa,SAAS,aAAa,GAAG,SAAS,SAYjG,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,aAAa,CAAC,OAAO,CAAC,SAU7D,CAAC;AA6HF,eAAO,MAAM,cAAc,GACzB,MAAM,SAAS,aAAa,EAC5B,QAAQ,EACR,OAAO,EACP,aAAa,SAEN,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,SACzD,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA+GpC,YAAY,EAAE;;;;EAmCzC,CAAC"}
|
package/dist/agent/context.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { validateMaxSteps } from "../validate-max-steps.js";
|
|
1
2
|
import { createAgentHandoffMessage } from "../agent-handoff-contracts.js";
|
|
2
3
|
import { createAgentExecutionEnvironmentBinding } from "../agent-harness.js";
|
|
3
4
|
import { AGENT_RUN_STATE_SCHEMA_VERSION, normalizeAgentRunState } from "../agent-state.js";
|
|
@@ -191,7 +192,7 @@ export const resolveContext = async (agent, input) => {
|
|
|
191
192
|
}
|
|
192
193
|
if (!loadedState && input.idempotencyKey) {
|
|
193
194
|
const runId = input.runId ?? randomId("run");
|
|
194
|
-
const maxSteps =
|
|
195
|
+
const maxSteps = validateMaxSteps(input.maxSteps ?? agent.maxSteps);
|
|
195
196
|
const metadata = cloneMetadata(agent.metadata, input.metadata, input.handoff?.metadata);
|
|
196
197
|
const prepared = await prepareFreshMessages(agent, input, runId);
|
|
197
198
|
const candidate = createBaseState(agent.model.provider, agent.model.modelId, prepared.messages, maxSteps, metadata, agent.id, runId, input.handoff, input.parentRunId, input.idempotencyKey, inputScope, resolveAgentOutputMode(agent), agent.harness, executionEnvironmentBinding);
|
|
@@ -224,7 +225,7 @@ export const resolveContext = async (agent, input) => {
|
|
|
224
225
|
throw new ConflictError("Agent group idempotency key belongs to a different member or agent.");
|
|
225
226
|
}
|
|
226
227
|
bindDurableRuntime(agent, input, loadedState, executionEnvironmentBinding);
|
|
227
|
-
const maxSteps = input.maxSteps ?? loadedState.maxSteps;
|
|
228
|
+
const maxSteps = validateMaxSteps(input.maxSteps ?? loadedState.maxSteps);
|
|
228
229
|
const resumed = await applyApprovalResponses(loadedState.messages, input.approvals, loadedState.pendingApprovals, loadedState.approvalHistory, agent.toolApprovalSigner);
|
|
229
230
|
return {
|
|
230
231
|
state: {
|
|
@@ -252,7 +253,7 @@ export const resolveContext = async (agent, input) => {
|
|
|
252
253
|
};
|
|
253
254
|
}
|
|
254
255
|
const runId = input.runId ?? randomId("run");
|
|
255
|
-
const maxSteps =
|
|
256
|
+
const maxSteps = validateMaxSteps(input.maxSteps ?? agent.maxSteps);
|
|
256
257
|
const prepared = await prepareFreshMessages(agent, input, runId);
|
|
257
258
|
return {
|
|
258
259
|
state: createBaseState(agent.model.provider, agent.model.modelId, prepared.messages, maxSteps, metadata, agent.id, runId, input.handoff, input.parentRunId, input.idempotencyKey, inputScope, resolveAgentOutputMode(agent), agent.harness, executionEnvironmentBinding),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { AgentDefinition, LanguageModel, PrepareSubagentsForAgentOptions } from "../types.js";
|
|
2
|
-
export declare const createAgent: <TModel extends AgentDefinition["model"], TContext = unknown, TOutput = unknown>(definition: AgentDefinition<TModel, TContext, TOutput>) => AgentDefinition<TModel, TContext, TOutput>;
|
|
2
|
+
export declare const createAgent: <TModel extends AgentDefinition["model"], TContext = unknown, TOutput = unknown, TContextInput = TContext>(definition: AgentDefinition<TModel, TContext, TOutput, TContextInput>) => AgentDefinition<TModel, TContext, TOutput, TContextInput>;
|
|
3
3
|
export declare const prepareSubagentsForAgent: <TModel extends LanguageModel>(agent: AgentDefinition<TModel>, options?: PrepareSubagentsForAgentOptions) => AgentDefinition<TModel>;
|
|
4
4
|
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/agent/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,+BAA+B,EAChC,MAAM,aAAa,CAAC;AAKrB,eAAO,MAAM,WAAW,GACtB,MAAM,SAAS,eAAe,CAAC,OAAO,CAAC,EACvC,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/agent/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,+BAA+B,EAChC,MAAM,aAAa,CAAC;AAKrB,eAAO,MAAM,WAAW,GACtB,MAAM,SAAS,eAAe,CAAC,OAAO,CAAC,EACvC,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,EACjB,aAAa,GAAG,QAAQ,cAEZ,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,KACpE,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAGzD,CAAC;AAEH,eAAO,MAAM,wBAAwB,GAAI,MAAM,SAAS,aAAa,SAC5D,eAAe,CAAC,MAAM,CAAC,YACrB,+BAA+B,KACvC,eAAe,CAAC,MAAM,CA6BxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/agent/definition.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/agent/definition.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,WAAW,GAAG,CAMzB,UAAqE,EACV,EAAE,CAAC,CAAC;IAC/D,GAAG,UAAU;IACb,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAA8B,EAC9B,OAAO,GAAoC,EAAE,EACpB,EAAE;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAC9C,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC;IAC5E,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAClF,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC;IACnE,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAC,oBAAoB,CAAC;IACxF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;IAC1D,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExE,OAAO;QACL,GAAG,KAAK;QACR,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvC,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,QAAQ;YACX,QAAQ,EAAE,aAAa,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAC3D,KAAK,EAAE;gBACL,GAAG,QAAQ,CAAC,KAAK;gBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK;gBACpC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM;gBACvC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,gBAAgB,IAAI,gBAAgB;gBACrE,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,IAAI,kBAAkB;gBAC3E,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,aAAa;gBAC5D,oBAAoB,EAAE,QAAQ,CAAC,KAAK,CAAC,oBAAoB,IAAI,oBAAoB;gBACjF,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,UAAU;gBACnD,QAAQ,EAAE,aAAa,CAAC,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;aAClE;SACF,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -5,9 +5,9 @@ declare const subAgentToolInputSchema: z.ZodObject<{
|
|
|
5
5
|
system: z.ZodOptional<z.ZodString>;
|
|
6
6
|
}, z.core.$strip>;
|
|
7
7
|
export declare const createSubAgentTool: <TModel extends LanguageModel>(options: CreateSubAgentToolOptions<TModel>) => ToolDefinition<typeof subAgentToolInputSchema, SubAgentToolOutput>;
|
|
8
|
-
export declare const runAgent: <TModel extends LanguageModel, TContext = unknown, TOutput = unknown>(agent: AgentDefinition<TModel, TContext, TOutput>, input?: AgentRunInput<TModel, TContext
|
|
9
|
-
export declare const streamAgent: <TModel extends LanguageModel, TContext = unknown, TOutput = unknown>(agent: AgentDefinition<TModel, TContext, TOutput>, input?: AgentRunInput<TModel, TContext
|
|
10
|
-
export declare const resumeAgent: <TModel extends LanguageModel, TContext = unknown, TOutput = unknown>(agent: AgentDefinition<TModel, TContext, TOutput>, input: AgentRunInput<TModel, TContext
|
|
8
|
+
export declare const runAgent: <TModel extends LanguageModel, TContext = unknown, TOutput = unknown, TContextInput = TContext>(agent: AgentDefinition<TModel, TContext, TOutput, TContextInput>, input?: AgentRunInput<TModel, TContext, NoInfer<TContextInput>>) => Promise<AgentRunOutput<TOutput>>;
|
|
9
|
+
export declare const streamAgent: <TModel extends LanguageModel, TContext = unknown, TOutput = unknown, TContextInput = TContext>(agent: AgentDefinition<TModel, TContext, TOutput, TContextInput>, input?: AgentRunInput<TModel, TContext, NoInfer<TContextInput>>) => AgentStreamResult<TOutput>;
|
|
10
|
+
export declare const resumeAgent: <TModel extends LanguageModel, TContext = unknown, TOutput = unknown, TContextInput = TContext>(agent: AgentDefinition<TModel, TContext, TOutput, TContextInput>, input: AgentRunInput<TModel, TContext, NoInfer<TContextInput>> & {
|
|
11
11
|
state: AgentRunState;
|
|
12
12
|
}) => Promise<AgentRunOutput<TOutput>>;
|
|
13
13
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/agent/execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/agent/execution.ts"],"names":[],"mappings":"AAgDA,OAAO,EACL,CAAC,EACF,MAAM,KAAK,CAAC;AACb,OAAO,KAAK,EAGV,eAAe,EAGf,aAAa,EACb,cAAc,EACd,aAAa,EAIb,iBAAiB,EACjB,yBAAyB,EAGzB,aAAa,EAGb,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AA0DrB,QAAA,MAAM,uBAAuB;;;iBAG3B,CAAC;AAaH,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,aAAa,WACpD,yBAAyB,CAAC,MAAM,CAAC,KACzC,cAAc,CAAC,OAAO,uBAAuB,EAAE,kBAAkB,CAyJnE,CAAC;AA4TF,eAAO,MAAM,QAAQ,GACnB,MAAM,SAAS,aAAa,EAC5B,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,EACjB,aAAa,GAAG,QAAQ,SAEjB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,UACzD,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,KAC7D,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAsOjC,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,SAAS,aAAa,EAC5B,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,EACjB,aAAa,GAAG,QAAQ,SAEjB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,UACzD,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,KAC7D,iBAAiB,CAAC,OAAO,CAqc3B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,SAAS,aAAa,EAC5B,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,EACjB,aAAa,GAAG,QAAQ,SAEjB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,SACzD,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,KACxF,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAqE,CAAC"}
|
package/dist/agent/execution.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { childStateObserver, loadFailureState, runCheckpoints, observeChildState, projectChildRun, reconcileChildRuns, upsertChildRun } from "./children.js";
|
|
2
|
+
import { validateMaxSteps } from "../validate-max-steps.js";
|
|
1
3
|
import { createRunViewSink, runViewSink, runViewParent } from "../agent-run-view.js";
|
|
2
4
|
import { createHash } from "node:crypto";
|
|
3
5
|
import { getAgentApprovalRequests } from "../agent-approval.js";
|
|
@@ -11,7 +13,7 @@ import { evaluateAgentBudgetPreflight, getAgentBudgetStatus } from "../safety-po
|
|
|
11
13
|
import { ToolExecutionSuspendedError } from "../tool-execution-suspension.js";
|
|
12
14
|
import { toToolSet } from "../tool-registry.js";
|
|
13
15
|
import { z } from "zod";
|
|
14
|
-
import { approvalsFromEvents, cloneMetadata, cloneState,
|
|
16
|
+
import { approvalsFromEvents, cloneMetadata, cloneState, createFailedState, createTerminalState, joinInstructions, mapSteps, messagePrefixLength, normalizeApprovalStatus, randomId, resolveAgentOutputMode, snapshotRequest, snapshotResponse, toOutput } from "./common.js";
|
|
15
17
|
import { AgentPolicyTimeoutError, acquireAgentExecutionLease, createAgentAbortContext, resolveRunPolicy, withAgentPolicyTimeout } from "./lifecycle.js";
|
|
16
18
|
import { claimAgentExecution, finalizeState, persistState } from "./state.js";
|
|
17
19
|
import { resolveContext } from "./context.js";
|
|
@@ -73,6 +75,8 @@ export const createSubAgentTool = (options) => {
|
|
|
73
75
|
childMetadata.parentAgentId = options.parentAgentId;
|
|
74
76
|
}
|
|
75
77
|
const toolCallId = executionContext?.toolCall.id;
|
|
78
|
+
if (toolCallId)
|
|
79
|
+
childMetadata.subagentToolCallId = toolCallId;
|
|
76
80
|
const childIdempotencyKey = options.parentRunId &&
|
|
77
81
|
toolCallId &&
|
|
78
82
|
executionContext &&
|
|
@@ -93,60 +97,58 @@ export const createSubAgentTool = (options) => {
|
|
|
93
97
|
reason: resolution.reason
|
|
94
98
|
}))
|
|
95
99
|
: [];
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
: await runAgent(options.agent, {
|
|
105
|
-
prompt: input.prompt,
|
|
106
|
-
system: joinInstructions(options.system, input.system),
|
|
107
|
-
parentRunId: options.parentRunId,
|
|
108
|
-
idempotencyKey: childIdempotencyKey,
|
|
109
|
-
scope: options.scope,
|
|
110
|
-
context: executionContext?.context,
|
|
111
|
-
maxSteps: options.maxSteps,
|
|
112
|
-
metadata: cloneMetadata(options.metadata, childMetadata)
|
|
113
|
-
});
|
|
114
|
-
const childRun = {
|
|
115
|
-
runId: output.state.runId,
|
|
116
|
-
status: output.status,
|
|
117
|
-
outputText: output.outputText,
|
|
118
|
-
steps: output.state.currentStep,
|
|
119
|
-
toolCalls: countToolCallsInSteps(output.steps),
|
|
120
|
-
toolErrors: countToolErrors(output.toolResults)
|
|
100
|
+
let latestState;
|
|
101
|
+
const observedAgent = {
|
|
102
|
+
...options.agent,
|
|
103
|
+
[childStateObserver]: (childState) => {
|
|
104
|
+
latestState = childState;
|
|
105
|
+
if (runtimeState)
|
|
106
|
+
upsertChildRun(runtimeState, projectChildRun(childState));
|
|
107
|
+
}
|
|
121
108
|
};
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
109
|
+
let output;
|
|
110
|
+
try {
|
|
111
|
+
output = checkpoint?.resumeState
|
|
112
|
+
? await resumeAgent(observedAgent, {
|
|
113
|
+
state: checkpoint.resumeState,
|
|
114
|
+
approvals: childApprovalResponses,
|
|
115
|
+
scope: options.scope,
|
|
116
|
+
context: executionContext?.context,
|
|
117
|
+
abortSignal: executionContext?.abortSignal,
|
|
118
|
+
maxSteps: options.maxSteps
|
|
119
|
+
})
|
|
120
|
+
: await runAgent(observedAgent, {
|
|
121
|
+
prompt: input.prompt,
|
|
122
|
+
system: joinInstructions(options.system, input.system),
|
|
123
|
+
parentRunId: options.parentRunId,
|
|
124
|
+
idempotencyKey: childIdempotencyKey,
|
|
125
|
+
scope: options.scope,
|
|
126
|
+
context: executionContext?.context,
|
|
127
|
+
abortSignal: executionContext?.abortSignal,
|
|
128
|
+
maxSteps: options.maxSteps,
|
|
129
|
+
metadata: cloneMetadata(options.metadata, childMetadata)
|
|
130
|
+
});
|
|
127
131
|
}
|
|
128
|
-
|
|
129
|
-
|
|
132
|
+
catch (error) {
|
|
133
|
+
if (latestState) {
|
|
134
|
+
if (latestState.status === "running") {
|
|
135
|
+
latestState = createFailedState(latestState, error);
|
|
136
|
+
try {
|
|
137
|
+
await persistState(observedAgent, latestState);
|
|
138
|
+
}
|
|
139
|
+
catch { /* preserve primary error */ }
|
|
140
|
+
}
|
|
141
|
+
// Terminal notification must never replace the original execution error.
|
|
142
|
+
try {
|
|
143
|
+
await options.onFinish?.(projectChildRun(latestState));
|
|
144
|
+
}
|
|
145
|
+
catch { /* preserve primary error */ }
|
|
146
|
+
}
|
|
147
|
+
throw error;
|
|
130
148
|
}
|
|
149
|
+
const childRun = projectChildRun(output.state);
|
|
131
150
|
childRun.toolName = toolName;
|
|
132
|
-
|
|
133
|
-
childRun.usage = output.usage;
|
|
134
|
-
}
|
|
135
|
-
if (output.state.startedAt !== undefined) {
|
|
136
|
-
childRun.startedAt = output.state.startedAt;
|
|
137
|
-
}
|
|
138
|
-
if (output.state.updatedAt !== undefined) {
|
|
139
|
-
childRun.updatedAt = output.state.updatedAt;
|
|
140
|
-
}
|
|
141
|
-
if (output.error) {
|
|
142
|
-
childRun.error = output.error;
|
|
143
|
-
}
|
|
144
|
-
if (output.state.metadata) {
|
|
145
|
-
childRun.metadata = output.state.metadata;
|
|
146
|
-
}
|
|
147
|
-
if (output.status === "waiting_approval" && output.state.pendingApprovals.length) {
|
|
148
|
-
childRun.resumeState = output.state;
|
|
149
|
-
}
|
|
151
|
+
childRun.toolCallId = toolCallId;
|
|
150
152
|
await options.onFinish?.(childRun);
|
|
151
153
|
if (childRun.resumeState) {
|
|
152
154
|
const approvals = childRun.resumeState.pendingApprovals.map((approval) => {
|
|
@@ -182,6 +184,7 @@ export const createSubAgentTool = (options) => {
|
|
|
182
184
|
};
|
|
183
185
|
const createGenerateOptions = (agent, state, input, messages, maxSteps, context, executionEnvironmentSession, abortSignal = input.abortSignal, onCompaction) => {
|
|
184
186
|
const tools = { ...(toToolSet(input.tools ?? agent.tools) ?? {}) };
|
|
187
|
+
state.childRuns ??= [];
|
|
185
188
|
for (const subagent of agent.subagents ?? []) {
|
|
186
189
|
const subagentTool = createSubAgentTool({
|
|
187
190
|
...subagent,
|
|
@@ -211,12 +214,7 @@ const createGenerateOptions = (agent, state, input, messages, maxSteps, context,
|
|
|
211
214
|
});
|
|
212
215
|
},
|
|
213
216
|
onFinish: async (childRun) => {
|
|
214
|
-
state
|
|
215
|
-
...(state.childRuns ?? []).filter((existing) => childRun.toolCallId
|
|
216
|
-
? existing.toolCallId !== childRun.toolCallId
|
|
217
|
-
: existing.runId !== childRun.runId),
|
|
218
|
-
childRun
|
|
219
|
-
];
|
|
217
|
+
upsertChildRun(state, childRun);
|
|
220
218
|
await emitTelemetryEvent(agent, {
|
|
221
219
|
type: "subagent-finish",
|
|
222
220
|
runId: state.runId,
|
|
@@ -379,6 +377,8 @@ const createGenerateOptions = (agent, state, input, messages, maxSteps, context,
|
|
|
379
377
|
error: undefined,
|
|
380
378
|
updatedAt: Date.now()
|
|
381
379
|
};
|
|
380
|
+
runCheckpoints.set(state, checkpointState);
|
|
381
|
+
observeChildState(agent, checkpointState);
|
|
382
382
|
if (agent.store) {
|
|
383
383
|
await persistState(agent, checkpointState, runPolicy);
|
|
384
384
|
state.revision = checkpointState.revision;
|
|
@@ -405,6 +405,8 @@ const createGenerateOptions = (agent, state, input, messages, maxSteps, context,
|
|
|
405
405
|
toolResults: [...checkpointState.toolResults, ...toolResults],
|
|
406
406
|
updatedAt: Date.now()
|
|
407
407
|
};
|
|
408
|
+
runCheckpoints.set(state, checkpointState);
|
|
409
|
+
observeChildState(agent, checkpointState);
|
|
408
410
|
if (agent.store) {
|
|
409
411
|
await persistState(agent, checkpointState, runPolicy);
|
|
410
412
|
state.revision = checkpointState.revision;
|
|
@@ -437,6 +439,7 @@ const createGenerateOptions = (agent, state, input, messages, maxSteps, context,
|
|
|
437
439
|
}
|
|
438
440
|
},
|
|
439
441
|
maxSteps,
|
|
442
|
+
streamBuffer: input.streamBuffer ?? agent.streamBuffer,
|
|
440
443
|
temperature: input.temperature ?? agent.temperature,
|
|
441
444
|
maxTokens,
|
|
442
445
|
reasoning: input.reasoning ?? agent.reasoning,
|
|
@@ -478,10 +481,15 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
478
481
|
}
|
|
479
482
|
return output;
|
|
480
483
|
};
|
|
481
|
-
await emitInvocationStartTelemetry(agent, telemetryRunId, invocationStartedAt,
|
|
484
|
+
await emitInvocationStartTelemetry(agent, telemetryRunId, invocationStartedAt, validateMaxSteps(input.maxSteps ?? input.state?.maxSteps ?? agent.maxSteps));
|
|
482
485
|
try {
|
|
483
486
|
const context = await resolveContext(agent, invocationInput);
|
|
487
|
+
await reconcileChildRuns(context.state, agent.store);
|
|
488
|
+
observeChildState(agent, context.state);
|
|
484
489
|
const currentStatus = normalizeApprovalStatus(context.state.status);
|
|
490
|
+
if (!context.fresh && currentStatus === "failed" && input.idempotencyKey && childStateObserver in agent) {
|
|
491
|
+
throw new Error(context.state.error?.message ?? "Subagent previously failed.");
|
|
492
|
+
}
|
|
485
493
|
const policy = resolveRunPolicy(agent, input);
|
|
486
494
|
if (currentStatus === "completed" ||
|
|
487
495
|
currentStatus === "cancelled" ||
|
|
@@ -617,20 +625,19 @@ export const runAgent = async (agent, input = {}) => {
|
|
|
617
625
|
if (error instanceof AgentPolicyTimeoutError || abortContext.isTimedOut()) {
|
|
618
626
|
const status = policy?.onTimeout === "cancel-requested" ? "cancel_requested" : "timed_out";
|
|
619
627
|
const message = error instanceof Error ? error.message : `Agent run timed out after ${policy?.timeoutMs}ms.`;
|
|
620
|
-
const durableState = agent.store
|
|
621
|
-
? normalizeAgentRunState((await agent.store.load(context.state.runId, context.state.scope)) ?? context.state)
|
|
622
|
-
: context.state;
|
|
628
|
+
const durableState = await loadFailureState(context.state, agent.store);
|
|
623
629
|
const timedOutState = createTerminalState(durableState, status, message);
|
|
624
630
|
await persistState(agent, timedOutState, policy);
|
|
625
631
|
await emitRunFinishTelemetry(agent, timedOutState);
|
|
626
632
|
executionEnvironmentStatus = timedOutState.status;
|
|
627
633
|
return returnInvocationOutput(toOutput(timedOutState));
|
|
628
634
|
}
|
|
629
|
-
const durableState = agent.store
|
|
630
|
-
? normalizeAgentRunState((await agent.store.load(context.state.runId, context.state.scope)) ?? context.state)
|
|
631
|
-
: context.state;
|
|
635
|
+
const durableState = await loadFailureState(context.state, agent.store);
|
|
632
636
|
const failedState = createFailedState(durableState, error);
|
|
633
|
-
|
|
637
|
+
try {
|
|
638
|
+
await persistState(agent, failedState, policy);
|
|
639
|
+
}
|
|
640
|
+
catch { /* preserve primary error */ }
|
|
634
641
|
await emitRunFinishTelemetry(agent, failedState);
|
|
635
642
|
executionEnvironmentStatus = failedState.status;
|
|
636
643
|
throw error;
|
|
@@ -660,7 +667,8 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
660
667
|
: { ...input, runId: telemetryRunId };
|
|
661
668
|
const policy = resolveRunPolicy(agent, input);
|
|
662
669
|
const broadcast = new BoundedReplayBroadcast({
|
|
663
|
-
|
|
670
|
+
...(input.streamBuffer ?? agent.streamBuffer),
|
|
671
|
+
maxHistory: policy?.maxStreamEvents ?? input.streamBuffer?.maxHistory ?? agent.streamBuffer?.maxHistory ?? 4096
|
|
664
672
|
});
|
|
665
673
|
let viewReady = false;
|
|
666
674
|
const pendingViews = new Map();
|
|
@@ -693,8 +701,10 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
693
701
|
return invocationFinishPromise;
|
|
694
702
|
};
|
|
695
703
|
const runner = (async () => {
|
|
696
|
-
await emitInvocationStartTelemetry(agent, telemetryRunId, invocationStartedAt,
|
|
704
|
+
await emitInvocationStartTelemetry(agent, telemetryRunId, invocationStartedAt, validateMaxSteps(input.maxSteps ?? input.state?.maxSteps ?? agent.maxSteps));
|
|
697
705
|
const context = await resolveContext(agent, invocationInput);
|
|
706
|
+
await reconcileChildRuns(context.state, agent.store);
|
|
707
|
+
observeChildState(agent, context.state);
|
|
698
708
|
const currentStatus = normalizeApprovalStatus(context.state.status);
|
|
699
709
|
const supportsLeases = Boolean(agent.store?.acquireLease && agent.store.renewLease && agent.store.releaseLease);
|
|
700
710
|
if (!context.fresh && currentStatus === "running" && !supportsLeases) {
|
|
@@ -985,9 +995,7 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
985
995
|
if (error instanceof AgentPolicyTimeoutError || abortContext.isTimedOut()) {
|
|
986
996
|
const status = policy?.onTimeout === "cancel-requested" ? "cancel_requested" : "timed_out";
|
|
987
997
|
const message = error instanceof Error ? error.message : `Agent run timed out after ${policy?.timeoutMs}ms.`;
|
|
988
|
-
const durableState = agent.store
|
|
989
|
-
? normalizeAgentRunState((await agent.store.load(context.state.runId, context.state.scope)) ?? context.state)
|
|
990
|
-
: context.state;
|
|
998
|
+
const durableState = await loadFailureState(context.state, agent.store);
|
|
991
999
|
const timedOutState = createTerminalState(durableState, status, message);
|
|
992
1000
|
await persistState(agent, timedOutState, policy);
|
|
993
1001
|
await emitRunFinishTelemetry(agent, timedOutState);
|
|
@@ -1004,11 +1012,12 @@ export const streamAgent = (agent, input = {}) => {
|
|
|
1004
1012
|
executionEnvironmentStatus = timedOutState.status;
|
|
1005
1013
|
return toOutput(timedOutState);
|
|
1006
1014
|
}
|
|
1007
|
-
const durableState = agent.store
|
|
1008
|
-
? normalizeAgentRunState((await agent.store.load(context.state.runId, context.state.scope)) ?? context.state)
|
|
1009
|
-
: context.state;
|
|
1015
|
+
const durableState = await loadFailureState(context.state, agent.store);
|
|
1010
1016
|
const failedState = createFailedState(durableState, error);
|
|
1011
|
-
|
|
1017
|
+
try {
|
|
1018
|
+
await persistState(agent, failedState, policy);
|
|
1019
|
+
}
|
|
1020
|
+
catch { /* preserve primary error */ }
|
|
1012
1021
|
await emitRunFinishTelemetry(agent, failedState);
|
|
1013
1022
|
await publish({
|
|
1014
1023
|
type: "error",
|