@e2edev/e2e 0.2.0 → 0.3.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.
Files changed (168) hide show
  1. package/dist/agent/act.d.ts.map +1 -1
  2. package/dist/agent/act.js +89 -28
  3. package/dist/agent/act.js.map +1 -1
  4. package/dist/agent/actions.d.ts +15 -0
  5. package/dist/agent/actions.d.ts.map +1 -1
  6. package/dist/agent/actions.js +59 -1
  7. package/dist/agent/actions.js.map +1 -1
  8. package/dist/agent/default-agent.d.ts +34 -4
  9. package/dist/agent/default-agent.d.ts.map +1 -1
  10. package/dist/agent/default-agent.js +18 -127
  11. package/dist/agent/default-agent.js.map +1 -1
  12. package/dist/agent/derived.d.ts +17 -0
  13. package/dist/agent/derived.d.ts.map +1 -0
  14. package/dist/agent/derived.js +45 -0
  15. package/dist/agent/derived.js.map +1 -0
  16. package/dist/agent/executor.d.ts +116 -2
  17. package/dist/agent/executor.d.ts.map +1 -1
  18. package/dist/agent/executor.js.map +1 -1
  19. package/dist/agent/index.js +1 -1
  20. package/dist/agent/index.js.map +1 -1
  21. package/dist/agent/invocation.d.ts +3 -2
  22. package/dist/agent/invocation.d.ts.map +1 -1
  23. package/dist/agent/invocation.js +12 -12
  24. package/dist/agent/invocation.js.map +1 -1
  25. package/dist/agent/ledger.d.ts +14 -4
  26. package/dist/agent/ledger.d.ts.map +1 -1
  27. package/dist/agent/ledger.js +26 -5
  28. package/dist/agent/ledger.js.map +1 -1
  29. package/dist/agent/loop-guards.d.ts +14 -1
  30. package/dist/agent/loop-guards.d.ts.map +1 -1
  31. package/dist/agent/loop-guards.js +11 -8
  32. package/dist/agent/loop-guards.js.map +1 -1
  33. package/dist/agent/observation.d.ts +26 -7
  34. package/dist/agent/observation.d.ts.map +1 -1
  35. package/dist/agent/observation.js +51 -5
  36. package/dist/agent/observation.js.map +1 -1
  37. package/dist/agent/primitives.d.ts +86 -0
  38. package/dist/agent/primitives.d.ts.map +1 -0
  39. package/dist/agent/primitives.js +255 -0
  40. package/dist/agent/primitives.js.map +1 -0
  41. package/dist/agent/prompts.d.ts.map +1 -1
  42. package/dist/agent/prompts.js.map +1 -1
  43. package/dist/agent/public.d.ts +6 -3
  44. package/dist/agent/public.d.ts.map +1 -1
  45. package/dist/agent/public.js +4 -2
  46. package/dist/agent/public.js.map +1 -1
  47. package/dist/agent/replay.d.ts +1 -1
  48. package/dist/agent/replay.d.ts.map +1 -1
  49. package/dist/agent/replay.js +19 -2
  50. package/dist/agent/replay.js.map +1 -1
  51. package/dist/agent/step-cache.d.ts +3 -0
  52. package/dist/agent/step-cache.d.ts.map +1 -1
  53. package/dist/agent/step-cache.js +35 -3
  54. package/dist/agent/step-cache.js.map +1 -1
  55. package/dist/agent/tool-loop.d.ts +59 -5
  56. package/dist/agent/tool-loop.d.ts.map +1 -1
  57. package/dist/agent/tool-loop.js +77 -105
  58. package/dist/agent/tool-loop.js.map +1 -1
  59. package/dist/backend/index.d.ts +50 -1
  60. package/dist/backend/index.d.ts.map +1 -1
  61. package/dist/backend/index.js +2 -0
  62. package/dist/backend/index.js.map +1 -1
  63. package/dist/cache/recorder.d.ts +2 -0
  64. package/dist/cache/recorder.d.ts.map +1 -1
  65. package/dist/cache/recorder.js +4 -1
  66. package/dist/cache/recorder.js.map +1 -1
  67. package/dist/cache/relocate.d.ts.map +1 -1
  68. package/dist/cache/relocate.js +11 -2
  69. package/dist/cache/relocate.js.map +1 -1
  70. package/dist/cache/trace.d.ts +11 -0
  71. package/dist/cache/trace.d.ts.map +1 -1
  72. package/dist/cache/trace.js +9 -0
  73. package/dist/cache/trace.js.map +1 -1
  74. package/dist/cli/index.d.ts.map +1 -1
  75. package/dist/cli/index.js +28 -18
  76. package/dist/cli/index.js.map +1 -1
  77. package/dist/cli/init.d.ts.map +1 -1
  78. package/dist/cli/init.js +32 -9
  79. package/dist/cli/init.js.map +1 -1
  80. package/dist/cli/signals.d.ts +23 -0
  81. package/dist/cli/signals.d.ts.map +1 -0
  82. package/dist/cli/signals.js +42 -0
  83. package/dist/cli/signals.js.map +1 -0
  84. package/dist/collect/registry.d.ts +14 -4
  85. package/dist/collect/registry.d.ts.map +1 -1
  86. package/dist/collect/registry.js +10 -10
  87. package/dist/collect/registry.js.map +1 -1
  88. package/dist/config/resolve.d.ts +0 -1
  89. package/dist/config/resolve.d.ts.map +1 -1
  90. package/dist/config/resolve.js +4 -14
  91. package/dist/config/resolve.js.map +1 -1
  92. package/dist/index.d.ts +3 -2
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +1 -1
  95. package/dist/index.js.map +1 -1
  96. package/dist/internal/errors.d.ts +9 -0
  97. package/dist/internal/errors.d.ts.map +1 -1
  98. package/dist/internal/errors.js +15 -0
  99. package/dist/internal/errors.js.map +1 -1
  100. package/dist/internal/time.d.ts +5 -0
  101. package/dist/internal/time.d.ts.map +1 -1
  102. package/dist/internal/time.js +22 -0
  103. package/dist/internal/time.js.map +1 -1
  104. package/dist/internal/urls.d.ts +2 -1
  105. package/dist/internal/urls.d.ts.map +1 -1
  106. package/dist/internal/urls.js +22 -2
  107. package/dist/internal/urls.js.map +1 -1
  108. package/dist/locator/engine.d.ts +5 -3
  109. package/dist/locator/engine.d.ts.map +1 -1
  110. package/dist/locator/engine.js +7 -6
  111. package/dist/locator/engine.js.map +1 -1
  112. package/dist/report/build.d.ts +0 -1
  113. package/dist/report/build.d.ts.map +1 -1
  114. package/dist/report/build.js +0 -1
  115. package/dist/report/build.js.map +1 -1
  116. package/dist/report/list.d.ts +2 -0
  117. package/dist/report/list.d.ts.map +1 -1
  118. package/dist/report/list.js +12 -0
  119. package/dist/report/list.js.map +1 -1
  120. package/dist/report/live-status.d.ts.map +1 -1
  121. package/dist/report/live-status.js +2 -1
  122. package/dist/report/live-status.js.map +1 -1
  123. package/dist/run/budget.d.ts +25 -0
  124. package/dist/run/budget.d.ts.map +1 -0
  125. package/dist/run/budget.js +38 -0
  126. package/dist/run/budget.js.map +1 -0
  127. package/dist/run/events.d.ts +13 -0
  128. package/dist/run/events.d.ts.map +1 -1
  129. package/dist/run/events.js.map +1 -1
  130. package/dist/run/execute.d.ts +8 -0
  131. package/dist/run/execute.d.ts.map +1 -1
  132. package/dist/run/execute.js +53 -8
  133. package/dist/run/execute.js.map +1 -1
  134. package/dist/run/fixtures.d.ts +6 -3
  135. package/dist/run/fixtures.d.ts.map +1 -1
  136. package/dist/run/fixtures.js +7 -5
  137. package/dist/run/fixtures.js.map +1 -1
  138. package/dist/run/in-process.d.ts.map +1 -1
  139. package/dist/run/in-process.js +11 -2
  140. package/dist/run/in-process.js.map +1 -1
  141. package/dist/run/realm.d.ts +43 -8
  142. package/dist/run/realm.d.ts.map +1 -1
  143. package/dist/run/realm.js +67 -24
  144. package/dist/run/realm.js.map +1 -1
  145. package/dist/run/runner.d.ts +8 -0
  146. package/dist/run/runner.d.ts.map +1 -1
  147. package/dist/run/runner.js +93 -25
  148. package/dist/run/runner.js.map +1 -1
  149. package/dist/run/scheduler.d.ts +8 -0
  150. package/dist/run/scheduler.d.ts.map +1 -1
  151. package/dist/run/scheduler.js +37 -3
  152. package/dist/run/scheduler.js.map +1 -1
  153. package/dist/run/serial.d.ts +2 -0
  154. package/dist/run/serial.d.ts.map +1 -1
  155. package/dist/run/serial.js +10 -0
  156. package/dist/run/serial.js.map +1 -1
  157. package/dist/run/worker/entry.js +17 -2
  158. package/dist/run/worker/entry.js.map +1 -1
  159. package/dist/run/worker/protocol.d.ts +9 -1
  160. package/dist/run/worker/protocol.d.ts.map +1 -1
  161. package/dist/run/worker/protocol.js.map +1 -1
  162. package/dist/run/worker/session.d.ts +12 -0
  163. package/dist/run/worker/session.d.ts.map +1 -1
  164. package/dist/run/worker/session.js +23 -1
  165. package/dist/run/worker/session.js.map +1 -1
  166. package/dist/types.d.ts +0 -1
  167. package/dist/types.d.ts.map +1 -1
  168. package/package.json +2 -2
