@e2edev/web 0.11.0-canary-20260921180210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +112 -0
  4. package/dist/.build.json +1 -0
  5. package/dist/actions.d.ts +23 -0
  6. package/dist/actions.d.ts.map +1 -0
  7. package/dist/actions.js +174 -0
  8. package/dist/actions.js.map +1 -0
  9. package/dist/attempt-session.d.ts +76 -0
  10. package/dist/attempt-session.d.ts.map +1 -0
  11. package/dist/attempt-session.js +290 -0
  12. package/dist/attempt-session.js.map +1 -0
  13. package/dist/browser-connection.d.ts +34 -0
  14. package/dist/browser-connection.d.ts.map +1 -0
  15. package/dist/browser-connection.js +87 -0
  16. package/dist/browser-connection.js.map +1 -0
  17. package/dist/capture-scope.d.ts +21 -0
  18. package/dist/capture-scope.d.ts.map +1 -0
  19. package/dist/capture-scope.js +61 -0
  20. package/dist/capture-scope.js.map +1 -0
  21. package/dist/cdp-recovery.d.ts +29 -0
  22. package/dist/cdp-recovery.d.ts.map +1 -0
  23. package/dist/cdp-recovery.js +84 -0
  24. package/dist/cdp-recovery.js.map +1 -0
  25. package/dist/cdp-selectors.d.ts +14 -0
  26. package/dist/cdp-selectors.d.ts.map +1 -0
  27. package/dist/cdp-selectors.js +48 -0
  28. package/dist/cdp-selectors.js.map +1 -0
  29. package/dist/dialogs.d.ts +37 -0
  30. package/dist/dialogs.d.ts.map +1 -0
  31. package/dist/dialogs.js +78 -0
  32. package/dist/dialogs.js.map +1 -0
  33. package/dist/engine.d.ts +26 -0
  34. package/dist/engine.d.ts.map +1 -0
  35. package/dist/engine.js +166 -0
  36. package/dist/engine.js.map +1 -0
  37. package/dist/evaluation.d.ts +11 -0
  38. package/dist/evaluation.d.ts.map +1 -0
  39. package/dist/evaluation.js +27 -0
  40. package/dist/evaluation.js.map +1 -0
  41. package/dist/index.d.ts +21 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +14 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/install.d.ts +40 -0
  46. package/dist/install.d.ts.map +1 -0
  47. package/dist/install.js +117 -0
  48. package/dist/install.js.map +1 -0
  49. package/dist/locators.d.ts +74 -0
  50. package/dist/locators.d.ts.map +1 -0
  51. package/dist/locators.js +260 -0
  52. package/dist/locators.js.map +1 -0
  53. package/dist/observation-capture.d.ts +12 -0
  54. package/dist/observation-capture.d.ts.map +1 -0
  55. package/dist/observation-capture.js +93 -0
  56. package/dist/observation-capture.js.map +1 -0
  57. package/dist/observation.d.ts +63 -0
  58. package/dist/observation.d.ts.map +1 -0
  59. package/dist/observation.js +262 -0
  60. package/dist/observation.js.map +1 -0
  61. package/dist/observe.d.ts +51 -0
  62. package/dist/observe.d.ts.map +1 -0
  63. package/dist/observe.js +104 -0
  64. package/dist/observe.js.map +1 -0
  65. package/dist/operation-budget.d.ts +11 -0
  66. package/dist/operation-budget.d.ts.map +1 -0
  67. package/dist/operation-budget.js +40 -0
  68. package/dist/operation-budget.js.map +1 -0
  69. package/dist/protected-app.d.ts +32 -0
  70. package/dist/protected-app.d.ts.map +1 -0
  71. package/dist/protected-app.js +39 -0
  72. package/dist/protected-app.js.map +1 -0
  73. package/dist/read-node.d.ts +170 -0
  74. package/dist/read-node.d.ts.map +1 -0
  75. package/dist/read-node.js +823 -0
  76. package/dist/read-node.js.map +1 -0
  77. package/dist/refs.d.ts +43 -0
  78. package/dist/refs.d.ts.map +1 -0
  79. package/dist/refs.js +85 -0
  80. package/dist/refs.js.map +1 -0
  81. package/dist/route-pattern.d.ts +15 -0
  82. package/dist/route-pattern.d.ts.map +1 -0
  83. package/dist/route-pattern.js +68 -0
  84. package/dist/route-pattern.js.map +1 -0
  85. package/dist/support.d.ts +119 -0
  86. package/dist/support.d.ts.map +1 -0
  87. package/dist/support.js +299 -0
  88. package/dist/support.js.map +1 -0
  89. package/dist/surface.d.ts +257 -0
  90. package/dist/surface.d.ts.map +1 -0
  91. package/dist/surface.js +587 -0
  92. package/dist/surface.js.map +1 -0
  93. package/dist/video.d.ts +59 -0
  94. package/dist/video.d.ts.map +1 -0
  95. package/dist/video.js +115 -0
  96. package/dist/video.js.map +1 -0
  97. package/dist/web.d.ts +191 -0
  98. package/dist/web.d.ts.map +1 -0
  99. package/dist/web.js +354 -0
  100. package/dist/web.js.map +1 -0
  101. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-node.js","sourceRoot":"","sources":["../src/read-node.ts"],"names":[],"mappings":"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"}
