@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.
Files changed (54) hide show
  1. package/README.md +8 -0
  2. package/dist/agent/children.d.ts +13 -0
  3. package/dist/agent/children.d.ts.map +1 -0
  4. package/dist/agent/children.js +75 -0
  5. package/dist/agent/children.js.map +1 -0
  6. package/dist/agent/context.d.ts +1 -1
  7. package/dist/agent/context.d.ts.map +1 -1
  8. package/dist/agent/context.js +4 -3
  9. package/dist/agent/context.js.map +1 -1
  10. package/dist/agent/definition.d.ts +1 -1
  11. package/dist/agent/definition.d.ts.map +1 -1
  12. package/dist/agent/definition.js.map +1 -1
  13. package/dist/agent/execution.d.ts +3 -3
  14. package/dist/agent/execution.d.ts.map +1 -1
  15. package/dist/agent/execution.js +83 -74
  16. package/dist/agent/execution.js.map +1 -1
  17. package/dist/agent/instance.d.ts +12 -11
  18. package/dist/agent/instance.d.ts.map +1 -1
  19. package/dist/agent/instance.js +2 -0
  20. package/dist/agent/instance.js.map +1 -1
  21. package/dist/agent/state.d.ts.map +1 -1
  22. package/dist/agent/state.js +4 -0
  23. package/dist/agent/state.js.map +1 -1
  24. package/dist/agent-state.d.ts.map +1 -1
  25. package/dist/agent-state.js +3 -0
  26. package/dist/agent-state.js.map +1 -1
  27. package/dist/agents-entry.d.ts +1 -0
  28. package/dist/agents-entry.d.ts.map +1 -1
  29. package/dist/agents-entry.js +1 -0
  30. package/dist/agents-entry.js.map +1 -1
  31. package/dist/bounded-broadcast.d.ts +5 -2
  32. package/dist/bounded-broadcast.d.ts.map +1 -1
  33. package/dist/bounded-broadcast.js +17 -7
  34. package/dist/bounded-broadcast.js.map +1 -1
  35. package/dist/generate-object.js +2 -2
  36. package/dist/generate-object.js.map +1 -1
  37. package/dist/generate-text.d.ts.map +1 -1
  38. package/dist/generate-text.js +4 -3
  39. package/dist/generate-text.js.map +1 -1
  40. package/dist/safety-policy.d.ts +2 -0
  41. package/dist/safety-policy.d.ts.map +1 -1
  42. package/dist/safety-policy.js +18 -2
  43. package/dist/safety-policy.js.map +1 -1
  44. package/dist/types/agent-state.d.ts +2 -0
  45. package/dist/types/agent-state.d.ts.map +1 -1
  46. package/dist/types/agents.d.ts +13 -4
  47. package/dist/types/agents.d.ts.map +1 -1
  48. package/dist/types/generation.d.ts +6 -0
  49. package/dist/types/generation.d.ts.map +1 -1
  50. package/dist/validate-max-steps.d.ts +2 -0
  51. package/dist/validate-max-steps.d.ts.map +1 -0
  52. package/dist/validate-max-steps.js +9 -0
  53. package/dist/validate-max-steps.js.map +1 -0
  54. 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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"}
@@ -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>) => Promise<{
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":"AAiBA,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,SAEA,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,SAC1C,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA+GZ,YAAY,EAAE;;;;EAmCzC,CAAC"}
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"}
@@ -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 = Math.max(1, input.maxSteps ?? agent.maxSteps ?? 1);
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 = Math.max(1, input.maxSteps ?? agent.maxSteps ?? 1);
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,cAEL,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KACrD,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAG1C,CAAC;AAEH,eAAO,MAAM,wBAAwB,GAAI,MAAM,SAAS,aAAa,SAC5D,eAAe,CAAC,MAAM,CAAC,YACrB,+BAA+B,KACvC,eAAe,CAAC,MAAM,CA6BxB,CAAC"}
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,CAKzB,UAAsD,EACV,EAAE,CAAC,CAAC;IAChD,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"}
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>) => Promise<AgentRunOutput<TOutput>>;
9
- export declare const streamAgent: <TModel extends LanguageModel, TContext = unknown, TOutput = unknown>(agent: AgentDefinition<TModel, TContext, TOutput>, input?: AgentRunInput<TModel, TContext>) => AgentStreamResult<TOutput>;
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":"AA8CA,OAAO,EACL,CAAC,EACF,MAAM,KAAK,CAAC;AACb,OAAO,KAAK,EAIV,eAAe,EAGf,aAAa,EACb,cAAc,EACd,aAAa,EAIb,iBAAiB,EACjB,yBAAyB,EAGzB,aAAa,EAGb,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AA4DrB,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,CAkKnE,CAAC;AA4TF,eAAO,MAAM,QAAQ,GACnB,MAAM,SAAS,aAAa,EAC5B,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,SAEV,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,UAC1C,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KACrC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAqOjC,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,SAAS,aAAa,EAC5B,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,SAEV,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,UAC1C,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KACrC,iBAAiB,CAAC,OAAO,CAsc3B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,SAAS,aAAa,EAC5B,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,SAEV,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,SAC1C,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,KAChE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAsD,CAAC"}
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"}
@@ -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, countToolCallsInSteps, countToolErrors, createFailedState, createTerminalState, joinInstructions, mapSteps, messagePrefixLength, normalizeApprovalStatus, randomId, resolveAgentOutputMode, snapshotRequest, snapshotResponse, toOutput } from "./common.js";
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
- const output = checkpoint?.resumeState
97
- ? await resumeAgent(options.agent, {
98
- state: checkpoint.resumeState,
99
- approvals: childApprovalResponses,
100
- scope: options.scope,
101
- context: executionContext?.context,
102
- maxSteps: options.maxSteps
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
- if (toolCallId) {
123
- childRun.toolCallId = toolCallId;
124
- }
125
- if (output.state.agentId) {
126
- childRun.agentId = output.state.agentId;
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
- if (options.parentRunId) {
129
- childRun.parentRunId = options.parentRunId;
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
- if (output.usage) {
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.childRuns = [
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, Math.max(1, input.maxSteps ?? input.state?.maxSteps ?? agent.maxSteps ?? 1));
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
- await persistState(agent, failedState, policy);
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
- maxHistory: policy?.maxStreamEvents ?? 4096
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, Math.max(1, input.maxSteps ?? input.state?.maxSteps ?? agent.maxSteps ?? 1));
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
- await persistState(agent, failedState, policy);
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",