@e2edev/e2e 0.2.0 → 0.4.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/README.md +32 -3
- package/dist/agent/act.d.ts.map +1 -1
- package/dist/agent/act.js +124 -71
- 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 +28 -150
- 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 +122 -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 +4 -8
- package/dist/agent/invocation.d.ts.map +1 -1
- package/dist/agent/invocation.js +16 -42
- 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 +28 -7
- package/dist/agent/observation.d.ts.map +1 -1
- package/dist/agent/observation.js +52 -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 +5 -2
- package/dist/agent/step-cache.d.ts.map +1 -1
- package/dist/agent/step-cache.js +37 -5
- 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/agent/tool.d.ts +11 -16
- package/dist/agent/tool.d.ts.map +1 -1
- package/dist/agent/tool.js +19 -13
- package/dist/agent/tool.js.map +1 -1
- package/dist/agent/usage.d.ts +27 -0
- package/dist/agent/usage.d.ts.map +1 -0
- package/dist/agent/usage.js +54 -0
- package/dist/agent/usage.js.map +1 -0
- package/dist/backend/index.d.ts +72 -6
- package/dist/backend/index.d.ts.map +1 -1
- package/dist/backend/index.js +4 -1
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/session.d.ts.map +1 -1
- package/dist/backend/session.js +1 -0
- package/dist/backend/session.js.map +1 -1
- package/dist/backend/surface.d.ts +2 -0
- package/dist/backend/surface.d.ts.map +1 -1
- package/dist/backend/timing.d.ts +3 -0
- package/dist/backend/timing.d.ts.map +1 -0
- package/dist/backend/timing.js +8 -0
- package/dist/backend/timing.js.map +1 -0
- 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 +32 -22
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/backends.d.ts +75 -0
- package/dist/cli/init/backends.d.ts.map +1 -0
- package/dist/cli/init/backends.js +98 -0
- package/dist/cli/init/backends.js.map +1 -0
- package/dist/cli/init/package.d.ts +43 -0
- package/dist/cli/init/package.d.ts.map +1 -0
- package/dist/cli/init/package.js +64 -0
- package/dist/cli/init/package.js.map +1 -0
- package/dist/cli/init/scaffold.d.ts +12 -0
- package/dist/cli/init/scaffold.d.ts.map +1 -0
- package/dist/cli/init/scaffold.js +36 -0
- package/dist/cli/init/scaffold.js.map +1 -0
- package/dist/cli/init.d.ts +8 -3
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +99 -72
- 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/app.d.ts +50 -0
- package/dist/config/app.d.ts.map +1 -0
- package/dist/config/app.js +168 -0
- package/dist/config/app.js.map +1 -0
- package/dist/config/esm.d.ts +4 -0
- package/dist/config/esm.d.ts.map +1 -0
- package/dist/config/esm.js +35 -0
- package/dist/config/esm.js.map +1 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +4 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/resolve.d.ts +6 -16
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +18 -110
- package/dist/config/resolve.js.map +1 -1
- package/dist/config/validate.d.ts +3 -1
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +17 -1
- package/dist/config/validate.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 +10 -0
- package/dist/internal/time.d.ts.map +1 -1
- package/dist/internal/time.js +45 -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 +2 -3
- package/dist/report/build.js.map +1 -1
- package/dist/report/junit.d.ts +11 -0
- package/dist/report/junit.d.ts.map +1 -0
- package/dist/report/junit.js +202 -0
- package/dist/report/junit.js.map +1 -0
- package/dist/report/list.d.ts +2 -0
- package/dist/report/list.d.ts.map +1 -1
- package/dist/report/list.js +15 -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/report/write.d.ts +2 -0
- package/dist/report/write.d.ts.map +1 -1
- package/dist/report/write.js +7 -3
- package/dist/report/write.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 +15 -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/fixture-legacy.d.ts +36 -0
- package/dist/run/fixture-legacy.d.ts.map +1 -0
- package/dist/run/fixture-legacy.js +143 -0
- package/dist/run/fixture-legacy.js.map +1 -0
- package/dist/run/fixture-recording.d.ts +15 -0
- package/dist/run/fixture-recording.d.ts.map +1 -0
- package/dist/run/fixture-recording.js +75 -0
- package/dist/run/fixture-recording.js.map +1 -0
- package/dist/run/fixtures.d.ts +6 -3
- package/dist/run/fixtures.d.ts.map +1 -1
- package/dist/run/fixtures.js +32 -166
- 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/managed-process.d.ts +49 -0
- package/dist/run/managed-process.d.ts.map +1 -0
- package/dist/run/managed-process.js +202 -0
- package/dist/run/managed-process.js.map +1 -0
- 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 +11 -1
- package/dist/run/runner.d.ts.map +1 -1
- package/dist/run/runner.js +151 -33
- 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/steps.d.ts +1 -1
- package/dist/run/steps.d.ts.map +1 -1
- package/dist/run/steps.js +12 -9
- package/dist/run/steps.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 +33 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/run/app-process.d.ts +0 -18
- package/dist/run/app-process.d.ts.map +0 -1
- package/dist/run/app-process.js +0 -112
- package/dist/run/app-process.js.map +0 -1
package/dist/agent/actions.js
CHANGED
|
@@ -11,10 +11,64 @@
|
|
|
11
11
|
import { bound, MAX_TRACE_DESCRIPTOR_CHARS, MAX_TRACE_SUMMARY_CHARS, } from '../cache/trace.js';
|
|
12
12
|
import { sanitizeText } from '../internal/errors.js';
|
|
13
13
|
import { normalizeText } from '../internal/text.js';
|
|
14
|
+
/** Roles whose first text names the thing a control belongs to: a row's key, a list item's title. */
|
|
15
|
+
const CONTAINER_ROLES = new Set(['row', 'listitem', 'article', 'group', 'region', 'dialog', 'tabpanel']);
|
|
16
|
+
/** Longest container key kept. */
|
|
17
|
+
const MAX_WITHIN_CHARS = 80;
|
|
18
|
+
/**
|
|
19
|
+
* The key of the nearest named container a node sits in — the first text of
|
|
20
|
+
* its row or list item — when that key says more than the node's own name.
|
|
21
|
+
* Ten rows each with a "Delete" button are ten identical descriptors; "Delete
|
|
22
|
+
* in the row that starts with Budget draft" is one.
|
|
23
|
+
*/
|
|
24
|
+
export function containerKey(id, nodes, parents, redact) {
|
|
25
|
+
const node = nodes.get(id);
|
|
26
|
+
const own = node === undefined ? '' : squash(node.name ?? node.text ?? '');
|
|
27
|
+
let cursor = parents.get(id);
|
|
28
|
+
while (cursor !== undefined) {
|
|
29
|
+
const container = nodes.get(cursor);
|
|
30
|
+
if (container !== undefined && CONTAINER_ROLES.has(container.role ?? '')) {
|
|
31
|
+
const key = firstLeafText(container);
|
|
32
|
+
if (key !== undefined) {
|
|
33
|
+
const clean = bound(redact(sanitizeText(key)).replace(/\s+/g, ' ').trim(), MAX_WITHIN_CHARS);
|
|
34
|
+
return clean === '' || squash(clean) === own ? undefined : clean;
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
cursor = parents.get(cursor);
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
/** Parent id of every non-root node, derived from the tree the node map indexes. */
|
|
43
|
+
export function parentsOf(nodes) {
|
|
44
|
+
const parents = new Map();
|
|
45
|
+
for (const node of nodes.values()) {
|
|
46
|
+
for (const child of node.children ?? [])
|
|
47
|
+
parents.set(child.ref.id, node.ref.id);
|
|
48
|
+
}
|
|
49
|
+
return parents;
|
|
50
|
+
}
|
|
51
|
+
/** The first leaf's own text under a container, depth-first. */
|
|
52
|
+
function firstLeafText(node) {
|
|
53
|
+
for (const child of node.children ?? []) {
|
|
54
|
+
const own = (child.children?.length ?? 0) === 0 ? (child.text ?? child.name ?? '').trim() : '';
|
|
55
|
+
if (own !== '')
|
|
56
|
+
return own;
|
|
57
|
+
const deeper = firstLeafText(child);
|
|
58
|
+
if (deeper !== undefined)
|
|
59
|
+
return deeper;
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
function squash(text) {
|
|
64
|
+
return text.replace(/\s+/g, ' ').trim().toLowerCase();
|
|
65
|
+
}
|
|
14
66
|
/** Describes one committed action for recording and for the live event. */
|
|
15
67
|
export function describeAction(action, redact, testIdAttribute) {
|
|
16
68
|
const node = 'node' in action ? action.node : undefined;
|
|
17
|
-
const
|
|
69
|
+
const within = 'within' in action ? action.within : undefined;
|
|
70
|
+
const described = node === undefined ? undefined : describeTarget(node, redact, testIdAttribute);
|
|
71
|
+
const target = described === undefined || within === undefined ? described : { ...described, within: bound(within, MAX_WITHIN_CHARS) };
|
|
18
72
|
const where = describeForSummary(target);
|
|
19
73
|
const safe = (value) => quote(redact(sanitizeText(value)));
|
|
20
74
|
const prose = (() => {
|
|
@@ -70,6 +124,10 @@ export function describeTarget(node, redact, testIdAttribute) {
|
|
|
70
124
|
return Object.keys(descriptor).length === 0 ? undefined : descriptor;
|
|
71
125
|
}
|
|
72
126
|
function describeForSummary(target) {
|
|
127
|
+
const where = describeWhere(target);
|
|
128
|
+
return target?.within === undefined ? where : `${where} in ${JSON.stringify(bound(target.within, 40))}`;
|
|
129
|
+
}
|
|
130
|
+
function describeWhere(target) {
|
|
73
131
|
if (target === undefined)
|
|
74
132
|
return 'the screen';
|
|
75
133
|
const label = target.name ?? target.text ?? target.placeholder ?? target.testId ?? '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/agent/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,EACL,0BAA0B,EAC1B,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/agent/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The default step executor (RFC0001, layer 4 golden path): the tool-loop
|
|
3
|
-
* chassis plus the grammar toolset. Every mutating
|
|
4
|
-
* updated screen; verdicts, budgets, hard stops, loop
|
|
5
|
-
* the transcript come from the chassis
|
|
3
|
+
* chassis plus the grammar toolset, kept deliberately small. Every mutating
|
|
4
|
+
* tool returns the updated screen; verdicts, budgets, hard stops, loop
|
|
5
|
+
* guards, wind-down, and the transcript come from the chassis
|
|
6
|
+
* (`tool-loop.ts`) unchanged.
|
|
7
|
+
*
|
|
8
|
+
* Like the AI SDK's own agent, it is a thin opinion over parts you can also
|
|
9
|
+
* use directly: `createToolLoopExecutor` is the same loop with your own
|
|
10
|
+
* prompt and vocabulary, and `primitives.ts` — grammar tools, the verdict
|
|
11
|
+
* tool, model-call accounting, conversation memory, plus the compaction and
|
|
12
|
+
* hand-off notice exported here — composes with either, or with a raw
|
|
13
|
+
* `ToolLoopAgent` / `generateText`, for anything else.
|
|
6
14
|
*/
|
|
15
|
+
import type { ModelMessage } from 'ai';
|
|
7
16
|
import type { SdkLanguageModel } from '../config/agent.ts';
|
|
8
|
-
import { type StepExecutor } from './executor.ts';
|
|
17
|
+
import { type ReplayedPrefix, type StepExecutor } from './executor.ts';
|
|
9
18
|
import type { DefinedTool } from './tool.ts';
|
|
10
19
|
export interface CreateAgentOptions {
|
|
11
20
|
/** AI SDK language model; defaults to the config-resolved `agent.model`. */
|
|
@@ -16,7 +25,28 @@ export interface CreateAgentOptions {
|
|
|
16
25
|
readonly tools?: Readonly<Record<string, DefinedTool>>;
|
|
17
26
|
/** Upper bound on model turns per step; defaults to the model-call budget. */
|
|
18
27
|
readonly maxTurns?: number;
|
|
28
|
+
/** AI SDK provider options passed to every model call (e.g. a thinking level). */
|
|
29
|
+
readonly providerOptions?: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
|
|
19
30
|
}
|
|
20
31
|
/** Builds the default AI SDK step executor. */
|
|
21
32
|
export declare function createAgent(options?: CreateAgentOptions): StepExecutor;
|
|
33
|
+
/**
|
|
34
|
+
* The mid-step hand-off notice (RFC0001 layer 4): prose summaries and a reason
|
|
35
|
+
* token, replacing any ordinary prior-run hint. The agent continues from live
|
|
36
|
+
* state; redoing a replayed action would double-commit a mutation.
|
|
37
|
+
*/
|
|
38
|
+
export declare function formatReplayedPrefix(prefix: ReplayedPrefix): string;
|
|
39
|
+
/**
|
|
40
|
+
* Compacts stale screen snapshots out of the history: the initial prompt's
|
|
41
|
+
* `Current screen` and every tool result's `Updated screen`.
|
|
42
|
+
*
|
|
43
|
+
* Only the newest observations describe the screen the model is acting on;
|
|
44
|
+
* every older tree is dead weight that grows the prompt linearly with turn
|
|
45
|
+
* count - and the very first tree, in the user prompt, is the oldest of all.
|
|
46
|
+
* A stale snapshot keeps what preceded the tree (the instruction, or what
|
|
47
|
+
* the action did) and loses the tree. Returns the input array unchanged when
|
|
48
|
+
* there is nothing to compact, so the caller can skip the messages override.
|
|
49
|
+
* Exported as the default `prepareMessages` a custom one can compose with.
|
|
50
|
+
*/
|
|
51
|
+
export declare function compactSnapshotHistory(messages: ModelMessage[]): ModelMessage[];
|
|
22
52
|
//# sourceMappingURL=default-agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-agent.d.ts","sourceRoot":"","sources":["../../src/agent/default-agent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"default-agent.d.ts","sourceRoot":"","sources":["../../src/agent/default-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,IAAI,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAgB7C,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CACxF;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,YAAY,CAqC1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAoBnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAiC/E"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The default step executor (RFC0001, layer 4 golden path): the tool-loop
|
|
3
|
-
* chassis plus the grammar toolset. Every mutating
|
|
4
|
-
* updated screen; verdicts, budgets, hard stops, loop
|
|
5
|
-
* the transcript come from the chassis
|
|
3
|
+
* chassis plus the grammar toolset, kept deliberately small. Every mutating
|
|
4
|
+
* tool returns the updated screen; verdicts, budgets, hard stops, loop
|
|
5
|
+
* guards, wind-down, and the transcript come from the chassis
|
|
6
|
+
* (`tool-loop.ts`) unchanged.
|
|
7
|
+
*
|
|
8
|
+
* Like the AI SDK's own agent, it is a thin opinion over parts you can also
|
|
9
|
+
* use directly: `createToolLoopExecutor` is the same loop with your own
|
|
10
|
+
* prompt and vocabulary, and `primitives.ts` — grammar tools, the verdict
|
|
11
|
+
* tool, model-call accounting, conversation memory, plus the compaction and
|
|
12
|
+
* hand-off notice exported here — composes with either, or with a raw
|
|
13
|
+
* `ToolLoopAgent` / `generateText`, for anything else.
|
|
6
14
|
*/
|
|
7
|
-
import { z } from 'zod';
|
|
8
|
-
import { aiSdk } from './ai-sdk.js';
|
|
9
15
|
import { AgentError, isAgentError } from './error.js';
|
|
10
16
|
import { RUNTIME_CODES, } from './executor.js';
|
|
17
|
+
import { createGrammarTools } from './primitives.js';
|
|
11
18
|
import { createToolLoopExecutor } from './tool-loop.js';
|
|
12
|
-
import { isDefinedTool, toolAppliesTo } from './tool.js';
|
|
19
|
+
import { isDefinedTool, toolAppliesTo, withToolContext } from './tool.js';
|
|
13
20
|
const BASE_RULES = `You are an autonomous end-to-end testing agent executing exactly one test step against a real application.
|
|
14
21
|
|
|
15
22
|
Rules:
|
|
@@ -32,10 +39,11 @@ export function createAgent(options = {}) {
|
|
|
32
39
|
...(options.model === undefined ? {} : { model: options.model }),
|
|
33
40
|
system,
|
|
34
41
|
...(options.maxTurns === undefined ? {} : { maxTurns: options.maxTurns }),
|
|
35
|
-
|
|
42
|
+
...(options.providerOptions === undefined ? {} : { providerOptions: options.providerOptions }),
|
|
43
|
+
prepareMessages: compactSnapshotHistory,
|
|
36
44
|
tools: (context, helpers) => ({
|
|
37
45
|
...wrapUserTools(context, helpers, userTools),
|
|
38
|
-
...
|
|
46
|
+
...createGrammarTools(context, { guard: helpers.guard }),
|
|
39
47
|
}),
|
|
40
48
|
buildPrompt: async (context) => {
|
|
41
49
|
const observation = await context.observe();
|
|
@@ -63,7 +71,7 @@ export function createAgent(options = {}) {
|
|
|
63
71
|
* token, replacing any ordinary prior-run hint. The agent continues from live
|
|
64
72
|
* state; redoing a replayed action would double-commit a mutation.
|
|
65
73
|
*/
|
|
66
|
-
function formatReplayedPrefix(prefix) {
|
|
74
|
+
export function formatReplayedPrefix(prefix) {
|
|
67
75
|
const lines = prefix.replayedActions.map((summary, index) => `${index + 1}. ${summary}`);
|
|
68
76
|
return [
|
|
69
77
|
'Cached replay already performed these recorded actions for this step:',
|
|
@@ -84,124 +92,6 @@ function formatReplayedPrefix(prefix) {
|
|
|
84
92
|
'Continue the step from the CURRENT screen state shown below — do NOT redo the actions above.',
|
|
85
93
|
].join('\n');
|
|
86
94
|
}
|
|
87
|
-
/**
|
|
88
|
-
* The default toolset: thin AI SDK tools over the harness action grammar,
|
|
89
|
-
* limited to the verbs the target's backend declared. A verb the surface cannot
|
|
90
|
-
* honor is not offered at all, so the model never learns vocabulary it can only
|
|
91
|
-
* be rejected on.
|
|
92
|
-
*/
|
|
93
|
-
function buildGrammarTools(context, helpers) {
|
|
94
|
-
const { guard } = helpers;
|
|
95
|
-
const { verbs } = context.target;
|
|
96
|
-
/** Re-observes after a mutating action so the model always sees the result. */
|
|
97
|
-
const acted = async (description) => {
|
|
98
|
-
const observation = await context.observe();
|
|
99
|
-
return `${description}\n\nUpdated screen (revision ${observation.revision}):\n${observation.text}`;
|
|
100
|
-
};
|
|
101
|
-
const target = z
|
|
102
|
-
.string()
|
|
103
|
-
.min(1)
|
|
104
|
-
.describe('Node id from the newest observation, e.g. "n42"');
|
|
105
|
-
// The chassis loads the AI SDK before building tools, so reading the
|
|
106
|
-
// cached instance here cannot race the optional-peer loader.
|
|
107
|
-
const { tool } = aiSdk();
|
|
108
|
-
const tools = {
|
|
109
|
-
observe: tool({
|
|
110
|
-
description: 'Capture a fresh observation of the current screen without acting.',
|
|
111
|
-
inputSchema: z.object({}),
|
|
112
|
-
execute: () => guard(async () => {
|
|
113
|
-
const observation = await context.observe();
|
|
114
|
-
return `Current screen (revision ${observation.revision}):\n${observation.text}`;
|
|
115
|
-
}),
|
|
116
|
-
}),
|
|
117
|
-
};
|
|
118
|
-
if (verbs.has('tap')) {
|
|
119
|
-
tools['tap'] = tool({
|
|
120
|
-
description: 'Tap or click one node.',
|
|
121
|
-
inputSchema: z.object({ target }),
|
|
122
|
-
execute: ({ target: id }) => guard(async () => {
|
|
123
|
-
await context.actions.tap({ id });
|
|
124
|
-
return acted(`Tapped #${id}.`);
|
|
125
|
-
}),
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
if (verbs.has('type')) {
|
|
129
|
-
tools['type'] = tool({
|
|
130
|
-
description: 'Type a plain-text value into one input node. Replaces the current value.',
|
|
131
|
-
inputSchema: z.object({ target, value: z.string() }),
|
|
132
|
-
execute: ({ target: id, value }) => guard(async () => {
|
|
133
|
-
await context.actions.type({ id }, value);
|
|
134
|
-
return acted(`Typed into #${id}.`);
|
|
135
|
-
}),
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
if (verbs.has('press')) {
|
|
139
|
-
tools['press'] = tool({
|
|
140
|
-
description: 'Send one key (e.g. "Enter", "Escape", "Tab") to one node.',
|
|
141
|
-
inputSchema: z.object({ target, key: z.string().min(1).max(64) }),
|
|
142
|
-
execute: ({ target: id, key }) => guard(async () => {
|
|
143
|
-
await context.actions.press({ id }, key);
|
|
144
|
-
return acted(`Pressed ${key} on #${id}.`);
|
|
145
|
-
}),
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
if (verbs.has('select')) {
|
|
149
|
-
tools['select'] = tool({
|
|
150
|
-
description: 'Pick one option from a select-like control by its visible label.',
|
|
151
|
-
inputSchema: z.object({ target, value: z.string().min(1) }),
|
|
152
|
-
execute: ({ target: id, value }) => guard(async () => {
|
|
153
|
-
await context.actions.select({ id }, value);
|
|
154
|
-
return acted(`Selected "${value}" in #${id}.`);
|
|
155
|
-
}),
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
if (verbs.has('scroll')) {
|
|
159
|
-
const direction = z.enum(['up', 'down', 'left', 'right']);
|
|
160
|
-
// Node-targeted scrolling rides `perform`; without it only the viewport scrolls.
|
|
161
|
-
tools['scroll'] = verbs.has('tap')
|
|
162
|
-
? tool({
|
|
163
|
-
description: 'Scroll the viewport, or one scrollable node when target is given.',
|
|
164
|
-
inputSchema: z.object({ direction, target: target.optional() }),
|
|
165
|
-
execute: ({ direction: way, target: id }) => guard(async () => {
|
|
166
|
-
await context.actions.scroll(way, id === undefined ? undefined : { id });
|
|
167
|
-
return acted(`Scrolled ${way}.`);
|
|
168
|
-
}),
|
|
169
|
-
})
|
|
170
|
-
: tool({
|
|
171
|
-
description: 'Scroll the viewport.',
|
|
172
|
-
inputSchema: z.object({ direction }),
|
|
173
|
-
execute: ({ direction: way }) => guard(async () => {
|
|
174
|
-
await context.actions.scroll(way);
|
|
175
|
-
return acted(`Scrolled ${way}.`);
|
|
176
|
-
}),
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
if (verbs.has('navigate')) {
|
|
180
|
-
tools['navigate'] = tool({
|
|
181
|
-
description: 'Navigate to a URL or app-relative path within the allowed origins.',
|
|
182
|
-
inputSchema: z.object({ url: z.string().min(1) }),
|
|
183
|
-
execute: ({ url }) => guard(async () => {
|
|
184
|
-
await context.actions.navigate(url);
|
|
185
|
-
return acted(`Navigated to ${url}.`);
|
|
186
|
-
}),
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
// Offered only when the step declared secrets and the surface can fill: an
|
|
190
|
-
// empty vocabulary is better than a tool the model can only be rejected on.
|
|
191
|
-
if (verbs.has('typeSecret') && context.step.secrets.length > 0) {
|
|
192
|
-
tools['type_secret'] = tool({
|
|
193
|
-
description: 'Fill one declared secret credential into a secure input field; the plaintext never passes through you. Available: ' +
|
|
194
|
-
context.step.secrets.map((secret) => `"${secret.name}" (${secret.purpose})`).join(', ') +
|
|
195
|
-
'.',
|
|
196
|
-
inputSchema: z.object({ target, name: z.string().min(1) }),
|
|
197
|
-
execute: ({ target: id, name }) => guard(async () => {
|
|
198
|
-
await context.actions.typeSecret({ id }, name);
|
|
199
|
-
return acted(`Filled secret "${name}" into #${id}.`);
|
|
200
|
-
}),
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
return tools;
|
|
204
|
-
}
|
|
205
95
|
/**
|
|
206
96
|
* Compacts stale screen snapshots out of the history: the initial prompt's
|
|
207
97
|
* `Current screen` and every tool result's `Updated screen`.
|
|
@@ -212,8 +102,9 @@ function buildGrammarTools(context, helpers) {
|
|
|
212
102
|
* A stale snapshot keeps what preceded the tree (the instruction, or what
|
|
213
103
|
* the action did) and loses the tree. Returns the input array unchanged when
|
|
214
104
|
* there is nothing to compact, so the caller can skip the messages override.
|
|
105
|
+
* Exported as the default `prepareMessages` a custom one can compose with.
|
|
215
106
|
*/
|
|
216
|
-
function compactSnapshotHistory(messages) {
|
|
107
|
+
export function compactSnapshotHistory(messages) {
|
|
217
108
|
const total = messages.reduce((count, message) => count + snapshotParts(message).filter((text) => text !== undefined).length, 0);
|
|
218
109
|
let stale = total - SNAPSHOT_PRESERVE_COUNT;
|
|
219
110
|
if (stale <= 0)
|
|
@@ -314,19 +205,17 @@ function wrapUserTools(context, helpers, tools) {
|
|
|
314
205
|
wrapped[name] = {
|
|
315
206
|
...defined.tool,
|
|
316
207
|
execute: async (input, executionOptions) => {
|
|
317
|
-
if (helpers.concluding())
|
|
208
|
+
if (helpers.concluding())
|
|
318
209
|
return 'The step is already concluding; no further actions run.';
|
|
319
|
-
}
|
|
320
|
-
if (mutates && context.budgets.actionsUsed() >= context.budgets.maxActions) {
|
|
321
|
-
const stop = new AgentError('STEP_BUDGET_EXHAUSTED', `the step exhausted its action budget of ${context.budgets.maxActions}`);
|
|
322
|
-
helpers.reportHardStop(stop);
|
|
323
|
-
return `HARD STOP (${stop.code}): ${stop.message}`;
|
|
324
|
-
}
|
|
325
|
-
const startedMs = Date.now();
|
|
326
|
-
let attempted = false;
|
|
327
210
|
try {
|
|
328
|
-
|
|
329
|
-
|
|
211
|
+
return await context.budgets.runTool({ name, mutates }, async () => execute(input, withToolContext(executionOptions, {
|
|
212
|
+
observe: (options) => {
|
|
213
|
+
if (mutates) {
|
|
214
|
+
throw new AgentError('POLICY_DENIED', 'only read-only tools may request observations; observe in a separate tool call');
|
|
215
|
+
}
|
|
216
|
+
return context.observe(options);
|
|
217
|
+
},
|
|
218
|
+
})));
|
|
330
219
|
}
|
|
331
220
|
catch (cause) {
|
|
332
221
|
if (isAgentError(cause) && RUNTIME_CODES.has(cause.code)) {
|
|
@@ -335,17 +224,6 @@ function wrapUserTools(context, helpers, tools) {
|
|
|
335
224
|
}
|
|
336
225
|
return `Tool "${name}" failed: ${cause instanceof Error ? cause.message : String(cause)}`;
|
|
337
226
|
}
|
|
338
|
-
finally {
|
|
339
|
-
if (attempted) {
|
|
340
|
-
try {
|
|
341
|
-
context.budgets.recordToolCall({ name, mutates, durationMs: Date.now() - startedMs });
|
|
342
|
-
}
|
|
343
|
-
catch (cause) {
|
|
344
|
-
if (isAgentError(cause) && RUNTIME_CODES.has(cause.code))
|
|
345
|
-
helpers.reportHardStop(cause);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
227
|
},
|
|
350
228
|
};
|
|
351
229
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-agent.js","sourceRoot":"","sources":["../../src/agent/default-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,aAAa,GAId,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAwB,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,UAAU,GAAG;;;;;;oIAMiH,CAAC;AAErI,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC,MAAM,gBAAgB,GAAG,wCAAwC,CAAC;AAalE,+CAA+C;AAC/C,MAAM,UAAU,WAAW,CAAC,OAAO,GAAuB,EAAE;IAC1D,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;SACxC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;SAC1E,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO,sBAAsB,CAAC;QAC5B,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,GAAG;QACZ,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,MAAM;QACN,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzE,eAAe,EAAE,sBAAsB;QACvC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;YAC7C,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC;SACvC,CAAC;QACF,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG;gBACZ,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAC5B,CAAC,CAAC,wEAAwE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;oBACpG,CAAC,CAAC,2BAA2B,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;aAC1D,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,4BAA4B,WAAW,CAAC,QAAQ,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,MAAsB;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IACzF,OAAO;QACL,uEAAuE;QACvE,GAAG,KAAK;QACR,mBAAmB,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,eAAe,CAAC,MAAM,OAAO,MAAM,CAAC,YAAY,oBAAoB;QAC1H,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,cAAc;YACtC,CAAC,CAAC;gBACE,kFAAkF;oBAChF,2HAA2H;aAC9H;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,6BAA6B,MAAM,CAAC,eAAe,0CAA0C;oBAC3F,mGAAmG;aACtG,CAAC;QACN,8FAA8F;KAC/F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,OAA4B,EAAE,OAAwB;IAC/E,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjC,+EAA+E;IAC/E,MAAM,KAAK,GAAG,KAAK,EAAE,WAAmB,EAAmB,EAAE;QAC3D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5C,OAAO,GAAG,WAAW,gCAAgC,WAAW,CAAC,QAAQ,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;IACrG,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iDAAiD,CAAC,CAAC;IAE/D,qEAAqE;IACrE,6DAA6D;IAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;IAEzB,MAAM,KAAK,GAAY;QACrB,OAAO,EAAE,IAAI,CAAC;YACZ,WAAW,EAAE,mEAAmE;YAChF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC5C,OAAO,4BAA4B,WAAW,CAAC,QAAQ,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;YACnF,CAAC,CAAC;SACL,CAAC;KACH,CAAC;IACF,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAClB,WAAW,EAAE,wBAAwB;YACrC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAC1B,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClC,OAAO,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACnB,WAAW,EAAE,0EAA0E;YACvF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACjC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACpB,WAAW,EAAE,2DAA2D;YACxE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACjE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAC/B,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBACzC,OAAO,KAAK,CAAC,WAAW,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC5C,CAAC,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACrB,WAAW,EAAE,kEAAkE;YAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACjC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC5C,OAAO,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,iFAAiF;QACjF,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC;gBACH,WAAW,EAAE,mEAAmE;gBAChF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAC1C,KAAK,CAAC,KAAK,IAAI,EAAE;oBACf,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzE,OAAO,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;gBACnC,CAAC,CAAC;aACL,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;gBACH,WAAW,EAAE,sBAAsB;gBACnC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;gBACpC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,CAC9B,KAAK,CAAC,KAAK,IAAI,EAAE;oBACf,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClC,OAAO,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;gBACnC,CAAC,CAAC;aACL,CAAC,CAAC;IACT,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YACvB,WAAW,EAAE,oEAAoE;YACjF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACnB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,OAAO,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;YAC1B,WAAW,EACT,oHAAoH;gBACpH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvF,GAAG;YACL,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAChC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC,kBAAkB,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC;SACL,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAAC,QAAwB;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,MAAM,EAC9F,CAAC,CACF,CAAC;IACF,IAAI,KAAK,GAAG,KAAK,GAAG,uBAAuB,CAAC;IAC5C,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,OAAO,OAAO,CAAC;gBAC5D,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3C,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACzF,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC;QAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;YAAE,OAAO,OAAO,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2FAA2F;AAC3F,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACpF,OAAO,GAAG,IAAI,iEAAiE,CAAC;AAClF,CAAC;AAED,+EAA+E;AAC/E,SAAS,aAAa,CAAC,OAAqB;IAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,SAAS,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACjF,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,SAAS,iBAAiB,CACxB,KAAwD;IAExD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAClB,eAAe,EACf,SAAS,IAAI,yEAAyE,CACvF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,yCAAyC,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,SAAS,IAAI,2BAA2B,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,OAA4B,EAC5B,OAAwB,EACxB,KAA4C;IAE5C,MAAM,OAAO,GAAoC,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,sEAAsE;QACtE,0CAA0C;QAC1C,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC/D,uEAAuE;QACvE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,GAAG,OAAO,CAAC,IAAI;YACf,OAAO,EAAE,KAAK,EAAE,KAAY,EAAE,gBAAuB,EAAE,EAAE;gBACvD,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;oBACzB,OAAO,yDAAyD,CAAC;gBACnE,CAAC;gBACD,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC3E,MAAM,IAAI,GAAG,IAAI,UAAU,CACzB,uBAAuB,EACvB,2CAA2C,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CACxE,CAAC;oBACF,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC7B,OAAO,cAAc,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrD,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC;oBACH,SAAS,GAAG,IAAI,CAAC;oBACjB,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzD,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;wBAC9B,OAAO,cAAc,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;oBACvD,CAAC;oBACD,OAAO,SAAS,IAAI,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5F,CAAC;wBAAS,CAAC;oBACT,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC;4BACH,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;wBACxF,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gCAAE,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;wBAC1F,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACiB,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"default-agent.js","sourceRoot":"","sources":["../../src/agent/default-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a typed value is the step's own data or data it derived at run
|
|
3
|
+
* time (spec 10-determinism.md, entries and keys).
|
|
4
|
+
*
|
|
5
|
+
* A value the instruction or the params spell out — "Nimbus Paper Co", 4.25,
|
|
6
|
+
* a param's string — is the step's literal input and replays verbatim. A
|
|
7
|
+
* value found nowhere in them came from somewhere else: the screen, an
|
|
8
|
+
* earlier step's hand-off, the model's own reckoning of a date or a code.
|
|
9
|
+
* That value belongs to THIS run; the next run's app may issue another, and a
|
|
10
|
+
* replay that typed the old one would act out a stale flow and self-finalize
|
|
11
|
+
* on the wrong state. Such an action is recorded as a gap instead: replay
|
|
12
|
+
* performs everything before it and hands the step over, so the executor
|
|
13
|
+
* derives the value afresh from what it sees and remembers.
|
|
14
|
+
*/
|
|
15
|
+
import type { JsonValue } from '../types.ts';
|
|
16
|
+
export declare function isDerivedValue(value: string, instruction: string, params: Readonly<Record<string, JsonValue>> | undefined): boolean;
|
|
17
|
+
//# sourceMappingURL=derived.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../src/agent/derived.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,GACtD,OAAO,CAKT"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a typed value is the step's own data or data it derived at run
|
|
3
|
+
* time (spec 10-determinism.md, entries and keys).
|
|
4
|
+
*
|
|
5
|
+
* A value the instruction or the params spell out — "Nimbus Paper Co", 4.25,
|
|
6
|
+
* a param's string — is the step's literal input and replays verbatim. A
|
|
7
|
+
* value found nowhere in them came from somewhere else: the screen, an
|
|
8
|
+
* earlier step's hand-off, the model's own reckoning of a date or a code.
|
|
9
|
+
* That value belongs to THIS run; the next run's app may issue another, and a
|
|
10
|
+
* replay that typed the old one would act out a stale flow and self-finalize
|
|
11
|
+
* on the wrong state. Such an action is recorded as a gap instead: replay
|
|
12
|
+
* performs everything before it and hands the step over, so the executor
|
|
13
|
+
* derives the value afresh from what it sees and remembers.
|
|
14
|
+
*/
|
|
15
|
+
export function isDerivedValue(value, instruction, params) {
|
|
16
|
+
const needle = normalize(value);
|
|
17
|
+
if (needle === '')
|
|
18
|
+
return false;
|
|
19
|
+
if (normalize(instruction).includes(needle))
|
|
20
|
+
return false;
|
|
21
|
+
return !paramStrings(params).some((text) => normalize(text).includes(needle));
|
|
22
|
+
}
|
|
23
|
+
/** Every string and number a params object carries, at any depth. */
|
|
24
|
+
function paramStrings(params) {
|
|
25
|
+
const out = [];
|
|
26
|
+
const visit = (value) => {
|
|
27
|
+
if (typeof value === 'string')
|
|
28
|
+
out.push(value);
|
|
29
|
+
else if (typeof value === 'number' || typeof value === 'boolean')
|
|
30
|
+
out.push(String(value));
|
|
31
|
+
else if (Array.isArray(value))
|
|
32
|
+
for (const item of value)
|
|
33
|
+
visit(item);
|
|
34
|
+
else if (value !== null && typeof value === 'object')
|
|
35
|
+
for (const item of Object.values(value))
|
|
36
|
+
visit(item);
|
|
37
|
+
};
|
|
38
|
+
if (params !== undefined)
|
|
39
|
+
visit(params);
|
|
40
|
+
return out;
|
|
41
|
+
}
|
|
42
|
+
function normalize(text) {
|
|
43
|
+
return text.toLowerCase().replace(/\s+/g, ' ').trim();
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=derived.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived.js","sourceRoot":"","sources":["../../src/agent/derived.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,WAAmB,EACnB,MAAuD;IAEvD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,qEAAqE;AACrE,SAAS,YAAY,CAAC,MAAuD;IAC3E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,CAAC,KAAgB,EAAQ,EAAE;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACrF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAChE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7G,CAAC,CAAC;IACF,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC"}
|