@@ -13,7 +13,18 @@
13
13
  import type { ModelMessage, ToolSet } from 'ai';
14
14
  import { type SdkLanguageModel } from '../config/agent.ts';
15
15
  import { AgentError } from './error.ts';
16
- import { type StepExecutor, type StepExecutorContext } from './executor.ts';
16
+ import { type StepExecutor, type StepExecutorContext, type StepVerdict } from './executor.ts';
17
+ import { type LoopGuardThresholds } from './loop-guards.ts';
18
+ /**
19
+ * Wind-down policy: when the loop tells the model to wrap up. `turns` is the
20
+ * remaining-turn count that triggers the notice; `clockMs` the remaining step
21
+ * time under which the loop forces a verdict. `false` disables both notices;
22
+ * the harness budget and deadline still end the step.
23
+ */
24
+ export type WindDownPolicy = false | {
25
+ readonly turns?: number;
26
+ readonly clockMs?: number;
27
+ };
17
28
  /** Loop services the executor's tool bodies run under. */
18
29
  export interface ToolLoopHelpers {
19
30
  /**
@@ -39,12 +50,55 @@ export interface ToolLoopExecutorOptions {
39
50
  readonly system?: string;
40
51
  /** Builds the step's tool vocabulary; `complete_step` is added by the chassis. */
41
52
  readonly tools: (context: StepExecutorContext, helpers: ToolLoopHelpers) => ToolSet;
42
- /** Builds the first user message of the step. */
43
- readonly buildPrompt: (context: StepExecutorContext) => string | Promise<string>;
53
+ /**
54
+ * Builds the step's opening prompt: one user message, or a whole message
55
+ * history ending in the step's request — how an executor carries a
56
+ * conversation across the steps of an attempt (`context.attempt.memory`).
57
+ */
58
+ readonly buildPrompt: (context: StepExecutorContext) => string | ModelMessage[] | Promise<string | ModelMessage[]>;
59
+ /**
60
+ * Runs once the loop has ended, with the complete message history of the
61
+ * step (opening prompt plus every generated turn) and the verdict, when the
62
+ * model reached one. The place to persist history for a later step.
63
+ */
64
+ readonly onConclude?: (context: StepExecutorContext, outcome: {
65
+ readonly messages: ModelMessage[];
66
+ readonly verdict: StepVerdict | undefined;
67
+ }) => void | Promise<void>;
68
+ /**
69
+ * Loop-guard thresholds, merged over the defaults; `false` disables the
70
+ * guards. The harness budgets remain the outer bound either way.
71
+ */
72
+ readonly loopGuards?: false | Partial<LoopGuardThresholds>;
73
+ /** Wind-down notices near the turn budget and the step clock; defaults to both. */
74
+ readonly windDown?: WindDownPolicy;
44
75
  /** Upper bound on model turns; capped at the harness model-call budget. */
45
76
  readonly maxTurns?: number;
46
- /** Between-turn history compaction; identity when omitted. */
47
- readonly compactMessages?: (messages: ModelMessage[]) => ModelMessage[];
77
+ /** AI SDK provider options sent with every model call (thinking level, effort). */
78
+ readonly providerOptions?: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
79
+ /**
80
+ * Between-turn history preparation: compaction, and anything the executor
81
+ * wants the model to read before its next turn. Runs before the loop's own
82
+ * notices; the returned history carries forward to later turns.
83
+ */
84
+ readonly prepareMessages?: (messages: ModelMessage[], turn: PreparedTurn) => Promise<PreparedMessages> | PreparedMessages;
85
+ }
86
+ /**
87
+ * What `prepareMessages` hands back: the history for the next turn, and
88
+ * optionally a reason to stop — the executor has evidence the loop guards
89
+ * cannot see that the step is not progressing. A stop forces the conclusion
90
+ * tool exactly like a loop guard.
91
+ */
92
+ export type PreparedMessages = ModelMessage[] | {
93
+ readonly messages: ModelMessage[];
94
+ readonly stop?: string;
95
+ };
96
+ /** What an executor's `prepareMessages` learns about the turn that just ended. */
97
+ export interface PreparedTurn {
98
+ /** Zero-based index of the turn about to run. */
99
+ readonly stepNumber: number;
100
+ /** Tool names the previous turn called, in order; empty on the first turn. */
101
+ readonly previousToolCalls: readonly string[];
48
102
  }
