rea-agents
Preparing search index...
contracts/browserToolContracts
BROWSER_TOOL_CONTRACTS
Variable BROWSER_TOOL_CONTRACTS
Const
BROWSER_TOOL_CONTRACTS
:
readonly
[
{
annotations
:
DerivedToolAnnotations
;
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."
;
effects
:
ToolEffects
;
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
<
{
evidence_id
:
ZodString
;
evidence_uri
:
ZodString
;
result
:
ZodType
<
unknown
,
unknown
,
$ZodTypeInternals
<
unknown
,
unknown
>
>
;
}
,
$strict
,
>
;
title
:
string
;
}
,
{
annotations
:
DerivedToolAnnotations
;
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."
;
effects
:
ToolEffects
;
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
<
{
evidence_id
:
ZodString
;
evidence_uri
:
ZodString
;
result
:
ZodType
<
unknown
,
unknown
,
$ZodTypeInternals
<
unknown
,
unknown
>
>
;
}
,
$strict
,
>
;
title
:
string
;
}
,
{
annotations
:
DerivedToolAnnotations
;
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."
;
effects
:
ToolEffects
;
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
<
{
evidence_id
:
ZodString
;
evidence_uri
:
ZodString
;
result
:
ZodType
<
unknown
,
unknown
,
$ZodTypeInternals
<
unknown
,
unknown
>
>
;
}
,
$strict
,
>
;
title
:
string
;
}
,
{
annotations
:
DerivedToolAnnotations
;
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."
;
effects
:
ToolEffects
;
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
<
{
evidence_id
:
ZodString
;
evidence_uri
:
ZodString
;
result
:
ZodType
<
unknown
,
unknown
,
$ZodTypeInternals
<
unknown
,
unknown
>
>
;
}
,
$strict
,
>
;
title
:
string
;
}
,
{
annotations
:
DerivedToolAnnotations
;
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."
;
effects
:
ToolEffects
;
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
<
{
evidence_id
:
ZodString
;
evidence_uri
:
ZodString
;
result
:
ZodType
<
unknown
,
unknown
,
$ZodTypeInternals
<
unknown
,
unknown
>
>
;
}
,
$strict
,
>
;
title
:
string
;
}
,
{
annotations
:
DerivedToolAnnotations
;
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."
;
effects
:
ToolEffects
;
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
:
...
;
opener_target_id
:
...
;
origin
:
...
;
parent_frame_id
:
...
;
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
:
...
;
opener_target_id
:
...
;
origin
:
...
;
parent_frame_id
:
...
;
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
<
{
evidence_id
:
ZodString
;
evidence_uri
:
ZodString
;
result
:
ZodType
<
unknown
,
unknown
,
$ZodTypeInternals
<
unknown
,
unknown
>
>
;
}
,
$strict
,
>
;
title
:
string
;
}
,
{
annotations
:
DerivedToolAnnotations
;
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."
;
effects
:
ToolEffects
;
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
<
{
evidence_id
:
ZodString
;
evidence_uri
:
ZodString
;
result
:
ZodType
<
unknown
,
unknown
,
$ZodTypeInternals
<
unknown
,
unknown
>
>
;
}
,
$strict
,
>
;
title
:
string
;
}
,
{
annotations
:
DerivedToolAnnotations
;
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."
;
effects
:
ToolEffects
;
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
<
{
evidence_id
:
ZodString
;
evidence_uri
:
ZodString
;
result
:
ZodType
<
unknown
,
unknown
,
$ZodTypeInternals
<
unknown
,
unknown
>
>
;
}
,
$strict
,
>
;
title
:
string
;
}
,
]
= ...
Origin-scoped, passive browser reverse-engineering contracts.
Settings
Member Visibility
Protected
Inherited
Theme
OS
Light
Dark
rea-agents
Loading...
Origin-scoped, passive browser reverse-engineering contracts.