mirror of
https://github.com/Tencent/BrowserSkill.git
synced 2026-09-10 13:01:23 +08:00
66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
export const RECORD_FRAME_PORT = "bsk-record-frame";
|
|
export const RECORD_FRAME_QUERY = "bsk-record-frame-query";
|
|
export const RECORD_FRAME_START = "bsk-record-frame-start";
|
|
|
|
export interface RecordFrameQueryMessage {
|
|
type: typeof RECORD_FRAME_QUERY;
|
|
}
|
|
|
|
export interface RecordFrameQueryResponse {
|
|
active: boolean;
|
|
requestId?: string;
|
|
startedAtMs?: number;
|
|
}
|
|
|
|
export interface RecordFrameStartMessage {
|
|
type: typeof RECORD_FRAME_START;
|
|
requestId: string;
|
|
startedAtMs: number;
|
|
}
|
|
|
|
export type RecordFramePortMessage =
|
|
| {
|
|
type: "ready";
|
|
requestId: string;
|
|
producerId: string;
|
|
}
|
|
| {
|
|
type: "ready_ack";
|
|
requestId: string;
|
|
producerId: string;
|
|
}
|
|
| {
|
|
type: "stop";
|
|
requestId: string;
|
|
commandId: string;
|
|
}
|
|
| {
|
|
type: "cancel";
|
|
requestId: string;
|
|
}
|
|
| {
|
|
type: "stopped";
|
|
requestId: string;
|
|
commandId: string;
|
|
ok: boolean;
|
|
error?: string;
|
|
};
|
|
|
|
export function isRecordFrameQueryMessage(value: unknown): value is RecordFrameQueryMessage {
|
|
return (
|
|
typeof value === "object" &&
|
|
value !== null &&
|
|
(value as { type?: unknown }).type === RECORD_FRAME_QUERY
|
|
);
|
|
}
|
|
|
|
export function isRecordFrameStartMessage(value: unknown): value is RecordFrameStartMessage {
|
|
if (typeof value !== "object" || value === null) return false;
|
|
const message = value as Partial<RecordFrameStartMessage>;
|
|
return (
|
|
message.type === RECORD_FRAME_START &&
|
|
typeof message.requestId === "string" &&
|
|
typeof message.startedAtMs === "number"
|
|
);
|
|
}
|