49
103
  /** Builds a step executor from a tool vocabulary and the shared loop chassis. */
50
104
  export declare function createToolLoopExecutor(options: ToolLoopExecutorOptions): StepExecutor;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../src/agent/tool-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAiB,YAAY,EAAc,OAAO,EAAE,MAAM,IAAI,CAAC;AAE3E,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG/E,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AACtD,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAEzB,MAAM,eAAe,CAAC;AA4CvB,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,6EAA6E;IAC7E,UAAU,IAAI,OAAO,CAAC;IACtB,8EAA8E;IAC9E,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC;IACpF,iDAAiD;IACjD,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjF,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,CAAC;CACzE;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,YAAY,CAuBrF"}
1
+ {"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../src/agent/tool-loop.ts"],"names":[],"mappings":"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"}
@@ -10,46 +10,26 @@
10
10
  * - the wind-down notice and forced conclusion on the final turns;
11
11
  * - model-call accounting and a step transcript for `--debug`.
12
12
  */
13
- import { z } from 'zod';
14
13
  import { asSdkLanguageModel } from '../config/agent.js';
15
14
  import { loadAiSdk } from './ai-sdk.js';
16
- import { readCost } from './model/sdk.js';
17
15
  import { AgentError, isAgentError } from './error.js';
18
- import { BLOCKABLE_CODES, RUNTIME_CODES, } from './executor.js';
19
- import { checkLoopGuards, extractGuardCalls } from './loop-guards.js';
20
- /** Codes the model may pick when concluding; runtime codes are runtime-assigned. */
21
- const MODEL_ERROR_CODES = [
22
- 'ACTION_FAILED',
23
- 'AUTOMATION_UNSUPPORTED',
24
- 'ASSERTION_FAILED',
25
- 'AUTHENTICATION_FAILED',
26
- 'AUTH_CREDENTIAL_UNAVAILABLE',
27
- 'AUTH_CREDENTIAL_INVALID',
28
- 'ENVIRONMENT_UNAVAILABLE',
29
- 'SEED_DATA_MISSING',
30
- 'TEST_SETUP_FAILED',
31
- 'APP_UNREACHABLE',
32
- 'APP_NOT_OPEN',
33
- 'POLICY_DENIED',
34
- ];
35
- /** The model-pickable codes a blocked verdict accepts; derived, never restated. */
36
- const MODEL_BLOCKABLE_CODES = MODEL_ERROR_CODES.filter((code) => BLOCKABLE_CODES.has(code));
37
- const VERDICT_RULES = `Verdict rules:
38
- - When the step's goal is achieved, or you are certain it cannot be, call complete_step exactly once.
39
- - Verify outcomes with your tools before concluding; never guess success.
40
- - "passed" means the application behaved as the step required. "failed" means it did not. "blocked" means credentials, the environment, or test setup prevented a product verdict — blocked says nothing about the product and requires an errorCode.`;
41
- /** Turns remaining when the loop warns the model to wrap up. */
16
+ import { RUNTIME_CODES, } from './executor.js';
17
+ import { createVerdictTool, trackModelCalls, VERDICT_RULES } from './primitives.js';
18
+ import { checkLoopGuards, DEFAULT_LOOP_GUARD_THRESHOLDS, extractGuardCalls, } from './loop-guards.js';
19
+ /** Turns remaining when the loop warns the model to wrap up, by default. */
42
20
  const WIND_DOWN_TURNS = 5;
