UNPKG

@mastra/core

Version:
45 lines 2.16 kB
/** * Opt-in browser recording tools. * * Wraps the existing browser screencast infrastructure to capture frames, lets * the agent drop short captions at specific moments, and encodes the result as * a Motion-JPEG AVI video written to disk. The AVI format is used because it * can be muxed in pure JavaScript (no ffmpeg) and plays natively in QuickTime / * Preview / VLC / browsers. */ import type { MastraBrowser } from '../browser.js'; export interface BrowserRecordingOptions { /** Directory where browser recordings are written. */ outputDir: string; /** Default maximum recording duration in ms (default 30 000, hard cap 120 000). */ maxDurationMs?: number; /** Default max frame width in pixels (default 1024). */ maxWidth?: number; /** Default max frame height in pixels (default 720). */ maxHeight?: number; } /** @internal Exposed for tests so they can reset state between cases. */ export declare function __resetRecordingStateForTests(): void; /** @internal Exposed for tests. */ export declare function __isRecordingActive(): boolean; /** * Create opt-in browser recording tools bound to a browser. * * These tools are alpha and are only exposed when a browser provider or caller * explicitly enables recording and provides a safe output directory. */ export declare function createBrowserRecordingTools(browser: MastraBrowser, options: BrowserRecordingOptions): { browser_record: import("../../tools").Tool<{ action: "status" | "start" | "stop"; maxDurationMs?: number | undefined; everyNthFrame?: number | undefined; maxWidth?: number | undefined; maxHeight?: number | undefined; outputPath?: string | undefined; }, unknown, unknown, unknown, import("../../tools").ToolExecutionContext<unknown, unknown, unknown>, "browser_record", unknown>; browser_record_caption: import("../../tools").Tool<{ text: string; durationMs?: number | undefined; }, unknown, unknown, unknown, import("../../tools").ToolExecutionContext<unknown, unknown, unknown>, "browser_record_caption", unknown>; }; //# sourceMappingURL=tools.d.ts.map