@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.
- package/dist/agent/act.d.ts.map +1 -1
- package/dist/agent/act.js +89 -28
- package/dist/agent/act.js.map +1 -1
- package/dist/agent/actions.d.ts +15 -0
- package/dist/agent/actions.d.ts.map +1 -1
- package/dist/agent/actions.js +59 -1
- package/dist/agent/actions.js.map +1 -1
- package/dist/agent/default-agent.d.ts +34 -4
- package/dist/agent/default-agent.d.ts.map +1 -1
- package/dist/agent/default-agent.js +18 -127
- package/dist/agent/default-agent.js.map +1 -1
- package/dist/agent/derived.d.ts +17 -0
- package/dist/agent/derived.d.ts.map +1 -0
- package/dist/agent/derived.js +45 -0
- package/dist/agent/derived.js.map +1 -0
- package/dist/agent/executor.d.ts +116 -2
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/invocation.d.ts +3 -2
- package/dist/agent/invocation.d.ts.map +1 -1
- package/dist/agent/invocation.js +12 -12
- package/dist/agent/invocation.js.map +1 -1
- package/dist/agent/ledger.d.ts +14 -4
- package/dist/agent/ledger.d.ts.map +1 -1
- package/dist/agent/ledger.js +26 -5
- package/dist/agent/ledger.js.map +1 -1
- package/dist/agent/loop-guards.d.ts +14 -1
- package/dist/agent/loop-guards.d.ts.map +1 -1
- package/dist/agent/loop-guards.js +11 -8
- package/dist/agent/loop-guards.js.map +1 -1
- package/dist/agent/observation.d.ts +26 -7
- package/dist/agent/observation.d.ts.map +1 -1
- package/dist/agent/observation.js +51 -5
- package/dist/agent/observation.js.map +1 -1
- package/dist/agent/primitives.d.ts +86 -0
- package/dist/agent/primitives.d.ts.map +1 -0
- package/dist/agent/primitives.js +255 -0
- package/dist/agent/primitives.js.map +1 -0
- package/dist/agent/prompts.d.ts.map +1 -1
- package/dist/agent/prompts.js.map +1 -1
- package/dist/agent/public.d.ts +6 -3
- package/dist/agent/public.d.ts.map +1 -1
- package/dist/agent/public.js +4 -2
- package/dist/agent/public.js.map +1 -1
- package/dist/agent/replay.d.ts +1 -1
- package/dist/agent/replay.d.ts.map +1 -1
- package/dist/agent/replay.js +19 -2
- package/dist/agent/replay.js.map +1 -1
- package/dist/agent/step-cache.d.ts +3 -0
- package/dist/agent/step-cache.d.ts.map +1 -1
- package/dist/agent/step-cache.js +35 -3
- package/dist/agent/step-cache.js.map +1 -1
- package/dist/agent/tool-loop.d.ts +59 -5
- package/dist/agent/tool-loop.d.ts.map +1 -1
- package/dist/agent/tool-loop.js +77 -105
- package/dist/agent/tool-loop.js.map +1 -1
- package/dist/backend/index.d.ts +50 -1
- package/dist/backend/index.d.ts.map +1 -1
- package/dist/backend/index.js +2 -0
- package/dist/backend/index.js.map +1 -1
- package/dist/cache/recorder.d.ts +2 -0
- package/dist/cache/recorder.d.ts.map +1 -1
- package/dist/cache/recorder.js +4 -1
- package/dist/cache/recorder.js.map +1 -1
- package/dist/cache/relocate.d.ts.map +1 -1
- package/dist/cache/relocate.js +11 -2
- package/dist/cache/relocate.js.map +1 -1
- package/dist/cache/trace.d.ts +11 -0
- package/dist/cache/trace.d.ts.map +1 -1
- package/dist/cache/trace.js +9 -0
- package/dist/cache/trace.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +28 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +32 -9
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/signals.d.ts +23 -0
- package/dist/cli/signals.d.ts.map +1 -0
- package/dist/cli/signals.js +42 -0
- package/dist/cli/signals.js.map +1 -0
- package/dist/collect/registry.d.ts +14 -4
- package/dist/collect/registry.d.ts.map +1 -1
- package/dist/collect/registry.js +10 -10
- package/dist/collect/registry.js.map +1 -1
- package/dist/config/resolve.d.ts +0 -1
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +4 -14
- package/dist/config/resolve.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/errors.d.ts +9 -0
- package/dist/internal/errors.d.ts.map +1 -1
- package/dist/internal/errors.js +15 -0
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/time.d.ts +5 -0
- package/dist/internal/time.d.ts.map +1 -1
- package/dist/internal/time.js +22 -0
- package/dist/internal/time.js.map +1 -1
- package/dist/internal/urls.d.ts +2 -1
- package/dist/internal/urls.d.ts.map +1 -1
- package/dist/internal/urls.js +22 -2
- package/dist/internal/urls.js.map +1 -1
- package/dist/locator/engine.d.ts +5 -3
- package/dist/locator/engine.d.ts.map +1 -1
- package/dist/locator/engine.js +7 -6
- package/dist/locator/engine.js.map +1 -1
- package/dist/report/build.d.ts +0 -1
- package/dist/report/build.d.ts.map +1 -1
- package/dist/report/build.js +0 -1
- package/dist/report/build.js.map +1 -1
- package/dist/report/list.d.ts +2 -0
- package/dist/report/list.d.ts.map +1 -1
- package/dist/report/list.js +12 -0
- package/dist/report/list.js.map +1 -1
- package/dist/report/live-status.d.ts.map +1 -1
- package/dist/report/live-status.js +2 -1
- package/dist/report/live-status.js.map +1 -1
- package/dist/run/budget.d.ts +25 -0
- package/dist/run/budget.d.ts.map +1 -0
- package/dist/run/budget.js +38 -0
- package/dist/run/budget.js.map +1 -0
- package/dist/run/events.d.ts +13 -0
- package/dist/run/events.d.ts.map +1 -1
- package/dist/run/events.js.map +1 -1
- package/dist/run/execute.d.ts +8 -0
- package/dist/run/execute.d.ts.map +1 -1
- package/dist/run/execute.js +53 -8
- package/dist/run/execute.js.map +1 -1
- package/dist/run/fixtures.d.ts +6 -3
- package/dist/run/fixtures.d.ts.map +1 -1
- package/dist/run/fixtures.js +7 -5
- package/dist/run/fixtures.js.map +1 -1
- package/dist/run/in-process.d.ts.map +1 -1
- package/dist/run/in-process.js +11 -2
- package/dist/run/in-process.js.map +1 -1
- package/dist/run/realm.d.ts +43 -8
- package/dist/run/realm.d.ts.map +1 -1
- package/dist/run/realm.js +67 -24
- package/dist/run/realm.js.map +1 -1
- package/dist/run/runner.d.ts +8 -0
- package/dist/run/runner.d.ts.map +1 -1
- package/dist/run/runner.js +93 -25
- package/dist/run/runner.js.map +1 -1
- package/dist/run/scheduler.d.ts +8 -0
- package/dist/run/scheduler.d.ts.map +1 -1
- package/dist/run/scheduler.js +37 -3
- package/dist/run/scheduler.js.map +1 -1
- package/dist/run/serial.d.ts +2 -0
- package/dist/run/serial.d.ts.map +1 -1
- package/dist/run/serial.js +10 -0
- package/dist/run/serial.js.map +1 -1
- package/dist/run/worker/entry.js +17 -2
- package/dist/run/worker/entry.js.map +1 -1
- package/dist/run/worker/protocol.d.ts +9 -1
- package/dist/run/worker/protocol.d.ts.map +1 -1
- package/dist/run/worker/protocol.js.map +1 -1
- package/dist/run/worker/session.d.ts +12 -0
- package/dist/run/worker/session.d.ts.map +1 -1
- package/dist/run/worker/session.js +23 -1
- package/dist/run/worker/session.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The primitives under the built-in agent (RFC0001, layer 4). Each is one
|
|
3
|
+
* piece of the discipline the chassis and `createAgent` are assembled from,
|
|
4
|
+
* usable on its own with a raw AI SDK `ToolLoopAgent` or `generateText` —
|
|
5
|
+
* the way the AI SDK itself is a small opinionated agent over primitives you
|
|
6
|
+
* can also call directly:
|
|
7
|
+
*
|
|
8
|
+
* - `createGrammarTools` — AI SDK tools over the harness action grammar;
|
|
9
|
+
* - `createVerdictTool` — the `complete_step` tool and the closed blocked-code policy;
|
|
10
|
+
* - `trackModelCalls` — step handlers that report usage to the harness budgets;
|
|
11
|
+
* - `conversationMemory` — a message history kept across the steps of an attempt.
|
|
12
|
+
*
|
|
13
|
+
* Nothing here loads the `ai` package: an AI SDK tool is a plain object, so
|
|
14
|
+
* the module is safe to import from a config that never calls a model.
|
|
15
|
+
*/
|
|
16
|
+
import { z } from 'zod';
|
|
17
|
+
import { BLOCKABLE_CODES } from './executor.js';
|
|
18
|
+
import { readCost } from './model/sdk.js';
|
|
19
|
+
/** Codes the model may pick when concluding; runtime codes are runtime-assigned. */
|
|
20
|
+
const MODEL_ERROR_CODES = [
|
|
21
|
+
'ACTION_FAILED',
|
|
22
|
+
'AUTOMATION_UNSUPPORTED',
|
|
23
|
+
'ASSERTION_FAILED',
|
|
24
|
+
'AUTHENTICATION_FAILED',
|
|
25
|
+
'AUTH_CREDENTIAL_UNAVAILABLE',
|
|
26
|
+
'AUTH_CREDENTIAL_INVALID',
|
|
27
|
+
'ENVIRONMENT_UNAVAILABLE',
|
|
28
|
+
'SEED_DATA_MISSING',
|
|
29
|
+
'TEST_SETUP_FAILED',
|
|
30
|
+
'APP_UNREACHABLE',
|
|
31
|
+
'APP_NOT_OPEN',
|
|
32
|
+
'POLICY_DENIED',
|
|
33
|
+
];
|
|
34
|
+
/** The model-pickable codes a blocked verdict accepts; derived, never restated. */
|
|
35
|
+
const MODEL_BLOCKABLE_CODES = MODEL_ERROR_CODES.filter((code) => BLOCKABLE_CODES.has(code));
|
|
36
|
+
/** The verdict rules the built-in agent appends to its instructions. */
|
|
37
|
+
export 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
|
+
/**
|
|
42
|
+
* A plain AI SDK function tool with its input typed from the schema — what
|
|
43
|
+
* `tool()` from `ai` does, without loading `ai` to do it.
|
|
44
|
+
*/
|
|
45
|
+
function schemaTool(definition) {
|
|
46
|
+
return definition;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The `complete_step` verdict tool. A blocked verdict without a blockable
|
|
50
|
+
* code is rejected back to the model, a passed verdict never carries a code,
|
|
51
|
+
* and the first accepted verdict is final.
|
|
52
|
+
*/
|
|
53
|
+
export function createVerdictTool() {
|
|
54
|
+
let verdict;
|
|
55
|
+
const tool = schemaTool({
|
|
56
|
+
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.',
|
|
57
|
+
inputSchema: z.object({
|
|
58
|
+
status: z.enum(['passed', 'failed', 'blocked']),
|
|
59
|
+
summary: z
|
|
60
|
+
.string()
|
|
61
|
+
.min(1)
|
|
62
|
+
.max(500)
|
|
63
|
+
.describe('What you did and what you saw, in plain language'),
|
|
64
|
+
errorCode: z.enum(MODEL_ERROR_CODES).optional(),
|
|
65
|
+
}),
|
|
66
|
+
execute: async (input) => {
|
|
67
|
+
if (verdict !== undefined)
|
|
68
|
+
return 'The step already concluded.';
|
|
69
|
+
if (input.status === 'blocked' &&
|
|
70
|
+
(input.errorCode === undefined ||
|
|
71
|
+
!MODEL_BLOCKABLE_CODES.includes(input.errorCode))) {
|
|
72
|
+
return ('Rejected: a blocked verdict requires errorCode naming what blocked you ' +
|
|
73
|
+
`(one of ${MODEL_BLOCKABLE_CODES.join(', ')}). ` +
|
|
74
|
+
'If the application itself misbehaved, use status "failed" instead.');
|
|
75
|
+
}
|
|
76
|
+
verdict = {
|
|
77
|
+
status: input.status,
|
|
78
|
+
summary: input.summary,
|
|
79
|
+
...(input.errorCode === undefined || input.status === 'passed'
|
|
80
|
+
? {}
|
|
81
|
+
: { errorCode: input.errorCode }),
|
|
82
|
+
};
|
|
83
|
+
return 'Step concluded.';
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
return {
|
|
87
|
+
tool,
|
|
88
|
+
verdict: () => verdict,
|
|
89
|
+
concluded: () => verdict !== undefined,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* AI SDK tools over the harness action grammar, limited to the verbs the
|
|
94
|
+
* target's backend declared. A verb the surface cannot honor is not offered
|
|
95
|
+
* at all, so the model never learns vocabulary it can only be rejected on.
|
|
96
|
+
* Every mutating tool returns the updated screen.
|
|
97
|
+
*/
|
|
98
|
+
export function createGrammarTools(context, options = {}) {
|
|
99
|
+
const guard = options.guard ?? ((body) => body());
|
|
100
|
+
const { verbs } = context.target;
|
|
101
|
+
/** Re-observes after a mutating action so the model always sees the result. */
|
|
102
|
+
const acted = async (description) => {
|
|
103
|
+
const observation = await context.observe();
|
|
104
|
+
return `${description}\n\nUpdated screen (revision ${observation.revision}):\n${observation.text}`;
|
|
105
|
+
};
|
|
106
|
+
const target = z.string().min(1).describe('Node id from the newest observation, e.g. "n42"');
|
|
107
|
+
const tools = {
|
|
108
|
+
observe: schemaTool({
|
|
109
|
+
description: 'Capture a fresh observation of the current screen without acting.',
|
|
110
|
+
inputSchema: z.object({}),
|
|
111
|
+
execute: () => guard(async () => {
|
|
112
|
+
const observation = await context.observe();
|
|
113
|
+
return `Current screen (revision ${observation.revision}):\n${observation.text}`;
|
|
114
|
+
}),
|
|
115
|
+
}),
|
|
116
|
+
};
|
|
117
|
+
if (verbs.has('tap')) {
|
|
118
|
+
tools['tap'] = schemaTool({
|
|
119
|
+
description: 'Tap or click one node.',
|
|
120
|
+
inputSchema: z.object({ target }),
|
|
121
|
+
execute: ({ target: id }) => guard(async () => {
|
|
122
|
+
await context.actions.tap({ id });
|
|
123
|
+
return acted(`Tapped #${id}.`);
|
|
124
|
+
}),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (verbs.has('type')) {
|
|
128
|
+
tools['type'] = schemaTool({
|
|
129
|
+
description: 'Type a plain-text value into one input node. Replaces the current value.',
|
|
130
|
+
inputSchema: z.object({ target, value: z.string() }),
|
|
131
|
+
execute: ({ target: id, value }) => guard(async () => {
|
|
132
|
+
await context.actions.type({ id }, value);
|
|
133
|
+
return acted(`Typed into #${id}.`);
|
|
134
|
+
}),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
if (verbs.has('press')) {
|
|
138
|
+
tools['press'] = schemaTool({
|
|
139
|
+
description: 'Send one key (e.g. "Enter", "Escape", "Tab") to one node.',
|
|
140
|
+
inputSchema: z.object({ target, key: z.string().min(1).max(64) }),
|
|
141
|
+
execute: ({ target: id, key }) => guard(async () => {
|
|
142
|
+
await context.actions.press({ id }, key);
|
|
143
|
+
return acted(`Pressed ${key} on #${id}.`);
|
|
144
|
+
}),
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (verbs.has('select')) {
|
|
148
|
+
tools['select'] = schemaTool({
|
|
149
|
+
description: 'Pick one option from a select-like control by its visible label.',
|
|
150
|
+
inputSchema: z.object({ target, value: z.string().min(1) }),
|
|
151
|
+
execute: ({ target: id, value }) => guard(async () => {
|
|
152
|
+
await context.actions.select({ id }, value);
|
|
153
|
+
return acted(`Selected "${value}" in #${id}.`);
|
|
154
|
+
}),
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
if (verbs.has('scroll')) {
|
|
158
|
+
const direction = z.enum(['up', 'down', 'left', 'right']);
|
|
159
|
+
// Node-targeted scrolling rides `perform`; without it only the viewport scrolls.
|
|
160
|
+
tools['scroll'] = verbs.has('tap')
|
|
161
|
+
? schemaTool({
|
|
162
|
+
description: 'Scroll the viewport, or one scrollable node when target is given.',
|
|
163
|
+
inputSchema: z.object({ direction, target: target.optional() }),
|
|
164
|
+
execute: ({ direction: way, target: id }) => guard(async () => {
|
|
165
|
+
await context.actions.scroll(way, id === undefined ? undefined : { id });
|
|
166
|
+
return acted(`Scrolled ${way}.`);
|
|
167
|
+
}),
|
|
168
|
+
})
|
|
169
|
+
: schemaTool({
|
|
170
|
+
description: 'Scroll the viewport.',
|
|
171
|
+
inputSchema: z.object({ direction }),
|
|
172
|
+
execute: ({ direction: way }) => guard(async () => {
|
|
173
|
+
await context.actions.scroll(way);
|
|
174
|
+
return acted(`Scrolled ${way}.`);
|
|
175
|
+
}),
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
if (verbs.has('navigate')) {
|
|
179
|
+
tools['navigate'] = schemaTool({
|
|
180
|
+
description: 'Navigate to a URL or app-relative path within the allowed origins.',
|
|
181
|
+
inputSchema: z.object({ url: z.string().min(1) }),
|
|
182
|
+
execute: ({ url }) => guard(async () => {
|
|
183
|
+
await context.actions.navigate(url);
|
|
184
|
+
return acted(`Navigated to ${url}.`);
|
|
185
|
+
}),
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
// Offered only when the step declared secrets and the surface can fill: an
|
|
189
|
+
// empty vocabulary is better than a tool the model can only be rejected on.
|
|
190
|
+
if (verbs.has('typeSecret') && context.step.secrets.length > 0) {
|
|
191
|
+
tools['type_secret'] = schemaTool({
|
|
192
|
+
description: 'Fill one declared secret credential into a secure input field; the plaintext never passes through you. Available: ' +
|
|
193
|
+
context.step.secrets.map((secret) => `"${secret.name}" (${secret.purpose})`).join(', ') +
|
|
194
|
+
'.',
|
|
195
|
+
inputSchema: z.object({ target, name: z.string().min(1) }),
|
|
196
|
+
execute: ({ target: id, name }) => guard(async () => {
|
|
197
|
+
await context.actions.typeSecret({ id }, name);
|
|
198
|
+
return acted(`Filled secret "${name}" into #${id}.`);
|
|
199
|
+
}),
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return tools;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Model-call accounting for a loop the executor runs itself. `model` names
|
|
206
|
+
* the provider and model id in the report; pass the AI SDK model instance.
|
|
207
|
+
*/
|
|
208
|
+
export function trackModelCalls(context, model) {
|
|
209
|
+
let turnStartedMs = Date.now();
|
|
210
|
+
return {
|
|
211
|
+
onStepStart: () => {
|
|
212
|
+
turnStartedMs = Date.now();
|
|
213
|
+
},
|
|
214
|
+
onStepEnd: (step) => {
|
|
215
|
+
const estimatedCostUsd = readCost(step.providerMetadata);
|
|
216
|
+
context.budgets.recordModelCall({
|
|
217
|
+
...(step.usage.inputTokens === undefined ? {} : { inputTokens: step.usage.inputTokens }),
|
|
218
|
+
...(step.usage.outputTokens === undefined ? {} : { outputTokens: step.usage.outputTokens }),
|
|
219
|
+
durationMs: Date.now() - turnStartedMs,
|
|
220
|
+
...(typeof model?.provider === 'string' ? { provider: model.provider } : {}),
|
|
221
|
+
...(typeof model?.modelId === 'string' ? { modelId: model.modelId } : {}),
|
|
222
|
+
...(estimatedCostUsd === undefined ? {} : { estimatedCostUsd }),
|
|
223
|
+
});
|
|
224
|
+
},
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* The executor's own conversation across an attempt, kept in
|
|
229
|
+
* `context.attempt.memory` under `key`. Open a step with
|
|
230
|
+
* `[...memory.messages, { role: 'user', content }]` and `remember` the full
|
|
231
|
+
* transcript when it ends; the harness drops it with the attempt.
|
|
232
|
+
*/
|
|
233
|
+
export function conversationMemory(context, key = 'e2e/conversation') {
|
|
234
|
+
const stored = context.attempt.memory.get(key);
|
|
235
|
+
const current = isStoredConversation(stored)
|
|
236
|
+
? stored
|
|
237
|
+
: { messages: [], lastStepIndex: -1 };
|
|
238
|
+
return {
|
|
239
|
+
messages: current.messages,
|
|
240
|
+
lastStepIndex: current.lastStepIndex,
|
|
241
|
+
remember: (messages) => {
|
|
242
|
+
const kept = { messages: [...messages], lastStepIndex: context.step.index };
|
|
243
|
+
context.attempt.memory.set(key, kept);
|
|
244
|
+
},
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
function isStoredConversation(value) {
|
|
248
|
+
return (typeof value === 'object' &&
|
|
249
|
+
value !== null &&
|
|
250
|
+
'messages' in value &&
|
|
251
|
+
Array.isArray(value.messages) &&
|
|
252
|
+
'lastStepIndex' in value &&
|
|
253
|
+
typeof value.lastStepIndex === 'number');
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/agent/primitives.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,cAAc,eAAe,CAAC;AAoB3C,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAM7E;AAED,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EACZ;QACE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,+EAA+E;QAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;KACzD,GACD,SAAS,CAAC;CACf;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CA6CtD;AAiCD,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB,QAGjB,CAAC;AAEb,8CAA8C;AAC9C,eAAO,MAAM,eAAe,QAMhB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/public.d.ts
CHANGED
|
@@ -5,8 +5,11 @@
|
|
|
5
5
|
* the main `e2e` entrypoint, so a hand-rolled executor needs no import from
|
|
6
6
|
* here (and no AI SDK) at all.
|
|
7
7
|
*/
|
|
8
|
-
export { createAgent, type CreateAgentOptions } from './default-agent.ts';
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
8
|
+
export { compactSnapshotHistory, createAgent, formatReplayedPrefix, type CreateAgentOptions, } from './default-agent.ts';
|
|
9
|
+
export { conversationMemory, createGrammarTools, createVerdictTool, trackModelCalls, VERDICT_RULES, type ConversationMemory, type GrammarToolOptions, type ModelCallTracker, type VerdictTool, } from './primitives.ts';
|
|
10
|
+
export { createToolLoopExecutor, type ToolLoopExecutorOptions, type PreparedTurn, type PreparedMessages, type ToolLoopHelpers, type WindDownPolicy, } from './tool-loop.ts';
|
|
11
|
+
export { serializeLedger, type LedgerContext } from './ledger.ts';
|
|
12
|
+
export type { LoopGuardThresholds } from './loop-guards.ts';
|
|
13
|
+
export { defineTool, isDefinedTool, toolAppliesTo, type DefinedTool, type ToolAnnotations, } from './tool.ts';
|
|
11
14
|
export { AgentError, isAgentError } from './error.ts';
|
|
12
15
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/agent/public.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/agent/public.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/agent/public.js
CHANGED
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
* the main `e2e` entrypoint, so a hand-rolled executor needs no import from
|
|
6
6
|
* here (and no AI SDK) at all.
|
|
7
7
|
*/
|
|
8
|
-
export { createAgent } from './default-agent.js';
|
|
8
|
+
export { compactSnapshotHistory, createAgent, formatReplayedPrefix, } from './default-agent.js';
|
|
9
|
+
export { conversationMemory, createGrammarTools, createVerdictTool, trackModelCalls, VERDICT_RULES, } from './primitives.js';
|
|
9
10
|
export { createToolLoopExecutor, } from './tool-loop.js';
|
|
10
|
-
export {
|
|
11
|
+
export { serializeLedger } from './ledger.js';
|
|
12
|
+
export { defineTool, isDefinedTool, toolAppliesTo, } from './tool.js';
|
|
11
13
|
export { AgentError, isAgentError } from './error.js';
|
|
12
14
|
//# sourceMappingURL=public.js.map
|
package/dist/agent/public.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/agent/public.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/agent/public.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,oBAAoB,GAErB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,aAAa,GAKd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,GAMvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAGlE,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,GAGd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/agent/replay.d.ts
CHANGED
|
@@ -57,5 +57,5 @@ export declare function replayTrace(host: ReplayHost, trace: ActionTrace): Promi
|
|
|
57
57
|
* observed at all is a mismatch too — the executor gets the step and judges
|
|
58
58
|
* the live state; only runtime hard stops propagate.
|
|
59
59
|
*/
|
|
60
|
-
export declare function verifyAnchors(host: ReplayHost, anchors: readonly TraceTargetDescriptor[]): Promise<boolean>;
|
|
60
|
+
export declare function verifyAnchors(host: ReplayHost, anchors: readonly TraceTargetDescriptor[], waitMs?: number): Promise<boolean>;
|
|
61
61
|
//# sourceMappingURL=replay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/agent/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAkB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EACzB,MAAM,eAAe,CAAC;AAQvB,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE9D,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAClC;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,WAAW,IAAI,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,iDAAiD;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AA2DD,wDAAwD;AACxD,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAmC9F;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,SAAS,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/agent/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAkB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EACzB,MAAM,eAAe,CAAC;AAQvB,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE9D,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAClC;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,WAAW,IAAI,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,iDAAiD;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AA2DD,wDAAwD;AACxD,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAmC9F;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,MAAM,SAAI,GACT,OAAO,CAAC,OAAO,CAAC,CAsBlB"}
|
package/dist/agent/replay.js
CHANGED
|
@@ -112,12 +112,25 @@ export async function replayTrace(host, trace) {
|
|
|
112
112
|
* observed at all is a mismatch too — the executor gets the step and judges
|
|
113
113
|
* the live state; only runtime hard stops propagate.
|
|
114
114
|
*/
|
|
115
|
-
export async function verifyAnchors(host, anchors) {
|
|
115
|
+
export async function verifyAnchors(host, anchors, waitMs = 0) {
|
|
116
116
|
if (anchors.length === 0)
|
|
117
117
|
return true;
|
|
118
|
+
const startedMs = Date.now();
|
|
118
119
|
try {
|
|
119
120
|
const present = await pollSettled(host, (nodes) => anchorsPresent(anchors, nodes, host) ? true : undefined);
|
|
120
|
-
|
|
121
|
+
if (present === true)
|
|
122
|
+
return true;
|
|
123
|
+
// The settling backoff covers a slow re-render; the recorded run may have
|
|
124
|
+
// waited far longer than that for its effect — a report that takes half a
|
|
125
|
+
// minute — and so does the replay, up to what the recording needed, while
|
|
126
|
+
// the step clock leaves room for a hand-off to act.
|
|
127
|
+
const deadline = startedMs + Math.min(waitMs, Math.max(0, host.remainingMs() - END_WAIT_RESERVE_MS));
|
|
128
|
+
while (Date.now() < deadline && !host.signal.aborted) {
|
|
129
|
+
await sleep(Math.min(END_WAIT_POLL_MS, deadline - Date.now()), host.signal);
|
|
130
|
+
if (anchorsPresent(anchors, await host.observe(), host))
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
return false;
|
|
121
134
|
}
|
|
122
135
|
catch (cause) {
|
|
123
136
|
if (isReplayFatal(cause, host.signal))
|
|
@@ -125,6 +138,10 @@ export async function verifyAnchors(host, anchors) {
|
|
|
125
138
|
return false;
|
|
126
139
|
}
|
|
127
140
|
}
|
|
141
|
+
/** Poll cadence while a replay waits for the recorded end state beyond the settling backoff. */
|
|
142
|
+
const END_WAIT_POLL_MS = 1_000;
|
|
143
|
+
/** Step clock kept back from that wait, so a hand-off still has room to act. */
|
|
144
|
+
const END_WAIT_RESERVE_MS = 20_000;
|
|
128
145
|
/**
|
|
129
146
|
* Relocates one descriptor against the settling screen. Only a missing target
|
|
130
147
|
* is worth another look; ambiguity never retries — two matching nodes will
|
package/dist/agent/replay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/agent/replay.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/agent/replay.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,7 @@ export declare class StepTraceSession {
|
|
|
51
51
|
private info;
|
|
52
52
|
private prefix;
|
|
53
53
|
private startPath;
|
|
54
|
+
private startedMs;
|
|
54
55
|
/**
|
|
55
56
|
* The screen before any action, captured only when this step may write: the
|
|
56
57
|
* staged trace's end anchors are the delta between this and the passing
|
|
@@ -124,6 +125,8 @@ export declare class StepTraceSession {
|
|
|
124
125
|
* anchor present again.
|
|
125
126
|
*/
|
|
126
127
|
private endStateMatches;
|
|
128
|
+
/** Whether the current path becomes `endPath` within the settling backoff. */
|
|
129
|
+
private pathSettles;
|
|
127
130
|
private selfFinalize;
|
|
128
131
|
private handOff;
|
|
129
132
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-cache.d.ts","sourceRoot":"","sources":["../../src/agent/step-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-cache.d.ts","sourceRoot":"","sources":["../../src/agent/step-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/step-cache.js
CHANGED
|
@@ -15,8 +15,21 @@ import { describeAnchors } from '../cache/anchors.js';
|
|
|
15
15
|
import { decideTraceReplay, opensWithNavigate, samePathname, } from '../cache/decide.js';
|
|
16
16
|
import { TraceRecorder } from '../cache/recorder.js';
|
|
17
17
|
import { readTraceEntry } from '../cache/trace.js';
|
|
18
|
+
import { sleep } from '../internal/time.js';
|
|
18
19
|
import { isRuntimeHardStop } from './executor.js';
|
|
19
20
|
import { replayTrace, verifyAnchors, } from './replay.js';
|
|
21
|
+
/** Margin added to a recorded step's duration when replay waits for its end state. */
|
|
22
|
+
const END_WAIT_MARGIN_MS = 10_000;
|
|
23
|
+
/**
|
|
24
|
+
* How long a replay waits for a recorded destination path to be the current
|
|
25
|
+
* one. A step that moved records no anchors: the path is its whole
|
|
26
|
+
* postcondition, and the replayed tap that starts the navigation returns
|
|
27
|
+
* before the new document commits. Reading the path once, right after the
|
|
28
|
+
* tap, hands every navigation off as an end-mismatch; polling with the
|
|
29
|
+
* settling backoff lets the destination arrive. Bounded like anchor polling.
|
|
30
|
+
*/
|
|
31
|
+
const END_PATH_DELAYS_MS = [100, 300, 600, 1_000, 3_000];
|
|
32
|
+
const END_PATH_TIMEOUT_MS = 15_000;
|
|
20
33
|
export class StepTraceSession {
|
|
21
34
|
host;
|
|
22
35
|
cache;
|
|
@@ -26,6 +39,7 @@ export class StepTraceSession {
|
|
|
26
39
|
info;
|
|
27
40
|
prefix;
|
|
28
41
|
startPath;
|
|
42
|
+
startedMs = Date.now();
|
|
29
43
|
/**
|
|
30
44
|
* The screen before any action, captured only when this step may write: the
|
|
31
45
|
* staged trace's end anchors are the delta between this and the passing
|
|
@@ -87,6 +101,7 @@ export class StepTraceSession {
|
|
|
87
101
|
* propagate.
|
|
88
102
|
*/
|
|
89
103
|
async begin() {
|
|
104
|
+
this.startedMs = Date.now();
|
|
90
105
|
// Captured before any action for the write's start-path precondition, and
|
|
91
106
|
// doubling as the replay decision's current path.
|
|
92
107
|
this.startPath = await this.host.currentPath();
|
|
@@ -190,12 +205,26 @@ export class StepTraceSession {
|
|
|
190
205
|
* anchor present again.
|
|
191
206
|
*/
|
|
192
207
|
async endStateMatches(trace) {
|
|
193
|
-
if (trace.endPath !== undefined)
|
|
208
|
+
if (trace.endPath !== undefined && !(await this.pathSettles(trace.endPath)))
|
|
209
|
+
return false;
|
|
210
|
+
return verifyAnchors(this.host, trace.endAnchors ?? [], trace.endWaitMs);
|
|
211
|
+
}
|
|
212
|
+
/** Whether the current path becomes `endPath` within the settling backoff. */
|
|
213
|
+
async pathSettles(endPath) {
|
|
214
|
+
const startedMs = Date.now();
|
|
215
|
+
for (let attempt = 0;; attempt += 1) {
|
|
194
216
|
const current = await this.host.currentPath();
|
|
195
|
-
if (current
|
|
217
|
+
if (current === undefined || samePathname(current, endPath))
|
|
218
|
+
return true;
|
|
219
|
+
const delay = END_PATH_DELAYS_MS[attempt];
|
|
220
|
+
if (delay === undefined ||
|
|
221
|
+
Date.now() - startedMs + delay > END_PATH_TIMEOUT_MS ||
|
|
222
|
+
this.host.remainingMs() <= delay ||
|
|
223
|
+
this.host.signal.aborted) {
|
|
196
224
|
return false;
|
|
225
|
+
}
|
|
226
|
+
await sleep(delay, this.host.signal);
|
|
197
227
|
}
|
|
198
|
-
return verifyAnchors(this.host, trace.endAnchors ?? []);
|
|
199
228
|
}
|
|
200
229
|
selfFinalize(trace, outcome) {
|
|
201
230
|
this.replayed = trace;
|
|
@@ -257,6 +286,9 @@ export class StepTraceSession {
|
|
|
257
286
|
...(this.startPath === undefined ? {} : { startPath: this.startPath }),
|
|
258
287
|
...(endPath === undefined ? {} : { endPath }),
|
|
259
288
|
...(endAnchors === undefined ? {} : { endAnchors }),
|
|
289
|
+
// What the live run needed to reach its end state, plus room for a
|
|
290
|
+
// slower day: the budget a replay waits for the anchors to return.
|
|
291
|
+
...(endAnchors === undefined ? {} : { endWaitMs: Date.now() - this.startedMs + END_WAIT_MARGIN_MS }),
|
|
260
292
|
});
|
|
261
293
|
if (trace === undefined)
|
|
262
294
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-cache.js","sourceRoot":"","sources":["../../src/agent/step-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAqC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-cache.js","sourceRoot":"","sources":["../../src/agent/step-cache.ts"],"names":[],"mappings":"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"}
|