Variable BROWSER_TOOL_CONTRACTSConst
BROWSER_TOOL_CONTRACTS: readonly [
{
annotations: {
destructiveHint: false;
idempotentHint: true;
openWorldHint: true;
readOnlyHint: true;
};
description: "List bounded page targets from an approved user-owned loopback Chrome DevTools Protocol endpoint. Only targets whose current URL matches an approved exact origin are returned; URL credentials, query values, and fragments are redacted.";
examples: readonly [
{
input: {
allowed_origins: ["https://app.example.test"];
approved: true;
cdp_endpoint: "http://127.0.0.1:9222";
limit: 100;
offset: 0;
};
title: "List approved browser page targets";
},
];
inputSchema: ZodObject<
{
allowed_origins: ZodPipe<
ZodArray<ZodPipe<ZodString, ZodTransform<string, string>>>,
ZodTransform<string[], string[]>,
>;
approved: ZodLiteral<true>;
cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
limit: ZodDefault<ZodNumber>;
offset: ZodDefault<ZodNumber>;
},
$strip,
>;
kind: "browser-provider";
name: "list_browser_targets";
outputSchema: ZodObject<
{
analysis_profile: ZodOptional<
ZodObject<
{
digest: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodString },
$strip,
>;
provider_profile_schema_version: ZodNumber;
schema_version: ZodLiteral<1>;
},
$strip,
>,
>;
authority: ZodEnum<
{
"analyst-inference": "analyst-inference";
"controlled-replay": "controlled-replay";
"external-service": "external-service";
"historical-reference": "historical-reference";
"shipped-artifact": "shipped-artifact";
},
>;
confidence: ZodEnum<
{ derived: "derived"; inferred: "inferred"; observed: "observed" },
>;
environment: ZodNullable<
ZodObject<
{
architecture: ZodString;
id: ZodString;
isolation: ZodEnum<
{
container: "container";
none: "none";
process: "process";
"virtual-machine": "virtual-machine";
},
>;
platform: ZodString;
},
$strip,
>,
>;
evidence_id: ZodString;
evidence_links: ZodArray<ZodString>;
limitations: ZodArray<ZodString>;
locations: ZodArray<
ZodDiscriminatedUnion<
[
ZodObject<
{ address: ZodString; kind: ZodLiteral<"address"> },
$strip,
>,
ZodObject<
{
end: ZodString;
kind: ZodLiteral<"address-range">;
start: ZodString;
},
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"artifact-path">; path: ZodString },
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"file-offset">; offset: ZodNumber },
$strip,
>,
ZodObject<
{
end: ZodNumber;
kind: ZodLiteral<"file-offset-range">;
start: ZodNumber;
},
$strip,
>,
],
"kind",
>,
>;
normalized_result: ZodObject<
{
browser: ZodObject<
{
js_version: ZodString;
product: ZodString;
protocol_version: ZodString;
revision: ZodString;
user_agent: ZodString;
},
$strip,
>;
excluded: ZodObject<
{
disallowed_origin: ZodNumber;
non_page: ZodNumber;
unsupported_url: ZodNumber;
},
$strip,
>;
limitations: ZodArray<ZodString>;
schema_version: ZodLiteral<1>;
targets: ZodObject<
{
has_more: ZodBoolean;
items: ZodArray<
ZodObject<
{
attached: ...;
origin: ...;
target_id: ...;
title: ...;
type: ...;
url: ...;
},
$strip,
>,
>;
limit: ZodNumber;
next_offset: ZodNullable<ZodNumber>;
offset: ZodNumber;
total: ZodNumber;
},
$strip,
>;
},
$strip,
>;
operation: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
predicate_type: ZodString;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
$strip,
>;
raw_result: ZodNullable<ZodJSONSchema>;
schema_version: ZodLiteral<2>;
subject: ZodNullable<
ZodObject<
{
architecture: ZodNullable<
ZodEnum<
{ arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
>,
>;
digest: ZodObject<{ sha256: ZodString }, $strip>;
format: ZodEnum<
{
"analysis-database": "analysis-database";
apk: "apk";
asar: "asar";
directory: "directory";
dmg: "dmg";
elf: "elf";
entitlements: "entitlements";
file: "file";
hopper: "hopper";
ipa: "ipa";
javascript: "javascript";
"javascript-bundle": "javascript-bundle";
"mach-o": "mach-o";
"mach-o-universal": "mach-o-universal";
pe: "pe";
pkg: "pkg";
plist: "plist";
"source-map": "source-map";
unknown: "unknown";
zip: "zip";
},
>;
local_path: ZodString;
name: ZodString;
},
$strip,
>,
>;
},
$strict,
>;
},
{
annotations: {
destructiveHint: false;
idempotentHint: true;
openWorldHint: true;
readOnlyHint: true;
};
description: "Passively inspect one approved page target through CDP without evaluating JavaScript, navigating, clicking, closing, or mutating the page. Returns bounded DOM structure, accessibility, scripts, resources, attach-window network and console metadata, workers, and redacted storage inventory as Evidence v2.";
examples: readonly [
{
input: {
allowed_origins: ["https://app.example.test"];
approved: true;
cdp_endpoint: "http://127.0.0.1:9222";
console_text_approved: false;
include_accessibility_text: false;
include_console_text: false;
include_json_body_shapes: false;
include_script_sources: false;
include_storage_keys: false;
include_websocket_shapes: false;
json_body_schema_approved: false;
limits: {
max_ax_nodes: 2000;
max_ax_text_field_bytes: 1024;
max_console_events: 200;
max_console_text_field_bytes: 1024;
max_dom_nodes: 2000;
max_frames: 200;
max_json_body_bytes: 1048576;
max_json_shape_depth: 20;
max_json_shape_nodes: 5000;
max_network_events: 1000;
max_resources: 2000;
max_script_source_bytes: 1048576;
max_scripts: 200;
max_storage_keys: 1000;
max_total_ax_text_bytes: 65536;
max_total_console_text_bytes: 65536;
max_total_json_body_bytes: 4194304;
max_total_script_source_bytes: 4194304;
max_total_websocket_shape_bytes: 1048576;
max_websocket_events: 500;
max_websocket_shape_bytes: 65536;
max_workers: 500;
};
observation_ms: 500;
target_id: "TARGET_ID_FROM_LIST_BROWSER_TARGETS";
websocket_shape_approved: false;
};
title: "Inspect one approved browser page";
},
];
inputSchema: ZodObject<
{
allowed_origins: ZodPipe<
ZodArray<ZodPipe<ZodString, ZodTransform<string, string>>>,
ZodTransform<string[], string[]>,
>;
approved: ZodLiteral<true>;
cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
console_text_approved: ZodDefault<ZodBoolean>;
include_accessibility_text: ZodDefault<ZodBoolean>;
include_console_text: ZodDefault<ZodBoolean>;
include_json_body_shapes: ZodDefault<ZodBoolean>;
include_script_sources: ZodDefault<ZodBoolean>;
include_storage_keys: ZodDefault<ZodBoolean>;
include_websocket_shapes: ZodDefault<ZodBoolean>;
json_body_schema_approved: ZodDefault<ZodBoolean>;
limits: ZodDefault<
ZodObject<
{
max_ax_nodes: ZodDefault<ZodNumber>;
max_ax_text_field_bytes: ZodDefault<ZodNumber>;
max_console_events: ZodDefault<ZodNumber>;
max_console_text_field_bytes: ZodDefault<ZodNumber>;
max_dom_nodes: ZodDefault<ZodNumber>;
max_frames: ZodDefault<ZodNumber>;
max_json_body_bytes: ZodDefault<ZodNumber>;
max_json_shape_depth: ZodDefault<ZodNumber>;
max_json_shape_nodes: ZodDefault<ZodNumber>;
max_network_events: ZodDefault<ZodNumber>;
max_resources: ZodDefault<ZodNumber>;
max_script_source_bytes: ZodDefault<ZodNumber>;
max_scripts: ZodDefault<ZodNumber>;
max_storage_keys: ZodDefault<ZodNumber>;
max_total_ax_text_bytes: ZodDefault<ZodNumber>;
max_total_console_text_bytes: ZodDefault<ZodNumber>;
max_total_json_body_bytes: ZodDefault<ZodNumber>;
max_total_script_source_bytes: ZodDefault<ZodNumber>;
max_total_websocket_shape_bytes: ZodDefault<ZodNumber>;
max_websocket_events: ZodDefault<ZodNumber>;
max_websocket_shape_bytes: ZodDefault<ZodNumber>;
max_workers: ZodDefault<ZodNumber>;
},
$strip,
>,
>;
observation_ms: ZodDefault<ZodNumber>;
target_id: ZodString;
websocket_shape_approved: ZodDefault<ZodBoolean>;
},
$strip,
>;
kind: "browser-provider";
name: "inspect_web_page";
outputSchema: ZodObject<
{
analysis_profile: ZodOptional<
ZodObject<
{
digest: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodString },
$strip,
>;
provider_profile_schema_version: ZodNumber;
schema_version: ZodLiteral<1>;
},
$strip,
>,
>;
authority: ZodEnum<
{
"analyst-inference": "analyst-inference";
"controlled-replay": "controlled-replay";
"external-service": "external-service";
"historical-reference": "historical-reference";
"shipped-artifact": "shipped-artifact";
},
>;
confidence: ZodEnum<
{ derived: "derived"; inferred: "inferred"; observed: "observed" },
>;
environment: ZodNullable<
ZodObject<
{
architecture: ZodString;
id: ZodString;
isolation: ZodEnum<
{
container: "container";
none: "none";
process: "process";
"virtual-machine": "virtual-machine";
},
>;
platform: ZodString;
},
$strip,
>,
>;
evidence_id: ZodString;
evidence_links: ZodArray<ZodString>;
limitations: ZodArray<ZodString>;
locations: ZodArray<
ZodDiscriminatedUnion<
[
ZodObject<
{ address: ZodString; kind: ZodLiteral<"address"> },
$strip,
>,
ZodObject<
{
end: ZodString;
kind: ZodLiteral<"address-range">;
start: ZodString;
},
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"artifact-path">; path: ZodString },
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"file-offset">; offset: ZodNumber },
$strip,
>,
ZodObject<
{
end: ZodNumber;
kind: ZodLiteral<"file-offset-range">;
start: ZodNumber;
},
$strip,
>,
],
"kind",
>,
>;
normalized_result: ZodObject<
{
accessibility: ZodObject<
{
nodes: ZodArray<
ZodObject<
{
description: ...;
ignored: ...;
name: ...;
node_id: ...;
parent_id: ...;
role: ...;
},
$strip,
>,
>;
text_capture: ZodObject<
{
excluded_fields: ZodNumber;
retained_bytes: ZodNumber;
status: ZodEnum<(...)>;
truncated_fields: ZodNumber;
},
$strip,
>;
total_nodes: ZodNumber;
},
$strip,
>;
browser: ZodObject<
{
js_version: ZodString;
product: ZodString;
protocol_version: ZodString;
revision: ZodString;
user_agent: ZodString;
},
$strip,
>;
capture_window: ZodObject<
{
ended_at: ZodISODateTime;
observation_ms: ZodNumber;
started_at: ZodISODateTime;
},
$strip,
>;
completeness: ZodObject<
{
attach_limited_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
conditions: ZodArray<
ZodEnum<
{
attach_limited: ...;
complete_within_window: ...;
policy_filtered: ...;
truncated: ...;
},
>,
>;
dropped_events: ZodObject<
{
console_events: ZodNumber;
network_requests: ZodNumber;
scripts: ZodNumber;
timeline_events: ZodNumber;
total: ZodNumber;
webmcp_tools: ZodNumber;
websocket_connections: ZodNumber;
websocket_frames: ZodNumber;
},
$strip,
>;
excluded: ZodArray<
ZodObject<{ count: ...; reason: ...; section: ... }, $strip>,
>;
policy_filtered_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
status: ZodEnum<
{
attach_limited: "attach_limited";
complete_within_window: "complete_within_window";
policy_filtered: "policy_filtered";
truncated: "truncated";
},
>;
truncated_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
unavailable_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
},
$strip,
>;
console: ZodObject<
{
coverage_started_at: ZodISODateTime;
events: ZodArray<
ZodObject<
{
argument_types: ...;
column: ...;
line: ...;
text_capture: ...;
timestamp: ...;
type: ...;
url: ...;
},
$strip,
>,
>;
prior_activity_available: ZodLiteral<false>;
},
$strip,
>;
dom: ZodObject<
{
nodes: ZodArray<
ZodObject<
{
attribute_names: ...;
index: ...;
node_name: ...;
node_type: ...;
node_value_length: ...;
parent_index: ...;
},
$strip,
>,
>;
total_nodes: ZodNumber;
},
$strip,
>;
frames: ZodArray<
ZodObject<
{
frame_id: ZodString;
origin: ZodNullable<ZodString>;
parent_frame_id: ZodNullable<ZodString>;
url: ZodString;
},
$strip,
>,
>;
limitations: ZodArray<ZodString>;
metadata: ZodObject<
{
agent_hints: ZodArray<
ZodObject<
{ declaration: ...; mechanism: ...; trust: ...; url: ... },
$strip,
>,
>;
dom_urls: ZodArray<
ZodObject<
{
attribute: ...;
destination_scope: ...;
node_index: ...;
url: ...;
},
$strip,
>,
>;
excluded_dom_urls: ZodNumber;
headers_allowlisted: ZodLiteral<true>;
responses: ZodArray<
ZodObject<
{
content_encoding: ...;
content_length: ...;
csp: ...;
links: ...;
mime_type: ...;
policies: ...;
request_id: ...;
url: ...;
},
$strip,
>,
>;
},
$strip,
>;
network: ZodObject<
{
coverage_started_at: ZodISODateTime;
prior_activity_available: ZodLiteral<false>;
requests: ZodArray<
ZodObject<
{
body_shapes: ...;
encoded_data_length: ...;
initiator: ...;
method: ...;
mime_type: ...;
origin: ...;
request_id: ...;
resource_type: ...;
status: ...;
url: ...;
},
$strip,
>,
>;
websocket_events: ZodArray<
ZodObject<
{
direction: ...;
opcode: ...;
payload_bytes: ...;
payload_shape: ...;
request_id: ...;
},
$strip,
>,
>;
},
$strip,
>;
resources: ZodArray<
ZodObject<
{
content_size: ZodNullable<ZodNumber>;
mime_type: ZodString;
origin: ZodNullable<ZodString>;
resource_key: ZodString;
type: ZodString;
url: ZodString;
},
$strip,
>,
>;
schema_version: ZodLiteral<2>;
scripts: ZodObject<
{
items: ZodArray<
ZodObject<
{
cdp_hash: ...;
is_module: ...;
language: ...;
length: ...;
origin: ...;
resource_reconciliation: ...;
script_key: ...;
source: ...;
source_map_url: ...;
url: ...;
},
$strip,
>,
>;
total: ZodNumber;
},
$strip,
>;
storage: ZodObject<
{
cache_names: ZodArray<ZodString>;
indexed_db_names: ZodArray<ZodString>;
local_storage_keys: ZodArray<ZodString>;
origin: ZodString;
quota_bytes: ZodNullable<ZodNumber>;
session_storage_keys: ZodArray<ZodString>;
usage_bytes: ZodNullable<ZodNumber>;
values_redacted: ZodLiteral<true>;
},
$strip,
>;
target: ZodObject<
{
attached: ZodBoolean;
origin: ZodString;
target_id: ZodString;
title: ZodString;
type: ZodString;
url: ZodString;
},
$strip,
>;
workers: ZodArray<
ZodObject<
{
attached: ZodBoolean;
origin: ZodNullable<ZodString>;
target_id: ZodString;
type: ZodString;
url: ZodString;
},
$strip,
>,
>;
},
$strip,
>;
operation: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
predicate_type: ZodString;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
$strip,
>;
raw_result: ZodNullable<ZodJSONSchema>;
schema_version: ZodLiteral<2>;
subject: ZodNullable<
ZodObject<
{
architecture: ZodNullable<
ZodEnum<
{ arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
>,
>;
digest: ZodObject<{ sha256: ZodString }, $strip>;
format: ZodEnum<
{
"analysis-database": "analysis-database";
apk: "apk";
asar: "asar";
directory: "directory";
dmg: "dmg";
elf: "elf";
entitlements: "entitlements";
file: "file";
hopper: "hopper";
ipa: "ipa";
javascript: "javascript";
"javascript-bundle": "javascript-bundle";
"mach-o": "mach-o";
"mach-o-universal": "mach-o-universal";
pe: "pe";
pkg: "pkg";
plist: "plist";
"source-map": "source-map";
unknown: "unknown";
zip: "zip";
},
>;
local_path: ZodString;
name: ZodString;
},
$strip,
>,
>;
},
$strict,
>;
},
{
annotations: {
destructiveHint: false;
idempotentHint: true;
openWorldHint: true;
readOnlyHint: true;
};
description: "Capture explicitly approved JavaScript source from one approved CDP page and statically derive a bounded chunk graph, route and endpoint candidates, vendor fingerprints, page-declared WebMCP metadata, and optional separately approved source-map evidence. JavaScript is parsed but never executed.";
examples: readonly [
{
input: {
allowed_origins: ["https://app.example.test"];
analysis_limits: {
max_ast_nodes: 250000;
max_findings: 1000;
max_original_sources: 2000;
max_source_map_bytes: 4194304;
max_source_map_mappings: 10000;
max_source_maps: 100;
max_total_source_map_bytes: 16777216;
};
approved: true;
cdp_endpoint: "http://127.0.0.1:9222";
fetch_source_maps: false;
include_accessibility_text: false;
include_script_sources: true;
include_storage_keys: false;
observation_ms: 500;
source_capture_approved: true;
source_map_fetch_approved: false;
target_id: "TARGET_ID_FROM_LIST_BROWSER_TARGETS";
};
title: "Analyze an approved page bundle";
},
];
inputSchema: ZodObject<
{
allowed_origins: ZodPipe<
ZodArray<ZodPipe<ZodString, ZodTransform<string, string>>>,
ZodTransform<string[], string[]>,
>;
analysis_limits: ZodDefault<
ZodObject<
{
max_ast_nodes: ZodDefault<ZodNumber>;
max_findings: ZodDefault<ZodNumber>;
max_original_sources: ZodDefault<ZodNumber>;
max_source_map_bytes: ZodDefault<ZodNumber>;
max_source_map_mappings: ZodDefault<ZodNumber>;
max_source_maps: ZodDefault<ZodNumber>;
max_total_source_map_bytes: ZodDefault<ZodNumber>;
},
$strip,
>,
>;
approved: ZodLiteral<true>;
cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
console_text_approved: ZodDefault<ZodBoolean>;
fetch_source_maps: ZodDefault<ZodBoolean>;
include_accessibility_text: ZodDefault<ZodBoolean>;
include_console_text: ZodDefault<ZodBoolean>;
include_json_body_shapes: ZodDefault<ZodBoolean>;
include_script_sources: ZodDefault<ZodLiteral<true>>;
include_storage_keys: ZodDefault<ZodBoolean>;
include_websocket_shapes: ZodDefault<ZodBoolean>;
json_body_schema_approved: ZodDefault<ZodBoolean>;
limits: ZodDefault<
ZodObject<
{
max_ax_nodes: ZodDefault<ZodNumber>;
max_ax_text_field_bytes: ZodDefault<ZodNumber>;
max_console_events: ZodDefault<ZodNumber>;
max_console_text_field_bytes: ZodDefault<ZodNumber>;
max_dom_nodes: ZodDefault<ZodNumber>;
max_frames: ZodDefault<ZodNumber>;
max_json_body_bytes: ZodDefault<ZodNumber>;
max_json_shape_depth: ZodDefault<ZodNumber>;
max_json_shape_nodes: ZodDefault<ZodNumber>;
max_network_events: ZodDefault<ZodNumber>;
max_resources: ZodDefault<ZodNumber>;
max_script_source_bytes: ZodDefault<ZodNumber>;
max_scripts: ZodDefault<ZodNumber>;
max_storage_keys: ZodDefault<ZodNumber>;
max_total_ax_text_bytes: ZodDefault<ZodNumber>;
max_total_console_text_bytes: ZodDefault<ZodNumber>;
max_total_json_body_bytes: ZodDefault<ZodNumber>;
max_total_script_source_bytes: ZodDefault<ZodNumber>;
max_total_websocket_shape_bytes: ZodDefault<ZodNumber>;
max_websocket_events: ZodDefault<ZodNumber>;
max_websocket_shape_bytes: ZodDefault<ZodNumber>;
max_workers: ZodDefault<ZodNumber>;
},
$strip,
>,
>;
observation_ms: ZodDefault<ZodNumber>;
source_capture_approved: ZodLiteral<true>;
source_map_fetch_approved: ZodDefault<ZodBoolean>;
target_id: ZodString;
websocket_shape_approved: ZodDefault<ZodBoolean>;
},
$strip,
>;
kind: "browser-provider";
name: "analyze_web_bundle";
outputSchema: ZodObject<
{
analysis_profile: ZodOptional<
ZodObject<
{
digest: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodString },
$strip,
>;
provider_profile_schema_version: ZodNumber;
schema_version: ZodLiteral<1>;
},
$strip,
>,
>;
authority: ZodEnum<
{
"analyst-inference": "analyst-inference";
"controlled-replay": "controlled-replay";
"external-service": "external-service";
"historical-reference": "historical-reference";
"shipped-artifact": "shipped-artifact";
},
>;
confidence: ZodEnum<
{ derived: "derived"; inferred: "inferred"; observed: "observed" },
>;
environment: ZodNullable<
ZodObject<
{
architecture: ZodString;
id: ZodString;
isolation: ZodEnum<
{
container: "container";
none: "none";
process: "process";
"virtual-machine": "virtual-machine";
},
>;
platform: ZodString;
},
$strip,
>,
>;
evidence_id: ZodString;
evidence_links: ZodArray<ZodString>;
limitations: ZodArray<ZodString>;
locations: ZodArray<
ZodDiscriminatedUnion<
[
ZodObject<
{ address: ZodString; kind: ZodLiteral<"address"> },
$strip,
>,
ZodObject<
{
end: ZodString;
kind: ZodLiteral<"address-range">;
start: ZodString;
},
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"artifact-path">; path: ZodString },
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"file-offset">; offset: ZodNumber },
$strip,
>,
ZodObject<
{
end: ZodNumber;
kind: ZodLiteral<"file-offset-range">;
start: ZodNumber;
},
$strip,
>,
],
"kind",
>,
>;
normalized_result: ZodObject<
{
capture: ZodObject<
{
scripts_analyzed: ZodNumber;
scripts_observed: ZodNumber;
source_artifacts: ZodArray<
ZodObject<
{
bytes: ...;
charset: ...;
media_type: ...;
sha256: ...;
text_available: ...;
uri: ...;
},
$strip,
>,
>;
target_url: ZodString;
},
$strip,
>;
completeness: ZodObject<
{
dropped_findings: ZodNumber;
parse_failures: ZodNumber;
parsed_scripts: ZodNumber;
status: ZodEnum<
{
complete_within_limits: "complete_within_limits";
partial: "partial";
truncated: "truncated";
},
>;
visited_ast_nodes: ZodNumber;
},
$strip,
>;
inferences: ZodArray<
ZodObject<
{
basis: ZodArray<ZodObject<(...), (...)>>;
confidence: ZodEnum<{ high: ...; low: ...; medium: ... }>;
kind: ZodEnum<
{
bundle_runtime: ...;
route_framework: ...;
vendor_fingerprint: ...;
},
>;
value: ZodString;
},
$strip,
>,
>;
limitations: ZodArray<ZodString>;
observations: ZodObject<
{
chunks: ZodObject<
{ edges: ZodArray<(...)>; nodes: ZodArray<(...)> },
$strip,
>;
endpoints: ZodArray<
ZodObject<{ location: ...; mechanism: ...; value: ... }, $strip>,
>;
routes: ZodArray<
ZodObject<{ location: ...; mechanism: ...; value: ... }, $strip>,
>;
source_maps: ZodObject<
{
dropped: ZodNumber;
dropped_script_keys: ZodArray<(...)>;
items: ZodArray<(...)>;
processed: ZodNumber;
requested: ZodNumber;
status: ZodEnum<(...)>;
},
$strip,
>;
webmcp_declarations: ZodArray<
ZodObject<
{
description: ...;
location: ...;
name: ...;
schema_property_names: ...;
trust: ...;
},
$strip,
>,
>;
},
$strip,
>;
schema_version: ZodLiteral<1>;
unknowns: ZodArray<
ZodObject<
{
affected_script_keys: ZodArray<ZodString>;
dimension: ZodString;
reason: ZodString;
},
$strip,
>,
>;
},
$strip,
>;
operation: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
predicate_type: ZodString;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
$strip,
>;
raw_result: ZodNullable<ZodJSONSchema>;
schema_version: ZodLiteral<2>;
subject: ZodNullable<
ZodObject<
{
architecture: ZodNullable<
ZodEnum<
{ arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
>,
>;
digest: ZodObject<{ sha256: ZodString }, $strip>;
format: ZodEnum<
{
"analysis-database": "analysis-database";
apk: "apk";
asar: "asar";
directory: "directory";
dmg: "dmg";
elf: "elf";
entitlements: "entitlements";
file: "file";
hopper: "hopper";
ipa: "ipa";
javascript: "javascript";
"javascript-bundle": "javascript-bundle";
"mach-o": "mach-o";
"mach-o-universal": "mach-o-universal";
pe: "pe";
pkg: "pkg";
plist: "plist";
"source-map": "source-map";
unknown: "unknown";
zip: "zip";
},
>;
local_path: ZodString;
name: ZodString;
},
$strip,
>,
>;
},
$strict,
>;
},
{
annotations: {
destructiveHint: false;
idempotentHint: false;
openWorldHint: true;
readOnlyHint: true;
};
description: "Arm a bounded CDP observation window while the user operates the page. Allows approved same-origin reload and SPA navigation, records ordered navigation, redirect, lifecycle, and failure metadata, and stops before retaining an out-of-policy destination.";
examples: readonly [
{
input: {
allowed_origins: ["https://app.example.test"];
approved: true;
cdp_endpoint: "http://127.0.0.1:9222";
max_timeline_events: 2000;
observation_ms: 10000;
target_id: "TARGET_ID_FROM_LIST_BROWSER_TARGETS";
};
title: "Observe one external user action";
},
];
inputSchema: ZodObject<
{
allowed_origins: ZodPipe<
ZodArray<ZodPipe<ZodString, ZodTransform<string, string>>>,
ZodTransform<string[], string[]>,
>;
approved: ZodLiteral<true>;
cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
max_timeline_events: ZodDefault<ZodNumber>;
observation_ms: ZodDefault<ZodNumber>;
target_id: ZodString;
},
$strip,
>;
kind: "browser-provider";
name: "observe_web_session";
outputSchema: ZodObject<
{
analysis_profile: ZodOptional<
ZodObject<
{
digest: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodString },
$strip,
>;
provider_profile_schema_version: ZodNumber;
schema_version: ZodLiteral<1>;
},
$strip,
>,
>;
authority: ZodEnum<
{
"analyst-inference": "analyst-inference";
"controlled-replay": "controlled-replay";
"external-service": "external-service";
"historical-reference": "historical-reference";
"shipped-artifact": "shipped-artifact";
},
>;
confidence: ZodEnum<
{ derived: "derived"; inferred: "inferred"; observed: "observed" },
>;
environment: ZodNullable<
ZodObject<
{
architecture: ZodString;
id: ZodString;
isolation: ZodEnum<
{
container: "container";
none: "none";
process: "process";
"virtual-machine": "virtual-machine";
},
>;
platform: ZodString;
},
$strip,
>,
>;
evidence_id: ZodString;
evidence_links: ZodArray<ZodString>;
limitations: ZodArray<ZodString>;
locations: ZodArray<
ZodDiscriminatedUnion<
[
ZodObject<
{ address: ZodString; kind: ZodLiteral<"address"> },
$strip,
>,
ZodObject<
{
end: ZodString;
kind: ZodLiteral<"address-range">;
start: ZodString;
},
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"artifact-path">; path: ZodString },
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"file-offset">; offset: ZodNumber },
$strip,
>,
ZodObject<
{
end: ZodNumber;
kind: ZodLiteral<"file-offset-range">;
start: ZodNumber;
},
$strip,
>,
],
"kind",
>,
>;
normalized_result: ZodObject<
{
browser: ZodObject<
{
js_version: ZodString;
product: ZodString;
protocol_version: ZodString;
revision: ZodString;
user_agent: ZodString;
},
$strip,
>;
completeness: ZodObject<
{
attach_limited_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
conditions: ZodArray<
ZodEnum<
{
attach_limited: ...;
complete_within_window: ...;
policy_filtered: ...;
truncated: ...;
},
>,
>;
dropped_events: ZodObject<
{
console_events: ZodNumber;
network_requests: ZodNumber;
scripts: ZodNumber;
timeline_events: ZodNumber;
total: ZodNumber;
webmcp_tools: ZodNumber;
websocket_connections: ZodNumber;
websocket_frames: ZodNumber;
},
$strip,
>;
excluded: ZodArray<
ZodObject<{ count: ...; reason: ...; section: ... }, $strip>,
>;
policy_filtered_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
status: ZodEnum<
{
attach_limited: "attach_limited";
complete_within_window: "complete_within_window";
policy_filtered: "policy_filtered";
truncated: "truncated";
},
>;
truncated_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
unavailable_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
},
$strip,
>;
limitations: ZodArray<ZodString>;
schema_version: ZodLiteral<1>;
target: ZodObject<
{
final_url: ZodNullable<ZodString>;
initial_url: ZodString;
target_id: ZodString;
},
$strip,
>;
timeline: ZodArray<
ZodObject<
{
destination_scope: ZodNullable<ZodEnum<(...)>>;
detail: ZodNullable<ZodString>;
frame_id: ZodNullable<ZodString>;
loader_id: ZodNullable<ZodString>;
request_id: ZodNullable<ZodString>;
sequence: ZodNumber;
timestamp: ZodNumber;
type: ZodEnum<
{
lifecycle: ...;
load_failed: ...;
navigation_committed: ...;
navigation_requested: ...;
redirect: ...;
same_document_navigation: ...;
same_origin_reload: ...;
target_terminated: ...;
},
>;
url: ZodNullable<ZodString>;
},
$strip,
>,
>;
window: ZodObject<
{
armed_at: ZodISODateTime;
end_reason: ZodEnum<
{
target_left_scope: "target_left_scope";
target_terminated: "target_terminated";
window_elapsed: "window_elapsed";
},
>;
ended_at: ZodISODateTime;
requested_ms: ZodNumber;
},
$strip,
>;
},
$strip,
>;
operation: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
predicate_type: ZodString;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
$strip,
>;
raw_result: ZodNullable<ZodJSONSchema>;
schema_version: ZodLiteral<2>;
subject: ZodNullable<
ZodObject<
{
architecture: ZodNullable<
ZodEnum<
{ arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
>,
>;
digest: ZodObject<{ sha256: ZodString }, $strip>;
format: ZodEnum<
{
"analysis-database": "analysis-database";
apk: "apk";
asar: "asar";
directory: "directory";
dmg: "dmg";
elf: "elf";
entitlements: "entitlements";
file: "file";
hopper: "hopper";
ipa: "ipa";
javascript: "javascript";
"javascript-bundle": "javascript-bundle";
"mach-o": "mach-o";
"mach-o-universal": "mach-o-universal";
pe: "pe";
pkg: "pkg";
plist: "plist";
"source-map": "source-map";
unknown: "unknown";
zip: "zip";
},
>;
local_path: ZodString;
name: ZodString;
},
$strip,
>,
>;
},
$strict,
>;
},
{
annotations: {
destructiveHint: false;
idempotentHint: true;
openWorldHint: true;
readOnlyHint: true;
};
description: "Passively inventory page-registered WebMCP tools using the experimental CDP WebMCP domain. Metadata is bounded and page-declared-untrusted; REA never registers or invokes discovered tools.";
examples: readonly [
{
input: {
allowed_origins: ["https://app.example.test"];
approved: true;
cdp_endpoint: "http://127.0.0.1:9222";
max_schema_bytes: 262144;
max_schema_depth: 20;
max_schema_nodes: 5000;
max_tools: 500;
observation_ms: 100;
target_id: "TARGET_ID_FROM_LIST_BROWSER_TARGETS";
};
title: "Discover current WebMCP declarations";
},
];
inputSchema: ZodObject<
{
allowed_origins: ZodPipe<
ZodArray<ZodPipe<ZodString, ZodTransform<string, string>>>,
ZodTransform<string[], string[]>,
>;
approved: ZodLiteral<true>;
cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
max_schema_bytes: ZodDefault<ZodNumber>;
max_schema_depth: ZodDefault<ZodNumber>;
max_schema_nodes: ZodDefault<ZodNumber>;
max_tools: ZodDefault<ZodNumber>;
observation_ms: ZodDefault<ZodNumber>;
target_id: ZodString;
},
$strip,
>;
kind: "browser-provider";
name: "discover_webmcp_tools";
outputSchema: ZodObject<
{
analysis_profile: ZodOptional<
ZodObject<
{
digest: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodString },
$strip,
>;
provider_profile_schema_version: ZodNumber;
schema_version: ZodLiteral<1>;
},
$strip,
>,
>;
authority: ZodEnum<
{
"analyst-inference": "analyst-inference";
"controlled-replay": "controlled-replay";
"external-service": "external-service";
"historical-reference": "historical-reference";
"shipped-artifact": "shipped-artifact";
},
>;
confidence: ZodEnum<
{ derived: "derived"; inferred: "inferred"; observed: "observed" },
>;
environment: ZodNullable<
ZodObject<
{
architecture: ZodString;
id: ZodString;
isolation: ZodEnum<
{
container: "container";
none: "none";
process: "process";
"virtual-machine": "virtual-machine";
},
>;
platform: ZodString;
},
$strip,
>,
>;
evidence_id: ZodString;
evidence_links: ZodArray<ZodString>;
limitations: ZodArray<ZodString>;
locations: ZodArray<
ZodDiscriminatedUnion<
[
ZodObject<
{ address: ZodString; kind: ZodLiteral<"address"> },
$strip,
>,
ZodObject<
{
end: ZodString;
kind: ZodLiteral<"address-range">;
start: ZodString;
},
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"artifact-path">; path: ZodString },
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"file-offset">; offset: ZodNumber },
$strip,
>,
ZodObject<
{
end: ZodNumber;
kind: ZodLiteral<"file-offset-range">;
start: ZodNumber;
},
$strip,
>,
],
"kind",
>,
>;
normalized_result: ZodObject<
{
browser: ZodObject<
{
js_version: ZodString;
product: ZodString;
protocol_version: ZodString;
revision: ZodString;
user_agent: ZodString;
},
$strip,
>;
completeness: ZodObject<
{
attach_limited_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
conditions: ZodArray<
ZodEnum<
{
attach_limited: ...;
complete_within_window: ...;
policy_filtered: ...;
truncated: ...;
},
>,
>;
dropped_events: ZodObject<
{
console_events: ZodNumber;
network_requests: ZodNumber;
scripts: ZodNumber;
timeline_events: ZodNumber;
total: ZodNumber;
webmcp_tools: ZodNumber;
websocket_connections: ZodNumber;
websocket_frames: ZodNumber;
},
$strip,
>;
excluded: ZodArray<
ZodObject<{ count: ...; reason: ...; section: ... }, $strip>,
>;
policy_filtered_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
status: ZodEnum<
{
attach_limited: "attach_limited";
complete_within_window: "complete_within_window";
policy_filtered: "policy_filtered";
truncated: "truncated";
},
>;
truncated_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
unavailable_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
},
$strip,
>;
limitations: ZodArray<ZodString>;
schema_version: ZodLiteral<1>;
status: ZodEnum<
{ available: "available"; unavailable: "unavailable" },
>;
target: ZodObject<
{ origin: ZodString; target_id: ZodString; url: ZodString },
$strip,
>;
tools: ZodObject<
{
items: ZodArray<
ZodObject<
{
annotations: ...;
declaration_kind: ...;
description: ...;
frame_id: ...;
frame_url: ...;
input_schema_shape: ...;
name: ...;
owner_origin: ...;
registration_source: ...;
tool_key: ...;
trust: ...;
},
$strip,
>,
>;
total: ZodNumber;
},
$strip,
>;
},
$strip,
>;
operation: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
predicate_type: ZodString;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
$strip,
>;
raw_result: ZodNullable<ZodJSONSchema>;
schema_version: ZodLiteral<2>;
subject: ZodNullable<
ZodObject<
{
architecture: ZodNullable<
ZodEnum<
{ arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
>,
>;
digest: ZodObject<{ sha256: ZodString }, $strip>;
format: ZodEnum<
{
"analysis-database": "analysis-database";
apk: "apk";
asar: "asar";
directory: "directory";
dmg: "dmg";
elf: "elf";
entitlements: "entitlements";
file: "file";
hopper: "hopper";
ipa: "ipa";
javascript: "javascript";
"javascript-bundle": "javascript-bundle";
"mach-o": "mach-o";
"mach-o-universal": "mach-o-universal";
pe: "pe";
pkg: "pkg";
plist: "plist";
"source-map": "source-map";
unknown: "unknown";
zip: "zip";
},
>;
local_path: ZodString;
name: ZodString;
},
$strip,
>,
>;
},
$strict,
>;
},
{
annotations: {
destructiveHint: false;
idempotentHint: true;
openWorldHint: false;
readOnlyHint: true;
};
description: "Compare two normalized web captures across DOM, scripts, resources, network, safe metadata, and optional WebMCP inventories. Stable observed changes are distinguished from unknown absence caused by incomplete capture coverage.";
examples: readonly [
{
input: {
after: {
inspection: {
accessibility: {
nodes: never[];
text_capture: {
excluded_fields: number;
retained_bytes: number;
status: string;
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: never[];
conditions: string[];
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: never[];
policy_filtered_sections: never[];
status: string;
truncated_sections: never[];
unavailable_sections: never[];
};
console: {
coverage_started_at: string;
events: never[];
prior_activity_available: boolean;
};
dom: { nodes: never[]; total_nodes: number };
frames: never[];
limitations: never[];
metadata: {
agent_hints: never[];
dom_urls: never[];
excluded_dom_urls: number;
headers_allowlisted: boolean;
responses: never[];
};
network: {
coverage_started_at: string;
prior_activity_available: boolean;
requests: never[];
websocket_events: never[];
};
resources: never[];
schema_version: number;
scripts: { items: never[]; total: number };
storage: {
cache_names: never[];
indexed_db_names: never[];
local_storage_keys: never[];
origin: string;
quota_bytes: null;
session_storage_keys: never[];
usage_bytes: null;
values_redacted: boolean;
};
target: {
attached: boolean;
origin: string;
target_id: string;
title: string;
type: string;
url: string;
};
workers: never[];
};
};
before: {
inspection: {
accessibility: {
nodes: never[];
text_capture: {
excluded_fields: number;
retained_bytes: number;
status: string;
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: never[];
conditions: string[];
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: never[];
policy_filtered_sections: never[];
status: string;
truncated_sections: never[];
unavailable_sections: never[];
};
console: {
coverage_started_at: string;
events: never[];
prior_activity_available: boolean;
};
dom: { nodes: never[]; total_nodes: number };
frames: never[];
limitations: never[];
metadata: {
agent_hints: never[];
dom_urls: never[];
excluded_dom_urls: number;
headers_allowlisted: boolean;
responses: never[];
};
network: {
coverage_started_at: string;
prior_activity_available: boolean;
requests: never[];
websocket_events: never[];
};
resources: never[];
schema_version: number;
scripts: { items: never[]; total: number };
storage: {
cache_names: never[];
indexed_db_names: never[];
local_storage_keys: never[];
origin: string;
quota_bytes: null;
session_storage_keys: never[];
usage_bytes: null;
values_redacted: boolean;
};
target: {
attached: boolean;
origin: string;
target_id: string;
title: string;
type: string;
url: string;
};
workers: never[];
};
};
max_changes: 2000;
};
title: "Compare two normalized captures";
},
];
inputSchema: ZodObject<
{
after: ZodObject<
{
inspection: ZodObject<
{
accessibility: ZodObject<
{
nodes: ZodArray<(...)>;
text_capture: ZodObject<(...), (...)>;
total_nodes: ZodNumber;
},
$strip,
>;
browser: ZodObject<
{
js_version: ZodString;
product: ZodString;
protocol_version: ZodString;
revision: ZodString;
user_agent: ZodString;
},
$strip,
>;
capture_window: ZodObject<
{
ended_at: ZodISODateTime;
observation_ms: ZodNumber;
started_at: ZodISODateTime;
},
$strip,
>;
completeness: ZodObject<
{
attach_limited_sections: ZodArray<(...)>;
conditions: ZodArray<(...)>;
dropped_events: ZodObject<(...), (...)>;
excluded: ZodArray<(...)>;
policy_filtered_sections: ZodArray<(...)>;
status: ZodEnum<(...)>;
truncated_sections: ZodArray<(...)>;
unavailable_sections: ZodArray<(...)>;
},
$strip,
>;
console: ZodObject<
{
coverage_started_at: ZodISODateTime;
events: ZodArray<(...)>;
prior_activity_available: ZodLiteral<(...)>;
},
$strip,
>;
dom: ZodObject<
{ nodes: ZodArray<(...)>; total_nodes: ZodNumber },
$strip,
>;
frames: ZodArray<
ZodObject<
{ frame_id: ...; origin: ...; parent_frame_id: ...; url: ... },
$strip,
>,
>;
limitations: ZodArray<ZodString>;
metadata: ZodObject<
{
agent_hints: ZodArray<(...)>;
dom_urls: ZodArray<(...)>;
excluded_dom_urls: ZodNumber;
headers_allowlisted: ZodLiteral<(...)>;
responses: ZodArray<(...)>;
},
$strip,
>;
network: ZodObject<
{
coverage_started_at: ZodISODateTime;
prior_activity_available: ZodLiteral<(...)>;
requests: ZodArray<(...)>;
websocket_events: ZodArray<(...)>;
},
$strip,
>;
resources: ZodArray<
ZodObject<
{
content_size: ...;
mime_type: ...;
origin: ...;
resource_key: ...;
type: ...;
url: ...;
},
$strip,
>,
>;
schema_version: ZodLiteral<2>;
scripts: ZodObject<
{ items: ZodArray<(...)>; total: ZodNumber },
$strip,
>;
storage: ZodObject<
{
cache_names: ZodArray<(...)>;
indexed_db_names: ZodArray<(...)>;
local_storage_keys: ZodArray<(...)>;
origin: ZodString;
quota_bytes: ZodNullable<(...)>;
session_storage_keys: ZodArray<(...)>;
usage_bytes: ZodNullable<(...)>;
values_redacted: ZodLiteral<(...)>;
},
$strip,
>;
target: ZodObject<
{
attached: ZodBoolean;
origin: ZodString;
target_id: ZodString;
title: ZodString;
type: ZodString;
url: ZodString;
},
$strip,
>;
workers: ZodArray<
ZodObject<
{
attached: ...;
origin: ...;
target_id: ...;
type: ...;
url: ...;
},
$strip,
>,
>;
},
$strip,
>;
webmcp: ZodDefault<
ZodNullable<
ZodObject<
{
browser: ZodObject<(...), (...)>;
completeness: ZodObject<(...), (...)>;
limitations: ZodArray<(...)>;
schema_version: ZodLiteral<(...)>;
status: ZodEnum<(...)>;
target: ZodObject<(...), (...)>;
tools: ZodObject<(...), (...)>;
},
$strip,
>,
>,
>;
},
$strip,
>;
before: ZodObject<
{
inspection: ZodObject<
{
accessibility: ZodObject<
{
nodes: ZodArray<(...)>;
text_capture: ZodObject<(...), (...)>;
total_nodes: ZodNumber;
},
$strip,
>;
browser: ZodObject<
{
js_version: ZodString;
product: ZodString;
protocol_version: ZodString;
revision: ZodString;
user_agent: ZodString;
},
$strip,
>;
capture_window: ZodObject<
{
ended_at: ZodISODateTime;
observation_ms: ZodNumber;
started_at: ZodISODateTime;
},
$strip,
>;
completeness: ZodObject<
{
attach_limited_sections: ZodArray<(...)>;
conditions: ZodArray<(...)>;
dropped_events: ZodObject<(...), (...)>;
excluded: ZodArray<(...)>;
policy_filtered_sections: ZodArray<(...)>;
status: ZodEnum<(...)>;
truncated_sections: ZodArray<(...)>;
unavailable_sections: ZodArray<(...)>;
},
$strip,
>;
console: ZodObject<
{
coverage_started_at: ZodISODateTime;
events: ZodArray<(...)>;
prior_activity_available: ZodLiteral<(...)>;
},
$strip,
>;
dom: ZodObject<
{ nodes: ZodArray<(...)>; total_nodes: ZodNumber },
$strip,
>;
frames: ZodArray<
ZodObject<
{ frame_id: ...; origin: ...; parent_frame_id: ...; url: ... },
$strip,
>,
>;
limitations: ZodArray<ZodString>;
metadata: ZodObject<
{
agent_hints: ZodArray<(...)>;
dom_urls: ZodArray<(...)>;
excluded_dom_urls: ZodNumber;
headers_allowlisted: ZodLiteral<(...)>;
responses: ZodArray<(...)>;
},
$strip,
>;
network: ZodObject<
{
coverage_started_at: ZodISODateTime;
prior_activity_available: ZodLiteral<(...)>;
requests: ZodArray<(...)>;
websocket_events: ZodArray<(...)>;
},
$strip,
>;
resources: ZodArray<
ZodObject<
{
content_size: ...;
mime_type: ...;
origin: ...;
resource_key: ...;
type: ...;
url: ...;
},
$strip,
>,
>;
schema_version: ZodLiteral<2>;
scripts: ZodObject<
{ items: ZodArray<(...)>; total: ZodNumber },
$strip,
>;
storage: ZodObject<
{
cache_names: ZodArray<(...)>;
indexed_db_names: ZodArray<(...)>;
local_storage_keys: ZodArray<(...)>;
origin: ZodString;
quota_bytes: ZodNullable<(...)>;
session_storage_keys: ZodArray<(...)>;
usage_bytes: ZodNullable<(...)>;
values_redacted: ZodLiteral<(...)>;
},
$strip,
>;
target: ZodObject<
{
attached: ZodBoolean;
origin: ZodString;
target_id: ZodString;
title: ZodString;
type: ZodString;
url: ZodString;
},
$strip,
>;
workers: ZodArray<
ZodObject<
{
attached: ...;
origin: ...;
target_id: ...;
type: ...;
url: ...;
},
$strip,
>,
>;
},
$strip,
>;
webmcp: ZodDefault<
ZodNullable<
ZodObject<
{
browser: ZodObject<(...), (...)>;
completeness: ZodObject<(...), (...)>;
limitations: ZodArray<(...)>;
schema_version: ZodLiteral<(...)>;
status: ZodEnum<(...)>;
target: ZodObject<(...), (...)>;
tools: ZodObject<(...), (...)>;
},
$strip,
>,
>,
>;
},
$strip,
>;
max_changes: ZodDefault<ZodNumber>;
},
$strip,
>;
kind: "browser-provider";
name: "compare_web_captures";
outputSchema: ZodObject<
{
analysis_profile: ZodOptional<
ZodObject<
{
digest: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodString },
$strip,
>;
provider_profile_schema_version: ZodNumber;
schema_version: ZodLiteral<1>;
},
$strip,
>,
>;
authority: ZodEnum<
{
"analyst-inference": "analyst-inference";
"controlled-replay": "controlled-replay";
"external-service": "external-service";
"historical-reference": "historical-reference";
"shipped-artifact": "shipped-artifact";
},
>;
confidence: ZodEnum<
{ derived: "derived"; inferred: "inferred"; observed: "observed" },
>;
environment: ZodNullable<
ZodObject<
{
architecture: ZodString;
id: ZodString;
isolation: ZodEnum<
{
container: "container";
none: "none";
process: "process";
"virtual-machine": "virtual-machine";
},
>;
platform: ZodString;
},
$strip,
>,
>;
evidence_id: ZodString;
evidence_links: ZodArray<ZodString>;
limitations: ZodArray<ZodString>;
locations: ZodArray<
ZodDiscriminatedUnion<
[
ZodObject<
{ address: ZodString; kind: ZodLiteral<"address"> },
$strip,
>,
ZodObject<
{
end: ZodString;
kind: ZodLiteral<"address-range">;
start: ZodString;
},
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"artifact-path">; path: ZodString },
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"file-offset">; offset: ZodNumber },
$strip,
>,
ZodObject<
{
end: ZodNumber;
kind: ZodLiteral<"file-offset-range">;
start: ZodNumber;
},
$strip,
>,
],
"kind",
>,
>;
normalized_result: ZodObject<
{
after_target: ZodObject<
{ target_id: ZodString; url: ZodString },
$strip,
>;
before_target: ZodObject<
{ target_id: ZodString; url: ZodString },
$strip,
>;
dimensions: ZodObject<
{
dom_structure: ZodObject<
{
changes: ZodArray<(...)>;
omitted_changes: ZodNumber;
reason: ZodNullable<(...)>;
status: ZodEnum<(...)>;
total_changes: ZodNumber;
},
$strip,
>;
metadata: ZodObject<
{
changes: ZodArray<(...)>;
omitted_changes: ZodNumber;
reason: ZodNullable<(...)>;
status: ZodEnum<(...)>;
total_changes: ZodNumber;
},
$strip,
>;
network: ZodObject<
{
changes: ZodArray<(...)>;
omitted_changes: ZodNumber;
reason: ZodNullable<(...)>;
status: ZodEnum<(...)>;
total_changes: ZodNumber;
},
$strip,
>;
resources: ZodObject<
{
changes: ZodArray<(...)>;
omitted_changes: ZodNumber;
reason: ZodNullable<(...)>;
status: ZodEnum<(...)>;
total_changes: ZodNumber;
},
$strip,
>;
scripts: ZodObject<
{
changes: ZodArray<(...)>;
omitted_changes: ZodNumber;
reason: ZodNullable<(...)>;
status: ZodEnum<(...)>;
total_changes: ZodNumber;
},
$strip,
>;
webmcp: ZodObject<
{
changes: ZodArray<(...)>;
omitted_changes: ZodNumber;
reason: ZodNullable<(...)>;
status: ZodEnum<(...)>;
total_changes: ZodNumber;
},
$strip,
>;
},
$strip,
>;
limitations: ZodArray<ZodString>;
overall_status: ZodEnum<
{ changed: "changed"; unchanged: "unchanged"; unknown: "unknown" },
>;
schema_version: ZodLiteral<1>;
},
$strip,
>;
operation: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
predicate_type: ZodString;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
$strip,
>;
raw_result: ZodNullable<ZodJSONSchema>;
schema_version: ZodLiteral<2>;
subject: ZodNullable<
ZodObject<
{
architecture: ZodNullable<
ZodEnum<
{ arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
>,
>;
digest: ZodObject<{ sha256: ZodString }, $strip>;
format: ZodEnum<
{
"analysis-database": "analysis-database";
apk: "apk";
asar: "asar";
directory: "directory";
dmg: "dmg";
elf: "elf";
entitlements: "entitlements";
file: "file";
hopper: "hopper";
ipa: "ipa";
javascript: "javascript";
"javascript-bundle": "javascript-bundle";
"mach-o": "mach-o";
"mach-o-universal": "mach-o-universal";
pe: "pe";
pkg: "pkg";
plist: "plist";
"source-map": "source-map";
unknown: "unknown";
zip: "zip";
},
>;
local_path: ZodString;
name: ZodString;
},
$strip,
>,
>;
},
$strict,
>;
},
{
annotations: {
destructiveHint: false;
idempotentHint: false;
openWorldHint: true;
readOnlyHint: true;
};
description: "Capture the current visible viewport of one approved page as a bounded, content-addressed PNG artifact. Screenshot capture requires separate explicit approval and never scrolls, navigates, or evaluates page JavaScript.";
examples: readonly [
{
input: {
allowed_origins: ["https://app.example.test"];
approved: true;
cdp_endpoint: "http://127.0.0.1:9222";
maximum_image_bytes: 4194304;
screenshot_approved: true;
target_id: "TARGET_ID_FROM_LIST_BROWSER_TARGETS";
};
title: "Capture an approved viewport";
},
];
inputSchema: ZodObject<
{
allowed_origins: ZodPipe<
ZodArray<ZodPipe<ZodString, ZodTransform<string, string>>>,
ZodTransform<string[], string[]>,
>;
approved: ZodLiteral<true>;
cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
maximum_image_bytes: ZodDefault<ZodNumber>;
screenshot_approved: ZodLiteral<true>;
target_id: ZodString;
},
$strip,
>;
kind: "browser-provider";
name: "capture_web_screenshot";
outputSchema: ZodObject<
{
analysis_profile: ZodOptional<
ZodObject<
{
digest: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodString },
$strip,
>;
provider_profile_schema_version: ZodNumber;
schema_version: ZodLiteral<1>;
},
$strip,
>,
>;
authority: ZodEnum<
{
"analyst-inference": "analyst-inference";
"controlled-replay": "controlled-replay";
"external-service": "external-service";
"historical-reference": "historical-reference";
"shipped-artifact": "shipped-artifact";
},
>;
confidence: ZodEnum<
{ derived: "derived"; inferred: "inferred"; observed: "observed" },
>;
environment: ZodNullable<
ZodObject<
{
architecture: ZodString;
id: ZodString;
isolation: ZodEnum<
{
container: "container";
none: "none";
process: "process";
"virtual-machine": "virtual-machine";
},
>;
platform: ZodString;
},
$strip,
>,
>;
evidence_id: ZodString;
evidence_links: ZodArray<ZodString>;
limitations: ZodArray<ZodString>;
locations: ZodArray<
ZodDiscriminatedUnion<
[
ZodObject<
{ address: ZodString; kind: ZodLiteral<"address"> },
$strip,
>,
ZodObject<
{
end: ZodString;
kind: ZodLiteral<"address-range">;
start: ZodString;
},
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"artifact-path">; path: ZodString },
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"file-offset">; offset: ZodNumber },
$strip,
>,
ZodObject<
{
end: ZodNumber;
kind: ZodLiteral<"file-offset-range">;
start: ZodNumber;
},
$strip,
>,
],
"kind",
>,
>;
normalized_result: ZodObject<
{
artifact: ZodObject<
{
bytes: ZodNumber;
data_base64: ZodString;
media_type: ZodLiteral<"image/png">;
sha256: ZodString;
uri: ZodString;
},
$strip,
>;
browser: ZodObject<
{
js_version: ZodString;
product: ZodString;
protocol_version: ZodString;
revision: ZodString;
user_agent: ZodString;
},
$strip,
>;
captured_at: ZodISODateTime;
completeness: ZodObject<
{
attach_limited_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
conditions: ZodArray<
ZodEnum<
{
attach_limited: ...;
complete_within_window: ...;
policy_filtered: ...;
truncated: ...;
},
>,
>;
dropped_events: ZodObject<
{
console_events: ZodNumber;
network_requests: ZodNumber;
scripts: ZodNumber;
timeline_events: ZodNumber;
total: ZodNumber;
webmcp_tools: ZodNumber;
websocket_connections: ZodNumber;
websocket_frames: ZodNumber;
},
$strip,
>;
excluded: ZodArray<
ZodObject<{ count: ...; reason: ...; section: ... }, $strip>,
>;
policy_filtered_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
status: ZodEnum<
{
attach_limited: "attach_limited";
complete_within_window: "complete_within_window";
policy_filtered: "policy_filtered";
truncated: "truncated";
},
>;
truncated_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
unavailable_sections: ZodArray<
ZodEnum<
{
accessibility: ...;
console_events: ...;
console_text: ...;
dom: ...;
frames: ...;
json_body_shapes: ...;
metadata: ...;
network_initiators: ...;
network_requests: ...;
resources: ...;
screenshot: ...;
script_sources: ...;
scripts: ...;
source_maps: ...;
storage: ...;
storage_keys: ...;
timeline: ...;
webmcp_tools: ...;
websocket_connections: ...;
websocket_frames: ...;
websocket_shapes: ...;
workers: ...;
},
>,
>;
},
$strip,
>;
limitations: ZodArray<ZodString>;
schema_version: ZodLiteral<1>;
target: ZodObject<
{ origin: ZodString; target_id: ZodString; url: ZodString },
$strip,
>;
viewport: ZodObject<{ height: ZodNumber; width: ZodNumber }, $strip>;
},
$strip,
>;
operation: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
predicate_type: ZodString;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
$strip,
>;
raw_result: ZodNullable<ZodJSONSchema>;
schema_version: ZodLiteral<2>;
subject: ZodNullable<
ZodObject<
{
architecture: ZodNullable<
ZodEnum<
{ arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
>,
>;
digest: ZodObject<{ sha256: ZodString }, $strip>;
format: ZodEnum<
{
"analysis-database": "analysis-database";
apk: "apk";
asar: "asar";
directory: "directory";
dmg: "dmg";
elf: "elf";
entitlements: "entitlements";
file: "file";
hopper: "hopper";
ipa: "ipa";
javascript: "javascript";
"javascript-bundle": "javascript-bundle";
"mach-o": "mach-o";
"mach-o-universal": "mach-o-universal";
pe: "pe";
pkg: "pkg";
plist: "plist";
"source-map": "source-map";
unknown: "unknown";
zip: "zip";
},
>;
local_path: ZodString;
name: ZodString;
},
$strip,
>,
>;
},
$strict,
>;
},
{
annotations: {
destructiveHint: false;
idempotentHint: true;
openWorldHint: false;
readOnlyHint: true;
};
description: "Compare two self-verifying PNG screenshot artifacts with bounded local pixel metrics. Returns exact changed-pixel ratios and channel deltas without OCR or external services.";
examples: readonly [
{
input: {
after: {
bytes: number;
data_base64: string;
media_type: string;
sha256: string;
uri: string;
};
before: {
bytes: number;
data_base64: string;
media_type: string;
sha256: string;
uri: string;
};
channel_threshold: 0;
maximum_pixels: 16000000;
};
title: "Compare two screenshot artifacts";
},
];
inputSchema: ZodObject<
{
after: ZodObject<
{
bytes: ZodNumber;
data_base64: ZodString;
media_type: ZodLiteral<"image/png">;
sha256: ZodString;
uri: ZodString;
},
$strip,
>;
before: ZodObject<
{
bytes: ZodNumber;
data_base64: ZodString;
media_type: ZodLiteral<"image/png">;
sha256: ZodString;
uri: ZodString;
},
$strip,
>;
channel_threshold: ZodDefault<ZodNumber>;
maximum_pixels: ZodDefault<ZodNumber>;
},
$strip,
>;
kind: "browser-provider";
name: "compare_web_screenshots";
outputSchema: ZodObject<
{
analysis_profile: ZodOptional<
ZodObject<
{
digest: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodString },
$strip,
>;
provider_profile_schema_version: ZodNumber;
schema_version: ZodLiteral<1>;
},
$strip,
>,
>;
authority: ZodEnum<
{
"analyst-inference": "analyst-inference";
"controlled-replay": "controlled-replay";
"external-service": "external-service";
"historical-reference": "historical-reference";
"shipped-artifact": "shipped-artifact";
},
>;
confidence: ZodEnum<
{ derived: "derived"; inferred: "inferred"; observed: "observed" },
>;
environment: ZodNullable<
ZodObject<
{
architecture: ZodString;
id: ZodString;
isolation: ZodEnum<
{
container: "container";
none: "none";
process: "process";
"virtual-machine": "virtual-machine";
},
>;
platform: ZodString;
},
$strip,
>,
>;
evidence_id: ZodString;
evidence_links: ZodArray<ZodString>;
limitations: ZodArray<ZodString>;
locations: ZodArray<
ZodDiscriminatedUnion<
[
ZodObject<
{ address: ZodString; kind: ZodLiteral<"address"> },
$strip,
>,
ZodObject<
{
end: ZodString;
kind: ZodLiteral<"address-range">;
start: ZodString;
},
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"artifact-path">; path: ZodString },
$strip,
>,
ZodObject<
{ kind: ZodLiteral<"file-offset">; offset: ZodNumber },
$strip,
>,
ZodObject<
{
end: ZodNumber;
kind: ZodLiteral<"file-offset-range">;
start: ZodNumber;
},
$strip,
>,
],
"kind",
>,
>;
normalized_result: ZodObject<
{
after: ZodObject<{ height: ZodNumber; width: ZodNumber }, $strip>;
before: ZodObject<{ height: ZodNumber; width: ZodNumber }, $strip>;
changed_pixels: ZodNullable<ZodNumber>;
changed_ratio: ZodNullable<ZodNumber>;
channel_threshold: ZodNumber;
compared_pixels: ZodNumber;
limitations: ZodArray<ZodString>;
maximum_channel_delta: ZodNullable<ZodNumber>;
mean_absolute_channel_delta: ZodNullable<ZodNumber>;
schema_version: ZodLiteral<1>;
status: ZodEnum<
{
different: "different";
dimension_mismatch: "dimension_mismatch";
identical: "identical";
},
>;
},
$strip,
>;
operation: ZodString;
parameters: ZodRecord<ZodString, ZodJSONSchema>;
predicate_type: ZodString;
provider: ZodObject<
{ id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
$strip,
>;
raw_result: ZodNullable<ZodJSONSchema>;
schema_version: ZodLiteral<2>;
subject: ZodNullable<
ZodObject<
{
architecture: ZodNullable<
ZodEnum<
{ arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
>,
>;
digest: ZodObject<{ sha256: ZodString }, $strip>;
format: ZodEnum<
{
"analysis-database": "analysis-database";
apk: "apk";
asar: "asar";
directory: "directory";
dmg: "dmg";
elf: "elf";
entitlements: "entitlements";
file: "file";
hopper: "hopper";
ipa: "ipa";
javascript: "javascript";
"javascript-bundle": "javascript-bundle";
"mach-o": "mach-o";
"mach-o-universal": "mach-o-universal";
pe: "pe";
pkg: "pkg";
plist: "plist";
"source-map": "source-map";
unknown: "unknown";
zip: "zip";
},
>;
local_path: ZodString;
name: ZodString;
},
$strip,
>,
>;
},
$strict,
>;
},
] = ...
Origin-scoped, passive browser reverse-engineering contracts.