43
21
  /**
44
- * Ceiling on the remaining step time under which the loop takes the verdict it
45
- * can get. A slow provider turn runs tens of seconds; concluding with the
46
- * model's own summary beats a verdict-less STEP_TIMEOUT every time. The
47
- * effective window is a quarter of the step's budget, capped here, so a short
48
- * step keeps most of its clock for work instead of losing half of it to the
49
- * wind-down.
22
+ * Default ceiling on the remaining step time under which the loop takes the
23
+ * verdict it can get. A slow provider turn runs tens of seconds; concluding
24
+ * with the model's own summary beats a verdict-less STEP_TIMEOUT every time.
25
+ * The effective window is a quarter of the step's budget, capped here, so a
26
+ * short step keeps most of its clock for work instead of losing half of it to
27
+ * the wind-down.
50
28
  */
51
29
  const CLOCK_WIND_DOWN_MS = 60_000;
52
30
  const CLOCK_WIND_DOWN_FRACTION = 4;
31
+ /** Turns from the budget ceiling at which only the conclusion tool is offered. */
32
+ const FORCED_CONCLUSION_TURNS = 2;
53
33
  /** Transcript ceiling per step; enough for every turn without unbounded logs. */
54
34
  const MAX_TRANSCRIPT_CHARS = 262_144;
55
35
  /** Builds a step executor from a tool vocabulary and the shared loop chassis. */
