@panerelay/protocol
Advanced tools
| import { PANERELAY_PROTOCOL_VERSION } from './constants.js'; | ||
| import { type AutomationEngineId, type RelaySessionActor } from './index.js'; | ||
| export declare const CDP_BOOTSTRAP_MAX_REQUEST_BYTES: number; | ||
| export declare const CDP_BOOTSTRAP_DEFAULT_TICKET_TTL_MS = 30000; | ||
| export declare const CDP_BOOTSTRAP_DEFAULT_CONNECTION_WINDOW_MS = 30000; | ||
| export declare const CDP_BOOTSTRAP_MAX_OUTSTANDING_TICKETS = 32; | ||
| export type CdpBootstrapConnectionPolicy = 'single'; | ||
| export type CdpBootstrapErrorCode = 'invalid-request' | 'unauthorized' | 'browser-unavailable' | 'generation-changed' | 'unsupported' | 'ticket-limit' | 'participant-limit' | 'ticket-invalid' | 'ticket-expired' | 'ticket-consumed' | 'lane-busy'; | ||
| export interface CdpBootstrapBrowserBinding { | ||
| browserId: string; | ||
| generation: string; | ||
| } | ||
| export interface CdpBootstrapRequest { | ||
| protocol: typeof PANERELAY_PROTOCOL_VERSION; | ||
| browser: CdpBootstrapBrowserBinding; | ||
| actor: RelaySessionActor; | ||
| engine: AutomationEngineId; | ||
| laneKey: string; | ||
| connectionPolicy: CdpBootstrapConnectionPolicy; | ||
| } | ||
| export interface CdpBootstrapCreated { | ||
| protocol: typeof PANERELAY_PROTOCOL_VERSION; | ||
| cdpUrl: string; | ||
| expiresAt: string; | ||
| } | ||
| export interface CdpBootstrapError { | ||
| protocol: typeof PANERELAY_PROTOCOL_VERSION; | ||
| error: { | ||
| code: CdpBootstrapErrorCode; | ||
| message: string; | ||
| }; | ||
| } | ||
| export interface CdpBootstrapVersionMetadata { | ||
| Browser: string; | ||
| 'Protocol-Version': string; | ||
| 'User-Agent': string; | ||
| 'V8-Version': string; | ||
| 'WebKit-Version': string; | ||
| webSocketDebuggerUrl: string; | ||
| } | ||
| export declare function isCdpBootstrapLaneKey(value: unknown): value is string; | ||
| export declare function isCdpBootstrapGeneration(value: unknown): value is string; | ||
| export declare function isCdpBootstrapRequest(value: unknown): value is CdpBootstrapRequest; | ||
| export declare function isCdpBootstrapCreated(value: unknown): value is CdpBootstrapCreated; | ||
| //# sourceMappingURL=cdp-bootstrap.d.ts.map |
| {"version":3,"file":"cdp-bootstrap.d.ts","sourceRoot":"","sources":["../src/cdp-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAwB,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnG,eAAO,MAAM,+BAA+B,QAAY,CAAC;AACzD,eAAO,MAAM,mCAAmC,QAAS,CAAC;AAC1D,eAAO,MAAM,0CAA0C,QAAS,CAAC;AACjE,eAAO,MAAM,qCAAqC,KAAK,CAAC;AAExD,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;AACpD,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,cAAc,GACd,qBAAqB,GACrB,oBAAoB,GACpB,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,WAAW,CAAC;AAEhB,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,0BAA0B,CAAC;IAC5C,OAAO,EAAE,0BAA0B,CAAC;IACpC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,4BAA4B,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,0BAA0B,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,0BAA0B,CAAC;IAC5C,KAAK,EAAE;QACL,IAAI,EAAE,qBAAqB,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAgBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAErE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExE;AAmBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAyBlF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAiBlF"} |
| import { PANERELAY_PROTOCOL_VERSION } from './constants.js'; | ||
| import { isAutomationEngineId } from './index.js'; | ||
| export const CDP_BOOTSTRAP_MAX_REQUEST_BYTES = 16 * 1024; | ||
| export const CDP_BOOTSTRAP_DEFAULT_TICKET_TTL_MS = 30_000; | ||
| export const CDP_BOOTSTRAP_DEFAULT_CONNECTION_WINDOW_MS = 30_000; | ||
| export const CDP_BOOTSTRAP_MAX_OUTSTANDING_TICKETS = 32; | ||
| function isRecord(value) { | ||
| return Boolean(value) && typeof value === 'object' && !Array.isArray(value); | ||
| } | ||
| function hasExactKeys(value, keys) { | ||
| const actual = Object.keys(value).sort(); | ||
| const expected = [...keys].sort(); | ||
| return actual.length === expected.length && actual.every((key, index) => key === expected[index]); | ||
| } | ||
| function isBoundedString(value, maximum) { | ||
| return typeof value === 'string' && value.length > 0 && value.length <= maximum; | ||
| } | ||
| export function isCdpBootstrapLaneKey(value) { | ||
| return isBoundedString(value, 128) && /^[A-Za-z0-9._:-]+$/.test(value); | ||
| } | ||
| export function isCdpBootstrapGeneration(value) { | ||
| return isBoundedString(value, 128) && /^[A-Za-z0-9._:-]+$/.test(value); | ||
| } | ||
| function isAutomationActor(value) { | ||
| if (!isRecord(value) || | ||
| !hasExactKeys(value, value.sessionLabel === undefined ? ['kind', 'name'] : ['kind', 'name', 'sessionLabel'])) { | ||
| return false; | ||
| } | ||
| return (value.kind === 'automation' && | ||
| isBoundedString(value.name, 64) && | ||
| (value.sessionLabel === undefined || isBoundedString(value.sessionLabel, 128))); | ||
| } | ||
| export function isCdpBootstrapRequest(value) { | ||
| if (!isRecord(value) || | ||
| !hasExactKeys(value, [ | ||
| 'protocol', | ||
| 'browser', | ||
| 'actor', | ||
| 'engine', | ||
| 'laneKey', | ||
| 'connectionPolicy', | ||
| ]) || | ||
| value.protocol !== PANERELAY_PROTOCOL_VERSION || | ||
| !isRecord(value.browser) || | ||
| !hasExactKeys(value.browser, ['browserId', 'generation'])) { | ||
| return false; | ||
| } | ||
| return (isBoundedString(value.browser.browserId, 128) && | ||
| isCdpBootstrapGeneration(value.browser.generation) && | ||
| isAutomationActor(value.actor) && | ||
| isAutomationEngineId(value.engine) && | ||
| isCdpBootstrapLaneKey(value.laneKey) && | ||
| value.connectionPolicy === 'single'); | ||
| } | ||
| export function isCdpBootstrapCreated(value) { | ||
| if (!isRecord(value) || | ||
| !hasExactKeys(value, ['protocol', 'cdpUrl', 'expiresAt']) || | ||
| value.protocol !== PANERELAY_PROTOCOL_VERSION || | ||
| !isBoundedString(value.cdpUrl, 4_096) || | ||
| !isBoundedString(value.expiresAt, 64) || | ||
| !Number.isFinite(Date.parse(value.expiresAt))) { | ||
| return false; | ||
| } | ||
| try { | ||
| const url = new URL(value.cdpUrl); | ||
| return url.protocol === 'http:' && url.hostname === '127.0.0.1'; | ||
| } | ||
| catch { | ||
| return false; | ||
| } | ||
| } |
| export declare const PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION: "panerelay.cli-adapter.v1"; | ||
| export declare const CLI_ADAPTER_MAX_MESSAGE_BYTES: number; | ||
| export declare const CLI_ADAPTER_MAX_ENVIRONMENT_BYTES: number; | ||
| export declare const CLI_ADAPTER_MAX_ENVIRONMENT_KEYS = 16; | ||
| export declare const CLI_ADAPTER_MAX_DOCTOR_CHECKS = 32; | ||
| export type CliAdapterOperation = 'adapter.manifest' | 'connection.resolve' | 'adapter.doctor'; | ||
| export type CliAdapterCapability = 'connection.resolve' | 'adapter.doctor'; | ||
| export type CliAdapterMode = 'direct' | 'extension'; | ||
| export type CliAdapterConnectionKind = 'direct' | 'cdp-http' | 'cdp-websocket'; | ||
| export type CliAdapterDoctorStatus = 'ready' | 'degraded' | 'unavailable'; | ||
| export type CliAdapterDoctorCheckStatus = 'pass' | 'warning' | 'fail'; | ||
| export type CliAdapterErrorCode = 'invalid-request' | 'incompatible-protocol' | 'unsupported-operation' | 'adapter-unavailable' | 'browser-unavailable' | 'generation-changed' | 'not-ready' | 'busy' | 'timeout' | 'internal-error'; | ||
| export interface CliAdapterActor { | ||
| name: string; | ||
| sessionLabel?: string; | ||
| } | ||
| export interface CliAdapterBrowserSelection { | ||
| browserId: string; | ||
| generation: string; | ||
| } | ||
| export interface CliAdapterManifestRequest { | ||
| protocol: typeof PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION; | ||
| requestId: string; | ||
| operation: 'adapter.manifest'; | ||
| input: Record<string, never>; | ||
| } | ||
| export interface CliAdapterResolveRequest { | ||
| protocol: typeof PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION; | ||
| requestId: string; | ||
| operation: 'connection.resolve'; | ||
| input: { | ||
| mode: CliAdapterMode; | ||
| actor: CliAdapterActor; | ||
| browser?: CliAdapterBrowserSelection; | ||
| }; | ||
| } | ||
| export interface CliAdapterDoctorRequest { | ||
| protocol: typeof PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION; | ||
| requestId: string; | ||
| operation: 'adapter.doctor'; | ||
| input: Record<string, never>; | ||
| } | ||
| export type CliAdapterRequest = CliAdapterManifestRequest | CliAdapterResolveRequest | CliAdapterDoctorRequest; | ||
| export interface CliAdapterManifest { | ||
| adapterId: string; | ||
| name: string; | ||
| version: string; | ||
| protocol: typeof PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION; | ||
| capabilities: CliAdapterCapability[]; | ||
| modes: CliAdapterMode[]; | ||
| childEnvironmentKeys: string[]; | ||
| } | ||
| export interface CliAdapterResolvedConnection { | ||
| mode: CliAdapterMode; | ||
| connection: { | ||
| kind: CliAdapterConnectionKind; | ||
| url?: string; | ||
| }; | ||
| environment: Record<string, string>; | ||
| expiresAt?: string; | ||
| concurrencyKey?: string; | ||
| } | ||
| export interface CliAdapterDoctorCheck { | ||
| id: string; | ||
| status: CliAdapterDoctorCheckStatus; | ||
| message?: string; | ||
| version?: string; | ||
| } | ||
| export interface CliAdapterDoctorResult { | ||
| status: CliAdapterDoctorStatus; | ||
| checks: CliAdapterDoctorCheck[]; | ||
| } | ||
| export type CliAdapterOperationResult = CliAdapterManifest | CliAdapterResolvedConnection | CliAdapterDoctorResult; | ||
| export interface CliAdapterSuccessResponse { | ||
| protocol: typeof PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION; | ||
| requestId: string; | ||
| operation: CliAdapterOperation; | ||
| success: true; | ||
| result: CliAdapterOperationResult; | ||
| } | ||
| export interface CliAdapterFailureResponse { | ||
| protocol: typeof PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION; | ||
| requestId: string; | ||
| operation: CliAdapterOperation; | ||
| success: false; | ||
| error: { | ||
| code: CliAdapterErrorCode; | ||
| message: string; | ||
| retryable: boolean; | ||
| }; | ||
| } | ||
| export type CliAdapterResponse = CliAdapterSuccessResponse | CliAdapterFailureResponse; | ||
| export declare function isSafeCliAdapterEnvironmentKey(value: unknown): value is string; | ||
| export declare function isCliAdapterRequest(value: unknown): value is CliAdapterRequest; | ||
| export declare function isCliAdapterManifest(value: unknown): value is CliAdapterManifest; | ||
| export declare function isCliAdapterResponse(value: unknown): value is CliAdapterResponse; | ||
| export declare function parseCliAdapterRequest(serialized: string): CliAdapterRequest; | ||
| export declare function parseCliAdapterResponse(serialized: string): CliAdapterResponse; | ||
| export declare function serializeCliAdapterMessage(value: CliAdapterRequest | CliAdapterResponse): string; | ||
| //# sourceMappingURL=cli-adapter.d.ts.map |
| {"version":3,"file":"cli-adapter.d.ts","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"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"} |
| export const PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION = 'panerelay.cli-adapter.v1'; | ||
| export const CLI_ADAPTER_MAX_MESSAGE_BYTES = 64 * 1024; | ||
| export const CLI_ADAPTER_MAX_ENVIRONMENT_BYTES = 16 * 1024; | ||
| export const CLI_ADAPTER_MAX_ENVIRONMENT_KEYS = 16; | ||
| export const CLI_ADAPTER_MAX_DOCTOR_CHECKS = 32; | ||
| const OPERATIONS = new Set([ | ||
| 'adapter.manifest', | ||
| 'connection.resolve', | ||
| 'adapter.doctor', | ||
| ]); | ||
| const CAPABILITIES = new Set(['connection.resolve', 'adapter.doctor']); | ||
| const MODES = new Set(['direct', 'extension']); | ||
| const CONNECTION_KINDS = new Set(['direct', 'cdp-http', 'cdp-websocket']); | ||
| const DOCTOR_STATUSES = new Set(['ready', 'degraded', 'unavailable']); | ||
| const DOCTOR_CHECK_STATUSES = new Set(['pass', 'warning', 'fail']); | ||
| const ERROR_CODES = new Set([ | ||
| 'invalid-request', | ||
| 'incompatible-protocol', | ||
| 'unsupported-operation', | ||
| 'adapter-unavailable', | ||
| 'browser-unavailable', | ||
| 'generation-changed', | ||
| 'not-ready', | ||
| 'busy', | ||
| 'timeout', | ||
| 'internal-error', | ||
| ]); | ||
| const FORBIDDEN_ENVIRONMENT_KEYS = new Set([ | ||
| 'PATH', | ||
| 'HOME', | ||
| 'USERPROFILE', | ||
| 'SHELL', | ||
| 'COMSPEC', | ||
| 'NODE_OPTIONS', | ||
| 'NODE_PATH', | ||
| 'PYTHONPATH', | ||
| ]); | ||
| function isRecord(value) { | ||
| return Boolean(value) && typeof value === 'object' && !Array.isArray(value); | ||
| } | ||
| function hasOnlyKeys(value, allowed) { | ||
| const allowedKeys = new Set(allowed); | ||
| return Object.keys(value).every(key => allowedKeys.has(key)); | ||
| } | ||
| function hasExactKeys(value, required) { | ||
| return hasOnlyKeys(value, required) && required.every(key => key in value); | ||
| } | ||
| function isBoundedString(value, maximum, minimum = 1) { | ||
| return typeof value === 'string' && value.length >= minimum && value.length <= maximum; | ||
| } | ||
| function isRequestId(value) { | ||
| return isBoundedString(value, 128) && /^[A-Za-z0-9._:-]+$/.test(value); | ||
| } | ||
| function isIdentifier(value, maximum = 64) { | ||
| return isBoundedString(value, maximum) && /^[a-z][a-z0-9-]*$/.test(value); | ||
| } | ||
| function isVersion(value) { | ||
| return isBoundedString(value, 64) && /^[0-9A-Za-z][0-9A-Za-z.+_-]*$/.test(value); | ||
| } | ||
| function isIsoDate(value) { | ||
| return isBoundedString(value, 64) && Number.isFinite(Date.parse(value)); | ||
| } | ||
| function isUniqueEnumList(value, allowed, maximum) { | ||
| return (Array.isArray(value) && | ||
| value.length > 0 && | ||
| value.length <= maximum && | ||
| value.every(item => typeof item === 'string' && allowed.has(item)) && | ||
| new Set(value).size === value.length); | ||
| } | ||
| export function isSafeCliAdapterEnvironmentKey(value) { | ||
| return (typeof value === 'string' && | ||
| /^[A-Z][A-Z0-9_]{0,63}$/.test(value) && | ||
| !FORBIDDEN_ENVIRONMENT_KEYS.has(value) && | ||
| !value.startsWith('LD_') && | ||
| !value.startsWith('DYLD_')); | ||
| } | ||
| function isActor(value) { | ||
| if (!isRecord(value) || !hasOnlyKeys(value, ['name', 'sessionLabel'])) | ||
| return false; | ||
| return (isBoundedString(value.name, 64) && | ||
| (value.sessionLabel === undefined || isBoundedString(value.sessionLabel, 128))); | ||
| } | ||
| function isBrowserSelection(value) { | ||
| return (isRecord(value) && | ||
| hasExactKeys(value, ['browserId', 'generation']) && | ||
| isBoundedString(value.browserId, 128) && | ||
| isBoundedString(value.generation, 128) && | ||
| /^[A-Za-z0-9._:-]+$/.test(value.generation)); | ||
| } | ||
| export function isCliAdapterRequest(value) { | ||
| if (!isRecord(value) || | ||
| !hasExactKeys(value, ['protocol', 'requestId', 'operation', 'input']) || | ||
| value.protocol !== PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION || | ||
| !isRequestId(value.requestId) || | ||
| typeof value.operation !== 'string' || | ||
| !OPERATIONS.has(value.operation) || | ||
| !isRecord(value.input)) { | ||
| return false; | ||
| } | ||
| if (value.operation === 'adapter.manifest' || value.operation === 'adapter.doctor') { | ||
| return Object.keys(value.input).length === 0; | ||
| } | ||
| if (!hasOnlyKeys(value.input, ['mode', 'actor', 'browser'])) | ||
| return false; | ||
| if (typeof value.input.mode !== 'string' || !MODES.has(value.input.mode)) { | ||
| return false; | ||
| } | ||
| if (!isActor(value.input.actor)) | ||
| return false; | ||
| return value.input.mode === 'extension' | ||
| ? isBrowserSelection(value.input.browser) | ||
| : value.input.browser === undefined; | ||
| } | ||
| export function isCliAdapterManifest(value) { | ||
| if (!isRecord(value) || | ||
| !hasExactKeys(value, [ | ||
| 'adapterId', | ||
| 'name', | ||
| 'version', | ||
| 'protocol', | ||
| 'capabilities', | ||
| 'modes', | ||
| 'childEnvironmentKeys', | ||
| ])) { | ||
| return false; | ||
| } | ||
| return (isIdentifier(value.adapterId) && | ||
| isBoundedString(value.name, 128) && | ||
| isVersion(value.version) && | ||
| value.protocol === PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION && | ||
| isUniqueEnumList(value.capabilities, CAPABILITIES, CAPABILITIES.size) && | ||
| isUniqueEnumList(value.modes, MODES, MODES.size) && | ||
| Array.isArray(value.childEnvironmentKeys) && | ||
| value.childEnvironmentKeys.length <= CLI_ADAPTER_MAX_ENVIRONMENT_KEYS && | ||
| value.childEnvironmentKeys.every(isSafeCliAdapterEnvironmentKey) && | ||
| new Set(value.childEnvironmentKeys).size === value.childEnvironmentKeys.length); | ||
| } | ||
| function isResolvedConnection(value) { | ||
| if (!isRecord(value) || | ||
| !hasOnlyKeys(value, ['mode', 'connection', 'environment', 'expiresAt', 'concurrencyKey']) || | ||
| !('mode' in value) || | ||
| !('connection' in value) || | ||
| !('environment' in value) || | ||
| typeof value.mode !== 'string' || | ||
| !MODES.has(value.mode) || | ||
| !isRecord(value.connection) || | ||
| !hasOnlyKeys(value.connection, ['kind', 'url']) || | ||
| typeof value.connection.kind !== 'string' || | ||
| !CONNECTION_KINDS.has(value.connection.kind) || | ||
| !isRecord(value.environment)) { | ||
| return false; | ||
| } | ||
| const entries = Object.entries(value.environment); | ||
| const environmentBytes = new TextEncoder().encode(JSON.stringify(value.environment)).byteLength; | ||
| if (entries.length > CLI_ADAPTER_MAX_ENVIRONMENT_KEYS || | ||
| environmentBytes > CLI_ADAPTER_MAX_ENVIRONMENT_BYTES || | ||
| entries.some(([key, entry]) => !isSafeCliAdapterEnvironmentKey(key) || | ||
| typeof entry !== 'string' || | ||
| entry.length > 4_096 || | ||
| entry.includes('\0'))) { | ||
| return false; | ||
| } | ||
| const url = value.connection.url; | ||
| if ((url !== undefined && !isBoundedString(url, 4_096)) || | ||
| (value.connection.kind === 'direct' && url !== undefined) || | ||
| (value.connection.kind !== 'direct' && url === undefined) || | ||
| (value.mode === 'direct' && value.connection.kind !== 'direct') || | ||
| (value.mode === 'extension' && value.connection.kind === 'direct')) { | ||
| return false; | ||
| } | ||
| if (typeof url === 'string') { | ||
| try { | ||
| const parsed = new URL(url); | ||
| if (!['http:', 'ws:', 'https:', 'wss:'].includes(parsed.protocol)) | ||
| return false; | ||
| } | ||
| catch { | ||
| return false; | ||
| } | ||
| } | ||
| return ((value.expiresAt === undefined || isIsoDate(value.expiresAt)) && | ||
| (value.concurrencyKey === undefined || | ||
| (isBoundedString(value.concurrencyKey, 128) && | ||
| /^[A-Za-z0-9._:-]+$/.test(value.concurrencyKey)))); | ||
| } | ||
| function isDoctorResult(value) { | ||
| if (!isRecord(value) || | ||
| !hasExactKeys(value, ['status', 'checks']) || | ||
| typeof value.status !== 'string' || | ||
| !DOCTOR_STATUSES.has(value.status) || | ||
| !Array.isArray(value.checks) || | ||
| value.checks.length > CLI_ADAPTER_MAX_DOCTOR_CHECKS) { | ||
| return false; | ||
| } | ||
| const ids = new Set(); | ||
| for (const check of value.checks) { | ||
| if (!isRecord(check) || | ||
| !hasOnlyKeys(check, ['id', 'status', 'message', 'version']) || | ||
| !isIdentifier(check.id) || | ||
| ids.has(check.id) || | ||
| typeof check.status !== 'string' || | ||
| !DOCTOR_CHECK_STATUSES.has(check.status) || | ||
| (check.message !== undefined && !isBoundedString(check.message, 512)) || | ||
| (check.version !== undefined && !isVersion(check.version))) { | ||
| return false; | ||
| } | ||
| ids.add(check.id); | ||
| } | ||
| return true; | ||
| } | ||
| function isFailure(value) { | ||
| if (!hasExactKeys(value, ['protocol', 'requestId', 'operation', 'success', 'error'])) { | ||
| return false; | ||
| } | ||
| const error = value.error; | ||
| return (value.success === false && | ||
| isRecord(error) && | ||
| hasExactKeys(error, ['code', 'message', 'retryable']) && | ||
| typeof error.code === 'string' && | ||
| ERROR_CODES.has(error.code) && | ||
| isBoundedString(error.message, 512) && | ||
| typeof error.retryable === 'boolean'); | ||
| } | ||
| export function isCliAdapterResponse(value) { | ||
| if (!isRecord(value) || | ||
| value.protocol !== PANERELAY_CLI_ADAPTER_PROTOCOL_VERSION || | ||
| !isRequestId(value.requestId) || | ||
| typeof value.operation !== 'string' || | ||
| !OPERATIONS.has(value.operation)) { | ||
| return false; | ||
| } | ||
| if (value.success === false) | ||
| return isFailure(value); | ||
| if (value.success !== true || | ||
| !hasExactKeys(value, ['protocol', 'requestId', 'operation', 'success', 'result'])) { | ||
| return false; | ||
| } | ||
| switch (value.operation) { | ||
| case 'adapter.manifest': | ||
| return isCliAdapterManifest(value.result); | ||
| case 'connection.resolve': | ||
| return isResolvedConnection(value.result); | ||
| case 'adapter.doctor': | ||
| return isDoctorResult(value.result); | ||
| default: | ||
| return false; | ||
| } | ||
| } | ||
| function parseBoundedJson(serialized) { | ||
| if (new TextEncoder().encode(serialized).byteLength > CLI_ADAPTER_MAX_MESSAGE_BYTES) { | ||
| throw new Error('Panerelay CLI adapter message exceeds the protocol size limit'); | ||
| } | ||
| try { | ||
| return JSON.parse(serialized); | ||
| } | ||
| catch { | ||
| throw new Error('Panerelay CLI adapter message is not valid JSON'); | ||
| } | ||
| } | ||
| export function parseCliAdapterRequest(serialized) { | ||
| const value = parseBoundedJson(serialized); | ||
| if (!isCliAdapterRequest(value)) | ||
| throw new Error('Invalid Panerelay CLI adapter request'); | ||
| return value; | ||
| } | ||
| export function parseCliAdapterResponse(serialized) { | ||
| const value = parseBoundedJson(serialized); | ||
| if (!isCliAdapterResponse(value)) | ||
| throw new Error('Invalid Panerelay CLI adapter response'); | ||
| return value; | ||
| } | ||
| export function serializeCliAdapterMessage(value) { | ||
| const serialized = JSON.stringify(value); | ||
| if (new TextEncoder().encode(serialized).byteLength > CLI_ADAPTER_MAX_MESSAGE_BYTES) { | ||
| throw new Error('Panerelay CLI adapter message exceeds the protocol size limit'); | ||
| } | ||
| return `${serialized}\n`; | ||
| } |
+53
-1
| import { PANERELAY_PROTOCOL_VERSION } from './constants.js'; | ||
| import type { CliAdapterMode } from './cli-adapter.js'; | ||
| export * from './constants.js'; | ||
| export * from './cli-adapter.js'; | ||
| export * from './cdp-bootstrap.js'; | ||
| export * from './control-activity.js'; | ||
| export * from './native-transfer.js'; | ||
| export type BrowserFamily = 'chrome' | 'chromium' | 'edge' | 'unknown'; | ||
| export interface BrowserCapabilities { | ||
| cdpRelay: boolean; | ||
| } | ||
| export interface BrowserRegistration { | ||
@@ -10,2 +17,4 @@ browserId: string; | ||
| extensionVersion: string; | ||
| browserFamily?: BrowserFamily; | ||
| capabilities?: BrowserCapabilities; | ||
| } | ||
@@ -82,2 +91,4 @@ export interface BrowserRegisterMessage extends BrowserRegistration { | ||
| } | ||
| export type AutomationEngineId = 'agent-browser' | 'browser-use'; | ||
| export declare function isAutomationEngineId(value: unknown): value is AutomationEngineId; | ||
| export interface CdpCommandMessage { | ||
@@ -89,2 +100,3 @@ type: 'cdp.command'; | ||
| method: string; | ||
| engine?: AutomationEngineId; | ||
| params?: Record<string, unknown>; | ||
@@ -272,2 +284,3 @@ sessionId?: string; | ||
| providerId: string; | ||
| cwd?: string; | ||
| } | { | ||
@@ -313,3 +326,7 @@ method: 'conversation.start'; | ||
| } | ||
| export type AutomationIntegrationId = 'agent-browser' | 'browser-use'; | ||
| export type IntegrationRequest = { | ||
| method: 'integration.install'; | ||
| integration: AutomationIntegrationId; | ||
| } | { | ||
| method: 'default-provider.get'; | ||
@@ -321,5 +338,18 @@ } | { | ||
| } | { | ||
| method: 'browser-use-default.get'; | ||
| } | { | ||
| method: 'browser-use-default.set'; | ||
| } | { | ||
| method: 'browser-use-default.clear'; | ||
| } | { | ||
| method: 'browser-default.get'; | ||
| } | { | ||
| method: 'browser-default.set-current'; | ||
| } | { | ||
| method: 'browser-default.clear-current'; | ||
| } | { | ||
| method: 'workspace.pick-directory'; | ||
| }; | ||
| export interface IntegrationDefaultProviderResult { | ||
| available: boolean; | ||
| provider: string | null; | ||
@@ -331,3 +361,22 @@ isPanerelay: boolean; | ||
| } | ||
| export type IntegrationResult = IntegrationDefaultProviderResult | IntegrationWorkspaceDirectoryResult; | ||
| export interface IntegrationBrowserUseDefaultResult { | ||
| available: boolean; | ||
| mode: CliAdapterMode | null; | ||
| isPanerelay: boolean; | ||
| } | ||
| export interface IntegrationInstallResult { | ||
| integration: AutomationIntegrationId; | ||
| installed: true; | ||
| } | ||
| export interface IntegrationBrowserDefaultResult { | ||
| currentBrowser: { | ||
| browserId: string; | ||
| browserName: string; | ||
| browserFamily?: BrowserFamily; | ||
| } | null; | ||
| defaultBrowserId: string | null; | ||
| hasMultipleBrowsers: boolean; | ||
| isCurrentBrowser: boolean; | ||
| } | ||
| export type IntegrationResult = IntegrationInstallResult | IntegrationDefaultProviderResult | IntegrationBrowserUseDefaultResult | IntegrationWorkspaceDirectoryResult | IntegrationBrowserDefaultResult; | ||
| export interface IntegrationRequestMessage { | ||
@@ -359,2 +408,3 @@ type: 'integration.request'; | ||
| token: string; | ||
| generation: string; | ||
| browserId: string; | ||
@@ -364,2 +414,4 @@ browserName: string; | ||
| extensionId: string; | ||
| browserFamily?: BrowserFamily; | ||
| capabilities?: BrowserCapabilities; | ||
| updatedAt: string; | ||
@@ -366,0 +418,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+12
-1
| import { PANERELAY_PROTOCOL_VERSION } from './constants.js'; | ||
| import { isAutomationActivitySnapshotMessage, isAutomationActivityUpdatedMessage, isControlSessionChangedMessage, } from './control-activity.js'; | ||
| export * from './constants.js'; | ||
| export * from './cli-adapter.js'; | ||
| export * from './cdp-bootstrap.js'; | ||
| export * from './control-activity.js'; | ||
| export * from './native-transfer.js'; | ||
| export function isAutomationEngineId(value) { | ||
| return value === 'agent-browser' || value === 'browser-use'; | ||
| } | ||
| export const CONVERSATION_MAX_IMAGES = 4; | ||
@@ -26,3 +31,9 @@ export const CONVERSATION_MAX_IMAGE_BYTES = 10 * 1024 * 1024; | ||
| typeof candidate.extensionId === 'string' && | ||
| typeof candidate.extensionVersion === 'string'); | ||
| typeof candidate.extensionVersion === 'string' && | ||
| (candidate.browserFamily === undefined || | ||
| ['chrome', 'chromium', 'edge', 'unknown'].includes(candidate.browserFamily)) && | ||
| (candidate.capabilities === undefined || | ||
| (typeof candidate.capabilities === 'object' && | ||
| candidate.capabilities !== null && | ||
| typeof candidate.capabilities.cdpRelay === 'boolean'))); | ||
| } | ||
@@ -29,0 +40,0 @@ return [ |
+0
-1
@@ -5,3 +5,2 @@ export declare const PANERELAY_STATE_PATH_ENV: "PANERELAY_STATE_PATH"; | ||
| export declare function runtimeConfigPath(): string; | ||
| export declare function agentBrowserConfigPath(): string; | ||
| //# sourceMappingURL=node.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,EAAG,sBAA+B,CAAC;AAExE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"} | ||
| {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,EAAG,sBAA+B,CAAC;AAExE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"} |
+0
-3
@@ -13,4 +13,1 @@ import { homedir } from 'node:os'; | ||
| } | ||
| export function agentBrowserConfigPath() { | ||
| return join(panerelayDataDirectory(), 'agent-browser.json'); | ||
| } |
+1
-1
| { | ||
| "name": "@panerelay/protocol", | ||
| "version": "0.2.0", | ||
| "version": "0.3.0", | ||
| "description": "Versioned relay protocol and shared types for Panerelay.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+5
-1
@@ -5,4 +5,8 @@ # @panerelay/protocol | ||
| The package is released in lockstep with the Panerelay Bridge, agent-browser Provider, Extension, and setup CLI because cross-release protocol negotiation is not yet supported. Most users should install Panerelay through `@panerelay/setup` instead of depending on the protocol directly. | ||
| The package is released in lockstep with the Panerelay Bridge, browser registry, | ||
| administration CLI, agent-browser Provider, Extension, and setup package because | ||
| cross-release protocol negotiation is not yet supported. Most users should | ||
| install Panerelay through `@panerelay/setup` instead of depending on the | ||
| protocol directly. | ||
| See the [Panerelay repository](https://github.com/F-loat/panerelay) for protocol RFCs, security boundaries, and compatibility information. |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
85014
49.03%24
33.33%1690
48.38%12
50%