@e2edev/e2e 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -15
- package/dist/agent/act.d.ts +1 -1
- package/dist/agent/act.js +12 -36
- package/dist/agent/act.js.map +1 -1
- package/dist/agent/actions.d.ts +2 -2
- package/dist/agent/actions.d.ts.map +1 -1
- package/dist/agent/actions.js +1 -1
- package/dist/agent/default-agent.d.ts +3 -29
- package/dist/agent/default-agent.d.ts.map +1 -1
- package/dist/agent/default-agent.js +4 -11
- package/dist/agent/default-agent.js.map +1 -1
- package/dist/agent/error.d.ts +0 -2
- package/dist/agent/error.d.ts.map +1 -1
- package/dist/agent/error.js +1 -3
- package/dist/agent/error.js.map +1 -1
- package/dist/agent/executor.d.ts +15 -49
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +0 -1
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/invocation.d.ts +6 -4
- package/dist/agent/invocation.d.ts.map +1 -1
- package/dist/agent/invocation.js +2 -2
- package/dist/agent/invocation.js.map +1 -1
- package/dist/agent/ledger.d.ts +16 -11
- package/dist/agent/ledger.d.ts.map +1 -1
- package/dist/agent/ledger.js +5 -8
- package/dist/agent/ledger.js.map +1 -1
- package/dist/agent/observation.d.ts +6 -6
- package/dist/agent/observation.d.ts.map +1 -1
- package/dist/agent/observation.js +5 -5
- package/dist/agent/observation.js.map +1 -1
- package/dist/agent/phases.d.ts +3 -3
- package/dist/agent/phases.d.ts.map +1 -1
- package/dist/agent/phases.js +4 -4
- package/dist/agent/phases.js.map +1 -1
- package/dist/agent/primitives.d.ts +4 -25
- package/dist/agent/primitives.d.ts.map +1 -1
- package/dist/agent/primitives.js +3 -36
- package/dist/agent/primitives.js.map +1 -1
- package/dist/agent/protocol.d.ts +1 -1
- package/dist/agent/protocol.js +1 -1
- package/dist/agent/public.d.ts +7 -9
- package/dist/agent/public.d.ts.map +1 -1
- package/dist/agent/public.js +6 -7
- 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/secrets.d.ts +2 -2
- package/dist/agent/secrets.d.ts.map +1 -1
- package/dist/agent/secrets.js +3 -3
- package/dist/agent/secrets.js.map +1 -1
- package/dist/agent/tool-loop.d.ts +2 -30
- package/dist/agent/tool-loop.d.ts.map +1 -1
- package/dist/agent/tool-loop.js +9 -33
- package/dist/agent/tool-loop.js.map +1 -1
- package/dist/agent/tool.d.ts +4 -5
- package/dist/agent/tool.d.ts.map +1 -1
- package/dist/agent/tool.js +2 -7
- package/dist/agent/tool.js.map +1 -1
- package/dist/cache/anchors.d.ts +1 -1
- package/dist/cache/anchors.d.ts.map +1 -1
- package/dist/cache/identity.d.ts +8 -8
- package/dist/cache/identity.d.ts.map +1 -1
- package/dist/cache/identity.js +5 -5
- package/dist/cache/identity.js.map +1 -1
- package/dist/cache/relocate.d.ts +1 -1
- package/dist/cache/relocate.d.ts.map +1 -1
- package/dist/cli/index.js +3 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/{backends.d.ts → engines.d.ts} +12 -13
- package/dist/cli/init/engines.d.ts.map +1 -0
- package/dist/cli/init/{backends.js → engines.js} +13 -14
- package/dist/cli/init/engines.js.map +1 -0
- package/dist/cli/init/scaffold.d.ts +3 -3
- package/dist/cli/init/scaffold.d.ts.map +1 -1
- package/dist/cli/init/scaffold.js +9 -9
- package/dist/cli/init/scaffold.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +11 -10
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/signals.d.ts +1 -1
- package/dist/cli/signals.d.ts.map +1 -1
- package/dist/cli/signals.js +1 -1
- package/dist/cli/signals.js.map +1 -1
- package/dist/collect/collect.d.ts +32 -3
- package/dist/collect/collect.d.ts.map +1 -1
- package/dist/collect/collect.js +95 -17
- package/dist/collect/collect.js.map +1 -1
- package/dist/collect/registry.js +1 -1
- package/dist/collect/registry.js.map +1 -1
- package/dist/collect/select.d.ts.map +1 -1
- package/dist/collect/select.js +9 -5
- package/dist/collect/select.js.map +1 -1
- package/dist/config/app.d.ts +76 -19
- package/dist/config/app.d.ts.map +1 -1
- package/dist/config/app.js +157 -102
- package/dist/config/app.js.map +1 -1
- package/dist/config/resolve.d.ts +6 -5
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +35 -32
- package/dist/config/resolve.js.map +1 -1
- package/dist/{backend → engine}/contract.d.ts +26 -18
- package/dist/engine/contract.d.ts.map +1 -0
- package/dist/{backend → engine}/contract.js +18 -18
- package/dist/engine/contract.js.map +1 -0
- package/dist/{backend → engine}/index.d.ts +141 -79
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/{backend → engine}/index.js +60 -35
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/session.d.ts +23 -0
- package/dist/engine/session.d.ts.map +1 -0
- package/dist/{backend → engine}/session.js +55 -51
- package/dist/engine/session.js.map +1 -0
- package/dist/{backend → engine}/surface.d.ts +11 -11
- package/dist/engine/surface.d.ts.map +1 -0
- package/dist/{backend → engine}/surface.js +2 -2
- package/dist/engine/surface.js.map +1 -0
- package/dist/engine/timing.d.ts.map +1 -0
- package/dist/engine/timing.js +8 -0
- package/dist/engine/timing.js.map +1 -0
- package/dist/expect/index.js +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/brands.d.ts +1 -1
- package/dist/internal/brands.d.ts.map +1 -1
- package/dist/internal/brands.js +1 -1
- package/dist/internal/brands.js.map +1 -1
- package/dist/internal/errors.d.ts +16 -16
- package/dist/internal/errors.d.ts.map +1 -1
- package/dist/internal/errors.js +39 -39
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/objects.d.ts +21 -0
- package/dist/internal/objects.d.ts.map +1 -0
- package/dist/internal/objects.js +14 -0
- package/dist/internal/objects.js.map +1 -0
- package/dist/internal/urls.d.ts +1 -1
- package/dist/internal/urls.d.ts.map +1 -1
- package/dist/internal/urls.js +6 -1
- package/dist/internal/urls.js.map +1 -1
- package/dist/locator/engine.d.ts +6 -6
- package/dist/locator/engine.d.ts.map +1 -1
- package/dist/locator/engine.js +13 -13
- package/dist/locator/engine.js.map +1 -1
- package/dist/locator/expression.d.ts +4 -2
- package/dist/locator/expression.d.ts.map +1 -1
- package/dist/locator/expression.js +24 -4
- package/dist/locator/expression.js.map +1 -1
- package/dist/locator/screen.d.ts +1 -1
- package/dist/locator/screen.d.ts.map +1 -1
- package/dist/locator/screen.js +2 -2
- package/dist/locator/screen.js.map +1 -1
- package/dist/report/build.d.ts +9 -8
- package/dist/report/build.d.ts.map +1 -1
- package/dist/report/build.js +21 -18
- package/dist/report/build.js.map +1 -1
- package/dist/report/code-frame.d.ts +8 -4
- package/dist/report/code-frame.d.ts.map +1 -1
- package/dist/report/code-frame.js +23 -18
- package/dist/report/code-frame.js.map +1 -1
- package/dist/report/debug-steps.js +1 -1
- package/dist/report/debug-steps.js.map +1 -1
- package/dist/report/format.d.ts +73 -0
- package/dist/report/format.d.ts.map +1 -0
- package/dist/report/format.js +147 -0
- package/dist/report/format.js.map +1 -0
- package/dist/report/list.d.ts +96 -47
- package/dist/report/list.d.ts.map +1 -1
- package/dist/report/list.js +485 -244
- package/dist/report/list.js.map +1 -1
- package/dist/report/live-window.d.ts +28 -0
- package/dist/report/live-window.d.ts.map +1 -0
- package/dist/report/live-window.js +102 -0
- package/dist/report/live-window.js.map +1 -0
- package/dist/run/declared-processes.d.ts +30 -0
- package/dist/run/declared-processes.d.ts.map +1 -0
- package/dist/run/declared-processes.js +61 -0
- package/dist/run/declared-processes.js.map +1 -0
- package/dist/run/events.d.ts +30 -2
- package/dist/run/events.d.ts.map +1 -1
- package/dist/run/events.js.map +1 -1
- package/dist/run/execute.d.ts +17 -13
- package/dist/run/execute.d.ts.map +1 -1
- package/dist/run/execute.js +61 -62
- package/dist/run/execute.js.map +1 -1
- package/dist/run/fixture-recording.d.ts +10 -4
- package/dist/run/fixture-recording.d.ts.map +1 -1
- package/dist/run/fixture-recording.js +19 -6
- package/dist/run/fixture-recording.js.map +1 -1
- package/dist/run/fixtures.d.ts +1 -1
- package/dist/run/fixtures.d.ts.map +1 -1
- package/dist/run/fixtures.js +33 -41
- package/dist/run/fixtures.js.map +1 -1
- package/dist/run/in-process.d.ts +1 -1
- package/dist/run/in-process.js +1 -1
- package/dist/run/managed-process.d.ts +39 -9
- package/dist/run/managed-process.d.ts.map +1 -1
- package/dist/run/managed-process.js +102 -34
- package/dist/run/managed-process.js.map +1 -1
- package/dist/run/runner.d.ts +1 -1
- package/dist/run/runner.d.ts.map +1 -1
- package/dist/run/runner.js +67 -31
- package/dist/run/runner.js.map +1 -1
- package/dist/run/scheduler.d.ts +4 -3
- package/dist/run/scheduler.d.ts.map +1 -1
- package/dist/run/scheduler.js +5 -4
- package/dist/run/scheduler.js.map +1 -1
- package/dist/run/serial.d.ts +9 -1
- package/dist/run/serial.d.ts.map +1 -1
- package/dist/run/serial.js +2 -0
- package/dist/run/serial.js.map +1 -1
- package/dist/run/sessions.d.ts +9 -9
- package/dist/run/sessions.d.ts.map +1 -1
- package/dist/run/sessions.js +10 -10
- package/dist/run/sessions.js.map +1 -1
- package/dist/run/steps.d.ts +1 -1
- package/dist/run/steps.d.ts.map +1 -1
- package/dist/run/worker/entry.d.ts +1 -1
- package/dist/run/worker/entry.js +2 -2
- package/dist/run/worker/entry.js.map +1 -1
- package/dist/run/worker/protocol.d.ts +18 -6
- package/dist/run/worker/protocol.d.ts.map +1 -1
- package/dist/run/worker/protocol.js +1 -1
- package/dist/run/worker/protocol.js.map +1 -1
- package/dist/run/worker/session.d.ts +2 -2
- package/dist/run/worker/session.d.ts.map +1 -1
- package/dist/run/worker/session.js +5 -3
- package/dist/run/worker/session.js.map +1 -1
- package/dist/types.d.ts +36 -37
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/backend/contract.d.ts.map +0 -1
- package/dist/backend/contract.js.map +0 -1
- package/dist/backend/index.d.ts.map +0 -1
- package/dist/backend/index.js.map +0 -1
- package/dist/backend/session.d.ts +0 -23
- package/dist/backend/session.d.ts.map +0 -1
- package/dist/backend/session.js.map +0 -1
- package/dist/backend/surface.d.ts.map +0 -1
- package/dist/backend/surface.js.map +0 -1
- package/dist/backend/timing.d.ts.map +0 -1
- package/dist/backend/timing.js +0 -8
- package/dist/backend/timing.js.map +0 -1
- package/dist/cli/init/backends.d.ts.map +0 -1
- package/dist/cli/init/backends.js.map +0 -1
- package/dist/report/live-status.d.ts +0 -51
- package/dist/report/live-status.d.ts.map +0 -1
- package/dist/report/live-status.js +0 -163
- package/dist/report/live-status.js.map +0 -1
- package/dist/run/fixture-legacy.d.ts +0 -36
- package/dist/run/fixture-legacy.d.ts.map +0 -1
- package/dist/run/fixture-legacy.js +0 -143
- package/dist/run/fixture-legacy.js.map +0 -1
- /package/dist/{backend → engine}/timing.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The engine-to-session adapter (RFC0002). One adapter per attempt satisfies
|
|
3
|
+
* the internal `TargetSession` surface over the engine contract, so the agent
|
|
4
|
+
* tier, the judgment tier, the trace cache, and the fixture graph program
|
|
5
|
+
* against one shape. It is the single seam every engine call crosses, which
|
|
6
|
+
* makes it the one place two rules are enforced: a capability the engine does
|
|
7
|
+
* not declare fails loud with `UNSUPPORTED_CAPABILITY` at the moment of use,
|
|
8
|
+
* and anything an engine throws that is not an `EngineError` is normalized to
|
|
9
|
+
* a non-retryable `ENGINE_FAILURE`, so a crashed engine is an infrastructure
|
|
10
|
+
* failure everywhere and never a retry-eligible test failure.
|
|
11
|
+
*/
|
|
12
|
+
import type { EngineHandle } from './index.ts';
|
|
13
|
+
import { type TargetSession } from './surface.ts';
|
|
14
|
+
export interface EngineSessionOptions {
|
|
15
|
+
readonly engine: EngineHandle | undefined;
|
|
16
|
+
readonly targetName: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Builds one session over an engine. One adapter per attempt; revisions are
|
|
20
|
+
* minted per adapter, so refs can never leak across attempts.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createEngineSession(options: EngineSessionOptions): TargetSession;
|
|
23
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/engine/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAmED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAmJhF"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
* the internal `TargetSession` surface over the
|
|
2
|
+
* The engine-to-session adapter (RFC0002). One adapter per attempt satisfies
|
|
3
|
+
* the internal `TargetSession` surface over the engine contract, so the agent
|
|
4
4
|
* tier, the judgment tier, the trace cache, and the fixture graph program
|
|
5
|
-
* against one shape. It is the single seam every
|
|
6
|
-
* makes it the one place two rules are enforced: a capability the
|
|
5
|
+
* against one shape. It is the single seam every engine call crosses, which
|
|
6
|
+
* makes it the one place two rules are enforced: a capability the engine does
|
|
7
7
|
* not declare fails loud with `UNSUPPORTED_CAPABILITY` at the moment of use,
|
|
8
|
-
* and anything
|
|
9
|
-
* a non-retryable `
|
|
8
|
+
* and anything an engine throws that is not an `EngineError` is normalized to
|
|
9
|
+
* a non-retryable `ENGINE_FAILURE`, so a crashed engine is an infrastructure
|
|
10
10
|
* failure everywhere and never a retry-eligible test failure.
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
12
|
+
import { asEngineError, ConfigurationError, E2EError, errorMessage, isForeignE2EError, } from '../internal/errors.js';
|
|
13
|
+
import { EngineError, } from './surface.js';
|
|
14
14
|
/** Located refs are pruned oldest-first past this bound so the map cannot grow unboundedly. */
|
|
15
15
|
const MAX_LOCATED_REFS = 2048;
|
|
16
16
|
/** Revision prefixes: the adapter mints `l<n>` for locate and `b<n>` for observe. */
|
|
17
17
|
const LOCATE_REVISION_PREFIX = 'l';
|
|
18
18
|
const OBSERVE_REVISION_PREFIX = 'b';
|
|
19
19
|
/**
|
|
20
|
-
* Stamps the adapter's revision onto every ref.
|
|
20
|
+
* Stamps the adapter's revision onto every ref. Engines mint stable ids;
|
|
21
21
|
* the adapter owns revisions, so the staleness rule (act on the newest
|
|
22
|
-
* observation only) holds without every
|
|
22
|
+
* observation only) holds without every engine reimplementing it.
|
|
23
23
|
*/
|
|
24
24
|
function stampRevision(node, revision) {
|
|
25
25
|
return {
|
|
@@ -30,7 +30,7 @@ function stampRevision(node, revision) {
|
|
|
30
30
|
: { children: node.children.map((child) => stampRevision(child, revision)) }),
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
/** Wraps
|
|
33
|
+
/** Wraps an engine snapshot's root nodes into the single-root observation tree. */
|
|
34
34
|
function toTree(nodes, revision) {
|
|
35
35
|
const stamped = nodes.map((node) => stampRevision(node, revision));
|
|
36
36
|
const first = stamped[0];
|
|
@@ -49,46 +49,46 @@ function countSecure(nodes) {
|
|
|
49
49
|
return count;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
* Normalizes what
|
|
52
|
+
* Normalizes what an engine threw onto the error contract. `EngineError`
|
|
53
53
|
* (from any module copy) and runner errors pass through; anything else is the
|
|
54
|
-
*
|
|
54
|
+
* engine failing outside its contract, reported as infrastructure.
|
|
55
55
|
*/
|
|
56
56
|
function normalize(cause, label) {
|
|
57
|
-
if (cause instanceof E2EError || isForeignE2EError(cause) ||
|
|
57
|
+
if (cause instanceof E2EError || isForeignE2EError(cause) || asEngineError(cause) !== undefined) {
|
|
58
58
|
throw cause;
|
|
59
59
|
}
|
|
60
|
-
throw new
|
|
60
|
+
throw new EngineError('ENGINE_FAILURE', `${label} failed: ${errorMessage(cause)}`, {
|
|
61
61
|
retryable: false,
|
|
62
62
|
cause,
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
/** The grammar verbs
|
|
66
|
-
function declaredVerbs(
|
|
65
|
+
/** The grammar verbs an engine declaration can honor. */
|
|
66
|
+
function declaredVerbs(engine) {
|
|
67
67
|
const verbs = new Set();
|
|
68
|
-
if (
|
|
68
|
+
if (engine?.perform !== undefined) {
|
|
69
69
|
for (const verb of ['tap', 'type', 'typeSecret', 'press', 'select'])
|
|
70
70
|
verbs.add(verb);
|
|
71
71
|
}
|
|
72
|
-
if (
|
|
72
|
+
if (engine?.swipe !== undefined)
|
|
73
73
|
verbs.add('scroll');
|
|
74
|
-
if (
|
|
74
|
+
if (engine?.app?.navigate !== undefined)
|
|
75
75
|
verbs.add('navigate');
|
|
76
76
|
return verbs;
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
* Builds one session over
|
|
79
|
+
* Builds one session over an engine. One adapter per attempt; revisions are
|
|
80
80
|
* minted per adapter, so refs can never leak across attempts.
|
|
81
81
|
*/
|
|
82
|
-
export function
|
|
83
|
-
const {
|
|
82
|
+
export function createEngineSession(options) {
|
|
83
|
+
const { engine, targetName } = options;
|
|
84
84
|
let revision = 0;
|
|
85
85
|
let viewport = { width: 1, height: 1, scale: 1 };
|
|
86
86
|
const unsupported = (what) => {
|
|
87
|
-
throw new ConfigurationError('UNSUPPORTED_CAPABILITY', `target "${targetName}" has no
|
|
87
|
+
throw new ConfigurationError('UNSUPPORTED_CAPABILITY', `target "${targetName}" has no engine capability for ${what}`);
|
|
88
88
|
};
|
|
89
89
|
/**
|
|
90
90
|
* One declared member as a guarded call: capability-checked at the moment of
|
|
91
|
-
* use and error-normalized. `
|
|
91
|
+
* use and error-normalized. `defineEngine` bound every member to its body,
|
|
92
92
|
* so the function is called as is.
|
|
93
93
|
*/
|
|
94
94
|
const guard = (what, fn) => async (...args) => {
|
|
@@ -103,14 +103,14 @@ export function createBackendSession(options) {
|
|
|
103
103
|
};
|
|
104
104
|
// Located nodes, cached by id so `read(ref)` answers from the resolution
|
|
105
105
|
// that minted the ref. A read against an older resolution is NODE_STALE,
|
|
106
|
-
// which the engine treats as retryable: it re-resolves and reads again.
|
|
106
|
+
// which the locator engine treats as retryable: it re-resolves and reads again.
|
|
107
107
|
let locateRevision = 0;
|
|
108
108
|
const located = new Map();
|
|
109
|
-
const stale = (ref) => new
|
|
109
|
+
const stale = (ref) => new EngineError('NODE_STALE', `node ${ref.id} is stale; re-resolve`, { retryable: true });
|
|
110
110
|
/**
|
|
111
|
-
* A located ref from a superseded resolution never reaches the
|
|
112
|
-
* Observation refs are exempt: they are checked by the
|
|
113
|
-
* newest observation, and
|
|
111
|
+
* A located ref from a superseded resolution never reaches the engine.
|
|
112
|
+
* Observation refs are exempt: they are checked by the engine against its
|
|
113
|
+
* newest observation, and an engine with stable ids may legitimately hand
|
|
114
114
|
* the same id to both tiers.
|
|
115
115
|
*/
|
|
116
116
|
const rejectSupersededLocate = (ref) => {
|
|
@@ -120,35 +120,35 @@ export function createBackendSession(options) {
|
|
|
120
120
|
if (known !== undefined && known.ref.revision !== ref.revision)
|
|
121
121
|
throw stale(ref);
|
|
122
122
|
};
|
|
123
|
-
const locateRaw = guard('locators (screen)',
|
|
124
|
-
const observeRaw = guard('observation',
|
|
123
|
+
const locateRaw = guard('locators (screen)', engine?.locate);
|
|
124
|
+
const observeRaw = guard('observation', engine?.observe);
|
|
125
125
|
const app = {
|
|
126
|
-
open: guard('navigation',
|
|
127
|
-
back: guard('back navigation',
|
|
128
|
-
restart: guard('app restart',
|
|
129
|
-
clearState: guard('app state clearing',
|
|
126
|
+
open: guard('navigation', engine?.app?.navigate),
|
|
127
|
+
back: guard('back navigation', engine?.app?.back),
|
|
128
|
+
restart: guard('app restart', engine?.app?.restart),
|
|
129
|
+
clearState: guard('app state clearing', engine?.app?.clearState),
|
|
130
130
|
};
|
|
131
131
|
const artifacts = {
|
|
132
|
-
screenshot: guard('screenshots',
|
|
133
|
-
...(
|
|
132
|
+
screenshot: guard('screenshots', engine?.artifacts?.screenshot),
|
|
133
|
+
...(engine?.artifacts?.startTrace === undefined || engine.artifacts.stopTrace === undefined
|
|
134
134
|
? {}
|
|
135
135
|
: {
|
|
136
|
-
startTrace: guard('traces',
|
|
137
|
-
stopTrace: guard('traces',
|
|
136
|
+
startTrace: guard('traces', engine.artifacts.startTrace),
|
|
137
|
+
stopTrace: guard('traces', engine.artifacts.stopTrace),
|
|
138
138
|
}),
|
|
139
139
|
};
|
|
140
140
|
let ended = false;
|
|
141
141
|
return {
|
|
142
|
-
verbs: declaredVerbs(
|
|
142
|
+
verbs: declaredVerbs(engine),
|
|
143
143
|
app,
|
|
144
144
|
artifacts,
|
|
145
|
-
...(
|
|
145
|
+
...(engine?.state === undefined
|
|
146
146
|
? {}
|
|
147
147
|
: {
|
|
148
|
-
captureState: guard('state capture',
|
|
149
|
-
restoreState: guard('state restore',
|
|
148
|
+
captureState: guard('state capture', engine.state.capture),
|
|
149
|
+
restoreState: guard('state restore', engine.state.restore),
|
|
150
150
|
}),
|
|
151
|
-
...(
|
|
151
|
+
...(engine?.url === undefined ? {} : { url: guard('the current URL', engine.url) }),
|
|
152
152
|
async observe(operation, observeOptions) {
|
|
153
153
|
const snapshot = await observeRaw(operation, observeOptions?.pixels === true ? { pixels: true } : {});
|
|
154
154
|
if (snapshot.viewport !== undefined)
|
|
@@ -169,7 +169,11 @@ export function createBackendSession(options) {
|
|
|
169
169
|
};
|
|
170
170
|
},
|
|
171
171
|
async locate(expression, operation) {
|
|
172
|
-
|
|
172
|
+
// An engine answers `visible` inside scopes, filters, and indices, where
|
|
173
|
+
// only it can; the harness holds a top-level query to the same predicate
|
|
174
|
+
// so a direct query never resolves to a node its own state calls hidden.
|
|
175
|
+
const nodes = (await locateRaw(expression, operation)).filter((node) => !(expression.kind === 'query' && expression.query.visible === true) ||
|
|
176
|
+
node.states?.hidden !== true);
|
|
173
177
|
locateRevision += 1;
|
|
174
178
|
const locateRev = `${LOCATE_REVISION_PREFIX}${locateRevision}`;
|
|
175
179
|
const refs = [];
|
|
@@ -187,7 +191,7 @@ export function createBackendSession(options) {
|
|
|
187
191
|
return refs;
|
|
188
192
|
},
|
|
189
193
|
async read(ref) {
|
|
190
|
-
if (
|
|
194
|
+
if (engine?.locate === undefined)
|
|
191
195
|
unsupported('locators (screen)');
|
|
192
196
|
const node = located.get(ref.id);
|
|
193
197
|
if (node === undefined || node.ref.revision !== ref.revision)
|
|
@@ -198,16 +202,16 @@ export function createBackendSession(options) {
|
|
|
198
202
|
rejectSupersededLocate(ref);
|
|
199
203
|
if (action.kind === 'dragTo')
|
|
200
204
|
rejectSupersededLocate(action.target);
|
|
201
|
-
await guard(`the "${action.kind}" action`,
|
|
205
|
+
await guard(`the "${action.kind}" action`, engine?.perform)(ref, action, operation);
|
|
202
206
|
},
|
|
203
|
-
swipe: guard('swipe gestures',
|
|
204
|
-
// The
|
|
207
|
+
swipe: guard('swipe gestures', engine?.swipe),
|
|
208
|
+
// The engine outlives the attempt; only the per-attempt isolation ends
|
|
205
209
|
// here, exactly once. dispose() belongs to the worker.
|
|
206
210
|
close: guard('attempt end', async (operation) => {
|
|
207
211
|
if (ended)
|
|
208
212
|
return;
|
|
209
213
|
ended = true;
|
|
210
|
-
await
|
|
214
|
+
await engine?.endAttempt?.({ signal: operation.signal, timeoutMs: operation.timeoutMs });
|
|
211
215
|
}),
|
|
212
216
|
};
|
|
213
217
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/engine/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The internal session surface the harness consumes for one attempt. It is
|
|
3
|
-
* produced only by `
|
|
3
|
+
* produced only by `createEngineSession` (the engine-to-session adapter) and
|
|
4
4
|
* is never part of the public API: the locator engine, the agent tiers, and
|
|
5
5
|
* the attempt executor program against it so that revision minting, staleness
|
|
6
6
|
* checks, and capability gating exist exactly once.
|
|
@@ -9,17 +9,17 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { Momentum, ScrollDirection } from '../types.ts';
|
|
11
11
|
import type { LocatorAction, LocatorExpression, NodeRef, ObservationPixels, OperationContext, SemanticNode } from './contract.ts';
|
|
12
|
-
import type {
|
|
12
|
+
import type { EngineObserveOptions, EngineState } from './index.ts';
|
|
13
13
|
export type * from './contract.ts';
|
|
14
|
-
export {
|
|
15
|
-
export type {
|
|
14
|
+
export { EngineError } from './contract.ts';
|
|
15
|
+
export type { EngineObserveOptions, EngineState } from './index.ts';
|
|
16
16
|
/**
|
|
17
17
|
* The agent's action grammar, by verb. A session declares which verbs its
|
|
18
|
-
*
|
|
18
|
+
* engine can honor so the agent offers the model exactly that vocabulary.
|
|
19
19
|
*/
|
|
20
20
|
export type GrammarVerb = 'tap' | 'type' | 'typeSecret' | 'press' | 'select' | 'scroll' | 'navigate';
|
|
21
21
|
export interface Observation {
|
|
22
|
-
/** Location captured with this tree, when the
|
|
22
|
+
/** Location captured with this tree, when the engine can provide it. */
|
|
23
23
|
readonly url?: string;
|
|
24
24
|
readonly revision: string;
|
|
25
25
|
readonly capturedAt: string;
|
|
@@ -31,7 +31,7 @@ export interface Observation {
|
|
|
31
31
|
readonly scale: number;
|
|
32
32
|
};
|
|
33
33
|
/**
|
|
34
|
-
* What the
|
|
34
|
+
* What the engine masked against what it saw. Pixel completeness is judged
|
|
35
35
|
* downstream from these counts: fewer masked regions than secure nodes
|
|
36
36
|
* withholds the pixels and keeps the tree.
|
|
37
37
|
*/
|
|
@@ -59,10 +59,10 @@ export interface SessionArtifacts {
|
|
|
59
59
|
stopTrace?(operation: OperationContext): Promise<string>;
|
|
60
60
|
}
|
|
61
61
|
export interface TargetSession {
|
|
62
|
-
/** Grammar verbs the
|
|
62
|
+
/** Grammar verbs the engine can honor, read from its declaration. */
|
|
63
63
|
readonly verbs: ReadonlySet<GrammarVerb>;
|
|
64
64
|
/** Captures one atomic agent observation; the harness redacts it downstream. */
|
|
65
|
-
observe(operation: OperationContext, options?:
|
|
65
|
+
observe(operation: OperationContext, options?: EngineObserveOptions): Promise<Observation>;
|
|
66
66
|
/** Resolves immediately; the runner owns query polling and strictness. */
|
|
67
67
|
locate(expression: LocatorExpression, operation: OperationContext): Promise<readonly NodeRef[]>;
|
|
68
68
|
/** Reads one node from the resolution that minted its ref. */
|
|
@@ -74,9 +74,9 @@ export interface TargetSession {
|
|
|
74
74
|
readonly app: SessionApp;
|
|
75
75
|
readonly artifacts: SessionArtifacts;
|
|
76
76
|
/** Captures immutable app state for a session envelope. */
|
|
77
|
-
captureState?(operation: OperationContext): Promise<
|
|
77
|
+
captureState?(operation: OperationContext): Promise<EngineState>;
|
|
78
78
|
/** Replaces current app state with an immutable captured state. */
|
|
79
|
-
restoreState?(state:
|
|
79
|
+
restoreState?(state: EngineState, operation: OperationContext): Promise<void>;
|
|
80
80
|
/** Current top-level URL of the surface, when the platform has one. */
|
|
81
81
|
url?(operation: OperationContext): Promise<string>;
|
|
82
82
|
/** Ends the attempt's isolation within the operation's budget. Idempotent. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/engine/surface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The internal session surface the harness consumes for one attempt. It is
|
|
3
|
-
* produced only by `
|
|
3
|
+
* produced only by `createEngineSession` (the engine-to-session adapter) and
|
|
4
4
|
* is never part of the public API: the locator engine, the agent tiers, and
|
|
5
5
|
* the attempt executor program against it so that revision minting, staleness
|
|
6
6
|
* checks, and capability gating exist exactly once.
|
|
7
7
|
*
|
|
8
8
|
* Re-exports the contract vocabulary so internal modules import one path.
|
|
9
9
|
*/
|
|
10
|
-
export {
|
|
10
|
+
export { EngineError } from './contract.js';
|
|
11
11
|
//# sourceMappingURL=surface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/engine/surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/engine/timing.ts"],"names":[],"mappings":"AAIA,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAElH"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Cancellation with the engine error taxonomy and shared lifecycle mechanics. */
|
|
2
|
+
import { withAbort } from '../internal/time.js';
|
|
3
|
+
import { EngineError } from './contract.js';
|
|
4
|
+
/** Checks cancellation before dispatching a thunk, then abandons the wait on abort. */
|
|
5
|
+
export function raceAbort(work, signal, label) {
|
|
6
|
+
return withAbort(work, signal, () => new EngineError('CANCELLED', `${label} cancelled`, { retryable: false }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=timing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/engine/timing.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,uFAAuF;AACvF,MAAM,UAAU,SAAS,CAAI,IAAqC,EAAE,MAAmB,EAAE,KAAa;IACpG,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,GAAG,KAAK,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACjH,CAAC"}
|
package/dist/expect/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { createAsyncExpectation } from './async.js';
|
|
|
6
6
|
import { createValueExpectation } from './values.js';
|
|
7
7
|
/**
|
|
8
8
|
* A fixture's attached expectation surface hangs off the fixture object under
|
|
9
|
-
* a global symbol (`
|
|
9
|
+
* a global symbol (`EngineFixtureContext.expectable`), so an expect()
|
|
10
10
|
* imported in an isolated test-module realm can still reach it. Core routes
|
|
11
11
|
* to the surface and never knows which matchers a platform contributed.
|
|
12
12
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -4,11 +4,12 @@ export { test } from './collect/registry.ts';
|
|
|
4
4
|
export { expect } from './expect/index.ts';
|
|
5
5
|
export { credentials } from './credentials.ts';
|
|
6
6
|
export { AgentError } from './agent/error.ts';
|
|
7
|
-
export { BLOCKABLE_CODES, RUNTIME_CODES
|
|
7
|
+
export { BLOCKABLE_CODES, RUNTIME_CODES } from './agent/executor.ts';
|
|
8
8
|
export { buildTraceEntry, readTraceEntry } from './cache/trace.ts';
|
|
9
9
|
/** Type-checks and returns an e2e configuration object. */
|
|
10
10
|
export declare function defineConfig(config: E2EConfig): E2EConfig;
|
|
11
11
|
export type * from './types.ts';
|
|
12
|
-
export type {
|
|
12
|
+
export type { ExecutorActions, ExecutorAttempt, ExecutorBudgets, ExecutorModelCall, ExecutorNode, ExecutorObservation, ExecutorObserveOptions, ExecutorPixels, ExecutorStep, ExecutorTarget, ReplayedPrefix, ReplayHandOffReason, StepExecutor, StepExecutorContext, StepVerdict, StepVerdictStatus, } from './agent/executor.ts';
|
|
13
13
|
export type { VisionDegradation } from './run/steps.ts';
|
|
14
|
+
export type { EngineAppDeclaration } from './engine/index.ts';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIrE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnE,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAEzD;AAED,mBAAmB,YAAY,CAAC;AAChC,YAAY,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { test } from './collect/registry.js';
|
|
|
3
3
|
export { expect } from './expect/index.js';
|
|
4
4
|
export { credentials } from './credentials.js';
|
|
5
5
|
export { AgentError } from './agent/error.js';
|
|
6
|
-
export { BLOCKABLE_CODES, RUNTIME_CODES
|
|
6
|
+
export { BLOCKABLE_CODES, RUNTIME_CODES } from './agent/executor.js';
|
|
7
7
|
// Entry framing for custom TraceCacheStore implementations: a remote store
|
|
8
8
|
// serializes buildTraceEntry(payload) on write and validates documents with
|
|
9
9
|
// readTraceEntry on read — the same framing the default file store uses.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAIjC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAIjC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrE,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnE,2DAA2D;AAC3D,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export declare const secretBrand: unique symbol;
|
|
3
3
|
export declare const credentialBrand: unique symbol;
|
|
4
4
|
export declare const testCaseBrand: unique symbol;
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const engineBrand: unique symbol;
|
|
6
6
|
export declare const locatorBrand: unique symbol;
|
|
7
7
|
/** Slot under which a fixture carries its attached expectation surface. */
|
|
8
8
|
export declare const expectationBrand: unique symbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brands.d.ts","sourceRoot":"","sources":["../../src/internal/brands.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,eAAO,MAAM,WAAW,EAAE,OAAO,MAAiC,CAAC;AACnE,eAAO,MAAM,eAAe,EAAE,OAAO,MAAqC,CAAC;AAC3E,eAAO,MAAM,aAAa,EAAE,OAAO,MAAmC,CAAC;AACvE,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"brands.d.ts","sourceRoot":"","sources":["../../src/internal/brands.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,eAAO,MAAM,WAAW,EAAE,OAAO,MAAiC,CAAC;AACnE,eAAO,MAAM,eAAe,EAAE,OAAO,MAAqC,CAAC;AAC3E,eAAO,MAAM,aAAa,EAAE,OAAO,MAAmC,CAAC;AACvE,eAAO,MAAM,WAAW,EAAE,OAAO,MAAoC,CAAC;AACtE,eAAO,MAAM,YAAY,EAAE,OAAO,MAAkC,CAAC;AACrE,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAyC,CAAC"}
|
package/dist/internal/brands.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export const secretBrand = Symbol.for('e2e.secret');
|
|
3
3
|
export const credentialBrand = Symbol.for('e2e.credential');
|
|
4
4
|
export const testCaseBrand = Symbol.for('e2e.testCase');
|
|
5
|
-
export const
|
|
5
|
+
export const engineBrand = Symbol.for('e2e.engine.v1');
|
|
6
6
|
export const locatorBrand = Symbol.for('e2e.locator');
|
|
7
7
|
/** Slot under which a fixture carries its attached expectation surface. */
|
|
8
8
|
export const expectationBrand = Symbol.for('e2e.expectation.v1');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brands.js","sourceRoot":"","sources":["../../src/internal/brands.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAkB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAkB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"brands.js","sourceRoot":"","sources":["../../src/internal/brands.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAkB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAkB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Runner-owned error taxonomy and exit-code mapping (spec 06-cli.md). */
|
|
2
|
-
import { type
|
|
2
|
+
import { type EngineErrorCode } from '../engine/contract.ts';
|
|
3
3
|
/** Message of an arbitrary thrown value, for diagnostics that must not throw. */
|
|
4
4
|
export declare function errorMessage(cause: unknown): string;
|
|
5
5
|
export type ErrorCategory = 'test' | 'configuration' | 'infrastructure' | 'internal' | 'interrupted';
|
|
@@ -16,18 +16,18 @@ export interface SerializedError {
|
|
|
16
16
|
/** Marks classified errors so instances survive isolated module realms. */
|
|
17
17
|
declare const E2E_ERROR_MARKER: unique symbol;
|
|
18
18
|
/**
|
|
19
|
-
* Normalizes
|
|
20
|
-
*
|
|
19
|
+
* Normalizes an engine failure, including one thrown by another copy of the
|
|
20
|
+
* engine module.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
* registry than the runner, so its `
|
|
22
|
+
* An engine imported by a config file is loaded through a different module
|
|
23
|
+
* registry than the runner, so its `EngineError` is a different class and
|
|
24
24
|
* `instanceof` misses it. Detection is therefore structural, keyed on the
|
|
25
|
-
* closed code set: without this, every out-of-tree
|
|
25
|
+
* closed code set: without this, every out-of-tree engine's typed failures
|
|
26
26
|
* silently degrade to a generic error and lose their taxonomy. A foreign
|
|
27
27
|
* instance is held to the same retryability rule as the local class.
|
|
28
28
|
*/
|
|
29
|
-
export declare function
|
|
30
|
-
code:
|
|
29
|
+
export declare function asEngineError(value: unknown): {
|
|
30
|
+
code: EngineErrorCode;
|
|
31
31
|
message: string;
|
|
32
32
|
retryable: boolean;
|
|
33
33
|
} | undefined;
|
|
@@ -77,18 +77,18 @@ export declare function exitCodeForCategory(category: ErrorCategory): 0 | 1 | 2
|
|
|
77
77
|
/** Combines exit codes for mixed outcomes using precedence 130 > 4 > 3 > 2 > 1 > 0. */
|
|
78
78
|
export declare function combineExitCodes(codes: readonly number[]): 0 | 1 | 2 | 3 | 4 | 130;
|
|
79
79
|
/**
|
|
80
|
-
* Canonical
|
|
81
|
-
* Applies to every
|
|
82
|
-
* state capture/restore, and observation. Non-
|
|
83
|
-
* non-retryable infrastructure
|
|
80
|
+
* Canonical EngineError -> runner taxonomy mapping.
|
|
81
|
+
* Applies to every engine surface: lifecycle, app, screen, artifacts,
|
|
82
|
+
* state capture/restore, and observation. Non-EngineError causes become
|
|
83
|
+
* non-retryable infrastructure ENGINE_FAILURE.
|
|
84
84
|
*/
|
|
85
|
-
export declare function
|
|
85
|
+
export declare function translateEngineError(cause: unknown, suffix?: string): E2EError;
|
|
86
86
|
/**
|
|
87
|
-
* Classifies a failure of
|
|
87
|
+
* Classifies a failure of an engine's `prepare` hook. Provisioning runs before
|
|
88
88
|
* any test exists, so nothing thrown there can be a test failure: a harness-
|
|
89
89
|
* classified error keeps the category its author chose (a `ConfigurationError`
|
|
90
|
-
* for an option the
|
|
91
|
-
* cancellation, and everything else -
|
|
90
|
+
* for an option the engine cannot honour), an engine cancellation stays a
|
|
91
|
+
* cancellation, and everything else - an `EngineError` of any code, a plain
|
|
92
92
|
* `Error` from an installer - is infrastructure.
|
|
93
93
|
*/
|
|
94
94
|
export declare function translateProvisioningError(cause: unknown, suffix?: string): E2EError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internal/errors.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAIL,KAAK,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internal/errors.ts"],"names":[],"mappings":"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"}
|