@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
package/dist/agent/invocation.js
CHANGED
|
@@ -9,9 +9,9 @@ import { Deadline } from '../internal/time.js';
|
|
|
9
9
|
import { agentTrace, observationTrace } from '../internal/trace.js';
|
|
10
10
|
import { AgentError } from './error.js';
|
|
11
11
|
import { boundedOperation, checkStepClock, instrumentPhase, recordPolicyEvent, retryingObserve, } from './phases.js';
|
|
12
|
-
import { serializeLedger } from './ledger.js';
|
|
12
|
+
import { projectPriorSteps, serializeLedger } from './ledger.js';
|
|
13
13
|
import { imageTokenUpperBound, ModelOutputInvalidError, tokenUpperBound, } from './model/adapter.js';
|
|
14
|
-
import { prepareObservation } from './observation.js';
|
|
14
|
+
import { pixelsForModel, prepareObservation } from './observation.js';
|
|
15
15
|
import { POLICY_VERSION, buildPrompt, buildSystem } from './prompts.js';
|
|
16
16
|
const MAX_OUTPUT_TOKENS = 2048;
|
|
17
17
|
/**
|
|
@@ -78,7 +78,7 @@ export class Invocation {
|
|
|
78
78
|
this.pixelTier = options.vision === true || options.vision === 'only';
|
|
79
79
|
this.system = buildSystem(options.task, runtime.agentContext);
|
|
80
80
|
this.systemBytes = tokenUpperBound(this.system);
|
|
81
|
-
this.ledger = serializeLedger(runtime.priorSteps(), runtime.config.limits.maxLedgerBytes);
|
|
81
|
+
this.ledger = serializeLedger(projectPriorSteps(runtime.priorSteps()), runtime.config.limits.maxLedgerBytes);
|
|
82
82
|
agentTrace(() => `${options.api} ${JSON.stringify(options.label ?? '')} start ` +
|
|
83
83
|
`(timeout ${options.timeoutMs}ms, budget ${options.maxModelCalls} calls, ledger ${this.ledger.bytes}B)`);
|
|
84
84
|
}
|
|
@@ -135,7 +135,7 @@ export class Invocation {
|
|
|
135
135
|
observe: (operation) => this.session.observe(operation, { pixels }),
|
|
136
136
|
operation: () => this.operation(),
|
|
137
137
|
guard: (cause) => this.checkDeadline(cause),
|
|
138
|
-
signal: this.runtime.signal,
|
|
138
|
+
signal: this.runtime.engine.signal,
|
|
139
139
|
api: this.options.api,
|
|
140
140
|
});
|
|
141
141
|
}
|
|
@@ -155,13 +155,13 @@ export class Invocation {
|
|
|
155
155
|
}
|
|
156
156
|
/** Records whether requested pixels actually became model input. */
|
|
157
157
|
recordPixels(observation) {
|
|
158
|
-
const
|
|
159
|
-
if (
|
|
160
|
-
this.loseVision(
|
|
158
|
+
const outcome = pixelsForModel(observation, this.runtime.taint.value);
|
|
159
|
+
if ('withheld' in outcome) {
|
|
160
|
+
this.loseVision(outcome.withheld);
|
|
161
161
|
return;
|
|
162
162
|
}
|
|
163
163
|
this.visionInput = true;
|
|
164
|
-
this.metrics.pixelBytes = Math.max(this.metrics.pixelBytes ?? 0, pixels.
|
|
164
|
+
this.metrics.pixelBytes = Math.max(this.metrics.pixelBytes ?? 0, outcome.pixels.data.byteLength);
|
|
165
165
|
this.recordPolicy('vision.pixels', 'allowed');
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
@@ -234,7 +234,7 @@ export class Invocation {
|
|
|
234
234
|
validate: request.validate,
|
|
235
235
|
maxOutputTokens: MAX_OUTPUT_TOKENS,
|
|
236
236
|
maxInputTokens: this.runtime.config.limits.maxModelTokensPerCall,
|
|
237
|
-
signal: this.runtime.signal,
|
|
237
|
+
signal: this.runtime.engine.signal,
|
|
238
238
|
timeoutMs: Math.max(1, this.deadline.remaining()),
|
|
239
239
|
}), (generated) => ({
|
|
240
240
|
count: generated.usage.inputTokens + generated.usage.outputTokens,
|
|
@@ -295,7 +295,7 @@ export class Invocation {
|
|
|
295
295
|
/** Fails when the invocation deadline has elapsed (see checkStepClock). */
|
|
296
296
|
checkDeadline(cause) {
|
|
297
297
|
checkStepClock({
|
|
298
|
-
signal: this.runtime.signal,
|
|
298
|
+
signal: this.runtime.engine.signal,
|
|
299
299
|
deadline: this.deadline,
|
|
300
300
|
api: this.options.api,
|
|
301
301
|
timeoutMs: this.options.timeoutMs,
|
|
@@ -365,8 +365,8 @@ export class Invocation {
|
|
|
365
365
|
/** Trace fragment describing what pixel evidence an observation carried. */
|
|
366
366
|
function describePixels(observation) {
|
|
367
367
|
if (observation.pixels !== undefined) {
|
|
368
|
-
const { width, height,
|
|
369
|
-
return `, pixels ${width}x${height} ${
|
|
368
|
+
const { width, height, data, maskedRegionCount } = observation.pixels;
|
|
369
|
+
return `, pixels ${width}x${height} ${data.byteLength}B, ${maskedRegionCount} masked`;
|
|
370
370
|
}
|
|
371
371
|
return observation.pixelsWithheld === undefined
|
|
372
372
|
? ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation.js","sourceRoot":"","sources":["../../src/agent/invocation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invocation.js","sourceRoot":"","sources":["../../src/agent/invocation.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/ledger.d.ts
CHANGED
|
@@ -8,17 +8,27 @@
|
|
|
8
8
|
* Entries are untrusted quoted evidence and never carry policy authority.
|
|
9
9
|
*/
|
|
10
10
|
import type { StepRecord } from '../run/steps.ts';
|
|
11
|
+
import type { ExecutorPriorStep } from './executor.ts';
|
|
11
12
|
/** Maximum size of one handoff, before ledger-wide compaction. */
|
|
12
13
|
export declare const MAX_HANDOFF_BYTES = 700;
|
|
14
|
+
/**
|
|
15
|
+
* Projects recorded steps onto the executor-facing shape: the fields a brain
|
|
16
|
+
* builds history from, sanitized here — the one trust boundary where step
|
|
17
|
+
* records become model input — and nothing that carries runner internals.
|
|
18
|
+
*/
|
|
19
|
+
export declare function projectPriorSteps(records: readonly StepRecord[]): ExecutorPriorStep[];
|
|
20
|
+
/** The fields one ledger entry is built from. */
|
|
21
|
+
type LedgerEntry = Pick<ExecutorPriorStep, 'api' | 'label' | 'status' | 'explanation'>;
|
|
13
22
|
export interface LedgerContext {
|
|
14
23
|
readonly text: string;
|
|
15
24
|
readonly bytes: number;
|
|
16
25
|
}
|
|
17
26
|
/**
|
|
18
|
-
* Serializes
|
|
27
|
+
* Serializes prior steps as prompt context: newest entries first until the
|
|
19
28
|
* byte budget is reached, then emitted chronologically with the dropped count
|
|
20
|
-
* prepended.
|
|
21
|
-
*
|
|
29
|
+
* prepended. Takes the already-sanitized `ExecutorPriorStep` records and
|
|
30
|
+
* bounds each label and handoff to the ledger's own line budget.
|
|
22
31
|
*/
|
|
23
|
-
export declare function serializeLedger(steps: readonly
|
|
32
|
+
export declare function serializeLedger(steps: readonly LedgerEntry[], maxBytes: number): LedgerContext;
|
|
33
|
+
export {};
|
|
24
34
|
//# sourceMappingURL=ledger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/agent/ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/agent/ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAOrC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAUrF;AAMD,iDAAiD;AACjD,KAAK,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAiB9F"}
|
package/dist/agent/ledger.js
CHANGED
|
@@ -11,11 +11,32 @@ import { sanitizeText, truncateUtf8 } from '../internal/errors.js';
|
|
|
11
11
|
/** Maximum size of one handoff, before ledger-wide compaction. */
|
|
12
12
|
export const MAX_HANDOFF_BYTES = 700;
|
|
13
13
|
const MAX_LABEL_BYTES = 256;
|
|
14
|
+
/** Bytes one prior-step field may occupy: sanitized quoted evidence, never policy. */
|
|
15
|
+
const MAX_PRIOR_STEP_FIELD_BYTES = 8_192;
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
17
|
+
* Projects recorded steps onto the executor-facing shape: the fields a brain
|
|
18
|
+
* builds history from, sanitized here — the one trust boundary where step
|
|
19
|
+
* records become model input — and nothing that carries runner internals.
|
|
20
|
+
*/
|
|
21
|
+
export function projectPriorSteps(records) {
|
|
22
|
+
return records.map((step) => ({
|
|
23
|
+
index: step.index,
|
|
24
|
+
kind: step.kind,
|
|
25
|
+
api: step.api,
|
|
26
|
+
label: boundedText(step.label),
|
|
27
|
+
status: step.status,
|
|
28
|
+
...(step.explanation === undefined ? {} : { explanation: boundedText(step.explanation) }),
|
|
29
|
+
...(step.cache === undefined ? {} : { cache: step.cache.mode }),
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
function boundedText(text) {
|
|
33
|
+
return truncateUtf8(sanitizeText(text), MAX_PRIOR_STEP_FIELD_BYTES);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Serializes prior steps as prompt context: newest entries first until the
|
|
16
37
|
* byte budget is reached, then emitted chronologically with the dropped count
|
|
17
|
-
* prepended.
|
|
18
|
-
*
|
|
38
|
+
* prepended. Takes the already-sanitized `ExecutorPriorStep` records and
|
|
39
|
+
* bounds each label and handoff to the ledger's own line budget.
|
|
19
40
|
*/
|
|
20
41
|
export function serializeLedger(steps, maxBytes) {
|
|
21
42
|
const encoder = new TextEncoder();
|
|
@@ -38,11 +59,11 @@ export function serializeLedger(steps, maxBytes) {
|
|
|
38
59
|
return { text, bytes: encoder.encode(text).byteLength };
|
|
39
60
|
}
|
|
40
61
|
function formatEntry(step, position) {
|
|
41
|
-
const label = truncateUtf8(
|
|
62
|
+
const label = truncateUtf8(step.label, MAX_LABEL_BYTES);
|
|
42
63
|
const head = `${position}. ${step.api} ${step.status}${label === '' ? '' : ` :: ${label}`}`;
|
|
43
64
|
if (step.explanation === undefined)
|
|
44
65
|
return head;
|
|
45
|
-
const handoff = truncateUtf8(
|
|
66
|
+
const handoff = truncateUtf8(step.explanation, MAX_HANDOFF_BYTES);
|
|
46
67
|
return `${head}\n observed: ${handoff}`;
|
|
47
68
|
}
|
|
48
69
|
//# sourceMappingURL=ledger.js.map
|
package/dist/agent/ledger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/agent/ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/agent/ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,19 @@ export type LoopGuardVerdict = {
|
|
|
20
20
|
readonly kind: 'warn' | 'stop';
|
|
21
21
|
readonly reason: string;
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Guard thresholds. Identical-call (period 1) counts are consecutive
|
|
25
|
+
* repetitions of one call; cycle (period 2..4) counts are whole repetitions
|
|
26
|
+
* of the sequence. Each warns first, then forces the conclusion.
|
|
27
|
+
*/
|
|
28
|
+
export interface LoopGuardThresholds {
|
|
29
|
+
readonly repeatWarn: number;
|
|
30
|
+
readonly repeatStop: number;
|
|
31
|
+
readonly cycleWarn: number;
|
|
32
|
+
readonly cycleStop: number;
|
|
33
|
+
}
|
|
34
|
+
/** The thresholds the built-in agent ships with. */
|
|
35
|
+
export declare const DEFAULT_LOOP_GUARD_THRESHOLDS: LoopGuardThresholds;
|
|
23
36
|
/**
|
|
24
37
|
* Extracts the tool-call identity sequence from a model transcript,
|
|
25
38
|
* excluding the conclusion tool: concluding attempts are never "loops".
|
|
@@ -31,5 +44,5 @@ export declare function extractGuardCalls(messages: readonly ModelMessage[], con
|
|
|
31
44
|
* on different targets never count as a repeat — only literally re-issuing
|
|
32
45
|
* the same work does.
|
|
33
46
|
*/
|
|
34
|
-
export declare function checkLoopGuards(calls: readonly GuardToolCall[]): LoopGuardVerdict;
|
|
47
|
+
export declare function checkLoopGuards(calls: readonly GuardToolCall[], thresholds?: LoopGuardThresholds): LoopGuardVerdict;
|
|
35
48
|
//# sourceMappingURL=loop-guards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-guards.d.ts","sourceRoot":"","sources":["../../src/agent/loop-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"loop-guards.d.ts","sourceRoot":"","sources":["../../src/agent/loop-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAKhE;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,oDAAoD;AACpD,eAAO,MAAM,6BAA6B,EAAE,mBAK3C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,gBAAgB,EAAE,MAAM,GACvB,aAAa,EAAE,CAUjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,UAAU,GAAE,mBAAmD,GAC9D,gBAAgB,CAgBlB"}
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
*/
|
|
11
11
|
/** Longest cycle period the detector considers. */
|
|
12
12
|
const MAX_CYCLE_PERIOD = 4;
|
|
13
|
-
/**
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
/** The thresholds the built-in agent ships with. */
|
|
14
|
+
export const DEFAULT_LOOP_GUARD_THRESHOLDS = {
|
|
15
|
+
repeatWarn: 3,
|
|
16
|
+
repeatStop: 5,
|
|
17
|
+
cycleWarn: 2,
|
|
18
|
+
cycleStop: 3,
|
|
19
|
+
};
|
|
19
20
|
/**
|
|
20
21
|
* Extracts the tool-call identity sequence from a model transcript,
|
|
21
22
|
* excluding the conclusion tool: concluding attempts are never "loops".
|
|
@@ -39,11 +40,13 @@ export function extractGuardCalls(messages, concludeToolName) {
|
|
|
39
40
|
* on different targets never count as a repeat — only literally re-issuing
|
|
40
41
|
* the same work does.
|
|
41
42
|
*/
|
|
42
|
-
export function checkLoopGuards(calls) {
|
|
43
|
+
export function checkLoopGuards(calls, thresholds = DEFAULT_LOOP_GUARD_THRESHOLDS) {
|
|
43
44
|
let warning;
|
|
44
45
|
for (let period = 1; period <= MAX_CYCLE_PERIOD; period += 1) {
|
|
45
46
|
const repeats = trailingRepeats(calls, period);
|
|
46
|
-
const [warnAt, stopAt] = period === 1
|
|
47
|
+
const [warnAt, stopAt] = period === 1
|
|
48
|
+
? [thresholds.repeatWarn, thresholds.repeatStop]
|
|
49
|
+
: [thresholds.cycleWarn, thresholds.cycleStop];
|
|
47
50
|
if (repeats >= stopAt) {
|
|
48
51
|
return { kind: 'stop', reason: describe(calls, period, repeats) };
|
|
49
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-guards.js","sourceRoot":"","sources":["../../src/agent/loop-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,mDAAmD;AACnD,MAAM,gBAAgB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"loop-guards.js","sourceRoot":"","sources":["../../src/agent/loop-guards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/** Observation capture, redaction, and model serialization (spec 09-drivers.md, 14-security.md). */
|
|
2
|
-
import type { Observation,
|
|
2
|
+
import type { Observation, SemanticNode } from '../backend/surface.ts';
|
|
3
|
+
import type { VisionDegradation } from '../run/steps.ts';
|
|
4
|
+
import type { ExecutorNode, ExecutorPixels } from './executor.ts';
|
|
3
5
|
/** Why pixels the caller asked for are not part of this observation. */
|
|
4
6
|
type PixelsWithheld = 'MASKING_UNPROVEN';
|
|
5
|
-
/** Masked pixel evidence cleared for model input. */
|
|
6
|
-
export interface AgentPixels extends ObservationPixels {
|
|
7
|
-
readonly maskedRegionCount: number;
|
|
8
|
-
readonly bytes: number;
|
|
9
|
-
}
|
|
10
7
|
export interface AgentObservation {
|
|
11
8
|
readonly revision: string;
|
|
12
9
|
/** Redacted, size-bounded serialization sent to the model. */
|
|
13
10
|
readonly text: string;
|
|
14
11
|
readonly bytes: number;
|
|
15
12
|
readonly nodes: ReadonlyMap<string, SemanticNode>;
|
|
13
|
+
/** Parent id of every non-root node, for the container a target sits in. */
|
|
14
|
+
readonly parents: ReadonlyMap<string, string>;
|
|
15
|
+
/** The raw tree as the backend reported it; redacted only on the way out. */
|
|
16
|
+
readonly tree: SemanticNode;
|
|
16
17
|
readonly viewport: {
|
|
17
18
|
readonly width: number;
|
|
18
19
|
readonly height: number;
|
|
@@ -20,7 +21,7 @@ export interface AgentObservation {
|
|
|
20
21
|
};
|
|
21
22
|
readonly truncated: boolean;
|
|
22
23
|
/** Present only when the backend captured pixels and masking checks out. */
|
|
23
|
-
readonly pixels?:
|
|
24
|
+
readonly pixels?: ExecutorPixels | undefined;
|
|
24
25
|
/** Set when captured pixels were dropped instead of being sent. */
|
|
25
26
|
readonly pixelsWithheld?: PixelsWithheld | undefined;
|
|
26
27
|
}
|
|
@@ -37,6 +38,24 @@ export declare function prepareObservation(observation: Observation, options: {
|
|
|
37
38
|
maxBytes: number;
|
|
38
39
|
testIdAttribute: string;
|
|
39
40
|
}): AgentObservation;
|
|
41
|
+
/**
|
|
42
|
+
* Whether requested pixels become model input, decided once per observation
|
|
43
|
+
* for every tier that asks: a tainted viewport (a secret filled this attempt)
|
|
44
|
+
* is denied first, since the secret may be anywhere on screen; then the
|
|
45
|
+
* capture's own reasons; then the pixels themselves.
|
|
46
|
+
*/
|
|
47
|
+
export declare function pixelsForModel(observation: AgentObservation, tainted: boolean): {
|
|
48
|
+
readonly pixels: ExecutorPixels;
|
|
49
|
+
} | {
|
|
50
|
+
readonly withheld: VisionDegradation;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Projects the raw tree onto the executor-facing node shape: the same
|
|
54
|
+
* redaction the text serialization applies, field by field, and no value at
|
|
55
|
+
* all for a secure node. Selectors stay behind — they are relocation
|
|
56
|
+
* material for the trace cache, not something a brain reasons about.
|
|
57
|
+
*/
|
|
58
|
+
export declare function projectTree(node: SemanticNode, redact: (text: string) => string): ExecutorNode;
|
|
40
59
|
/**
|
|
41
60
|
* What the screen looks like, independent of which observation looked at it.
|
|
42
61
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../src/agent/observation.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,KAAK,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../src/agent/observation.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKlE,wEAAwE;AACxE,KAAK,cAAc,GAAG,kBAAkB,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC7C,mEAAmE;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE;IACP,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB,GACA,gBAAgB,CAgDlB;AAqBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,OAAO,GACf;IAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,CAMhF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,YAAY,CAqB9F;AA8CD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,GAAG,MAAM,CAOtE;AAMD,oFAAoF;AACpF,UAAU,WAAW;IACnB,WAAW,IAAI,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,EAC7B,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,CAAC,CAAC,CAaZ"}
|
|
@@ -13,7 +13,8 @@ const TRUNCATION_MARKER = '[observation truncated at the resolved observation by
|
|
|
13
13
|
*/
|
|
14
14
|
export function prepareObservation(observation, options) {
|
|
15
15
|
const nodes = new Map();
|
|
16
|
-
|
|
16
|
+
const parents = new Map();
|
|
17
|
+
indexNodes(observation.tree, nodes, parents);
|
|
17
18
|
const redact = options.redact;
|
|
18
19
|
const lines = [];
|
|
19
20
|
const encoder = new TextEncoder();
|
|
@@ -51,6 +52,8 @@ export function prepareObservation(observation, options) {
|
|
|
51
52
|
text,
|
|
52
53
|
bytes: textBytes,
|
|
53
54
|
nodes,
|
|
55
|
+
parents,
|
|
56
|
+
tree: observation.tree,
|
|
54
57
|
viewport: observation.viewport,
|
|
55
58
|
truncated,
|
|
56
59
|
...(pixels.cleared === undefined ? {} : { pixels: pixels.cleared }),
|
|
@@ -72,7 +75,48 @@ function clearPixels(observation) {
|
|
|
72
75
|
const { secureNodeCount, maskedRegionCount } = observation.redaction;
|
|
73
76
|
if (maskedRegionCount < secureNodeCount)
|
|
74
77
|
return { withheld: 'MASKING_UNPROVEN' };
|
|
75
|
-
return { cleared: { ...pixels, maskedRegionCount
|
|
78
|
+
return { cleared: { ...pixels, maskedRegionCount } };
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Whether requested pixels become model input, decided once per observation
|
|
82
|
+
* for every tier that asks: a tainted viewport (a secret filled this attempt)
|
|
83
|
+
* is denied first, since the secret may be anywhere on screen; then the
|
|
84
|
+
* capture's own reasons; then the pixels themselves.
|
|
85
|
+
*/
|
|
86
|
+
export function pixelsForModel(observation, tainted) {
|
|
87
|
+
if (tainted)
|
|
88
|
+
return { withheld: 'PIXEL_TAINTED' };
|
|
89
|
+
if (observation.pixels === undefined) {
|
|
90
|
+
return { withheld: observation.pixelsWithheld ?? 'UNSUPPORTED_CAPABILITY' };
|
|
91
|
+
}
|
|
92
|
+
return { pixels: observation.pixels };
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Projects the raw tree onto the executor-facing node shape: the same
|
|
96
|
+
* redaction the text serialization applies, field by field, and no value at
|
|
97
|
+
* all for a secure node. Selectors stay behind — they are relocation
|
|
98
|
+
* material for the trace cache, not something a brain reasons about.
|
|
99
|
+
*/
|
|
100
|
+
export function projectTree(node, redact) {
|
|
101
|
+
const secure = node.states?.secure === true;
|
|
102
|
+
const attributes = node.attributes === undefined
|
|
103
|
+
? undefined
|
|
104
|
+
: Object.fromEntries(Object.entries(node.attributes).map(([key, value]) => [key, redact(value)]));
|
|
105
|
+
return {
|
|
106
|
+
id: node.ref.id,
|
|
107
|
+
...(node.role === undefined ? {} : { role: node.role }),
|
|
108
|
+
...(node.name === undefined ? {} : { name: redact(node.name) }),
|
|
109
|
+
...(node.text === undefined ? {} : { text: redact(node.text) }),
|
|
110
|
+
...(node.value === undefined || secure ? {} : { value: redact(node.value) }),
|
|
111
|
+
...(node.inputPurpose === undefined ? {} : { inputPurpose: node.inputPurpose }),
|
|
112
|
+
...(node.states === undefined ? {} : { states: node.states }),
|
|
113
|
+
...(attributes === undefined ? {} : { attributes }),
|
|
114
|
+
...(node.rect === undefined ? {} : { rect: node.rect }),
|
|
115
|
+
...(node.framePath === undefined ? {} : { framePath: node.framePath }),
|
|
116
|
+
...(node.children === undefined
|
|
117
|
+
? {}
|
|
118
|
+
: { children: node.children.map((child) => projectTree(child, redact)) }),
|
|
119
|
+
};
|
|
76
120
|
}
|
|
77
121
|
/** Depth beyond this renders flat; deep chrome must not buy tokens with spaces. */
|
|
78
122
|
const MAX_INDENT_DEPTH = 10;
|
|
@@ -166,9 +210,11 @@ export async function settleObservation(capture, shapeOf, clock) {
|
|
|
166
210
|
}
|
|
167
211
|
return value;
|
|
168
212
|
}
|
|
169
|
-
function indexNodes(node, into) {
|
|
213
|
+
function indexNodes(node, into, parents) {
|
|
170
214
|
into.set(node.ref.id, node);
|
|
171
|
-
for (const child of node.children ?? [])
|
|
172
|
-
|
|
215
|
+
for (const child of node.children ?? []) {
|
|
216
|
+
parents.set(child.ref.id, node.ref.id);
|
|
217
|
+
indexNodes(child, into, parents);
|
|
218
|
+
}
|
|
173
219
|
}
|
|
174
220
|
//# sourceMappingURL=observation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/agent/observation.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAGpG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/agent/observation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 type { ModelMessage, StepResult, Tool, ToolSet } from 'ai';
|
|
17
|
+
import { type StepExecutorContext, type StepVerdict } from './executor.ts';
|
|
18
|
+
/** The verdict rules the built-in agent appends to its instructions. */
|
|
19
|
+
export declare const VERDICT_RULES = "Verdict rules:\n- When the step's goal is achieved, or you are certain it cannot be, call complete_step exactly once.\n- Verify outcomes with your tools before concluding; never guess success.\n- \"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 \u2014 blocked says nothing about the product and requires an errorCode.";
|
|
20
|
+
/** The conclusion tool and the verdict it collected. */
|
|
21
|
+
export interface VerdictTool {
|
|
22
|
+
/** The `complete_step` tool; add it to the toolset under that name. */
|
|
23
|
+
readonly tool: Tool;
|
|
24
|
+
/** The verdict once the model called the tool with an accepted one. */
|
|
25
|
+
verdict(): StepVerdict | undefined;
|
|
26
|
+
/** True once a verdict landed; a `stopWhen` condition for a raw loop. */
|
|
27
|
+
concluded(): boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The `complete_step` verdict tool. A blocked verdict without a blockable
|
|
31
|
+
* code is rejected back to the model, a passed verdict never carries a code,
|
|
32
|
+
* and the first accepted verdict is final.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createVerdictTool(): VerdictTool;
|
|
35
|
+
/** What a tool body runs under; the chassis supplies its loop policy here. */
|
|
36
|
+
export interface GrammarToolOptions {
|
|
37
|
+
/**
|
|
38
|
+
* Wraps every tool body. The default runs it as is, so a harness hard stop
|
|
39
|
+
* (budget, timeout, cancel) propagates out of the tool; the chassis's guard
|
|
40
|
+
* instead turns it into text and ends the loop.
|
|
41
|
+
*/
|
|
42
|
+
readonly guard?: (body: () => Promise<string>) => Promise<string>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* AI SDK tools over the harness action grammar, limited to the verbs the
|
|
46
|
+
* target's backend declared. A verb the surface cannot honor is not offered
|
|
47
|
+
* at all, so the model never learns vocabulary it can only be rejected on.
|
|
48
|
+
* Every mutating tool returns the updated screen.
|
|
49
|
+
*/
|
|
50
|
+
export declare function createGrammarTools(context: StepExecutorContext, options?: GrammarToolOptions): ToolSet;
|
|
51
|
+
/** Step handlers that report every model round trip to the harness budgets. */
|
|
52
|
+
export interface ModelCallTracker {
|
|
53
|
+
/** Pass as `onStepStart`; marks the turn's start for its duration. */
|
|
54
|
+
onStepStart(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Pass as `onStepEnd` (or `onStepFinish`); records the turn's usage, cost,
|
|
57
|
+
* and provenance. Throws `STEP_BUDGET_EXHAUSTED` past the model-call budget,
|
|
58
|
+
* which ends a raw loop the same way it ends the chassis.
|
|
59
|
+
*/
|
|
60
|
+
onStepEnd(step: Pick<StepResult<ToolSet>, 'usage' | 'providerMetadata'>): void;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Model-call accounting for a loop the executor runs itself. `model` names
|
|
64
|
+
* the provider and model id in the report; pass the AI SDK model instance.
|
|
65
|
+
*/
|
|
66
|
+
export declare function trackModelCalls(context: StepExecutorContext, model?: {
|
|
67
|
+
readonly provider?: string;
|
|
68
|
+
readonly modelId?: string;
|
|
69
|
+
}): ModelCallTracker;
|
|
70
|
+
/** A conversation kept in the attempt memory across the steps of one test. */
|
|
71
|
+
export interface ConversationMemory {
|
|
72
|
+
/** Messages remembered by earlier steps of this attempt; empty on the first. */
|
|
73
|
+
readonly messages: readonly ModelMessage[];
|
|
74
|
+
/** Index of the last step that remembered, or -1. */
|
|
75
|
+
readonly lastStepIndex: number;
|
|
76
|
+
/** Stores the history for the next step of the attempt. */
|
|
77
|
+
remember(messages: readonly ModelMessage[]): void;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The executor's own conversation across an attempt, kept in
|
|
81
|
+
* `context.attempt.memory` under `key`. Open a step with
|
|
82
|
+
* `[...memory.messages, { role: 'user', content }]` and `remember` the full
|
|
83
|
+
* transcript when it ends; the harness drops it with the attempt.
|
|
84
|
+
*/
|
|
85
|
+
export declare function conversationMemory(context: StepExecutorContext, key?: string): ConversationMemory;
|
|
86
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/agent/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAGlE,OAAO,EAAmB,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAsB5F,wEAAwE;AACxE,eAAO,MAAM,aAAa,ucAG4N,CAAC;AAcvP,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,uEAAuE;IACvE,OAAO,IAAI,WAAW,GAAG,SAAS,CAAC;IACnC,yEAAyE;IACzE,SAAS,IAAI,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CA0C/C;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAsHT;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,WAAW,IAAI,IAAI,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC,GAAG,IAAI,CAAC;CAChF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,EAC5B,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE,gBAAgB,CAkBlB;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,qDAAqD;IACrD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAAC;CACnD;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,EAC5B,GAAG,SAAqB,GACvB,kBAAkB,CAapB"}
|