Variable ELECTRON_TOOL_CONTRACTSConst
ELECTRON_TOOL_CONTRACTS: readonly [
{
annotations: {
destructiveHint: false;
idempotentHint: true;
openWorldHint: true;
readOnlyHint: true;
};
description: "List Electron file:// page targets from an approved user-owned loopback CDP endpoint. Every path is canonicalized and must remain contained by an approved filesystem root, including after symlink resolution.";
examples: readonly [
{
input: {
allowed_file_roots: ["/Applications/Example.app/Contents/Resources"];
approved: true;
cdp_endpoint: "http://127.0.0.1:9223";
limit: 100;
offset: 0;
};
title: "List approved Electron file pages";
},
];
inputSchema: ZodObject<
{
allowed_file_roots: ZodPipe<
ZodArray<ZodString>,
ZodTransform<string[], string[]>,
>;
approved: ZodLiteral<true>;
cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
limit: ZodDefault<ZodNumber>;
offset: ZodDefault<ZodNumber>;
},
$strip,
>;
kind: "electron-provider";
name: "list_electron_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<
{
non_page: ZodNumber;
outside_root: ZodNumber;
unsupported_url: ZodNumber;
},
$strip,
>;
limitations: ZodArray<ZodString>;
schema_version: ZodLiteral<1>;
targets: ZodObject<
{
has_more: ZodBoolean;
items: ZodArray<
ZodObject<
{
attached: ...;
file_path: ...;
target_id: ...;
title: ...;
type: ...;
},
$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 Electron file page through CDP. Returns root-confined frames, DOM structure, resource paths, and scripts without evaluating renderer JavaScript or invoking Electron APIs; script contents require separate approval.";
examples: readonly [
{
input: {
allowed_file_roots: ["/Applications/Example.app/Contents/Resources"];
approved: true;
cdp_endpoint: "http://127.0.0.1:9223";
include_script_sources: false;
limits: {
max_dom_nodes: 2000;
max_frames: 200;
max_resources: 2000;
max_script_source_bytes: 1048576;
max_scripts: 500;
max_total_script_source_bytes: 4194304;
};
observation_ms: 100;
source_capture_approved: false;
target_id: "TARGET_ID_FROM_LIST_ELECTRON_TARGETS";
};
title: "Inspect an approved Electron page";
},
];
inputSchema: ZodObject<
{
allowed_file_roots: ZodPipe<
ZodArray<ZodString>,
ZodTransform<string[], string[]>,
>;
approved: ZodLiteral<true>;
cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
include_script_sources: ZodDefault<ZodBoolean>;
limits: ZodDefault<
ZodObject<
{
max_dom_nodes: ZodDefault<ZodNumber>;
max_frames: ZodDefault<ZodNumber>;
max_resources: ZodDefault<ZodNumber>;
max_script_source_bytes: ZodDefault<ZodNumber>;
max_scripts: ZodDefault<ZodNumber>;
max_total_script_source_bytes: ZodDefault<ZodNumber>;
},
$strip,
>,
>;
observation_ms: ZodDefault<ZodNumber>;
source_capture_approved: ZodDefault<ZodBoolean>;
target_id: ZodString;
},
$strip,
>;
kind: "electron-provider";
name: "inspect_electron_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<
{
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,
>;
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<
{
file_path: ZodString;
frame_id: ZodString;
parent_frame_id: ZodNullable<ZodString>;
},
$strip,
>,
>;
limitations: ZodArray<ZodString>;
resources: ZodArray<
ZodObject<
{
content_size: ZodNullable<ZodNumber>;
file_path: ZodString;
mime_type: ZodString;
resource_key: ZodString;
type: ZodString;
},
$strip,
>,
>;
schema_version: ZodLiteral<1>;
scripts: ZodObject<
{
items: ZodArray<
ZodObject<
{
cdp_hash: ...;
file_path: ...;
is_module: ...;
language: ...;
length: ...;
script_key: ...;
source: ...;
},
$strip,
>,
>;
total: ZodNumber;
},
$strip,
>;
target: ZodObject<
{
attached: ZodBoolean;
file_path: ZodString;
target_id: ZodString;
title: ZodString;
type: 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,
>;
},
] = ...
Root-confined Electron file-page discovery and inspection contracts.