package/dist/refs.d.ts ADDED
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Node reference registry for one attempt: the ids the engine mints for
3
+ * located and observed nodes and the Playwright targets behind them.
4
+ *
5
+ * Two populations with different lifetimes live here. Locator-backed refs
6
+ * from `locate` hold no live handles and are pruned oldest-first past a
7
+ * bound. Handle-backed refs from `observe` form one generation per
8
+ * observation: the whole generation is swapped atomically and the superseded
9
+ * one disposed in a sweep, so locator-ref eviction can never destroy a handle
10
+ * an in-flight observation still references.
11
+ */
12
+ import { type EngineSnapshot, type NodeRef } from 'e2e/engine';
13
+ import type { ActionTarget } from './support.ts';
14
+ /** A complete observation and the private handles that back its semantic refs. */
15
+ export interface CapturedObservation {
16
+ readonly snapshot: EngineSnapshot;
17
+ readonly generation: Map<string, ActionTarget>;
18
+ }
19
+ export declare class RefRegistry {
20
+ private counter;
21
+ private capture;
22
+ private readonly located;
23
+ private observation;
24
+ mintId(): string;
25
+ /** Reserves ids before a document can stamp them, even if its response never arrives. */
26
+ reserveIds(count: number): number;
27
+ /** Stores one located target under a fresh id, pruning the oldest past the bound. */
28
+ storeLocated(target: ActionTarget): string;
29
+ /**
30
+ * Ids are the engine's; revisions are the harness's. The adapter already
31
+ * rejected a ref from a superseded resolution, so lookup is by id alone.
32
+ */
33
+ lookup(ref: NodeRef): ActionTarget;
34
+ /** Starts a capture, preventing older in-flight observations from publishing afterward. */
35
+ beginCapture(): number;
36
+ /** Publishes only the current capture; pixel-only recovery also retires located refs. */
37
+ publish(capture: number, { snapshot, generation }: CapturedObservation): void;
38
+ /** Releases every ref of the attempt: located and observed alike. */
39
+ clear(): void;
40
+ /** Disposes every element handle in one observation generation. */
41
+ static dispose(generation: ReadonlyMap<string, ActionTarget>): void;
42
+ }
43
+ //# sourceMappingURL=refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAe,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,kFAAkF;AAClF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAChD;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,WAAW,CAAmC;IAEtD,MAAM,IAAI,MAAM,CAGf;IAED,yFAAyF;IACzF,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhC;IAED,qFAAqF;IACrF,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CASzC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAMjC;IAED,2FAA2F;IAC3F,YAAY,IAAI,MAAM,CAGrB;IAED,yFAAyF;IACzF,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,mBAAmB,GAAG,IAAI,CAO5E;IAED,qEAAqE;IACrE,KAAK,IAAI,IAAI,CAMZ;IAED,mEAAmE;IACnE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAIlE;CACF"}
package/dist/refs.js ADDED
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Node reference registry for one attempt: the ids the engine mints for
3
+ * located and observed nodes and the Playwright targets behind them.
4
+ *
5
+ * Two populations with different lifetimes live here. Locator-backed refs
6
+ * from `locate` hold no live handles and are pruned oldest-first past a
7
+ * bound. Handle-backed refs from `observe` form one generation per
8
+ * observation: the whole generation is swapped atomically and the superseded
9
+ * one disposed in a sweep, so locator-ref eviction can never destroy a handle
10
+ * an in-flight observation still references.
11
+ */
12
+ import { EngineError } from 'e2e/engine';
13
+ /** Located refs are pruned oldest-first past this bound so the map cannot grow unboundedly. */
14
+ const MAX_STORED_REFS = 2048;
15
+ export class RefRegistry {
16
+ counter = 0;
17
+ capture = 0;
18
+ located = new Map();
19
+ observation = new Map();
20
+ mintId() {
21
+ this.counter += 1;
22
+ return `n${this.counter}`;
23
+ }
24
+ /** Reserves ids before a document can stamp them, even if its response never arrives. */
25
+ reserveIds(count) {
26
+ const first = this.counter + 1;
27
+ this.counter += count;
28
+ return first;
29
+ }
30
+ /** Stores one located target under a fresh id, pruning the oldest past the bound. */
31
+ storeLocated(target) {
32
+ const id = this.mintId();
33
+ this.located.set(id, target);
34
+ for (const [oldest, evicted] of this.located) {
35
+ if (this.located.size <= MAX_STORED_REFS)
36
+ break;
37
+ this.located.delete(oldest);
38
+ if (evicted.kind === 'element')
39
+ void evicted.element.dispose().catch(() => undefined);
40
+ }
41
+ return id;
42
+ }
43
+ /**
44
+ * Ids are the engine's; revisions are the harness's. The adapter already
45
+ * rejected a ref from a superseded resolution, so lookup is by id alone.
46
+ */
47
+ lookup(ref) {
48
+ const target = this.located.get(ref.id) ?? this.observation.get(ref.id);
49
+ if (target === undefined) {
50
+ throw new EngineError('NODE_STALE', `node reference ${ref.id} is stale`, { retryable: true });
51
+ }
52
+ return target;
53
+ }
54
+ /** Starts a capture, preventing older in-flight observations from publishing afterward. */
55
+ beginCapture() {
56
+ this.capture += 1;
57
+ return this.capture;
58
+ }
59
+ /** Publishes only the current capture; pixel-only recovery also retires located refs. */
60
+ publish(capture, { snapshot, generation }) {
61
+ if (capture !== this.capture) {
62
+ throw new EngineError('NODE_STALE', 'observation capture was superseded', { retryable: true });
63
+ }
64
+ if (snapshot.treeUnavailable === true)
65
+ this.clear();
66
+ RefRegistry.dispose(this.observation);
67
+ this.observation = generation;
68
+ }
69
+ /** Releases every ref of the attempt: located and observed alike. */
70
+ clear() {
71
+ this.capture += 1;
72
+ RefRegistry.dispose(this.observation);
73
+ this.observation = new Map();
74
+ RefRegistry.dispose(this.located);
75
+ this.located.clear();
76
+ }
77
+ /** Disposes every element handle in one observation generation. */
78
+ static dispose(generation) {
79
+ for (const target of generation.values()) {
80
+ if (target.kind === 'element')
81
+ void target.element.dispose().catch(() => undefined);
82
+ }
83
+ }
84
+ }
85
+ //# sourceMappingURL=refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.js","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /** Route URL pattern grammar. */
2
+ import type { TextPattern } from 'e2e/engine';
3
+ /**
4
+ * Compiles a string route pattern: `*` matches within one path segment, `**`
5
+ * crosses `/`, `?` matches one character, `\` escapes the next character;
6
+ * everything else is literal. Matches against the complete URL.
7
+ */
8
+ export declare function compileRoutePattern(pattern: string): RegExp;
9
+ /** Matches a URL against a wire TextPattern (string grammar or ECMAScript regexp). */
10
+ export declare function routePatternMatches(pattern: TextPattern, url: string): boolean;
11
+ /** Converts a public string/RegExp pattern into the wire TextPattern form. */
12
+ export declare function toRoutePattern(pattern: string | RegExp): TextPattern;
13
+ /** Structural equality for route patterns, used by unroute. */
14
+ export declare function routePatternsEqual(a: TextPattern, b: TextPattern): boolean;
15
+ //# sourceMappingURL=route-pattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-pattern.d.ts","sourceRoot":"","sources":["../src/route-pattern.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAcjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA0B3D;AAED,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAGpE;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAI1E"}
@@ -0,0 +1,68 @@
1
+ /** Route URL pattern grammar. */
2
+ /** Escapes one character for literal use inside a regexp source. */
3
+ function escapeRegexpChar(ch) {
4
+ return /[a-zA-Z0-9_-]/.test(ch) ? ch : `\\${ch}`;
5
+ }
6
+ /**
7
+ * Tests input against a wire regexp (source + flags). A fresh RegExp is
8
+ * constructed per call, so sticky/global state can never leak between matches.
9
+ */
10
+ function testPattern(source, flags, input) {
11
+ return new RegExp(source, flags).test(input);
12
+ }
13
+ /**
14
+ * Compiles a string route pattern: `*` matches within one path segment, `**`
15
+ * crosses `/`, `?` matches one character, `\` escapes the next character;
16
+ * everything else is literal. Matches against the complete URL.
17
+ */
18
+ export function compileRoutePattern(pattern) {
19
+ let source = '^';
20
+ for (let i = 0; i < pattern.length; i += 1) {
21
+ const ch = pattern[i];
22
+ if (ch === '\\') {
23
+ i += 1;
24
+ const next = pattern[i];
25
+ if (next !== undefined)
26
+ source += escapeRegexpChar(next);
27
+ continue;
28
+ }
29
+ if (ch === '*') {
30
+ if (pattern[i + 1] === '*') {
31
+ i += 1;
32
+ source += '.*';
33
+ }
34
+ else {
35
+ source += '[^/]*';
36
+ }
37
+ continue;
38
+ }
39
+ if (ch === '?') {
40
+ source += '.';
41
+ continue;
42
+ }
43
+ source += escapeRegexpChar(ch);
44
+ }
45
+ return new RegExp(`${source}$`);
46
+ }
47
+ /** Matches a URL against a wire TextPattern (string grammar or ECMAScript regexp). */
48
+ export function routePatternMatches(pattern, url) {
49
+ if (pattern.kind === 'string') {
50
+ return compileRoutePattern(pattern.value).test(url);
51
+ }
52
+ return testPattern(pattern.source, pattern.flags, url);
53
+ }
54
+ /** Converts a public string/RegExp pattern into the wire TextPattern form. */
55
+ export function toRoutePattern(pattern) {
56
+ if (typeof pattern === 'string')
57
+ return { kind: 'string', value: pattern, exact: true };
58
+ return { kind: 'regexp', source: pattern.source, flags: pattern.flags };
59
+ }
60
+ /** Structural equality for route patterns, used by unroute. */
61
+ export function routePatternsEqual(a, b) {
62
+ if (a.kind === 'string' && b.kind === 'string')
63
+ return a.value === b.value;
64
+ if (a.kind === 'regexp' && b.kind === 'regexp')
65
+ return a.source === b.source && a.flags === b.flags;
66
+ return false;
67
+ }
68
+ //# sourceMappingURL=route-pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-pattern.js","sourceRoot":"","sources":["../src/route-pattern.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /** Shared error translation, filename, and swipe helpers for the Playwright engine. */
2
+ import type { ElementHandle, Locator as PwLocator, Mouse, Page } from 'playwright';
3
+ import { EngineError, type Momentum, type ScrollDirection, type ViewportPoint } from 'e2e/engine';
4
+ export declare const DEFAULT_VIEWPORT: {
5
+ readonly width: 1280;
6
+ readonly height: 720;
7
+ };
8
+ /**
9
+ * A resolved node is addressed either by a deterministic locator expression or
10
+ * by a live element handle captured during one agent observation. Handles are
11
+ * always elements: the in-page observation walk records `Element` nodes only.
12
+ */
13
+ export type ActionTarget = {
14
+ readonly kind: 'locator';
15
+ readonly locator: PwLocator;
16
+ } | {
17
+ readonly kind: 'element';
18
+ readonly element: ElementHandle<Element>;
19
+ };
20
+ /**
21
+ * Action surface Locator and ElementHandle share with identical signatures.
22
+ * Operations whose behavior diverges between the two kinds (bounding box,
23
+ * evaluate, page ownership, drag) have explicit helpers below so every fork is
24
+ * visible at its call site instead of hidden behind a uniform interface.
25
+ */
26
+ type Actionable = Pick<PwLocator, 'click' | 'dblclick' | 'fill' | 'press' | 'check' | 'uncheck' | 'hover' | 'scrollIntoViewIfNeeded' | 'selectOption' | 'setInputFiles'>;
27
+ /** Narrows one action target to the shared Playwright action surface. */
28
+ export declare function asActionable(target: ActionTarget): Actionable;
29
+ /**
30
+ * Drags one target onto another with the pointer.
31
+ *
32
+ * `Locator.dragTo` exists but takes a locator on both sides, and a node the
33
+ * agent reached through its observed reference is an element handle — which used
34
+ * to make the whole verb unavailable for exactly the elements that have no
35
+ * locator: an unlabelled thumbnail, an empty drop zone. Driving the pointer
36
+ * works for both kinds because a handle has a bounding box like anything else.
37
+ *
38
+ */
39
+ export declare function performPointerDrag(source: ActionTarget, destination: ActionTarget, timeout: number): Promise<void>;
40
+ /** A failure's message with terminal control sequences removed. */
41
+ export declare function message(cause: unknown): string;
42
+ /** Constrains a caller-supplied artifact label to a safe filename. */
43
+ export declare function sanitizeFilename(name: string): string;
44
+ export declare function isPwTimeout(cause: unknown): boolean;
45
+ export declare function invalidState(text: string): EngineError;
46
+ export declare function cancelled(text: string): EngineError;
47
+ /**
48
+ * Holds one error raised on a path nobody awaits - a native dialog nobody
49
+ * handled, a route handler that broke its contract - until the next step
50
+ * enters the surface, which then fails with the real cause. Rethrows once:
51
+ * the failure belongs to the step that observes it, not to every later one.
52
+ */
53
+ export declare class ErrorLatch {
54
+ private pending;
55
+ /** Latches an error; the first one wins until it is thrown. */
56
+ latch(error: Error): void;
57
+ /** Rethrows the latched error once, if any. */
58
+ throwPending(): void;
59
+ }
60
+ /**
61
+ * True for an error that already carries its classification: an `EngineError`
62
+ * from any module copy, or a runner error (policy, validation, timeout). Those
63
+ * must cross the boundary untouched; re-wrapping one would turn a
64
+ * `POLICY_DENIED` into an infrastructure failure.
65
+ */
66
+ export declare function isClassified(cause: unknown): cause is Error;
67
+ /**
68
+ * How a Playwright failure maps onto the error contract. Every translator in
69
+ * this package and in `actions.ts` follows this table:
70
+ *
71
+ * | Playwright failure | Code |
72
+ * | --------------------------------------------------------------- | ------------------------- |
73
+ * | already an EngineError / runner error | passed through untouched |
74
+ * | `TimeoutError` on a read, navigation, or artifact call | OPERATION_TIMEOUT |
75
+ * | `TimeoutError` on an action, log ends before the input dispatch | NOT_ACTIONABLE |
76
+ * | `TimeoutError` on an action, log shows the dispatch started | ACTION_MAY_HAVE_COMMITTED |
77
+ * | element detached / not attached / no element / resolved hidden | NODE_STALE (retryable) |
78
+ * | execution context destroyed / frame detached by a navigation | NODE_STALE (retryable) |
79
+ * | not an input / not editable / not checkable | NOT_ACTIONABLE |
80
+ * | strict mode violation, anything else | ENGINE_FAILURE |
81
+ *
82
+ * The action split is read from the call log Playwright appends to a timeout
83
+ * message: `performing <x> action`, `<x> action done`, and `waiting for
84
+ * scheduled navigations to finish` are only logged once the input is being (or
85
+ * has been) dispatched, so a timeout whose log reaches them is uncertain and
86
+ * the harness must not blindly repeat it. Every earlier line (`waiting for
87
+ * element to be visible, enabled and stable`, `scrolling into view if
88
+ * needed`, `retrying <x> action`) precedes dispatch and is a plain
89
+ * actionability miss.
90
+ */
91
+ export declare const POST_DISPATCH_PATTERN: RegExp;
92
+ /** Translates an unexpected Playwright error at the contract boundary. */
93
+ export declare function translatePwError(cause: unknown, operation: string): Error;
94
+ /**
95
+ * Like translatePwError, but a read that lost its document to a navigation
96
+ * becomes retryable NODE_STALE so the runner re-reads the new document instead
97
+ * of failing the call. Timeouts keep their meaning: an observation that cannot
98
+ * be captured in time is not a race.
99
+ */
100
+ export declare function navigationStaleOr(cause: unknown, operation: string): Error;
101
+ /**
102
+ * Like translatePwError, but detachment/miss failures become retryable
103
+ * NODE_STALE. A timeout stays a timeout: `locate` resolves once and never
104
+ * waits, so a `TimeoutError` there is a budget that ran out, not a miss.
105
+ */
106
+ export declare function staleOr(cause: unknown, operation: string): Error;
107
+ export declare function performViewportSwipe(page: Page, direction: ScrollDirection, momentum: Momentum): Promise<void>;
108
+ /**
109
+ * The browser truncates a fractional pointer coordinate, so a point composed
110
+ * from a fractional box (`tap({ position })` on a node at y 148.875) would
111
+ * land on the pixel before the one asked for; it is rounded to the nearest
112
+ * CSS pixel instead.
113
+ */
114
+ export declare function nearestPixel(point: ViewportPoint): ViewportPoint;
115
+ /** A pointer drag from one viewport point to another, on whole pixels, with an intermediate move so drag handlers see motion. */
116
+ export declare function performPointDrag(mouse: Mouse, start: ViewportPoint, end: ViewportPoint): Promise<void>;
117
+ export declare function performElementSwipe(target: ActionTarget, direction: ScrollDirection, momentum: Momentum, timeout: number): Promise<void>;
118
+ export {};
119
+ //# sourceMappingURL=support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../src/support.ts"],"names":[],"mappings":"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"}