@@ -79,14 +59,16 @@ class LoopRun {
79
59
  options;
80
60
  context;
81
61
  model;
82
- verdict;
62
+ conclusion = createVerdictTool();
83
63
  hardStop;
84
64
  guardStop;
85
65
  noticedGuardReason;
86
66
  noticedLowClock = false;
87
67
  transcript = [];
88
68
  maxTurns;
89
- windDownMs;
69
+ /** Resolved wind-down thresholds; undefined when the executor disabled the notices. */
70
+ windDown;
71
+ guardThresholds;
90
72
  constructor(ai, options, context, model) {
91
73
  this.ai = ai;
92
74
  this.options = options;
@@ -95,52 +77,53 @@ class LoopRun {
95
77
  // Capped, never raised: the harness budget is the ceiling for any turns
96
78
  // setting, so the loop cannot spend past what the step was given.
97
79
  this.maxTurns = Math.min(options.maxTurns ?? context.budgets.maxModelCalls, context.budgets.maxModelCalls);
98
- this.windDownMs = Math.min(CLOCK_WIND_DOWN_MS, Math.floor(context.budgets.remainingMs() / CLOCK_WIND_DOWN_FRACTION));
80
+ const windDown = options.windDown;
81
+ this.windDown =
82
+ windDown === false
83
+ ? undefined
84
+ : {
85
+ turns: windDown?.turns ?? WIND_DOWN_TURNS,
86
+ clockMs: Math.min(windDown?.clockMs ?? CLOCK_WIND_DOWN_MS, Math.floor(context.budgets.remainingMs() / CLOCK_WIND_DOWN_FRACTION)),
87
+ };
88
+ this.guardThresholds =
89
+ options.loopGuards === false
90
+ ? undefined
91
+ : { ...DEFAULT_LOOP_GUARD_THRESHOLDS, ...options.loopGuards };
99
92
  }
100
93
  async run() {
101
94
  const helpers = this.helpers();
102
95
  const tools = {
103
96
  ...this.options.tools(this.context, helpers),
104
- complete_step: this.concludeTool(),
97
+ complete_step: this.conclusion.tool,
105
98
  };
106
99
  const loop = new this.ai.ToolLoopAgent({
107
100
  model: this.model,
108
101
  instructions: this.instructions(),
109
102
  tools,
110
103
  toolChoice: 'required',
104
+ ...(this.options.providerOptions === undefined
105
+ ? {}
106
+ : { providerOptions: this.options.providerOptions }),
111
107
  stopWhen: [
112
- () => this.verdict !== undefined || this.hardStop !== undefined,
108
+ () => this.conclusion.concluded() || this.hardStop !== undefined,
113
109
  this.ai.stepCountIs(this.maxTurns),
114
110
  ],
115
- prepareStep: ({ messages, stepNumber }) => this.prepareTurn(messages, stepNumber),
111
+ prepareStep: ({ messages, stepNumber, steps }) => this.prepareTurn(messages, stepNumber, steps.at(-1)),
116
112
  });
117
- const identity = this.model;
113
+ const tracker = trackModelCalls(this.context, this.model);
118
114
  const prompt = await this.options.buildPrompt(this.context);
119
- let turnStartedMs = Date.now();
115
+ let generated = [];
120
116
  try {
121
- await loop.generate({
117
+ const result = await loop.generate({
122
118
  prompt,
123
119
  abortSignal: this.context.signal,
124
- onStepStart: () => {
125
- turnStartedMs = Date.now();
126
- },
120
+ onStepStart: tracker.onStepStart,
127
121
  onStepEnd: (step) => {
128
122
  this.recordTurn(step);
129
- const estimatedCostUsd = readCost(step.providerMetadata);
130
- this.context.budgets.recordModelCall({
131
- ...(step.usage.inputTokens === undefined
132
- ? {}
133
- : { inputTokens: step.usage.inputTokens }),
134
- ...(step.usage.outputTokens === undefined
135
- ? {}
136
- : { outputTokens: step.usage.outputTokens }),
137
- durationMs: Date.now() - turnStartedMs,
138
- ...(typeof identity.provider === 'string' ? { provider: identity.provider } : {}),
139
- ...(typeof identity.modelId === 'string' ? { modelId: identity.modelId } : {}),
140
- ...(estimatedCostUsd === undefined ? {} : { estimatedCostUsd }),
141
- });
123
+ tracker.onStepEnd(step);
142
124
  },
143
125
  });
126
+ generated = result.responseMessages;
144
127
  }
145
128
  catch (cause) {
146
129
  this.attachTranscript();
@@ -154,8 +137,16 @@ class LoopRun {
154
137
  throw new AgentError('MODEL_PROVIDER_FAILED', `the model provider failed: ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
155
138
  }
156
139
  this.attachTranscript();
157
- if (this.verdict !== undefined)
158
- return this.verdict;
140
+ if (this.options.onConclude !== undefined) {
141
+ const opening = typeof prompt === 'string' ? [{ role: 'user', content: prompt }] : prompt;
142
+ await this.options.onConclude(this.context, {
143
+ messages: [...opening, ...generated],
144
+ verdict: this.conclusion.verdict(),
145
+ });
146
+ }
147
+ const verdict = this.conclusion.verdict();
148
+ if (verdict !== undefined)
149
+ return verdict;
159
150
  if (this.hardStop !== undefined) {
160
151
  if (this.hardStop.code === 'CANCELLED')
161
152
  throw this.hardStop;
@@ -169,12 +160,12 @@ class LoopRun {
169
160
  }
170
161
  helpers() {
171
162
  return {
172
- concluding: () => this.verdict !== undefined || this.hardStop !== undefined,
163
+ concluding: () => this.conclusion.concluded() || this.hardStop !== undefined,
173
164
  reportHardStop: (error) => {
174
165
  this.hardStop ??= error;
175
166
  },
176
167
  guard: async (body) => {
177
- if (this.verdict !== undefined || this.hardStop !== undefined) {
168
+ if (this.conclusion.concluded() || this.hardStop !== undefined) {
178
169
  return 'The step is already concluding; no further actions run.';
179
170
  }
180
171
  try {
@@ -192,17 +183,33 @@ class LoopRun {
192
183
  };
193
184
  }
194
185
  /**
195
- * Per-turn policy, in order: compact history, evaluate the loop guards,
186
+ * Per-turn policy, in order: the executor's history preparation, the loop guards,
196
187
  * inject the wind-down notice, and — near the budget or after a guard stop —
197
188
  * offer only the conclusion tool. Two forced turns, not one, so a rejected
198
189
  * verdict (blocked without a code) can be repaired.
199
190
  */
200
- prepareTurn(messages, stepNumber) {
201
- let prepared = this.options.compactMessages?.(messages) ?? messages;
191
+ async prepareTurn(messages, stepNumber, previous) {
192
+ let prepared = messages;
193
+ if (this.options.prepareMessages !== undefined) {
194
+ const result = await this.options.prepareMessages(messages, {
195
+ stepNumber,
196
+ previousToolCalls: previous?.toolCalls.map((call) => call.toolName) ?? [],
197
+ });
198
+ if (Array.isArray(result)) {
199
+ prepared = result;
200
+ }
201
+ else {
202
+ prepared = result.messages;
203
+ if (result.stop !== undefined && this.guardStop === undefined)
204
+ this.guardStop = result.stop;
205
+ }
206
+ }
202
207
  const turnsLeft = this.maxTurns - stepNumber;
203
208
  // Never on the very first turn: a deliberately short step timeout still
204
209
  // deserves one working turn before the clock takes the verdict.
205
- const lowClock = stepNumber > 0 && this.context.budgets.remainingMs() < this.windDownMs;
210
+ const lowClock = this.windDown !== undefined &&
211
+ stepNumber > 0 &&
212
+ this.context.budgets.remainingMs() < this.windDown.clockMs;
206
213
  if (lowClock && this.noticedLowClock !== true) {
207
214
  this.noticedLowClock = true;
208
215
  prepared = appendNotice(prepared, '[SYSTEM] The step is nearly out of time. Call complete_step now with your best ' +
@@ -210,8 +217,8 @@ class LoopRun {
210
217
  'misbehaved, blocked (with errorCode) if something outside the application ' +
211
218
  'stopped you.');
212
219
  }
213
- if (this.guardStop === undefined) {
214
- const guard = checkLoopGuards(extractGuardCalls(prepared, 'complete_step'));
220
+ if (this.guardStop === undefined && this.guardThresholds !== undefined) {
221
+ const guard = checkLoopGuards(extractGuardCalls(prepared, 'complete_step'), this.guardThresholds);
215
222
  if (guard.kind === 'stop') {
216
223
  this.guardStop = guard.reason;
217
224
  }
@@ -227,13 +234,14 @@ class LoopRun {
227
234
  'Call complete_step now with your best verdict: failed if the application misbehaved, ' +
228
235
  'blocked (with errorCode) if something outside the application stopped you.');
229
236
  }
230
- if (turnsLeft === WIND_DOWN_TURNS && this.guardStop === undefined) {
237
+ const windDownTurn = this.windDown !== undefined && turnsLeft === this.windDown.turns;
238
+ if (windDownTurn && this.guardStop === undefined) {
231
239
  prepared = appendNotice(prepared, `[SYSTEM NOTICE] Only ${turnsLeft} turns remain for this step. ` +
232
240
  'Finish the remaining work now, or call complete_step with your best verdict: ' +
233
241
  'failed if the application misbehaved, blocked (with errorCode) if something ' +
234
242
  'outside the application stopped you.');
235
243
  }
236
- const forced = turnsLeft <= 2 || this.guardStop !== undefined || lowClock;
244
+ const forced = turnsLeft <= FORCED_CONCLUSION_TURNS || this.guardStop !== undefined || lowClock;
237
245
  return {
238
246
  ...(prepared === messages ? {} : { messages: prepared }),
239
247
  ...(forced
@@ -244,42 +252,6 @@ class LoopRun {
244
252
  : {}),
245
253
  };
246
254
  }
247
- concludeTool() {
248
- const { tool } = this.ai;
249
- return tool({
250
- description: 'Conclude the step with the final verdict. passed = the application behaved as required and you verified it. failed = the application did not behave as required. blocked = credentials, environment, or test setup prevented a product verdict; blocked requires errorCode.',
251
- inputSchema: z.object({
252
- status: z.enum(['passed', 'failed', 'blocked']),
253
- summary: z
254
- .string()
255
- .min(1)
256
- .max(500)
257
- .describe('What you did and what you saw, in plain language'),
258
- errorCode: z.enum(MODEL_ERROR_CODES).optional(),
259
- }),
260
- execute: async (input) => {
261
- if (this.verdict !== undefined)
262
- return 'The step already concluded.';
263
- if (input.status === 'blocked' &&
264
- (input.errorCode === undefined ||
265
- !MODEL_BLOCKABLE_CODES.includes(input.errorCode))) {
266
- return ('Rejected: a blocked verdict requires errorCode naming what blocked you ' +
267
- `(one of ${MODEL_BLOCKABLE_CODES.join(', ')}). ` +
268
- 'If the application itself misbehaved, use status "failed" instead.');
269
- }
270
- this.verdict = {
271
- status: input.status,
272
- summary: input.summary,
273
- // A passed verdict never carries a code; a redundant one from the
274
- // model is dropped rather than failing the step.
275
- ...(input.errorCode === undefined || input.status === 'passed'
276
- ? {}
277
- : { errorCode: input.errorCode }),
278
- };
279
- return 'Step concluded.';
280
- },
281
- });
282
- }
283
255
  instructions() {
284
256
  const parts = [];
285
257
  if (this.options.system !== undefined && this.options.system.trim() !== '') {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/agent/tool-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../src/agent/tool-loop.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,12 @@ export interface BackendFixtureContext {
65
65
  readonly action: number;
66
66
  readonly assertion: number;
67
67
  };
68
- /** Aborts with the attempt. */
68
+ /**
69
+ * The running phase's signal: the attempt's through `beforeEach` and the
70
+ * body, then a fresh one per `afterEach` hook so teardown can still drive
71
+ * the app after a body timeout. Read it per call; a fixture factory that
72
+ * captures it once keeps a signal that is dead by teardown.
73
+ */
69
74
  readonly signal: AbortSignal;
70
75
  /** Per-call operation budget: the action timeout (or an explicit one) plus the attempt signal. */
71
76
  operation(timeoutMs?: number): OperationContext;
@@ -158,10 +163,45 @@ export interface BackendApp {
158
163
  /** Clears persisted client state and relaunches. */
159
164
  clearState?(context: OperationContext): Promise<void>;
160
165
  }
166
+ /**
167
+ * Facts handed to `prepare`, once per run and target in the runner process,
168
+ * before any worker exists.
169
+ */
170
+ export interface BackendPrepareInfo {
171
+ readonly runId: string;
172
+ readonly targetName: string;
173
+ /**
174
+ * The run's environment: what every worker is started with. A host may hand
175
+ * the run an environment other than the runner process's own, so anything
176
+ * provisioned here that a worker later looks up by environment (a browser
177
+ * cache location) must be resolved and spawned against this, not
178
+ * `process.env`.
179
+ */
180
+ readonly env: NodeJS.ProcessEnv;
181
+ /**
182
+ * Aborts on interrupt only. Provisioning has no budget: a first-run
183
+ * download is as long as the network makes it, and cutting it short would
184
+ * fail every test behind it.
185
+ */
186
+ readonly signal: AbortSignal;
187
+ /**
188
+ * Reports one line of progress. The runner streams it as a `notice` run
189
+ * event, so it reaches the reporter and every host sink instead of being
190
+ * written to a worker's stderr underneath the live status block.
191
+ */
192
+ readonly log: (line: string) => void;
193
+ }
161
194
  /** Run identity and harness-resolved facts handed to `init`, once per worker before the first step. */
162
195
  export interface BackendInitInfo {
163
196
  readonly runId: string;
164
197
  readonly targetName: string;
198
+ /**
199
+ * Directory relative paths in the config resolve against: the config file's
200
+ * directory, or the run's `cwd` for a programmatic config. A backend option
201
+ * naming a file (a build to install) resolves here, never against
202
+ * `process.cwd()`, which an in-process run does not change.
203
+ */
204
+ readonly projectRoot: string;
165
205
  readonly app: BackendAppInfo;
166
206
  /** Attribute the `testId` query resolves against. */
167
207
  readonly testIdAttribute: string;
@@ -276,6 +316,15 @@ export interface Backend {
276
316
  * trace start anchors and the secret-fill origin check.
277
317
  */
278
318
  url?(context: OperationContext): Promise<string>;
319
+ /**
320
+ * Once per run and target, in the runner process, before any worker starts
321
+ * and outside every launch budget. Provision what the backend needs on this
322
+ * machine here (a first-run browser download, a toolchain fetch), so it
323
+ * happens once instead of per worker and its progress reaches the reporter
324
+ * through `info.log`. Failure is infrastructure and ends the run before any
325
+ * test executes.
326
+ */
327
+ prepare?(info: BackendPrepareInfo): Promise<void>;
279
328
  /**
280
329
  * Once per worker, before the first step; boot devices here, not in a step
281
330
  * budget. The same handle can be booted again after `dispose`: a config-held
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQrD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClF,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,mBAAmB,eAAe,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,SAAS,GACT,UAAU,GACV,OAAO,GACP,WAAW,GACX,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG;QAC7B;;;;;WAKG;QACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC,CAAC;IACF,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,kGAAkG;IAClG,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAChD,uFAAuF;IACvF,cAAc,CACZ,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,EAC3D,YAAY,EAAE,MAAM,GACnB,IAAI,CAAC;IACR,yDAAyD;IACzD,cAAc,CAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,+EAA+E;IAC/E,OAAO,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAChD,6FAA6F;IAC7F,MAAM,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,iBAAiB,GAAG,MAAM,CAAC;IAC5E;;;;OAIG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;CAChG;AAED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,qBAAqB,KAAK,MAAM,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClF,2DAA2D;IAC3D,UAAU,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,qDAAqD;IACrD,SAAS,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,oDAAoD;IACpD,IAAI,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,gFAAgF;IAChF,OAAO,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,oDAAoD;IACpD,UAAU,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChG,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,kFAAkF;IAClF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,oEAAoE;AACpE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,+BAA+B;IAC/B,OAAO,CAAC,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/F;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF;;;;;OAKG;IACH,MAAM,CAAC,CACL,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IACpC;;;OAGG;IACH,KAAK,CAAC,CACJ,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACpE,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAC1B;;;OAGG;IACH,GAAG,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD;;;;;OAKG;IACH,IAAI,CAAC,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,sDAAsD;IACtD,YAAY,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;OAGG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;;;OAGG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,mEAAmE;AACnE,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;CACvD;AAoFD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAuG1D;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAMtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ const KNOWN_KEYS = [
46
46
  'artifacts',
47
47
  'app',
48
48
  'url',
49
+ 'prepare',
49
50
  'init',
50
51
  'startAttempt',
51
52
  'endAttempt',
@@ -63,6 +64,7 @@ const FUNCTION_MEMBERS = [
63
64
  'perform',
64
65
  'swipe',
65
66
  'url',
67
+ 'prepare',
66
68
  'init',
67
69
  'startAttempt',
68
70
  'endAttempt',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,8 @@ export declare class TraceRecorder {
54
54
  readonly endPath?: string;
55
55
  /** Already projected and capped by `describeAnchors`; recorded as given. */
56
56
  readonly endAnchors?: readonly TraceTargetDescriptor[];
57
+ /** How long the recorded run took to reach its end state, plus margin. */
58
+ readonly endWaitMs?: number;
57
59
  }): ActionTrace | undefined;
58
60
  private anchorPath;
59
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/cache/recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAML,KAAK,WAAW,EAEhB,KAAK,qBAAqB,EAC3B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,OAAO,EAAE,oBAAoB,EAIxC;IAED,wDAAwD;IACxD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,4CAA4C;IAC5C,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAGrC;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,QAAQ,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,4EAA4E;QAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;KACxD,GAAG,WAAW,GAAG,SAAS,CAsB1B;IAED,OAAO,CAAC,UAAU;IAOlB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAmClB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;CAOb"}
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/cache/recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAOL,KAAK,WAAW,EAEhB,KAAK,qBAAqB,EAC3B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,OAAO,EAAE,oBAAoB,EAIxC;IAED,wDAAwD;IACxD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,4CAA4C;IAC5C,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAGrC;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,QAAQ,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,4EAA4E;QAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;QACvD,0EAA0E;QAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,GAAG,WAAW,GAAG,SAAS,CAyB1B;IAED,OAAO,CAAC,UAAU;IAOlB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAmClB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;CAOb"}
@@ -16,7 +16,7 @@
16
16
  * state. A poisoned trace still documents what happened; it never replays.
17
17
  */
18
18
  import { describeAction } from '../agent/actions.js';
19
- import { bound, MAX_TRACE_ACTIONS, MAX_TRACE_DESCRIPTOR_CHARS, MAX_TRACE_INPUT_CHARS, MAX_TRACE_SUMMARY_CHARS, } from './trace.js';
19
+ import { bound, MAX_TRACE_ACTIONS, MAX_TRACE_DESCRIPTOR_CHARS, MAX_TRACE_END_WAIT_MS, MAX_TRACE_INPUT_CHARS, MAX_TRACE_SUMMARY_CHARS, } from './trace.js';
20
20
  export class TraceRecorder {
21
21
  actions = [];
22
22
  truncated = false;
@@ -70,6 +70,9 @@ export class TraceRecorder {
70
70
  ...(conclusion.endAnchors === undefined || conclusion.endAnchors.length === 0
71
71
  ? {}
72
72
  : { endAnchors: conclusion.endAnchors }),
73
+ ...(conclusion.endWaitMs === undefined
74
+ ? {}
75
+ : { endWaitMs: Math.min(MAX_TRACE_END_WAIT_MS, Math.max(0, Math.round(conclusion.endWaitMs))) }),
73
76
  ...(this.truncated ? { truncated: true } : {}),
74
77
  };
75
78
  }