rea-agents - v2.0.0
    Preparing search index...

    Provider-neutral application boundary for passive browser observation.

    interface BrowserObservationPort {
        analyzeBundle(
            input: {
                allowed_origins: string[];
                analysis_limits: {
                    max_ast_nodes: number;
                    max_findings: number;
                    max_original_sources: number;
                    max_source_map_bytes: number;
                    max_source_map_mappings: number;
                    max_source_maps: number;
                    max_total_source_map_bytes: number;
                };
                approved: true;
                cdp_endpoint: string;
                console_text_approved: boolean;
                fetch_source_maps: boolean;
                include_accessibility_text: boolean;
                include_console_text: boolean;
                include_json_body_shapes: boolean;
                include_script_sources: true;
                include_storage_keys: boolean;
                include_websocket_shapes: boolean;
                json_body_schema_approved: boolean;
                limits: {
                    max_ax_nodes: number;
                    max_ax_text_field_bytes: number;
                    max_console_events: number;
                    max_console_text_field_bytes: number;
                    max_dom_nodes: number;
                    max_frames: number;
                    max_json_body_bytes: number;
                    max_json_shape_depth: number;
                    max_json_shape_nodes: number;
                    max_network_events: number;
                    max_resources: number;
                    max_script_source_bytes: number;
                    max_scripts: number;
                    max_storage_keys: number;
                    max_total_ax_text_bytes: number;
                    max_total_console_text_bytes: number;
                    max_total_json_body_bytes: number;
                    max_total_script_source_bytes: number;
                    max_total_websocket_shape_bytes: number;
                    max_websocket_events: number;
                    max_websocket_shape_bytes: number;
                    max_workers: number;
                };
                observation_ms: number;
                source_capture_approved: true;
                source_map_fetch_approved: boolean;
                target_id: string;
                websocket_shape_approved: boolean;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    capture: {
                        scripts_analyzed: number;
                        scripts_observed: number;
                        source_artifacts: {
                            bytes: number;
                            charset: "utf-8";
                            media_type: string;
                            sha256: string;
                            text_available: true;
                            uri: string;
                        }[];
                        target_url: string;
                    };
                    completeness: {
                        dropped_findings: number;
                        parse_failures: number;
                        parsed_scripts: number;
                        status: "truncated"
                        | "partial"
                        | "complete_within_limits";
                        visited_ast_nodes: number;
                    };
                    inferences: {
                        basis: {
                            artifact_sha256: string;
                            column: number
                            | null;
                            detector: string;
                            line: number | null;
                            script_key: string;
                        }[];
                        confidence: "low"
                        | "medium"
                        | "high";
                        kind: "vendor_fingerprint" | "route_framework" | "bundle_runtime";
                        value: string;
                    }[];
                    limitations: string[];
                    observations: {
                        chunks: {
                            edges: {
                                from_script_key: string;
                                kind: | "static_import"
                                | "dynamic_import"
                                | "require"
                                | "worker_import";
                                location: {
                                    column: number
                                    | null;
                                    line: number | null;
                                    script_key: string;
                                };
                                resolved_url: string
                                | null;
                                specifier: string;
                            }[];
                            nodes: {
                                artifact_sha256: string;
                                bytes: number;
                                script_key: string;
                                url: string;
                            }[];
                        };
                        endpoints: {
                            location: {
                                column: number
                                | null;
                                line: number | null;
                                script_key: string;
                            };
                            mechanism: string;
                            value: string;
                        }[];
                        routes: {
                            location: {
                                column: number
                                | null;
                                line: number | null;
                                script_key: string;
                            };
                            mechanism: string;
                            value: string;
                        }[];
                        source_maps: {
                            dropped: number;
                            dropped_script_keys: string[];
                            items: {
                                artifact: | {
                                    bytes: number;
                                    charset: "utf-8";
                                    media_type: string;
                                    sha256: string;
                                    text: string;
                                    uri: string;
                                }
                                | null;
                                declared_url: string;
                                limitation: string
                                | null;
                                mappings: {
                                    generated_column: number;
                                    generated_line: number;
                                    name: string | null;
                                    original_column: number;
                                    original_line: number;
                                    source: string;
                                }[];
                                original_module_edges: {
                                    from_source: string;
                                    kind: "static_import"
                                    | "dynamic_import"
                                    | "require";
                                    resolved_source: string | null;
                                    specifier: string;
                                }[];
                                original_sources: {
                                    artifact: | {
                                        bytes: ...;
                                        charset: ...;
                                        media_type: ...;
                                        sha256: ...;
                                        text: ...;
                                        uri: ...;
                                    }
                                    | null;
                                    source: string;
                                }[];
                                script_key: string;
                                status: | "truncated"
                                | "invalid"
                                | "policy_filtered"
                                | "included"
                                | "fetch_failed";
                            }[];
                            processed: number;
                            requested: number;
                            status: | "truncated"
                            | "unavailable"
                            | "partial"
                            | "included"
                            | "not_requested";
                        };
                        webmcp_declarations: {
                            description: string
                            | null;
                            location: {
                                column: number | null;
                                line: number | null;
                                script_key: string;
                            };
                            name: string
                            | null;
                            schema_property_names: string[];
                            trust: "page-declared-untrusted";
                        }[];
                    };
                    schema_version: 1;
                    unknowns: {
                        affected_script_keys: string[];
                        dimension: string;
                        reason: string;
                    }[];
                },
                AnalysisError,
            >,
        >;
        captureScreenshot(
            input: {
                allowed_origins: string[];
                approved: true;
                cdp_endpoint: string;
                maximum_image_bytes: number;
                screenshot_approved: true;
                target_id: string;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    artifact: {
                        bytes: number;
                        data_base64: string;
                        media_type: "image/png";
                        sha256: string;
                        uri: string;
                    };
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    captured_at: string;
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    limitations: string[];
                    schema_version: 1;
                    target: { origin: string; target_id: string; url: string };
                    viewport: { height: number; width: number };
                },
                AnalysisError,
            >,
        >;
        compareCaptures(
            input: {
                after: {
                    inspection: {
                        accessibility: {
                            nodes: {
                                description: string | null;
                                ignored: boolean;
                                name: string | null;
                                node_id: string;
                                parent_id: string | null;
                                role: string | null;
                            }[];
                            text_capture: {
                                excluded_fields: number;
                                retained_bytes: number;
                                status: "truncated"
                                | "unavailable"
                                | "not_approved"
                                | "included";
                                truncated_fields: number;
                            };
                            total_nodes: number;
                        };
                        browser: {
                            js_version: string;
                            product: string;
                            protocol_version: string;
                            revision: string;
                            user_agent: string;
                        };
                        capture_window: {
                            ended_at: string;
                            observation_ms: number;
                            started_at: string;
                        };
                        completeness: {
                            attach_limited_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            conditions: (
                                | "truncated"
                                | "complete_within_window"
                                | "policy_filtered"
                                | "attach_limited"
                            )[];
                            dropped_events: {
                                console_events: number;
                                network_requests: number;
                                scripts: number;
                                timeline_events: number;
                                total: number;
                                webmcp_tools: number;
                                websocket_connections: number;
                                websocket_frames: number;
                            };
                            excluded: {
                                count: number
                                | null;
                                reason:
                                    | "provider_unavailable"
                                    | "disallowed_origin"
                                    | "unsupported_url"
                                    | "unattributed_origin"
                                    | "not_approved"
                                    | "out_of_target_scope"
                                    | "invalid_protocol_value";
                                section: | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline";
                            }[];
                            policy_filtered_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            status: | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited";
                            truncated_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            unavailable_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                        };
                        console: {
                            coverage_started_at: string;
                            events: {
                                argument_types: string[];
                                column: number
                                | null;
                                line: number | null;
                                text_capture: {
                                    retained_bytes: number;
                                    status: "truncated" | "not_approved" | "included";
                                    truncated_values: number;
                                    values: { argument_index: number; text: string; type: string }[];
                                };
                                timestamp: number;
                                type: string;
                                url: string
                                | null;
                            }[];
                            prior_activity_available: false;
                        };
                        dom: {
                            nodes: {
                                attribute_names: string[];
                                index: number;
                                node_name: string;
                                node_type: number;
                                node_value_length: number;
                                parent_index: number;
                            }[];
                            total_nodes: number;
                        };
                        frames: {
                            frame_id: string;
                            origin: string
                            | null;
                            parent_frame_id: string | null;
                            url: string;
                        }[];
                        limitations: string[];
                        metadata: {
                            agent_hints: {
                                declaration: string;
                                mechanism: | "link_rel"
                                | "dom_link_rel"
                                | "well_known_resource"
                                | "response_header";
                                trust: "page-declared-untrusted";
                                url: string
                                | null;
                            }[];
                            dom_urls: {
                                attribute: "action"
                                | "href"
                                | "src"
                                | "formaction"
                                | "poster";
                                destination_scope: "approved" | "unsupported" | "outside_policy";
                                node_index: number;
                                url: string | null;
                            }[];
                            excluded_dom_urls: number;
                            headers_allowlisted: true;
                            responses: {
                                content_encoding: string
                                | null;
                                content_length: number | null;
                                csp: {
                                    directives: {
                                        name: string;
                                        sources: { kind: ...; value: ... }[];
                                    }[];
                                    hash_count: number;
                                    nonce_count: number;
                                };
                                links: {
                                    as: string
                                    | null;
                                    crossorigin: string | null;
                                    destination_scope: "approved" | "unsupported" | "outside_policy";
                                    href: string | null;
                                    rel: string[];
                                    type: string | null;
                                }[];
                                mime_type: string
                                | null;
                                policies: {
                                    coep: string | null;
                                    coop: string | null;
                                    corp: string | null;
                                    permissions_policy_features: string[];
                                    referrer_policy: string | null;
                                    x_content_type_options: string | null;
                                };
                                request_id: string;
                                url: string;
                            }[];
                        };
                        network: {
                            coverage_started_at: string;
                            prior_activity_available: false;
                            requests: {
                                body_shapes: {
                                    request: | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                    response: | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                    status: | "truncated"
                                    | "unavailable"
                                    | "partial"
                                    | "not_approved"
                                    | "included";
                                };
                                encoded_data_length: number
                                | null;
                                initiator: {
                                    column: number | null;
                                    line: number | null;
                                    type: string;
                                    url: string | null;
                                };
                                method: string;
                                mime_type: string
                                | null;
                                origin: string | null;
                                request_id: string;
                                resource_type: string | null;
                                status: number | null;
                                url: string;
                            }[];
                            websocket_events: {
                                direction: "received"
                                | "sent";
                                opcode: number;
                                payload_bytes: number;
                                payload_shape:
                                    | {
                                        format: "binary"
                                        | "text"
                                        | "json";
                                        json_shape:
                                            | {
                                                max_depth_observed: number;
                                                node_count: number;
                                                properties: (...)[];
                                                root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                                truncated: boolean;
                                            }
                                            | null;
                                        truncated: boolean;
                                    }
                                    | null;
                                request_id: string;
                            }[];
                        };
                        resources: {
                            content_size: number
                            | null;
                            mime_type: string;
                            origin: string | null;
                            resource_key: string;
                            type: string;
                            url: string;
                        }[];
                        schema_version: 2;
                        scripts: {
                            items: {
                                cdp_hash: string;
                                frame_id: string
                                | null;
                                is_module: boolean;
                                language: string | null;
                                length: number;
                                origin: string | null;
                                resource_reconciliation:
                                    | { resource_key: string; status: "exact" }
                                    | { candidate_resource_keys: string[]; status: "ambiguous" }
                                    | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                                script_key: string;
                                source:
                                    | { included: false; reason: string }
                                    | {
                                        artifact: {
                                            bytes: number;
                                            charset: "utf-8";
                                            media_type: string;
                                            sha256: string;
                                            text: string;
                                            uri: string;
                                        };
                                        included: true;
                                    };
                                source_map_url: string
                                | null;
                                url: string;
                            }[];
                            total: number;
                        };
                        storage: {
                            cache_names: string[];
                            indexed_db_names: string[];
                            local_storage_keys: string[];
                            origin: string;
                            quota_bytes: number
                            | null;
                            session_storage_keys: string[];
                            usage_bytes: number | null;
                            values_redacted: true;
                        };
                        target: {
                            attached: boolean;
                            origin: string;
                            target_id: string;
                            title: string;
                            type: string;
                            url: string;
                        };
                        workers: {
                            attached: boolean;
                            opener_target_id: string
                            | null;
                            origin: string | null;
                            parent_frame_id: string | null;
                            target_id: string;
                            type: string;
                            url: string;
                        }[];
                    };
                    webmcp: | {
                        browser: {
                            js_version: string;
                            product: string;
                            protocol_version: string;
                            revision: string;
                            user_agent: string;
                        };
                        completeness: {
                            attach_limited_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            conditions: (
                                | "truncated"
                                | "complete_within_window"
                                | "policy_filtered"
                                | "attach_limited"
                            )[];
                            dropped_events: {
                                console_events: number;
                                network_requests: number;
                                scripts: number;
                                timeline_events: number;
                                total: number;
                                webmcp_tools: number;
                                websocket_connections: number;
                                websocket_frames: number;
                            };
                            excluded: {
                                count: number
                                | null;
                                reason:
                                    | "provider_unavailable"
                                    | "disallowed_origin"
                                    | "unsupported_url"
                                    | "unattributed_origin"
                                    | "not_approved"
                                    | "out_of_target_scope"
                                    | "invalid_protocol_value";
                                section: | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline";
                            }[];
                            policy_filtered_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            status: | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited";
                            truncated_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            unavailable_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                        };
                        limitations: string[];
                        schema_version: 1;
                        status: "unavailable"
                        | "available";
                        target: { origin: string; target_id: string; url: string };
                        tools: {
                            items: {
                                annotations: {
                                    autosubmit: boolean | null;
                                    read_only: boolean | null;
                                    untrusted_content: boolean | null;
                                };
                                declaration_kind: "declarative"
                                | "imperative";
                                description: string;
                                frame_id: string;
                                frame_url: string;
                                input_schema_shape:
                                    | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                name: string;
                                owner_origin: string;
                                registration_source: | {
                                    column: number
                                    | null;
                                    line: number | null;
                                    url: string;
                                }
                                | null;
                                tool_key: string;
                                trust: "page-declared-untrusted";
                            }[];
                            total: number;
                        };
                    }
                    | null;
                };
                before: {
                    inspection: {
                        accessibility: {
                            nodes: {
                                description: string
                                | null;
                                ignored: boolean;
                                name: string | null;
                                node_id: string;
                                parent_id: string | null;
                                role: string | null;
                            }[];
                            text_capture: {
                                excluded_fields: number;
                                retained_bytes: number;
                                status: "truncated"
                                | "unavailable"
                                | "not_approved"
                                | "included";
                                truncated_fields: number;
                            };
                            total_nodes: number;
                        };
                        browser: {
                            js_version: string;
                            product: string;
                            protocol_version: string;
                            revision: string;
                            user_agent: string;
                        };
                        capture_window: {
                            ended_at: string;
                            observation_ms: number;
                            started_at: string;
                        };
                        completeness: {
                            attach_limited_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            conditions: (
                                | "truncated"
                                | "complete_within_window"
                                | "policy_filtered"
                                | "attach_limited"
                            )[];
                            dropped_events: {
                                console_events: number;
                                network_requests: number;
                                scripts: number;
                                timeline_events: number;
                                total: number;
                                webmcp_tools: number;
                                websocket_connections: number;
                                websocket_frames: number;
                            };
                            excluded: {
                                count: number
                                | null;
                                reason:
                                    | "provider_unavailable"
                                    | "disallowed_origin"
                                    | "unsupported_url"
                                    | "unattributed_origin"
                                    | "not_approved"
                                    | "out_of_target_scope"
                                    | "invalid_protocol_value";
                                section: | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline";
                            }[];
                            policy_filtered_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            status: | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited";
                            truncated_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            unavailable_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                        };
                        console: {
                            coverage_started_at: string;
                            events: {
                                argument_types: string[];
                                column: number
                                | null;
                                line: number | null;
                                text_capture: {
                                    retained_bytes: number;
                                    status: "truncated" | "not_approved" | "included";
                                    truncated_values: number;
                                    values: { argument_index: number; text: string; type: string }[];
                                };
                                timestamp: number;
                                type: string;
                                url: string
                                | null;
                            }[];
                            prior_activity_available: false;
                        };
                        dom: {
                            nodes: {
                                attribute_names: string[];
                                index: number;
                                node_name: string;
                                node_type: number;
                                node_value_length: number;
                                parent_index: number;
                            }[];
                            total_nodes: number;
                        };
                        frames: {
                            frame_id: string;
                            origin: string
                            | null;
                            parent_frame_id: string | null;
                            url: string;
                        }[];
                        limitations: string[];
                        metadata: {
                            agent_hints: {
                                declaration: string;
                                mechanism: | "link_rel"
                                | "dom_link_rel"
                                | "well_known_resource"
                                | "response_header";
                                trust: "page-declared-untrusted";
                                url: string
                                | null;
                            }[];
                            dom_urls: {
                                attribute: "action"
                                | "href"
                                | "src"
                                | "formaction"
                                | "poster";
                                destination_scope: "approved" | "unsupported" | "outside_policy";
                                node_index: number;
                                url: string | null;
                            }[];
                            excluded_dom_urls: number;
                            headers_allowlisted: true;
                            responses: {
                                content_encoding: string
                                | null;
                                content_length: number | null;
                                csp: {
                                    directives: {
                                        name: string;
                                        sources: { kind: ...; value: ... }[];
                                    }[];
                                    hash_count: number;
                                    nonce_count: number;
                                };
                                links: {
                                    as: string
                                    | null;
                                    crossorigin: string | null;
                                    destination_scope: "approved" | "unsupported" | "outside_policy";
                                    href: string | null;
                                    rel: string[];
                                    type: string | null;
                                }[];
                                mime_type: string
                                | null;
                                policies: {
                                    coep: string | null;
                                    coop: string | null;
                                    corp: string | null;
                                    permissions_policy_features: string[];
                                    referrer_policy: string | null;
                                    x_content_type_options: string | null;
                                };
                                request_id: string;
                                url: string;
                            }[];
                        };
                        network: {
                            coverage_started_at: string;
                            prior_activity_available: false;
                            requests: {
                                body_shapes: {
                                    request: | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                    response: | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                    status: | "truncated"
                                    | "unavailable"
                                    | "partial"
                                    | "not_approved"
                                    | "included";
                                };
                                encoded_data_length: number
                                | null;
                                initiator: {
                                    column: number | null;
                                    line: number | null;
                                    type: string;
                                    url: string | null;
                                };
                                method: string;
                                mime_type: string
                                | null;
                                origin: string | null;
                                request_id: string;
                                resource_type: string | null;
                                status: number | null;
                                url: string;
                            }[];
                            websocket_events: {
                                direction: "received"
                                | "sent";
                                opcode: number;
                                payload_bytes: number;
                                payload_shape:
                                    | {
                                        format: "binary"
                                        | "text"
                                        | "json";
                                        json_shape:
                                            | {
                                                max_depth_observed: number;
                                                node_count: number;
                                                properties: (...)[];
                                                root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                                truncated: boolean;
                                            }
                                            | null;
                                        truncated: boolean;
                                    }
                                    | null;
                                request_id: string;
                            }[];
                        };
                        resources: {
                            content_size: number
                            | null;
                            mime_type: string;
                            origin: string | null;
                            resource_key: string;
                            type: string;
                            url: string;
                        }[];
                        schema_version: 2;
                        scripts: {
                            items: {
                                cdp_hash: string;
                                frame_id: string
                                | null;
                                is_module: boolean;
                                language: string | null;
                                length: number;
                                origin: string | null;
                                resource_reconciliation:
                                    | { resource_key: string; status: "exact" }
                                    | { candidate_resource_keys: string[]; status: "ambiguous" }
                                    | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                                script_key: string;
                                source:
                                    | { included: false; reason: string }
                                    | {
                                        artifact: {
                                            bytes: number;
                                            charset: "utf-8";
                                            media_type: string;
                                            sha256: string;
                                            text: string;
                                            uri: string;
                                        };
                                        included: true;
                                    };
                                source_map_url: string
                                | null;
                                url: string;
                            }[];
                            total: number;
                        };
                        storage: {
                            cache_names: string[];
                            indexed_db_names: string[];
                            local_storage_keys: string[];
                            origin: string;
                            quota_bytes: number
                            | null;
                            session_storage_keys: string[];
                            usage_bytes: number | null;
                            values_redacted: true;
                        };
                        target: {
                            attached: boolean;
                            origin: string;
                            target_id: string;
                            title: string;
                            type: string;
                            url: string;
                        };
                        workers: {
                            attached: boolean;
                            opener_target_id: string
                            | null;
                            origin: string | null;
                            parent_frame_id: string | null;
                            target_id: string;
                            type: string;
                            url: string;
                        }[];
                    };
                    webmcp: | {
                        browser: {
                            js_version: string;
                            product: string;
                            protocol_version: string;
                            revision: string;
                            user_agent: string;
                        };
                        completeness: {
                            attach_limited_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            conditions: (
                                | "truncated"
                                | "complete_within_window"
                                | "policy_filtered"
                                | "attach_limited"
                            )[];
                            dropped_events: {
                                console_events: number;
                                network_requests: number;
                                scripts: number;
                                timeline_events: number;
                                total: number;
                                webmcp_tools: number;
                                websocket_connections: number;
                                websocket_frames: number;
                            };
                            excluded: {
                                count: number
                                | null;
                                reason:
                                    | "provider_unavailable"
                                    | "disallowed_origin"
                                    | "unsupported_url"
                                    | "unattributed_origin"
                                    | "not_approved"
                                    | "out_of_target_scope"
                                    | "invalid_protocol_value";
                                section: | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline";
                            }[];
                            policy_filtered_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            status: | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited";
                            truncated_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            unavailable_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "storage"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                        };
                        limitations: string[];
                        schema_version: 1;
                        status: "unavailable"
                        | "available";
                        target: { origin: string; target_id: string; url: string };
                        tools: {
                            items: {
                                annotations: {
                                    autosubmit: boolean | null;
                                    read_only: boolean | null;
                                    untrusted_content: boolean | null;
                                };
                                declaration_kind: "declarative"
                                | "imperative";
                                description: string;
                                frame_id: string;
                                frame_url: string;
                                input_schema_shape:
                                    | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                name: string;
                                owner_origin: string;
                                registration_source: | {
                                    column: number
                                    | null;
                                    line: number | null;
                                    url: string;
                                }
                                | null;
                                tool_key: string;
                                trust: "page-declared-untrusted";
                            }[];
                            total: number;
                        };
                    }
                    | null;
                };
                max_changes: number;
            },
        ): Promise<
            Result<
                {
                    after_target: { target_id: string; url: string };
                    before_target: { target_id: string; url: string };
                    dimensions: {
                        accessibility: {
                            changes: {
                                change: "added" | "removed" | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        console_errors: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        current_route: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        dom_structure: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        lifecycle: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        metadata: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        network: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        resources: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        scripts: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        storage: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        webmcp: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                    };
                    limitations: string[];
                    overall_status: "unknown"
                    | "unchanged"
                    | "changed";
                    schema_version: 1;
                },
                AnalysisError,
            >,
        >;
        compareScreenshots(
            input: {
                after: {
                    bytes: number;
                    data_base64: string;
                    media_type: "image/png";
                    sha256: string;
                    uri: string;
                };
                before: {
                    bytes: number;
                    data_base64: string;
                    media_type: "image/png";
                    sha256: string;
                    uri: string;
                };
                channel_threshold: number;
                maximum_pixels: number;
            },
        ): Promise<
            Result<
                {
                    after: { height: number; width: number };
                    before: { height: number; width: number };
                    changed_pixels: number | null;
                    changed_ratio: number | null;
                    channel_threshold: number;
                    compared_pixels: number;
                    limitations: string[];
                    maximum_channel_delta: number | null;
                    mean_absolute_channel_delta: number | null;
                    schema_version: 1;
                    status: "identical" | "different" | "dimension_mismatch";
                },
                AnalysisError,
            >,
        >;
        discoverWebMcpTools(
            input: {
                allowed_origins: string[];
                approved: true;
                cdp_endpoint: string;
                max_schema_bytes: number;
                max_schema_depth: number;
                max_schema_nodes: number;
                max_tools: number;
                observation_ms: number;
                target_id: string;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    limitations: string[];
                    schema_version: 1;
                    status: "unavailable"
                    | "available";
                    target: { origin: string; target_id: string; url: string };
                    tools: {
                        items: {
                            annotations: {
                                autosubmit: boolean | null;
                                read_only: boolean | null;
                                untrusted_content: boolean | null;
                            };
                            declaration_kind: "declarative"
                            | "imperative";
                            description: string;
                            frame_id: string;
                            frame_url: string;
                            input_schema_shape:
                                | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: number; path: string; types: (...)[] }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                            name: string;
                            owner_origin: string;
                            registration_source: | {
                                column: number
                                | null;
                                line: number | null;
                                url: string;
                            }
                            | null;
                            tool_key: string;
                            trust: "page-declared-untrusted";
                        }[];
                        total: number;
                    };
                },
                AnalysisError,
            >,
        >;
        identity(): ProviderIdentity;
        inspectPage(
            input: {
                allowed_origins: string[];
                approved: true;
                cdp_endpoint: string;
                console_text_approved: boolean;
                include_accessibility_text: boolean;
                include_console_text: boolean;
                include_json_body_shapes: boolean;
                include_script_sources: boolean;
                include_storage_keys: boolean;
                include_websocket_shapes: boolean;
                json_body_schema_approved: boolean;
                limits: {
                    max_ax_nodes: number;
                    max_ax_text_field_bytes: number;
                    max_console_events: number;
                    max_console_text_field_bytes: number;
                    max_dom_nodes: number;
                    max_frames: number;
                    max_json_body_bytes: number;
                    max_json_shape_depth: number;
                    max_json_shape_nodes: number;
                    max_network_events: number;
                    max_resources: number;
                    max_script_source_bytes: number;
                    max_scripts: number;
                    max_storage_keys: number;
                    max_total_ax_text_bytes: number;
                    max_total_console_text_bytes: number;
                    max_total_json_body_bytes: number;
                    max_total_script_source_bytes: number;
                    max_total_websocket_shape_bytes: number;
                    max_websocket_events: number;
                    max_websocket_shape_bytes: number;
                    max_workers: number;
                };
                observation_ms: number;
                target_id: string;
                websocket_shape_approved: boolean;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    accessibility: {
                        nodes: {
                            description: string
                            | null;
                            ignored: boolean;
                            name: string | null;
                            node_id: string;
                            parent_id: string | null;
                            role: string | null;
                        }[];
                        text_capture: {
                            excluded_fields: number;
                            retained_bytes: number;
                            status: "truncated"
                            | "unavailable"
                            | "not_approved"
                            | "included";
                            truncated_fields: number;
                        };
                        total_nodes: number;
                    };
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    capture_window: {
                        ended_at: string;
                        observation_ms: number;
                        started_at: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    console: {
                        coverage_started_at: string;
                        events: {
                            argument_types: string[];
                            column: number
                            | null;
                            line: number | null;
                            text_capture: {
                                retained_bytes: number;
                                status: "truncated" | "not_approved" | "included";
                                truncated_values: number;
                                values: { argument_index: number; text: string; type: string }[];
                            };
                            timestamp: number;
                            type: string;
                            url: string
                            | null;
                        }[];
                        prior_activity_available: false;
                    };
                    dom: {
                        nodes: {
                            attribute_names: string[];
                            index: number;
                            node_name: string;
                            node_type: number;
                            node_value_length: number;
                            parent_index: number;
                        }[];
                        total_nodes: number;
                    };
                    frames: {
                        frame_id: string;
                        origin: string
                        | null;
                        parent_frame_id: string | null;
                        url: string;
                    }[];
                    limitations: string[];
                    metadata: {
                        agent_hints: {
                            declaration: string;
                            mechanism: | "link_rel"
                            | "dom_link_rel"
                            | "well_known_resource"
                            | "response_header";
                            trust: "page-declared-untrusted";
                            url: string
                            | null;
                        }[];
                        dom_urls: {
                            attribute: "action"
                            | "href"
                            | "src"
                            | "formaction"
                            | "poster";
                            destination_scope: "approved" | "unsupported" | "outside_policy";
                            node_index: number;
                            url: string | null;
                        }[];
                        excluded_dom_urls: number;
                        headers_allowlisted: true;
                        responses: {
                            content_encoding: string
                            | null;
                            content_length: number | null;
                            csp: {
                                directives: { name: string; sources: { kind: ...; value: ... }[] }[];
                                hash_count: number;
                                nonce_count: number;
                            };
                            links: {
                                as: string
                                | null;
                                crossorigin: string | null;
                                destination_scope: "approved" | "unsupported" | "outside_policy";
                                href: string | null;
                                rel: string[];
                                type: string | null;
                            }[];
                            mime_type: string
                            | null;
                            policies: {
                                coep: string | null;
                                coop: string | null;
                                corp: string | null;
                                permissions_policy_features: string[];
                                referrer_policy: string | null;
                                x_content_type_options: string | null;
                            };
                            request_id: string;
                            url: string;
                        }[];
                    };
                    network: {
                        coverage_started_at: string;
                        prior_activity_available: false;
                        requests: {
                            body_shapes: {
                                request: | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: ...; path: ...; types: ... }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                                response: | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: ...; path: ...; types: ... }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                                status: | "truncated"
                                | "unavailable"
                                | "partial"
                                | "not_approved"
                                | "included";
                            };
                            encoded_data_length: number
                            | null;
                            initiator: {
                                column: number | null;
                                line: number | null;
                                type: string;
                                url: string | null;
                            };
                            method: string;
                            mime_type: string
                            | null;
                            origin: string | null;
                            request_id: string;
                            resource_type: string | null;
                            status: number | null;
                            url: string;
                        }[];
                        websocket_events: {
                            direction: "received"
                            | "sent";
                            opcode: number;
                            payload_bytes: number;
                            payload_shape:
                                | {
                                    format: "binary"
                                    | "text"
                                    | "json";
                                    json_shape:
                                        | {
                                            max_depth_observed: number;
                                            node_count: number;
                                            properties: (...)[];
                                            root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                            truncated: boolean;
                                        }
                                        | null;
                                    truncated: boolean;
                                }
                                | null;
                            request_id: string;
                        }[];
                    };
                    resources: {
                        content_size: number
                        | null;
                        mime_type: string;
                        origin: string | null;
                        resource_key: string;
                        type: string;
                        url: string;
                    }[];
                    schema_version: 2;
                    scripts: {
                        items: {
                            cdp_hash: string;
                            frame_id: string
                            | null;
                            is_module: boolean;
                            language: string | null;
                            length: number;
                            origin: string | null;
                            resource_reconciliation:
                                | { resource_key: string; status: "exact" }
                                | { candidate_resource_keys: string[]; status: "ambiguous" }
                                | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                            script_key: string;
                            source:
                                | { included: false; reason: string }
                                | {
                                    artifact: {
                                        bytes: number;
                                        charset: "utf-8";
                                        media_type: string;
                                        sha256: string;
                                        text: string;
                                        uri: string;
                                    };
                                    included: true;
                                };
                            source_map_url: string
                            | null;
                            url: string;
                        }[];
                        total: number;
                    };
                    storage: {
                        cache_names: string[];
                        indexed_db_names: string[];
                        local_storage_keys: string[];
                        origin: string;
                        quota_bytes: number
                        | null;
                        session_storage_keys: string[];
                        usage_bytes: number | null;
                        values_redacted: true;
                    };
                    target: {
                        attached: boolean;
                        origin: string;
                        target_id: string;
                        title: string;
                        type: string;
                        url: string;
                    };
                    workers: {
                        attached: boolean;
                        opener_target_id: string
                        | null;
                        origin: string | null;
                        parent_frame_id: string | null;
                        target_id: string;
                        type: string;
                        url: string;
                    }[];
                },
                AnalysisError,
            >,
        >;
        listTargets(
            input: {
                allowed_origins: string[];
                approved: true;
                cdp_endpoint: string;
                limit: number;
                offset: number;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    excluded: {
                        disallowed_origin: number;
                        non_page: number;
                        unsupported_url: number;
                    };
                    limitations: string[];
                    schema_version: 1;
                    targets: {
                        has_more: boolean;
                        items: {
                            attached: boolean;
                            origin: string;
                            target_id: string;
                            title: string;
                            type: string;
                            url: string;
                        }[];
                        limit: number;
                        next_offset: number
                        | null;
                        offset: number;
                        total: number;
                    };
                },
                AnalysisError,
            >,
        >;
        observeSession(
            input: {
                allowed_origins: string[];
                approved: true;
                cdp_endpoint: string;
                max_timeline_events: number;
                observation_ms: number;
                target_id: string;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    limitations: string[];
                    schema_version: 1;
                    target: {
                        final_url: string
                        | null;
                        initial_url: string;
                        target_id: string;
                    };
                    timeline: {
                        destination_scope: | "approved"
                        | "unsupported"
                        | "outside_policy"
                        | null;
                        detail: string
                        | null;
                        frame_id: string | null;
                        loader_id: string | null;
                        request_id: string | null;
                        sequence: number;
                        timestamp: number;
                        type:
                            | "navigation_requested"
                            | "navigation_committed"
                            | "same_origin_reload"
                            | "same_document_navigation"
                            | "redirect"
                            | "load_failed"
                            | "lifecycle"
                            | "target_terminated";
                        url: string
                        | null;
                    }[];
                    window: {
                        armed_at: string;
                        end_reason: | "target_terminated"
                        | "window_elapsed"
                        | "target_left_scope";
                        ended_at: string;
                        requested_ms: number;
                    };
                },
                AnalysisError,
            >,
        >;
    }

    Implemented by

    Index
    • Parameters

      • input: {
            allowed_origins: string[];
            analysis_limits: {
                max_ast_nodes: number;
                max_findings: number;
                max_original_sources: number;
                max_source_map_bytes: number;
                max_source_map_mappings: number;
                max_source_maps: number;
                max_total_source_map_bytes: number;
            };
            approved: true;
            cdp_endpoint: string;
            console_text_approved: boolean;
            fetch_source_maps: boolean;
            include_accessibility_text: boolean;
            include_console_text: boolean;
            include_json_body_shapes: boolean;
            include_script_sources: true;
            include_storage_keys: boolean;
            include_websocket_shapes: boolean;
            json_body_schema_approved: boolean;
            limits: {
                max_ax_nodes: number;
                max_ax_text_field_bytes: number;
                max_console_events: number;
                max_console_text_field_bytes: number;
                max_dom_nodes: number;
                max_frames: number;
                max_json_body_bytes: number;
                max_json_shape_depth: number;
                max_json_shape_nodes: number;
                max_network_events: number;
                max_resources: number;
                max_script_source_bytes: number;
                max_scripts: number;
                max_storage_keys: number;
                max_total_ax_text_bytes: number;
                max_total_console_text_bytes: number;
                max_total_json_body_bytes: number;
                max_total_script_source_bytes: number;
                max_total_websocket_shape_bytes: number;
                max_websocket_events: number;
                max_websocket_shape_bytes: number;
                max_workers: number;
            };
            observation_ms: number;
            source_capture_approved: true;
            source_map_fetch_approved: boolean;
            target_id: string;
            websocket_shape_approved: boolean;
        }
      • Optionaloptions: ExecutionOptions

      Returns Promise<
          Result<
              {
                  capture: {
                      scripts_analyzed: number;
                      scripts_observed: number;
                      source_artifacts: {
                          bytes: number;
                          charset: "utf-8";
                          media_type: string;
                          sha256: string;
                          text_available: true;
                          uri: string;
                      }[];
                      target_url: string;
                  };
                  completeness: {
                      dropped_findings: number;
                      parse_failures: number;
                      parsed_scripts: number;
                      status: "truncated"
                      | "partial"
                      | "complete_within_limits";
                      visited_ast_nodes: number;
                  };
                  inferences: {
                      basis: {
                          artifact_sha256: string;
                          column: number
                          | null;
                          detector: string;
                          line: number | null;
                          script_key: string;
                      }[];
                      confidence: "low"
                      | "medium"
                      | "high";
                      kind: "vendor_fingerprint" | "route_framework" | "bundle_runtime";
                      value: string;
                  }[];
                  limitations: string[];
                  observations: {
                      chunks: {
                          edges: {
                              from_script_key: string;
                              kind: "static_import"
                              | "dynamic_import"
                              | "require"
                              | "worker_import";
                              location: {
                                  column: number | null;
                                  line: number | null;
                                  script_key: string;
                              };
                              resolved_url: string
                              | null;
                              specifier: string;
                          }[];
                          nodes: {
                              artifact_sha256: string;
                              bytes: number;
                              script_key: string;
                              url: string;
                          }[];
                      };
                      endpoints: {
                          location: {
                              column: number
                              | null;
                              line: number | null;
                              script_key: string;
                          };
                          mechanism: string;
                          value: string;
                      }[];
                      routes: {
                          location: {
                              column: number
                              | null;
                              line: number | null;
                              script_key: string;
                          };
                          mechanism: string;
                          value: string;
                      }[];
                      source_maps: {
                          dropped: number;
                          dropped_script_keys: string[];
                          items: {
                              artifact: | {
                                  bytes: number;
                                  charset: "utf-8";
                                  media_type: string;
                                  sha256: string;
                                  text: string;
                                  uri: string;
                              }
                              | null;
                              declared_url: string;
                              limitation: string
                              | null;
                              mappings: {
                                  generated_column: number;
                                  generated_line: number;
                                  name: string | null;
                                  original_column: number;
                                  original_line: number;
                                  source: string;
                              }[];
                              original_module_edges: {
                                  from_source: string;
                                  kind: "static_import"
                                  | "dynamic_import"
                                  | "require";
                                  resolved_source: string | null;
                                  specifier: string;
                              }[];
                              original_sources: {
                                  artifact: | {
                                      bytes: ...;
                                      charset: ...;
                                      media_type: ...;
                                      sha256: ...;
                                      text: ...;
                                      uri: ...;
                                  }
                                  | null;
                                  source: string;
                              }[];
                              script_key: string;
                              status: | "truncated"
                              | "invalid"
                              | "policy_filtered"
                              | "included"
                              | "fetch_failed";
                          }[];
                          processed: number;
                          requested: number;
                          status: | "truncated"
                          | "unavailable"
                          | "partial"
                          | "included"
                          | "not_requested";
                      };
                      webmcp_declarations: {
                          description: string
                          | null;
                          location: {
                              column: number | null;
                              line: number | null;
                              script_key: string;
                          };
                          name: string
                          | null;
                          schema_property_names: string[];
                          trust: "page-declared-untrusted";
                      }[];
                  };
                  schema_version: 1;
                  unknowns: {
                      affected_script_keys: string[];
                      dimension: string;
                      reason: string;
                  }[];
              },
              AnalysisError,
          >,
      >

    • Parameters

      • input: {
            allowed_origins: string[];
            approved: true;
            cdp_endpoint: string;
            maximum_image_bytes: number;
            screenshot_approved: true;
            target_id: string;
        }
      • Optionaloptions: ExecutionOptions

      Returns Promise<
          Result<
              {
                  artifact: {
                      bytes: number;
                      data_base64: string;
                      media_type: "image/png";
                      sha256: string;
                      uri: string;
                  };
                  browser: {
                      js_version: string;
                      product: string;
                      protocol_version: string;
                      revision: string;
                      user_agent: string;
                  };
                  captured_at: string;
                  completeness: {
                      attach_limited_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      conditions: (
                          | "truncated"
                          | "complete_within_window"
                          | "policy_filtered"
                          | "attach_limited"
                      )[];
                      dropped_events: {
                          console_events: number;
                          network_requests: number;
                          scripts: number;
                          timeline_events: number;
                          total: number;
                          webmcp_tools: number;
                          websocket_connections: number;
                          websocket_frames: number;
                      };
                      excluded: {
                          count: number
                          | null;
                          reason:
                              | "provider_unavailable"
                              | "disallowed_origin"
                              | "unsupported_url"
                              | "unattributed_origin"
                              | "not_approved"
                              | "out_of_target_scope"
                              | "invalid_protocol_value";
                          section: | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline";
                      }[];
                      policy_filtered_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      status: | "truncated"
                      | "complete_within_window"
                      | "policy_filtered"
                      | "attach_limited";
                      truncated_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      unavailable_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                  };
                  limitations: string[];
                  schema_version: 1;
                  target: { origin: string; target_id: string; url: string };
                  viewport: { height: number; width: number };
              },
              AnalysisError,
          >,
      >

    • Parameters

      • input: {
            after: {
                inspection: {
                    accessibility: {
                        nodes: {
                            description: string | null;
                            ignored: boolean;
                            name: string | null;
                            node_id: string;
                            parent_id: string | null;
                            role: string | null;
                        }[];
                        text_capture: {
                            excluded_fields: number;
                            retained_bytes: number;
                            status: "truncated"
                            | "unavailable"
                            | "not_approved"
                            | "included";
                            truncated_fields: number;
                        };
                        total_nodes: number;
                    };
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    capture_window: {
                        ended_at: string;
                        observation_ms: number;
                        started_at: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    console: {
                        coverage_started_at: string;
                        events: {
                            argument_types: string[];
                            column: number
                            | null;
                            line: number | null;
                            text_capture: {
                                retained_bytes: number;
                                status: "truncated" | "not_approved" | "included";
                                truncated_values: number;
                                values: { argument_index: number; text: string; type: string }[];
                            };
                            timestamp: number;
                            type: string;
                            url: string
                            | null;
                        }[];
                        prior_activity_available: false;
                    };
                    dom: {
                        nodes: {
                            attribute_names: string[];
                            index: number;
                            node_name: string;
                            node_type: number;
                            node_value_length: number;
                            parent_index: number;
                        }[];
                        total_nodes: number;
                    };
                    frames: {
                        frame_id: string;
                        origin: string
                        | null;
                        parent_frame_id: string | null;
                        url: string;
                    }[];
                    limitations: string[];
                    metadata: {
                        agent_hints: {
                            declaration: string;
                            mechanism: | "link_rel"
                            | "dom_link_rel"
                            | "well_known_resource"
                            | "response_header";
                            trust: "page-declared-untrusted";
                            url: string
                            | null;
                        }[];
                        dom_urls: {
                            attribute: "action"
                            | "href"
                            | "src"
                            | "formaction"
                            | "poster";
                            destination_scope: "approved" | "unsupported" | "outside_policy";
                            node_index: number;
                            url: string | null;
                        }[];
                        excluded_dom_urls: number;
                        headers_allowlisted: true;
                        responses: {
                            content_encoding: string
                            | null;
                            content_length: number | null;
                            csp: {
                                directives: { name: string; sources: { kind: ...; value: ... }[] }[];
                                hash_count: number;
                                nonce_count: number;
                            };
                            links: {
                                as: string
                                | null;
                                crossorigin: string | null;
                                destination_scope: "approved" | "unsupported" | "outside_policy";
                                href: string | null;
                                rel: string[];
                                type: string | null;
                            }[];
                            mime_type: string
                            | null;
                            policies: {
                                coep: string | null;
                                coop: string | null;
                                corp: string | null;
                                permissions_policy_features: string[];
                                referrer_policy: string | null;
                                x_content_type_options: string | null;
                            };
                            request_id: string;
                            url: string;
                        }[];
                    };
                    network: {
                        coverage_started_at: string;
                        prior_activity_available: false;
                        requests: {
                            body_shapes: {
                                request: | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: ...; path: ...; types: ... }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                                response: | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: ...; path: ...; types: ... }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                                status: | "truncated"
                                | "unavailable"
                                | "partial"
                                | "not_approved"
                                | "included";
                            };
                            encoded_data_length: number
                            | null;
                            initiator: {
                                column: number | null;
                                line: number | null;
                                type: string;
                                url: string | null;
                            };
                            method: string;
                            mime_type: string
                            | null;
                            origin: string | null;
                            request_id: string;
                            resource_type: string | null;
                            status: number | null;
                            url: string;
                        }[];
                        websocket_events: {
                            direction: "received"
                            | "sent";
                            opcode: number;
                            payload_bytes: number;
                            payload_shape:
                                | {
                                    format: "binary"
                                    | "text"
                                    | "json";
                                    json_shape:
                                        | {
                                            max_depth_observed: number;
                                            node_count: number;
                                            properties: (...)[];
                                            root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                            truncated: boolean;
                                        }
                                        | null;
                                    truncated: boolean;
                                }
                                | null;
                            request_id: string;
                        }[];
                    };
                    resources: {
                        content_size: number
                        | null;
                        mime_type: string;
                        origin: string | null;
                        resource_key: string;
                        type: string;
                        url: string;
                    }[];
                    schema_version: 2;
                    scripts: {
                        items: {
                            cdp_hash: string;
                            frame_id: string
                            | null;
                            is_module: boolean;
                            language: string | null;
                            length: number;
                            origin: string | null;
                            resource_reconciliation:
                                | { resource_key: string; status: "exact" }
                                | { candidate_resource_keys: string[]; status: "ambiguous" }
                                | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                            script_key: string;
                            source:
                                | { included: false; reason: string }
                                | {
                                    artifact: {
                                        bytes: number;
                                        charset: "utf-8";
                                        media_type: string;
                                        sha256: string;
                                        text: string;
                                        uri: string;
                                    };
                                    included: true;
                                };
                            source_map_url: string
                            | null;
                            url: string;
                        }[];
                        total: number;
                    };
                    storage: {
                        cache_names: string[];
                        indexed_db_names: string[];
                        local_storage_keys: string[];
                        origin: string;
                        quota_bytes: number
                        | null;
                        session_storage_keys: string[];
                        usage_bytes: number | null;
                        values_redacted: true;
                    };
                    target: {
                        attached: boolean;
                        origin: string;
                        target_id: string;
                        title: string;
                        type: string;
                        url: string;
                    };
                    workers: {
                        attached: boolean;
                        opener_target_id: string
                        | null;
                        origin: string | null;
                        parent_frame_id: string | null;
                        target_id: string;
                        type: string;
                        url: string;
                    }[];
                };
                webmcp: | {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    limitations: string[];
                    schema_version: 1;
                    status: "unavailable"
                    | "available";
                    target: { origin: string; target_id: string; url: string };
                    tools: {
                        items: {
                            annotations: {
                                autosubmit: boolean | null;
                                read_only: boolean | null;
                                untrusted_content: boolean | null;
                            };
                            declaration_kind: "declarative"
                            | "imperative";
                            description: string;
                            frame_id: string;
                            frame_url: string;
                            input_schema_shape:
                                | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: ...; path: ...; types: ... }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                            name: string;
                            owner_origin: string;
                            registration_source: | {
                                column: number
                                | null;
                                line: number | null;
                                url: string;
                            }
                            | null;
                            tool_key: string;
                            trust: "page-declared-untrusted";
                        }[];
                        total: number;
                    };
                }
                | null;
            };
            before: {
                inspection: {
                    accessibility: {
                        nodes: {
                            description: string
                            | null;
                            ignored: boolean;
                            name: string | null;
                            node_id: string;
                            parent_id: string | null;
                            role: string | null;
                        }[];
                        text_capture: {
                            excluded_fields: number;
                            retained_bytes: number;
                            status: "truncated"
                            | "unavailable"
                            | "not_approved"
                            | "included";
                            truncated_fields: number;
                        };
                        total_nodes: number;
                    };
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    capture_window: {
                        ended_at: string;
                        observation_ms: number;
                        started_at: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    console: {
                        coverage_started_at: string;
                        events: {
                            argument_types: string[];
                            column: number
                            | null;
                            line: number | null;
                            text_capture: {
                                retained_bytes: number;
                                status: "truncated" | "not_approved" | "included";
                                truncated_values: number;
                                values: { argument_index: number; text: string; type: string }[];
                            };
                            timestamp: number;
                            type: string;
                            url: string
                            | null;
                        }[];
                        prior_activity_available: false;
                    };
                    dom: {
                        nodes: {
                            attribute_names: string[];
                            index: number;
                            node_name: string;
                            node_type: number;
                            node_value_length: number;
                            parent_index: number;
                        }[];
                        total_nodes: number;
                    };
                    frames: {
                        frame_id: string;
                        origin: string
                        | null;
                        parent_frame_id: string | null;
                        url: string;
                    }[];
                    limitations: string[];
                    metadata: {
                        agent_hints: {
                            declaration: string;
                            mechanism: | "link_rel"
                            | "dom_link_rel"
                            | "well_known_resource"
                            | "response_header";
                            trust: "page-declared-untrusted";
                            url: string
                            | null;
                        }[];
                        dom_urls: {
                            attribute: "action"
                            | "href"
                            | "src"
                            | "formaction"
                            | "poster";
                            destination_scope: "approved" | "unsupported" | "outside_policy";
                            node_index: number;
                            url: string | null;
                        }[];
                        excluded_dom_urls: number;
                        headers_allowlisted: true;
                        responses: {
                            content_encoding: string
                            | null;
                            content_length: number | null;
                            csp: {
                                directives: { name: string; sources: { kind: ...; value: ... }[] }[];
                                hash_count: number;
                                nonce_count: number;
                            };
                            links: {
                                as: string
                                | null;
                                crossorigin: string | null;
                                destination_scope: "approved" | "unsupported" | "outside_policy";
                                href: string | null;
                                rel: string[];
                                type: string | null;
                            }[];
                            mime_type: string
                            | null;
                            policies: {
                                coep: string | null;
                                coop: string | null;
                                corp: string | null;
                                permissions_policy_features: string[];
                                referrer_policy: string | null;
                                x_content_type_options: string | null;
                            };
                            request_id: string;
                            url: string;
                        }[];
                    };
                    network: {
                        coverage_started_at: string;
                        prior_activity_available: false;
                        requests: {
                            body_shapes: {
                                request: | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: ...; path: ...; types: ... }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                                response: | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: ...; path: ...; types: ... }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                                status: | "truncated"
                                | "unavailable"
                                | "partial"
                                | "not_approved"
                                | "included";
                            };
                            encoded_data_length: number
                            | null;
                            initiator: {
                                column: number | null;
                                line: number | null;
                                type: string;
                                url: string | null;
                            };
                            method: string;
                            mime_type: string
                            | null;
                            origin: string | null;
                            request_id: string;
                            resource_type: string | null;
                            status: number | null;
                            url: string;
                        }[];
                        websocket_events: {
                            direction: "received"
                            | "sent";
                            opcode: number;
                            payload_bytes: number;
                            payload_shape:
                                | {
                                    format: "binary"
                                    | "text"
                                    | "json";
                                    json_shape:
                                        | {
                                            max_depth_observed: number;
                                            node_count: number;
                                            properties: (...)[];
                                            root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                            truncated: boolean;
                                        }
                                        | null;
                                    truncated: boolean;
                                }
                                | null;
                            request_id: string;
                        }[];
                    };
                    resources: {
                        content_size: number
                        | null;
                        mime_type: string;
                        origin: string | null;
                        resource_key: string;
                        type: string;
                        url: string;
                    }[];
                    schema_version: 2;
                    scripts: {
                        items: {
                            cdp_hash: string;
                            frame_id: string
                            | null;
                            is_module: boolean;
                            language: string | null;
                            length: number;
                            origin: string | null;
                            resource_reconciliation:
                                | { resource_key: string; status: "exact" }
                                | { candidate_resource_keys: string[]; status: "ambiguous" }
                                | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                            script_key: string;
                            source:
                                | { included: false; reason: string }
                                | {
                                    artifact: {
                                        bytes: number;
                                        charset: "utf-8";
                                        media_type: string;
                                        sha256: string;
                                        text: string;
                                        uri: string;
                                    };
                                    included: true;
                                };
                            source_map_url: string
                            | null;
                            url: string;
                        }[];
                        total: number;
                    };
                    storage: {
                        cache_names: string[];
                        indexed_db_names: string[];
                        local_storage_keys: string[];
                        origin: string;
                        quota_bytes: number
                        | null;
                        session_storage_keys: string[];
                        usage_bytes: number | null;
                        values_redacted: true;
                    };
                    target: {
                        attached: boolean;
                        origin: string;
                        target_id: string;
                        title: string;
                        type: string;
                        url: string;
                    };
                    workers: {
                        attached: boolean;
                        opener_target_id: string
                        | null;
                        origin: string | null;
                        parent_frame_id: string | null;
                        target_id: string;
                        type: string;
                        url: string;
                    }[];
                };
                webmcp: | {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "storage"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    limitations: string[];
                    schema_version: 1;
                    status: "unavailable"
                    | "available";
                    target: { origin: string; target_id: string; url: string };
                    tools: {
                        items: {
                            annotations: {
                                autosubmit: boolean | null;
                                read_only: boolean | null;
                                untrusted_content: boolean | null;
                            };
                            declaration_kind: "declarative"
                            | "imperative";
                            description: string;
                            frame_id: string;
                            frame_url: string;
                            input_schema_shape:
                                | {
                                    max_depth_observed: number;
                                    node_count: number;
                                    properties: { observations: ...; path: ...; types: ... }[];
                                    root_type:
                                        | "string"
                                        | "number"
                                        | "boolean"
                                        | "object"
                                        | "null"
                                        | "array";
                                    truncated: boolean;
                                }
                                | null;
                            name: string;
                            owner_origin: string;
                            registration_source: | {
                                column: number
                                | null;
                                line: number | null;
                                url: string;
                            }
                            | null;
                            tool_key: string;
                            trust: "page-declared-untrusted";
                        }[];
                        total: number;
                    };
                }
                | null;
            };
            max_changes: number;
        }

      Returns Promise<
          Result<
              {
                  after_target: { target_id: string; url: string };
                  before_target: { target_id: string; url: string };
                  dimensions: {
                      accessibility: {
                          changes: {
                              change: "added" | "removed" | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      console_errors: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      current_route: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      dom_structure: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      lifecycle: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      metadata: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      network: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      resources: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      scripts: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      storage: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                      webmcp: {
                          changes: {
                              change: "added"
                              | "removed"
                              | "modified";
                              identity: string;
                          }[];
                          omitted_changes: number;
                          reason: string
                          | null;
                          status: "unknown" | "unchanged" | "changed";
                          total_changes: number;
                      };
                  };
                  limitations: string[];
                  overall_status: "unknown"
                  | "unchanged"
                  | "changed";
                  schema_version: 1;
              },
              AnalysisError,
          >,
      >

    • Parameters

      • input: {
            after: {
                bytes: number;
                data_base64: string;
                media_type: "image/png";
                sha256: string;
                uri: string;
            };
            before: {
                bytes: number;
                data_base64: string;
                media_type: "image/png";
                sha256: string;
                uri: string;
            };
            channel_threshold: number;
            maximum_pixels: number;
        }

      Returns Promise<
          Result<
              {
                  after: { height: number; width: number };
                  before: { height: number; width: number };
                  changed_pixels: number | null;
                  changed_ratio: number | null;
                  channel_threshold: number;
                  compared_pixels: number;
                  limitations: string[];
                  maximum_channel_delta: number | null;
                  mean_absolute_channel_delta: number | null;
                  schema_version: 1;
                  status: "identical" | "different" | "dimension_mismatch";
              },
              AnalysisError,
          >,
      >

    • Parameters

      • input: {
            allowed_origins: string[];
            approved: true;
            cdp_endpoint: string;
            max_schema_bytes: number;
            max_schema_depth: number;
            max_schema_nodes: number;
            max_tools: number;
            observation_ms: number;
            target_id: string;
        }
      • Optionaloptions: ExecutionOptions

      Returns Promise<
          Result<
              {
                  browser: {
                      js_version: string;
                      product: string;
                      protocol_version: string;
                      revision: string;
                      user_agent: string;
                  };
                  completeness: {
                      attach_limited_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      conditions: (
                          | "truncated"
                          | "complete_within_window"
                          | "policy_filtered"
                          | "attach_limited"
                      )[];
                      dropped_events: {
                          console_events: number;
                          network_requests: number;
                          scripts: number;
                          timeline_events: number;
                          total: number;
                          webmcp_tools: number;
                          websocket_connections: number;
                          websocket_frames: number;
                      };
                      excluded: {
                          count: number
                          | null;
                          reason:
                              | "provider_unavailable"
                              | "disallowed_origin"
                              | "unsupported_url"
                              | "unattributed_origin"
                              | "not_approved"
                              | "out_of_target_scope"
                              | "invalid_protocol_value";
                          section: | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline";
                      }[];
                      policy_filtered_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      status: | "truncated"
                      | "complete_within_window"
                      | "policy_filtered"
                      | "attach_limited";
                      truncated_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      unavailable_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                  };
                  limitations: string[];
                  schema_version: 1;
                  status: "unavailable"
                  | "available";
                  target: { origin: string; target_id: string; url: string };
                  tools: {
                      items: {
                          annotations: {
                              autosubmit: boolean | null;
                              read_only: boolean | null;
                              untrusted_content: boolean | null;
                          };
                          declaration_kind: "declarative"
                          | "imperative";
                          description: string;
                          frame_id: string;
                          frame_url: string;
                          input_schema_shape:
                              | {
                                  max_depth_observed: number;
                                  node_count: number;
                                  properties: { observations: number; path: string; types: (...)[] }[];
                                  root_type:
                                      | "string"
                                      | "number"
                                      | "boolean"
                                      | "object"
                                      | "null"
                                      | "array";
                                  truncated: boolean;
                              }
                              | null;
                          name: string;
                          owner_origin: string;
                          registration_source: | {
                              column: number
                              | null;
                              line: number | null;
                              url: string;
                          }
                          | null;
                          tool_key: string;
                          trust: "page-declared-untrusted";
                      }[];
                      total: number;
                  };
              },
              AnalysisError,
          >,
      >

    • Parameters

      • input: {
            allowed_origins: string[];
            approved: true;
            cdp_endpoint: string;
            console_text_approved: boolean;
            include_accessibility_text: boolean;
            include_console_text: boolean;
            include_json_body_shapes: boolean;
            include_script_sources: boolean;
            include_storage_keys: boolean;
            include_websocket_shapes: boolean;
            json_body_schema_approved: boolean;
            limits: {
                max_ax_nodes: number;
                max_ax_text_field_bytes: number;
                max_console_events: number;
                max_console_text_field_bytes: number;
                max_dom_nodes: number;
                max_frames: number;
                max_json_body_bytes: number;
                max_json_shape_depth: number;
                max_json_shape_nodes: number;
                max_network_events: number;
                max_resources: number;
                max_script_source_bytes: number;
                max_scripts: number;
                max_storage_keys: number;
                max_total_ax_text_bytes: number;
                max_total_console_text_bytes: number;
                max_total_json_body_bytes: number;
                max_total_script_source_bytes: number;
                max_total_websocket_shape_bytes: number;
                max_websocket_events: number;
                max_websocket_shape_bytes: number;
                max_workers: number;
            };
            observation_ms: number;
            target_id: string;
            websocket_shape_approved: boolean;
        }
      • Optionaloptions: ExecutionOptions

      Returns Promise<
          Result<
              {
                  accessibility: {
                      nodes: {
                          description: string
                          | null;
                          ignored: boolean;
                          name: string | null;
                          node_id: string;
                          parent_id: string | null;
                          role: string | null;
                      }[];
                      text_capture: {
                          excluded_fields: number;
                          retained_bytes: number;
                          status: "truncated"
                          | "unavailable"
                          | "not_approved"
                          | "included";
                          truncated_fields: number;
                      };
                      total_nodes: number;
                  };
                  browser: {
                      js_version: string;
                      product: string;
                      protocol_version: string;
                      revision: string;
                      user_agent: string;
                  };
                  capture_window: {
                      ended_at: string;
                      observation_ms: number;
                      started_at: string;
                  };
                  completeness: {
                      attach_limited_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      conditions: (
                          | "truncated"
                          | "complete_within_window"
                          | "policy_filtered"
                          | "attach_limited"
                      )[];
                      dropped_events: {
                          console_events: number;
                          network_requests: number;
                          scripts: number;
                          timeline_events: number;
                          total: number;
                          webmcp_tools: number;
                          websocket_connections: number;
                          websocket_frames: number;
                      };
                      excluded: {
                          count: number
                          | null;
                          reason:
                              | "provider_unavailable"
                              | "disallowed_origin"
                              | "unsupported_url"
                              | "unattributed_origin"
                              | "not_approved"
                              | "out_of_target_scope"
                              | "invalid_protocol_value";
                          section: | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline";
                      }[];
                      policy_filtered_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      status: | "truncated"
                      | "complete_within_window"
                      | "policy_filtered"
                      | "attach_limited";
                      truncated_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      unavailable_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                  };
                  console: {
                      coverage_started_at: string;
                      events: {
                          argument_types: string[];
                          column: number
                          | null;
                          line: number | null;
                          text_capture: {
                              retained_bytes: number;
                              status: "truncated" | "not_approved" | "included";
                              truncated_values: number;
                              values: { argument_index: number; text: string; type: string }[];
                          };
                          timestamp: number;
                          type: string;
                          url: string
                          | null;
                      }[];
                      prior_activity_available: false;
                  };
                  dom: {
                      nodes: {
                          attribute_names: string[];
                          index: number;
                          node_name: string;
                          node_type: number;
                          node_value_length: number;
                          parent_index: number;
                      }[];
                      total_nodes: number;
                  };
                  frames: {
                      frame_id: string;
                      origin: string
                      | null;
                      parent_frame_id: string | null;
                      url: string;
                  }[];
                  limitations: string[];
                  metadata: {
                      agent_hints: {
                          declaration: string;
                          mechanism: | "link_rel"
                          | "dom_link_rel"
                          | "well_known_resource"
                          | "response_header";
                          trust: "page-declared-untrusted";
                          url: string
                          | null;
                      }[];
                      dom_urls: {
                          attribute: "action"
                          | "href"
                          | "src"
                          | "formaction"
                          | "poster";
                          destination_scope: "approved" | "unsupported" | "outside_policy";
                          node_index: number;
                          url: string | null;
                      }[];
                      excluded_dom_urls: number;
                      headers_allowlisted: true;
                      responses: {
                          content_encoding: string
                          | null;
                          content_length: number | null;
                          csp: {
                              directives: { name: string; sources: { kind: ...; value: ... }[] }[];
                              hash_count: number;
                              nonce_count: number;
                          };
                          links: {
                              as: string
                              | null;
                              crossorigin: string | null;
                              destination_scope: "approved" | "unsupported" | "outside_policy";
                              href: string | null;
                              rel: string[];
                              type: string | null;
                          }[];
                          mime_type: string
                          | null;
                          policies: {
                              coep: string | null;
                              coop: string | null;
                              corp: string | null;
                              permissions_policy_features: string[];
                              referrer_policy: string | null;
                              x_content_type_options: string | null;
                          };
                          request_id: string;
                          url: string;
                      }[];
                  };
                  network: {
                      coverage_started_at: string;
                      prior_activity_available: false;
                      requests: {
                          body_shapes: {
                              request: | {
                                  max_depth_observed: number;
                                  node_count: number;
                                  properties: { observations: ...; path: ...; types: ... }[];
                                  root_type:
                                      | "string"
                                      | "number"
                                      | "boolean"
                                      | "object"
                                      | "null"
                                      | "array";
                                  truncated: boolean;
                              }
                              | null;
                              response: | {
                                  max_depth_observed: number;
                                  node_count: number;
                                  properties: { observations: ...; path: ...; types: ... }[];
                                  root_type:
                                      | "string"
                                      | "number"
                                      | "boolean"
                                      | "object"
                                      | "null"
                                      | "array";
                                  truncated: boolean;
                              }
                              | null;
                              status: | "truncated"
                              | "unavailable"
                              | "partial"
                              | "not_approved"
                              | "included";
                          };
                          encoded_data_length: number
                          | null;
                          initiator: {
                              column: number | null;
                              line: number | null;
                              type: string;
                              url: string | null;
                          };
                          method: string;
                          mime_type: string
                          | null;
                          origin: string | null;
                          request_id: string;
                          resource_type: string | null;
                          status: number | null;
                          url: string;
                      }[];
                      websocket_events: {
                          direction: "received"
                          | "sent";
                          opcode: number;
                          payload_bytes: number;
                          payload_shape:
                              | {
                                  format: "binary"
                                  | "text"
                                  | "json";
                                  json_shape:
                                      | {
                                          max_depth_observed: number;
                                          node_count: number;
                                          properties: (...)[];
                                          root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                          truncated: boolean;
                                      }
                                      | null;
                                  truncated: boolean;
                              }
                              | null;
                          request_id: string;
                      }[];
                  };
                  resources: {
                      content_size: number
                      | null;
                      mime_type: string;
                      origin: string | null;
                      resource_key: string;
                      type: string;
                      url: string;
                  }[];
                  schema_version: 2;
                  scripts: {
                      items: {
                          cdp_hash: string;
                          frame_id: string
                          | null;
                          is_module: boolean;
                          language: string | null;
                          length: number;
                          origin: string | null;
                          resource_reconciliation:
                              | { resource_key: string; status: "exact" }
                              | { candidate_resource_keys: string[]; status: "ambiguous" }
                              | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                          script_key: string;
                          source:
                              | { included: false; reason: string }
                              | {
                                  artifact: {
                                      bytes: number;
                                      charset: "utf-8";
                                      media_type: string;
                                      sha256: string;
                                      text: string;
                                      uri: string;
                                  };
                                  included: true;
                              };
                          source_map_url: string
                          | null;
                          url: string;
                      }[];
                      total: number;
                  };
                  storage: {
                      cache_names: string[];
                      indexed_db_names: string[];
                      local_storage_keys: string[];
                      origin: string;
                      quota_bytes: number
                      | null;
                      session_storage_keys: string[];
                      usage_bytes: number | null;
                      values_redacted: true;
                  };
                  target: {
                      attached: boolean;
                      origin: string;
                      target_id: string;
                      title: string;
                      type: string;
                      url: string;
                  };
                  workers: {
                      attached: boolean;
                      opener_target_id: string
                      | null;
                      origin: string | null;
                      parent_frame_id: string | null;
                      target_id: string;
                      type: string;
                      url: string;
                  }[];
              },
              AnalysisError,
          >,
      >

    • Parameters

      • input: {
            allowed_origins: string[];
            approved: true;
            cdp_endpoint: string;
            limit: number;
            offset: number;
        }
      • Optionaloptions: ExecutionOptions

      Returns Promise<
          Result<
              {
                  browser: {
                      js_version: string;
                      product: string;
                      protocol_version: string;
                      revision: string;
                      user_agent: string;
                  };
                  excluded: {
                      disallowed_origin: number;
                      non_page: number;
                      unsupported_url: number;
                  };
                  limitations: string[];
                  schema_version: 1;
                  targets: {
                      has_more: boolean;
                      items: {
                          attached: boolean;
                          origin: string;
                          target_id: string;
                          title: string;
                          type: string;
                          url: string;
                      }[];
                      limit: number;
                      next_offset: number
                      | null;
                      offset: number;
                      total: number;
                  };
              },
              AnalysisError,
          >,
      >

    • Parameters

      • input: {
            allowed_origins: string[];
            approved: true;
            cdp_endpoint: string;
            max_timeline_events: number;
            observation_ms: number;
            target_id: string;
        }
      • Optionaloptions: ExecutionOptions

      Returns Promise<
          Result<
              {
                  browser: {
                      js_version: string;
                      product: string;
                      protocol_version: string;
                      revision: string;
                      user_agent: string;
                  };
                  completeness: {
                      attach_limited_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      conditions: (
                          | "truncated"
                          | "complete_within_window"
                          | "policy_filtered"
                          | "attach_limited"
                      )[];
                      dropped_events: {
                          console_events: number;
                          network_requests: number;
                          scripts: number;
                          timeline_events: number;
                          total: number;
                          webmcp_tools: number;
                          websocket_connections: number;
                          websocket_frames: number;
                      };
                      excluded: {
                          count: number
                          | null;
                          reason:
                              | "provider_unavailable"
                              | "disallowed_origin"
                              | "unsupported_url"
                              | "unattributed_origin"
                              | "not_approved"
                              | "out_of_target_scope"
                              | "invalid_protocol_value";
                          section: | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline";
                      }[];
                      policy_filtered_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      status: | "truncated"
                      | "complete_within_window"
                      | "policy_filtered"
                      | "attach_limited";
                      truncated_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                      unavailable_sections: (
                          | "frames"
                          | "websocket_connections"
                          | "metadata"
                          | "resources"
                          | "storage"
                          | "dom"
                          | "accessibility"
                          | "scripts"
                          | "script_sources"
                          | "network_requests"
                          | "network_initiators"
                          | "console_events"
                          | "console_text"
                          | "websocket_frames"
                          | "websocket_shapes"
                          | "json_body_shapes"
                          | "workers"
                          | "storage_keys"
                          | "webmcp_tools"
                          | "screenshot"
                          | "source_maps"
                          | "timeline"
                      )[];
                  };
                  limitations: string[];
                  schema_version: 1;
                  target: {
                      final_url: string
                      | null;
                      initial_url: string;
                      target_id: string;
                  };
                  timeline: {
                      destination_scope: | "approved"
                      | "unsupported"
                      | "outside_policy"
                      | null;
                      detail: string
                      | null;
                      frame_id: string | null;
                      loader_id: string | null;
                      request_id: string | null;
                      sequence: number;
                      timestamp: number;
                      type:
                          | "navigation_requested"
                          | "navigation_committed"
                          | "same_origin_reload"
                          | "same_document_navigation"
                          | "redirect"
                          | "load_failed"
                          | "lifecycle"
                          | "target_terminated";
                      url: string
                      | null;
                  }[];
                  window: {
                      armed_at: string;
                      end_reason: "target_terminated"
                      | "window_elapsed"
                      | "target_left_scope";
                      ended_at: string;
                      requested_ms: number;
                  };
              },
              AnalysisError,
          >,
      >