@vforsh/argus-core 0.5.1 → 0.5.3
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/.tsbuildinfo +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/protocol/http/dom.d.ts +4 -1
- package/dist/protocol/http/dom.d.ts.map +1 -1
- package/dist/protocol/http/dom.js +2 -0
- package/dist/protocol/http/dom.js.map +1 -1
- package/dist/protocol/http/domInteraction.d.ts +4 -1
- package/dist/protocol/http/domInteraction.d.ts.map +1 -1
- package/dist/protocol/http/domInteraction.js +9 -0
- package/dist/protocol/http/domInteraction.js.map +1 -1
- package/dist/protocol/http/errors.d.ts +1 -1
- package/dist/protocol/http/errors.d.ts.map +1 -1
- package/dist/protocol/http/errors.js +3 -0
- package/dist/protocol/http/errors.js.map +1 -1
- package/dist/protocol/http/navigation.d.ts +128 -0
- package/dist/protocol/http/navigation.d.ts.map +1 -0
- package/dist/protocol/http/navigation.js +66 -0
- package/dist/protocol/http/navigation.js.map +1 -0
- package/dist/protocol/http/record.d.ts +87 -5
- package/dist/protocol/http/record.d.ts.map +1 -1
- package/dist/protocol/http/record.js +28 -5
- package/dist/protocol/http/record.js.map +1 -1
- package/dist/protocol/http/status.d.ts +9 -0
- package/dist/protocol/http/status.d.ts.map +1 -1
- package/dist/protocol/http/status.js.map +1 -1
- package/dist/protocol/http.d.ts +1 -0
- package/dist/protocol/http.d.ts.map +1 -1
- package/dist/protocol/http.js +1 -0
- package/dist/protocol/http.js.map +1 -1
- package/dist/protocol/scenario.d.ts +31 -0
- package/dist/protocol/scenario.d.ts.map +1 -1
- package/dist/url/queryParams.d.ts +82 -0
- package/dist/url/queryParams.d.ts.map +1 -0
- package/dist/url/queryParams.js +146 -0
- package/dist/url/queryParams.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { domTargetPayload } from './dom.js';
|
|
2
|
+
import { navigationWaitFields } from './navigation.js';
|
|
2
3
|
import { defineProtocolSchema, invalidProtocolPayload, isProtocolObject, validProtocolPayload } from '../schema.js';
|
|
4
|
+
import { readFields } from '../schemaFields.js';
|
|
3
5
|
/** Runtime list of mouse buttons accepted by pointer-style interaction commands. */
|
|
4
6
|
export const MOUSE_BUTTONS = ['left', 'middle', 'right'];
|
|
5
7
|
/** Schema for POST /dom/click request payloads. */
|
|
@@ -33,11 +35,18 @@ export const domClickRequestSchema = defineProtocolSchema((value) => {
|
|
|
33
35
|
if (value.text != null && typeof value.text !== 'string') {
|
|
34
36
|
return invalidProtocolPayload('text must be a string');
|
|
35
37
|
}
|
|
38
|
+
const navFields = readFields(value, navigationWaitFields);
|
|
39
|
+
if (!navFields.ok)
|
|
40
|
+
return navFields;
|
|
36
41
|
const request = {
|
|
37
42
|
all: value.all ?? false,
|
|
38
43
|
button: value.button ?? 'left',
|
|
39
44
|
wait: value.wait ?? 0,
|
|
40
45
|
};
|
|
46
|
+
if (navFields.value.waitNav != null)
|
|
47
|
+
request.waitNav = navFields.value.waitNav;
|
|
48
|
+
if (navFields.value.navTimeoutMs != null)
|
|
49
|
+
request.navTimeoutMs = navFields.value.navTimeoutMs;
|
|
41
50
|
if (hasSelector)
|
|
42
51
|
request.selector = selector;
|
|
43
52
|
if (hasRef)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domInteraction.js","sourceRoot":"","sources":["../../../src/protocol/http/domInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"domInteraction.js","sourceRoot":"","sources":["../../../src/protocol/http/domInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* The CLI's own local failures (native-host setup, platform support, the `argus session` JSONL
|
|
13
13
|
* transport) use the same envelope and so draw from the same union.
|
|
14
14
|
*/
|
|
15
|
-
export declare const ARGUS_ERROR_CODES: readonly ["argus_executable_not_found", "body_not_available", "cdp_not_attached", "cdp_renderer_unresponsive", "cdp_target_replaced", "cdp_timeout", "chrome_unreachable", "dialog_blocking", "dialog_not_prompt", "extension_action_failed", "extension_frame_not_ready", "invalid_json", "invalid_match", "invalid_match_case", "invalid_net_filter", "invalid_net_request", "invalid_ref", "invalid_request", "log_epoch_evicted", "log_epoch_future", "log_epoch_invalid", "log_epoch_mismatch", "multiple_matches", "native_host_install_failed", "net_disabled", "net_request_not_found", "no_active_dialog", "not_available", "not_found", "not_interactable", "nth_out_of_range", "payload_too_large", "session_command_failed", "session_command_rejected", "session_invalid_request", "session_request_timeout", "session_unknown_command", "target_not_focused", "unexpected_matches", "unsupported_platform"];
|
|
15
|
+
export declare const ARGUS_ERROR_CODES: readonly ["argus_executable_not_found", "body_not_available", "cdp_not_attached", "cdp_renderer_unresponsive", "cdp_target_replaced", "cdp_timeout", "chrome_unreachable", "dialog_blocking", "dialog_not_prompt", "extension_action_failed", "extension_frame_not_ready", "invalid_json", "invalid_match", "invalid_match_case", "invalid_net_filter", "invalid_net_request", "invalid_ref", "invalid_request", "log_epoch_evicted", "log_epoch_future", "log_epoch_invalid", "log_epoch_mismatch", "multiple_matches", "native_host_install_failed", "navigation_failed", "navigation_timeout", "net_disabled", "net_request_not_found", "no_active_dialog", "no_history", "not_available", "not_found", "not_interactable", "nth_out_of_range", "payload_too_large", "session_command_failed", "session_command_rejected", "session_invalid_request", "session_request_timeout", "session_unknown_command", "target_not_focused", "unexpected_matches", "unsupported_platform"];
|
|
16
16
|
/** A machine-readable failure code carried by {@link ErrorDetail}. */
|
|
17
17
|
export type ArgusErrorCode = (typeof ARGUS_ERROR_CODES)[number];
|
|
18
18
|
/** True when `value` is a code this protocol defines. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,o7BA4CpB,CAAA;AAEV,sEAAsE;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,cAC2B,CAAA;AAEtF,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,KAAK,CAAA;IACT,KAAK,EAAE,WAAW,CAAA;CAClB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,CAAC,CAAA;AAEpC;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,SAAS,SAAS;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,IAAI,SAAS,GAAG,aAAa,CAAA;AAEjF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -37,9 +37,12 @@ export const ARGUS_ERROR_CODES = [
|
|
|
37
37
|
'log_epoch_mismatch',
|
|
38
38
|
'multiple_matches',
|
|
39
39
|
'native_host_install_failed',
|
|
40
|
+
'navigation_failed',
|
|
41
|
+
'navigation_timeout',
|
|
40
42
|
'net_disabled',
|
|
41
43
|
'net_request_not_found',
|
|
42
44
|
'no_active_dialog',
|
|
45
|
+
'no_history',
|
|
43
46
|
'not_available',
|
|
44
47
|
'not_found',
|
|
45
48
|
'not_interactable',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/protocol/http/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,4BAA4B;IAC5B,oBAAoB;IACpB,kBAAkB;IAClB,2BAA2B;IAC3B,qBAAqB;IACrB,aAAa;IACb,oBAAoB;IACpB,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;IACzB,2BAA2B;IAC3B,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,aAAa;IACb,iBAAiB;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,4BAA4B;IAC5B,cAAc;IACd,uBAAuB;IACvB,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,wBAAwB;IACxB,0BAA0B;IAC1B,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;CACb,CAAA;AAKV,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA2B,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/protocol/http/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,4BAA4B;IAC5B,oBAAoB;IACpB,kBAAkB;IAClB,2BAA2B;IAC3B,qBAAqB;IACrB,aAAa;IACb,oBAAoB;IACpB,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;IACzB,2BAA2B;IAC3B,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,aAAa;IACb,iBAAiB;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,4BAA4B;IAC5B,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,uBAAuB;IACvB,kBAAkB;IAClB,YAAY;IACZ,eAAe;IACf,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,wBAAwB;IACxB,0BAA0B;IAC1B,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;CACb,CAAA;AAKV,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA2B,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { LogEpoch } from '../logs.js';
|
|
2
|
+
import type { Ok } from './errors.js';
|
|
3
|
+
/**
|
|
4
|
+
* How long a navigation command waits before it answers.
|
|
5
|
+
*
|
|
6
|
+
* - `load` — the page's `load` event fired. The default, and what "the page is ready" means
|
|
7
|
+
* to most callers.
|
|
8
|
+
* - `domcontentloaded` — the DOM is parsed but subresources may still be in flight. Use it
|
|
9
|
+
* for pages whose `load` is gated on a slow image, video, or analytics beacon.
|
|
10
|
+
* - `none` — return as soon as Chrome accepts the command. Nothing is guaranteed to have
|
|
11
|
+
* happened yet; the reported URL is the requested one, not the resolved one.
|
|
12
|
+
*
|
|
13
|
+
* There is deliberately no `networkidle`: it is a heuristic, not an event, and a page with a
|
|
14
|
+
* long-poll or an open socket never reaches it.
|
|
15
|
+
*/
|
|
16
|
+
export type NavigationWait = 'load' | 'domcontentloaded' | 'none';
|
|
17
|
+
/** Runtime list of the wait modes, for enum validation and CLI help text. */
|
|
18
|
+
export declare const NAVIGATION_WAITS: readonly ["load", "domcontentloaded", "none"];
|
|
19
|
+
/** Default wait mode when a request does not name one. */
|
|
20
|
+
export declare const DEFAULT_NAVIGATION_WAIT: NavigationWait;
|
|
21
|
+
/** Default wait timeout in milliseconds. Applies to the wait, not to the command itself. */
|
|
22
|
+
export declare const DEFAULT_NAVIGATION_TIMEOUT_MS = 30000;
|
|
23
|
+
/** Directions accepted by POST /navigate/history. */
|
|
24
|
+
export declare const NAVIGATION_DIRECTIONS: readonly ["back", "forward"];
|
|
25
|
+
/** Which way through the session history to move. */
|
|
26
|
+
export type NavigationDirection = (typeof NAVIGATION_DIRECTIONS)[number];
|
|
27
|
+
/**
|
|
28
|
+
* Request payload for POST /navigate.
|
|
29
|
+
*
|
|
30
|
+
* At least one of `url`, `param`, or `params` is required. Omitting `url` rewrites the query
|
|
31
|
+
* string of the page's current URL in place, which is how `goto --param x=1` works without
|
|
32
|
+
* the caller having to read the URL first.
|
|
33
|
+
*/
|
|
34
|
+
export type NavigateRequest = {
|
|
35
|
+
/** Absolute, scheme-less, or relative to the page's current URL. Resolved by the watcher. */
|
|
36
|
+
url?: string;
|
|
37
|
+
/** Query overrides applied after resolution, overwrite semantics. Repeatable `key=value`. */
|
|
38
|
+
param?: string[];
|
|
39
|
+
/** Query overrides as a single `a=b&c=d` string. Applied before `param`. */
|
|
40
|
+
params?: string;
|
|
41
|
+
/** How long to wait before answering. Default: `load`. */
|
|
42
|
+
wait?: NavigationWait;
|
|
43
|
+
/** Wait budget in milliseconds. Default: 30000. Applies to the wait only. */
|
|
44
|
+
timeoutMs?: number;
|
|
45
|
+
};
|
|
46
|
+
/** Response payload for POST /navigate. */
|
|
47
|
+
export type NavigateResponse = Ok<{
|
|
48
|
+
/** The URL Argus asked Chrome for, after relative resolution and query merging. */
|
|
49
|
+
requestedUrl: string;
|
|
50
|
+
/**
|
|
51
|
+
* The top-frame URL after navigation, so a redirect reports where the page actually landed.
|
|
52
|
+
* Equal to `requestedUrl` when `wait` is `none`, since nothing has been observed yet.
|
|
53
|
+
*/
|
|
54
|
+
url: string;
|
|
55
|
+
/** Chrome's loader id for this navigation, when it reported one. */
|
|
56
|
+
loaderId: string | null;
|
|
57
|
+
/**
|
|
58
|
+
* Log epoch opened immediately before the navigation was dispatched.
|
|
59
|
+
*
|
|
60
|
+
* Everything the new page logs lands after it, so `logs --since-epoch <epoch>` is race-free
|
|
61
|
+
* even for a console line written during the very first script of the new document.
|
|
62
|
+
*/
|
|
63
|
+
epoch: LogEpoch;
|
|
64
|
+
/** The wait mode that was actually applied. */
|
|
65
|
+
waited: NavigationWait;
|
|
66
|
+
}>;
|
|
67
|
+
/** Request payload for POST /navigate/history. */
|
|
68
|
+
export type NavigateHistoryRequest = {
|
|
69
|
+
/** Which way to move through the session history. */
|
|
70
|
+
direction: NavigationDirection;
|
|
71
|
+
/** How many entries to move. Default: 1. */
|
|
72
|
+
steps?: number;
|
|
73
|
+
/** How long to wait before answering. Default: `load`. */
|
|
74
|
+
wait?: NavigationWait;
|
|
75
|
+
/** Wait budget in milliseconds. Default: 30000. */
|
|
76
|
+
timeoutMs?: number;
|
|
77
|
+
};
|
|
78
|
+
/** Response payload for POST /navigate/history. */
|
|
79
|
+
export type NavigateHistoryResponse = Ok<{
|
|
80
|
+
/** The top-frame URL after the history entry loaded. */
|
|
81
|
+
url: string;
|
|
82
|
+
/** Resulting position in the session history (0-based). */
|
|
83
|
+
index: number;
|
|
84
|
+
/** Number of entries in the session history. */
|
|
85
|
+
length: number;
|
|
86
|
+
/** Log epoch opened immediately before the history entry was dispatched. */
|
|
87
|
+
epoch: LogEpoch;
|
|
88
|
+
/** The wait mode that was actually applied. */
|
|
89
|
+
waited: NavigationWait;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* What a `--wait-nav` interaction observed after it acted.
|
|
93
|
+
*
|
|
94
|
+
* `navigated: false` is a success, not a failure: clicking a button that does not navigate is
|
|
95
|
+
* the normal case, and so is an iframe-internal navigation — only a top-frame navigation counts.
|
|
96
|
+
*/
|
|
97
|
+
export type NavigationSummary = {
|
|
98
|
+
/** Whether a top-frame navigation completed within the wait budget. */
|
|
99
|
+
navigated: boolean;
|
|
100
|
+
/** The new top-frame URL, or `null` when nothing navigated. */
|
|
101
|
+
url: string | null;
|
|
102
|
+
/** Log epoch opened before the interaction, or `null` when no wait was requested. */
|
|
103
|
+
epoch: LogEpoch | null;
|
|
104
|
+
};
|
|
105
|
+
/** Shared `--wait-nav` fields carried by interaction requests that can trigger a navigation. */
|
|
106
|
+
export type NavigationWaitOptions = {
|
|
107
|
+
/** Wait for a top-frame navigation after the interaction. Omit to not wait at all. */
|
|
108
|
+
waitNav?: NavigationWait;
|
|
109
|
+
/** Wait budget for `waitNav`, in milliseconds. Default: 10000. */
|
|
110
|
+
navTimeoutMs?: number;
|
|
111
|
+
};
|
|
112
|
+
/** Default wait budget for `waitNav` on an interaction, which is a much shorter bet than a goto. */
|
|
113
|
+
export declare const DEFAULT_INTERACTION_NAV_TIMEOUT_MS = 10000;
|
|
114
|
+
/**
|
|
115
|
+
* Read the optional `waitNav` / `navTimeoutMs` pair off an interaction payload.
|
|
116
|
+
*
|
|
117
|
+
* Exported so `/dom/click` and `/dom/keydown` compose the same two fields instead of each
|
|
118
|
+
* spelling out the enum and the bound.
|
|
119
|
+
*/
|
|
120
|
+
export declare const navigationWaitFields: {
|
|
121
|
+
waitNav: (source: Record<string, unknown>, key: string) => import("../schemaFields.js").FieldError | "none" | "load" | "domcontentloaded" | undefined;
|
|
122
|
+
navTimeoutMs: (source: Record<string, unknown>, key: string) => number | import("../schemaFields.js").FieldError | undefined;
|
|
123
|
+
};
|
|
124
|
+
/** Schema for POST /navigate request payloads. */
|
|
125
|
+
export declare const navigateRequestSchema: import("../schema.js").ProtocolSchema<NavigateRequest>;
|
|
126
|
+
/** Schema for POST /navigate/history request payloads. */
|
|
127
|
+
export declare const navigateHistoryRequestSchema: import("../schema.js").ProtocolSchema<NavigateHistoryRequest>;
|
|
128
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { defineProtocolSchema, invalidProtocolPayload, validProtocolPayload } from '../schema.js';
|
|
2
|
+
import { compact, optionalEnum, optionalInteger, optionalNumber, optionalString, optionalStringArray, readFields, requireObject, } from '../schemaFields.js';
|
|
3
|
+
/** Runtime list of the wait modes, for enum validation and CLI help text. */
|
|
4
|
+
export const NAVIGATION_WAITS = ['load', 'domcontentloaded', 'none'];
|
|
5
|
+
/** Default wait mode when a request does not name one. */
|
|
6
|
+
export const DEFAULT_NAVIGATION_WAIT = 'load';
|
|
7
|
+
/** Default wait timeout in milliseconds. Applies to the wait, not to the command itself. */
|
|
8
|
+
export const DEFAULT_NAVIGATION_TIMEOUT_MS = 30_000;
|
|
9
|
+
/** Directions accepted by POST /navigate/history. */
|
|
10
|
+
export const NAVIGATION_DIRECTIONS = ['back', 'forward'];
|
|
11
|
+
/** Default wait budget for `waitNav` on an interaction, which is a much shorter bet than a goto. */
|
|
12
|
+
export const DEFAULT_INTERACTION_NAV_TIMEOUT_MS = 10_000;
|
|
13
|
+
/** Read a wait mode. Same reader under both field names (`wait` and `waitNav`). */
|
|
14
|
+
const readWait = (source, key) => optionalEnum(source, key, NAVIGATION_WAITS);
|
|
15
|
+
/** Read a wait budget. Same reader under both field names (`timeoutMs` and `navTimeoutMs`). */
|
|
16
|
+
const readTimeoutMs = (source, key) => optionalNumber(source, key, { min: 0 });
|
|
17
|
+
/** Wait fields shared by both navigation schemas. */
|
|
18
|
+
const waitFields = { wait: readWait, timeoutMs: readTimeoutMs };
|
|
19
|
+
/**
|
|
20
|
+
* Read the optional `waitNav` / `navTimeoutMs` pair off an interaction payload.
|
|
21
|
+
*
|
|
22
|
+
* Exported so `/dom/click` and `/dom/keydown` compose the same two fields instead of each
|
|
23
|
+
* spelling out the enum and the bound.
|
|
24
|
+
*/
|
|
25
|
+
export const navigationWaitFields = { waitNav: readWait, navTimeoutMs: readTimeoutMs };
|
|
26
|
+
/** Schema for POST /navigate request payloads. */
|
|
27
|
+
export const navigateRequestSchema = defineProtocolSchema((value) => {
|
|
28
|
+
const invalid = requireObject(value);
|
|
29
|
+
if (invalid)
|
|
30
|
+
return invalid;
|
|
31
|
+
const fields = readFields(value, {
|
|
32
|
+
url: optionalString,
|
|
33
|
+
param: optionalStringArray,
|
|
34
|
+
params: optionalString,
|
|
35
|
+
...waitFields,
|
|
36
|
+
});
|
|
37
|
+
if (!fields.ok)
|
|
38
|
+
return fields;
|
|
39
|
+
const { url, param, params } = fields.value;
|
|
40
|
+
if (url != null && url.trim() === '') {
|
|
41
|
+
return invalidProtocolPayload('url must be a non-empty string');
|
|
42
|
+
}
|
|
43
|
+
const hasParam = (param?.length ?? 0) > 0;
|
|
44
|
+
if (url == null && !hasParam && params == null) {
|
|
45
|
+
return invalidProtocolPayload('at least one of url, param, or params is required');
|
|
46
|
+
}
|
|
47
|
+
return validProtocolPayload(compact(fields.value));
|
|
48
|
+
});
|
|
49
|
+
/** Schema for POST /navigate/history request payloads. */
|
|
50
|
+
export const navigateHistoryRequestSchema = defineProtocolSchema((value) => {
|
|
51
|
+
const invalid = requireObject(value);
|
|
52
|
+
if (invalid)
|
|
53
|
+
return invalid;
|
|
54
|
+
const fields = readFields(value, {
|
|
55
|
+
direction: (source, key) => optionalEnum(source, key, NAVIGATION_DIRECTIONS),
|
|
56
|
+
steps: (source, key) => optionalInteger(source, key, { min: 1 }),
|
|
57
|
+
...waitFields,
|
|
58
|
+
});
|
|
59
|
+
if (!fields.ok)
|
|
60
|
+
return fields;
|
|
61
|
+
if (fields.value.direction == null) {
|
|
62
|
+
return invalidProtocolPayload(`direction must be one of: ${NAVIGATION_DIRECTIONS.join(', ')}`);
|
|
63
|
+
}
|
|
64
|
+
return validProtocolPayload(compact({ ...fields.value, direction: fields.value.direction }));
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/protocol/http/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,23 @@ import type { Ok } from './errors.js';
|
|
|
3
3
|
/** Viewport-relative crop rectangle in CSS pixels. */
|
|
4
4
|
export type RecordClipRegion = ScreenshotClipRegion;
|
|
5
5
|
/** Supported recording containers/codecs. */
|
|
6
|
-
export declare const RECORD_FORMATS: readonly ["mp4", "webm"];
|
|
6
|
+
export declare const RECORD_FORMATS: readonly ["mp4", "webm", "gif"];
|
|
7
7
|
/** Recording container/codec preset. */
|
|
8
8
|
export type RecordFormat = (typeof RECORD_FORMATS)[number];
|
|
9
|
+
/**
|
|
10
|
+
* Highest frame rate GIF encodes cleanly.
|
|
11
|
+
*
|
|
12
|
+
* GIF frame delays are stored in centiseconds, so only rates that divide 100 are exact; anything
|
|
13
|
+
* faster than this rounds to the same delay and just inflates the file. Requests above the cap are
|
|
14
|
+
* clamped rather than rejected — the caller asked for a GIF, not for a specific timebase.
|
|
15
|
+
*/
|
|
16
|
+
export declare const RECORD_GIF_MAX_FPS = 20;
|
|
17
|
+
/** Default frame rate for GIF output, chosen for size over smoothness. */
|
|
18
|
+
export declare const RECORD_GIF_DEFAULT_FPS = 12;
|
|
19
|
+
/** Why a recording stopped. */
|
|
20
|
+
export declare const RECORD_STOP_REASONS: readonly ["requested", "duration", "until", "max-duration", "detached"];
|
|
21
|
+
/** Why a recording stopped. `detached` means the page or CDP session went away mid-capture. */
|
|
22
|
+
export type RecordStopReason = (typeof RECORD_STOP_REASONS)[number];
|
|
9
23
|
/** Shared options for video recording requests. */
|
|
10
24
|
export type RecordOptions = {
|
|
11
25
|
/**
|
|
@@ -19,15 +33,43 @@ export type RecordOptions = {
|
|
|
19
33
|
selector?: string;
|
|
20
34
|
/** Viewport-relative crop rectangle in CSS pixels. Mutually exclusive with `selector`. */
|
|
21
35
|
clip?: RecordClipRegion;
|
|
22
|
-
/** Output frames per second. Defaults to 30. */
|
|
36
|
+
/** Output frames per second. Defaults to 30 (12 for GIF). */
|
|
23
37
|
fps?: number;
|
|
24
38
|
/** Output format. Defaults to mp4 unless inferred from outFile extension. */
|
|
25
39
|
format?: RecordFormat;
|
|
40
|
+
/**
|
|
41
|
+
* JPEG quality (1-100) for the screencast frames fed to the encoder. Defaults to 90.
|
|
42
|
+
*
|
|
43
|
+
* This is the *intermediate* quality, not the output bitrate. Chrome's screencast is the
|
|
44
|
+
* bottleneck on large canvases, and PNG frames cost several times more to serialize than JPEG
|
|
45
|
+
* for no visible gain once the result is re-encoded to H.264/VP9.
|
|
46
|
+
*/
|
|
47
|
+
quality?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Stop automatically after this many milliseconds.
|
|
50
|
+
*
|
|
51
|
+
* A safety net, not a schedule: an open-ended `record start` that is never stopped otherwise
|
|
52
|
+
* runs an ffmpeg child until the watcher dies. Defaults to {@link RECORD_DEFAULT_MAX_DURATION_MS}.
|
|
53
|
+
*/
|
|
54
|
+
maxDurationMs?: number;
|
|
26
55
|
};
|
|
56
|
+
/** Default auto-stop deadline applied when a caller names none. */
|
|
57
|
+
export declare const RECORD_DEFAULT_MAX_DURATION_MS = 600000;
|
|
58
|
+
/** Default interval between `until` expression evaluations. */
|
|
59
|
+
export declare const RECORD_DEFAULT_POLL_INTERVAL_MS = 250;
|
|
27
60
|
/** Request payload for POST /record. */
|
|
28
61
|
export type RecordRequest = RecordOptions & {
|
|
29
|
-
/** Capture duration in milliseconds. */
|
|
30
|
-
durationMs
|
|
62
|
+
/** Capture duration in milliseconds. Required unless `until` is supplied. */
|
|
63
|
+
durationMs?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Record until this expression evaluates truthy in the page, then stop.
|
|
66
|
+
*
|
|
67
|
+
* Evaluated against the selected target (an iframe, when one is selected), the same way
|
|
68
|
+
* `eval` resolves its target. Mutually exclusive with `durationMs`.
|
|
69
|
+
*/
|
|
70
|
+
until?: string;
|
|
71
|
+
/** Interval between `until` evaluations. Defaults to {@link RECORD_DEFAULT_POLL_INTERVAL_MS}. */
|
|
72
|
+
pollIntervalMs?: number;
|
|
31
73
|
};
|
|
32
74
|
/** Request payload for POST /record/start. */
|
|
33
75
|
export type RecordStartRequest = RecordOptions;
|
|
@@ -39,6 +81,8 @@ export type RecordStartResponse = Ok<{
|
|
|
39
81
|
format: RecordFormat;
|
|
40
82
|
fps: number;
|
|
41
83
|
clipped: boolean;
|
|
84
|
+
/** Wall-clock deadline after which the watcher stops the recording on its own. */
|
|
85
|
+
maxDurationMs: number;
|
|
42
86
|
}>;
|
|
43
87
|
/** Request payload for POST /record/stop. */
|
|
44
88
|
export type RecordStopRequest = {
|
|
@@ -56,11 +100,49 @@ export type RecordStopResponse = Ok<{
|
|
|
56
100
|
durationMs: number;
|
|
57
101
|
fps: number;
|
|
58
102
|
clipped: boolean;
|
|
103
|
+
/** Why the recording ended. */
|
|
104
|
+
stopReason: RecordStopReason;
|
|
105
|
+
/**
|
|
106
|
+
* True when the file holds less than the caller asked for.
|
|
107
|
+
*
|
|
108
|
+
* Set when the session detached mid-capture. The file is still finalized and playable — a
|
|
109
|
+
* truncated repro clip beats a corrupt one — but it is not the full requested window.
|
|
110
|
+
*/
|
|
111
|
+
partial: boolean;
|
|
112
|
+
/** Top-frame navigations survived during the capture, each one re-arming the screencast. */
|
|
113
|
+
navigations: number;
|
|
114
|
+
/** Size of the written file in bytes. */
|
|
115
|
+
sizeBytes: number;
|
|
59
116
|
}>;
|
|
60
117
|
export type RecordResponse = RecordStopResponse;
|
|
118
|
+
/** Live recording summary, shared by GET /record/status and GET /status. */
|
|
119
|
+
export type RecordStatusSummary = {
|
|
120
|
+
recordId: string;
|
|
121
|
+
sessionName: string;
|
|
122
|
+
outFile: string;
|
|
123
|
+
format: RecordFormat;
|
|
124
|
+
fps: number;
|
|
125
|
+
clipped: boolean;
|
|
126
|
+
/** Epoch milliseconds when frames started flowing. */
|
|
127
|
+
startedAt: number;
|
|
128
|
+
/** Milliseconds captured so far. */
|
|
129
|
+
elapsedMs: number;
|
|
130
|
+
/** Frames written to the encoder so far. */
|
|
131
|
+
frameCount: number;
|
|
132
|
+
/** Wall-clock deadline after which the watcher stops on its own. */
|
|
133
|
+
maxDurationMs: number;
|
|
134
|
+
/** Top-frame navigations survived so far. */
|
|
135
|
+
navigations: number;
|
|
136
|
+
};
|
|
137
|
+
/** Response payload for GET /record/status. */
|
|
138
|
+
export type RecordStatusResponse = Ok<{
|
|
139
|
+
recording: boolean;
|
|
140
|
+
/** Present only while a recording is active. */
|
|
141
|
+
active: RecordStatusSummary | null;
|
|
142
|
+
}>;
|
|
61
143
|
/** Schema for POST /record/start request payloads. */
|
|
62
144
|
export declare const recordStartRequestSchema: import("../schema.js").ProtocolSchema<RecordOptions>;
|
|
63
|
-
/** Schema for POST /record request payloads (
|
|
145
|
+
/** Schema for POST /record request payloads (duration- or condition-bounded capture). */
|
|
64
146
|
export declare const recordRequestSchema: import("../schema.js").ProtocolSchema<RecordRequest>;
|
|
65
147
|
/** Schema for POST /record/stop request payloads. */
|
|
66
148
|
export declare const recordStopRequestSchema: import("../schema.js").ProtocolSchema<RecordStopRequest>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/record.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAA;AAEnD,6CAA6C;AAC7C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,23 @@ import { defineProtocolSchema, invalidProtocolPayload, validProtocolPayload } fr
|
|
|
2
2
|
import { compact, optionalEnum, optionalNonEmptyString, optionalNumber, optionalString, readFields, requireObject } from '../schemaFields.js';
|
|
3
3
|
import { optionalClipRegion, requireSingleCaptureTarget } from './screenshot.js';
|
|
4
4
|
/** Supported recording containers/codecs. */
|
|
5
|
-
export const RECORD_FORMATS = ['mp4', 'webm'];
|
|
5
|
+
export const RECORD_FORMATS = ['mp4', 'webm', 'gif'];
|
|
6
|
+
/**
|
|
7
|
+
* Highest frame rate GIF encodes cleanly.
|
|
8
|
+
*
|
|
9
|
+
* GIF frame delays are stored in centiseconds, so only rates that divide 100 are exact; anything
|
|
10
|
+
* faster than this rounds to the same delay and just inflates the file. Requests above the cap are
|
|
11
|
+
* clamped rather than rejected — the caller asked for a GIF, not for a specific timebase.
|
|
12
|
+
*/
|
|
13
|
+
export const RECORD_GIF_MAX_FPS = 20;
|
|
14
|
+
/** Default frame rate for GIF output, chosen for size over smoothness. */
|
|
15
|
+
export const RECORD_GIF_DEFAULT_FPS = 12;
|
|
16
|
+
/** Why a recording stopped. */
|
|
17
|
+
export const RECORD_STOP_REASONS = ['requested', 'duration', 'until', 'max-duration', 'detached'];
|
|
18
|
+
/** Default auto-stop deadline applied when a caller names none. */
|
|
19
|
+
export const RECORD_DEFAULT_MAX_DURATION_MS = 600_000;
|
|
20
|
+
/** Default interval between `until` expression evaluations. */
|
|
21
|
+
export const RECORD_DEFAULT_POLL_INTERVAL_MS = 250;
|
|
6
22
|
/** Readers for the outFile/selector/clip/fps/format options every record route shares. */
|
|
7
23
|
const recordOptionReaders = {
|
|
8
24
|
outFile: optionalString,
|
|
@@ -10,6 +26,8 @@ const recordOptionReaders = {
|
|
|
10
26
|
clip: optionalClipRegion,
|
|
11
27
|
fps: (source, key) => optionalNumber(source, key, { min: 1, max: 60 }),
|
|
12
28
|
format: (source, key) => optionalEnum(source, key, RECORD_FORMATS),
|
|
29
|
+
quality: (source, key) => optionalNumber(source, key, { min: 1, max: 100 }),
|
|
30
|
+
maxDurationMs: (source, key) => optionalNumber(source, key, { min: Number.EPSILON }),
|
|
13
31
|
};
|
|
14
32
|
/** Schema for POST /record/start request payloads. */
|
|
15
33
|
export const recordStartRequestSchema = defineProtocolSchema((value) => {
|
|
@@ -24,7 +42,7 @@ export const recordStartRequestSchema = defineProtocolSchema((value) => {
|
|
|
24
42
|
return invalidProtocolPayload(conflict);
|
|
25
43
|
return validProtocolPayload(compact(fields.value));
|
|
26
44
|
});
|
|
27
|
-
/** Schema for POST /record request payloads (
|
|
45
|
+
/** Schema for POST /record request payloads (duration- or condition-bounded capture). */
|
|
28
46
|
export const recordRequestSchema = defineProtocolSchema((value) => {
|
|
29
47
|
const invalid = requireObject(value);
|
|
30
48
|
if (invalid)
|
|
@@ -32,16 +50,21 @@ export const recordRequestSchema = defineProtocolSchema((value) => {
|
|
|
32
50
|
const fields = readFields(value, {
|
|
33
51
|
...recordOptionReaders,
|
|
34
52
|
durationMs: (source, key) => optionalNumber(source, key, { min: Number.EPSILON }),
|
|
53
|
+
until: optionalNonEmptyString,
|
|
54
|
+
pollIntervalMs: (source, key) => optionalNumber(source, key, { min: 10 }),
|
|
35
55
|
});
|
|
36
56
|
if (!fields.ok)
|
|
37
57
|
return fields;
|
|
38
58
|
const conflict = requireSingleCaptureTarget(fields.value);
|
|
39
59
|
if (conflict)
|
|
40
60
|
return invalidProtocolPayload(conflict);
|
|
41
|
-
if (fields.value.durationMs
|
|
42
|
-
return invalidProtocolPayload('durationMs
|
|
61
|
+
if (fields.value.durationMs != null && fields.value.until != null) {
|
|
62
|
+
return invalidProtocolPayload('durationMs and until are mutually exclusive');
|
|
43
63
|
}
|
|
44
|
-
|
|
64
|
+
if (fields.value.durationMs == null && fields.value.until == null) {
|
|
65
|
+
return invalidProtocolPayload('durationMs must be greater than 0, or until must name an expression');
|
|
66
|
+
}
|
|
67
|
+
return validProtocolPayload(compact(fields.value));
|
|
45
68
|
});
|
|
46
69
|
/** Schema for POST /record/stop request payloads. */
|
|
47
70
|
export const recordStopRequestSchema = defineProtocolSchema((value) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/protocol/http/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACjG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7I,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAQhF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/protocol/http/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { WatcherRecord } from '../../registry/types.js';
|
|
2
2
|
import type { DialogStatus } from './dialog.js';
|
|
3
|
+
import type { RecordStatusSummary } from './record.js';
|
|
3
4
|
import type { ArgusProtocolVersion } from '../version.js';
|
|
4
5
|
import type { Ok } from './errors.js';
|
|
5
6
|
/** Response payload for GET /status. */
|
|
@@ -18,6 +19,14 @@ export type StatusResponse = Ok<{
|
|
|
18
19
|
parentId?: string | null;
|
|
19
20
|
} | null;
|
|
20
21
|
dialog?: DialogStatus | null;
|
|
22
|
+
/**
|
|
23
|
+
* The active video recording, or `null` when nothing is recording.
|
|
24
|
+
*
|
|
25
|
+
* An open-ended `record start` is otherwise invisible from outside the watcher: it holds an
|
|
26
|
+
* ffmpeg child and a screencast subscription with nothing in `argus list` or `argus status` to
|
|
27
|
+
* show for it, so a forgotten one was only discoverable by killing the watcher.
|
|
28
|
+
*/
|
|
29
|
+
recording?: RecordStatusSummary | null;
|
|
21
30
|
buffer: {
|
|
22
31
|
size: number;
|
|
23
32
|
count: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;QAClB,8EAA8E;QAC9E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,qFAAqF;QACrF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACxB,GAAG,IAAI,CAAA;IACR,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC5B,MAAM,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACpB,CAAA;IACD,OAAO,EAAE,aAAa,CAAA;IACtB,kDAAkD;IAClD,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QACV,eAAe,EAAE,MAAM,CAAA;KACvB,CAAA;CACD,CAAC,CAAA;AAEF,2CAA2C;AAC3C,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;AAErC,wCAAwC;AACxC,MAAM,MAAM,aAAa,GAAG;IAC3B,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,yCAAyC;AACzC,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;AAEnC,gDAAgD;AAChD,eAAO,MAAM,mBAAmB,sDAQ9B,CAAA"}
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/protocol/http/status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAErC,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;QAClB,8EAA8E;QAC9E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,qFAAqF;QACrF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACxB,GAAG,IAAI,CAAA;IACR,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACtC,MAAM,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACpB,CAAA;IACD,OAAO,EAAE,aAAa,CAAA;IACtB,kDAAkD;IAClD,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QACV,eAAe,EAAE,MAAM,CAAA;KACvB,CAAA;CACD,CAAC,CAAA;AAEF,2CAA2C;AAC3C,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;AAErC,wCAAwC;AACxC,MAAM,MAAM,aAAa,GAAG;IAC3B,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,yCAAyC;AACzC,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;AAEnC,gDAAgD;AAChD,eAAO,MAAM,mBAAmB,sDAQ9B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/protocol/http/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/protocol/http/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAmExF,gDAAgD;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAgB,CAAC,KAAK,EAAE,EAAE;IAChF,MAAM,OAAO,GAAG,aAAa,CAAgB,KAAK,CAAC,CAAA;IACnD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAE3B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAgC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAA;IAC7F,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAA;IAE7B,OAAO,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AACnD,CAAC,CAAC,CAAA"}
|
package/dist/protocol/http.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * from './http/record.js';
|
|
|
10
10
|
export * from './http/screenshot.js';
|
|
11
11
|
export * from './http/snapshot.js';
|
|
12
12
|
export * from './http/locate.js';
|
|
13
|
+
export * from './http/navigation.js';
|
|
13
14
|
export * from './http/code.js';
|
|
14
15
|
export * from './http/dom.js';
|
|
15
16
|
export * from './http/domInteraction.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/protocol/http.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,eAAe,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,mBAAmB,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/protocol/http.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,eAAe,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,mBAAmB,eAAe,CAAA"}
|
package/dist/protocol/http.js
CHANGED
|
@@ -9,6 +9,7 @@ export * from './http/record.js';
|
|
|
9
9
|
export * from './http/screenshot.js';
|
|
10
10
|
export * from './http/snapshot.js';
|
|
11
11
|
export * from './http/locate.js';
|
|
12
|
+
export * from './http/navigation.js';
|
|
12
13
|
export * from './http/code.js';
|
|
13
14
|
export * from './http/dom.js';
|
|
14
15
|
export * from './http/domInteraction.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/protocol/http.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAGhC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/protocol/http.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAGhC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
|