cbrowser 18.71.0 → 18.72.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/cli.js +12 -2
- package/dist/cli.js.map +1 -1
- package/dist/recording/engine.d.ts.map +1 -1
- package/dist/recording/engine.js +40 -34
- package/dist/recording/engine.js.map +1 -1
- package/dist/recording/ssim.d.ts +43 -0
- package/dist/recording/ssim.d.ts.map +1 -1
- package/dist/recording/ssim.js +96 -0
- package/dist/recording/ssim.js.map +1 -1
- package/dist/recording/types.d.ts +105 -2
- package/dist/recording/types.d.ts.map +1 -1
- package/dist/recording/types.js +169 -3
- package/dist/recording/types.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -27,7 +27,7 @@ import { getStatusInfo, formatStatus, getDataDir, getPaths } from "./config.js";
|
|
|
27
27
|
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
28
28
|
import { dirname, join, resolve } from "node:path";
|
|
29
29
|
import { VideoCaptureSession } from "./recording/engine.js";
|
|
30
|
-
import { parseManifest } from "./recording/types.js";
|
|
30
|
+
import { changeSignal, parseManifest } from "./recording/types.js";
|
|
31
31
|
import { printEnterpriseStatus } from "./stealth/index.js";
|
|
32
32
|
import { runCognitiveJourney, getAnthropicApiKey, setAnthropicApiKey, removeAnthropicApiKey, isApiKeyConfigured, } from "./cognitive/index.js";
|
|
33
33
|
// Lightpanda integration (v18.20.0) - OPT-IN ONLY with security guardrails
|
|
@@ -593,7 +593,9 @@ SCREEN CAPTURE (video/GIF — distinct from 'record', which captures actions)
|
|
|
593
593
|
--after-delay <500ms> Extra delay after the start trigger
|
|
594
594
|
--until-element <sel> Stop when the element appears
|
|
595
595
|
--until-element-gone <sel> Stop when the element disappears
|
|
596
|
-
--until-idle <800ms> Stop after this long with
|
|
596
|
+
--until-idle <800ms> Stop after this long with NO part of the page
|
|
597
|
+
changing. A page with a clock or ticker is always
|
|
598
|
+
changing and will run to --timeout instead.
|
|
597
599
|
--timeout <30s> Trigger wait budget (default: 30s); a trigger that
|
|
598
600
|
never fires stops the capture, writes a manifest
|
|
599
601
|
with trigger_timeout, and exits non-zero
|
|
@@ -1640,6 +1642,14 @@ async function runCaptureStatus() {
|
|
|
1640
1642
|
console.log(` Started: ${manifest.started_at}`);
|
|
1641
1643
|
console.log(` Frames: ${manifest.frames.length} over ${manifest.duration_ms}ms (${manifest.actual_fps.toFixed(1)} fps)`);
|
|
1642
1644
|
console.log(` Capture: ${manifest.capture_method}`);
|
|
1645
|
+
// changeSignal() rather than the optional fields directly: it maps a v1
|
|
1646
|
+
// manifest's change_points onto keyFrames, which is exact rather than a
|
|
1647
|
+
// guess (v1 computed them at the 0.9 bar that v2 calls key_frames). Reading
|
|
1648
|
+
// the raw field would report "no key frames" for a file that has them.
|
|
1649
|
+
const signal = changeSignal(manifest);
|
|
1650
|
+
console.log(` Key frames: ${signal.keyFrames.length}${signal.keyFrames.length > 0 ? ` (${signal.keyFrames.slice(0, 8).join(", ")}${signal.keyFrames.length > 8 ? ", ..." : ""})` : ""}`);
|
|
1651
|
+
console.log(` Change points: ${signal.changePoints.length}` +
|
|
1652
|
+
(signal.saturated ? ` — saturated, use key frames instead` : ""));
|
|
1643
1653
|
console.log(` Artifacts: ${Object.entries(manifest.artifacts).map(([k, v]) => `${k} -> ${v}`).join(", ") || "none"}`);
|
|
1644
1654
|
console.log(` Manifest: ${manifests[0]}`);
|
|
1645
1655
|
}
|