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

    Function compareWebCaptures

    • Compare normalized observations without treating incomplete absence as proof.

      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 {
          after_target: { target_id: string; url: string };
          before_target: { target_id: string; url: string };
          dimensions: {
              dom_structure: {
                  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;
              };
              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;
      }