@vosjs/render-core 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/record/index.d.ts +199 -97
- package/dist/record/index.js +211 -49
- package/dist/record/index.js.map +1 -1
- package/package.json +2 -2
package/dist/record/index.d.ts
CHANGED
|
@@ -416,6 +416,186 @@ declare function deadWarns(r: DeadReport): boolean;
|
|
|
416
416
|
/** The dead time in words, naming the steps and what to cut. */
|
|
417
417
|
declare function deadLine(r: DeadReport): string;
|
|
418
418
|
|
|
419
|
+
/**
|
|
420
|
+
* `setup`: the steps that run BEFORE the camera rolls. A sign-in form, a
|
|
421
|
+
* cookie banner, the "choose your editor" modal, an onboarding tour: things
|
|
422
|
+
* a take must get past and must not show. They run after the first
|
|
423
|
+
* navigation and before `Page.startScreencast`, with no cursor synthesis,
|
|
424
|
+
* no pace accounting and nothing written to `meta.steps`. Then the recorder
|
|
425
|
+
* navigates to `url` again and the take begins where the setup left it.
|
|
426
|
+
*
|
|
427
|
+
* A `type` step's `text` may be `{ "env": "DEMO_PASSWORD" }`: resolved at run
|
|
428
|
+
* time from the `env` the caller hands in (the shell's for the CLI, the
|
|
429
|
+
* job's own map for a hosted take), never logged, never stored. The
|
|
430
|
+
* guarantee is narrow and real: the secret is never in a file that travels
|
|
431
|
+
* (`actions.json` is committed and pushed with the take; `meta.json` is read
|
|
432
|
+
* by the digest) and never in the footage.
|
|
433
|
+
*
|
|
434
|
+
* `teardown`: the same steps, run AFTER the take, off camera too: what the
|
|
435
|
+
* take created in the product (an API key, a project, an invite) removed
|
|
436
|
+
* again, so a rehearsal or a re-record leaves the account as it found it.
|
|
437
|
+
* They run once the screencast has stopped, on the take's own page and
|
|
438
|
+
* context (a session's cookies apply), and also when the take stops early
|
|
439
|
+
* or throws once its first step has run. A teardown that fails never fails
|
|
440
|
+
* the take: the footage is fine, and what is left behind is reported.
|
|
441
|
+
*
|
|
442
|
+
* `if`: a guard, `{ "do": "if", "selector": "…" }`. When its selector is on
|
|
443
|
+
* the page the steps after it run as usual; when it is not, they are skipped
|
|
444
|
+
* and the list ends there, which is not a failure. A teardown that undoes
|
|
445
|
+
* what the take may already have removed on camera starts its undoing with
|
|
446
|
+
* one (`if` the new key's row is still listed), so a good take reports
|
|
447
|
+
* nothing to undo instead of a failure; a setup that signs in guards its
|
|
448
|
+
* sign-in the same way (`if` the email field shows), so a session that is
|
|
449
|
+
* already signed in passes. A failure AFTER a guard is still a failure.
|
|
450
|
+
*/
|
|
451
|
+
|
|
452
|
+
type SetupText = string | {
|
|
453
|
+
env: string;
|
|
454
|
+
};
|
|
455
|
+
type SetupStep = ({
|
|
456
|
+
do: 'wait';
|
|
457
|
+
ms: number;
|
|
458
|
+
} | {
|
|
459
|
+
do: 'click';
|
|
460
|
+
selector: string;
|
|
461
|
+
ms?: number;
|
|
462
|
+
} | {
|
|
463
|
+
do: 'type';
|
|
464
|
+
selector: string;
|
|
465
|
+
text: SetupText;
|
|
466
|
+
ms?: number;
|
|
467
|
+
} | {
|
|
468
|
+
do: 'press';
|
|
469
|
+
key: string;
|
|
470
|
+
ms?: number;
|
|
471
|
+
} | {
|
|
472
|
+
do: 'goto';
|
|
473
|
+
url: string;
|
|
474
|
+
} | {
|
|
475
|
+
do: 'if';
|
|
476
|
+
selector: string;
|
|
477
|
+
ms?: number;
|
|
478
|
+
}) & {
|
|
479
|
+
id?: string;
|
|
480
|
+
};
|
|
481
|
+
/** How long an `if` looks for its selector, when it names no `ms`. */
|
|
482
|
+
declare const IF_LOOK_MS = 3000;
|
|
483
|
+
/** Which list a step belongs to, as its messages and log lines name it. */
|
|
484
|
+
type StepPhase = 'setup' | 'teardown';
|
|
485
|
+
/**
|
|
486
|
+
* Why a page address is not one the recorder opens, or null. A script's
|
|
487
|
+
* `url` and a setup's `goto` open a browser, so only http and https are
|
|
488
|
+
* taken: a `file:` address would read this machine's disk into a take
|
|
489
|
+
* and a `javascript:` one would run in the page.
|
|
490
|
+
*/
|
|
491
|
+
declare function urlSchemeProblem(url: string): string | null;
|
|
492
|
+
/**
|
|
493
|
+
* Structural validation, mirrored on `validateActions` for `steps`. The
|
|
494
|
+
* same verbs and rules hold for `teardown`; `phase` names the list.
|
|
495
|
+
*/
|
|
496
|
+
declare function validateSetup(value: unknown, phase?: StepPhase): string[];
|
|
497
|
+
/** The names a setup reads from its env, so a host can say what it must supply. */
|
|
498
|
+
declare function setupEnvNames(steps: SetupStep[] | undefined): string[];
|
|
499
|
+
/**
|
|
500
|
+
* Every name a script reads from its env, its setup's and its teardown's,
|
|
501
|
+
* each once: what a host must supply before the take begins.
|
|
502
|
+
*/
|
|
503
|
+
declare function scriptEnvNames(script: {
|
|
504
|
+
setup?: SetupStep[];
|
|
505
|
+
teardown?: SetupStep[];
|
|
506
|
+
}): string[];
|
|
507
|
+
/** A `{ env }` text resolved, or thrown in words. The value is never returned to a log. */
|
|
508
|
+
declare function resolveSetupText(t: SetupText, env: Record<string, string | undefined>, phase?: StepPhase): {
|
|
509
|
+
value: string;
|
|
510
|
+
secret: boolean;
|
|
511
|
+
};
|
|
512
|
+
/**
|
|
513
|
+
* The first `{ env }` a teardown reads that `env` does not hold, in words,
|
|
514
|
+
* or null. Asked BEFORE the take: a take that creates something its
|
|
515
|
+
* teardown cannot then remove is the one case teardown exists for.
|
|
516
|
+
*/
|
|
517
|
+
declare function teardownEnvProblem(steps: SetupStep[] | undefined, env: Record<string, string | undefined>): string | null;
|
|
518
|
+
interface SetupResult {
|
|
519
|
+
ran: number;
|
|
520
|
+
/** what the log may say about each step: the verb and the selector, never a typed value */
|
|
521
|
+
lines: string[];
|
|
522
|
+
/**
|
|
523
|
+
* The step that failed: for a setup, a selector that never appeared (the
|
|
524
|
+
* take does not start); for a teardown, the step it stopped at. `error`
|
|
525
|
+
* is the driver's reason, one line, never a typed value.
|
|
526
|
+
*/
|
|
527
|
+
failed?: {
|
|
528
|
+
step: number;
|
|
529
|
+
do: string;
|
|
530
|
+
selector?: string;
|
|
531
|
+
error?: string;
|
|
532
|
+
};
|
|
533
|
+
/**
|
|
534
|
+
* An `if` whose selector was not on the page: the list ended there, and
|
|
535
|
+
* `rest` steps after it were skipped. Not a failure.
|
|
536
|
+
*/
|
|
537
|
+
skipped?: {
|
|
538
|
+
step: number;
|
|
539
|
+
selector: string;
|
|
540
|
+
rest: number;
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
/** How long a whole teardown may take before it is stopped and reported. */
|
|
544
|
+
declare const TEARDOWN_BOUND_MS = 60000;
|
|
545
|
+
/**
|
|
546
|
+
* What a teardown did, on the take's result: how many of its steps ran,
|
|
547
|
+
* and where it stopped. Never a typed value.
|
|
548
|
+
*/
|
|
549
|
+
interface TeardownReport {
|
|
550
|
+
ran: number;
|
|
551
|
+
of: number;
|
|
552
|
+
failed?: {
|
|
553
|
+
step: number;
|
|
554
|
+
do: string;
|
|
555
|
+
selector?: string;
|
|
556
|
+
error: string;
|
|
557
|
+
};
|
|
558
|
+
/** An `if` whose selector was gone: nothing left to undo, never a failure. */
|
|
559
|
+
skipped?: {
|
|
560
|
+
step: number;
|
|
561
|
+
selector: string;
|
|
562
|
+
rest: number;
|
|
563
|
+
};
|
|
564
|
+
}
|
|
565
|
+
/** The teardown in one line, for the end of a take or a rehearsal. */
|
|
566
|
+
declare function teardownLine(report: TeardownReport): string;
|
|
567
|
+
/**
|
|
568
|
+
* Run the setup (or the teardown) on a page, with plain Playwright actions:
|
|
569
|
+
* no humanized pointer, no cursor events, no frames. A selector that never
|
|
570
|
+
* appears fails the steps there, because a take that begins at a
|
|
571
|
+
* half-finished sign-in is the wall by another name. With `boundMs`, the
|
|
572
|
+
* steps together run no longer than that: the step running when it passes
|
|
573
|
+
* fails, and the call it left pending is abandoned.
|
|
574
|
+
*/
|
|
575
|
+
declare function runSetup(page: RecorderPage, steps: SetupStep[], opts: {
|
|
576
|
+
sleep: (ms: number) => Promise<void>;
|
|
577
|
+
/** Absent means no env at all: a `{ env }` text then fails in words. */
|
|
578
|
+
env?: Record<string, string | undefined>;
|
|
579
|
+
/** How a `goto` opens its page and waits for it (the take's ready mode); absent, network idle. */
|
|
580
|
+
goto?: (url: string) => Promise<unknown>;
|
|
581
|
+
/** Which list these are, for the log and the messages (default `setup`). */
|
|
582
|
+
phase?: StepPhase;
|
|
583
|
+
/** The longest the steps may take together, in ms. */
|
|
584
|
+
boundMs?: number;
|
|
585
|
+
now?: () => number;
|
|
586
|
+
}): Promise<SetupResult>;
|
|
587
|
+
/** A `{ env }` the shell did not provide: a usage error, not a page's. */
|
|
588
|
+
declare class SetupEnvError extends Error {
|
|
589
|
+
constructor(message: string);
|
|
590
|
+
}
|
|
591
|
+
/** A setup step whose selector never appeared: the take does not start. */
|
|
592
|
+
declare class SetupError extends Error {
|
|
593
|
+
failed: NonNullable<SetupResult['failed']>;
|
|
594
|
+
constructor(failed: NonNullable<SetupResult['failed']>);
|
|
595
|
+
}
|
|
596
|
+
/** `--header name=value`, repeatable: extra request headers on every request. */
|
|
597
|
+
declare function parseHeaders(given: string[] | undefined): Record<string, string>;
|
|
598
|
+
|
|
419
599
|
/**
|
|
420
600
|
* The page's own console errors, as the recorder reports them. A page
|
|
421
601
|
* under recording is someone else's, and its errors are context, never the
|
|
@@ -564,99 +744,6 @@ declare function noticeLine(n: Notice): string;
|
|
|
564
744
|
*/
|
|
565
745
|
declare function noticeAdvice(notices: readonly Pick<Notice, 'kind'>[]): string;
|
|
566
746
|
|
|
567
|
-
/**
|
|
568
|
-
* `setup`: the steps that run BEFORE the camera rolls. A sign-in form, a
|
|
569
|
-
* cookie banner, the "choose your editor" modal, an onboarding tour: things
|
|
570
|
-
* a take must get past and must not show. They run after the first
|
|
571
|
-
* navigation and before `Page.startScreencast`, with no cursor synthesis,
|
|
572
|
-
* no pace accounting and nothing written to `meta.steps`. Then the recorder
|
|
573
|
-
* navigates to `url` again and the take begins where the setup left it.
|
|
574
|
-
*
|
|
575
|
-
* A `type` step's `text` may be `{ "env": "DEMO_PASSWORD" }`: resolved at run
|
|
576
|
-
* time from the `env` the caller hands in (the shell's for the CLI, the
|
|
577
|
-
* job's own map for a hosted take), never logged, never stored. The
|
|
578
|
-
* guarantee is narrow and real: the secret is never in a file that travels
|
|
579
|
-
* (`actions.json` is committed and pushed with the take; `meta.json` is read
|
|
580
|
-
* by the digest) and never in the footage.
|
|
581
|
-
*/
|
|
582
|
-
|
|
583
|
-
type SetupText = string | {
|
|
584
|
-
env: string;
|
|
585
|
-
};
|
|
586
|
-
type SetupStep = ({
|
|
587
|
-
do: 'wait';
|
|
588
|
-
ms: number;
|
|
589
|
-
} | {
|
|
590
|
-
do: 'click';
|
|
591
|
-
selector: string;
|
|
592
|
-
ms?: number;
|
|
593
|
-
} | {
|
|
594
|
-
do: 'type';
|
|
595
|
-
selector: string;
|
|
596
|
-
text: SetupText;
|
|
597
|
-
ms?: number;
|
|
598
|
-
} | {
|
|
599
|
-
do: 'press';
|
|
600
|
-
key: string;
|
|
601
|
-
ms?: number;
|
|
602
|
-
} | {
|
|
603
|
-
do: 'goto';
|
|
604
|
-
url: string;
|
|
605
|
-
}) & {
|
|
606
|
-
id?: string;
|
|
607
|
-
};
|
|
608
|
-
/**
|
|
609
|
-
* Why a page address is not one the recorder opens, or null. A script's
|
|
610
|
-
* `url` and a setup's `goto` open a browser, so only http and https are
|
|
611
|
-
* taken: a `file:` address would read this machine's disk into a take
|
|
612
|
-
* and a `javascript:` one would run in the page.
|
|
613
|
-
*/
|
|
614
|
-
declare function urlSchemeProblem(url: string): string | null;
|
|
615
|
-
/** Structural validation, mirrored on `validateActions` for `steps`. */
|
|
616
|
-
declare function validateSetup(value: unknown): string[];
|
|
617
|
-
/** The names a setup reads from its env, so a host can say what it must supply. */
|
|
618
|
-
declare function setupEnvNames(steps: SetupStep[] | undefined): string[];
|
|
619
|
-
/** A `{ env }` text resolved, or thrown in words. The value is never returned to a log. */
|
|
620
|
-
declare function resolveSetupText(t: SetupText, env: Record<string, string | undefined>): {
|
|
621
|
-
value: string;
|
|
622
|
-
secret: boolean;
|
|
623
|
-
};
|
|
624
|
-
interface SetupResult {
|
|
625
|
-
ran: number;
|
|
626
|
-
/** what the log may say about each step: the verb and the selector, never a typed value */
|
|
627
|
-
lines: string[];
|
|
628
|
-
/** a selector that never appeared; the take does not start */
|
|
629
|
-
failed?: {
|
|
630
|
-
step: number;
|
|
631
|
-
do: string;
|
|
632
|
-
selector?: string;
|
|
633
|
-
};
|
|
634
|
-
}
|
|
635
|
-
/**
|
|
636
|
-
* Run the setup on a page, with plain Playwright actions: no humanized
|
|
637
|
-
* pointer, no cursor events, no frames. A selector that never appears
|
|
638
|
-
* fails the setup, because a take that begins at a half-finished sign-in is
|
|
639
|
-
* the wall by another name.
|
|
640
|
-
*/
|
|
641
|
-
declare function runSetup(page: RecorderPage, steps: SetupStep[], opts: {
|
|
642
|
-
sleep: (ms: number) => Promise<void>;
|
|
643
|
-
/** Absent means no env at all: a `{ env }` text then fails in words. */
|
|
644
|
-
env?: Record<string, string | undefined>;
|
|
645
|
-
/** How a `goto` opens its page and waits for it (the take's ready mode); absent, network idle. */
|
|
646
|
-
goto?: (url: string) => Promise<unknown>;
|
|
647
|
-
}): Promise<SetupResult>;
|
|
648
|
-
/** A `{ env }` the shell did not provide: a usage error, not a page's. */
|
|
649
|
-
declare class SetupEnvError extends Error {
|
|
650
|
-
constructor(message: string);
|
|
651
|
-
}
|
|
652
|
-
/** A setup step whose selector never appeared: the take does not start. */
|
|
653
|
-
declare class SetupError extends Error {
|
|
654
|
-
failed: NonNullable<SetupResult['failed']>;
|
|
655
|
-
constructor(failed: NonNullable<SetupResult['failed']>);
|
|
656
|
-
}
|
|
657
|
-
/** `--header name=value`, repeatable: extra request headers on every request. */
|
|
658
|
-
declare function parseHeaders(given: string[] | undefined): Record<string, string>;
|
|
659
|
-
|
|
660
747
|
/**
|
|
661
748
|
* When a page counts as ready for the take to begin. The default is the
|
|
662
749
|
* DOM: after `load`, the page must make no DOM change for a beat (counted
|
|
@@ -1176,6 +1263,15 @@ interface ActionsFile {
|
|
|
1176
1263
|
* or stored.
|
|
1177
1264
|
*/
|
|
1178
1265
|
setup?: SetupStep[];
|
|
1266
|
+
/**
|
|
1267
|
+
* Run AFTER the take, off camera, with the same verbs as `setup`: what
|
|
1268
|
+
* the take created in the product (an API key, a project, an invite)
|
|
1269
|
+
* removed again. They run once the screencast has stopped, on the take's
|
|
1270
|
+
* own page, after a rehearsal too, and when the take stops early or
|
|
1271
|
+
* throws after its first step. A failing teardown never fails the take;
|
|
1272
|
+
* it stops at the step that failed and is reported.
|
|
1273
|
+
*/
|
|
1274
|
+
teardown?: SetupStep[];
|
|
1179
1275
|
/**
|
|
1180
1276
|
* When the first page counts as ready for step 1: `dom` (default),
|
|
1181
1277
|
* once its DOM has made no change for a beat after `load`, at most 8 s;
|
|
@@ -1683,6 +1779,11 @@ interface RecordResult {
|
|
|
1683
1779
|
actions: ActionsFile;
|
|
1684
1780
|
/** What each peer did, off camera (also `meta.peers`); [] with none. */
|
|
1685
1781
|
peers: PeerRun[];
|
|
1782
|
+
/**
|
|
1783
|
+
* What the script's `teardown` did after the take, off camera; null when
|
|
1784
|
+
* it has none. A failure here is reported and never fails the take.
|
|
1785
|
+
*/
|
|
1786
|
+
teardown: TeardownReport | null;
|
|
1686
1787
|
}
|
|
1687
1788
|
interface RecordOpts {
|
|
1688
1789
|
/** Stop the capture at this many seconds (the hosted cap). */
|
|
@@ -1721,9 +1822,10 @@ interface RecordOpts {
|
|
|
1721
1822
|
*/
|
|
1722
1823
|
context?: RecorderContext;
|
|
1723
1824
|
/**
|
|
1724
|
-
* The environment a setup's `{ env }` texts resolve
|
|
1725
|
-
* for the CLI, the job's own map on the fleet. Absent
|
|
1726
|
-
* all, so a setup that reads one fails in words
|
|
1825
|
+
* The environment a setup's and a teardown's `{ env }` texts resolve
|
|
1826
|
+
* from: the shell's for the CLI, the job's own map on the fleet. Absent
|
|
1827
|
+
* means no env at all, so a setup that reads one fails in words, and a
|
|
1828
|
+
* teardown that reads one refuses the take before it begins.
|
|
1727
1829
|
*/
|
|
1728
1830
|
env?: Record<string, string | undefined>;
|
|
1729
1831
|
/** The platform the take is recorded on, for `meta.platform`. */
|
|
@@ -2267,4 +2369,4 @@ declare function inlinePoints(path: {
|
|
|
2267
2369
|
*/
|
|
2268
2370
|
declare function inlineScript<T extends Pick<ActionsFile, 'steps'>>(actions: T, files: LoadedFiles): T;
|
|
2269
2371
|
|
|
2270
|
-
export { APP_QUIET_MS, APP_SETTLE_CAP_MS, AWAIT_HEARTBEAT_MS, AWAIT_POLL_S, AWAIT_TIMEOUT_S, type ActionStep, type ActionsFile, type Arrival, type AwaitUntil, CHANGE_AGE_PROBE, CLICK_BUTTONS, type ClickButton, type ConditionState, DEAD_SHARE_WARN_PCT, DEAD_STRETCH_WARN_MS, DEFAULT_READY, DOM_CHANGE_PROBE, DOM_QUIET_MS, DOM_SETTLE_CAP_MS, DOWNLOAD_TIMEOUT_S, DRAG_HOLD_MS, DRAG_MODIFIERS, type DeadReport, type DeadStep, type DisabledClick, type DragModifier, EXPECT_TIMEOUT_S, EXPOSURE_ADVICE, EXPOSURE_MATCHERS_SRC, EXPOSURE_PROBE, type EncodePageOptions, type Exposure, type ExposureKind, ExposureLog, type FrameRec, type FrameSink, type FreezeSpan, type FreshPlanOptions, type GuardedStep, type HeardSound, IDLE_CALL_MS, JS_SAID_MAX, JS_VALUE_MAX, KEY_ROUNDTRIP_MS, KEY_SEQUENCE_GAP_MS, type LoadedFiles, MAX_KEYS, MAX_PATH_POINTS, MAX_PEERS, MAX_PEER_STEPS, MEDIA_DRAIN_PROBE, MEDIA_WATCH_SCRIPT, MIN_SKIP_MS, MODIFIERS, MOTION_TICK_MS, MULTI_CLICK_GAP_MS, type MaskReport, type MaskRule, type MediaDrain, type MediaNote, type Modifier, NAV_TIMEOUT_MS, NETWORKIDLE_HYDRATION_MS, NOTICE_SRC, type Notice, NoticeLog, OUTPUT_MAX_BYTES, OVERRUN_MIN_MS, OVERRUN_MIN_PLANNED_MS, OVERRUN_SHARE, type OutputSink, PAGE_ERROR_LINE_CHARS, PASTE_MAX_BYTES, PASTE_READ_WINDOW_MS, PASTE_TYPES, PASTE_UNREAD_MS, PATH_DEFAULT_MS, PEER_VALUE_MAX, PEER_VERBS, POINTER_MAX_MS, POINTER_MIN_MS, POINTER_MS_PER_PX, PRESS_HOLD_MS, PRESS_KEYS, PRESS_LEAD_MS, type PaceReport, type PageError, PageErrorLog, PageSoundLog, type PasteItem, type PathPoint, type PathSample, type Peer, type PeerRun, type PeerStep, type PollResult, type PressKey, QUIET_MS, READY_MODES, READY_SETTLE_CAP_MS, READ_BEAT_MS, RESPONSE_MS, type ReadyMode, type ReadyOpts, type ReadyReport, type RecordOpts, RecordRefusedError, type RecordResult, type RecorderApiResponse, type RecorderBrowser, type RecorderButtonOpts, type RecorderCdp, type RecorderClock, type RecorderConsoleMessage, type RecorderContext, type RecorderDownload, type RecorderLocator, type RecorderLocatorRoot, type RecorderMediaElement, type RecorderPage, type RecorderRect, type RecorderResponse, type RecorderRoute, SCROLL_MAX_MS, SCROLL_MIN_MS, SCROLL_MS_PER_PX, SCROLL_SETTLE_MS, SETTLE_CAP_MS, SETTLE_MS, SETTLE_VERBS, STEP_GUARDS, STEP_MARGIN_MS, type ScannedNotice, type ScriptFiles, SetupEnvError, SetupError, type SetupResult, type SetupStep, type SetupText, type SkippedStep, type SoundSink, StepBound, type StepGuard, type StepOverrun, type StepPace, StepSignals, type StoppedTake, type SurfaceFit, type SurfaceSize, TRAILING_HOLD_MS, TakeClock, WAIT_MARGIN_MS, WALL_PROBE, type WaitCondition, WallError, type WallKind, type WallVerdict, ZOOM_MARK_VERBS, appSettled, askedMs, base64Bytes, bounded, buildEncodePage, buttonNumber, capReached, cappedLine, chordProblem, clampWait, clockMotion, clockTyping, conditionMiss, deadLine, deadTime, deadWarns, domSettled, easeInOutCubic, exposureLine, extForType, fetchInPageScript, fileNameProblem, fitSurfaceToViewport, formatDurationCap, guardVerdict, guardedSteps, hangReason, headersFor, holdLeftMs, hostedRefusals, inlinePoints, inlineScript, isIdpHost, isKeyName, isSignInPath, jpegDims, jsConditionScript, keptValue, keySequencePlanMs, loadScriptFiles, maskInitScript, modifierBits, nameFromUrl, noticeAdvice, noticeLine, outputName, overrunLine, overrunOf, paceLine, paceReport, pageErrorLine, parseHeaders, pasteTypeOf, pathDurationMs, peerValue, peersHostedRefusal, plainName, planFreshTake, pointerTravelMs, pollCondition, pressSequence, publicUrl, readAllBytes, readCondition, readMediaSource, readPath, readyLine, readyProblem, realSleep, recordTake, redirectedAway, reloadUntilReady, resolveChord, resolveModifier, resolveSetupText, runPeer, runSetup, sameJson, sayCondition, sayDuration, sayJs, sayValue, schedulePath, scriptFiles, scrollByScript, scrollTravelMs, settleMs, settleOn, settleVerdict, setupEnvNames, soundSrcForMeta, splitChord, splitSegmentsAtSkips, stageClipboardScript, stepBoundMs, syntheticPasteScript, typeOfName, untilReady, urlSchemeProblem, validateActions, validatePeers, validateSetup, visibleTextScript, wallVerdict, withFittingExport, withPageSound };
|
|
2372
|
+
export { APP_QUIET_MS, APP_SETTLE_CAP_MS, AWAIT_HEARTBEAT_MS, AWAIT_POLL_S, AWAIT_TIMEOUT_S, type ActionStep, type ActionsFile, type Arrival, type AwaitUntil, CHANGE_AGE_PROBE, CLICK_BUTTONS, type ClickButton, type ConditionState, DEAD_SHARE_WARN_PCT, DEAD_STRETCH_WARN_MS, DEFAULT_READY, DOM_CHANGE_PROBE, DOM_QUIET_MS, DOM_SETTLE_CAP_MS, DOWNLOAD_TIMEOUT_S, DRAG_HOLD_MS, DRAG_MODIFIERS, type DeadReport, type DeadStep, type DisabledClick, type DragModifier, EXPECT_TIMEOUT_S, EXPOSURE_ADVICE, EXPOSURE_MATCHERS_SRC, EXPOSURE_PROBE, type EncodePageOptions, type Exposure, type ExposureKind, ExposureLog, type FrameRec, type FrameSink, type FreezeSpan, type FreshPlanOptions, type GuardedStep, type HeardSound, IDLE_CALL_MS, IF_LOOK_MS, JS_SAID_MAX, JS_VALUE_MAX, KEY_ROUNDTRIP_MS, KEY_SEQUENCE_GAP_MS, type LoadedFiles, MAX_KEYS, MAX_PATH_POINTS, MAX_PEERS, MAX_PEER_STEPS, MEDIA_DRAIN_PROBE, MEDIA_WATCH_SCRIPT, MIN_SKIP_MS, MODIFIERS, MOTION_TICK_MS, MULTI_CLICK_GAP_MS, type MaskReport, type MaskRule, type MediaDrain, type MediaNote, type Modifier, NAV_TIMEOUT_MS, NETWORKIDLE_HYDRATION_MS, NOTICE_SRC, type Notice, NoticeLog, OUTPUT_MAX_BYTES, OVERRUN_MIN_MS, OVERRUN_MIN_PLANNED_MS, OVERRUN_SHARE, type OutputSink, PAGE_ERROR_LINE_CHARS, PASTE_MAX_BYTES, PASTE_READ_WINDOW_MS, PASTE_TYPES, PASTE_UNREAD_MS, PATH_DEFAULT_MS, PEER_VALUE_MAX, PEER_VERBS, POINTER_MAX_MS, POINTER_MIN_MS, POINTER_MS_PER_PX, PRESS_HOLD_MS, PRESS_KEYS, PRESS_LEAD_MS, type PaceReport, type PageError, PageErrorLog, PageSoundLog, type PasteItem, type PathPoint, type PathSample, type Peer, type PeerRun, type PeerStep, type PollResult, type PressKey, QUIET_MS, READY_MODES, READY_SETTLE_CAP_MS, READ_BEAT_MS, RESPONSE_MS, type ReadyMode, type ReadyOpts, type ReadyReport, type RecordOpts, RecordRefusedError, type RecordResult, type RecorderApiResponse, type RecorderBrowser, type RecorderButtonOpts, type RecorderCdp, type RecorderClock, type RecorderConsoleMessage, type RecorderContext, type RecorderDownload, type RecorderLocator, type RecorderLocatorRoot, type RecorderMediaElement, type RecorderPage, type RecorderRect, type RecorderResponse, type RecorderRoute, SCROLL_MAX_MS, SCROLL_MIN_MS, SCROLL_MS_PER_PX, SCROLL_SETTLE_MS, SETTLE_CAP_MS, SETTLE_MS, SETTLE_VERBS, STEP_GUARDS, STEP_MARGIN_MS, type ScannedNotice, type ScriptFiles, SetupEnvError, SetupError, type SetupResult, type SetupStep, type SetupText, type SkippedStep, type SoundSink, StepBound, type StepGuard, type StepOverrun, type StepPace, type StepPhase, StepSignals, type StoppedTake, type SurfaceFit, type SurfaceSize, TEARDOWN_BOUND_MS, TRAILING_HOLD_MS, TakeClock, type TeardownReport, WAIT_MARGIN_MS, WALL_PROBE, type WaitCondition, WallError, type WallKind, type WallVerdict, ZOOM_MARK_VERBS, appSettled, askedMs, base64Bytes, bounded, buildEncodePage, buttonNumber, capReached, cappedLine, chordProblem, clampWait, clockMotion, clockTyping, conditionMiss, deadLine, deadTime, deadWarns, domSettled, easeInOutCubic, exposureLine, extForType, fetchInPageScript, fileNameProblem, fitSurfaceToViewport, formatDurationCap, guardVerdict, guardedSteps, hangReason, headersFor, holdLeftMs, hostedRefusals, inlinePoints, inlineScript, isIdpHost, isKeyName, isSignInPath, jpegDims, jsConditionScript, keptValue, keySequencePlanMs, loadScriptFiles, maskInitScript, modifierBits, nameFromUrl, noticeAdvice, noticeLine, outputName, overrunLine, overrunOf, paceLine, paceReport, pageErrorLine, parseHeaders, pasteTypeOf, pathDurationMs, peerValue, peersHostedRefusal, plainName, planFreshTake, pointerTravelMs, pollCondition, pressSequence, publicUrl, readAllBytes, readCondition, readMediaSource, readPath, readyLine, readyProblem, realSleep, recordTake, redirectedAway, reloadUntilReady, resolveChord, resolveModifier, resolveSetupText, runPeer, runSetup, sameJson, sayCondition, sayDuration, sayJs, sayValue, schedulePath, scriptEnvNames, scriptFiles, scrollByScript, scrollTravelMs, settleMs, settleOn, settleVerdict, setupEnvNames, soundSrcForMeta, splitChord, splitSegmentsAtSkips, stageClipboardScript, stepBoundMs, syntheticPasteScript, teardownEnvProblem, teardownLine, typeOfName, untilReady, urlSchemeProblem, validateActions, validatePeers, validateSetup, visibleTextScript, wallVerdict, withFittingExport, withPageSound };
|