@vforsh/argus-watcher 0.5.3 → 0.5.5
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/cdp/ffmpeg.d.ts +22 -6
- package/dist/cdp/ffmpeg.d.ts.map +1 -1
- package/dist/cdp/ffmpeg.js +90 -30
- package/dist/cdp/ffmpeg.js.map +1 -1
- package/dist/cdp/navigation.d.ts +82 -0
- package/dist/cdp/navigation.d.ts.map +1 -0
- package/dist/cdp/navigation.js +186 -0
- package/dist/cdp/navigation.js.map +1 -0
- package/dist/cdp/protocol.d.ts +24 -0
- package/dist/cdp/protocol.d.ts.map +1 -1
- package/dist/cdp/recording.d.ts +3 -1
- package/dist/cdp/recording.d.ts.map +1 -1
- package/dist/cdp/recording.js +237 -132
- package/dist/cdp/recording.js.map +1 -1
- package/dist/cdp/recordingSession.d.ts +97 -0
- package/dist/cdp/recordingSession.d.ts.map +1 -0
- package/dist/cdp/recordingSession.js +157 -0
- package/dist/cdp/recordingSession.js.map +1 -0
- package/dist/cdp/scenarioBridge.d.ts +2 -0
- package/dist/cdp/scenarioBridge.d.ts.map +1 -1
- package/dist/cdp/scenarioBridge.js +49 -3
- package/dist/cdp/scenarioBridge.js.map +1 -1
- package/dist/cdp/screenshot.d.ts.map +1 -1
- package/dist/cdp/screenshot.js +3 -2
- package/dist/cdp/screenshot.js.map +1 -1
- package/dist/cdp/visualCapture.d.ts +20 -0
- package/dist/cdp/visualCapture.d.ts.map +1 -1
- package/dist/cdp/visualCapture.js +53 -42
- package/dist/cdp/visualCapture.js.map +1 -1
- package/dist/cdp/watcher.d.ts.map +1 -1
- package/dist/cdp/watcher.js +55 -1
- package/dist/cdp/watcher.js.map +1 -1
- package/dist/http/endpoints.d.ts +1 -1
- package/dist/http/endpoints.d.ts.map +1 -1
- package/dist/http/endpoints.js +3 -0
- package/dist/http/endpoints.js.map +1 -1
- package/dist/http/routes/getStatus.js +1 -0
- package/dist/http/routes/getStatus.js.map +1 -1
- package/dist/http/routes/index.d.ts.map +1 -1
- package/dist/http/routes/index.js +4 -0
- package/dist/http/routes/index.js.map +1 -1
- package/dist/http/routes/postDomClick.d.ts.map +1 -1
- package/dist/http/routes/postDomClick.js +15 -9
- package/dist/http/routes/postDomClick.js.map +1 -1
- package/dist/http/routes/postDomKeydown.d.ts.map +1 -1
- package/dist/http/routes/postDomKeydown.js +4 -2
- package/dist/http/routes/postDomKeydown.js.map +1 -1
- package/dist/http/routes/postEval.d.ts.map +1 -1
- package/dist/http/routes/postEval.js +1 -0
- package/dist/http/routes/postEval.js.map +1 -1
- package/dist/http/routes/postNavigate.d.ts +12 -0
- package/dist/http/routes/postNavigate.d.ts.map +1 -0
- package/dist/http/routes/postNavigate.js +51 -0
- package/dist/http/routes/postNavigate.js.map +1 -0
- package/dist/http/routes/postNavigateHistory.d.ts +9 -0
- package/dist/http/routes/postNavigateHistory.d.ts.map +1 -0
- package/dist/http/routes/postNavigateHistory.js +35 -0
- package/dist/http/routes/postNavigateHistory.js.map +1 -0
- package/dist/http/routes/postRecord.d.ts.map +1 -1
- package/dist/http/routes/postRecord.js +9 -0
- package/dist/http/routes/postRecord.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -0
- package/dist/internal.js.map +1 -1
- package/dist/sources/extension-session-events.d.ts.map +1 -1
- package/dist/sources/extension-session-events.js +21 -0
- package/dist/sources/extension-session-events.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recording.js","sourceRoot":"","sources":["../../src/cdp/recording.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recording.js","sourceRoot":"","sources":["../../src/cdp/recording.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { RecordFormat, RecordStopReason } from '@vforsh/argus-core';
|
|
2
|
+
import type { CdpSessionHandle } from './connection.js';
|
|
3
|
+
import type { Deferred } from '../deferred.js';
|
|
4
|
+
import type { FfmpegProcess, FrameCodec } from './ffmpeg.js';
|
|
5
|
+
import type { VisualCaptureClip, VisualCaptureViewport } from './visualCapture.js';
|
|
6
|
+
/**
|
|
7
|
+
* Screencast frame plumbing for {@link createRecorder}: the live recording's state, the wall-clock
|
|
8
|
+
* frame pump that feeds ffmpeg, and the screencast (re-)arming that survives navigation.
|
|
9
|
+
*
|
|
10
|
+
* Separate from `recording.ts` because the lifecycle (start/stop/finalize/status) and the pacing
|
|
11
|
+
* are independently tricky and neither wants to be read through the other.
|
|
12
|
+
*/
|
|
13
|
+
/** Everything one in-flight recording needs. Mutable by design — the pump runs on timers. */
|
|
14
|
+
export type RecordingState = {
|
|
15
|
+
recordId: string;
|
|
16
|
+
sessionName: string;
|
|
17
|
+
absolutePath: string;
|
|
18
|
+
outFile: string;
|
|
19
|
+
/** Page-scoped session that produces pixels. For an iframe target this is the top-level page. */
|
|
20
|
+
session: CdpSessionHandle;
|
|
21
|
+
/** Selected target, where an `until` expression is evaluated. Same session for page targets. */
|
|
22
|
+
evalSession: CdpSessionHandle;
|
|
23
|
+
removeFrameHandler: () => void;
|
|
24
|
+
removeNavigationHandler: () => void;
|
|
25
|
+
ffmpeg: FfmpegProcess | null;
|
|
26
|
+
frameCodec: FrameCodec;
|
|
27
|
+
quality: number;
|
|
28
|
+
firstFrame: Promise<Buffer>;
|
|
29
|
+
resolveFirstFrame: (frame: Buffer) => void;
|
|
30
|
+
rejectFirstFrame: (error: Error) => void;
|
|
31
|
+
firstFrameTimer: NodeJS.Timeout | null;
|
|
32
|
+
sampleTimer: NodeJS.Timeout | null;
|
|
33
|
+
/** Backstop that stops an open-ended recording. Always armed. */
|
|
34
|
+
maxDurationTimer: NodeJS.Timeout | null;
|
|
35
|
+
/** The requested end condition for a fixed-duration capture. */
|
|
36
|
+
endTimer: NodeJS.Timeout | null;
|
|
37
|
+
untilTimer: NodeJS.Timeout | null;
|
|
38
|
+
latestFrame: Buffer | null;
|
|
39
|
+
pumpBlocked: boolean;
|
|
40
|
+
/** Frames handed to the encoder so far. */
|
|
41
|
+
frameCount: number;
|
|
42
|
+
startedAt: number;
|
|
43
|
+
capturedDurationMs: number | null;
|
|
44
|
+
fps: number;
|
|
45
|
+
format: RecordFormat;
|
|
46
|
+
maxDurationMs: number;
|
|
47
|
+
clip: VisualCaptureClip | undefined;
|
|
48
|
+
viewport: VisualCaptureViewport | undefined;
|
|
49
|
+
navigations: number;
|
|
50
|
+
stopReason: RecordStopReason;
|
|
51
|
+
partial: boolean;
|
|
52
|
+
/** Encoder failure kept for the stop response; a partial file still beats an exception. */
|
|
53
|
+
encodeError: unknown;
|
|
54
|
+
/** In-flight shutdown, so every racing caller awaits the same encode instead of racing it. */
|
|
55
|
+
finalizePromise: Promise<void> | null;
|
|
56
|
+
/** Settled once the encoder has finished, whichever end condition got there first. */
|
|
57
|
+
finished: Deferred<void>;
|
|
58
|
+
sizeBytes: number;
|
|
59
|
+
state: 'starting' | 'recording' | 'stopping' | 'stopped';
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Scroll a selector target into view before the capture plan measures it.
|
|
63
|
+
*
|
|
64
|
+
* A screencast only ever carries the visible viewport, so an element below the fold has no pixels
|
|
65
|
+
* to crop. `Page.captureScreenshot` has no such limit, which is why `screenshot --selector` works
|
|
66
|
+
* on an off-screen element and `record --selector` cannot — it used to silently emit a 2px sliver.
|
|
67
|
+
*
|
|
68
|
+
* Best-effort: a selector that matches nothing is reported by the capture plan, which produces a
|
|
69
|
+
* better message than anything this could throw.
|
|
70
|
+
*/
|
|
71
|
+
export declare const scrollSelectorIntoView: (session: CdpSessionHandle, selector: string) => Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Reject a crop the screencast cannot actually deliver.
|
|
74
|
+
*
|
|
75
|
+
* The encoder clamps an out-of-frame rectangle to the nearest legal one, so an off-screen target
|
|
76
|
+
* used to encode cleanly as a 2-pixel sliver and only look wrong when someone played the file.
|
|
77
|
+
*
|
|
78
|
+
* @throws {Error} When the crop lies (almost) entirely outside the captured viewport.
|
|
79
|
+
*/
|
|
80
|
+
export declare const assertClipIsVisible: (clip: VisualCaptureClip, viewport: VisualCaptureViewport | undefined, subject: string) => void;
|
|
81
|
+
/**
|
|
82
|
+
* Start (or restart) Chrome's screencast for this recording.
|
|
83
|
+
*
|
|
84
|
+
* Called once at start and again after every top-frame navigation: Chrome tears the screencast
|
|
85
|
+
* down on a cross-process navigation and never says so, which used to leave the encoder repeating
|
|
86
|
+
* the last pre-navigation frame for the rest of the capture.
|
|
87
|
+
*/
|
|
88
|
+
export declare const armScreencast: (state: RecordingState) => Promise<void>;
|
|
89
|
+
/** Subscribe to screencast frames and top-frame navigations for the lifetime of the recording. */
|
|
90
|
+
export declare const subscribeToScreencast: (state: RecordingState) => void;
|
|
91
|
+
/** Bring the encoder up to date with how long the recording has been running. */
|
|
92
|
+
export declare const pumpFrames: (state: RecordingState) => void;
|
|
93
|
+
/** Write the frames the final capture window still owes, then wait for the encoder to drain them. */
|
|
94
|
+
export declare const flushFrames: (state: RecordingState, elapsedMs: number) => Promise<void>;
|
|
95
|
+
/** Clear every timer the recording owns. Safe to call more than once. */
|
|
96
|
+
export declare const clearRecordingTimers: (state: RecordingState) => void;
|
|
97
|
+
//# sourceMappingURL=recordingSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordingSession.d.ts","sourceRoot":"","sources":["../../src/cdp/recordingSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { tryEvaluateInPage } from './pageState.js';
|
|
2
|
+
import { delay } from '@vforsh/argus-core';
|
|
3
|
+
/**
|
|
4
|
+
* Scroll a selector target into view before the capture plan measures it.
|
|
5
|
+
*
|
|
6
|
+
* A screencast only ever carries the visible viewport, so an element below the fold has no pixels
|
|
7
|
+
* to crop. `Page.captureScreenshot` has no such limit, which is why `screenshot --selector` works
|
|
8
|
+
* on an off-screen element and `record --selector` cannot — it used to silently emit a 2px sliver.
|
|
9
|
+
*
|
|
10
|
+
* Best-effort: a selector that matches nothing is reported by the capture plan, which produces a
|
|
11
|
+
* better message than anything this could throw.
|
|
12
|
+
*/
|
|
13
|
+
export const scrollSelectorIntoView = async (session, selector) => {
|
|
14
|
+
await tryEvaluateInPage(session, `document.querySelector(${JSON.stringify(selector)})?.scrollIntoView({ block: 'center', inline: 'center', behavior: 'instant' })`, { timeoutMs: 5_000 });
|
|
15
|
+
// Let scroll-linked layout settle before the box model is read.
|
|
16
|
+
await delay(100);
|
|
17
|
+
};
|
|
18
|
+
/** Smallest visible edge, in CSS pixels, that still makes a recordable region. */
|
|
19
|
+
const MIN_VISIBLE_EXTENT_PX = 2;
|
|
20
|
+
/**
|
|
21
|
+
* Reject a crop the screencast cannot actually deliver.
|
|
22
|
+
*
|
|
23
|
+
* The encoder clamps an out-of-frame rectangle to the nearest legal one, so an off-screen target
|
|
24
|
+
* used to encode cleanly as a 2-pixel sliver and only look wrong when someone played the file.
|
|
25
|
+
*
|
|
26
|
+
* @throws {Error} When the crop lies (almost) entirely outside the captured viewport.
|
|
27
|
+
*/
|
|
28
|
+
export const assertClipIsVisible = (clip, viewport, subject) => {
|
|
29
|
+
if (!viewport) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const visibleWidth = Math.min(clip.x + clip.width, viewport.width) - Math.max(clip.x, 0);
|
|
33
|
+
const visibleHeight = Math.min(clip.y + clip.height, viewport.height) - Math.max(clip.y, 0);
|
|
34
|
+
if (visibleWidth >= MIN_VISIBLE_EXTENT_PX && visibleHeight >= MIN_VISIBLE_EXTENT_PX) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
throw new Error(`${subject} is outside the visible viewport (${Math.round(clip.width)}x${Math.round(clip.height)} at ${Math.round(clip.x)},${Math.round(clip.y)}; viewport is ${Math.round(viewport.width)}x${Math.round(viewport.height)}). ` +
|
|
38
|
+
'Recordings capture only what the page is showing — scroll the target into view, or record the viewport and crop later.');
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Start (or restart) Chrome's screencast for this recording.
|
|
42
|
+
*
|
|
43
|
+
* Called once at start and again after every top-frame navigation: Chrome tears the screencast
|
|
44
|
+
* down on a cross-process navigation and never says so, which used to leave the encoder repeating
|
|
45
|
+
* the last pre-navigation frame for the rest of the capture.
|
|
46
|
+
*/
|
|
47
|
+
export const armScreencast = async (state) => {
|
|
48
|
+
await state.session.sendAndWait('Page.startScreencast', {
|
|
49
|
+
format: state.frameCodec,
|
|
50
|
+
quality: state.frameCodec === 'jpeg' ? state.quality : undefined,
|
|
51
|
+
everyNthFrame: 1,
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
/** Subscribe to screencast frames and top-frame navigations for the lifetime of the recording. */
|
|
55
|
+
export const subscribeToScreencast = (state) => {
|
|
56
|
+
state.removeFrameHandler = state.session.onEvent('Page.screencastFrame', (params) => {
|
|
57
|
+
handleScreencastFrame(state, params);
|
|
58
|
+
});
|
|
59
|
+
state.removeNavigationHandler = state.session.onEvent('Page.frameNavigated', (params) => {
|
|
60
|
+
// Subframe navigations do not disturb the screencast; only the top frame does.
|
|
61
|
+
if (params.frame?.parentId) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (state.state !== 'recording' && state.state !== 'starting') {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
state.navigations += 1;
|
|
68
|
+
void armScreencast(state).catch(() => {
|
|
69
|
+
// The renderer may still be swapping; the next navigation or stop reports the gap.
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
const handleScreencastFrame = (state, params) => {
|
|
74
|
+
if (typeof params.data !== 'string') {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const frame = Buffer.from(params.data, 'base64');
|
|
78
|
+
state.latestFrame = frame;
|
|
79
|
+
state.resolveFirstFrame(frame);
|
|
80
|
+
if (typeof params.sessionId === 'number') {
|
|
81
|
+
void state.session.sendAndWait('Page.screencastFrameAck', { sessionId: params.sessionId }).catch(() => { });
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Frames wall-clock time says should exist by now.
|
|
86
|
+
*
|
|
87
|
+
* Recomputed from elapsed time rather than incremented once per timer tick: `setInterval` drifts
|
|
88
|
+
* under load and silently under-delivers, so a counter produced files whose duration did not match
|
|
89
|
+
* the capture window — a 5s recording that played back as 3.4s.
|
|
90
|
+
*/
|
|
91
|
+
const targetFrameCount = (state, elapsedMs) => Math.max(1, Math.round((elapsedMs / 1000) * state.fps));
|
|
92
|
+
/**
|
|
93
|
+
* Write frames until the encoder has `target` of them.
|
|
94
|
+
*
|
|
95
|
+
* The deficit left by backpressure is never dropped — it is paid down over successive calls — but
|
|
96
|
+
* one call writes at most a second's worth, so a stalled encoder cannot make us buffer an unbounded
|
|
97
|
+
* burst of full frames in its stdin.
|
|
98
|
+
*/
|
|
99
|
+
const writeFramesUpTo = (state, target) => {
|
|
100
|
+
if (!state.latestFrame || !state.ffmpeg || state.pumpBlocked || state.ffmpeg.child.stdin.destroyed) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
let budget = Math.max(1, state.fps);
|
|
104
|
+
while (state.frameCount < target && budget > 0) {
|
|
105
|
+
budget -= 1;
|
|
106
|
+
state.frameCount += 1;
|
|
107
|
+
const ready = state.ffmpeg.child.stdin.write(state.latestFrame);
|
|
108
|
+
if (!ready) {
|
|
109
|
+
state.pumpBlocked = true;
|
|
110
|
+
state.ffmpeg.child.stdin.once('drain', () => {
|
|
111
|
+
state.pumpBlocked = false;
|
|
112
|
+
writeFramesUpTo(state, target);
|
|
113
|
+
});
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
/** Bring the encoder up to date with how long the recording has been running. */
|
|
119
|
+
export const pumpFrames = (state) => {
|
|
120
|
+
writeFramesUpTo(state, targetFrameCount(state, Math.max(0, Date.now() - state.startedAt)));
|
|
121
|
+
};
|
|
122
|
+
/** Write the frames the final capture window still owes, then wait for the encoder to drain them. */
|
|
123
|
+
export const flushFrames = async (state, elapsedMs) => {
|
|
124
|
+
const target = targetFrameCount(state, elapsedMs);
|
|
125
|
+
writeFramesUpTo(state, target);
|
|
126
|
+
while (state.frameCount < target || state.pumpBlocked) {
|
|
127
|
+
if (!state.ffmpeg || state.ffmpeg.child.stdin.destroyed) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
await delay(10);
|
|
131
|
+
writeFramesUpTo(state, target);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
/** Clear every timer the recording owns. Safe to call more than once. */
|
|
135
|
+
export const clearRecordingTimers = (state) => {
|
|
136
|
+
if (state.firstFrameTimer) {
|
|
137
|
+
clearTimeout(state.firstFrameTimer);
|
|
138
|
+
state.firstFrameTimer = null;
|
|
139
|
+
}
|
|
140
|
+
if (state.sampleTimer) {
|
|
141
|
+
clearInterval(state.sampleTimer);
|
|
142
|
+
state.sampleTimer = null;
|
|
143
|
+
}
|
|
144
|
+
if (state.maxDurationTimer) {
|
|
145
|
+
clearTimeout(state.maxDurationTimer);
|
|
146
|
+
state.maxDurationTimer = null;
|
|
147
|
+
}
|
|
148
|
+
if (state.endTimer) {
|
|
149
|
+
clearTimeout(state.endTimer);
|
|
150
|
+
state.endTimer = null;
|
|
151
|
+
}
|
|
152
|
+
if (state.untilTimer) {
|
|
153
|
+
clearInterval(state.untilTimer);
|
|
154
|
+
state.untilTimer = null;
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=recordingSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordingSession.js","sourceRoot":"","sources":["../../src/cdp/recordingSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { LogBuffer } from '../buffer/LogBuffer.js';
|
|
2
2
|
import type { Screenshotter } from './screenshot.js';
|
|
3
|
+
import type { Recorder } from './recording.js';
|
|
3
4
|
import type { CdpSessionHandle } from './connection.js';
|
|
4
5
|
/** Host services exposed to a bundled scenario for the lifetime of one eval. */
|
|
5
6
|
export type ScenarioBridgeServices = {
|
|
6
7
|
buffer: LogBuffer;
|
|
7
8
|
screenshotter: Screenshotter;
|
|
9
|
+
recorder: Recorder;
|
|
8
10
|
};
|
|
9
11
|
/** A scenario-wrapped expression plus cleanup for its temporary CDP binding. */
|
|
10
12
|
export type InstalledScenarioBridge = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarioBridge.d.ts","sourceRoot":"","sources":["../../src/cdp/scenarioBridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scenarioBridge.d.ts","sourceRoot":"","sources":["../../src/cdp/scenarioBridge.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAsBrE,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,SAAS,CAAA;IACjB,aAAa,EAAE,aAAa,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;CAClB,CAAA;AAED,gFAAgF;AAChF,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B,CAAA;AAED,6GAA6G;AAC7G,eAAO,MAAM,qBAAqB,GACjC,SAAS,gBAAgB,EACzB,YAAY,MAAM,EAClB,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,UAAU,sBAAsB,EAChC,YAAY,MAAM,KAChB,OAAO,CAAC,uBAAuB,CAwCjC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { LOG_LEVELS } from '@vforsh/argus-core';
|
|
2
|
+
import { LOG_LEVELS, RECORD_FORMATS, } from '@vforsh/argus-core';
|
|
3
3
|
import { formatError } from '@vforsh/argus-core';
|
|
4
4
|
const SCENARIO_ACTION_TIMEOUT_MS = 30_000;
|
|
5
5
|
const DEFAULT_LOG_LIMIT = 500;
|
|
@@ -89,6 +89,16 @@ const handleBridgeRequest = async (request, services) => {
|
|
|
89
89
|
const fileName = name.endsWith('.png') ? name : `${name}.png`;
|
|
90
90
|
return services.screenshotter.capture({ ...options, outFile: `scenarios/checkpoints/${fileName}` });
|
|
91
91
|
}
|
|
92
|
+
case 'record.start': {
|
|
93
|
+
const payload = requireRecord(request.payload, 'record.start payload');
|
|
94
|
+
const name = parseArtifactName(payload.name, 'recording name');
|
|
95
|
+
const options = parseRecordOptions(payload.options);
|
|
96
|
+
const format = options.format ?? 'mp4';
|
|
97
|
+
const fileName = name.endsWith(`.${format}`) ? name : `${name}.${format}`;
|
|
98
|
+
return services.recorder.start({ ...options, format, outFile: `scenarios/recordings/${fileName}` });
|
|
99
|
+
}
|
|
100
|
+
case 'record.stop':
|
|
101
|
+
return services.recorder.stop({});
|
|
92
102
|
case 'logs.cursor':
|
|
93
103
|
return { cursor: services.buffer.beginLogEpoch() };
|
|
94
104
|
case 'logs.read':
|
|
@@ -126,9 +136,40 @@ const parseClip = (value) => {
|
|
|
126
136
|
return { x, y, width, height };
|
|
127
137
|
};
|
|
128
138
|
const isFiniteNumber = (value) => typeof value === 'number' && Number.isFinite(value);
|
|
129
|
-
const parseCheckpointName = (value) =>
|
|
139
|
+
const parseCheckpointName = (value) => parseArtifactName(value, 'checkpoint name');
|
|
140
|
+
/** Artifact names are path segments the scenario chooses, so they may not traverse or nest. */
|
|
141
|
+
const parseArtifactName = (value, label) => {
|
|
130
142
|
if (typeof value !== 'string' || !/^[A-Za-z0-9][A-Za-z0-9._-]{0,99}$/.test(value)) {
|
|
131
|
-
throw new Error(
|
|
143
|
+
throw new Error(`${label} must be 1-100 characters using letters, numbers, dot, underscore, or dash`);
|
|
144
|
+
}
|
|
145
|
+
return value;
|
|
146
|
+
};
|
|
147
|
+
const parseRecordOptions = (value) => {
|
|
148
|
+
if (value == null)
|
|
149
|
+
return {};
|
|
150
|
+
const record = requireRecord(value, 'record options');
|
|
151
|
+
const { selector, clip } = parseScreenshotOptions(record);
|
|
152
|
+
return {
|
|
153
|
+
selector,
|
|
154
|
+
clip,
|
|
155
|
+
fps: parseBoundedNumber(record.fps, 'fps', 1, 60),
|
|
156
|
+
quality: parseBoundedNumber(record.quality, 'quality', 1, 100),
|
|
157
|
+
maxDurationMs: parseBoundedNumber(record.maxDurationMs, 'maxDurationMs', 1, Number.MAX_SAFE_INTEGER),
|
|
158
|
+
format: parseRecordFormat(record.format),
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
const parseRecordFormat = (value) => {
|
|
162
|
+
if (value == null)
|
|
163
|
+
return undefined;
|
|
164
|
+
if (typeof value === 'string' && RECORD_FORMATS.includes(value))
|
|
165
|
+
return value;
|
|
166
|
+
throw new Error(`format must be one of ${RECORD_FORMATS.join(', ')}`);
|
|
167
|
+
};
|
|
168
|
+
const parseBoundedNumber = (value, label, min, max) => {
|
|
169
|
+
if (value == null)
|
|
170
|
+
return undefined;
|
|
171
|
+
if (!isFiniteNumber(value) || value < min || value > max) {
|
|
172
|
+
throw new Error(`${label} must be a number from ${min} to ${max}`);
|
|
132
173
|
}
|
|
133
174
|
return value;
|
|
134
175
|
};
|
|
@@ -262,11 +303,16 @@ const buildScenarioExpression = (expression, options) => `(async () => {
|
|
|
262
303
|
});
|
|
263
304
|
},
|
|
264
305
|
});
|
|
306
|
+
const record = Object.freeze({
|
|
307
|
+
start: (name, recordOptions) => request('record.start', { name, options: recordOptions }),
|
|
308
|
+
stop: () => request('record.stop'),
|
|
309
|
+
});
|
|
265
310
|
const context = Object.freeze({
|
|
266
311
|
args: Object.freeze(${JSON.stringify(options.args)}),
|
|
267
312
|
screenshot: (screenshotOptions) => request('screenshot', screenshotOptions),
|
|
268
313
|
checkpoint: (name, screenshotOptions) => request('checkpoint', { name, options: screenshotOptions }),
|
|
269
314
|
logs,
|
|
315
|
+
record,
|
|
270
316
|
});
|
|
271
317
|
return {
|
|
272
318
|
context,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarioBridge.js","sourceRoot":"","sources":["../../src/cdp/scenarioBridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scenarioBridge.js","sourceRoot":"","sources":["../../src/cdp/scenarioBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/cdp/screenshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAYvD,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACpE,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,KAAG,
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/cdp/screenshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAYvD,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACpE,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,KAAG,aAwBlI,CAAA"}
|
package/dist/cdp/screenshot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import { ensureArtifactsDir, ensureParentDir, resolveArtifactPath } from '../artifacts.js';
|
|
3
|
-
import { createVisualCapturePlan } from './visualCapture.js';
|
|
3
|
+
import { createVisualCapturePlan, toPageClip } from './visualCapture.js';
|
|
4
4
|
const SCREENSHOT_CDP_TIMEOUT_MS = 20_000;
|
|
5
5
|
const SCREENSHOT_CDP_MAX_ATTEMPTS = 2;
|
|
6
6
|
export const createScreenshotter = (options) => {
|
|
@@ -16,7 +16,8 @@ export const createScreenshotter = (options) => {
|
|
|
16
16
|
const capturePlan = await createVisualCapturePlan(options.session, options.pageSession, request);
|
|
17
17
|
const result = await captureScreenshot(capturePlan.session, {
|
|
18
18
|
format,
|
|
19
|
-
|
|
19
|
+
// `Page.captureScreenshot` clips in document coordinates, not viewport ones.
|
|
20
|
+
clip: capturePlan.clip && toPageClip(capturePlan.clip, capturePlan.pageOffset),
|
|
20
21
|
});
|
|
21
22
|
await fs.writeFile(absolutePath, Buffer.from(result.data, 'base64'));
|
|
22
23
|
return { ok: true, outFile: absolutePath, clipped: result.clipped };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/cdp/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGjC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1F,OAAO,EAAE,uBAAuB,EAA0B,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/cdp/screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,11 +24,31 @@ export type VisualCaptureRequest = {
|
|
|
24
24
|
selector?: string;
|
|
25
25
|
clip?: ScreenshotClipRegion;
|
|
26
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* A resolved capture target.
|
|
29
|
+
*
|
|
30
|
+
* `clip` is always **viewport-relative** CSS pixels — the space `DOM.getBoxModel` reports and the
|
|
31
|
+
* space a screencast frame lives in. `Page.captureScreenshot` instead wants document coordinates,
|
|
32
|
+
* so a screenshot adds {@link VisualCapturePlan.pageOffset} before it sends the clip. Keeping one
|
|
33
|
+
* space here and converting at the one call site that needs the other is what stops the two
|
|
34
|
+
* consumers from disagreeing about what a clip means.
|
|
35
|
+
*/
|
|
27
36
|
export type VisualCapturePlan = {
|
|
28
37
|
session: CdpSessionHandle;
|
|
38
|
+
/** Crop rectangle in viewport-relative CSS pixels. */
|
|
29
39
|
clip?: VisualCaptureClip;
|
|
30
40
|
viewport?: VisualCaptureViewport;
|
|
41
|
+
/** Scroll offset of the captured viewport within the document. Set whenever `clip` is. */
|
|
42
|
+
pageOffset?: {
|
|
43
|
+
x: number;
|
|
44
|
+
y: number;
|
|
45
|
+
};
|
|
31
46
|
};
|
|
47
|
+
/** Translate a viewport-relative clip into the document coordinates `Page.captureScreenshot` expects. */
|
|
48
|
+
export declare const toPageClip: (clip: VisualCaptureClip, pageOffset: {
|
|
49
|
+
x: number;
|
|
50
|
+
y: number;
|
|
51
|
+
} | undefined) => VisualCaptureClip;
|
|
32
52
|
/**
|
|
33
53
|
* Resolve a viewport/selector/clip request into the top-level page session that can capture pixels.
|
|
34
54
|
* Frame targets use their selected frame session for DOM lookup, then translate the clip to page pixels.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualCapture.d.ts","sourceRoot":"","sources":["../../src/cdp/visualCapture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,iBAAiB,CAAA;AAGzE,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtG,MAAM,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAA;AAE/I,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,gBAAgB,CAAA;IACzB,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,QAAQ,CAAC,EAAE,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"visualCapture.d.ts","sourceRoot":"","sources":["../../src/cdp/visualCapture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,iBAAiB,CAAA;AAGzE,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtG,MAAM,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAA;AAE/I,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAC3B,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,gBAAgB,CAAA;IACzB,sDAAsD;IACtD,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,0FAA0F;IAC1F,UAAU,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACrC,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,UAAU,GAAI,MAAM,iBAAiB,EAAE,YAAY;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,KAAG,iBAIrG,CAAA;AAIF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GACnC,SAAS,gBAAgB,EACzB,aAAa,gBAAgB,GAAG,SAAS,EACzC,SAAS,oBAAoB,KAC3B,OAAO,CAAC,iBAAiB,CAwB3B,CAAA;AAqED,eAAO,MAAM,2BAA2B,GAAI,SAAS,oBAAoB,KAAG,oBAQ3E,CAAA"}
|