diff --git a/package.json b/package.json index e9c873aec..d0c5e8dad 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,8 @@ "deps:check": "node scripts/check-dependency-install.mjs", "metadata:generate": "node scripts/generate-package-metadata.mjs", "metadata:check": "node scripts/generate-package-metadata.mjs --check", + "mcp-catalog:generate": "npm run build:cached && node scripts/generate-mcp-tool-catalog.mjs", + "mcp-catalog:check": "node scripts/generate-mcp-tool-catalog.mjs --check", "prebuild": "npm run deps:check && npm run metadata:check", "build": "tsc -p tsconfig.build.json", "precheck": "npm run deps:check", @@ -124,9 +126,9 @@ "evidence:check": "npm run build:cached && node scripts/generate-completion-ledger.mjs --check", "docs:api": "typedoc", "docs:api:cached": "turbo run docs:api", - "docs:generate": "npm run metadata:generate && npm run build:cached && node scripts/generate-skill-metadata.mjs && node scripts/generate-product-catalog.mjs && node scripts/generate-completion-ledger.mjs && npm run docs:api:cached && node scripts/generate-error-schema.mjs", + "docs:generate": "npm run metadata:generate && npm run build:cached && node scripts/generate-mcp-tool-catalog.mjs && node scripts/generate-skill-metadata.mjs && node scripts/generate-product-catalog.mjs && node scripts/generate-completion-ledger.mjs && npm run docs:api:cached && node scripts/generate-error-schema.mjs", "docs:check": "turbo run docs:check:built", - "docs:check:built": "node scripts/generate-package-metadata.mjs --check && node scripts/generate-skill-metadata.mjs --check && node scripts/generate-product-catalog.mjs --check && node scripts/generate-completion-ledger.mjs --check && node scripts/check-doc-facts.mjs && node scripts/generate-error-schema.mjs --check", + "docs:check:built": "node scripts/generate-package-metadata.mjs --check && node scripts/generate-mcp-tool-catalog.mjs --check && node scripts/generate-skill-metadata.mjs --check && node scripts/generate-product-catalog.mjs --check && node scripts/generate-completion-ledger.mjs --check && node scripts/check-doc-facts.mjs && node scripts/generate-error-schema.mjs --check", "docs:error-schema": "npm run build:cached && node scripts/generate-error-schema.mjs", "prepack": "node scripts/prepack.mjs", "prepare": "node scripts/prepare.mjs" diff --git a/scripts/generate-mcp-tool-catalog.mjs b/scripts/generate-mcp-tool-catalog.mjs new file mode 100644 index 000000000..9810049f0 --- /dev/null +++ b/scripts/generate-mcp-tool-catalog.mjs @@ -0,0 +1,153 @@ +import { dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; +import { format } from "prettier"; + +import { TOOL_CONTRACTS } from "../dist/contracts/toolContracts.js"; +import { MANAGED_WORKFLOW_TOOL_CONTRACTS } from "../dist/contracts/managedWorkflowToolContracts.js"; +import { ArtifactProvider } from "../dist/artifacts/ArtifactProvider.js"; +import { ManagedStaticProvider } from "../dist/dotnet/ManagedStaticProvider.js"; +import { NativeMacOSProvider } from "../dist/native/NativeMacOSProvider.js"; +import { toolRegistrationOptions } from "../dist/server/toolRegistrationOptions.js"; +import { ensureGeneratedFile } from "./lib/generated-file.mjs"; + +const arguments_ = new Set(process.argv.slice(2)); +for (const argument of arguments_) + if (argument !== "--check") + throw new Error(`Unknown MCP tool catalog option: ${argument}`); + +const root = join(dirname(fileURLToPath(import.meta.url)), ".."); +const sessionToolNames = new Set([ + ...TOOL_CONTRACTS.filter(({ kind }) => kind === "session").map( + ({ name }) => name, + ), + ...MANAGED_WORKFLOW_TOOL_CONTRACTS.map(({ name }) => name), +]); +const catalog = TOOL_CONTRACTS.map((contract) => { + const options = toolRegistrationOptions(contract); + return { + name: contract.name, + analysisOperation: [ + "official-proxy", + "enhanced", + "native-provider", + "artifact-provider", + "managed-provider", + ].includes(contract.kind) + ? contract.name + : null, + title: options.title, + description: options.description, + kind: contract.kind, + requiresSession: sessionToolNames.has(contract.name), + inputSchema: options.inputSchema["~standard"].jsonSchema.input({ + target: "draft-2020-12", + }), + outputSchema: options.outputSchema["~standard"].jsonSchema.output({ + target: "draft-2020-12", + }), + annotations: options.annotations, + effects: contract.effects, + }; +}); +const auxiliaryProviders = [ + new ArtifactProvider(false, false), + new NativeMacOSProvider(), + new ManagedStaticProvider(), +].map((provider) => ({ + identity: provider.identity(), + capabilities: provider.capabilities(), +})); +const payloadJson = JSON.stringify({ catalog, auxiliaryProviders }); +const source = await format( + `import type { ToolAnnotations } from "@modelcontextprotocol/server"; +import type { + CapabilityDescriptor, + ProviderIdentity, +} from "./application/AnalysisProvider.js"; +import type { ToolKind } from "./contracts/toolContractTypes.js"; +import type { ToolEffects } from "./contracts/toolEffects.js"; + +interface GeneratedTool { + readonly name: string; + readonly analysisOperation: CapabilityDescriptor["operation"] | null; + readonly title: string; + readonly description: string; + readonly kind: ToolKind; + readonly requiresSession: boolean; + readonly inputSchema: Readonly>; + readonly outputSchema: Readonly>; + readonly annotations: ToolAnnotations; + readonly effects: ToolEffects; +} + +interface GeneratedProvider { + readonly identity: ProviderIdentity; + readonly capabilities: readonly CapabilityDescriptor[]; +} + +interface GeneratedPayload { + readonly catalog: readonly GeneratedTool[]; + readonly auxiliaryProviders: readonly GeneratedProvider[]; +} + +const GENERATED_PAYLOAD_JSON = ${JSON.stringify(payloadJson)}; +const generatedPayload: unknown = JSON.parse(GENERATED_PAYLOAD_JSON); +if (!isGeneratedPayload(generatedPayload)) + throw new TypeError("Generated MCP catalog payload is invalid"); + +/** Generated from TOOL_CONTRACTS; do not edit. */ +export const GENERATED_MCP_TOOL_CATALOG = generatedPayload.catalog; + +/** Generated lightweight metadata for lazily loaded auxiliary providers. */ +export const GENERATED_AUXILIARY_PROVIDERS = generatedPayload.auxiliaryProviders; + +function isGeneratedPayload(value: unknown): value is GeneratedPayload { + return ( + isRecord(value) && + Array.isArray(value.catalog) && + value.catalog.every(isGeneratedTool) && + Array.isArray(value.auxiliaryProviders) && + value.auxiliaryProviders.every(isGeneratedProvider) + ); +} + +function isGeneratedTool(value: unknown): value is GeneratedTool { + return ( + isRecord(value) && + typeof value.name === "string" && + (typeof value.analysisOperation === "string" || + value.analysisOperation === null) && + typeof value.title === "string" && + typeof value.description === "string" && + typeof value.kind === "string" && + typeof value.requiresSession === "boolean" && + isRecord(value.inputSchema) && + isRecord(value.outputSchema) && + isRecord(value.annotations) && + isRecord(value.effects) + ); +} + +function isGeneratedProvider(value: unknown): value is GeneratedProvider { + return ( + isRecord(value) && + isRecord(value.identity) && + Array.isArray(value.capabilities) + ); +} + +function isRecord( + value: unknown, +): value is Readonly> { + return typeof value === "object" && value !== null && !Array.isArray(value); +} +`, + { parser: "typescript" }, +); + +await ensureGeneratedFile({ + path: join(root, "src/generatedMcpToolCatalog.ts"), + source, + check: arguments_.has("--check"), + generateCommand: "npm run mcp-catalog:generate", +}); diff --git a/scripts/lib/mcp-startup-probe.d.mts b/scripts/lib/mcp-startup-probe.d.mts new file mode 100644 index 000000000..ddfa04a5f --- /dev/null +++ b/scripts/lib/mcp-startup-probe.d.mts @@ -0,0 +1,62 @@ +interface McpStartupPolicy { + readonly initializeBudgetMs: number; + readonly toolsListBudgetMs: number; + readonly firstCatalogBudgetMs: number; + readonly doctorDeadlineMs: number; +} + +interface McpProcessOptions { + readonly command: string; + readonly args: readonly string[]; + readonly environment: Readonly>; + readonly policy: McpStartupPolicy; +} + +interface McpModuleProfileOptions extends McpProcessOptions { + readonly packageName: string; +} + +interface RssMeasurement { + readonly supported: boolean; + readonly method: string | null; + readonly peak_bytes: number | null; +} + +/** Measure the first usable MCP catalog through a child-process boundary. */ +export function measureMcpStartup(options: McpProcessOptions): Promise<{ + readonly process_started_to_initialized_ms: number; + readonly initialized_to_tools_list_ms: number; + readonly process_started_to_tools_list_ms: number; + readonly listed_tool_count: number; + readonly rss: RssMeasurement; +}>; + +/** Profile ESM file loading in a separate diagnostic MCP child. */ +export function profileMcpModuleLoading( + options: McpModuleProfileOptions, +): Promise<{ + readonly supported: true; + readonly method: "node-debug-esm"; + readonly unique_file_modules: number; + readonly unique_package_modules: number; + readonly unique_dependency_modules: number; + readonly debug_lines: number; + readonly truncated: boolean; +}>; + +/** Parse Linux procfs VmRSS text into bytes. */ +export function parseLinuxVmRssBytes(status: string): number | null; + +/** Collect unique file-backed ESM module URLs from Node diagnostics. */ +export function createEsmModuleProfileCollector(packageName?: string): { + append(chunk: string): void; + result(): { + readonly supported: true; + readonly method: "node-debug-esm"; + readonly unique_file_modules: number; + readonly unique_package_modules: number; + readonly unique_dependency_modules: number; + readonly debug_lines: number; + readonly truncated: boolean; + }; +}; diff --git a/scripts/lib/mcp-startup-probe.mjs b/scripts/lib/mcp-startup-probe.mjs new file mode 100644 index 000000000..39fa04bb1 --- /dev/null +++ b/scripts/lib/mcp-startup-probe.mjs @@ -0,0 +1,217 @@ +import { readFileSync } from "node:fs"; +import { performance } from "node:perf_hooks"; + +import { Client } from "@modelcontextprotocol/client"; +import { StdioClientTransport } from "@modelcontextprotocol/client/stdio"; + +const RSS_SAMPLE_INTERVAL_MS = 10; +const MAXIMUM_PROFILE_BUFFER_BYTES = 2 * 1_024 * 1_024; +const MAXIMUM_PROFILE_MODULES = 10_000; + +/** + * Measure the first usable MCP catalog through the installed process boundary. + */ +export async function measureMcpStartup({ + command, + args, + environment, + policy, +}) { + const transport = new StdioClientTransport({ + command, + args, + env: environment, + stderr: "pipe", + }); + let stderr = ""; + transport.stderr?.on("data", (chunk) => { + stderr = boundedAppend(stderr, chunk.toString()); + }); + const rss = createLinuxRssSampler(() => transport.pid); + const client = new Client({ + name: "package-startup-probe", + version: "1.0.0", + }); + const startedAt = performance.now(); + rss.start(); + try { + await client.connect(transport, { timeout: policy.initializeBudgetMs }); + const initializedAt = performance.now(); + const tools = await client.listTools(undefined, { + timeout: policy.toolsListBudgetMs, + }); + const listedAt = performance.now(); + rss.stop(); + const measurement = { + process_started_to_initialized_ms: elapsed(startedAt, initializedAt), + initialized_to_tools_list_ms: elapsed(initializedAt, listedAt), + process_started_to_tools_list_ms: elapsed(startedAt, listedAt), + listed_tool_count: tools.tools.length, + rss: rss.result(), + }; + assertStartupBudgets(measurement, policy); + return measurement; + } catch (cause) { + throw new Error(`packaged MCP startup probe failed: ${stderr}`, { cause }); + } finally { + rss.stop(); + await Promise.allSettled([client.close(), transport.close()]); + } +} + +/** + * Profile ESM file loading in a separate diagnostic child. + */ +export async function profileMcpModuleLoading({ + command, + args, + environment, + policy, + packageName, +}) { + const profile = createEsmModuleProfileCollector(packageName); + const transport = new StdioClientTransport({ + command, + args, + env: { ...environment, NODE_DEBUG: "esm" }, + stderr: "pipe", + }); + transport.stderr?.on("data", (chunk) => profile.append(chunk.toString())); + const client = new Client({ + name: "package-module-profile", + version: "1.0.0", + }); + try { + await client.connect(transport, { + timeout: policy.doctorDeadlineMs, + }); + await client.listTools(undefined, { + timeout: policy.toolsListBudgetMs, + }); + return profile.result(); + } finally { + await Promise.allSettled([client.close(), transport.close()]); + } +} + +/** + * Parse Linux procfs VmRSS text into bytes. + */ +export const parseLinuxVmRssBytes = (status) => { + const match = /^VmRSS:\s+(\d+)\s+kB$/mu.exec(status); + return match === null ? null : Number(match[1]) * 1_024; +}; + +/** + * Collect unique file-backed ESM module URLs from Node's diagnostic stream. + */ +export const createEsmModuleProfileCollector = (packageName = "rea-agents") => { + const modules = new Set(); + let buffer = ""; + let debugLines = 0; + let truncated = false; + const consume = (line) => { + if (line.startsWith("ESM ")) debugLines += 1; + for (const match of line.matchAll(/file:\/\/\/[^\s'",}\])]+/gu)) { + if (modules.size >= MAXIMUM_PROFILE_MODULES) { + truncated = true; + break; + } + modules.add(match[0]); + } + }; + return { + append(chunk) { + buffer += chunk; + if (Buffer.byteLength(buffer) > MAXIMUM_PROFILE_BUFFER_BYTES) { + buffer = buffer.slice(-MAXIMUM_PROFILE_BUFFER_BYTES); + truncated = true; + } + const lines = buffer.split("\n"); + buffer = lines.pop() ?? ""; + for (const line of lines) consume(line); + }, + result() { + if (buffer.length > 0) consume(buffer); + const values = [...modules]; + const packageSegment = `/node_modules/${packageName}/`; + return { + supported: true, + method: "node-debug-esm", + unique_file_modules: values.length, + unique_package_modules: values.filter((value) => + value.includes(packageSegment), + ).length, + unique_dependency_modules: values.filter( + (value) => + value.includes("/node_modules/") && !value.includes(packageSegment), + ).length, + debug_lines: debugLines, + truncated, + }; + }, + }; +}; + +const createLinuxRssSampler = (pid) => { + if (process.platform !== "linux") + return { + start() {}, + stop() {}, + result: () => ({ + supported: false, + method: null, + peak_bytes: null, + }), + }; + let peakBytes = null; + let timer; + const sample = () => { + const currentPid = pid(); + if (currentPid === null) return; + try { + const current = parseLinuxVmRssBytes( + readFileSync(`/proc/${String(currentPid)}/status`, "utf8"), + ); + if (current !== null && (peakBytes === null || current > peakBytes)) + peakBytes = current; + } catch { + // The short-lived child may exit between resolving its PID and reading. + } + }; + return { + start() { + sample(); + timer = setInterval(sample, RSS_SAMPLE_INTERVAL_MS); + timer.unref(); + }, + stop() { + if (timer !== undefined) clearInterval(timer); + sample(); + }, + result: () => ({ + supported: true, + method: "linux-proc-status-vmrss-sampled", + peak_bytes: peakBytes, + }), + }; +}; + +const assertStartupBudgets = (measurement, policy) => { + if (measurement.process_started_to_initialized_ms > policy.initializeBudgetMs) + throw new Error("packaged MCP exceeded the initialize regression budget"); + if (measurement.initialized_to_tools_list_ms > policy.toolsListBudgetMs) + throw new Error("packaged MCP exceeded the tools/list regression budget"); + if ( + measurement.process_started_to_tools_list_ms > policy.firstCatalogBudgetMs + ) + throw new Error( + "packaged MCP exceeded the first-catalog regression budget", + ); +}; + +const elapsed = (startedAt, completedAt) => + Math.round((completedAt - startedAt) * 100) / 100; + +const boundedAppend = (current, chunk) => + `${current}${chunk}`.slice(-64 * 1_024); diff --git a/scripts/verify-agent-experience.mjs b/scripts/verify-agent-experience.mjs index a080ddb31..e643f5fdb 100644 --- a/scripts/verify-agent-experience.mjs +++ b/scripts/verify-agent-experience.mjs @@ -8,6 +8,7 @@ import { fileURLToPath } from "node:url"; import { createPackage } from "@electron/asar"; import { evaluateCodexEvents } from "../dist/evaluation/CodexAgentEval.js"; +import { MCP_STARTUP_POLICY } from "../dist/mcpStartupPolicy.js"; import { completeVerifierRun, createVerifierRun } from "./lib/verifier-run.mjs"; const repositoryRoot = resolve(dirname(fileURLToPath(import.meta.url)), ".."); @@ -346,7 +347,7 @@ async function runCodex(prompt, investigationRoot) { "-c", `mcp_servers.rea.args=${JSON.stringify([join(repositoryRoot, "scripts/rea.mjs"), "mcp"])}`, "-c", - "mcp_servers.rea.startup_timeout_sec=30", + `mcp_servers.rea.startup_timeout_sec=${String(MCP_STARTUP_POLICY.codexStartupTimeoutSeconds)}`, "-c", mcpEnvironmentOverride, ...(optionalModel === undefined ? [] : ["--model", optionalModel]), diff --git a/scripts/verify-package-mcp.mjs b/scripts/verify-package-mcp.mjs index 15270d640..4a91cfbd8 100644 --- a/scripts/verify-package-mcp.mjs +++ b/scripts/verify-package-mcp.mjs @@ -5,6 +5,7 @@ import { promisify } from "node:util"; import { Client } from "@modelcontextprotocol/client"; import { StdioClientTransport } from "@modelcontextprotocol/client/stdio"; +import { MCP_STARTUP_POLICY } from "../dist/mcpStartupPolicy.js"; import * as prompts from "./verify-package-prompts.mjs"; import { json, @@ -180,7 +181,7 @@ export async function verifyPackageMcp({ ( await execute(cli, ["mcp", "doctor", "--json"], { env: environment, - timeout: 30_000, + timeout: MCP_STARTUP_POLICY.doctorDeadlineMs, }) ).stdout, ); diff --git a/scripts/verify-package.mjs b/scripts/verify-package.mjs index 0ef3e8cc5..bb2048c4c 100644 --- a/scripts/verify-package.mjs +++ b/scripts/verify-package.mjs @@ -4,6 +4,7 @@ import { join } from "node:path"; import { TOOL_CONTRACTS } from "../dist/contracts/toolContracts.js"; import { PRODUCT_IDENTITY } from "../dist/identity.js"; +import { MCP_STARTUP_POLICY } from "../dist/mcpStartupPolicy.js"; import * as prompts from "./verify-package-prompts.mjs"; import { verifyPackagedInvestigation } from "./verify-package-investigation.mjs"; import { verifyPackageArtifactAndElectron } from "./verify-package-artifact.mjs"; @@ -19,6 +20,10 @@ import { verifyPackageSetup } from "./verify-package-setup.mjs"; import { verifyManaged } from "./verify-package-managed.mjs"; import { verifyUnknownProvider } from "./verify-package-unknown-provider.mjs"; import { completeVerifierRun, createVerifierRun } from "./lib/verifier-run.mjs"; +import { + measureMcpStartup, + profileMcpModuleLoading, +} from "./lib/mcp-startup-probe.mjs"; const root = process.cwd(); const verifierRun = createVerifierRun(); @@ -26,6 +31,8 @@ const workspace = await mkdtemp(join(tmpdir(), "rea-package-")); const evidenceRoot = join(workspace, "evidence"); const referenceRoot = join(workspace, "reference-source"); let tarball; +let mcpStartup; +let mcpModuleLoading; try { ({ tarball } = await verifyPackagePack({ root, workspace })); @@ -42,6 +49,25 @@ try { workspace, environment: environmentData.environment, }); + mcpStartup = await measureMcpStartup({ + command: cli, + args: ["mcp"], + environment: { + ...environmentData.environment, + REA_INVESTIGATION_INPUT_ROOTS_JSON: JSON.stringify([]), + }, + policy: MCP_STARTUP_POLICY, + }); + mcpModuleLoading = await profileMcpModuleLoading({ + command: cli, + args: ["mcp"], + environment: { + ...environmentData.environment, + REA_INVESTIGATION_INPUT_ROOTS_JSON: JSON.stringify([]), + }, + policy: MCP_STARTUP_POLICY, + packageName: PRODUCT_IDENTITY.packageName, + }); const { supportedSetupHost } = await verifyPackageDiscovery({ cli, environment: environmentData.environment, @@ -102,7 +128,7 @@ try { investigationReplay, }); process.stdout.write( - `${JSON.stringify({ verifier_run: await completeVerifierRun(verifierRun), cli: true, analysisCli: true, artifactCli: true, managedCli: true, managedReconstructionCli: true, managedNativeVerificationCli: true, managedRuntimePlanCli: true, managedApplicationGraphCli: true, evidenceCli: true, incurMcpCommand: PRODUCT_IDENTITY.mcpCommand, lifecycleScriptsRequired: false, doctor: "platform-appropriate", setup: supportedSetupHost ? "planned-then-idempotent" : "unsupported-host-rejected", setupPlanReadOnly: supportedSetupHost, existingHopperPreserved: supportedSetupHost, clients: supportedSetupHost ? 3 : 0, backupReadback: supportedSetupHost, failureRecovery: supportedSetupHost, configSymlinkLifecycle: supportedSetupHost, skill: supportedSetupHost, skillReferences: supportedSetupHost, mcpTools: TOOL_CONTRACTS.length, mcpPrompts: prompts.names.length, promptCompletion: true, promptCompletionLifecycle: true, evidenceMcp: true, targetFree: true, targetLifecycle: true, boundedRegexBridge: true })}\n`, + `${JSON.stringify({ verifier_run: await completeVerifierRun(verifierRun), cli: true, analysisCli: true, artifactCli: true, managedCli: true, managedReconstructionCli: true, managedNativeVerificationCli: true, managedRuntimePlanCli: true, managedApplicationGraphCli: true, evidenceCli: true, incurMcpCommand: PRODUCT_IDENTITY.mcpCommand, lifecycleScriptsRequired: false, doctor: "platform-appropriate", setup: supportedSetupHost ? "planned-then-idempotent" : "unsupported-host-rejected", setupPlanReadOnly: supportedSetupHost, existingHopperPreserved: supportedSetupHost, clients: supportedSetupHost ? 3 : 0, backupReadback: supportedSetupHost, failureRecovery: supportedSetupHost, configSymlinkLifecycle: supportedSetupHost, skill: supportedSetupHost, skillReferences: supportedSetupHost, mcpTools: TOOL_CONTRACTS.length, mcpPrompts: prompts.names.length, promptCompletion: true, promptCompletionLifecycle: true, evidenceMcp: true, targetFree: true, targetLifecycle: true, boundedRegexBridge: true, mcpStartup, mcpModuleLoading })}\n`, ); } finally { if (tarball) await rm(join(root, tarball), { force: true }); diff --git a/src/application/AnalysisSnapshotCache.ts b/src/application/AnalysisSnapshotCache.ts index 043f9f5da..8ca378fd5 100644 --- a/src/application/AnalysisSnapshotCache.ts +++ b/src/application/AnalysisSnapshotCache.ts @@ -26,7 +26,7 @@ import type { AnalysisOperation, CapabilityDescriptor, } from "./AnalysisProvider.js"; -import { OFFICIAL_TOOL_CONTRACTS } from "../contracts/toolContracts.js"; +import { GENERATED_MCP_TOOL_CATALOG } from "../generatedMcpToolCatalog.js"; const STATEFUL_OPERATIONS: ReadonlySet = new Set([ "health", @@ -47,13 +47,15 @@ const CURSOR_DEFAULT_OPERATIONS: ReadonlySet = new Set([ "xrefs", ]); -const DOCUMENT_SCOPED_OPERATIONS: ReadonlySet = new Set( - OFFICIAL_TOOL_CONTRACTS.map(({ name }) => name).filter( - (name) => - name !== "current_document" && - name !== "list_documents" && - name !== "set_current_document", - ), +const DOCUMENT_SCOPED_OPERATIONS: ReadonlySet = new Set( + GENERATED_MCP_TOOL_CATALOG.filter(({ kind }) => kind === "official-proxy") + .map(({ name }) => name) + .filter( + (name) => + name !== "current_document" && + name !== "list_documents" && + name !== "set_current_document", + ), ); /** Whether an operation is immutable and independent of provider UI state. */ diff --git a/src/application/BinarySession.ts b/src/application/BinarySession.ts index 0f2751b77..521d5c2bc 100644 --- a/src/application/BinarySession.ts +++ b/src/application/BinarySession.ts @@ -24,8 +24,7 @@ import type { ProviderIdentity, } from "./AnalysisProvider.js"; import type { AnalysisOperation } from "./AnalysisProvider.js"; -import { enhancedToolNameSchema } from "../contracts/enhancedInputs.js"; -import { OFFICIAL_TOOL_CONTRACTS } from "../contracts/toolContracts.js"; +import { GENERATED_MCP_TOOL_CATALOG } from "../generatedMcpToolCatalog.js"; import type { BinarySessionPort } from "./BinarySessionPort.js"; import { SessionProviderRouter, @@ -41,7 +40,14 @@ import { prepareSessionExecution } from "./BinarySessionExecution.js"; import { closeAnalysisClient } from "./AnalysisClientCleanup.js"; export type { BinarySessionPort } from "./BinarySessionPort.js"; const OFFICIAL_OPERATIONS: ReadonlySet = new Set( - OFFICIAL_TOOL_CONTRACTS.map(({ name }) => name), + GENERATED_MCP_TOOL_CATALOG.filter( + ({ kind }) => kind === "official-proxy", + ).map(({ name }) => name), +); +const ENHANCED_OPERATIONS: ReadonlySet = new Set( + GENERATED_MCP_TOOL_CATALOG.filter(({ kind }) => kind === "enhanced").map( + ({ name }) => name, + ), ); /** @@ -100,7 +106,7 @@ export class BinarySession if (operation !== undefined) { const exact = route.capabilities?.get(operation)?.provider; if (exact !== undefined) selected = exact; - else if (enhancedToolNameSchema.safeParse(operation).success) { + else if (ENHANCED_OPERATIONS.has(operation)) { const providers = new Map(); for (const descriptor of route.capabilities?.values() ?? []) if ( diff --git a/src/application/CapabilityInventory.ts b/src/application/CapabilityInventory.ts index 7c18de049..e366d6bfa 100644 --- a/src/application/CapabilityInventory.ts +++ b/src/application/CapabilityInventory.ts @@ -1,8 +1,9 @@ import { z } from "zod"; -import { TOOL_CONTRACTS } from "../contracts/toolContracts.js"; import type { ClientFeatureAvailability } from "../contracts/toolOutputSchemaPrimitives.js"; +import type { ToolKind } from "../contracts/toolContractTypes.js"; import type { JsonValue } from "../domain/jsonValue.js"; +import { GENERATED_MCP_TOOL_CATALOG } from "../generatedMcpToolCatalog.js"; const statusSchema = z.object({ open: z.boolean(), @@ -28,7 +29,6 @@ type ToolAvailabilityReason = | "unsupported_host" | "policy_disabled"; -type ToolKind = (typeof TOOL_CONTRACTS)[number]["kind"]; type ProviderDescriptor = { readonly available: boolean; readonly reason: string | null; @@ -128,7 +128,7 @@ export const buildCapabilityInventory = ( }, ]), ); - return TOOL_CONTRACTS.map((contract) => { + return GENERATED_MCP_TOOL_CATALOG.map((contract) => { const availability = availabilityFor({ name: contract.name, kind: contract.kind, diff --git a/src/application/ClientRegistrationStatus.ts b/src/application/ClientRegistrationStatus.ts index 6eb4a4532..a680173e2 100644 --- a/src/application/ClientRegistrationStatus.ts +++ b/src/application/ClientRegistrationStatus.ts @@ -5,6 +5,7 @@ import { parse as parseToml } from "smol-toml"; import { z } from "zod"; import { PRODUCT_IDENTITY } from "../identity.js"; +import { MCP_STARTUP_POLICY } from "../mcpStartupPolicy.js"; import { supportedClients } from "./SupportedClients.js"; export interface ClientRegistrationStatus { @@ -80,7 +81,11 @@ const registrationAligned = ( currentCommandPath: string, ): boolean => { const command = [registration.command, ...registration.args]; - if (client === "codex" && registration.startup_timeout_sec !== 30) + if ( + client === "codex" && + registration.startup_timeout_sec !== + MCP_STARTUP_POLICY.codexStartupTimeoutSeconds + ) return false; if ( command.length === 4 && diff --git a/src/application/LazyAnalysisProvider.ts b/src/application/LazyAnalysisProvider.ts new file mode 100644 index 000000000..dd05dbec2 --- /dev/null +++ b/src/application/LazyAnalysisProvider.ts @@ -0,0 +1,113 @@ +import type { AnalysisProfileCommitment } from "../domain/analysisProfile.js"; +import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { + AnalysisClient, + AnalysisClientContext, + AnalysisProvider, + CapabilityDescriptor, + ProviderIdentity, + ProviderRequestActivitySnapshot, + ProviderRuntimeLineageSnapshot, +} from "./AnalysisProvider.js"; + +type LoadAnalysisProvider = () => Promise; + +/** + * Preserve synchronous provider discovery while loading implementation modules + * only when a target-bound client first executes. + */ +export class LazyAnalysisProvider implements AnalysisProvider { + readonly #providerIdentity: ProviderIdentity; + readonly #capabilityDescriptors: readonly CapabilityDescriptor[]; + readonly #loadProvider: LoadAnalysisProvider; + #provider: Promise | undefined; + + constructor(options: { + readonly identity: ProviderIdentity; + readonly capabilities: readonly CapabilityDescriptor[]; + readonly load: LoadAnalysisProvider; + }) { + this.#providerIdentity = options.identity; + this.#capabilityDescriptors = options.capabilities; + this.#loadProvider = options.load; + } + + /** Return generated provider identity without loading its implementation. */ + identity(): ProviderIdentity { + return this.#providerIdentity; + } + + /** Return generated capability metadata without loading its implementation. */ + capabilities(): readonly CapabilityDescriptor[] { + return this.#capabilityDescriptors; + } + + /** Create a client whose implementation is loaded on first execution. */ + createClient( + target: BinaryTarget, + profile?: AnalysisProfileCommitment, + context?: AnalysisClientContext, + ): AnalysisClient { + return new LazyAnalysisClient(async () => { + const provider = await this.#load(); + return provider.createClient(target, profile, context); + }); + } + + async #load(): Promise { + this.#provider ??= this.#loadProvider().catch((cause: unknown) => { + this.#provider = undefined; + throw cause; + }); + return this.#provider; + } +} + +class LazyAnalysisClient implements AnalysisClient { + readonly #loadClient: () => Promise; + #client: AnalysisClient | undefined; + #loading: Promise | undefined; + #closed = false; + + constructor(loadClient: () => Promise) { + this.#loadClient = loadClient; + } + + execute: AnalysisClient["execute"] = async ( + operation, + parameters, + options, + ) => { + const client = await this.#load(); + return client.execute(operation, parameters, options); + }; + + runtimeLineageSnapshots(): readonly ProviderRuntimeLineageSnapshot[] { + return this.#client?.runtimeLineageSnapshots?.() ?? []; + } + + requestActivitySnapshots(): readonly ProviderRequestActivitySnapshot[] { + return this.#client?.requestActivitySnapshots?.() ?? []; + } + + async close(): Promise { + this.#closed = true; + if (this.#loading === undefined) return; + const client = await this.#loading; + await client.close(); + } + + async #load(): Promise { + if (this.#closed) throw new Error("Lazy analysis client is closed"); + this.#loading ??= this.#loadClient() + .then((client) => { + this.#client = client; + return client; + }) + .catch((cause: unknown) => { + this.#loading = undefined; + throw cause; + }); + return this.#loading; + } +} diff --git a/src/application/SetupClientConfiguration.ts b/src/application/SetupClientConfiguration.ts index 7655d6943..1d1d8c103 100644 --- a/src/application/SetupClientConfiguration.ts +++ b/src/application/SetupClientConfiguration.ts @@ -6,6 +6,7 @@ import writeFileAtomic from "write-file-atomic"; import { parse as parseToml, stringify as stringifyToml } from "smol-toml"; import { PRODUCT_IDENTITY } from "../identity.js"; +import { MCP_STARTUP_POLICY } from "../mcpStartupPolicy.js"; import { resolveClientConfigTransactionPath } from "./ClientConfigPath.js"; import type { ClientConfigurationInspection, @@ -21,8 +22,6 @@ const defaultCommand = (): readonly string[] => [ "mcp", ]; -const CODEX_STARTUP_TIMEOUT_SECONDS = 30; - /** Back up, atomically update, and semantically read back one JSON MCP configuration. */ export const configureJsonClient = async ( client: SetupClient, @@ -299,7 +298,9 @@ const clientConfigurationDesired = ( command: command[0] ?? PRODUCT_IDENTITY.cliBinary, args: command.slice(1), ...(client.name === "codex" - ? { startup_timeout_sec: CODEX_STARTUP_TIMEOUT_SECONDS } + ? { + startup_timeout_sec: MCP_STARTUP_POLICY.codexStartupTimeoutSeconds, + } : {}), ...(Object.keys(environment).length === 0 ? {} : { env: environment }), }; diff --git a/src/application/runtime.ts b/src/application/runtime.ts index 9a2d565a5..045d6a004 100644 --- a/src/application/runtime.ts +++ b/src/application/runtime.ts @@ -2,11 +2,10 @@ import type { AppConfig } from "../config.js"; import { BinarySession } from "./BinarySession.js"; import { HopperProvider } from "../hopper/HopperProvider.js"; import { GhidraProvider } from "../ghidra/GhidraProvider.js"; -import { NativeMacOSProvider } from "../native/NativeMacOSProvider.js"; -import { ArtifactProvider } from "../artifacts/ArtifactProvider.js"; -import { ManagedStaticProvider } from "../dotnet/ManagedStaticProvider.js"; import { silentLogger, type Logger } from "../logger.js"; +import { GENERATED_AUXILIARY_PROVIDERS } from "../generatedMcpToolCatalog.js"; import { AnalysisProviderRegistry } from "./AnalysisProviderRegistry.js"; +import { LazyAnalysisProvider } from "./LazyAnalysisProvider.js"; import { SessionProviderRouter } from "./SessionProviderRouter.js"; /** @@ -20,16 +19,46 @@ export const createBinarySession = ( ): BinarySession => { const hopper = new HopperProvider(config, logger); const ghidra = new GhidraProvider(config, logger); + const auxiliary = new Map( + GENERATED_AUXILIARY_PROVIDERS.map((provider) => [ + provider.identity.id, + provider, + ]), + ); + const lazyProvider = ( + id: string, + load: ConstructorParameters[0]["load"], + ) => { + const generated = auxiliary.get(id); + if (generated === undefined) + throw new TypeError(`Missing generated provider metadata for ${id}`); + return new LazyAnalysisProvider({ ...generated, load }); + }; return new BinarySession( SessionProviderRouter.selectable( new AnalysisProviderRegistry([hopper, ghidra], config.analysisProvider), [ - new ArtifactProvider( - config.artifactNativeMountEnabled, - config.artifactIntegrityContinueEnabled, - ), - new NativeMacOSProvider(), - new ManagedStaticProvider(), + lazyProvider("rea-artifact-graph", async () => { + const { ArtifactProvider } = await import( + "../artifacts/ArtifactProvider.js" + ); + return new ArtifactProvider( + config.artifactNativeMountEnabled, + config.artifactIntegrityContinueEnabled, + ); + }), + lazyProvider("native-macos", async () => { + const { NativeMacOSProvider } = await import( + "../native/NativeMacOSProvider.js" + ); + return new NativeMacOSProvider(); + }), + lazyProvider("rea-dotnet-static", async () => { + const { ManagedStaticProvider } = await import( + "../dotnet/ManagedStaticProvider.js" + ); + return new ManagedStaticProvider(); + }), ], ), ); diff --git a/src/contracts/promptContracts.ts b/src/contracts/promptContracts.ts index b74fd2c6e..a9fbdbbbf 100644 --- a/src/contracts/promptContracts.ts +++ b/src/contracts/promptContracts.ts @@ -1,4 +1,4 @@ -import { TOOL_CONTRACTS } from "./toolContracts.js"; +import type { TOOL_CONTRACTS } from "./toolContracts.js"; type ToolName = (typeof TOOL_CONTRACTS)[number]["name"]; diff --git a/src/contracts/toolContractTypes.ts b/src/contracts/toolContractTypes.ts index 7b67e147c..f4d663bab 100644 --- a/src/contracts/toolContractTypes.ts +++ b/src/contracts/toolContractTypes.ts @@ -32,7 +32,7 @@ export const TOOL_KINDS = [ ] as const; /** Adapter family responsible for implementing a public MCP tool. */ -type ToolKind = (typeof TOOL_KINDS)[number]; +export type ToolKind = (typeof TOOL_KINDS)[number]; /** Single source of truth for a public MCP tool. */ export interface ToolContract { diff --git a/src/generatedMcpToolCatalog.ts b/src/generatedMcpToolCatalog.ts new file mode 100644 index 000000000..fee3b73ca --- /dev/null +++ b/src/generatedMcpToolCatalog.ts @@ -0,0 +1,82 @@ +import type { ToolAnnotations } from "@modelcontextprotocol/server"; +import type { + CapabilityDescriptor, + ProviderIdentity, +} from "./application/AnalysisProvider.js"; +import type { ToolKind } from "./contracts/toolContractTypes.js"; +import type { ToolEffects } from "./contracts/toolEffects.js"; + +interface GeneratedTool { + readonly name: string; + readonly analysisOperation: CapabilityDescriptor["operation"] | null; + readonly title: string; + readonly description: string; + readonly kind: ToolKind; + readonly requiresSession: boolean; + readonly inputSchema: Readonly>; + readonly outputSchema: Readonly>; + readonly annotations: ToolAnnotations; + readonly effects: ToolEffects; +} + +interface GeneratedProvider { + readonly identity: ProviderIdentity; + readonly capabilities: readonly CapabilityDescriptor[]; +} + +interface GeneratedPayload { + readonly catalog: readonly GeneratedTool[]; + readonly auxiliaryProviders: readonly GeneratedProvider[]; +} + +const GENERATED_PAYLOAD_JSON = + '{"catalog":[{"name":"address_name","analysisOperation":"address_name","title":"Address Name","description":"Resolve the primary analyzed name at a code or data address. Headless providers require an explicit address; GUI providers may default to their current cursor. Null means the provider has no primary name at that address.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"comment","analysisOperation":"comment","title":"Comment","description":"Read the regular analysis comment at an address, defaulting to the current cursor. This is read-only and returns null when no comment exists; use set_comment to persist a finding.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"current_address","analysisOperation":"current_address","title":"Current Address","description":"Return Hopper\'s current cursor address for the selected document. Use only for interactive navigation state; prefer explicit addresses in reproducible investigations.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"current_procedure","analysisOperation":"current_procedure","title":"Current Procedure","description":"Return the analyzed procedure containing Hopper\'s current cursor. Use procedure_info or analyze_function next; this depends on GUI cursor state and is not an exhaustive lookup.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"current_document","analysisOperation":"current_document","title":"Current Document","description":"Return the document currently selected by REA\'s Hopper bridge. Use list_documents before switching when several documents are open.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"goto_address","analysisOperation":"goto_address","title":"Goto Address","description":"Move Hopper\'s GUI cursor to a hexadecimal address and return the resolved address. This changes navigation state but not analysis data; use explicit-address tools for headless workflows.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":true,"mayDiscardData":false,"idempotent":true}},{"name":"inline_comment","analysisOperation":"inline_comment","title":"Inline Comment","description":"Read the inline instruction comment at an address, defaulting to the current cursor. Returns null when absent; use set_inline_comment to write one.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_bookmarks","analysisOperation":"list_bookmarks","title":"List Bookmarks","description":"List every bookmark in the selected Hopper document as address and name pairs. Use bookmarks as analyst-authored navigation aids; this does not discover code references.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_documents","analysisOperation":"list_documents","title":"List Documents","description":"List provider program or document identities. Hopper may expose several documents; a Ghidra headless session contains exactly its one imported Program.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"string"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_names","analysisOperation":"list_names","title":"List Names","description":"Page through analyzed memory and external symbols as address/value pairs. Provider metadata distinguishes Ghidra primary, dynamic, external, type, and source facts when available; follow next_offset before claiming exhaustive coverage.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"},"symbol":{"type":"object","properties":{"primary":{"type":"boolean"},"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"type":{"type":"string"},"source":{"type":"string","enum":["default","analysis","ai","imported","user_defined"]}},"required":["primary","dynamic","external","type","source"],"additionalProperties":false},"procedure":{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"additionalProperties":false},"string":{"type":"object","properties":{"encoding":{"type":"string"},"termination":{"type":"string","enum":["missing","present_or_not_required"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["encoding","termination","byte_length"],"additionalProperties":false}},"required":["address","value"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_procedures","analysisOperation":"list_procedures","title":"List Procedures","description":"Page through analyzed procedures as address/value pairs after provider analysis. Ghidra metadata distinguishes thunks and external functions; follow next_offset for exhaustive coverage and use returned addresses in later function operations.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"},"symbol":{"type":"object","properties":{"primary":{"type":"boolean"},"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"type":{"type":"string"},"source":{"type":"string","enum":["default","analysis","ai","imported","user_defined"]}},"required":["primary","dynamic","external","type","source"],"additionalProperties":false},"procedure":{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"additionalProperties":false},"string":{"type":"object","properties":{"encoding":{"type":"string"},"termination":{"type":"string","enum":["missing","present_or_not_required"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["encoding","termination","byte_length"],"additionalProperties":false}},"required":["address","value"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_segments","analysisOperation":"list_segments","title":"List Segments","description":"List segments or memory blocks using exclusive end addresses. Ghidra reports block permissions, address space, image base, initialization, and overlay facts; Hopper marks unavailable permissions explicitly.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"start":{"type":"string"},"end":{"type":"string"},"readable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"writable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"executable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"permissions":{"anyOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"source":{"type":"string","const":"ghidra-memory-block"}},"required":["available","source"],"additionalProperties":false}]},"provenance":{"type":"string","enum":["hopper-public-python-api","ghidra-memory-block"]},"address_space":{"type":"string"},"image_base":{"type":"string"},"initialized":{"type":"boolean"},"overlay":{"type":"boolean"},"sections":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"start":{"type":"string"},"end":{"type":"string"},"readable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"writable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"executable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"permissions":{"anyOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"source":{"type":"string","const":"ghidra-memory-block"}},"required":["available","source"],"additionalProperties":false}]},"provenance":{"type":"string","enum":["hopper-public-python-api","ghidra-memory-block"]},"address_space":{"type":"string"},"image_base":{"type":"string"},"initialized":{"type":"boolean"},"overlay":{"type":"boolean"}},"required":["name","start","end","readable","writable","executable","permissions","provenance"],"additionalProperties":false}}},"required":["name","start","end","readable","writable","executable","permissions","provenance","sections"],"additionalProperties":false},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_strings","analysisOperation":"list_strings","title":"List Strings","description":"Page through provider-defined strings, or filter to one address, as address/value pairs. Ghidra reports charset, missing-terminator status, byte length, and explicit value truncation; follow next_offset for exhaustive results.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"},"symbol":{"type":"object","properties":{"primary":{"type":"boolean"},"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"type":{"type":"string"},"source":{"type":"string","enum":["default","analysis","ai","imported","user_defined"]}},"required":["primary","dynamic","external","type","source"],"additionalProperties":false},"procedure":{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"additionalProperties":false},"string":{"type":"object","properties":{"encoding":{"type":"string"},"termination":{"type":"string","enum":["missing","present_or_not_required"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["encoding","termination","byte_length"],"additionalProperties":false}},"required":["address","value"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"next_address","analysisOperation":"next_address","title":"Next Address","description":"Return the next analyzed object address after an explicit address or current cursor. This is a navigation primitive, not instruction-flow or CFG analysis.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"prev_address","analysisOperation":"prev_address","title":"Prev Address","description":"Return the previous analyzed instruction start before an explicit address or current cursor. This is a navigation primitive and may fail at document boundaries.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_address","analysisOperation":"procedure_address","title":"Procedure Address","description":"Resolve an unambiguous procedure symbol name or provider-normalized address to its canonical entry address. External address spaces remain explicit; use the result before xrefs, assembly, or decompilation.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_assembly","analysisOperation":"procedure_assembly","title":"Procedure Assembly","description":"Return assembly for one analyzed procedure identified by symbol or hexadecimal address. Use when pseudocode loses calling-convention or instruction-level detail; output is currently returned as one unpaginated string.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_callees","analysisOperation":"procedure_callees","title":"Procedure Callees","description":"Return the provider\'s resolved direct callees for one procedure identified by symbol or address. Unresolved indirect calls may be absent; use analyze_function and typed references to preserve available edge uncertainty.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"string"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_callers","analysisOperation":"procedure_callers","title":"Procedure Callers","description":"Return the provider\'s resolved direct callers for one procedure identified by symbol or address. Results reflect completed static analysis and may omit unresolved indirect references.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"string"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_info","analysisOperation":"procedure_info","title":"Procedure Info","description":"Return bounded metadata for one procedure identified by symbol or address: entrypoint, signature, locals, size, and block count. Follow with decompilation or assembly for behavior.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"name":{"type":"string"},"entrypoint":{"type":"string"},"basicblock_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"length":{"type":"number","minimum":0},"signature":{"anyOf":[{"type":"string"},{"type":"null"}]},"locals":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string"},"provenance":{"type":"string","minLength":1}},"required":["description","provenance"],"additionalProperties":false}},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["name","entrypoint","basicblock_count","length","signature","locals","classification"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"read_function_instructions","analysisOperation":"read_function_instructions","title":"Read Function Instructions","description":"Read one offset-paginated window of raw instructions for an analyzed procedure without decompilation, caller discovery, or whole-program string/name scans. Use this fast path for instruction-level orientation; follow next_offset when truncated.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000,"description":"Zero-based index of the first result to return."},"limit":{"default":64,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},"instructions":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"instructions_scanned":{"type":"integer","minimum":0,"maximum":9007199254740991},"instruction_scan_truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["procedure","instructions","instructions_scanned","instruction_scan_truncated","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"read_bytes","analysisOperation":"read_bytes","title":"Read Bytes","description":"Read at most 4,096 analyzed bytes from one provider-normalized virtual address. The hexadecimal payload reports the exact returned length; incomplete reads remain explicit and unsupported provider APIs return typed capability unavailability.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"length":{"default":256,"type":"integer","minimum":1,"maximum":4096,"description":"Value for length."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"address":{"type":"string"},"requested_bytes":{"type":"integer","minimum":1,"maximum":4096},"returned_bytes":{"type":"integer","minimum":0,"maximum":4096},"bytes_hex":{"type":"string","pattern":"^(?:[a-f0-9]{2})*$"},"complete":{"type":"boolean"}},"required":["address","requested_bytes","returned_bytes","bytes_hex","complete"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"address_to_file_offset","analysisOperation":"address_to_file_offset","title":"Address To File Offset","description":"Map one provider-normalized virtual address to its original nonnegative file offset. Unmapped addresses fail explicitly, and providers without an authoritative mapping API return typed capability unavailability.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"address":{"type":"string"},"file_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["address","file_offset"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_references","analysisOperation":"procedure_references","title":"Procedure References","description":"Return a bounded set of raw incoming or outgoing reference edges for one procedure. Endpoint procedures are resolved only from provider containment; Ghidra preserves observed reference kinds while providers without kind authority mark them unavailable.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"direction":{"default":"outgoing","type":"string","enum":["incoming","outgoing"],"description":"Direction in which to traverse or compare relationships."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"max_instructions":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted instructions for this operation."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},"direction":{"type":"string","enum":["incoming","outgoing"]},"references":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"source_address":{"type":"string"},"target_address":{"type":"string"},"source_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"target_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"kind":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"type":{"type":"string"},"flow":{"type":"boolean"},"call":{"type":"boolean"},"jump":{"type":"boolean"},"data":{"type":"boolean"},"read":{"type":"boolean"},"write":{"type":"boolean"},"indirect":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"terminal":{"type":"boolean"},"primary":{"type":"boolean"},"operand_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"external":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"additionalProperties":false}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"instructions_scanned":{"type":"integer","minimum":0,"maximum":9007199254740991},"instruction_scan_truncated":{"type":"boolean"}},"required":["procedure","direction","references","instructions_scanned","instruction_scan_truncated"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_pseudo_code","analysisOperation":"procedure_pseudo_code","title":"Procedure Pseudo Code","description":"Decompile one analyzed procedure by symbol name or provider-normalized address. Returns provider-specific pseudocode, never original source or cross-provider text equivalence, and may return null; request procedure_assembly when instruction precision matters.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"resolve_containing_procedure","analysisOperation":"resolve_containing_procedure","title":"Resolve Containing Procedure","description":"Resolve an arbitrary address, including an interior instruction or exact external entry, to its provider-analyzed containing procedure. A negative result distinguishes outside segments from not in a procedure and is never guessed from nearby symbols.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"oneOf":[{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":true},"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"required":["query_address","found","procedure"],"additionalProperties":false},{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":false},"procedure":{"type":"null"},"reason":{"type":"string","enum":["outside_segments","not_in_procedure"]}},"required":["query_address","found","procedure","reason"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"search_procedures","analysisOperation":"search_procedures","title":"Search Procedures","description":"Search analyzed procedure names using literal matching by default or regex opt-in. Providers bound search work and reject regex constructs, paths, candidates, or cumulative work outside their finite budgets. Results are deterministic and offset-paginated.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"type":"string","minLength":1,"maxLength":256,"description":"The literal text or bounded regex pattern to search for"},"mode":{"default":"literal","type":"string","enum":["literal","regex"],"description":"Operation mode that selects the requested behavior."},"case_sensitive":{"default":false,"description":"Whether to match case","type":"boolean"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["pattern"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value","value_truncated"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"search_strings","analysisOperation":"search_strings","title":"Search Strings","description":"Search analyzed strings using literal matching by default or regex opt-in. Providers bound search work and reject regex constructs, paths, candidates, or cumulative work outside their finite budgets. Results are deterministic, offset-paginated, and explicitly truncated.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"type":"string","minLength":1,"maxLength":256,"description":"The literal text or bounded regex pattern to search for"},"mode":{"default":"literal","type":"string","enum":["literal","regex"],"description":"Operation mode that selects the requested behavior."},"case_sensitive":{"default":false,"description":"Whether to match case","type":"boolean"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["pattern"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value","value_truncated"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_address_name","analysisOperation":"set_address_name","title":"Set Address Name","description":"Assign an analyst name to one hexadecimal address and report Hopper\'s boolean result. This mutates analysis metadata; read it back with address_name before relying on it.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"name":{"type":"string","description":"Exact name used by this operation."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address","name"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_addresses_names","analysisOperation":"set_addresses_names","title":"Set Addresses Names","description":"Assign analyst names to an address/name map and return per-address success booleans. This mutates analysis metadata; use for bounded batches and verify failures individually.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"names":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Value for names."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["names"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"boolean"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_bookmark","analysisOperation":"set_bookmark","title":"Set Bookmark","description":"Create or replace a bookmark at a hexadecimal address. This mutates navigation metadata; verify with list_bookmarks and do not treat bookmarks as binary evidence.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"name":{"type":"string","description":"Exact name used by this operation."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_comment","analysisOperation":"set_comment","title":"Set Comment","description":"Write a regular analysis comment at a hexadecimal address and return whether readback matched. This mutates the Hopper document; use comments to record evidence IDs or reasoning.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"comment":{"type":"string","description":"Exact analyst comment text to write."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address","comment"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_current_document","analysisOperation":"set_current_document","title":"Set Current Document","description":"Select an already-open Hopper document by exact document name. This changes subsequent default-document routing; call list_documents first and prefer explicit document inputs where reproducibility matters.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"type":"string","description":"Exact provider document or program identity."},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["document"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":true,"mayDiscardData":false,"idempotent":true}},{"name":"set_inline_comment","analysisOperation":"set_inline_comment","title":"Set Inline Comment","description":"Write an inline instruction comment at a hexadecimal address and return whether readback matched. This mutates analysis metadata; confirm with inline_comment.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"comment":{"type":"string","description":"Exact analyst comment text to write."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address","comment"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"unset_bookmark","analysisOperation":"unset_bookmark","title":"Unset Bookmark","description":"Remove the bookmark at a hexadecimal address and return whether it is absent. This mutates navigation metadata and does not alter binary bytes.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":true,"idempotent":true}},{"name":"xrefs","analysisOperation":"xrefs","title":"Xrefs","description":"Return analyzed references to a code or data address, defaulting to the current cursor. Use to connect strings, globals, selectors, and functions; bare addresses are untyped and indirect references may be incomplete.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"string"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"swift_classes","analysisOperation":"swift_classes","title":"Swift Classes","description":"Discover legacy-mangled Swift class procedures after exhaustively paging analyzed procedures. Returns at most 100 entries and scans at most 5,000 symbols; use analyze_swift_types for other Swift kinds.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"default":"","type":"string","description":"Text or bounded pattern used to filter matching results."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"classes":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["count","classes"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"get_objc_classes","analysisOperation":"get_objc_classes","title":"Get Objc Classes","description":"Discover and deduplicate Objective-C class labels after exhaustively paging names, optionally filtering by literal substring. Returns at most 100 classes; inspect matching metadata and references next.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"default":"","type":"string","description":"Text or bounded pattern used to filter matching results."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"classes":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["count","classes"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"get_objc_protocols","analysisOperation":"get_objc_protocols","title":"Get Objc Protocols","description":"Discover and deduplicate Objective-C and Swift protocol labels after exhaustively paging names. Returns at most 100 entries; use xrefs or analyze_function to connect a protocol to implementations.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"protocols":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["count","protocols"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"batch_decompile","analysisOperation":"batch_decompile","title":"Batch Decompile","description":"Decompile up to 20 explicit procedure symbols or addresses concurrently. Returns ordered per-item ok/error variants and aggregate counts; use analyze_function for a richer single-function dossier.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"addresses":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","description":"A provider-normalized procedure address"},"description":"Ordered provider-normalized procedure addresses to analyze."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string","const":"ok"},"pseudocode":{"type":"string","minLength":1}},"required":["address","status","pseudocode"],"additionalProperties":false},{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string","const":"error"},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"invalid_request"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"unreadable_output"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"capability_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_timeout"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cancelled"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"logical_path":{"type":"string"},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation","details"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_operation_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"evidence_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"truncated"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"permission_required"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"capability":{"type":"string"},"requested":{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},"missing":{"type":"object","properties":{"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean","const":true}},"additionalProperties":false},"ceiling":{"anyOf":[{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},{"type":"null"}]}},"required":["capability","requested","missing","ceiling"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"process_capture_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cleanup_incomplete"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"revision_conflict"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"outside_approved_root"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"configuration_invalid"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"target_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"execution_failure"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"plan_stale"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false}]}},"required":["address","status","error"],"additionalProperties":false}]}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"succeeded":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","succeeded","failed"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"get_call_graph","analysisOperation":"get_call_graph","title":"Get Call Graph","description":"Traverse the bound provider\'s caller or callee relationships from one symbol or address for at most five levels. Every node has an ok/error status and failures use safe typed projections; unresolved indirect calls may be missing and results are not a whole-program CFG.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized procedure address"},"direction":{"default":"forward","type":"string","enum":["forward","backward"],"description":"Direction in which to traverse or compare relationships."},"depth":{"default":2,"type":"integer","minimum":1,"maximum":5,"description":"Value for depth."}},"required":["address"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string","const":"ok"},"calls":{"type":"array","items":{"type":"string"}}},"required":["address","status","calls"],"additionalProperties":false},{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string","const":"error"},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"invalid_request"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"unreadable_output"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"capability_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_timeout"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cancelled"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"logical_path":{"type":"string"},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation","details"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_operation_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"evidence_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"truncated"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"permission_required"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"capability":{"type":"string"},"requested":{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},"missing":{"type":"object","properties":{"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean","const":true}},"additionalProperties":false},"ceiling":{"anyOf":[{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},{"type":"null"}]}},"required":["capability","requested","missing","ceiling"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"process_capture_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cleanup_incomplete"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"revision_conflict"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"outside_approved_root"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"configuration_invalid"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"target_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"execution_failure"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"plan_stale"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false}]}},"required":["address","status","error"],"additionalProperties":false}]}},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"analyze_swift_types","analysisOperation":"analyze_swift_types","title":"Analyze Swift Types","description":"Categorize exhaustively paged procedure names into Swift classes, structs, enums, protocols, extensions, and other symbols. Scans at most 5,000 names and returns at most 50 entries per category.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"categories":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["count","items"],"additionalProperties":false}}},"required":["total","categories"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"find_xrefs_to_name","analysisOperation":"find_xrefs_to_name","title":"Find Xrefs To Name","description":"Resolve an exact name through the bound provider\'s exhaustively paged name inventory and return a resolved or unresolved result. Unresolved names use the stable name_not_found reason; this compact xref workflow returns address-only projections.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."}},"required":["name"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"resolved"},"name":{"type":"string"},"address":{"type":"string"},"xrefs":{"type":"array","items":{"type":"string"}}},"required":["status","name","address","xrefs"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unresolved"},"name":{"type":"string"},"reason":{"type":"string","const":"name_not_found"}},"required":["status","name","reason"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"binary_overview","analysisOperation":"binary_overview","title":"Binary Overview","description":"Use immediately after opening a target to summarize document, exhaustive procedure/string counts, and a bounded segment sample. detail controls segment fields and limit controls only the returned segment sample.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"detail":{"default":"concise","type":"string","enum":["concise","detailed"],"description":"Requested response detail level."},"limit":{"default":10,"type":"integer","minimum":1,"maximum":50,"description":"Maximum number of results to return in this page."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"document":{"type":"string"},"detail":{"type":"string","enum":["concise","detailed"]},"segments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"start":{"type":"string"},"end":{"type":"string"},"length":{"type":"number","minimum":0}},"required":["name","start","end"],"additionalProperties":false}},"segment_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"procedure_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"string_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["document","detail","segments","segment_count","procedure_count","string_count"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"analyze_function","analysisOperation":"analyze_function","title":"Analyze Function","description":"Preferred bounded analysis for one procedure symbol or address. Returns identity, provider-specific pseudocode, optional assembly, comments, calls, typed-or-explicitly-unavailable references, referenced strings/names, and local CFG blocks with exact truncation metadata. Providers with a structured decompiler model also expose native API boundary types, confidence, evidence, jump-table data/target addresses, and explicit decompiler-artifact labels.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"A procedure name or address"},"include_assembly":{"default":false,"type":"boolean","description":"Whether to include assembly in the result."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"max_pseudocode_chars":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted pseudocode chars for this operation."},"max_instructions":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted instructions for this operation."},"pseudocode_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first pseudocode to return."},"assembly_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first assembly to return."},"collection_offset":{"default":{"comments":0,"callers":0,"callees":0,"incoming_references":0,"outgoing_references":0,"referenced_strings":0,"referenced_names":0,"basic_blocks":0},"type":"object","properties":{"comments":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for comments."},"callers":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for callers."},"callees":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for callees."},"incoming_references":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for incoming references."},"outgoing_references":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for outgoing references."},"referenced_strings":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for referenced strings."},"referenced_names":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for referenced names."},"basic_blocks":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for basic blocks."}},"additionalProperties":false,"description":"Zero-based index of the first collection to return."}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]},"signature":{"anyOf":[{"type":"string"},{"type":"null"}]},"locals":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string"},"provenance":{"type":"string","minLength":1}},"required":["description","provenance"],"additionalProperties":false}}},"required":["address","name","classification","signature","locals"],"additionalProperties":false},"pseudocode":{"type":"object","properties":{"text":{"type":"string"},"total_chars":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned_chars":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["text","total_chars","returned_chars","truncated","next_offset"],"additionalProperties":false},"assembly":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"comments":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"kind":{"type":"string","enum":["comment","inline"]},"text":{"type":"string"}},"required":["address","kind","text"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"callers":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"callees":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"incoming_references":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"source_address":{"type":"string"},"target_address":{"type":"string"},"source_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"target_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"kind":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"type":{"type":"string"},"flow":{"type":"boolean"},"call":{"type":"boolean"},"jump":{"type":"boolean"},"data":{"type":"boolean"},"read":{"type":"boolean"},"write":{"type":"boolean"},"indirect":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"terminal":{"type":"boolean"},"primary":{"type":"boolean"},"operand_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"external":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"additionalProperties":false}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"outgoing_references":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"source_address":{"type":"string"},"target_address":{"type":"string"},"source_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"target_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"kind":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"type":{"type":"string"},"flow":{"type":"boolean"},"call":{"type":"boolean"},"jump":{"type":"boolean"},"data":{"type":"boolean"},"read":{"type":"boolean"},"write":{"type":"boolean"},"indirect":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"terminal":{"type":"boolean"},"primary":{"type":"boolean"},"operand_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"external":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"additionalProperties":false}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"referenced_strings":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"source_address":{"type":"string"}},"required":["address","value","source_address"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"referenced_names":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"source_address":{"type":"string"}},"required":["address","value","source_address"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"basic_blocks":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"},"successors":{"type":"array","items":{"type":"string"}}},"required":["start","end","successors"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"instruction_scan":{"type":"object","properties":{"scanned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["scanned","truncated"],"additionalProperties":false},"native_api":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","minLength":1},"residual_unknowns":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["available","reason","residual_unknowns"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"signature_source":{"type":"string","minLength":1},"calling_convention":{"type":"string","minLength":1},"return_type":{"type":"object","properties":{"role":{"type":"string","enum":["return","parameter"]},"ordinal":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"data_type":{"type":"string","minLength":1},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"storage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"]}}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"additionalProperties":false},"parameters":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["return","parameter"]},"ordinal":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"data_type":{"type":"string","minLength":1},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"storage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"]}}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"additionalProperties":false}},"parameters_truncated":{"type":"boolean"},"jump_tables":{"type":"array","items":{"type":"object","properties":{"dispatch_address":{"type":"string","minLength":1},"data_sources":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","minLength":1},"provenance":{"type":"string","enum":["ghidra-decompiler-load-table","ghidra-dispatch-block-data-reference"]},"entry_size_bytes":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"entry_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}}},"required":["address","provenance","entry_size_bytes","entry_count","confidence","evidence"],"additionalProperties":false}},"data_sources_truncated":{"type":"boolean"},"mappings":{"type":"array","items":{"type":"object","properties":{"case_value":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"target_address":{"type":"string","minLength":1},"data_addresses":{"type":"array","items":{"type":"string","minLength":1}},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}}},"required":["case_value","target_address","data_addresses","confidence","evidence"],"additionalProperties":false}},"mappings_truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["dispatch_address","data_sources","data_sources_truncated","mappings","mappings_truncated","limitations"],"additionalProperties":false}},"jump_tables_truncated":{"type":"boolean"},"pseudocode":{"type":"object","properties":{"classification":{"type":"string","const":"decompiler-generated-non-source"},"compilable":{"type":"boolean","const":false}},"required":["classification","compilable"],"additionalProperties":false},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-and-stack-variables","compiler-generated-control-flow","pointer-arithmetic","pseudocode"]}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["available","provenance","signature_source","calling_convention","return_type","parameters","parameters_truncated","jump_tables","jump_tables_truncated","pseudocode","decompiler_artifacts","limitations"],"additionalProperties":false}]},"limitations":{"default":[],"type":"array","items":{"type":"string"}}},"required":["procedure","pseudocode","assembly","comments","callers","callees","incoming_references","outgoing_references","referenced_strings","referenced_names","basic_blocks","instruction_scan","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_native_api","analysisOperation":"inspect_native_api","title":"Inspect Native Api","description":"Reconstruct one native function boundary through inspectable substeps. Returns structured inferred return/parameter types with confidence and evidence, jump-table dispatch/data/target mappings, explicit decompiler-artifact labels, unsupported branches, and residual unknowns.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"A procedure name or address"},"max_pseudocode_chars":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted pseudocode chars for this operation."},"max_instructions":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted instructions for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record unsupported native API branches durably","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"procedure":{"type":"object","properties":{"address":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["address","name"],"additionalProperties":false},"boundary":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","minLength":1},"residual_unknowns":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["available","reason","residual_unknowns"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"signature_source":{"type":"string","minLength":1},"calling_convention":{"type":"string","minLength":1},"return_type":{"type":"object","properties":{"role":{"type":"string","enum":["return","parameter"]},"ordinal":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"data_type":{"type":"string","minLength":1},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"storage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"]}}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"additionalProperties":false},"parameters":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["return","parameter"]},"ordinal":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"data_type":{"type":"string","minLength":1},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"storage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"]}}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"additionalProperties":false}},"parameters_truncated":{"type":"boolean"},"jump_tables":{"type":"array","items":{"type":"object","properties":{"dispatch_address":{"type":"string","minLength":1},"data_sources":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","minLength":1},"provenance":{"type":"string","enum":["ghidra-decompiler-load-table","ghidra-dispatch-block-data-reference"]},"entry_size_bytes":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"entry_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}}},"required":["address","provenance","entry_size_bytes","entry_count","confidence","evidence"],"additionalProperties":false}},"data_sources_truncated":{"type":"boolean"},"mappings":{"type":"array","items":{"type":"object","properties":{"case_value":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"target_address":{"type":"string","minLength":1},"data_addresses":{"type":"array","items":{"type":"string","minLength":1}},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}}},"required":["case_value","target_address","data_addresses","confidence","evidence"],"additionalProperties":false}},"mappings_truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["dispatch_address","data_sources","data_sources_truncated","mappings","mappings_truncated","limitations"],"additionalProperties":false}},"jump_tables_truncated":{"type":"boolean"},"pseudocode":{"type":"object","properties":{"classification":{"type":"string","const":"decompiler-generated-non-source"},"compilable":{"type":"boolean","const":false}},"required":["classification","compilable"],"additionalProperties":false},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-and-stack-variables","compiler-generated-control-flow","pointer-arithmetic","pseudocode"]}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["available","provenance","signature_source","calling_convention","return_type","parameters","parameters_truncated","jump_tables","jump_tables_truncated","pseudocode","decompiler_artifacts","limitations"],"additionalProperties":false}]},"substeps":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["analyze_function","project_native_api_boundary","preserve_residual_unknowns"]},"status":{"type":"string","enum":["completed","unsupported"]},"observations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation","status","observations"],"additionalProperties":false}},"unsupported_branches":{"type":"array","items":{"type":"string","minLength":1}},"residual_unknowns":{"type":"array","items":{"type":"string","minLength":1}}},"required":["schema_version","procedure","boundary","substeps","unsupported_branches","residual_unknowns"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"trace_feature","analysisOperation":"trace_feature","title":"Trace Feature","description":"Trace a bounded literal feature query through matching strings and procedures, xrefs, and truthful containing-procedure resolution. Returns the operation budget, truncation, and residual unknowns; unknown_registry_approved: true records them durably without inferring reference kinds.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Non-empty feature or text query to investigate."},"case_sensitive":{"default":false,"type":"boolean","description":"Whether text matching distinguishes uppercase and lowercase."},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"max_operations":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted operations for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record bounded residuals durably","type":"boolean","const":true}},"required":["query"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"query":{"type":"string"},"search_mode":{"type":"string","const":"literal"},"operations_used":{"type":"integer","minimum":0,"maximum":9007199254740991},"operation_budget":{"type":"integer","minimum":1,"maximum":9007199254740991},"matches":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["string","procedure"]},"address":{"type":"string"},"value":{"type":"string"}},"required":["type","address","value"],"additionalProperties":false}},"references":{"type":"array","items":{"type":"object","properties":{"target_address":{"type":"string"},"source_address":{"type":"string"},"containing_procedure":{"oneOf":[{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":true},"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"required":["query_address","found","procedure"],"additionalProperties":false},{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":false},"procedure":{"type":"null"},"reason":{"type":"string","enum":["outside_segments","not_in_procedure"]}},"required":["query_address","found","procedure","reason"],"additionalProperties":false}]}},"required":["target_address","source_address","containing_procedure"],"additionalProperties":false}},"truncated":{"type":"boolean"},"residual_unknowns":{"type":"array","items":{"type":"string"}}},"required":["query","search_mode","operations_used","operation_budget","matches","references","truncated","residual_unknowns"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"find_code_for_string","analysisOperation":"find_code_for_string","title":"Find Code For String","description":"Resolve one literal string query to bounded analyzed string entries, xrefs, and truthful containing-procedure candidates. Returns an Evidence ID, exact operation budget, truncation, and residual unknowns; it never infers reference kinds or runtime reachability.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Non-empty feature or text query to investigate."},"case_sensitive":{"default":false,"type":"boolean","description":"Whether text matching distinguishes uppercase and lowercase."},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"max_operations":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted operations for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record bounded residuals durably","type":"boolean","const":true}},"required":["query"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"query":{"type":"string"},"search_mode":{"type":"string","const":"literal"},"operations_used":{"type":"integer","minimum":0,"maximum":9007199254740991},"operation_budget":{"type":"integer","minimum":1,"maximum":9007199254740991},"matches":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["string","procedure"]},"address":{"type":"string"},"value":{"type":"string"}},"required":["type","address","value"],"additionalProperties":false}},"references":{"type":"array","items":{"type":"object","properties":{"target_address":{"type":"string"},"source_address":{"type":"string"},"containing_procedure":{"oneOf":[{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":true},"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"required":["query_address","found","procedure"],"additionalProperties":false},{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":false},"procedure":{"type":"null"},"reason":{"type":"string","enum":["outside_segments","not_in_procedure"]}},"required":["query_address","found","procedure","reason"],"additionalProperties":false}]}},"required":["target_address","source_address","containing_procedure"],"additionalProperties":false}},"truncated":{"type":"boolean"},"residual_unknowns":{"type":"array","items":{"type":"string"}}},"required":["query","search_mode","operations_used","operation_budget","matches","references","truncated","residual_unknowns"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"trace_call_path","analysisOperation":"trace_call_path","title":"Trace Call Path","description":"Trace a deterministic bounded caller or callee path from one exact procedure address, optionally stopping at a goal. Returns visited nodes, direct-call edges, one shortest traversal path, failures, frontier, consumed limits, an Evidence ID, and explicit residual unknowns without claiming unresolved indirect calls are absent.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"start":{"type":"string","description":"A provider-normalized procedure address"},"goal":{"type":"string","description":"An optional provider-normalized destination address"},"direction":{"default":"forward","type":"string","enum":["forward","backward"],"description":"Direction in which to traverse or compare relationships."},"max_depth":{"default":5,"type":"integer","minimum":1,"maximum":10,"description":"Maximum permitted depth for this operation."},"max_nodes":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted nodes for this operation."},"max_operations":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted operations for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record bounded residuals durably","type":"boolean","const":true}},"required":["start"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"start":{"type":"string"},"goal":{"anyOf":[{"type":"string"},{"type":"null"}]},"direction":{"type":"string","enum":["forward","backward"]},"goal_status":{"type":"string","enum":["not_requested","reached","not_reached"]},"nodes":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"depth":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["address","depth"],"additionalProperties":false}},"edges":{"type":"array","items":{"type":"object","properties":{"source_address":{"type":"string"},"target_address":{"type":"string"},"discovery_depth":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["source_address","target_address","discovery_depth"],"additionalProperties":false}},"traversal_path":{"type":"array","items":{"type":"string"}},"failures":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"invalid_request"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"unreadable_output"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"capability_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_timeout"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cancelled"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"logical_path":{"type":"string"},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation","details"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_operation_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"evidence_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"truncated"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"permission_required"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"capability":{"type":"string"},"requested":{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},"missing":{"type":"object","properties":{"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean","const":true}},"additionalProperties":false},"ceiling":{"anyOf":[{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},{"type":"null"}]}},"required":["capability","requested","missing","ceiling"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"process_capture_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cleanup_incomplete"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"revision_conflict"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"outside_approved_root"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"configuration_invalid"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"target_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"execution_failure"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"plan_stale"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false}]}},"required":["address","error"],"additionalProperties":false}},"frontier":{"type":"array","items":{"type":"string"}},"limits":{"type":"object","properties":{"max_depth":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_nodes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_operations":{"type":"integer","minimum":1,"maximum":9007199254740991},"nodes_visited":{"type":"integer","minimum":1,"maximum":9007199254740991},"operations_used":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["max_depth","max_nodes","max_operations","nodes_visited","operations_used"],"additionalProperties":false},"truncated":{"type":"boolean"},"residual_unknowns":{"type":"array","items":{"type":"string"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["start","goal","direction","goal_status","nodes","edges","traversal_path","failures","frontier","limits","truncated","residual_unknowns","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"inspect_macho","analysisOperation":"inspect_macho","title":"Inspect Macho","description":"Inspect Mach-O slices, load commands, imports, exports, dependencies, build metadata, segments, sections, permissions, and exact command provenance without launching Hopper.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"format":{"type":"string","const":"mach-o"},"endian":{"anyOf":[{"type":"string","enum":["little","big"]},{"type":"null"}]},"word_size":{"anyOf":[{"anyOf":[{"type":"number","const":32},{"type":"number","const":64}]},{"type":"null"}]},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"type":"array","items":{"type":"string"}},"uuid":{"anyOf":[{"type":"string"},{"type":"null"}]},"entrypoints":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"file_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["file_offset"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"architectures":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"cpu_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"cpu_subtype":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"alignment":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["name","cpu_type","cpu_subtype","file_offset","size","alignment"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"build_metadata":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"platform":{"anyOf":[{"type":"string"},{"type":"null"}]},"minimum_os":{"anyOf":[{"type":"string"},{"type":"null"}]},"sdk":{"anyOf":[{"type":"string"},{"type":"null"}]},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}}},"required":["platform","minimum_os","sdk","tools"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"load_commands":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string"},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"fields":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]}}},"required":["index","kind","file_offset","fields"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"dependencies":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"kind":{"type":"string"},"current_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"compatibility_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","kind","current_version","compatibility_version"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"imports":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"address":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},{"type":"null"}]},"weak":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"reexport":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","address","weak","reexport","source"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"exports":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"address":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},{"type":"null"}]},"weak":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"reexport":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","address","weak","reexport","source"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"segments":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"vm_address":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},{"type":"null"}]},"vm_size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"file_size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"maximum_permissions":{"type":"object","properties":{"read":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"write":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"execute":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"raw":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["read","write","execute","raw"],"additionalProperties":false},"initial_permissions":{"type":"object","properties":{"read":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"write":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"execute":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"raw":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["read","write","execute","raw"],"additionalProperties":false},"sections":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"name":{"type":"string"},"address":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},{"type":"null"}]},"size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"alignment":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"flags":{"type":"array","items":{"type":"string"}}},"required":["segment","name","address","size","file_offset","alignment","flags"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false}},"required":["name","vm_address","vm_size","file_offset","file_size","maximum_permissions","initial_permissions","sections"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["format","endian","word_size","file_type","flags","uuid","entrypoints","architectures","build_metadata","load_commands","dependencies","imports","exports","segments","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_signature","analysisOperation":"inspect_signature","title":"Inspect Signature","description":"Inspect the active artifact\'s code-signing identity, hashes, authorities, requirements, entitlements, hardened-runtime state, and bounded command provenance.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"signed":{"type":"boolean"},"identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"team_identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"format":{"anyOf":[{"type":"string"},{"type":"null"}]},"cdhashes":{"type":"array","items":{"type":"string"}},"hash_algorithms":{"type":"array","items":{"type":"string"}},"authorities":{"type":"array","items":{"type":"string"}},"designated_requirement":{"anyOf":[{"type":"string"},{"type":"null"}]},"entitlements":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}]},"hardened_runtime":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["signed","identifier","team_identifier","format","cdhashes","hash_algorithms","authorities","designated_requirement","entitlements","timestamp","hardened_runtime","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_plist","analysisOperation":"inspect_plist","title":"Inspect Plist","description":"Parse a plist at a bounded relative path beneath the active artifact container. Symlink and traversal escapes are rejected; output is normalized JSON rather than plutil text.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"relative_path":{"default":"Contents/Info.plist","type":"string","minLength":1,"maxLength":1024,"description":"Local filesystem path for relative."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"format":{"type":"string","enum":["xml","binary","json","unknown"]},"value":{"$ref":"#/$defs/__schema0"},"bundle":{"type":"object","properties":{"identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"short_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["identifier","executable","name","version","short_version"],"additionalProperties":false},"source_path":{"type":"string"},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["format","value","bundle","source_path","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_architectures","analysisOperation":"list_architectures","title":"List Architectures","description":"List thin or universal Mach-O slices with offsets, sizes, alignment, explicit coverage, and bounded native-tool provenance.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"architectures":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"cpu_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"cpu_subtype":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"alignment":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["name","cpu_type","cpu_subtype","file_offset","size","alignment"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["architectures","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"demangle_swift","analysisOperation":"demangle_swift","title":"Demangle Swift","description":"Demangle an ordered bounded batch of Swift symbols without requiring Hopper. Each input returns demangled, unchanged, or invalid status.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"symbols":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Ordered bounded Swift symbols to demangle."}},"required":["symbols"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"symbols":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string"},"output":{"type":"string"},"status":{"type":"string","enum":["demangled","unchanged","invalid"]}},"required":["input","output","status"],"additionalProperties":false}},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["symbols","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inventory_artifact","analysisOperation":"inventory_artifact","title":"Inventory Artifact","description":"Inventory the active application or package as a deterministic, content-addressed artifact graph. Returns bounded node and edge pages without extracting or mounting by default.","kind":"artifact-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"native_mount_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for native mount."},"integrity_policy":{"default":"fail","type":"string","enum":["fail","record-and-continue"],"description":"Value for integrity policy."},"integrity_continue_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for integrity continue."},"max_integrity_mismatches":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted integrity mismatches for this operation."},"node_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first node to return."},"node_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of node entries to return."},"occurrence_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first occurrence to return."},"occurrence_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of occurrence entries to return."},"edge_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first edge to return."},"edge_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of edge entries to return."},"max_entries":{"default":10000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted entries for this operation."},"max_total_bytes":{"default":1073741824,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total bytes for this operation."},"max_entry_bytes":{"default":268435456,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":20,"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"manifest":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"root_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"root_format":{"type":"string","enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"]},"graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"occurrence_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"edge_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["schema_version","manifest_id","root_artifact_id","root_sha256","root_format","graph_sha256","node_count","occurrence_count","edge_count"],"additionalProperties":false},"nodes":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["container","executable","dynamic-library","framework","native-addon","javascript","source-map","plist","entitlements","resource","universal-slice","package-metadata","unknown"]},"format":{"type":"string","enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"]},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"executable":{"type":"boolean"},"content_state":{"type":"string","enum":["materialized","embedded","virtual"]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["artifact_id","kind","format","sha256","size","media_type","architecture","executable","content_state","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"occurrences":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"artifact_id":{"anyOf":[{"type":"string","pattern":"^art_[a-f0-9]{64}$"},{"type":"null"}]},"parent_occurrence_id":{"anyOf":[{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},{"type":"null"}]},"logical_path":{"type":"string","minLength":1,"maxLength":4096},"entry_kind":{"type":"string","enum":["file","directory","symlink","slice"]},"declared_size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"compressed_size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"executable":{"type":"boolean"},"encrypted":{"type":"boolean"},"hash_status":{"type":"string","enum":["verified","mismatched","not-hashed-limit","unavailable"]},"source_location":{"anyOf":[{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["offset","length"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["occurrence_id","artifact_id","parent_occurrence_id","logical_path","entry_kind","declared_size","compressed_size","executable","encrypted","hash_status","source_location","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"edges":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"edge_id":{"type":"string","pattern":"^edge_[a-f0-9]{64}$"},"ordinal":{"type":"integer","minimum":0,"maximum":9007199254740991},"parent_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"child_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","extracts","slice-of","embeds","loads","maps-source","derived-from"]},"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"logical_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"producer":{"anyOf":[{"type":"object","properties":{"tool":{"type":"string","minLength":1},"arguments":{"maxItems":1024,"type":"array","items":{"type":"string","maxLength":4096}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"exit_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"effects":{"maxItems":3,"type":"array","items":{"type":"string","enum":["read","write","mount"]}}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"additionalProperties":false},{"type":"null"}]}},"required":["edge_id","ordinal","parent_artifact_id","child_artifact_id","relation","occurrence_id","logical_path","producer"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_entries":{"type":"integer","minimum":1,"maximum":1000000},"max_total_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_entry_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_compression_ratio":{"type":"number","minimum":1,"maximum":100000},"max_depth":{"type":"integer","minimum":0,"maximum":100},"max_path_bytes":{"type":"integer","minimum":1,"maximum":65535}},"required":["max_entries","max_total_bytes","max_entry_bytes","max_compression_ratio","max_depth","max_path_bytes"],"additionalProperties":false},"provenance":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"arguments":{"maxItems":1024,"type":"array","items":{"type":"string","maxLength":4096}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"exit_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"effects":{"maxItems":3,"type":"array","items":{"type":"string","enum":["read","write","mount"]}}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"additionalProperties":false}},"integrity_contradictions":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"contradiction_id":{"type":"string","pattern":"^ic_[a-f0-9]{64}$"},"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"parent_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"logical_path":{"type":"string","minLength":1,"maxLength":4096},"declared_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observed_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"entry_kind":{"type":"string","enum":["file","slice"]},"unpacked":{"type":"boolean"},"trust":{"type":"string","const":"observed-untrusted"},"provenance":{"type":"string","const":"container-integrity-metadata-versus-observed-bytes"},"limitations":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["contradiction_id","occurrence_id","parent_artifact_id","logical_path","declared_sha256","observed_sha256","entry_kind","unpacked","trust","provenance","limitations"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["manifest","nodes","occurrences","edges","limits","provenance","integrity_contradictions","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_artifact","analysisOperation":"inspect_artifact","title":"Inspect Artifact","description":"Inspect the active artifact through one bounded, cancellable inventory substep. Returns the full substep Evidence and its ID, observations, derived relationships, hypotheses, contradictions, unexplored branches, limitations, and format-specific next probes. Any substep failure fails the whole call.","kind":"artifact-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"native_mount_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for native mount."},"integrity_policy":{"default":"fail","type":"string","enum":["fail","record-and-continue"],"description":"Value for integrity policy."},"integrity_continue_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for integrity continue."},"max_integrity_mismatches":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted integrity mismatches for this operation."},"max_observations":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted observations for this operation."},"max_relationships":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted relationships for this operation."},"max_hypotheses":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted hypotheses for this operation."},"max_unexplored_branches":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted unexplored branches for this operation."},"max_next_probes":{"default":20,"type":"integer","minimum":1,"maximum":50,"description":"Maximum permitted next probes for this operation."},"max_substeps":{"default":1,"type":"number","const":1,"description":"Maximum permitted substeps for this operation."},"max_entries":{"default":10000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted entries for this operation."},"max_total_bytes":{"default":1073741824,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total bytes for this operation."},"max_entry_bytes":{"default":268435456,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":20,"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"inspection_id":{"type":"string","pattern":"^ai_[a-f0-9]{64}$"},"subject":{"type":"object","properties":{"manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"root_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"root_format":{"type":"string","minLength":1,"maxLength":128}},"required":["manifest_id","root_artifact_id","root_sha256","root_format"],"additionalProperties":false},"substeps":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"substep_id":{"type":"string","pattern":"^ais_[a-f0-9]{64}$"},"operation":{"type":"string","const":"inventory_artifact"},"status":{"type":"string","const":"completed"},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"evidence":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}},"required":["substep_id","operation","status","evidence_id","evidence"],"additionalProperties":false}},"observations":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"observation_id":{"type":"string","pattern":"^aio_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["root-manifest","artifact","occurrence","integrity"]},"subject":{"type":"string","minLength":1,"maxLength":4096},"value":{"$ref":"#/$defs/__schema0"},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required":["observation_id","kind","subject","value","evidence_id"],"additionalProperties":false}},"derived_relationships":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"relationship_id":{"type":"string","pattern":"^air_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","extracts","slice-of","embeds","loads","maps-source","derived-from"]},"source_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"target_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"logical_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required":["relationship_id","relation","source_artifact_id","target_artifact_id","occurrence_id","logical_path","evidence_id"],"additionalProperties":false}},"hypotheses":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"hypothesis_id":{"type":"string","pattern":"^aih_[a-f0-9]{64}$"},"statement":{"type":"string","minLength":1,"maxLength":4096},"confidence":{"type":"string","enum":["medium","low"]},"basis_evidence_ids":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitation":{"type":"string","minLength":1,"maxLength":4096}},"required":["hypothesis_id","statement","confidence","basis_evidence_ids","limitation"],"additionalProperties":false}},"contradictions":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"contradiction_id":{"type":"string","pattern":"^aic_[a-f0-9]{64}$"},"statement":{"type":"string","minLength":1,"maxLength":4096},"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"declared_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observed_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required":["contradiction_id","statement","occurrence_id","declared_sha256","observed_sha256","evidence_id"],"additionalProperties":false}},"unexplored_branches":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"branch_id":{"type":"string","pattern":"^aib_[a-f0-9]{64}$"},"reason":{"type":"string","enum":["page-limit","format-specific-analysis-required","unknown-format"]},"detail":{"type":"string","minLength":1,"maxLength":4096},"next_probe":{"anyOf":[{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":128},"rationale":{"type":"string","minLength":1,"maxLength":4096},"authority":{"type":"string","enum":["artifact-bytes","managed-static-analysis","native-analysis-provider","ast-static-analysis"]}},"required":["operation","rationale","authority"],"additionalProperties":false},{"type":"null"}]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required":["branch_id","reason","detail","next_probe","evidence_id"],"additionalProperties":false}},"next_probes":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":128},"rationale":{"type":"string","minLength":1,"maxLength":4096},"authority":{"type":"string","enum":["artifact-bytes","managed-static-analysis","native-analysis-provider","ast-static-analysis"]}},"required":["operation","rationale","authority"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-substeps","partial","truncated"]},"substeps_completed":{"type":"number","const":1},"observations_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"observations_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991},"relationships_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"relationships_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991},"hypotheses_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"hypotheses_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991},"unexplored_branches_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"unexplored_branches_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_probes_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_probes_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","substeps_completed","observations_retained","observations_omitted","relationships_retained","relationships_omitted","hypotheses_retained","hypotheses_omitted","unexplored_branches_retained","unexplored_branches_omitted","next_probes_retained","next_probes_omitted"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","inspection_id","subject","substeps","observations","derived_relationships","hypotheses","contradictions","unexplored_branches","next_probes","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"extract_artifact","analysisOperation":"extract_artifact","title":"Extract Artifact","description":"Extract selected graph artifacts beneath an explicit output root. Requires approval, rejects traversal and symlink escapes, never overwrites, enforces bomb limits, and verifies cleanup.","kind":"artifact-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"output_root":{"type":"string","minLength":1,"maxLength":4096,"description":"Approved canonical filesystem output root."},"occurrence_ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"description":"Value for occurrence ids."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"max_entries":{"default":10000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted entries for this operation."},"max_total_bytes":{"default":1073741824,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total bytes for this operation."},"max_entry_bytes":{"default":268435456,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":20,"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."}},"required":["approved","output_root","occurrence_ids"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"manifest":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"root_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"root_format":{"type":"string","enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"]},"graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"occurrence_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"edge_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["schema_version","manifest_id","root_artifact_id","root_sha256","root_format","graph_sha256","node_count","occurrence_count","edge_count"],"additionalProperties":false},"extraction_manifest":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"extraction_id":{"type":"string","pattern":"^aex_[a-f0-9]{64}$"},"source_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"selected_occurrence_ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"}},"files_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_root_alias":{"type":"string","const":"$OUTPUT_ROOT"}},"required":["schema_version","extraction_id","source_manifest_id","selected_occurrence_ids","files_sha256","output_root_alias"],"additionalProperties":false},"output_root":{"type":"string","minLength":1},"artifacts":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"relative_path":{"type":"string","minLength":1,"maxLength":4096},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes_written":{"type":"integer","minimum":0,"maximum":9007199254740991},"created":{"type":"boolean"}},"required":["artifact_id","relative_path","sha256","bytes_written","created"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"containment_verified":{"type":"boolean"},"cleanup":{"type":"object","properties":{"attempted":{"type":"boolean"},"verified":{"type":"boolean"},"residual_paths":{"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["attempted","verified","residual_paths"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_entries":{"type":"integer","minimum":1,"maximum":1000000},"max_total_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_entry_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_compression_ratio":{"type":"number","minimum":1,"maximum":100000},"max_depth":{"type":"integer","minimum":0,"maximum":100},"max_path_bytes":{"type":"integer","minimum":1,"maximum":65535}},"required":["max_entries","max_total_bytes","max_entry_bytes","max_compression_ratio","max_depth","max_path_bytes"],"additionalProperties":false},"provenance":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"arguments":{"maxItems":1024,"type":"array","items":{"type":"string","maxLength":4096}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"exit_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"effects":{"maxItems":3,"type":"array","items":{"type":"string","enum":["read","write","mount"]}}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["manifest","extraction_manifest","output_root","artifacts","containment_verified","cleanup","limits","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_managed_artifact","analysisOperation":"inspect_managed_artifact","title":"Inspect Managed Artifact","description":"Open and classify an explicit managed PE/CLI path, or inspect the active managed target, then inventory exact assembly/module identity, target framework evidence, references, resources, and custom attributes without loading or executing target code. Returns bounded pages and explicit partial or malformed coverage.","kind":"managed-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"description":"Managed PE/CLI path to open before inspection; omit only when a managed target is already active","type":"string","minLength":1},"reference_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first reference to return."},"reference_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of reference entries to return."},"resource_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first resource to return."},"resource_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of resource entries to return."},"attribute_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first attribute to return."},"attribute_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of attribute entries to return."},"max_file_bytes":{"default":268435456,"type":"integer","minimum":4096,"maximum":1073741824,"description":"Maximum permitted file bytes for this operation."},"max_metadata_bytes":{"default":67108864,"type":"integer","minimum":256,"maximum":268435456,"description":"Maximum permitted metadata bytes for this operation."},"max_table_rows":{"default":100000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted table rows for this operation."},"max_heap_item_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted heap item bytes for this operation."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"format":{"type":"string","const":"pe"}},"required":["path","sha256","byte_length","format"],"additionalProperties":false},"pe":{"type":"object","properties":{"machine":{"type":"integer","minimum":0,"maximum":65535},"machine_hex":{"type":"string","pattern":"^0x[0-9a-f]{4}$"},"architecture":{"type":"string","enum":["x86","x86_64","arm","arm64"]},"optional_header":{"type":"string","enum":["pe32","pe32-plus"]},"section_count":{"type":"integer","minimum":1,"maximum":96},"characteristics":{"type":"integer","minimum":0,"maximum":65535},"cli":{"anyOf":[{"type":"object","properties":{"header_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"header_size":{"type":"integer","minimum":72,"maximum":9007199254740991},"runtime_version":{"type":"string"},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"flag_names":{"type":"array","items":{"type":"string"}},"entry_point":{"type":"object","properties":{"kind":{"type":"string","enum":["metadata-token","native-rva","none"]},"value":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","value"],"additionalProperties":false},"metadata_rva":{"type":"integer","minimum":1,"maximum":4294967295},"metadata_size":{"type":"integer","minimum":1,"maximum":4294967295},"resources_rva":{"type":"integer","minimum":0,"maximum":4294967295},"resources_size":{"type":"integer","minimum":0,"maximum":4294967295},"strong_name_rva":{"type":"integer","minimum":0,"maximum":4294967295},"strong_name_size":{"type":"integer","minimum":0,"maximum":4294967295},"managed_native_header_rva":{"type":"integer","minimum":0,"maximum":4294967295},"managed_native_header_size":{"type":"integer","minimum":0,"maximum":4294967295},"ready_to_run_signature":{"type":"boolean"}},"required":["header_offset","header_size","runtime_version","flags","flag_names","entry_point","metadata_rva","metadata_size","resources_rva","resources_size","strong_name_rva","strong_name_size","managed_native_header_rva","managed_native_header_size","ready_to_run_signature"],"additionalProperties":false},{"type":"null"}]}},"required":["machine","machine_hex","architecture","optional_header","section_count","characteristics","cli"],"additionalProperties":false},"classification":{"type":"object","properties":{"status":{"type":"string","enum":["managed","not-managed","malformed"]},"container":{"type":"string","const":"pe"},"runtime_family":{"type":"string","enum":["dotnet-framework","modern-dotnet","unity-mono","mixed-clr-native","unknown"]},"implementation":{"type":"string","enum":["cil","cil-and-ready-to-run","cpp-cli-mixed","metadata-only","not-managed","unknown"]},"managed_architecture":{"type":"string","enum":["anycpu","anycpu-prefer-32","x86","x86_64","arm","arm64","unknown"]},"evidence":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["code","detail","file_offset"],"additionalProperties":false}}},"required":["status","container","runtime_family","implementation","managed_architecture","evidence"],"additionalProperties":false},"metadata":{"type":"object","properties":{"status":{"type":"string","enum":["absent","complete","partial","malformed"]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"stream_names":{"type":"array","items":{"type":"string"}},"table_row_counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":0,"maximum":4294967295}}},"required":["status","version","stream_names","table_row_counts"],"additionalProperties":false},"module":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"generation":{"type":"integer","minimum":0,"maximum":65535},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_base_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"additionalProperties":false},{"type":"null"}]},"assembly":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string","pattern":"^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"hash_algorithm":{"type":"integer","minimum":0,"maximum":4294967295},"public_key":{"type":"object","properties":{"kind":{"type":"string","enum":["none","public-key","public-key-token"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"token":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{16}$"},{"type":"null"}]}},"required":["kind","byte_length","sha256","token"],"additionalProperties":false},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","version","culture","flags","hash_algorithm","public_key","token","row_offset"],"additionalProperties":false},{"type":"null"}]},"target_frameworks":{"type":"array","items":{"type":"string"}},"references":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string","pattern":"^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"public_key_or_token":{"type":"object","properties":{"kind":{"type":"string","enum":["none","public-key","public-key-token"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"token":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{16}$"},{"type":"null"}]}},"required":["kind","byte_length","sha256","token"],"additionalProperties":false},"hash_value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"hash_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","version","culture","flags","public_key_or_token","hash_value_sha256","hash_value_length","token","row_offset"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"resources":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"visibility":{"type":"string","enum":["public","private","unknown"]},"implementation_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"embedded":{"type":"boolean"},"declared_offset":{"type":"integer","minimum":0,"maximum":4294967295},"data_length":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"data_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","flags","visibility","implementation_token","embedded","declared_offset","data_length","data_sha256","token","row_offset"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"attributes":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"parent_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"constructor_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"type_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"value_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"decoded_fixed_string":{"anyOf":[{"type":"string"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["parent_token","constructor_token","type_name","value_length","value_sha256","decoded_fixed_string","token","row_offset"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"coverage":{"type":"object","properties":{"state":{"type":"string","enum":["complete","partial","unavailable"]},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"]},"scope":{"type":"string","minLength":1},"offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"detail":{"type":"string","minLength":1}},"required":["code","scope","offset","detail"],"additionalProperties":false}}},"required":["state","issues"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","artifact","pe","classification","metadata","module","assembly","target_frameworks","references","resources","attributes","coverage","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_managed_members","analysisOperation":"inspect_managed_members","title":"Inspect Managed Members","description":"Inspect bounded PE/CLI metadata members, signatures, raw CIL hashes, limited member-result-v1 decoded-instruction-tuple hashes, separately reported exception regions, call edges, and field-access anchors without loading or executing target code. Metadata tokens are reported as build-local coordinates bound to the artifact SHA-256 and MVID; the v1 tuple hash does not resolve them or fully commit control flow.","kind":"managed-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"type_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first type to return."},"type_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of type entries to return."},"method_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first method to return."},"method_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of method entries to return."},"field_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first field to return."},"field_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of field entries to return."},"member_ref_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first member ref to return."},"member_ref_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of member ref entries to return."},"edge_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first edge to return."},"edge_limit":{"default":250,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum number of edge entries to return."},"instruction_anchor_limit":{"default":100,"type":"integer","minimum":0,"maximum":500,"description":"Maximum number of instruction anchor entries to return."},"max_file_bytes":{"default":268435456,"type":"integer","minimum":4096,"maximum":1073741824,"description":"Maximum permitted file bytes for this operation."},"max_metadata_bytes":{"default":67108864,"type":"integer","minimum":256,"maximum":268435456,"description":"Maximum permitted metadata bytes for this operation."},"max_table_rows":{"default":100000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted table rows for this operation."},"max_heap_item_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted heap item bytes for this operation."},"max_method_body_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted method body bytes for this operation."},"max_method_instructions":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted method instructions for this operation."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"format":{"type":"string","const":"pe"}},"required":["path","sha256","byte_length","format"],"additionalProperties":false},"module":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"generation":{"type":"integer","minimum":0,"maximum":65535},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_base_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"additionalProperties":false},{"type":"null"}]},"metadata":{"type":"object","properties":{"status":{"type":"string","enum":["absent","complete","partial","malformed"]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"table_row_counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":0,"maximum":4294967295}}},"required":["status","version","table_row_counts"],"additionalProperties":false},"identity_scope":{"type":"object","properties":{"token_identity":{"type":"string","const":"build-local"},"requires_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"requires_mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]}},"required":["token_identity","requires_artifact_sha256","requires_mvid"],"additionalProperties":false},"types":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"namespace":{"type":"string"},"name":{"type":"string"},"full_name":{"type":"string"},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"extends_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"field_list":{"type":"object","properties":{"first_row":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"last_row":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["first_row","last_row","count"],"additionalProperties":false},"method_list":{"type":"object","properties":{"first_row":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"last_row":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["first_row","last_row","count"],"additionalProperties":false}},"required":["token","row_offset","namespace","name","full_name","flags","extends_token","field_list","method_list"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"fields":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"declaring_type_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"flags":{"type":"integer","minimum":0,"maximum":65535},"signature":{"type":"object","properties":{"raw_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"raw_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["method","field","unknown"]},"parse_status":{"type":"string","enum":["decoded","partial","unsupported","malformed"]},"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"parameter_types":{"type":"array","items":{"type":"string"}},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"additionalProperties":false}},"required":["token","row_offset","declaring_type_token","declaring_type","name","flags","signature"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"methods":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"declaring_type_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"rva":{"type":"integer","minimum":0,"maximum":4294967295},"impl_flags":{"type":"integer","minimum":0,"maximum":65535},"flags":{"type":"integer","minimum":0,"maximum":65535},"signature":{"type":"object","properties":{"raw_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"raw_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["method","field","unknown"]},"parse_status":{"type":"string","enum":["decoded","partial","unsupported","malformed"]},"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"parameter_types":{"type":"array","items":{"type":"string"}},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"additionalProperties":false},"body":{"type":"object","properties":{"status":{"type":"string","enum":["present","partial","absent","malformed","too-large"]},"header_format":{"type":"string","enum":["tiny","fat","none","unknown"]},"rva":{"type":"integer","minimum":0,"maximum":4294967295},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_stack":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"init_locals":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"local_var_sig_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"il_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"SHA-256 of exactly the raw il_size CIL bytes; excludes the method header, locals signature, alignment, and extra sections"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Member-result-v1 SHA-256 of UTF-8 JSON [opcode, operand_kind, operand] tuples for a complete decode; retains build-local tokens, omits switch targets, and excludes headers, locals, and exception regions"},"instruction_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"decoded_instruction_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_instructions":{"type":"integer","minimum":0,"maximum":9007199254740991},"opcode_counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":1,"maximum":9007199254740991}},"anchors":{"type":"array","items":{"type":"object","properties":{"il_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"opcode":{"type":"string","minLength":1},"operand_kind":{"type":"string","enum":["none","branch","constant","field","method","signature","string","switch","token","type","variable","unknown"]},"operand":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["il_offset","opcode","operand_kind","operand"],"additionalProperties":false}},"exception_regions":{"type":"array","items":{"type":"object","properties":{"flags":{"type":"integer","minimum":0,"maximum":4294967295},"try_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"try_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"handler_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"handler_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"class_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"filter_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["flags","try_offset","try_length","handler_offset","handler_length","class_token","filter_offset"],"additionalProperties":false}},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","header_format","rva","file_offset","max_stack","init_locals","local_var_sig_token","il_size","il_sha256","normalized_il_sha256","instruction_count","decoded_instruction_count","truncated_instructions","opcode_counts","anchors","exception_regions","issue"],"additionalProperties":false}},"required":["token","row_offset","declaring_type_token","declaring_type","name","rva","impl_flags","flags","signature","body"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"member_refs":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"parent_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"name":{"type":"string"},"signature":{"type":"object","properties":{"raw_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"raw_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["method","field","unknown"]},"parse_status":{"type":"string","enum":["decoded","partial","unsupported","malformed"]},"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"parameter_types":{"type":"array","items":{"type":"string"}},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"additionalProperties":false}},"required":["token","row_offset","parent_token","name","signature"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"call_edges":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"caller_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"caller":{"anyOf":[{"type":"string"},{"type":"null"}]},"opcode":{"type":"string"},"target_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"target_kind":{"type":"string","enum":["method-def","member-ref","method-spec","unknown"]},"target_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["caller_token","caller","opcode","target_token","target_kind","target_name"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"field_accesses":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"method_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"method":{"anyOf":[{"type":"string"},{"type":"null"}]},"opcode":{"type":"string"},"field_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"field_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["method_token","method","opcode","field_token","field_name"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"coverage":{"type":"object","properties":{"state":{"type":"string","enum":["complete","partial","unavailable"]},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"]},"scope":{"type":"string","minLength":1},"offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"detail":{"type":"string","minLength":1}},"required":["code","scope","offset","detail"],"additionalProperties":false}}},"required":["state","issues"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","artifact","module","metadata","identity_scope","types","fields","methods","member_refs","call_edges","field_accesses","coverage","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_managed_native_boundaries","analysisOperation":"inspect_managed_native_boundaries","title":"Inspect Managed Native Boundaries","description":"Inspect PE/CLI ModuleRef, ImplMap/PInvoke declarations, CLI native-header indicators, and non-IL method implementation flags without loading or executing target code. Results are managed declarations and degraded native-boundary observations, not verified native exports or addresses.","kind":"managed-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"module_ref_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first module ref to return."},"module_ref_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of module ref entries to return."},"import_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first import to return."},"import_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of import entries to return."},"implementation_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first implementation to return."},"implementation_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of implementation entries to return."},"max_file_bytes":{"default":268435456,"type":"integer","minimum":4096,"maximum":1073741824,"description":"Maximum permitted file bytes for this operation."},"max_metadata_bytes":{"default":67108864,"type":"integer","minimum":256,"maximum":268435456,"description":"Maximum permitted metadata bytes for this operation."},"max_table_rows":{"default":100000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted table rows for this operation."},"max_heap_item_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted heap item bytes for this operation."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"format":{"type":"string","const":"pe"}},"required":["path","sha256","byte_length","format"],"additionalProperties":false},"module":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"generation":{"type":"integer","minimum":0,"maximum":65535},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_base_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"additionalProperties":false},{"type":"null"}]},"metadata":{"type":"object","properties":{"status":{"type":"string","enum":["absent","complete","partial","malformed"]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"table_row_counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":0,"maximum":4294967295}}},"required":["status","version","table_row_counts"],"additionalProperties":false},"identity_scope":{"type":"object","properties":{"token_identity":{"type":"string","const":"build-local"},"requires_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"requires_mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]}},"required":["token_identity","requires_artifact_sha256","requires_mvid"],"additionalProperties":false},"cli_native":{"type":"object","properties":{"il_only":{"type":"boolean"},"requires_32bit":{"type":"boolean"},"strong_name_signed":{"type":"boolean"},"native_entry_point":{"type":"boolean"},"ready_to_run_signature":{"type":"boolean"},"managed_native_header_rva":{"type":"integer","minimum":0,"maximum":4294967295},"managed_native_header_size":{"type":"integer","minimum":0,"maximum":4294967295}},"required":["il_only","requires_32bit","strong_name_signed","native_entry_point","ready_to_run_signature","managed_native_header_rva","managed_native_header_size"],"additionalProperties":false},"module_refs":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"type":"string"}},"required":["token","row_offset","name"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"pinvoke_imports":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"mapping_flags":{"type":"integer","minimum":0,"maximum":65535},"mapping_flags_hex":{"type":"string","pattern":"^0x[0-9a-f]{4}$"},"member_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"member_kind":{"type":"string","enum":["method","field","unknown"]},"member_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"import_name":{"type":"string"},"import_scope_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"import_scope_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"no_mangle":{"type":"boolean"},"char_set":{"type":"string","enum":["not-specified","ansi","unicode","auto","unknown"]},"call_convention":{"type":"string","enum":["not-specified","winapi","cdecl","stdcall","thiscall","fastcall","unknown"]},"supports_last_error":{"type":"boolean"},"best_fit":{"type":"string","enum":["assembly-default","enabled","disabled","unknown"]},"throw_on_unmappable_char":{"type":"string","enum":["assembly-default","enabled","disabled","unknown"]},"verification":{"type":"string","const":"managed-declaration-only"}},"required":["token","row_offset","mapping_flags","mapping_flags_hex","member_token","member_kind","member_name","import_name","import_scope_token","import_scope_name","no_mangle","char_set","call_convention","supports_last_error","best_fit","throw_on_unmappable_char","verification"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"native_implementations":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"type":"string"},"rva":{"type":"integer","minimum":0,"maximum":4294967295},"flags":{"type":"integer","minimum":0,"maximum":65535},"impl_flags":{"type":"integer","minimum":0,"maximum":65535},"code_type":{"type":"string","enum":["il","native","optil","runtime","unknown"]},"managed_kind":{"type":"string","enum":["managed","unmanaged","unknown"]},"pinvoke_declared":{"type":"boolean"},"boundary_kind":{"type":"string","enum":["pinvoke","native-body","runtime-provided","unmanaged-method","mixed-or-unknown"]},"body_interpretation":{"type":"string","enum":["managed-cil","native-or-runtime","not-file-backed","unknown"]}},"required":["token","row_offset","name","rva","flags","impl_flags","code_type","managed_kind","pinvoke_declared","boundary_kind","body_interpretation"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"summary":{"type":"object","properties":{"module_ref_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"pinvoke_import_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_implementation_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"ready_to_run":{"type":"boolean"},"mixed_mode_or_native_header":{"type":"boolean"}},"required":["module_ref_count","pinvoke_import_count","native_implementation_count","ready_to_run","mixed_mode_or_native_header"],"additionalProperties":false},"coverage":{"type":"object","properties":{"state":{"type":"string","enum":["complete","partial","unavailable"]},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"]},"scope":{"type":"string","minLength":1},"offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"detail":{"type":"string","minLength":1}},"required":["code","scope","offset","detail"],"additionalProperties":false}}},"required":["state","issues"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","artifact","module","metadata","identity_scope","cli_native","module_refs","pinvoke_imports","native_implementations","summary","coverage","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_managed_members","analysisOperation":null,"title":"Compare Managed Members","description":"Compare two authenticated inspect_managed_members Evidence records using unique-only decoded-CIL-v1/signature and structural method-shape tiers. Names are reported as observations but are not used as a matching basis; metadata tokens remain build-local coordinates bound to each artifact SHA-256 and MVID, and the v1 tuple digest does not itself remap them.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"},"limits":{"default":{"max_method_matches":10000,"max_field_matches":5000,"max_candidates":50},"type":"object","properties":{"max_method_matches":{"default":10000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted method matches for this operation."},"max_field_matches":{"default":5000,"type":"integer","minimum":0,"maximum":50000,"description":"Maximum permitted field matches for this operation."},"max_candidates":{"default":50,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted candidates for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["left_evidence_id","right_evidence_id"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_id":{"type":"string","pattern":"^mmc_[a-f0-9]{64}$"},"algorithm":{"type":"object","properties":{"name":{"type":"string","const":"rea-managed-member-comparison"},"version":{"type":"number","const":1},"token_identity":{"type":"string","const":"build-local"},"name_matching":{"type":"string","const":"not-used"}},"required":["name","version","token_identity","name_matching"],"additionalProperties":false},"left":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]},"methods_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields_total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["evidence_id","artifact_sha256","mvid","module_name","metadata_status","methods_total","fields_total"],"additionalProperties":false},"right":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]},"methods_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields_total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["evidence_id","artifact_sha256","mvid","module_name","metadata_status","methods_total","fields_total"],"additionalProperties":false},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","changed","added","removed","unknown"],"additionalProperties":false},"matching":{"type":"object","properties":{"exact_il_signature":{"type":"integer","minimum":0,"maximum":9007199254740991},"structural_method_shape":{"type":"integer","minimum":0,"maximum":9007199254740991},"field_signature":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous":{"type":"integer","minimum":0,"maximum":9007199254740991},"unmatched":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["exact_il_signature","structural_method_shape","field_signature","ambiguous","unmatched"],"additionalProperties":false},"methods":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","pattern":"^mmc_method_[a-f0-9]{64}$"},"status":{"type":"string","enum":["unchanged","changed","added","removed","unknown"]},"left":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256"],"additionalProperties":false},{"type":"null"}]},"right":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256"],"additionalProperties":false},{"type":"null"}]},"match":{"type":"object","properties":{"status":{"type":"string","enum":["matched","unmatched","ambiguous"]},"basis":{"type":"string","enum":["exact-il-signature","structural-method-shape","field-signature","none"]},"confidence":{"type":"string","enum":["exact","high","unknown"]},"candidate_left_tokens":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^0x[0-9a-f]{8}$"}},"candidate_right_tokens":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^0x[0-9a-f]{8}$"}}},"required":["status","basis","confidence","candidate_left_tokens","candidate_right_tokens"],"additionalProperties":false},"dimensions":{"maxItems":7,"type":"array","items":{"type":"string","enum":["signature","cil","opcode-shape","call-shape","field-shape","exception-shape","availability"]}},"evidence_links":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["item_id","status","left","right","match","dimensions","evidence_links","limitations"],"additionalProperties":false}},"fields":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","pattern":"^mmc_field_[a-f0-9]{64}$"},"status":{"type":"string","enum":["unchanged","changed","added","removed","unknown"]},"left":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["token","declaring_type","name","signature_sha256"],"additionalProperties":false},{"type":"null"}]},"right":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["token","declaring_type","name","signature_sha256"],"additionalProperties":false},{"type":"null"}]},"match":{"type":"object","properties":{"status":{"type":"string","enum":["matched","unmatched","ambiguous"]},"basis":{"type":"string","enum":["exact-il-signature","structural-method-shape","field-signature","none"]},"confidence":{"type":"string","enum":["exact","high","unknown"]},"candidate_left_tokens":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^0x[0-9a-f]{8}$"}},"candidate_right_tokens":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^0x[0-9a-f]{8}$"}}},"required":["status","basis","confidence","candidate_left_tokens","candidate_right_tokens"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["item_id","status","left","right","match","evidence_links","limitations"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"left_status":{"type":"string","enum":["complete","partial","unavailable"]},"right_status":{"type":"string","enum":["complete","partial","unavailable"]},"omitted_methods":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","left_status","right_status","omitted_methods","omitted_fields","omitted_candidates"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","comparison_id","algorithm","left","right","summary","matching","methods","fields","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"verify_managed_native_boundaries","analysisOperation":null,"title":"Verify Managed Native Boundaries","description":"Verify managed P/Invoke/native-boundary declarations against authenticated native export or function Evidence without executing managed code or translating managed metadata tokens into native addresses. The workflow preserves declaration-only, verified, inferred, contradicted, and unresolved states.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"managed_boundaries_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_native_boundaries Evidence ID"},"native_observation_evidence_ids":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_macho or analyze_function Evidence ID"},"description":"Unique session-owned native observation Evidence IDs"},"limits":{"default":{"max_native_observations":20,"max_candidates_per_import":25},"type":"object","properties":{"max_native_observations":{"default":20,"type":"integer","minimum":1,"maximum":50,"description":"Maximum permitted native observations for this operation."},"max_candidates_per_import":{"default":25,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted candidates per import for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["managed_boundaries_evidence_id","native_observation_evidence_ids"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"verification_id":{"type":"string","pattern":"^mnv_[a-f0-9]{64}$"},"algorithm":{"type":"object","properties":{"name":{"type":"string","const":"rea-managed-native-verification"},"version":{"type":"number","const":1},"token_identity":{"type":"string","const":"build-local"},"token_to_address_mapping":{"type":"string","const":"not-inferred"}},"required":["name","version","token_identity","token_to_address_mapping"],"additionalProperties":false},"managed_boundary":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact_path":{"type":"string","minLength":1},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]},"pinvoke_imports_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_implementations_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"coverage_state":{"type":"string","enum":["complete","partial","unavailable"]}},"required":["evidence_id","artifact_sha256","artifact_path","mvid","metadata_status","pinvoke_imports_total","native_implementations_total","coverage_state"],"additionalProperties":false},"native_observations":{"type":"object","properties":{"total":{"type":"integer","minimum":1,"maximum":9007199254740991},"accepted":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported":{"type":"integer","minimum":0,"maximum":9007199254740991},"symbols":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["total","accepted","unsupported","symbols","truncated"],"additionalProperties":false},"summary":{"type":"object","properties":{"verified":{"type":"integer","minimum":0,"maximum":9007199254740991},"inferred":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991},"contradicted":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_body_unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["verified","inferred","unresolved","contradicted","native_body_unresolved"],"additionalProperties":false},"pinvoke_imports":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","pattern":"^mnv_pinvoke_[a-f0-9]{64}$"},"managed":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"member_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"member_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"import_name":{"type":"string","minLength":1},"import_scope_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"no_mangle":{"type":"boolean"},"char_set":{"type":"string","enum":["not-specified","ansi","unicode","auto","unknown"]},"call_convention":{"type":"string","enum":["not-specified","winapi","cdecl","stdcall","thiscall","fastcall","unknown"]},"declaration_verification":{"type":"string","const":"managed-declaration-only"}},"required":["token","member_token","member_name","import_name","import_scope_name","no_mangle","char_set","call_convention","declaration_verification"],"additionalProperties":false},"status":{"type":"string","enum":["verified","inferred","unresolved","contradicted"]},"basis":{"type":"string","enum":["exact-export-name","exact-function-name","decorated-name-candidate","module-mismatch","no-native-candidate","unsupported-native-evidence"]},"confidence":{"type":"string","enum":["observed","inferred","unknown"]},"matched_native":{"anyOf":[{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"operation":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_path":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"type":"string","enum":["macho-export","function-dossier"]}},"required":["evidence_id","operation","name","address","module_name","module_path","source"],"additionalProperties":false},{"type":"null"}]},"candidates":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"operation":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_path":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"type":"string","enum":["macho-export","function-dossier"]}},"required":["evidence_id","operation","name","address","module_name","module_path","source"],"additionalProperties":false}},"evidence_links":{"minItems":1,"maxItems":51,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["item_id","managed","status","basis","confidence","matched_native","candidates","evidence_links","limitations"],"additionalProperties":false}},"native_implementations":{"type":"object","properties":{"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":4096}},"required":["unresolved","reason"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"omitted_native_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","omitted_native_observations","omitted_candidates"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":51,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","verification_id","algorithm","managed_boundary","native_observations","summary","pinvoke_imports","native_implementations","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"import_managed_reconstruction","analysisOperation":null,"title":"Import Managed Reconstruction","description":"Import decompiler-produced managed reconstruction against authenticated inspect_managed_members Evidence. The workflow locks each method to artifact SHA-256, MVID, metadata token, signature hash, and the limited member-result-v1 decoded-IL tuple hash, records the decompiler identity and options, and marks C# or pseudocode as analyst inference rather than canonical byte observation.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"decompiler":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":512,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}],"description":"Value for version."},"family":{"type":"string","enum":["ilspy","dnspy","dnlib","mono-cecil","other"],"description":"Value for family."},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of executable."},"options":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":512},"description":"Value for options."}},"required":["name","version","family","executable_sha256"],"additionalProperties":false,"description":"Value for decompiler."},"methods":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$","description":"Value for token."},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of signature."},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of normalized il."},"reconstruction":{"type":"object","properties":{"kind":{"type":"string","enum":["decompiled-csharp","decompiled-il","semantic-pseudocode"],"description":"Value for kind."},"language":{"type":"string","enum":["csharp","il","pseudocode"],"description":"Value for language."},"text":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for text."},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of text."},"source_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Local filesystem path for source."},"start_line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}],"description":"Value for start line."},"end_line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}],"description":"Value for end line."}},"required":["kind","language","text"],"additionalProperties":false,"description":"Value for reconstruction."}},"required":["token","signature_sha256","normalized_il_sha256","reconstruction"],"additionalProperties":false},"description":"Value for methods."},"notes":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for notes."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."},"static_members_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"}},"required":["decompiler","methods","static_members_evidence_id"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"reconstruction_id":{"type":"string","pattern":"^mre_[a-f0-9]{64}$"},"phase":{"type":"string","const":"reconstruction-import"},"executed":{"type":"boolean","const":false},"static_observation":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact_path":{"type":"string","minLength":1},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]}},"required":["evidence_id","artifact_sha256","artifact_path","byte_length","module_name","mvid","metadata_status"],"additionalProperties":false},"decompiler":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":512},"version":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"family":{"type":"string","enum":["ilspy","dnspy","dnlib","mono-cecil","other"]},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"options":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":512}},"options_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["name","version","family","executable_sha256","options","options_sha256"],"additionalProperties":false},"summary":{"type":"object","properties":{"imported_methods":{"type":"integer","minimum":1,"maximum":50},"decompiled_csharp_methods":{"type":"integer","minimum":0,"maximum":50},"decompiled_il_methods":{"type":"integer","minimum":0,"maximum":50},"pseudocode_methods":{"type":"integer","minimum":0,"maximum":50},"total_text_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["imported_methods","decompiled_csharp_methods","decompiled_il_methods","pseudocode_methods","total_text_bytes"],"additionalProperties":false},"methods":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"body_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"il_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"reconstruction":{"type":"object","properties":{"kind":{"type":"string","enum":["decompiled-csharp","decompiled-il","semantic-pseudocode"]},"language":{"type":"string","enum":["csharp","il","pseudocode"]},"text":{"type":"string","minLength":1,"maxLength":65536},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"text_length":{"type":"integer","minimum":1,"maximum":65536},"line_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"source_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"start_line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"end_line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]}},"required":["kind","language","text","text_sha256","text_length","line_count","source_path","start_line","end_line"],"additionalProperties":false},"validation":{"type":"object","properties":{"matched_static_member":{"type":"boolean","const":true},"exact_build_required":{"type":"boolean","const":true},"canonical_observation":{"type":"boolean","const":false},"confidence_floor":{"type":"string","const":"inference"}},"required":["matched_static_member","exact_build_required","canonical_observation","confidence_floor"],"additionalProperties":false}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256","body_sha256","il_size","reconstruction","validation"],"additionalProperties":false}},"notes":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","reconstruction_id","phase","executed","static_observation","decompiler","summary","methods","notes","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"plan_managed_runtime_correlation","analysisOperation":null,"title":"Plan Managed Runtime Correlation","description":"Prepare a separately authorized managed runtime-correlation admission plan from authenticated inspect_managed_members Evidence. The operation is default-disabled, requires the managed_runtime permission ceiling and grant, locks the exact artifact SHA-256, MVID, method signature, and limited member-result-v1 decoded-IL tuple hash, distinguishes attach/load/debugger/reflection/instrumentation effects, and records that no target code was executed.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"method":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$","description":"Value for token."},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of signature."},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of normalized il."}},"required":["token","signature_sha256","normalized_il_sha256"],"additionalProperties":false,"description":"Value for method."},"requested_effect":{"type":"string","enum":["attach","load","debugger","reflection","instrumentation"],"description":"Value for requested effect."},"host":{"type":"object","properties":{"os":{"type":"string","enum":["linux","macos","windows"],"description":"Value for os."},"clr_family":{"type":"string","enum":["dotnet","dotnet-framework","mono","unknown"],"description":"Value for clr family."},"architecture":{"type":"string","enum":["x86","x86_64","arm","arm64"],"description":"Value for architecture."}},"required":["os","clr_family","architecture"],"additionalProperties":false,"description":"Value for host."},"bounds":{"default":{"timeout_ms":5000,"max_threads":32,"max_output_bytes":65536,"allow_network":false,"allow_ui":false},"type":"object","properties":{"timeout_ms":{"default":5000,"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"max_threads":{"default":32,"type":"integer","minimum":1,"maximum":256,"description":"Maximum permitted threads for this operation."},"max_output_bytes":{"default":65536,"type":"integer","minimum":0,"maximum":1048576,"description":"Maximum permitted output bytes for this operation."},"allow_network":{"default":false,"type":"boolean","const":false,"description":"Value for allow network."},"allow_ui":{"default":false,"type":"boolean","const":false,"description":"Value for allow ui."}},"additionalProperties":false,"description":"Value for bounds."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."},"static_members_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"}},"required":["method","requested_effect","host","static_members_evidence_id"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"correlation_id":{"type":"string","pattern":"^mrc_[a-f0-9]{64}$"},"phase":{"type":"string","const":"admission-plan"},"executed":{"type":"boolean","const":false},"authority_model":{"type":"object","properties":{"capability":{"type":"string","const":"managed_runtime"},"permission_grant_id":{"type":"string","minLength":1},"default_enabled":{"type":"boolean","const":false},"per_call_approval_required":{"type":"boolean","const":true}},"required":["capability","permission_grant_id","default_enabled","per_call_approval_required"],"additionalProperties":false},"static_observation":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact_path":{"type":"string","minLength":1},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]}},"required":["evidence_id","artifact_sha256","artifact_path","byte_length","module_name","mvid","metadata_status"],"additionalProperties":false},"method_lock":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"body_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"il_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"body_status":{"type":"string","enum":["present","partial","absent","malformed","too-large"]},"exact_build_required":{"type":"boolean","const":true}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256","body_sha256","il_size","body_status","exact_build_required"],"additionalProperties":false},"requested_runtime":{"type":"object","properties":{"effect":{"type":"string","enum":["attach","load","debugger","reflection","instrumentation"]},"host":{"type":"object","properties":{"os":{"type":"string","enum":["linux","macos","windows"]},"clr_family":{"type":"string","enum":["dotnet","dotnet-framework","mono","unknown"]},"architecture":{"type":"string","enum":["x86","x86_64","arm","arm64"]}},"required":["os","clr_family","architecture"],"additionalProperties":false},"executable_path":{"type":"string","minLength":1},"network":{"type":"string","const":"none"},"filesystem":{"type":"string","const":"owned-artifacts-only"}},"required":["effect","host","executable_path","network","filesystem"],"additionalProperties":false},"effect_taxonomy":{"type":"object","properties":{"attaches_process":{"type":"boolean"},"loads_target":{"type":"boolean"},"uses_debugger":{"type":"boolean"},"uses_reflection":{"type":"boolean"},"instruments_code":{"type":"boolean"},"invokes_target_code":{"type":"boolean","const":false}},"required":["attaches_process","loads_target","uses_debugger","uses_reflection","instruments_code","invokes_target_code"],"additionalProperties":false},"bounds":{"type":"object","properties":{"timeout_ms":{"default":5000,"type":"integer","minimum":1,"maximum":60000},"max_threads":{"default":32,"type":"integer","minimum":1,"maximum":256},"max_output_bytes":{"default":65536,"type":"integer","minimum":0,"maximum":1048576},"allow_network":{"default":false,"type":"boolean","const":false},"allow_ui":{"default":false,"type":"boolean","const":false}},"required":["timeout_ms","max_threads","max_output_bytes","allow_network","allow_ui"],"additionalProperties":false},"unsupported_until_executor_exists":{"type":"boolean","const":true},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","correlation_id","phase","executed","authority_model","static_observation","method_lock","requested_runtime","effect_taxonomy","bounds","unsupported_until_executor_exists","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"project_managed_application_graph","analysisOperation":null,"title":"Project Managed Application Graph","description":"Project authenticated managed artifact, member, and native-boundary Evidence into the provider-neutral application graph without executing managed code, loading assemblies, or translating managed metadata tokens to native addresses. The graph preserves managed static observations as managed-specific nodes linked to source Evidence.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"managed_artifact_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_artifact Evidence ID"},"managed_members_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"},"managed_native_boundaries_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_native_boundaries Evidence ID"},"limits":{"default":{"max_types":5000,"max_methods":10000,"max_fields":5000,"max_pinvoke_imports":5000,"max_native_implementations":5000},"type":"object","properties":{"max_types":{"default":5000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted types for this operation."},"max_methods":{"default":10000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted methods for this operation."},"max_fields":{"default":5000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted fields for this operation."},"max_pinvoke_imports":{"default":5000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted pinvoke imports for this operation."},"max_native_implementations":{"default":5000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted native implementations for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"projection_id":{"type":"string","pattern":"^magp_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"source_evidence":{"type":"object","properties":{"managed_artifact_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]},"managed_members_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]},"managed_native_boundaries_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]}},"required":["managed_artifact_evidence_id","managed_members_evidence_id","managed_native_boundaries_evidence_id"],"additionalProperties":false},"summary":{"type":"object","properties":{"graph_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"graph_edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"assemblies":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"types":{"type":"integer","minimum":0,"maximum":9007199254740991},"methods":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"pinvoke_imports":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_implementations":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["graph_nodes","graph_edges","assemblies","modules","types","methods","fields","pinvoke_imports","native_implementations"],"additionalProperties":false},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"omitted_types":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_methods":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_pinvoke_imports":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_native_implementations":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","omitted_types","omitted_methods","omitted_fields","omitted_pinvoke_imports","omitted_native_implementations"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","projection_id","root_artifact_sha256","source_evidence","summary","graph","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_browser_targets","analysisOperation":null,"title":"List Browser Targets","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.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit approval for browser observation"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":200,"description":"Maximum number of results to return in this page."}},"required":["cdp_endpoint","allowed_origins","approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"targets":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"origin":{"type":"string"},"attached":{"type":"boolean"}},"required":["target_id","type","title","url","origin","attached"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false},"excluded":{"type":"object","properties":{"disallowed_origin":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported_url":{"type":"integer","minimum":0,"maximum":9007199254740991},"non_page":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["disallowed_origin","unsupported_url","non_page"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","targets","excluded","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_web_page","analysisOperation":null,"title":"Inspect Web Page","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.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit approval for browser observation"},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"observation_ms":{"default":500,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"include_accessibility_text":{"default":false,"type":"boolean","description":"Whether to include accessibility text in the result."},"include_console_text":{"default":false,"type":"boolean","description":"Whether to include console text in the result."},"console_text_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for console text."},"include_json_body_shapes":{"default":false,"type":"boolean","description":"Whether to include json body shapes in the result."},"json_body_schema_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for json body schema."},"include_websocket_shapes":{"default":false,"type":"boolean","description":"Whether to include websocket shapes in the result."},"websocket_shape_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for websocket shape."},"include_script_sources":{"default":false,"type":"boolean","description":"Whether to include script sources in the result."},"include_storage_keys":{"default":false,"type":"boolean","description":"Whether to include storage keys in the result."},"include_storage_fingerprints":{"default":false,"type":"boolean","description":"Whether to include storage fingerprints in the result."},"limits":{"default":{"max_frames":200,"max_dom_nodes":2000,"max_ax_nodes":2000,"max_ax_text_field_bytes":1024,"max_total_ax_text_bytes":65536,"max_scripts":200,"max_resources":2000,"max_workers":500,"max_storage_keys":1000,"max_script_source_bytes":1048576,"max_total_script_source_bytes":4194304,"max_network_events":1000,"max_console_events":200,"max_console_text_field_bytes":1024,"max_total_console_text_bytes":65536,"max_json_body_bytes":1048576,"max_total_json_body_bytes":4194304,"max_json_shape_nodes":5000,"max_json_shape_depth":20,"max_websocket_events":500,"max_websocket_shape_bytes":65536,"max_total_websocket_shape_bytes":1048576},"type":"object","properties":{"max_frames":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted frames for this operation."},"max_dom_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted dom nodes for this operation."},"max_ax_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted ax nodes for this operation."},"max_ax_text_field_bytes":{"default":1024,"type":"integer","minimum":1,"maximum":16384,"description":"Maximum permitted ax text field bytes for this operation."},"max_total_ax_text_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted total ax text bytes for this operation."},"max_scripts":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted scripts for this operation."},"max_resources":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted resources for this operation."},"max_workers":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted workers for this operation."},"max_storage_keys":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted storage keys for this operation."},"max_script_source_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted script source bytes for this operation."},"max_total_script_source_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total script source bytes for this operation."},"max_network_events":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted network events for this operation."},"max_console_events":{"default":200,"type":"integer","minimum":1,"maximum":2000,"description":"Maximum permitted console events for this operation."},"max_console_text_field_bytes":{"default":1024,"type":"integer","minimum":1,"maximum":16384,"description":"Maximum permitted console text field bytes for this operation."},"max_total_console_text_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted total console text bytes for this operation."},"max_json_body_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted json body bytes for this operation."},"max_total_json_body_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total json body bytes for this operation."},"max_json_shape_nodes":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted json shape nodes for this operation."},"max_json_shape_depth":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted json shape depth for this operation."},"max_websocket_events":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted websocket events for this operation."},"max_websocket_shape_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted websocket shape bytes for this operation."},"max_total_websocket_shape_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total websocket shape bytes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["cdp_endpoint","allowed_origins","approved","target_id"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"origin":{"type":"string"},"attached":{"type":"boolean"}},"required":["target_id","type","title","url","origin","attached"],"additionalProperties":false},"capture_window":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["started_at","ended_at","observation_ms"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"frames":{"type":"array","items":{"type":"object","properties":{"frame_id":{"type":"string"},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["frame_id","parent_frame_id","url","origin"],"additionalProperties":false}},"dom":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"nodes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"parent_index":{"type":"integer","minimum":-1,"maximum":9007199254740991},"node_type":{"type":"integer","minimum":0,"maximum":9007199254740991},"node_name":{"type":"string"},"node_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"attribute_names":{"type":"array","items":{"type":"string"}}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"additionalProperties":false}}},"required":["total_nodes","nodes"],"additionalProperties":false},"accessibility":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated","unavailable"]},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_fields":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"additionalProperties":false},"nodes":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"ignored":{"type":"boolean"},"states":{"default":[],"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}]}},"required":["name","value"],"additionalProperties":false}}},"required":["node_id","parent_id","role","name","description","ignored","states"],"additionalProperties":false}}},"required":["total_nodes","text_capture","nodes"],"additionalProperties":false},"scripts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$"},"frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"cdp_hash":{"type":"string"},"length":{"type":"integer","minimum":0,"maximum":9007199254740991},"is_module":{"type":"boolean"},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"resource_reconciliation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"exact"},"resource_key":{"type":"string"}},"required":["status","resource_key"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"ambiguous"},"candidate_resource_keys":{"type":"array","items":{"type":"string"}}},"required":["status","candidate_resource_keys"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unmatched"},"reason":{"type":"string","const":"no_exact_sanitized_url"}},"required":["status","reason"],"additionalProperties":false}]},"source":{"oneOf":[{"type":"object","properties":{"included":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["included","reason"],"additionalProperties":false},{"type":"object","properties":{"included":{"type":"boolean","const":true},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text":{"type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false}},"required":["included","artifact"],"additionalProperties":false}]}},"required":["script_key","frame_id","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"additionalProperties":false}}},"required":["total","items"],"additionalProperties":false},"resources":{"type":"array","items":{"type":"object","properties":{"resource_key":{"type":"string","pattern":"^res_[a-f0-9]{64}$"},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"type":"string"},"mime_type":{"type":"string"},"content_size":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["resource_key","url","origin","type","mime_type","content_size"],"additionalProperties":false}},"network":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string"},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"method":{"type":"string"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"number"},{"type":"null"}]},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"encoded_data_length":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"initiator":{"type":"object","properties":{"type":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["type","url","line","column"],"additionalProperties":false},"body_shapes":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","partial","unavailable","truncated"]},"request":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"]},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]}},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["path","types","observations"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}]},"response":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"]},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]}},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["path","types","observations"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}]}},"required":["status","request","response"],"additionalProperties":false}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"additionalProperties":false}},"websocket_events":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string"},"direction":{"type":"string","enum":["sent","received"]},"opcode":{"type":"integer","minimum":0,"maximum":9007199254740991},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"payload_shape":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["json","text","binary"]},"json_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"]},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]}},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["path","types","observations"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["format","json_shape","truncated"],"additionalProperties":false},{"type":"null"}]}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"additionalProperties":false}},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"prior_activity_available":{"type":"boolean","const":false}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"additionalProperties":false},"console":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"timestamp":{"type":"number"},"argument_types":{"type":"array","items":{"type":"string"}},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated"]},"values":{"type":"array","items":{"type":"object","properties":{"argument_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"type":{"type":"string"},"text":{"type":"string"}},"required":["argument_index","type","text"],"additionalProperties":false}},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_values":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","values","retained_bytes","truncated_values"],"additionalProperties":false}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"additionalProperties":false}},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"prior_activity_available":{"type":"boolean","const":false}},"required":["events","coverage_started_at","prior_activity_available"],"additionalProperties":false},"workers":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"attached":{"type":"boolean"},"opener_target_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"parent_frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["target_id","type","url","origin","attached","opener_target_id","parent_frame_id"],"additionalProperties":false}},"metadata":{"type":"object","properties":{"responses":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string"},"url":{"type":"string"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"content_length":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}]},"csp":{"type":"object","properties":{"directives":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["keyword","scheme","approved_origin","external_origin","other"]},"value":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","value"],"additionalProperties":false}}},"required":["name","sources"],"additionalProperties":false}},"nonce_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"hash_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["directives","nonce_count","hash_count"],"additionalProperties":false},"links":{"type":"array","items":{"type":"object","properties":{"href":{"anyOf":[{"type":"string"},{"type":"null"}]},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"]},"rel":{"type":"array","items":{"type":"string"}},"as":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["href","destination_scope","rel","as","type","crossorigin"],"additionalProperties":false}},"policies":{"type":"object","properties":{"coop":{"anyOf":[{"type":"string"},{"type":"null"}]},"coep":{"anyOf":[{"type":"string"},{"type":"null"}]},"corp":{"anyOf":[{"type":"string"},{"type":"null"}]},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}]},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}]},"permissions_policy_features":{"type":"array","items":{"type":"string"}}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"additionalProperties":false}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"additionalProperties":false}},"dom_urls":{"type":"array","items":{"type":"object","properties":{"node_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"attribute":{"type":"string","enum":["href","src","action","formaction","poster"]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"]}},"required":["node_index","attribute","url","destination_scope"],"additionalProperties":false}},"agent_hints":{"type":"array","items":{"type":"object","properties":{"mechanism":{"type":"string","enum":["link_rel","dom_link_rel","well_known_resource","response_header"]},"declaration":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"trust":{"type":"string","const":"page-declared-untrusted"}},"required":["mechanism","declaration","url","trust"],"additionalProperties":false}},"excluded_dom_urls":{"type":"integer","minimum":0,"maximum":9007199254740991},"headers_allowlisted":{"type":"boolean","const":true}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"additionalProperties":false},"storage":{"type":"object","properties":{"origin":{"type":"string"},"usage_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"quota_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"local_storage_keys":{"type":"array","items":{"type":"string"}},"session_storage_keys":{"type":"array","items":{"type":"string"}},"indexed_db_names":{"type":"array","items":{"type":"string"}},"cache_names":{"type":"array","items":{"type":"string"}},"content_fingerprints":{"default":[],"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"]},"identity_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"complete":{"type":"boolean"}},"required":["scope","identity_sha256","value_sha256","complete"],"additionalProperties":false}},"fingerprint_algorithm":{"default":"sha256","type":"string","const":"sha256"},"fingerprints_complete":{"default":false,"type":"boolean"},"values_redacted":{"type":"boolean","const":true}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","content_fingerprints","fingerprint_algorithm","fingerprints_complete","values_redacted"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"analyze_web_bundle","analysisOperation":null,"title":"Analyze Web Bundle","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.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit approval for browser observation"},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"observation_ms":{"default":500,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"include_accessibility_text":{"default":false,"type":"boolean","description":"Whether to include accessibility text in the result."},"include_console_text":{"default":false,"type":"boolean","description":"Whether to include console text in the result."},"console_text_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for console text."},"include_json_body_shapes":{"default":false,"type":"boolean","description":"Whether to include json body shapes in the result."},"json_body_schema_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for json body schema."},"include_websocket_shapes":{"default":false,"type":"boolean","description":"Whether to include websocket shapes in the result."},"websocket_shape_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for websocket shape."},"include_script_sources":{"default":true,"type":"boolean","const":true,"description":"Whether to include script sources in the result."},"include_storage_keys":{"default":false,"type":"boolean","description":"Whether to include storage keys in the result."},"include_storage_fingerprints":{"default":false,"type":"boolean","description":"Whether to include storage fingerprints in the result."},"limits":{"default":{"max_frames":200,"max_dom_nodes":2000,"max_ax_nodes":2000,"max_ax_text_field_bytes":1024,"max_total_ax_text_bytes":65536,"max_scripts":200,"max_resources":2000,"max_workers":500,"max_storage_keys":1000,"max_script_source_bytes":1048576,"max_total_script_source_bytes":4194304,"max_network_events":1000,"max_console_events":200,"max_console_text_field_bytes":1024,"max_total_console_text_bytes":65536,"max_json_body_bytes":1048576,"max_total_json_body_bytes":4194304,"max_json_shape_nodes":5000,"max_json_shape_depth":20,"max_websocket_events":500,"max_websocket_shape_bytes":65536,"max_total_websocket_shape_bytes":1048576},"type":"object","properties":{"max_frames":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted frames for this operation."},"max_dom_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted dom nodes for this operation."},"max_ax_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted ax nodes for this operation."},"max_ax_text_field_bytes":{"default":1024,"type":"integer","minimum":1,"maximum":16384,"description":"Maximum permitted ax text field bytes for this operation."},"max_total_ax_text_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted total ax text bytes for this operation."},"max_scripts":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted scripts for this operation."},"max_resources":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted resources for this operation."},"max_workers":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted workers for this operation."},"max_storage_keys":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted storage keys for this operation."},"max_script_source_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted script source bytes for this operation."},"max_total_script_source_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total script source bytes for this operation."},"max_network_events":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted network events for this operation."},"max_console_events":{"default":200,"type":"integer","minimum":1,"maximum":2000,"description":"Maximum permitted console events for this operation."},"max_console_text_field_bytes":{"default":1024,"type":"integer","minimum":1,"maximum":16384,"description":"Maximum permitted console text field bytes for this operation."},"max_total_console_text_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted total console text bytes for this operation."},"max_json_body_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted json body bytes for this operation."},"max_total_json_body_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total json body bytes for this operation."},"max_json_shape_nodes":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted json shape nodes for this operation."},"max_json_shape_depth":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted json shape depth for this operation."},"max_websocket_events":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted websocket events for this operation."},"max_websocket_shape_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted websocket shape bytes for this operation."},"max_total_websocket_shape_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total websocket shape bytes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"source_capture_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for source capture."},"fetch_source_maps":{"default":false,"type":"boolean","description":"Value for fetch source maps."},"source_map_fetch_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for source map fetch."},"analysis_limits":{"default":{"max_findings":1000,"max_ast_nodes":250000,"max_source_maps":100,"max_source_map_bytes":4194304,"max_total_source_map_bytes":16777216,"max_source_map_mappings":10000,"max_original_sources":2000},"type":"object","properties":{"max_findings":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted findings for this operation."},"max_ast_nodes":{"default":250000,"type":"integer","minimum":1,"maximum":2000000,"description":"Maximum permitted ast nodes for this operation."},"max_source_maps":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted source maps for this operation."},"max_source_map_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted source map bytes for this operation."},"max_total_source_map_bytes":{"default":16777216,"type":"integer","minimum":1,"maximum":67108864,"description":"Maximum permitted total source map bytes for this operation."},"max_source_map_mappings":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted source map mappings for this operation."},"max_original_sources":{"default":2000,"type":"integer","minimum":1,"maximum":20000,"description":"Maximum permitted original sources for this operation."}},"additionalProperties":false,"description":"Value for analysis limits."}},"required":["cdp_endpoint","allowed_origins","approved","target_id","source_capture_approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"capture":{"type":"object","properties":{"target_url":{"type":"string"},"scripts_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"scripts_analyzed":{"type":"integer","minimum":0,"maximum":9007199254740991},"source_artifacts":{"type":"array","items":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text_available":{"type":"boolean","const":true}},"required":["uri","sha256","bytes","media_type","charset","text_available"],"additionalProperties":false}}},"required":["target_url","scripts_observed","scripts_analyzed","source_artifacts"],"additionalProperties":false},"observations":{"type":"object","properties":{"chunks":{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string"},"url":{"type":"string"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["script_key","url","artifact_sha256","bytes"],"additionalProperties":false}},"edges":{"type":"array","items":{"type":"object","properties":{"from_script_key":{"type":"string"},"kind":{"type":"string","enum":["static_import","dynamic_import","require","worker_import"]},"specifier":{"type":"string"},"resolved_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"type":"object","properties":{"script_key":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["script_key","line","column"],"additionalProperties":false}},"required":["from_script_key","kind","specifier","resolved_url","location"],"additionalProperties":false}}},"required":["nodes","edges"],"additionalProperties":false},"routes":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"mechanism":{"type":"string"},"location":{"type":"object","properties":{"script_key":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["script_key","line","column"],"additionalProperties":false}},"required":["value","mechanism","location"],"additionalProperties":false}},"endpoints":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"mechanism":{"type":"string"},"location":{"type":"object","properties":{"script_key":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["script_key","line","column"],"additionalProperties":false}},"required":["value","mechanism","location"],"additionalProperties":false}},"webmcp_declarations":{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"schema_property_names":{"type":"array","items":{"type":"string"}},"trust":{"type":"string","const":"page-declared-untrusted"},"location":{"type":"object","properties":{"script_key":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["script_key","line","column"],"additionalProperties":false}},"required":["name","description","schema_property_names","trust","location"],"additionalProperties":false}},"source_maps":{"type":"object","properties":{"status":{"type":"string","enum":["not_requested","included","partial","unavailable","truncated"]},"requested":{"type":"integer","minimum":0,"maximum":9007199254740991},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped_script_keys":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string"},"declared_url":{"type":"string"},"status":{"type":"string","enum":["included","fetch_failed","invalid","policy_filtered","truncated"]},"artifact":{"anyOf":[{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text":{"type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false},{"type":"null"}]},"original_sources":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"artifact":{"anyOf":[{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text":{"type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false},{"type":"null"}]}},"required":["source","artifact"],"additionalProperties":false}},"original_module_edges":{"type":"array","items":{"type":"object","properties":{"from_source":{"type":"string"},"kind":{"type":"string","enum":["static_import","dynamic_import","require"]},"specifier":{"type":"string"},"resolved_source":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["from_source","kind","specifier","resolved_source"],"additionalProperties":false}},"mappings":{"type":"array","items":{"type":"object","properties":{"generated_line":{"type":"integer","minimum":1,"maximum":9007199254740991},"generated_column":{"type":"integer","minimum":0,"maximum":9007199254740991},"source":{"type":"string"},"original_line":{"type":"integer","minimum":1,"maximum":9007199254740991},"original_column":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["generated_line","generated_column","source","original_line","original_column","name"],"additionalProperties":false}},"limitation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["script_key","declared_url","status","artifact","original_sources","original_module_edges","mappings","limitation"],"additionalProperties":false}}},"required":["status","requested","processed","dropped","dropped_script_keys","items"],"additionalProperties":false}},"required":["chunks","routes","endpoints","webmcp_declarations","source_maps"],"additionalProperties":false},"inferences":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["vendor_fingerprint","route_framework","bundle_runtime"]},"value":{"type":"string"},"confidence":{"type":"string","enum":["low","medium","high"]},"basis":{"minItems":1,"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"detector":{"type":"string"}},"required":["script_key","artifact_sha256","line","column","detector"],"additionalProperties":false}}},"required":["kind","value","confidence","basis"],"additionalProperties":false}},"unknowns":{"type":"array","items":{"type":"object","properties":{"dimension":{"type":"string"},"reason":{"type":"string"},"affected_script_keys":{"type":"array","items":{"type":"string"}}},"required":["dimension","reason","affected_script_keys"],"additionalProperties":false}},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_limits","truncated","partial"]},"parsed_scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped_findings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","parsed_scripts","parse_failures","visited_ast_nodes","dropped_findings"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","capture","observations","inferences","unknowns","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"observe_web_session","analysisOperation":null,"title":"Observe Web Session","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.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"observation_ms":{"default":10000,"type":"integer","minimum":1,"maximum":60000,"description":"Value for observation ms."},"max_timeline_events":{"default":2000,"type":"integer","minimum":1,"maximum":20000,"description":"Maximum permitted timeline events for this operation."}},"required":["cdp_endpoint","allowed_origins","target_id","approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"initial_url":{"type":"string"},"final_url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["target_id","initial_url","final_url"],"additionalProperties":false},"window":{"type":"object","properties":{"armed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"requested_ms":{"type":"integer","minimum":1,"maximum":9007199254740991},"end_reason":{"type":"string","enum":["window_elapsed","target_left_scope","target_terminated"]}},"required":["armed_at","ended_at","requested_ms","end_reason"],"additionalProperties":false},"timeline":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"type":{"type":"string","enum":["navigation_requested","navigation_committed","same_origin_reload","same_document_navigation","redirect","load_failed","lifecycle","target_terminated"]},"timestamp":{"type":"number","minimum":0},"frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"loader_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"destination_scope":{"anyOf":[{"type":"string","enum":["approved","outside_policy","unsupported"]},{"type":"null"}]},"detail":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["sequence","type","timestamp","frame_id","loader_id","request_id","url","destination_scope","detail"],"additionalProperties":false}},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","window","timeline","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"discover_webmcp_tools","analysisOperation":null,"title":"Discover Webmcp Tools","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.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"observation_ms":{"default":100,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"max_tools":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted tools for this operation."},"max_schema_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted schema bytes for this operation."},"max_schema_nodes":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted schema nodes for this operation."},"max_schema_depth":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted schema depth for this operation."}},"required":["cdp_endpoint","allowed_origins","target_id","approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"url":{"type":"string"},"origin":{"type":"string"}},"required":["target_id","url","origin"],"additionalProperties":false},"status":{"type":"string","enum":["available","unavailable"]},"tools":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"tool_key":{"type":"string","pattern":"^webmcp_[a-f0-9]{64}$"},"name":{"type":"string"},"description":{"type":"string"},"frame_id":{"type":"string"},"frame_url":{"type":"string"},"owner_origin":{"type":"string"},"declaration_kind":{"type":"string","enum":["declarative","imperative"]},"input_schema_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"]},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]}},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["path","types","observations"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}]},"annotations":{"type":"object","properties":{"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["read_only","untrusted_content","autosubmit"],"additionalProperties":false},"registration_source":{"anyOf":[{"type":"object","properties":{"url":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["url","line","column"],"additionalProperties":false},{"type":"null"}]},"trust":{"type":"string","const":"page-declared-untrusted"}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"additionalProperties":false}}},"required":["total","items"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_web_captures","analysisOperation":null,"title":"Compare Web Captures","description":"Compare either passive web captures or step-indexed browser scenarios. Scenario comparison aligns exact step IDs, records deterministic literal normalization, and exposes bounded artifact-level changes plus alignment failures. Missing or truncated evidence never proves equality.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"before":{"description":"Earlier passive web-page capture; pair with after.","type":"object","properties":{"inspection":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"product":{"type":"string","description":"Value for product."},"protocol_version":{"type":"string","description":"Value for protocol version."},"revision":{"type":"string","description":"Value for revision."},"user_agent":{"type":"string","description":"Value for user agent."},"js_version":{"type":"string","description":"Value for js version."}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false,"description":"Value for browser."},"target":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"type":{"type":"string","description":"Value for type."},"title":{"type":"string","description":"Value for title."},"url":{"type":"string","description":"Value for url."},"origin":{"type":"string","description":"Value for origin."},"attached":{"type":"boolean","description":"Value for attached."}},"required":["target_id","type","title","url","origin","attached"],"additionalProperties":false,"description":"Value for target."},"capture_window":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for started at."},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for ended at."},"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observation ms."}},"required":["started_at","ended_at","observation_ms"],"additionalProperties":false,"description":"Value for capture window."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"description":"Current lifecycle or verification status."},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"description":"Value for conditions."},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for policy filtered sections."},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for attach limited sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for truncated sections."},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for unavailable sections."},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"description":"Value for section."},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"description":"Value for reason."},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for count."}},"required":["section","reason","count"],"additionalProperties":false},"description":"Value for excluded."},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for scripts."},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for network requests."},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for console events."},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket connections."},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket frames."},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for webmcp tools."},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for timeline events."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false,"description":"Value for dropped events."}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false,"description":"Value for completeness."},"frames":{"type":"array","items":{"type":"object","properties":{"frame_id":{"type":"string","description":"Value for frame id."},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."}},"required":["frame_id","parent_frame_id","url","origin"],"additionalProperties":false},"description":"Value for frames."},"dom":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total nodes."},"nodes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for index."},"parent_index":{"type":"integer","minimum":-1,"maximum":9007199254740991,"description":"Value for parent index."},"node_type":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node type."},"node_name":{"type":"string","description":"Value for node name."},"node_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node value length."},"attribute_names":{"type":"array","items":{"type":"string"},"description":"Value for attribute names."}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"additionalProperties":false},"description":"Value for nodes."}},"required":["total_nodes","nodes"],"additionalProperties":false,"description":"Value for dom."},"accessibility":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total nodes."},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated","unavailable"],"description":"Current lifecycle or verification status."},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for retained."},"excluded_fields":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for excluded fields."},"truncated_fields":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for truncated fields."}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"additionalProperties":false,"description":"Value for text capture."},"nodes":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","description":"Value for node id."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent id."},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for role."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact name used by this operation."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for description."},"ignored":{"type":"boolean","description":"Value for ignored."},"states":{"default":[],"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for states."}},"required":["node_id","parent_id","role","name","description","ignored"],"additionalProperties":false},"description":"Value for nodes."}},"required":["total_nodes","text_capture","nodes"],"additionalProperties":false,"description":"Value for accessibility."},"scripts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$","description":"Value for script key."},"frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for frame id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"cdp_hash":{"type":"string","description":"Value for cdp hash."},"length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for length."},"is_module":{"type":"boolean","description":"Whether is module."},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for language."},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for source map url."},"resource_reconciliation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"exact","description":"Current lifecycle or verification status."},"resource_key":{"type":"string","description":"Value for resource key."}},"required":["status","resource_key"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"ambiguous","description":"Current lifecycle or verification status."},"candidate_resource_keys":{"type":"array","items":{"type":"string"},"description":"Value for candidate resource keys."}},"required":["status","candidate_resource_keys"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unmatched","description":"Current lifecycle or verification status."},"reason":{"type":"string","const":"no_exact_sanitized_url","description":"Value for reason."}},"required":["status","reason"],"additionalProperties":false}],"description":"Value for resource reconciliation."},"source":{"oneOf":[{"type":"object","properties":{"included":{"type":"boolean","const":false,"description":"Value for included."},"reason":{"type":"string","description":"Value for reason."}},"required":["included","reason"],"additionalProperties":false},{"type":"object","properties":{"included":{"type":"boolean","const":true,"description":"Value for included."},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for bytes."},"media_type":{"type":"string","minLength":1,"maxLength":256,"description":"Value for media type."},"charset":{"type":"string","const":"utf-8","description":"Value for charset."},"text":{"type":"string","description":"Value for text."}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false,"description":"Value for artifact."}},"required":["included","artifact"],"additionalProperties":false}],"description":"Value for source."}},"required":["script_key","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"additionalProperties":false},"description":"Value for items."}},"required":["total","items"],"additionalProperties":false,"description":"Value for scripts."},"resources":{"type":"array","items":{"type":"object","properties":{"resource_key":{"type":"string","pattern":"^res_[a-f0-9]{64}$","description":"Value for resource key."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"type":{"type":"string","description":"Value for type."},"mime_type":{"type":"string","description":"Value for mime type."},"content_size":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Value for content size."}},"required":["resource_key","url","origin","type","mime_type","content_size"],"additionalProperties":false},"description":"Value for resources."},"network":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"method":{"type":"string","description":"Value for method."},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for resource type."},"status":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Current lifecycle or verification status."},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"encoded_data_length":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Value for encoded data length."},"initiator":{"type":"object","properties":{"type":{"type":"string","description":"Value for type."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."}},"required":["type","url","line","column"],"additionalProperties":false,"description":"Value for initiator."},"body_shapes":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","partial","unavailable","truncated"],"description":"Current lifecycle or verification status."},"request":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for request."},"response":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for response."}},"required":["status","request","response"],"additionalProperties":false,"description":"Value for body shapes."}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"additionalProperties":false},"description":"Value for requests."},"websocket_events":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"direction":{"type":"string","enum":["sent","received"],"description":"Direction in which to traverse or compare relationships."},"opcode":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for opcode."},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for payload."},"payload_shape":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["json","text","binary"],"description":"Declared input artifact format."},"json_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for json shape."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["format","json_shape","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for payload shape."}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"additionalProperties":false},"description":"Value for websocket events."},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for coverage started at."},"prior_activity_available":{"type":"boolean","const":false,"description":"Value for prior activity available."}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"additionalProperties":false,"description":"Value for network."},"console":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"Value for type."},"timestamp":{"type":"number","description":"Value for timestamp."},"argument_types":{"type":"array","items":{"type":"string"},"description":"Value for argument types."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated"],"description":"Current lifecycle or verification status."},"values":{"type":"array","items":{"type":"object","properties":{"argument_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for argument index."},"type":{"type":"string","description":"Value for type."},"text":{"type":"string","description":"Value for text."}},"required":["argument_index","type","text"],"additionalProperties":false},"description":"Value for values."},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for retained."},"truncated_values":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for truncated values."}},"required":["status","values","retained_bytes","truncated_values"],"additionalProperties":false,"description":"Value for text capture."}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"additionalProperties":false},"description":"Value for events."},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for coverage started at."},"prior_activity_available":{"type":"boolean","const":false,"description":"Value for prior activity available."}},"required":["events","coverage_started_at","prior_activity_available"],"additionalProperties":false,"description":"Value for console."},"workers":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"type":{"type":"string","description":"Value for type."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"attached":{"type":"boolean","description":"Value for attached."},"opener_target_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for opener target id."},"parent_frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."}},"required":["target_id","type","url","origin","attached"],"additionalProperties":false},"description":"Value for workers."},"metadata":{"type":"object","properties":{"responses":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"url":{"type":"string","description":"Value for url."},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"content_length":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for content length."},"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for content encoding."},"csp":{"type":"object","properties":{"directives":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."},"sources":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["keyword","scheme","approved_origin","external_origin","other"],"description":"Value for kind."},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},"description":"Value for sources."}},"required":["name","sources"],"additionalProperties":false},"description":"Value for directives."},"nonce_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for nonce count."},"hash_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for hash count."}},"required":["directives","nonce_count","hash_count"],"additionalProperties":false,"description":"Value for csp."},"links":{"type":"array","items":{"type":"object","properties":{"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for href."},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"],"description":"Value for destination scope."},"rel":{"type":"array","items":{"type":"string"},"description":"Value for rel."},"as":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for as."},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for type."},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for crossorigin."}},"required":["href","destination_scope","rel","as","type","crossorigin"],"additionalProperties":false},"description":"Value for links."},"policies":{"type":"object","properties":{"coop":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coop."},"coep":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coep."},"corp":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for corp."},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for referrer policy."},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for x content type options."},"permissions_policy_features":{"type":"array","items":{"type":"string"},"description":"Value for permissions policy features."}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"additionalProperties":false,"description":"Value for policies."}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"additionalProperties":false},"description":"Value for responses."},"dom_urls":{"type":"array","items":{"type":"object","properties":{"node_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node index."},"attribute":{"type":"string","enum":["href","src","action","formaction","poster"],"description":"Value for attribute."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"],"description":"Value for destination scope."}},"required":["node_index","attribute","url","destination_scope"],"additionalProperties":false},"description":"Value for dom urls."},"agent_hints":{"type":"array","items":{"type":"object","properties":{"mechanism":{"type":"string","enum":["link_rel","dom_link_rel","well_known_resource","response_header"],"description":"Value for mechanism."},"declaration":{"type":"string","description":"Value for declaration."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"trust":{"type":"string","const":"page-declared-untrusted","description":"Value for trust."}},"required":["mechanism","declaration","url","trust"],"additionalProperties":false},"description":"Value for agent hints."},"excluded_dom_urls":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for excluded dom urls."},"headers_allowlisted":{"type":"boolean","const":true,"description":"Value for headers allowlisted."}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"additionalProperties":false,"description":"Value for metadata."},"storage":{"type":"object","properties":{"origin":{"type":"string","description":"Value for origin."},"usage_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Bounded byte count for usage."},"quota_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Bounded byte count for quota."},"local_storage_keys":{"type":"array","items":{"type":"string"},"description":"Value for local storage keys."},"session_storage_keys":{"type":"array","items":{"type":"string"},"description":"Value for session storage keys."},"indexed_db_names":{"type":"array","items":{"type":"string"},"description":"Value for indexed db names."},"cache_names":{"type":"array","items":{"type":"string"},"description":"Value for cache names."},"content_fingerprints":{"default":[],"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"],"description":"Value for scope."},"identity_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of identity."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"complete":{"type":"boolean","description":"Value for complete."}},"required":["scope","identity_sha256","value_sha256","complete"],"additionalProperties":false},"description":"Value for content fingerprints."},"fingerprint_algorithm":{"default":"sha256","type":"string","const":"sha256","description":"Value for fingerprint algorithm."},"fingerprints_complete":{"default":false,"type":"boolean","description":"Value for fingerprints complete."},"values_redacted":{"type":"boolean","const":true,"description":"Value for values redacted."}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","values_redacted"],"additionalProperties":false,"description":"Value for storage."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"additionalProperties":false,"description":"Value for inspection."},"webmcp":{"default":null,"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"product":{"type":"string","description":"Value for product."},"protocol_version":{"type":"string","description":"Value for protocol version."},"revision":{"type":"string","description":"Value for revision."},"user_agent":{"type":"string","description":"Value for user agent."},"js_version":{"type":"string","description":"Value for js version."}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false,"description":"Value for browser."},"target":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"url":{"type":"string","description":"Value for url."},"origin":{"type":"string","description":"Value for origin."}},"required":["target_id","url","origin"],"additionalProperties":false,"description":"Value for target."},"status":{"type":"string","enum":["available","unavailable"],"description":"Current lifecycle or verification status."},"tools":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"items":{"type":"array","items":{"type":"object","properties":{"tool_key":{"type":"string","pattern":"^webmcp_[a-f0-9]{64}$","description":"Value for tool key."},"name":{"type":"string","description":"Exact name used by this operation."},"description":{"type":"string","description":"Value for description."},"frame_id":{"type":"string","description":"Value for frame id."},"frame_url":{"type":"string","description":"Value for frame url."},"owner_origin":{"type":"string","description":"Value for owner origin."},"declaration_kind":{"type":"string","enum":["declarative","imperative"],"description":"Value for declaration kind."},"input_schema_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for input schema shape."},"annotations":{"type":"object","properties":{"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for read only."},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for untrusted content."},"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for autosubmit."}},"required":["read_only","untrusted_content","autosubmit"],"additionalProperties":false,"description":"Value for annotations."},"registration_source":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."}},"required":["url","line","column"],"additionalProperties":false},{"type":"null"}],"description":"Value for registration source."},"trust":{"type":"string","const":"page-declared-untrusted","description":"Value for trust."}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"additionalProperties":false},"description":"Value for items."}},"required":["total","items"],"additionalProperties":false,"description":"Value for tools."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"description":"Current lifecycle or verification status."},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"description":"Value for conditions."},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for policy filtered sections."},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for attach limited sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for truncated sections."},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for unavailable sections."},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"description":"Value for section."},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"description":"Value for reason."},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for count."}},"required":["section","reason","count"],"additionalProperties":false},"description":"Value for excluded."},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for scripts."},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for network requests."},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for console events."},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket connections."},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket frames."},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for webmcp tools."},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for timeline events."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false,"description":"Value for dropped events."}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false,"description":"Value for completeness."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"additionalProperties":false},{"type":"null"}],"description":"Value for webmcp."}},"required":["inspection"],"additionalProperties":false},"after":{"description":"Later passive web-page capture; pair with before.","type":"object","properties":{"inspection":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"product":{"type":"string","description":"Value for product."},"protocol_version":{"type":"string","description":"Value for protocol version."},"revision":{"type":"string","description":"Value for revision."},"user_agent":{"type":"string","description":"Value for user agent."},"js_version":{"type":"string","description":"Value for js version."}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false,"description":"Value for browser."},"target":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"type":{"type":"string","description":"Value for type."},"title":{"type":"string","description":"Value for title."},"url":{"type":"string","description":"Value for url."},"origin":{"type":"string","description":"Value for origin."},"attached":{"type":"boolean","description":"Value for attached."}},"required":["target_id","type","title","url","origin","attached"],"additionalProperties":false,"description":"Value for target."},"capture_window":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for started at."},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for ended at."},"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observation ms."}},"required":["started_at","ended_at","observation_ms"],"additionalProperties":false,"description":"Value for capture window."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"description":"Current lifecycle or verification status."},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"description":"Value for conditions."},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for policy filtered sections."},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for attach limited sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for truncated sections."},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for unavailable sections."},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"description":"Value for section."},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"description":"Value for reason."},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for count."}},"required":["section","reason","count"],"additionalProperties":false},"description":"Value for excluded."},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for scripts."},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for network requests."},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for console events."},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket connections."},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket frames."},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for webmcp tools."},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for timeline events."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false,"description":"Value for dropped events."}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false,"description":"Value for completeness."},"frames":{"type":"array","items":{"type":"object","properties":{"frame_id":{"type":"string","description":"Value for frame id."},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."}},"required":["frame_id","parent_frame_id","url","origin"],"additionalProperties":false},"description":"Value for frames."},"dom":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total nodes."},"nodes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for index."},"parent_index":{"type":"integer","minimum":-1,"maximum":9007199254740991,"description":"Value for parent index."},"node_type":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node type."},"node_name":{"type":"string","description":"Value for node name."},"node_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node value length."},"attribute_names":{"type":"array","items":{"type":"string"},"description":"Value for attribute names."}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"additionalProperties":false},"description":"Value for nodes."}},"required":["total_nodes","nodes"],"additionalProperties":false,"description":"Value for dom."},"accessibility":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total nodes."},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated","unavailable"],"description":"Current lifecycle or verification status."},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for retained."},"excluded_fields":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for excluded fields."},"truncated_fields":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for truncated fields."}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"additionalProperties":false,"description":"Value for text capture."},"nodes":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","description":"Value for node id."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent id."},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for role."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact name used by this operation."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for description."},"ignored":{"type":"boolean","description":"Value for ignored."},"states":{"default":[],"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for states."}},"required":["node_id","parent_id","role","name","description","ignored"],"additionalProperties":false},"description":"Value for nodes."}},"required":["total_nodes","text_capture","nodes"],"additionalProperties":false,"description":"Value for accessibility."},"scripts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$","description":"Value for script key."},"frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for frame id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"cdp_hash":{"type":"string","description":"Value for cdp hash."},"length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for length."},"is_module":{"type":"boolean","description":"Whether is module."},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for language."},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for source map url."},"resource_reconciliation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"exact","description":"Current lifecycle or verification status."},"resource_key":{"type":"string","description":"Value for resource key."}},"required":["status","resource_key"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"ambiguous","description":"Current lifecycle or verification status."},"candidate_resource_keys":{"type":"array","items":{"type":"string"},"description":"Value for candidate resource keys."}},"required":["status","candidate_resource_keys"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unmatched","description":"Current lifecycle or verification status."},"reason":{"type":"string","const":"no_exact_sanitized_url","description":"Value for reason."}},"required":["status","reason"],"additionalProperties":false}],"description":"Value for resource reconciliation."},"source":{"oneOf":[{"type":"object","properties":{"included":{"type":"boolean","const":false,"description":"Value for included."},"reason":{"type":"string","description":"Value for reason."}},"required":["included","reason"],"additionalProperties":false},{"type":"object","properties":{"included":{"type":"boolean","const":true,"description":"Value for included."},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for bytes."},"media_type":{"type":"string","minLength":1,"maxLength":256,"description":"Value for media type."},"charset":{"type":"string","const":"utf-8","description":"Value for charset."},"text":{"type":"string","description":"Value for text."}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false,"description":"Value for artifact."}},"required":["included","artifact"],"additionalProperties":false}],"description":"Value for source."}},"required":["script_key","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"additionalProperties":false},"description":"Value for items."}},"required":["total","items"],"additionalProperties":false,"description":"Value for scripts."},"resources":{"type":"array","items":{"type":"object","properties":{"resource_key":{"type":"string","pattern":"^res_[a-f0-9]{64}$","description":"Value for resource key."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"type":{"type":"string","description":"Value for type."},"mime_type":{"type":"string","description":"Value for mime type."},"content_size":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Value for content size."}},"required":["resource_key","url","origin","type","mime_type","content_size"],"additionalProperties":false},"description":"Value for resources."},"network":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"method":{"type":"string","description":"Value for method."},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for resource type."},"status":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Current lifecycle or verification status."},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"encoded_data_length":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Value for encoded data length."},"initiator":{"type":"object","properties":{"type":{"type":"string","description":"Value for type."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."}},"required":["type","url","line","column"],"additionalProperties":false,"description":"Value for initiator."},"body_shapes":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","partial","unavailable","truncated"],"description":"Current lifecycle or verification status."},"request":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for request."},"response":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for response."}},"required":["status","request","response"],"additionalProperties":false,"description":"Value for body shapes."}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"additionalProperties":false},"description":"Value for requests."},"websocket_events":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"direction":{"type":"string","enum":["sent","received"],"description":"Direction in which to traverse or compare relationships."},"opcode":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for opcode."},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for payload."},"payload_shape":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["json","text","binary"],"description":"Declared input artifact format."},"json_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for json shape."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["format","json_shape","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for payload shape."}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"additionalProperties":false},"description":"Value for websocket events."},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for coverage started at."},"prior_activity_available":{"type":"boolean","const":false,"description":"Value for prior activity available."}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"additionalProperties":false,"description":"Value for network."},"console":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"Value for type."},"timestamp":{"type":"number","description":"Value for timestamp."},"argument_types":{"type":"array","items":{"type":"string"},"description":"Value for argument types."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated"],"description":"Current lifecycle or verification status."},"values":{"type":"array","items":{"type":"object","properties":{"argument_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for argument index."},"type":{"type":"string","description":"Value for type."},"text":{"type":"string","description":"Value for text."}},"required":["argument_index","type","text"],"additionalProperties":false},"description":"Value for values."},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for retained."},"truncated_values":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for truncated values."}},"required":["status","values","retained_bytes","truncated_values"],"additionalProperties":false,"description":"Value for text capture."}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"additionalProperties":false},"description":"Value for events."},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for coverage started at."},"prior_activity_available":{"type":"boolean","const":false,"description":"Value for prior activity available."}},"required":["events","coverage_started_at","prior_activity_available"],"additionalProperties":false,"description":"Value for console."},"workers":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"type":{"type":"string","description":"Value for type."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"attached":{"type":"boolean","description":"Value for attached."},"opener_target_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for opener target id."},"parent_frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."}},"required":["target_id","type","url","origin","attached"],"additionalProperties":false},"description":"Value for workers."},"metadata":{"type":"object","properties":{"responses":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"url":{"type":"string","description":"Value for url."},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"content_length":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for content length."},"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for content encoding."},"csp":{"type":"object","properties":{"directives":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."},"sources":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["keyword","scheme","approved_origin","external_origin","other"],"description":"Value for kind."},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},"description":"Value for sources."}},"required":["name","sources"],"additionalProperties":false},"description":"Value for directives."},"nonce_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for nonce count."},"hash_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for hash count."}},"required":["directives","nonce_count","hash_count"],"additionalProperties":false,"description":"Value for csp."},"links":{"type":"array","items":{"type":"object","properties":{"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for href."},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"],"description":"Value for destination scope."},"rel":{"type":"array","items":{"type":"string"},"description":"Value for rel."},"as":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for as."},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for type."},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for crossorigin."}},"required":["href","destination_scope","rel","as","type","crossorigin"],"additionalProperties":false},"description":"Value for links."},"policies":{"type":"object","properties":{"coop":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coop."},"coep":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coep."},"corp":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for corp."},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for referrer policy."},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for x content type options."},"permissions_policy_features":{"type":"array","items":{"type":"string"},"description":"Value for permissions policy features."}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"additionalProperties":false,"description":"Value for policies."}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"additionalProperties":false},"description":"Value for responses."},"dom_urls":{"type":"array","items":{"type":"object","properties":{"node_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node index."},"attribute":{"type":"string","enum":["href","src","action","formaction","poster"],"description":"Value for attribute."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"],"description":"Value for destination scope."}},"required":["node_index","attribute","url","destination_scope"],"additionalProperties":false},"description":"Value for dom urls."},"agent_hints":{"type":"array","items":{"type":"object","properties":{"mechanism":{"type":"string","enum":["link_rel","dom_link_rel","well_known_resource","response_header"],"description":"Value for mechanism."},"declaration":{"type":"string","description":"Value for declaration."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"trust":{"type":"string","const":"page-declared-untrusted","description":"Value for trust."}},"required":["mechanism","declaration","url","trust"],"additionalProperties":false},"description":"Value for agent hints."},"excluded_dom_urls":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for excluded dom urls."},"headers_allowlisted":{"type":"boolean","const":true,"description":"Value for headers allowlisted."}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"additionalProperties":false,"description":"Value for metadata."},"storage":{"type":"object","properties":{"origin":{"type":"string","description":"Value for origin."},"usage_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Bounded byte count for usage."},"quota_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Bounded byte count for quota."},"local_storage_keys":{"type":"array","items":{"type":"string"},"description":"Value for local storage keys."},"session_storage_keys":{"type":"array","items":{"type":"string"},"description":"Value for session storage keys."},"indexed_db_names":{"type":"array","items":{"type":"string"},"description":"Value for indexed db names."},"cache_names":{"type":"array","items":{"type":"string"},"description":"Value for cache names."},"content_fingerprints":{"default":[],"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"],"description":"Value for scope."},"identity_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of identity."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"complete":{"type":"boolean","description":"Value for complete."}},"required":["scope","identity_sha256","value_sha256","complete"],"additionalProperties":false},"description":"Value for content fingerprints."},"fingerprint_algorithm":{"default":"sha256","type":"string","const":"sha256","description":"Value for fingerprint algorithm."},"fingerprints_complete":{"default":false,"type":"boolean","description":"Value for fingerprints complete."},"values_redacted":{"type":"boolean","const":true,"description":"Value for values redacted."}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","values_redacted"],"additionalProperties":false,"description":"Value for storage."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"additionalProperties":false,"description":"Value for inspection."},"webmcp":{"default":null,"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"product":{"type":"string","description":"Value for product."},"protocol_version":{"type":"string","description":"Value for protocol version."},"revision":{"type":"string","description":"Value for revision."},"user_agent":{"type":"string","description":"Value for user agent."},"js_version":{"type":"string","description":"Value for js version."}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false,"description":"Value for browser."},"target":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"url":{"type":"string","description":"Value for url."},"origin":{"type":"string","description":"Value for origin."}},"required":["target_id","url","origin"],"additionalProperties":false,"description":"Value for target."},"status":{"type":"string","enum":["available","unavailable"],"description":"Current lifecycle or verification status."},"tools":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"items":{"type":"array","items":{"type":"object","properties":{"tool_key":{"type":"string","pattern":"^webmcp_[a-f0-9]{64}$","description":"Value for tool key."},"name":{"type":"string","description":"Exact name used by this operation."},"description":{"type":"string","description":"Value for description."},"frame_id":{"type":"string","description":"Value for frame id."},"frame_url":{"type":"string","description":"Value for frame url."},"owner_origin":{"type":"string","description":"Value for owner origin."},"declaration_kind":{"type":"string","enum":["declarative","imperative"],"description":"Value for declaration kind."},"input_schema_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for input schema shape."},"annotations":{"type":"object","properties":{"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for read only."},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for untrusted content."},"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for autosubmit."}},"required":["read_only","untrusted_content","autosubmit"],"additionalProperties":false,"description":"Value for annotations."},"registration_source":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."}},"required":["url","line","column"],"additionalProperties":false},{"type":"null"}],"description":"Value for registration source."},"trust":{"type":"string","const":"page-declared-untrusted","description":"Value for trust."}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"additionalProperties":false},"description":"Value for items."}},"required":["total","items"],"additionalProperties":false,"description":"Value for tools."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"description":"Current lifecycle or verification status."},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"description":"Value for conditions."},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for policy filtered sections."},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for attach limited sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for truncated sections."},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for unavailable sections."},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"description":"Value for section."},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"description":"Value for reason."},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for count."}},"required":["section","reason","count"],"additionalProperties":false},"description":"Value for excluded."},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for scripts."},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for network requests."},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for console events."},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket connections."},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket frames."},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for webmcp tools."},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for timeline events."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false,"description":"Value for dropped events."}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false,"description":"Value for completeness."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"additionalProperties":false},{"type":"null"}],"description":"Value for webmcp."}},"required":["inspection"],"additionalProperties":false},"before_scenario":{"description":"Earlier browser scenario capture; pair with after_scenario.","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"mode":{"type":"string","enum":["launch","connect"],"description":"Operation mode that selects the requested behavior."},"process_ownership":{"type":"string","enum":["provider-owned","external"],"description":"Value for process ownership."},"cleanup":{"type":"string","enum":["terminated-owned-process","disconnected-external"],"description":"Value for cleanup."},"product":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for product."},"version":{"type":"string","minLength":1,"maxLength":256,"description":"Value for version."}},"required":["mode","process_ownership","cleanup","product","version"],"additionalProperties":false,"description":"Value for browser."},"scenario":{"type":"object","properties":{"start_origin":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for start origin."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"action_count":{"type":"integer","minimum":1,"maximum":128,"description":"Value for action count."},"secret_references":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":64},"description":"Value for secret references."}},"required":["start_origin","allowed_origins","action_count","secret_references"],"additionalProperties":false,"description":"Value for scenario."},"duration_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for duration ms."},"steps":{"minItems":1,"maxItems":129,"type":"array","items":{"type":"object","properties":{"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"step_id":{"type":"string","minLength":1,"maxLength":64,"description":"Value for step id."},"action":{"type":"string","minLength":1,"maxLength":64,"description":"Value for action."},"status":{"type":"string","enum":["completed","failed","cancelled"],"description":"Current lifecycle or verification status."},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for elapsed ms."},"before_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for before url."},"after_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for after url."},"error":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"description":"Structured, caller-actionable error when the operation fails."},"event_sequence_start":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for event sequence start."},"event_sequence_end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for event sequence end."},"artifacts":{"type":"object","properties":{"screenshot":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Value for bytes."},"media_type":{"type":"string","const":"image/png","description":"Value for media type."},"data_base64":{"type":"string","maxLength":11184815,"description":"Value for data base64."}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for screenshot."},"dom":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":16777216,"description":"Value for bytes."},"text":{"type":"string","maxLength":1048576,"description":"Value for text."}},"required":["sha256","bytes","text"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for dom."},"accessibility":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":16777216,"description":"Value for bytes."},"text":{"type":"string","maxLength":1048576,"description":"Value for text."}},"required":["sha256","bytes","text"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for accessibility."},"url":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for url."},"history":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for length."},"current_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for current url."},"navigation_entries":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["navigate","reload","back_forward","prerender","unknown"],"description":"Value for type."},"name":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Exact name used by this operation."}},"required":["type","name"],"additionalProperties":false},"description":"Value for navigation entries."}},"required":["length","current_url","navigation_entries"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for history."},"storage":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"cookies":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"domain":{"type":"string","maxLength":2048,"description":"Value for domain."},"path":{"type":"string","maxLength":4096,"description":"Local filesystem path used by this operation."},"secure":{"type":"boolean","description":"Value for secure."},"http_only":{"type":"boolean","description":"Value for http only."},"same_site":{"type":"string","enum":["Strict","Lax","None"],"description":"Value for same site."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"additionalProperties":false},"description":"Value for cookies."},"local_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","value_state","value_sha256"],"additionalProperties":false},"description":"Value for local storage."},"session_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","value_state","value_sha256"],"additionalProperties":false},"description":"Value for session storage."}},"required":["cookies","local_storage","session_storage"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for storage."}},"required":["screenshot","dom","accessibility","url","history","storage"],"additionalProperties":false,"description":"Value for artifacts."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"],"description":"Current lifecycle or verification status."},"equality_eligible":{"type":"boolean","description":"Value for equality eligible."},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for missing sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for truncated sections."}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false,"description":"Value for completeness."}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"additionalProperties":false},"description":"Value for steps."},"events":{"type":"object","properties":{"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for dropped."},"items":{"maxItems":100000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"console","description":"Value for kind."},"level":{"type":"string","minLength":1,"maxLength":64,"description":"Value for level."},"text":{"type":"string","maxLength":65536,"description":"Value for text."},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}],"description":"Value for url."}},"required":["sequence","step_index","kind","level","text","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"page-error","description":"Value for kind."},"message":{"type":"string","maxLength":65536,"description":"Value for message."},"stack":{"anyOf":[{"type":"string","maxLength":262144},{"type":"null"}],"description":"Value for stack."}},"required":["sequence","step_index","kind","message","stack"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["request","response","request-failed"],"description":"Value for kind."},"method":{"type":"string","minLength":1,"maxLength":32,"description":"Value for method."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."},"resource_type":{"type":"string","minLength":1,"maxLength":64,"description":"Value for resource type."},"status":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}],"description":"Current lifecycle or verification status."},"header_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for header names."},"failure":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Value for failure."}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["websocket-opened","websocket-closed"],"description":"Value for kind."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."}},"required":["sequence","step_index","kind","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["websocket-frame-sent","websocket-frame-received"],"description":"Value for kind."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."},"payload_type":{"type":"string","enum":["text","binary"],"description":"Value for payload type."},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for payload."},"payload_text":{"anyOf":[{"type":"string","maxLength":65536},{"type":"null"}],"description":"Value for payload text."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"],"description":"Value for kind."},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}],"description":"Value for url."},"name":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Exact name used by this operation."}},"required":["sequence","step_index","kind","url","name"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"download-cancelled","description":"Value for kind."},"suggested_filename":{"type":"string","maxLength":1024,"description":"Value for suggested filename."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."}},"required":["sequence","step_index","kind","suggested_filename","url"],"additionalProperties":false}]},"description":"Value for items."}},"required":["retained","dropped","items"],"additionalProperties":false,"description":"Value for events."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"],"description":"Current lifecycle or verification status."},"equality_eligible":{"type":"boolean","description":"Value for equality eligible."},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for missing sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for truncated sections."}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false,"description":"Value for completeness."},"limitations":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for limitations."}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"additionalProperties":false},"after_scenario":{"description":"Later browser scenario capture; pair with before_scenario.","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"mode":{"type":"string","enum":["launch","connect"],"description":"Operation mode that selects the requested behavior."},"process_ownership":{"type":"string","enum":["provider-owned","external"],"description":"Value for process ownership."},"cleanup":{"type":"string","enum":["terminated-owned-process","disconnected-external"],"description":"Value for cleanup."},"product":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for product."},"version":{"type":"string","minLength":1,"maxLength":256,"description":"Value for version."}},"required":["mode","process_ownership","cleanup","product","version"],"additionalProperties":false,"description":"Value for browser."},"scenario":{"type":"object","properties":{"start_origin":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for start origin."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"action_count":{"type":"integer","minimum":1,"maximum":128,"description":"Value for action count."},"secret_references":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":64},"description":"Value for secret references."}},"required":["start_origin","allowed_origins","action_count","secret_references"],"additionalProperties":false,"description":"Value for scenario."},"duration_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for duration ms."},"steps":{"minItems":1,"maxItems":129,"type":"array","items":{"type":"object","properties":{"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"step_id":{"type":"string","minLength":1,"maxLength":64,"description":"Value for step id."},"action":{"type":"string","minLength":1,"maxLength":64,"description":"Value for action."},"status":{"type":"string","enum":["completed","failed","cancelled"],"description":"Current lifecycle or verification status."},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for elapsed ms."},"before_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for before url."},"after_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for after url."},"error":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"description":"Structured, caller-actionable error when the operation fails."},"event_sequence_start":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for event sequence start."},"event_sequence_end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for event sequence end."},"artifacts":{"type":"object","properties":{"screenshot":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Value for bytes."},"media_type":{"type":"string","const":"image/png","description":"Value for media type."},"data_base64":{"type":"string","maxLength":11184815,"description":"Value for data base64."}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for screenshot."},"dom":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":16777216,"description":"Value for bytes."},"text":{"type":"string","maxLength":1048576,"description":"Value for text."}},"required":["sha256","bytes","text"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for dom."},"accessibility":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":16777216,"description":"Value for bytes."},"text":{"type":"string","maxLength":1048576,"description":"Value for text."}},"required":["sha256","bytes","text"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for accessibility."},"url":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for url."},"history":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for length."},"current_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for current url."},"navigation_entries":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["navigate","reload","back_forward","prerender","unknown"],"description":"Value for type."},"name":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Exact name used by this operation."}},"required":["type","name"],"additionalProperties":false},"description":"Value for navigation entries."}},"required":["length","current_url","navigation_entries"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for history."},"storage":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"cookies":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"domain":{"type":"string","maxLength":2048,"description":"Value for domain."},"path":{"type":"string","maxLength":4096,"description":"Local filesystem path used by this operation."},"secure":{"type":"boolean","description":"Value for secure."},"http_only":{"type":"boolean","description":"Value for http only."},"same_site":{"type":"string","enum":["Strict","Lax","None"],"description":"Value for same site."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"additionalProperties":false},"description":"Value for cookies."},"local_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","value_state","value_sha256"],"additionalProperties":false},"description":"Value for local storage."},"session_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","value_state","value_sha256"],"additionalProperties":false},"description":"Value for session storage."}},"required":["cookies","local_storage","session_storage"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for storage."}},"required":["screenshot","dom","accessibility","url","history","storage"],"additionalProperties":false,"description":"Value for artifacts."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"],"description":"Current lifecycle or verification status."},"equality_eligible":{"type":"boolean","description":"Value for equality eligible."},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for missing sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for truncated sections."}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false,"description":"Value for completeness."}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"additionalProperties":false},"description":"Value for steps."},"events":{"type":"object","properties":{"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for dropped."},"items":{"maxItems":100000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"console","description":"Value for kind."},"level":{"type":"string","minLength":1,"maxLength":64,"description":"Value for level."},"text":{"type":"string","maxLength":65536,"description":"Value for text."},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}],"description":"Value for url."}},"required":["sequence","step_index","kind","level","text","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"page-error","description":"Value for kind."},"message":{"type":"string","maxLength":65536,"description":"Value for message."},"stack":{"anyOf":[{"type":"string","maxLength":262144},{"type":"null"}],"description":"Value for stack."}},"required":["sequence","step_index","kind","message","stack"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["request","response","request-failed"],"description":"Value for kind."},"method":{"type":"string","minLength":1,"maxLength":32,"description":"Value for method."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."},"resource_type":{"type":"string","minLength":1,"maxLength":64,"description":"Value for resource type."},"status":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}],"description":"Current lifecycle or verification status."},"header_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for header names."},"failure":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Value for failure."}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["websocket-opened","websocket-closed"],"description":"Value for kind."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."}},"required":["sequence","step_index","kind","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["websocket-frame-sent","websocket-frame-received"],"description":"Value for kind."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."},"payload_type":{"type":"string","enum":["text","binary"],"description":"Value for payload type."},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for payload."},"payload_text":{"anyOf":[{"type":"string","maxLength":65536},{"type":"null"}],"description":"Value for payload text."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"],"description":"Value for kind."},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}],"description":"Value for url."},"name":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Exact name used by this operation."}},"required":["sequence","step_index","kind","url","name"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"download-cancelled","description":"Value for kind."},"suggested_filename":{"type":"string","maxLength":1024,"description":"Value for suggested filename."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."}},"required":["sequence","step_index","kind","suggested_filename","url"],"additionalProperties":false}]},"description":"Value for items."}},"required":["retained","dropped","items"],"additionalProperties":false,"description":"Value for events."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"],"description":"Current lifecycle or verification status."},"equality_eligible":{"type":"boolean","description":"Value for equality eligible."},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for missing sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for truncated sections."}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false,"description":"Value for completeness."},"limitations":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for limitations."}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"additionalProperties":false},"normalization":{"default":{"rules":[]},"description":"Scenario-only exact-literal normalization policy.","type":"object","properties":{"rules":{"default":[],"maxItems":128,"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string","minLength":1,"maxLength":64,"description":"Stable rule identity; rules execute in rule_id order."},"artifacts":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["action_state","dom","accessibility","url","history","storage","events"]},"description":"Artifact families whose durable string fields use this rule."},"match":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact public literal to replace; regular expressions are not used."},"replacement":{"type":"string","maxLength":4096,"description":"Recorded replacement text used in normalized comparison."}},"required":["rule_id","artifacts","match","replacement"],"additionalProperties":false},"description":"Value for rules."}},"additionalProperties":false},"max_changes":{"default":2000,"description":"Maximum normalized change records to retain.","type":"integer","minimum":1,"maximum":20000}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_kind":{"type":"string","const":"browser_scenario"},"overall_status":{"type":"string","enum":["changed","unchanged","unknown"]},"normalization":{"type":"object","properties":{"built_in_rules":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"string","enum":["ignore_step_elapsed_ms","ignore_event_sequence","ignore_event_step_index","compare_screenshot_content_digest","compare_normalized_text_content"]}},"rules":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string","minLength":1,"maxLength":64,"description":"Stable rule identity; rules execute in rule_id order."},"artifacts":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["action_state","dom","accessibility","url","history","storage","events"]},"description":"Artifact families whose durable string fields use this rule."},"match":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact public literal to replace; regular expressions are not used."},"replacement":{"type":"string","maxLength":4096,"description":"Recorded replacement text used in normalized comparison."}},"required":["rule_id","artifacts","match","replacement"],"additionalProperties":false}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["built_in_rules","rules","sha256"],"additionalProperties":false},"alignment":{"type":"object","properties":{"status":{"type":"string","enum":["aligned","partial","failed"]},"aligned_steps":{"type":"integer","minimum":0,"maximum":129},"before_only":{"maxItems":129,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"after_only":{"maxItems":129,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"failures":{"maxItems":520,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["duplicate_before_step_id","duplicate_after_step_id","missing_before_step","missing_after_step","action_mismatch","capture_context_mismatch"]},"step_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"reason":{"type":"string","minLength":1,"maxLength":2048}},"required":["code","step_id","reason"],"additionalProperties":false}}},"required":["status","aligned_steps","before_only","after_only","failures"],"additionalProperties":false},"steps":{"maxItems":129,"type":"array","items":{"type":"object","properties":{"step_id":{"type":"string","minLength":1,"maxLength":64},"before_step_index":{"type":"integer","minimum":0,"maximum":128},"after_step_index":{"type":"integer","minimum":0,"maximum":128},"before_action":{"type":"string","minLength":1,"maxLength":64},"after_action":{"type":"string","minLength":1,"maxLength":64},"status":{"type":"string","enum":["changed","unchanged","unknown"]},"artifact_diffs":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"artifact":{"type":"string","enum":["action_state","screenshot","dom","accessibility","url","history","storage","events"]},"status":{"type":"string","enum":["changed","unknown"]},"before_state":{"type":"string","enum":["captured","not_requested","missing","truncated"]},"after_state":{"type":"string","enum":["captured","not_requested","missing","truncated"]},"before_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"after_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048},{"type":"null"}]}},"required":["artifact","status","before_state","after_state","before_sha256","after_sha256","reason"],"additionalProperties":false}},"omitted_artifact_diffs":{"type":"integer","minimum":0,"maximum":8}},"required":["step_id","before_step_index","after_step_index","before_action","after_action","status","artifact_diffs","omitted_artifact_diffs"],"additionalProperties":false}},"artifact_diffs":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":1032},"retained":{"type":"integer","minimum":0,"maximum":1032},"omitted":{"type":"integer","minimum":0,"maximum":1032}},"required":["total","retained","omitted"],"additionalProperties":false},"limitations":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}}},"required":["schema_version","comparison_kind","overall_status","normalization","alignment","steps","artifact_diffs","limitations"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":1},"overall_status":{"type":"string","enum":["changed","unchanged","unknown"]},"before_target":{"type":"object","properties":{"target_id":{"type":"string"},"url":{"type":"string"}},"required":["target_id","url"],"additionalProperties":false},"after_target":{"type":"object","properties":{"target_id":{"type":"string"},"url":{"type":"string"}},"required":["target_id","url"],"additionalProperties":false},"dimensions":{"type":"object","properties":{"dom_structure":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"scripts":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"resources":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"network":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"metadata":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"webmcp":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"accessibility":{"default":{"status":"unknown","total_changes":0,"changes":[],"omitted_changes":0,"reason":"Dimension was not recorded by this version 1 capture diff."},"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"storage":{"default":{"status":"unknown","total_changes":0,"changes":[],"omitted_changes":0,"reason":"Dimension was not recorded by this version 1 capture diff."},"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false}},"required":["dom_structure","scripts","resources","network","metadata","webmcp","accessibility","storage"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","overall_status","before_target","after_target","dimensions","limitations"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"capture_web_screenshot","analysisOperation":null,"title":"Capture Web Screenshot","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.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"screenshot_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for screenshot."},"maximum_image_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":8388608,"description":"Bounded byte count for maximum image."}},"required":["cdp_endpoint","allowed_origins","target_id","approved","screenshot_approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"url":{"type":"string"},"origin":{"type":"string"}},"required":["target_id","url","origin"],"additionalProperties":false},"captured_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"viewport":{"type":"object","properties":{"width":{"type":"integer","minimum":1,"maximum":9007199254740991},"height":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["width","height"],"additionalProperties":false},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":1,"maximum":8388608},"media_type":{"type":"string","const":"image/png"},"data_base64":{"type":"string","maxLength":11184815}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","captured_at","viewport","artifact","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_web_screenshots","analysisOperation":null,"title":"Compare Web Screenshots","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.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"before":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Value for bytes."},"media_type":{"type":"string","const":"image/png","description":"Value for media type."},"data_base64":{"type":"string","maxLength":11184815,"description":"Value for data base64."}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false,"description":"The earlier or left-hand observation to compare."},"after":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Value for bytes."},"media_type":{"type":"string","const":"image/png","description":"Value for media type."},"data_base64":{"type":"string","maxLength":11184815,"description":"Value for data base64."}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false,"description":"The later or right-hand observation to compare."},"channel_threshold":{"default":0,"type":"integer","minimum":0,"maximum":255,"description":"Value for channel threshold."},"maximum_pixels":{"default":16000000,"type":"integer","minimum":1,"maximum":32000000,"description":"Value for maximum pixels."}},"required":["before","after"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"status":{"type":"string","enum":["identical","different","dimension_mismatch"]},"before":{"type":"object","properties":{"width":{"type":"integer","minimum":1,"maximum":9007199254740991},"height":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["width","height"],"additionalProperties":false},"after":{"type":"object","properties":{"width":{"type":"integer","minimum":1,"maximum":9007199254740991},"height":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["width","height"],"additionalProperties":false},"channel_threshold":{"type":"integer","minimum":0,"maximum":255},"compared_pixels":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed_pixels":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"changed_ratio":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"maximum_channel_delta":{"anyOf":[{"type":"integer","minimum":0,"maximum":255},{"type":"null"}]},"mean_absolute_channel_delta":{"anyOf":[{"type":"number","minimum":0,"maximum":255},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","status","before","after","channel_threshold","compared_pixels","changed_pixels","changed_ratio","maximum_channel_delta","mean_absolute_channel_delta","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"capture_browser_scenario","analysisOperation":null,"title":"Capture Browser Scenario","description":"Run one approved, bounded browser scenario through Playwright. Launch mode owns and terminates a temporary browser profile; connect mode attaches to one exact loopback CDP target and disconnects without terminating the external browser. Only the fixed action vocabulary is accepted. Navigation, storage, requests, redirects, secrets, redaction, captures, and limits must be declared before execution. Returns step-indexed Evidence with screenshots, DOM, accessibility, URL/history/storage state, runtime events, explicit missing/truncated sections, and equality eligibility.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","const":"launch","description":"Operation mode that selects the requested behavior."},"executable_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for executable."},"headless":{"type":"boolean","const":true,"description":"Value for headless."},"user_data":{"type":"string","const":"temporary-owned","description":"Value for user data."},"cleanup":{"type":"string","const":"close-and-delete-profile","description":"Value for cleanup."}},"required":["mode","executable_path","headless","user_data","cleanup"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"connect","description":"Operation mode that selects the requested behavior."},"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"ownership":{"type":"string","const":"external","description":"Value for ownership."},"cleanup":{"type":"string","const":"disconnect-only","description":"Value for cleanup."}},"required":["mode","cdp_endpoint","target_id","ownership","cleanup"],"additionalProperties":false}],"description":"Value for browser."},"start_url":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for start url."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"environment":{"type":"object","properties":{"viewport":{"type":"object","properties":{"width":{"type":"integer","minimum":320,"maximum":7680,"description":"Value for width."},"height":{"type":"integer","minimum":240,"maximum":4320,"description":"Value for height."},"device_scale_factor":{"default":1,"type":"number","minimum":0.5,"maximum":4,"description":"Value for device scale factor."}},"required":["width","height"],"additionalProperties":false,"description":"Value for viewport."},"locale":{"type":"string","minLength":2,"maxLength":64,"pattern":"^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$","description":"Value for locale."},"timezone":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_+-]+(?:\\\\/[A-Za-z0-9_+-]+)*$","description":"Value for timezone."},"color_scheme":{"type":"string","enum":["light","dark","no-preference"],"description":"Value for color scheme."},"reduced_motion":{"type":"string","enum":["reduce","no-preference"],"description":"Value for reduced motion."},"service_workers":{"type":"string","const":"block","description":"Value for service workers."}},"required":["viewport","locale","timezone","color_scheme","reduced_motion","service_workers"],"additionalProperties":false,"description":"Value for environment."},"actions":{"minItems":1,"maxItems":128,"type":"array","items":{"oneOf":[{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"goto","description":"Value for action."},"destination":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for destination."},"wait_until":{"type":"string","enum":["commit","domcontentloaded","load"],"description":"Value for wait until."}},"required":["step_id","action","destination","wait_until"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"click","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"button":{"default":"left","type":"string","enum":["left","middle","right"],"description":"Value for button."},"click_count":{"default":1,"type":"integer","minimum":1,"maximum":3,"description":"Value for click count."}},"required":["step_id","action","locator"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"fill","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["step_id","action","locator","value"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"press","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"key":{"type":"string","minLength":1,"maxLength":64,"description":"Value for key."}},"required":["step_id","action","locator","key"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"select_option","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["step_id","action","locator","value"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","enum":["check","uncheck"],"description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."}},"required":["step_id","action","locator"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"wait_for","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"state":{"type":"string","enum":["attached","detached","visible","hidden"],"description":"Value for state."}},"required":["step_id","action","locator","state"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"action":{"type":"string","const":"wait_for_timeout","description":"Value for action."},"duration_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for duration ms."}},"required":["step_id","action","duration_ms"],"additionalProperties":false}]},"description":"Value for actions."},"storage":{"type":"object","properties":{"cookies":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."},"destination":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for destination."},"http_only":{"type":"boolean","description":"Value for http only."},"secure":{"type":"boolean","description":"Value for secure."},"same_site":{"type":"string","enum":["Strict","Lax","None"],"description":"Value for same site."}},"required":["name","value","destination","http_only","secure","same_site"],"additionalProperties":false},"description":"Value for cookies."},"local_storage":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"origin":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for origin."},"entries":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for entries."}},"required":["origin","entries"],"additionalProperties":false},"description":"Value for local storage."},"session_storage":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"origin":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for origin."},"entries":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for entries."}},"required":["origin","entries"],"additionalProperties":false},"description":"Value for session storage."}},"additionalProperties":false,"description":"Value for storage."},"request_replay":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","const":"disabled","description":"Operation mode that selects the requested behavior."}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"exact","description":"Operation mode that selects the requested behavior."},"unmatched":{"type":"string","enum":["abort","passthrough-approved-origins"],"description":"Value for unmatched."},"routes":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"route_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for route id."},"method":{"type":"string","enum":["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS"],"description":"Value for method."},"request":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for request."},"response":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"response","description":"Value for kind."},"status":{"type":"integer","minimum":100,"maximum":599,"description":"Current lifecycle or verification status."},"headers":{"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+\\\\-.^_`|~0-9A-Za-z]+$","description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for headers."},"body":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for body."}},"required":["kind","status"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"redirect","description":"Value for kind."},"status":{"anyOf":[{"type":"number","const":301},{"type":"number","const":302},{"type":"number","const":303},{"type":"number","const":307},{"type":"number","const":308}],"description":"Current lifecycle or verification status."},"destination":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for destination."}},"required":["kind","status","destination"],"additionalProperties":false}],"description":"Value for response."}},"required":["route_id","method","request","response"],"additionalProperties":false},"description":"Value for routes."}},"required":["mode","unmatched","routes"],"additionalProperties":false}],"description":"Value for request replay."},"secrets":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."},"environment_variable":{"type":"string","pattern":"^[A-Z_][A-Z0-9_]{0,127}$","description":"Value for environment variable."},"purpose":{"type":"string","enum":["input","storage","request-replay"],"description":"Value for purpose."},"redaction":{"type":"string","const":"replace-with-secret-reference","description":"Value for redaction."}},"required":["secret_id","environment_variable","purpose","redaction"],"additionalProperties":false},"description":"Value for secrets."},"redaction":{"type":"object","properties":{"secret_values":{"type":"string","const":"replace-with-secret-reference","description":"Value for secret values."},"query_parameter_names":{"maxItems":128,"type":"array","items":{"type":"string","minLength":1,"maxLength":256},"description":"Value for query parameter names."},"header_names":{"maxItems":128,"type":"array","items":{"type":"string","minLength":1,"maxLength":256},"description":"Value for header names."}},"required":["secret_values"],"additionalProperties":false,"description":"Value for redaction."},"capture":{"type":"object","properties":{"after_each_step":{"maxItems":6,"type":"array","items":{"type":"string","enum":["screenshot","dom","accessibility","url","history","storage"]},"description":"Value for after each step."},"at_end":{"maxItems":6,"type":"array","items":{"type":"string","enum":["screenshot","dom","accessibility","url","history","storage"]},"description":"Value for at end."},"events":{"type":"array","items":{"type":"string","enum":["console","page-errors","network","websockets","frames","workers","popups","downloads"]},"description":"Value for events."}},"required":["after_each_step","at_end","events"],"additionalProperties":false,"description":"Value for capture."},"limits":{"type":"object","properties":{"max_duration_ms":{"type":"integer","minimum":100,"maximum":300000,"description":"Maximum permitted duration ms for this operation."},"action_timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for action timeout ms."},"navigation_timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for navigation timeout ms."},"max_events":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted events for this operation."},"max_frames":{"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted frames for this operation."},"max_workers":{"type":"integer","minimum":0,"maximum":1000,"description":"Maximum permitted workers for this operation."},"max_popups":{"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted popups for this operation."},"max_websockets":{"type":"integer","minimum":0,"maximum":10000,"description":"Maximum permitted websockets for this operation."},"max_dom_nodes":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted dom nodes for this operation."},"max_accessibility_nodes":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted accessibility nodes for this operation."},"max_screenshots":{"type":"integer","minimum":0,"maximum":256,"description":"Maximum permitted screenshots for this operation."},"max_screenshot_bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Maximum permitted screenshot bytes for this operation."},"max_storage_entries":{"type":"integer","minimum":0,"maximum":512,"description":"Maximum permitted storage entries for this operation."},"max_total_metadata_bytes":{"type":"integer","minimum":1024,"maximum":67108864,"description":"Maximum permitted total metadata bytes for this operation."}},"required":["max_duration_ms","action_timeout_ms","navigation_timeout_ms","max_events","max_frames","max_workers","max_popups","max_websockets","max_dom_nodes","max_accessibility_nodes","max_screenshots","max_screenshot_bytes","max_storage_entries","max_total_metadata_bytes"],"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["schema_version","browser","start_url","allowed_origins","environment","actions","storage","request_replay","redaction","capture","limits","approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"mode":{"type":"string","enum":["launch","connect"]},"process_ownership":{"type":"string","enum":["provider-owned","external"]},"cleanup":{"type":"string","enum":["terminated-owned-process","disconnected-external"]},"product":{"type":"string","minLength":1,"maxLength":1024},"version":{"type":"string","minLength":1,"maxLength":256}},"required":["mode","process_ownership","cleanup","product","version"],"additionalProperties":false},"scenario":{"type":"object","properties":{"start_origin":{"type":"string","minLength":1,"maxLength":2048},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"action_count":{"type":"integer","minimum":1,"maximum":128},"secret_references":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}}},"required":["start_origin","allowed_origins","action_count","secret_references"],"additionalProperties":false},"duration_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"steps":{"minItems":1,"maxItems":129,"type":"array","items":{"type":"object","properties":{"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"step_id":{"type":"string","minLength":1,"maxLength":64},"action":{"type":"string","minLength":1,"maxLength":64},"status":{"type":"string","enum":["completed","failed","cancelled"]},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"before_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"after_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"error":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}]},"event_sequence_start":{"type":"integer","minimum":1,"maximum":9007199254740991},"event_sequence_end":{"type":"integer","minimum":0,"maximum":9007199254740991},"artifacts":{"type":"object","properties":{"screenshot":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":1,"maximum":8388608},"media_type":{"type":"string","const":"image/png"},"data_base64":{"type":"string","maxLength":11184815}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"dom":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":16777216},"text":{"type":"string","maxLength":1048576}},"required":["sha256","bytes","text"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"accessibility":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":16777216},"text":{"type":"string","maxLength":1048576}},"required":["sha256","bytes","text"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"url":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"history":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"length":{"type":"integer","minimum":0,"maximum":9007199254740991},"current_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"navigation_entries":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["navigate","reload","back_forward","prerender","unknown"]},"name":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false}},"required":["type","name"],"additionalProperties":false}}},"required":["length","current_url","navigation_entries"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"storage":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"cookies":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024},"domain":{"type":"string","maxLength":2048},"path":{"type":"string","maxLength":4096},"secure":{"type":"boolean"},"http_only":{"type":"boolean"},"same_site":{"type":"string","enum":["Strict","Lax","None"]},"value_state":{"type":"string","enum":["hashed","redacted-secret"]},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"additionalProperties":false}},"local_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024},"value_state":{"type":"string","enum":["hashed","redacted-secret"]},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","value_state","value_sha256"],"additionalProperties":false}},"session_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024},"value_state":{"type":"string","enum":["hashed","redacted-secret"]},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","value_state","value_sha256"],"additionalProperties":false}}},"required":["cookies","local_storage","session_storage"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]}},"required":["screenshot","dom","accessibility","url","history","storage"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"]},"equality_eligible":{"type":"boolean"},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]}}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"additionalProperties":false}},"events":{"type":"object","properties":{"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"maxItems":100000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"console"},"level":{"type":"string","minLength":1,"maxLength":64},"text":{"type":"string","maxLength":65536},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}]}},"required":["sequence","step_index","kind","level","text","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"page-error"},"message":{"type":"string","maxLength":65536},"stack":{"anyOf":[{"type":"string","maxLength":262144},{"type":"null"}]}},"required":["sequence","step_index","kind","message","stack"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["request","response","request-failed"]},"method":{"type":"string","minLength":1,"maxLength":32},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"resource_type":{"type":"string","minLength":1,"maxLength":64},"status":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}]},"header_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"failure":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["websocket-opened","websocket-closed"]},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false}},"required":["sequence","step_index","kind","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["websocket-frame-sent","websocket-frame-received"]},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"payload_type":{"type":"string","enum":["text","binary"]},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"payload_text":{"anyOf":[{"type":"string","maxLength":65536},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"]},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}]},"name":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]}},"required":["sequence","step_index","kind","url","name"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"download-cancelled"},"suggested_filename":{"type":"string","maxLength":1024},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false}},"required":["sequence","step_index","kind","suggested_filename","url"],"additionalProperties":false}]}}},"required":["retained","dropped","items"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"]},"equality_eligible":{"type":"boolean"},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]}}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false},"limitations":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":true,"accessesNetwork":true,"changesUiState":true,"mayDiscardData":true,"idempotent":false}},{"name":"list_electron_targets","analysisOperation":null,"title":"List Electron Targets","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.","kind":"electron-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_file_roots":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":16384},"description":"Approved canonical filesystem allowed file roots."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":200,"description":"Maximum number of results to return in this page."}},"required":["cdp_endpoint","allowed_file_roots","approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"targets":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"file_path":{"type":"string"},"attached":{"type":"boolean"}},"required":["target_id","type","title","file_path","attached"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false},"excluded":{"type":"object","properties":{"outside_root":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported_url":{"type":"integer","minimum":0,"maximum":9007199254740991},"non_page":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["outside_root","unsupported_url","non_page"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","targets","excluded","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_electron_page","analysisOperation":null,"title":"Inspect Electron Page","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.","kind":"electron-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_file_roots":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":16384},"description":"Approved canonical filesystem allowed file roots."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"observation_ms":{"default":100,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"include_script_sources":{"default":false,"type":"boolean","description":"Whether to include script sources in the result."},"source_capture_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for source capture."},"limits":{"default":{"max_frames":200,"max_dom_nodes":2000,"max_scripts":500,"max_resources":2000,"max_workers":500,"max_script_source_bytes":1048576,"max_total_script_source_bytes":4194304},"type":"object","properties":{"max_frames":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted frames for this operation."},"max_dom_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted dom nodes for this operation."},"max_scripts":{"default":500,"type":"integer","minimum":1,"maximum":2000,"description":"Maximum permitted scripts for this operation."},"max_resources":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted resources for this operation."},"max_workers":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted workers for this operation."},"max_script_source_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted script source bytes for this operation."},"max_total_script_source_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total script source bytes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["cdp_endpoint","allowed_file_roots","approved","target_id"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"file_path":{"type":"string"},"attached":{"type":"boolean"}},"required":["target_id","type","title","file_path","attached"],"additionalProperties":false},"capture_window":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["started_at","ended_at","observation_ms"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"frames":{"type":"array","items":{"type":"object","properties":{"frame_id":{"type":"string"},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_path":{"type":"string"}},"required":["frame_id","parent_frame_id","file_path"],"additionalProperties":false}},"dom":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"nodes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"parent_index":{"type":"integer","minimum":-1,"maximum":9007199254740991},"node_type":{"type":"integer","minimum":0,"maximum":9007199254740991},"node_name":{"type":"string"},"node_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"attribute_names":{"type":"array","items":{"type":"string"}}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"additionalProperties":false}}},"required":["total_nodes","nodes"],"additionalProperties":false},"scripts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^electron_script_[a-f0-9]{64}$"},"frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"file_path":{"type":"string"},"cdp_hash":{"type":"string"},"length":{"type":"integer","minimum":0,"maximum":9007199254740991},"is_module":{"type":"boolean"},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"oneOf":[{"type":"object","properties":{"included":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["included","reason"],"additionalProperties":false},{"type":"object","properties":{"included":{"type":"boolean","const":true},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text":{"type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false}},"required":["included","artifact"],"additionalProperties":false}]}},"required":["script_key","frame_id","file_path","cdp_hash","length","is_module","language","source"],"additionalProperties":false}}},"required":["total","items"],"additionalProperties":false},"resources":{"type":"array","items":{"type":"object","properties":{"resource_key":{"type":"string","pattern":"^electron_resource_[a-f0-9]{64}$"},"file_path":{"type":"string"},"type":{"type":"string"},"mime_type":{"type":"string"},"content_size":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["resource_key","file_path","type","mime_type","content_size"],"additionalProperties":false}},"workers":{"default":[],"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string","minLength":1,"maxLength":256},"type":{"type":"string","minLength":1,"maxLength":100},"file_path":{"type":"string"},"attached":{"type":"boolean"},"opener_target_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"null"}]},"parent_frame_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"null"}]}},"required":["target_id","type","file_path","attached","opener_target_id","parent_frame_id"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","scripts","resources","workers","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"analyze_javascript_application","analysisOperation":null,"title":"Analyze Javascript Application","description":"Statically reconstruct one approved local ASAR or extracted JavaScript application without executing it. The default summary returns architecture/security counts, top evidence-backed findings, unknowns, and paged graph resource URIs; request detail=full only when the complete graph must be returned immediately. Identical inputs are deterministic, so do not repeat the call or reread full Evidence without a specific missing detail.","kind":"electron-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input_path":{"type":"string","minLength":1,"maxLength":16384,"description":"Local filesystem path for input."},"format":{"default":"auto","type":"string","enum":["auto","asar","directory"],"description":"Declared input artifact format."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"source_map_read_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for source map read."},"limits":{"default":{"max_entries":8000,"max_total_artifact_bytes":536870912,"max_artifact_entry_bytes":134217728,"max_compression_ratio":1000,"max_depth":64,"max_path_bytes":4096,"max_text_files":5000,"max_total_text_bytes":134217728,"max_text_file_bytes":8388608,"max_ast_nodes":2000000,"max_findings":8000,"max_modules":20000,"max_source_map_sources":5000,"max_parse_milliseconds":30000},"type":"object","properties":{"max_entries":{"default":8000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted entries for this operation."},"max_total_artifact_bytes":{"default":536870912,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total artifact bytes for this operation."},"max_artifact_entry_bytes":{"default":134217728,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted artifact entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":64,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."},"max_text_files":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted text files for this operation."},"max_total_text_bytes":{"default":134217728,"type":"integer","minimum":1,"maximum":536870912,"description":"Maximum permitted total text bytes for this operation."},"max_text_file_bytes":{"default":8388608,"type":"integer","minimum":1,"maximum":67108864,"description":"Maximum permitted text file bytes for this operation."},"max_ast_nodes":{"default":2000000,"type":"integer","minimum":1,"maximum":20000000,"description":"Maximum permitted ast nodes for this operation."},"max_findings":{"default":8000,"type":"integer","minimum":1,"maximum":200000,"description":"Maximum permitted findings for this operation."},"max_modules":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted modules for this operation."},"max_source_map_sources":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted source map sources for this operation."},"max_parse_milliseconds":{"default":30000,"type":"integer","minimum":1,"maximum":300000,"description":"Maximum permitted parse milliseconds for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"detail":{"default":"summary","description":"summary returns bounded findings and paged graph resource URIs; full returns the complete graph only when explicitly required","type":"string","enum":["summary","full"]}},"required":["input_path","approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"oneOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"browser_windows":{"type":"integer","minimum":0,"maximum":9007199254740991},"explicit_web_preferences":{"type":"integer","minimum":0,"maximum":9007199254740991},"preload_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"context_bridge_apis":{"type":"integer","minimum":0,"maximum":9007199254740991},"exposed_api_members":{"type":"integer","minimum":0,"maximum":9007199254740991},"ipc":{"type":"object","properties":{"operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"literal_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"dynamic_channel_operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_listeners":{"type":"integer","minimum":0,"maximum":9007199254740991},"main_handlers":{"type":"integer","minimum":0,"maximum":9007199254740991},"paired_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_literal_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"additionalProperties":false},"sender_validation_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"utility_processes":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_utility_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"additionalProperties":false},"statistics":{"type":"object","properties":{"relevant_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"nested_asar_containers":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_files_selected":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_bytes_read":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit_omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"policy_filtered_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_utf8_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"parsed_javascript_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_scopes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"unknowns":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph":{"type":"object","properties":{"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"node_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"edge_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"roots":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["items","total","truncated"],"additionalProperties":false},"node_kinds":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"count":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","count"],"additionalProperties":false}},"top_findings":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"authority":{"type":"string"},"state":{"type":"string"},"confidence":{"type":"string"},"location":{"$ref":"#/$defs/__schema0"}},"required":["node_id","kind","label","authority","state","confidence","location"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"pages":{"type":"object","properties":{"nodes":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/.*"},"edges":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/.*"},"page_limit":{"type":"integer","minimum":1,"maximum":500}},"required":["nodes","edges","page_limit"],"additionalProperties":false}},"required":["graph_id","node_count","edge_count","roots","node_kinds","top_findings","coverage","limitations","pages"],"additionalProperties":false}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","summary","statistics","limitations","unknowns","graph"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"browser_windows":{"type":"integer","minimum":0,"maximum":9007199254740991},"explicit_web_preferences":{"type":"integer","minimum":0,"maximum":9007199254740991},"preload_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"context_bridge_apis":{"type":"integer","minimum":0,"maximum":9007199254740991},"exposed_api_members":{"type":"integer","minimum":0,"maximum":9007199254740991},"ipc":{"type":"object","properties":{"operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"literal_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"dynamic_channel_operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_listeners":{"type":"integer","minimum":0,"maximum":9007199254740991},"main_handlers":{"type":"integer","minimum":0,"maximum":9007199254740991},"paired_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_literal_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"additionalProperties":false},"sender_validation_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"utility_processes":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_utility_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"additionalProperties":false},"statistics":{"type":"object","properties":{"relevant_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"nested_asar_containers":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_files_selected":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_bytes_read":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit_omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"policy_filtered_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_utf8_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"parsed_javascript_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_scopes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"unknowns":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph":{"type":"object","properties":{"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"node_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"edge_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"roots":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["items","total","truncated"],"additionalProperties":false},"node_kinds":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"count":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","count"],"additionalProperties":false}},"top_findings":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"authority":{"type":"string"},"state":{"type":"string"},"confidence":{"type":"string"},"location":{"$ref":"#/$defs/__schema0"}},"required":["node_id","kind","label","authority","state","confidence","location"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"pages":{"type":"object","properties":{"nodes":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/.*"},"edges":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/.*"},"page_limit":{"type":"integer","minimum":1,"maximum":500}},"required":["nodes","edges","page_limit"],"additionalProperties":false}},"required":["graph_id","node_count","edge_count","roots","node_kinds","top_findings","coverage","limitations","pages"],"additionalProperties":false},"semantic_graph":{"type":"object","properties":{"graph_id":{"type":"string","pattern":"^jsrg_[a-f0-9]{64}$"},"nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"relations":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown_frontiers":{"type":"integer","minimum":0,"maximum":9007199254740991},"fingerprints":{"type":"integer","minimum":0,"maximum":9007199254740991},"coverage":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"query_tool":{"type":"string","const":"trace_javascript_semantics"}},"required":["graph_id","nodes","relations","unknown_frontiers","fingerprints","coverage","query_tool"],"additionalProperties":false}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","summary","statistics","limitations","unknowns","graph","semantic_graph"],"additionalProperties":false}]},{"oneOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"summary":{"type":"object","properties":{"browser_windows":{"type":"integer","minimum":0,"maximum":9007199254740991},"explicit_web_preferences":{"type":"integer","minimum":0,"maximum":9007199254740991},"preload_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"context_bridge_apis":{"type":"integer","minimum":0,"maximum":9007199254740991},"exposed_api_members":{"type":"integer","minimum":0,"maximum":9007199254740991},"ipc":{"type":"object","properties":{"operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"literal_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"dynamic_channel_operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_listeners":{"type":"integer","minimum":0,"maximum":9007199254740991},"main_handlers":{"type":"integer","minimum":0,"maximum":9007199254740991},"paired_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_literal_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"additionalProperties":false},"sender_validation_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"utility_processes":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_utility_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"additionalProperties":false},"statistics":{"type":"object","properties":{"relevant_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"nested_asar_containers":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_files_selected":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_bytes_read":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit_omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"policy_filtered_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_utf8_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"parsed_javascript_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_scopes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","graph","summary","statistics","limitations"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"summary":{"type":"object","properties":{"browser_windows":{"type":"integer","minimum":0,"maximum":9007199254740991},"explicit_web_preferences":{"type":"integer","minimum":0,"maximum":9007199254740991},"preload_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"context_bridge_apis":{"type":"integer","minimum":0,"maximum":9007199254740991},"exposed_api_members":{"type":"integer","minimum":0,"maximum":9007199254740991},"ipc":{"type":"object","properties":{"operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"literal_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"dynamic_channel_operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_listeners":{"type":"integer","minimum":0,"maximum":9007199254740991},"main_handlers":{"type":"integer","minimum":0,"maximum":9007199254740991},"paired_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_literal_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"additionalProperties":false},"sender_validation_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"utility_processes":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_utility_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"additionalProperties":false},"statistics":{"type":"object","properties":{"relevant_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"nested_asar_containers":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_files_selected":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_bytes_read":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit_omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"policy_filtered_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_utf8_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"parsed_javascript_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_scopes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"semantic_graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptSemanticRelationGraph"},"schema_version":{"type":"number","const":1},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"application_graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_node_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"]},"identity":{"type":"object","properties":{"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"source_range":{"anyOf":[{"type":"object","properties":{"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"role_key":{"type":"string","minLength":1,"maxLength":1024}},"required":["artifact_sha256","module_path","source_range","role_key"],"additionalProperties":false},"function_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"application_node_ids":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"artifact-version"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["kind","identity","function_node_id","application_node_ids","label","properties","evidence","node_id","identifier_strategy"],"additionalProperties":false}},"relations":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]},"resolution":{"type":"string","enum":["resolved","candidate"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"relation_id":{"type":"string","pattern":"^jsrg_relation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","resolution","properties","evidence","relation_id","identifier_strategy"],"additionalProperties":false}},"fingerprints":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"function_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"algorithm":{"type":"string","const":"rea.javascript-semantic-function/v1"},"status":{"type":"string","enum":["complete","partial","unavailable"]},"components":{"type":"object","properties":{"parameter_arity":{"type":"integer","minimum":0,"maximum":10000},"normalized_ast_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"control_flow_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"relation_shape_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"literal_set_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"effects":{"maxItems":7,"type":"array","items":{"type":"string","enum":["async","child-process","event","network","promise","resource","timer"]}}},"required":["parameter_arity","normalized_ast_sha256","control_flow_sha256","relation_shape_sha256","literal_set_sha256","effects"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"fingerprint_id":{"type":"string","pattern":"^jsrg_fingerprint_[a-f0-9]{64}$"},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["function_node_id","algorithm","status","components","limitations","evidence","fingerprint_id","fingerprint_sha256"],"additionalProperties":false}},"unknowns":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"family":{"type":"string","enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"]},"relation_kinds":{"minItems":1,"maxItems":45,"type":"array","items":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]}},"reason":{"type":"string","enum":["ambiguous-target","bound-reached","dynamic-call","dynamic-property","eval-or-generated-code","incomplete-module","missing-source","unsupported-syntax"]},"detail":{"type":"string","minLength":1,"maxLength":4096},"candidate_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"unknown_id":{"type":"string","pattern":"^jsrg_unknown_[a-f0-9]{64}$"}},"required":["node_id","family","relation_kinds","reason","detail","candidate_node_ids","evidence","unknown_id"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_nodes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"omitted_relations":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","other"]}},"required":["name","value","unit"],"additionalProperties":false}},"families":{"minItems":12,"maxItems":12,"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"]},"status":{"type":"string","enum":["complete","partial","unknown","unsupported"]},"retained_relations":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_relations":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"unknown_ids":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^jsrg_unknown_[a-f0-9]{64}$"}}},"required":["family","status","retained_relations","omitted_relations","unknown_ids"],"additionalProperties":false}}},"required":["status","truncated","omitted_nodes","omitted_relations","limits","families"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jsrg_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_artifact_sha256","application_graph_id","root_node_ids","nodes","relations","fingerprints","unknowns","coverage","limitations","graph_id"],"additionalProperties":false}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","graph","summary","statistics","limitations","semantic_graph"],"additionalProperties":false}]}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"reconcile_javascript_runtime","analysisOperation":null,"title":"Reconcile Javascript Runtime","description":"Reconcile verified static JavaScript application graphs with existing passive web or Electron CDP Evidence. Exact captured-source digests take priority over caller-declared file/URL mappings; target, frame, script, and worker ambiguity remains explicit, and source-map authority stays separate.","kind":"electron-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"static_layers":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["application","cache","assets"],"description":"Value for role."},"analysis":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Value for analysis."},"runtime_mappings":{"default":[],"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file-root","description":"Value for kind."},"root":{"type":"string","minLength":1,"maxLength":16384,"description":"Value for root."},"artifact_prefix":{"default":"","type":"string","maxLength":4096,"description":"Value for artifact prefix."}},"required":["kind","root"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url-prefix","description":"Value for kind."},"prefix":{"type":"string","minLength":1,"maxLength":16384,"description":"Value for prefix."},"artifact_prefix":{"default":"","type":"string","maxLength":4096,"description":"Value for artifact prefix."}},"required":["kind","prefix"],"additionalProperties":false}]},"description":"Value for runtime mappings."}},"required":["role","analysis"],"additionalProperties":false},"description":"Value for static layers."},"runtime_observations":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for runtime observations."},"limits":{"default":{"max_runtime_entities":10000,"max_reconciliation_items":20000,"max_static_load_states":20000},"type":"object","properties":{"max_runtime_entities":{"default":10000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted runtime entities for this operation."},"max_reconciliation_items":{"default":20000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted reconciliation items for this operation."},"max_static_load_states":{"default":20000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted static load states for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["static_layers","runtime_observations"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"reconciliation_id":{"type":"string","pattern":"^jrr_[a-f0-9]{64}$"},"static_layers":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"layer_id":{"type":"string","pattern":"^jrl_[a-f0-9]{64}$"},"role":{"type":"string","enum":["application","cache","assets"]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"runtime_mappings":{"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file-root"},"root":{"type":"string","minLength":1,"maxLength":16384},"artifact_prefix":{"default":"","type":"string","maxLength":4096}},"required":["kind","root","artifact_prefix"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url-prefix"},"prefix":{"type":"string","minLength":1,"maxLength":16384},"artifact_prefix":{"default":"","type":"string","maxLength":4096}},"required":["kind","prefix","artifact_prefix"],"additionalProperties":false}]}}},"required":["layer_id","role","evidence_id","graph_id","root_artifact_sha256","input_path","format","runtime_mappings"],"additionalProperties":false}},"runtime_captures":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["browser","electron","v8-inspector"]},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":4096},"target_location":{"type":"string","minLength":1,"maxLength":4096},"frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"workers":{"type":"integer","minimum":0,"maximum":9007199254740991},"scripts_complete_within_scope":{"type":"boolean"}},"required":["evidence_id","capture_sha256","kind","target_node_id","target_key","target_location","frames","scripts","workers","scripts_complete_within_scope"],"additionalProperties":false}},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"summary":{"type":"object","properties":{"runtime_targets":{"type":"integer","minimum":0,"maximum":9007199254740991},"runtime_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"runtime_scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"runtime_workers":{"type":"integer","minimum":0,"maximum":9007199254740991},"matched":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous":{"type":"integer","minimum":0,"maximum":9007199254740991},"unmatched":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_loaded":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_resident":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_not_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["runtime_targets","runtime_frames","runtime_scripts","runtime_workers","matched","ambiguous","unmatched","unknown","static_loaded","static_resident","static_not_observed","static_unknown"],"additionalProperties":false},"reconciliations":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"reconciliation_id":{"type":"string","pattern":"^jrr_item_[a-f0-9]{64}$"},"entity_kind":{"type":"string","enum":["target","frame","script","worker"]},"runtime_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"runtime_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"static_layer_id":{"anyOf":[{"type":"string","pattern":"^jrl_[a-f0-9]{64}$"},{"type":"null"}]},"static_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"status":{"type":"string","enum":["matched","ambiguous","unmatched","unknown"]},"basis":{"type":"string","enum":["content-and-location","content-sha256","module-source-sha256","artifact-path","operator-file-mapping","operator-url-mapping","none"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"reason":{"type":"string","enum":["content-and-location-match","unique-content-match","unique-location-match","ambiguous-static-candidates","captured-content-disagrees-with-static-location","no-static-content-match","no-authorized-location-mapping","runtime-frame-unattributed","static-or-runtime-coverage-incomplete","reconciliation-limit-reached"]},"candidate_static_count":{"type":"integer","minimum":0,"maximum":800000},"candidate_static_nodes":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"static_layer_id":{"type":"string","pattern":"^jrl_[a-f0-9]{64}$"},"static_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"required":["static_layer_id","static_node_id"],"additionalProperties":false}}},"required":["reconciliation_id","entity_kind","runtime_evidence_id","runtime_node_id","static_layer_id","static_node_id","status","basis","confidence","reason","candidate_static_count","candidate_static_nodes"],"additionalProperties":false}},"static_load_states":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"static_layer_id":{"type":"string","pattern":"^jrl_[a-f0-9]{64}$"},"static_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["javascript-asset","javascript-chunk","javascript-module"]},"status":{"type":"string","enum":["loaded","resident-in-loaded-asset","not-observed-in-capture","unknown"]},"runtime_node_ids":{"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"reason":{"type":"string","enum":["runtime-script-correspondence","containing-asset-was-loaded","not-observed-in-bounded-capture","layer-outside-runtime-scope","static-or-runtime-coverage-incomplete"]}},"required":["static_layer_id","static_node_id","kind","status","runtime_node_ids","reason"],"additionalProperties":false}},"source_map_authority":{"type":"object","properties":{"used_for_primary_matching":{"type":"boolean","const":false},"static_layers_with_read_approval":{"type":"integer","minimum":0,"maximum":9007199254740991},"runtime_script_declarations":{"type":"integer","minimum":0,"maximum":9007199254740991},"limitation":{"type":"string","minLength":1,"maxLength":4096}},"required":["used_for_primary_matching","static_layers_with_read_approval","runtime_script_declarations","limitation"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"truncated":{"type":"boolean"},"omitted_runtime_entities":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_reconciliation_items":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_static_load_states":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_graph_items":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","truncated","omitted_runtime_entities","omitted_reconciliation_items","omitted_static_load_states","omitted_graph_items"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":40,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","reconciliation_id","static_layers","runtime_captures","graph","summary","reconciliations","static_load_states","source_map_authority","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_javascript_runtime_targets","analysisOperation":null,"title":"List Javascript Runtime Targets","description":"List attachable Node/Electron V8 Inspector targets from one approved literal-loopback endpoint. Only targets inside exact canonical file roots or exact HTTP(S) origins are retained; excluded target locations never enter Evidence.","kind":"runtime-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"inspector_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for inspector endpoint."},"allowed_file_roots":{"default":[],"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":16384},"description":"Approved canonical filesystem allowed file roots."},"allowed_origins":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":200,"description":"Maximum number of results to return in this page."}},"required":["inspector_endpoint","approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"runtime":{"type":"object","properties":{"product":{"type":"string","minLength":1,"maxLength":1024},"protocol_version":{"type":"string","minLength":1,"maxLength":100},"v8_version":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]}},"required":["product","protocol_version","v8_version"],"additionalProperties":false},"targets":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string","minLength":1,"maxLength":256},"protocol_type":{"type":"string","minLength":1,"maxLength":100},"attached":{"type":"boolean"},"location":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file"},"file_path":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","file_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"origin":{"type":"string","minLength":1,"maxLength":2048},"sanitized_url":{"type":"string","minLength":1,"maxLength":65536}},"required":["kind","origin","sanitized_url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"builtin"},"specifier":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","specifier"],"additionalProperties":false}]}},"required":["target_id","protocol_type","attached","location"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false},"excluded":{"type":"object","properties":{"outside_file_roots":{"type":"integer","minimum":0,"maximum":9007199254740991},"outside_origins":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported_location":{"type":"integer","minimum":0,"maximum":9007199254740991},"unconnectable":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["outside_file_roots","outside_origins","unsupported_location","unconnectable"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","runtime","targets","excluded","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"observe_javascript_runtime","analysisOperation":null,"title":"Observe Javascript Runtime","description":"Attach passively to one exact approved Node/Electron V8 Inspector target and capture bounded Debugger.scriptParsed plus Runtime execution-context events. REA sends only Runtime.enable and Debugger.enable: it never evaluates, pauses, resumes, reads source, or instruments the target. require/import edges, EventEmitter activity, and Electron IPC remain explicit unknowns; reconcile the returned Evidence with static Application Graph Evidence using reconcile_javascript_runtime.","kind":"runtime-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"inspector_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for inspector endpoint."},"allowed_file_roots":{"default":[],"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":16384},"description":"Approved canonical filesystem allowed file roots."},"allowed_origins":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"runtime_kind":{"type":"string","enum":["node","electron-main","electron-preload","electron-renderer"],"description":"Value for runtime kind."},"observation_ms":{"default":100,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"limits":{"default":{"max_events":10000,"max_scripts":2000,"max_execution_contexts":1000,"max_location_bytes":16384,"max_total_metadata_bytes":4194304},"type":"object","properties":{"max_events":{"default":10000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted events for this operation."},"max_scripts":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted scripts for this operation."},"max_execution_contexts":{"default":1000,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted execution contexts for this operation."},"max_location_bytes":{"default":16384,"type":"integer","minimum":64,"maximum":65536,"description":"Maximum permitted location bytes for this operation."},"max_total_metadata_bytes":{"default":4194304,"type":"integer","minimum":1024,"maximum":33554432,"description":"Maximum permitted total metadata bytes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["inspector_endpoint","approved","target_id","runtime_kind"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"runtime":{"type":"object","properties":{"product":{"type":"string","minLength":1,"maxLength":1024},"protocol_version":{"type":"string","minLength":1,"maxLength":100},"v8_version":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]}},"required":["product","protocol_version","v8_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string","minLength":1,"maxLength":256},"protocol_type":{"type":"string","minLength":1,"maxLength":100},"attached":{"type":"boolean"},"location":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file"},"file_path":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","file_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"origin":{"type":"string","minLength":1,"maxLength":2048},"sanitized_url":{"type":"string","minLength":1,"maxLength":65536}},"required":["kind","origin","sanitized_url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"builtin"},"specifier":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","specifier"],"additionalProperties":false}]},"runtime_kind":{"type":"string","enum":["node","electron-main","electron-preload","electron-renderer"]},"runtime_kind_authority":{"type":"string","const":"caller-declared-unverified"}},"required":["target_id","protocol_type","attached","location","runtime_kind","runtime_kind_authority"],"additionalProperties":false},"capture":{"type":"object","properties":{"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"events_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"events_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"events_dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"metadata_bytes_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"truncation_reasons":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["observation_ms","events_observed","events_retained","events_dropped","metadata_bytes_retained","truncated","truncation_reasons"],"additionalProperties":false},"scripts":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^v8_script_[a-f0-9]{64}$"},"location":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file"},"file_path":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","file_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"origin":{"type":"string","minLength":1,"maxLength":2048},"sanitized_url":{"type":"string","minLength":1,"maxLength":65536}},"required":["kind","origin","sanitized_url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"builtin"},"specifier":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","specifier"],"additionalProperties":false}]},"execution_context_key":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"cdp_hash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"length":{"type":"integer","minimum":0,"maximum":9007199254740991},"is_module":{"type":"boolean"},"status":{"type":"string","const":"observed-loaded"}},"required":["script_key","location","execution_context_key","cdp_hash","length","is_module","status"],"additionalProperties":false}},"observed_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded":{"type":"object","properties":{"outside_file_roots":{"type":"integer","minimum":0,"maximum":9007199254740991},"outside_origins":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported_location":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_protocol_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["outside_file_roots","outside_origins","unsupported_location","invalid_protocol_value"],"additionalProperties":false}},"required":["items","observed_total","excluded"],"additionalProperties":false},"execution_contexts":{"type":"array","items":{"type":"object","properties":{"context_key":{"type":"string","minLength":1,"maxLength":64},"state":{"type":"string","enum":["created","destroyed","cleared"]},"name":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]},"origin":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}]}},"required":["context_key","state","name","origin"],"additionalProperties":false}},"directly_observed":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"unavailable_without_instrumentation":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"unknowns":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","runtime","target","capture","scripts","execution_contexts","directly_observed","unavailable_without_instrumentation","unknowns","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"trace_application_feature","analysisOperation":null,"title":"Trace Application Feature","description":"Trace a typed literal seed through an authenticated JavaScript Application Graph supplied as full Evidence or an Evidence ID returned earlier in this session. Explicit direction, depth, node, edge, and path bounds apply. Original static, native, passive-runtime, inferred, and unknown authorities remain distinct; native addon handoffs never open a provider or execute the application.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"application":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Value for application."},"application_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"native_observations":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for native observations."},"native_observation_evidence_ids":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"description":"Ordered Evidence v2 identifiers for the native observation observations."},"seed":{"type":"object","properties":{"kind":{"type":"string","enum":["node-id","route","string","api","channel","module","native-export"],"description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for value."},"match":{"default":null,"anyOf":[{"type":"string","enum":["exact","contains"]},{"type":"null"}],"description":"Value for match."},"case_sensitive":{"default":false,"type":"boolean","description":"Whether text matching distinguishes uppercase and lowercase."}},"required":["kind","value"],"additionalProperties":false,"description":"Value for seed."},"direction":{"default":"both","type":"string","enum":["outgoing","incoming","both"],"description":"Direction in which to traverse or compare relationships."},"limits":{"default":{"max_seed_matches":25,"max_depth":12,"max_nodes":2000,"max_edges":4000,"max_paths":100},"type":"object","properties":{"max_seed_matches":{"default":25,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted seed matches for this operation."},"max_depth":{"default":12,"type":"integer","minimum":0,"maximum":64,"description":"Maximum permitted depth for this operation."},"max_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted nodes for this operation."},"max_edges":{"default":4000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted edges for this operation."},"max_paths":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted paths for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["seed"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"trace_id":{"type":"string","pattern":"^jatr_[a-f0-9]{64}$"},"source_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"source_graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"seed":{"type":"object","properties":{"kind":{"type":"string","enum":["node-id","route","string","api","channel","module","native-export"]},"value":{"type":"string","minLength":1,"maxLength":4096},"match":{"default":null,"anyOf":[{"type":"string","enum":["exact","contains"]},{"type":"null"}]},"case_sensitive":{"default":false,"type":"boolean"}},"required":["kind","value","match","case_sensitive"],"additionalProperties":false},"direction":{"type":"string","enum":["outgoing","incoming","both"]},"seed_matches":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","minLength":1,"maxLength":128},"basis":{"type":"string","enum":["node-id","label","identity","property"]},"field":{"type":"string","minLength":1,"maxLength":256}},"required":["node_id","kind","basis","field"],"additionalProperties":false}},"graph":{"anyOf":[{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},{"type":"null"}]},"paths":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"path_id":{"type":"string","pattern":"^jatp_[a-f0-9]{64}$"},"start_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"end_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"end_kind":{"type":"string","minLength":1,"maxLength":128},"node_ids":{"minItems":1,"maxItems":65,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"edge_ids":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"}},"authorities":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"contains_inference":{"type":"boolean"}},"required":["path_id","start_node_id","end_node_id","end_kind","node_ids","edge_ids","authorities","contains_inference"],"additionalProperties":false}},"native_handoffs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"native_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"export_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"requested_exports":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"status":{"type":"string","enum":["evidence-linked","requires-provider-analysis"]},"providers":{"maxItems":64,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false}},"evidence_ids":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"recommended_tools":{"maxItems":5,"type":"array","items":{"type":"string","enum":["open_binary","binary_overview","search_procedures","analyze_function","xrefs"]}}},"required":["native_node_id","artifact_sha256","artifact_path","export_node_ids","requested_exports","status","providers","evidence_ids","recommended_tools"],"additionalProperties":false}},"summary":{"type":"object","properties":{"matched_seeds":{"type":"integer","minimum":0,"maximum":9007199254740991},"traced_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"traced_edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"terminal_paths":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_handoffs":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_facts":{"type":"integer","minimum":0,"maximum":9007199254740991},"inferred_facts":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown_facts":{"type":"integer","minimum":0,"maximum":9007199254740991},"unavailable_facts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["matched_seeds","traced_nodes","traced_edges","terminal_paths","native_handoffs","observed_facts","inferred_facts","unknown_facts","unavailable_facts"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-source","partial","truncated","no-match"]},"source_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"scanned_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"total_seed_matches":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_seed_matches":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_paths":{"type":"integer","minimum":0,"maximum":9007199254740991},"frontier_node_ids":{"maxItems":50000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}}},"required":["status","source_graph_status","scanned_nodes","total_seed_matches","omitted_seed_matches","omitted_nodes","omitted_edges","omitted_paths","frontier_node_ids"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":65,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","trace_id","source_evidence_id","source_graph_id","seed","direction","seed_matches","graph","paths","native_handoffs","summary","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"trace_javascript_semantics","analysisOperation":null,"title":"Trace Javascript Semantics","description":"Trace bounded static JavaScript data-flow, direct call/return, and closure relations from authenticated analyze_javascript_application v2 Evidence. Queries declare direction and exact node, relation, depth, function, module, and page limits. Dynamic or unsupported semantics remain explicit unknowns; static reachability never claims runtime execution.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"application":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Value for application."},"application_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"query":{"type":"object","properties":{"seed":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"semantic-node","description":"Value for kind."},"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$","description":"Value for node id."}},"required":["kind","node_id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"application-node","description":"Value for kind."},"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$","description":"Value for node id."}},"required":["kind","node_id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"literal","description":"Value for kind."},"value":{"$ref":"#/$defs/__schema0","description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"function","description":"Value for kind."},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of fingerprint."}},"required":["kind","fingerprint_sha256"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"property","description":"Value for kind."},"name":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact name used by this operation."}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"endpoint","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":16384,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"event","description":"Value for kind."},"name":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact name used by this operation."}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"boundary-field","description":"Value for kind."},"field":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for field."}},"required":["kind","field"],"additionalProperties":false}],"description":"Value for seed."},"direction":{"type":"string","enum":["backward-provenance","forward-influence","callers","ownership"],"description":"Direction in which to traverse or compare relationships."},"allowed_relations":{"minItems":1,"maxItems":44,"type":"array","items":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]},"description":"Value for allowed relations."},"include_ambiguous_dynamic_edges":{"default":false,"type":"boolean","description":"Whether to include ambiguous dynamic edges in the result."},"expected":{"default":null,"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["source","sink"],"description":"Value for role."},"classes":{"minItems":1,"maxItems":24,"type":"array","items":{"type":"string","enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"]},"description":"Value for classes."}},"required":["role","classes"],"additionalProperties":false},{"type":"null"}],"description":"Value for expected."},"source_map_authority":{"default":{"authority":"none"},"type":"object","properties":{"authority":{"type":"string","const":"none","description":"Value for authority."}},"required":["authority"],"additionalProperties":false,"description":"Value for source map authority."},"limits":{"default":{"max_seed_matches":25,"max_nodes":2000,"max_edges":4000,"max_depth":12,"max_functions":500,"max_modules":500,"max_unknowns":1000,"page_size":200},"type":"object","properties":{"max_seed_matches":{"default":25,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted seed matches for this operation."},"max_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted nodes for this operation."},"max_edges":{"default":4000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted edges for this operation."},"max_depth":{"default":12,"type":"integer","minimum":0,"maximum":64,"description":"Maximum permitted depth for this operation."},"max_functions":{"default":500,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted functions for this operation."},"max_modules":{"default":500,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted modules for this operation."},"max_unknowns":{"default":1000,"type":"integer","minimum":0,"maximum":10000,"description":"Maximum permitted unknowns for this operation."},"page_size":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Value for page size."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"cursor":{"default":null,"anyOf":[{"type":"string","pattern":"^jsrqc_[0-9]+_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for cursor."}},"required":["seed","direction"],"additionalProperties":false,"description":"Non-empty feature or text query to investigate."}},"required":["query"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"query_id":{"type":"string","pattern":"^jsrq_[a-f0-9]{64}$"},"source_graph_id":{"type":"string","pattern":"^jsrg_[a-f0-9]{64}$"},"seed":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"semantic-node"},"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"required":["kind","node_id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"application-node"},"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"required":["kind","node_id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"literal"},"value":{"$ref":"#/$defs/__schema0"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"function"},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["kind","fingerprint_sha256"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"property"},"name":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"endpoint"},"value":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"event"},"name":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"boundary-field"},"field":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","field"],"additionalProperties":false}]},"direction":{"type":"string","enum":["backward-provenance","forward-influence","callers","ownership"]},"status":{"type":"string","enum":["found","no-match","ambiguous","partial","truncated","unsupported"]},"seed_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"nodes":{"maxItems":3000,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"]},"identity":{"type":"object","properties":{"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"source_range":{"anyOf":[{"type":"object","properties":{"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"role_key":{"type":"string","minLength":1,"maxLength":1024}},"required":["artifact_sha256","module_path","source_range","role_key"],"additionalProperties":false},"function_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"application_node_ids":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"artifact-version"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["kind","identity","function_node_id","application_node_ids","label","properties","evidence","node_id","identifier_strategy"],"additionalProperties":false}},"relations":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]},"resolution":{"type":"string","enum":["resolved","candidate"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"relation_id":{"type":"string","pattern":"^jsrg_relation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","resolution","properties","evidence","relation_id","identifier_strategy"],"additionalProperties":false}},"unknowns":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"family":{"type":"string","enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"]},"relation_kinds":{"minItems":1,"maxItems":45,"type":"array","items":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]}},"reason":{"type":"string","enum":["ambiguous-target","bound-reached","dynamic-call","dynamic-property","eval-or-generated-code","incomplete-module","missing-source","unsupported-syntax"]},"detail":{"type":"string","minLength":1,"maxLength":4096},"candidate_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"unknown_id":{"type":"string","pattern":"^jsrg_unknown_[a-f0-9]{64}$"}},"required":["node_id","family","relation_kinds","reason","detail","candidate_node_ids","evidence","unknown_id"],"additionalProperties":false}},"expected_match_node_ids":{"maxItems":50000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"summary":{"type":"object","properties":{"total_seed_matches":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained_seed_matches":{"type":"integer","minimum":0,"maximum":9007199254740991},"traversed_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"traversed_relations":{"type":"integer","minimum":0,"maximum":9007199254740991},"traversed_functions":{"type":"integer","minimum":0,"maximum":9007199254740991},"traversed_modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"relevant_unknowns":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained_unknowns":{"type":"integer","minimum":0,"maximum":10000}},"required":["total_seed_matches","retained_seed_matches","traversed_nodes","traversed_relations","traversed_functions","traversed_modules","relevant_unknowns","retained_unknowns"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","truncated","unavailable"]},"frontier":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"depth":{"type":"integer","minimum":0,"maximum":65},"reason":{"type":"string","enum":["max-depth","max-edges","max-functions","max-modules","max-nodes","max-seed-matches"]}},"required":["node_id","depth","reason"],"additionalProperties":false}}},"required":["status","frontier"],"additionalProperties":false},"page":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":1000},"next_cursor":{"anyOf":[{"type":"string","pattern":"^jsrqc_[0-9]+_[a-f0-9]{64}$"},{"type":"null"}]}},"required":["offset","size","next_cursor"],"additionalProperties":false},"applied_limits":{"type":"object","properties":{"max_seed_matches":{"default":25,"type":"integer","minimum":1,"maximum":1000},"max_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":50000},"max_edges":{"default":4000,"type":"integer","minimum":1,"maximum":100000},"max_depth":{"default":12,"type":"integer","minimum":0,"maximum":64},"max_functions":{"default":500,"type":"integer","minimum":1,"maximum":10000},"max_modules":{"default":500,"type":"integer","minimum":1,"maximum":10000},"max_unknowns":{"default":1000,"type":"integer","minimum":0,"maximum":10000},"page_size":{"default":200,"type":"integer","minimum":1,"maximum":1000}},"required":["max_seed_matches","max_nodes","max_edges","max_depth","max_functions","max_modules","max_unknowns","page_size"],"additionalProperties":false},"accepted_limit_ranges":{"type":"object","properties":{"max_seed_matches":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":1000}},"required":["minimum","maximum"],"additionalProperties":false},"max_nodes":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":50000}},"required":["minimum","maximum"],"additionalProperties":false},"max_edges":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":100000}},"required":["minimum","maximum"],"additionalProperties":false},"max_depth":{"type":"object","properties":{"minimum":{"type":"number","const":0},"maximum":{"type":"number","const":64}},"required":["minimum","maximum"],"additionalProperties":false},"max_functions":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":10000}},"required":["minimum","maximum"],"additionalProperties":false},"max_modules":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":10000}},"required":["minimum","maximum"],"additionalProperties":false},"max_unknowns":{"type":"object","properties":{"minimum":{"type":"number","const":0},"maximum":{"type":"number","const":10000}},"required":["minimum","maximum"],"additionalProperties":false},"page_size":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":1000}},"required":["minimum","maximum"],"additionalProperties":false}},"required":["max_seed_matches","max_nodes","max_edges","max_depth","max_functions","max_modules","max_unknowns","page_size"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"source_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","query_id","source_graph_id","seed","direction","status","seed_node_ids","nodes","relations","unknowns","expected_match_node_ids","summary","coverage","page","applied_limits","accepted_limit_ranges","limitations","source_evidence_id","evidence_links"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_application_versions","analysisOperation":null,"title":"Compare Application Versions","description":"Compare two authenticated JavaScript Application Graph versions supplied as full Evidence or Evidence IDs returned earlier in this session. Uses unique-only exact digest, module source digest, source-map identity, structural fingerprint, and non-module semantic-key tiers. Reports added, removed, changed, ambiguous, and unknown entities plus a bounded changed_from graph without fuzzy or module-ordinal pairing.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"right":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"left_native_observations":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for left native observations."},"left_native_observation_evidence_ids":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"description":"Ordered Evidence v2 identifiers for the left native observation observations."},"right_native_observations":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for right native observations."},"right_native_observation_evidence_ids":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"description":"Ordered Evidence v2 identifiers for the right native observation observations."},"limits":{"default":{"max_comparison_items":20000,"max_candidate_nodes":100,"max_graph_nodes":20000,"max_graph_edges":40000},"type":"object","properties":{"max_comparison_items":{"default":20000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted comparison items for this operation."},"max_candidate_nodes":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted candidate nodes for this operation."},"max_graph_nodes":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted graph nodes for this operation."},"max_graph_edges":{"default":40000,"type":"integer","minimum":1,"maximum":200000,"description":"Maximum permitted graph edges for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_id":{"type":"string","pattern":"^javc_[a-f0-9]{64}$"},"left":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"additionalProperties":false},"right":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"additionalProperties":false},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","added","removed","changed","unknown"],"additionalProperties":false},"matching":{"type":"object","properties":{"exact_node_identity":{"type":"integer","minimum":0,"maximum":9007199254740991},"exact_content_digest":{"type":"integer","minimum":0,"maximum":9007199254740991},"exact_module_source_digest":{"type":"integer","minimum":0,"maximum":9007199254740991},"source_map_identity":{"type":"integer","minimum":0,"maximum":9007199254740991},"structural_fingerprint":{"type":"integer","minimum":0,"maximum":9007199254740991},"semantic_key":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous":{"type":"integer","minimum":0,"maximum":9007199254740991},"unmatched":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["exact_node_identity","exact_content_digest","exact_module_source_digest","source_map_identity","structural_fingerprint","semantic_key","ambiguous","unmatched"],"additionalProperties":false},"items":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","pattern":"^javc_item_[a-f0-9]{64}$"},"status":{"type":"string","enum":["unchanged","added","removed","changed","unknown"]},"node_kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"left_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"right_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"match":{"type":"object","properties":{"status":{"type":"string","enum":["matched","unmatched","ambiguous"]},"basis":{"type":"string","enum":["exact-node-identity","exact-content-digest","exact-module-source-digest","source-map-identity","structural-fingerprint","semantic-key","none"]},"confidence":{"type":"string","enum":["exact","high","medium","unknown"]},"candidate_left_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"candidate_right_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}}},"required":["status","basis","confidence","candidate_left_node_ids","candidate_right_node_ids"],"additionalProperties":false},"dimensions":{"maxItems":6,"type":"array","items":{"type":"string","enum":["content","location","properties","relationships","availability","coverage"]}},"evidence_links":{"minItems":2,"maxItems":130,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["item_id","status","node_kind","left_node_id","right_node_id","match","dimensions","evidence_links","limitations"],"additionalProperties":false}},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"left_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"right_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"omitted_comparison_items":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidate_references":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_graph_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_graph_edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_graph_observations":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","left_graph_status","right_graph_status","omitted_comparison_items","omitted_candidate_references","omitted_graph_nodes","omitted_graph_edges","omitted_graph_observations"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":130,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","comparison_id","left","right","summary","matching","items","graph","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_source_to_bundle","analysisOperation":null,"title":"Compare Source To Bundle","description":"Compare a cryptographically committed HistoricalSourceGraph/v1 with authenticated JavaScript Application Graph Evidence supplied directly or by session Evidence ID. Uses explicit exact-digest, source-map path, current-path, suffix, and basename signals with stable weights. Classifies unchanged, modified, removed, split, merged, duplicated, and unknown; incomplete coverage and ambiguous weak signals never become absence or forced matches.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reference":{"type":"object","properties":{"schema":{"type":"string","const":"HistoricalSourceGraph/v1","description":"Value for schema."},"authority":{"type":"string","const":"historical-reference","description":"Value for authority."},"root_alias":{"type":"string","const":"$REFERENCE_ROOT","description":"Value for root alias."},"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of root."},"inventory_state":{"type":"string","enum":["complete","partial","unknown"],"description":"Value for inventory state."},"entries":{"maxItems":100000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"classifications":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["source","test","config","manifest","generated","vendor","documentation","unknown"]},"description":"Value for classifications."},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024},"description":"Value for limitations."},"kind":{"type":"string","const":"file","description":"Value for kind."},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for sha256."},"size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for size."},"language":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for language."},"content_state":{"type":"string","enum":["hashed","redacted-secret","excluded","unreadable","too-large","unknown"],"description":"Value for content state."}},"required":["path","classifications","limitations","kind","sha256","size","language","content_state"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"classifications":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["source","test","config","manifest","generated","vendor","documentation","unknown"]},"description":"Value for classifications."},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024},"description":"Value for limitations."},"kind":{"type":"string","const":"directory","description":"Value for kind."},"tree_state":{"type":"string","enum":["enumerated","partial","excluded","unreadable","unknown"],"description":"Value for tree state."}},"required":["path","classifications","limitations","kind","tree_state"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"classifications":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["source","test","config","manifest","generated","vendor","documentation","unknown"]},"description":"Value for classifications."},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024},"description":"Value for limitations."},"kind":{"type":"string","const":"symlink","description":"Value for kind."},"target":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for target."},"target_state":{"type":"string","enum":["internal","external","missing","unreadable","unknown"],"description":"Value for target state."}},"required":["path","classifications","limitations","kind","target","target_state"],"additionalProperties":false}]},"description":"Value for entries."},"relationships":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"from_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for from."},"to":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for to."},"kind":{"type":"string","enum":["imports","requires","references","declares-module"],"description":"Value for kind."},"resolution":{"type":"string","enum":["internal","external","unresolved","unknown"],"description":"Value for resolution."},"parse_state":{"type":"string","enum":["parsed","partial","unknown"],"description":"Value for parse state."}},"required":["from_path","to","kind","resolution","parse_state"],"additionalProperties":false},"description":"Value for relationships."},"parse_failures":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"parser":{"type":"string","minLength":1,"maxLength":100,"description":"Value for parser."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["path","parser","reason"],"additionalProperties":false},"description":"Value for parse failures."},"exclusions":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"reason":{"type":"string","enum":["configured-secret","symlink-escape","size-limit","inventory-limit","unreadable","caller-excluded"],"description":"Value for reason."}},"required":["path","reason"],"additionalProperties":false},"description":"Value for exclusions."},"languages":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"description":"Value for languages."},"manifests":{"maxItems":10000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for manifests."},"vcs":{"anyOf":[{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"git","description":"Value for kind."},"head":{"type":"string","pattern":"^(?:[a-f0-9]{40}|[a-f0-9]{64})$","description":"Value for head."},"dirty":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for dirty."}},"required":["kind","head","dirty"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"none","description":"Value for kind."},"head":{"type":"null","description":"Value for head."},"dirty":{"type":"null","description":"Value for dirty."}},"required":["kind","head","dirty"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"unknown","description":"Value for kind."},"head":{"type":"null","description":"Value for head."},"dirty":{"type":"null","description":"Value for dirty."}},"required":["kind","head","dirty"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for vcs."},"provenance":{"type":"object","properties":{"importer":{"type":"string","minLength":1,"maxLength":100,"description":"Value for importer."},"importer_version":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for importer version."},"caller":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[\\\\w .:@/+-]+$","description":"Value for caller."}},"required":["importer","importer_version","caller"],"additionalProperties":false,"description":"Value for provenance."},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024},"description":"Value for limitations."}},"required":["schema","authority","root_alias","root_sha256","inventory_state","entries","relationships","parse_failures","exclusions","languages","manifests","vcs","provenance","limitations"],"additionalProperties":false,"description":"Value for reference."},"application":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Value for application."},"application_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"limits":{"default":{"max_source_files":10000,"max_application_nodes":20000,"max_candidate_nodes":100,"max_candidate_evaluations":1000000},"type":"object","properties":{"max_source_files":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted source files for this operation."},"max_application_nodes":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted application nodes for this operation."},"max_candidate_nodes":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted candidate nodes for this operation."},"max_candidate_evaluations":{"default":1000000,"type":"integer","minimum":1,"maximum":10000000,"description":"Maximum permitted candidate evaluations for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["reference"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_id":{"type":"string","pattern":"^stbc_[a-f0-9]{64}$"},"reference":{"type":"object","properties":{"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_state":{"type":"string","enum":["complete","partial","unknown"]}},"required":["root_sha256","inventory_state"],"additionalProperties":false},"application":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"additionalProperties":false},"scoring":{"type":"object","properties":{"algorithm":{"type":"string","const":"rea-source-to-bundle-signals/v1"},"minimum_candidate_score":{"type":"number","const":20},"weights":{"type":"array","items":{"type":"object","properties":{"signal":{"type":"string","enum":["exact-source-digest","source-map-original-path","current-path-exact","current-path-suffix","basename-match","language-extension"]},"weight":{"type":"integer","minimum":1,"maximum":100}},"required":["signal","weight"],"additionalProperties":false}}},"required":["algorithm","minimum_candidate_score","weights"],"additionalProperties":false},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"modified":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"split":{"type":"integer","minimum":0,"maximum":9007199254740991},"merged":{"type":"integer","minimum":0,"maximum":9007199254740991},"duplicated":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","modified","removed","split","merged","duplicated","unknown"],"additionalProperties":false},"items":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"mapping_id":{"type":"string","pattern":"^stbc_item_[a-f0-9]{64}$"},"source_path":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"source_language":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"status":{"type":"string","enum":["unchanged","modified","removed","split","merged","duplicated","unknown"]},"confidence":{"type":"string","enum":["exact","high","medium","unknown"]},"current_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"candidates":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"current_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"current_node_kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"score":{"type":"integer","minimum":1,"maximum":300},"confidence":{"type":"string","enum":["exact","high","medium","low"]},"signals":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["exact-source-digest","source-map-original-path","current-path-exact","current-path-suffix","basename-match","language-extension"]},"weight":{"type":"integer","minimum":1,"maximum":100},"source_value":{"type":"string","minLength":1,"maxLength":4096},"current_values":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["kind","weight","source_value","current_values"],"additionalProperties":false}}},"required":["current_node_id","current_node_kind","score","confidence","signals"],"additionalProperties":false}},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["mapping_id","source_path","source_sha256","source_language","status","confidence","current_node_ids","candidates","omitted_candidates","limitations"],"additionalProperties":false}},"unmapped_current_node_ids":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"reference_inventory_state":{"type":"string","enum":["complete","partial","unknown"]},"application_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"retained_source_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_source_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained_application_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_application_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"candidate_evaluations":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidate_evaluations":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidate_references":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_unmapped_current_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","reference_inventory_state","application_graph_status","retained_source_files","omitted_source_files","retained_application_nodes","omitted_application_nodes","candidate_evaluations","omitted_candidate_evaluations","omitted_candidate_references","omitted_unmapped_current_nodes"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","comparison_id","reference","application","scoring","summary","items","unmapped_current_node_ids","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_javascript_export_shapes","analysisOperation":null,"title":"Compare Javascript Export Shapes","description":"Compare bounded static return shapes for one exact module/export selector on each authenticated JavaScript Application Graph, supplied as full Evidence or session Evidence IDs. Variants pair only by reciprocal unique literal discriminants; dynamic values, incomplete properties, and ambiguous variants remain unknown. Reports JSON Pointer changes and recommends controlled replay separately without executing JavaScript.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"right":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"left_module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for left module."},"left_export_name":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for left export name."},"right_module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for right module."},"right_export_name":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for right export name."},"limits":{"default":{"max_candidate_exports":100,"max_return_variants":128,"max_changes":1000},"type":"object","properties":{"max_candidate_exports":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted candidate exports for this operation."},"max_return_variants":{"default":128,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted return variants for this operation."},"max_changes":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted changes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["left_module_path","left_export_name","right_module_path","right_export_name"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_id":{"type":"string","pattern":"^jesc_[a-f0-9]{64}$"},"left":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"requested_module_path":{"type":"string","minLength":1,"maxLength":4096},"requested_export_name":{"type":"string","minLength":1,"maxLength":4096},"status":{"type":"string","enum":["selected","missing","ambiguous","unavailable"]},"selected_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"candidates":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"export_name":{"type":"string","minLength":1,"maxLength":4096},"matches_requested_module":{"type":"boolean"},"matches_requested_export":{"type":"boolean"}},"required":["node_id","module_path","export_name","matches_requested_module","matches_requested_export"],"additionalProperties":false}},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["evidence_id","graph_id","requested_module_path","requested_export_name","status","selected_node_id","candidates","omitted_candidates"],"additionalProperties":false},"right":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"requested_module_path":{"type":"string","minLength":1,"maxLength":4096},"requested_export_name":{"type":"string","minLength":1,"maxLength":4096},"status":{"type":"string","enum":["selected","missing","ambiguous","unavailable"]},"selected_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"candidates":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"export_name":{"type":"string","minLength":1,"maxLength":4096},"matches_requested_module":{"type":"boolean"},"matches_requested_export":{"type":"boolean"}},"required":["node_id","module_path","export_name","matches_requested_module","matches_requested_export"],"additionalProperties":false}},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["evidence_id","graph_id","requested_module_path","requested_export_name","status","selected_node_id","candidates","omitted_candidates"],"additionalProperties":false},"summary":{"type":"object","properties":{"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["added","removed","changed","unknown"],"additionalProperties":false},"changes":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"change_id":{"type":"string","pattern":"^jesc_change_[a-f0-9]{64}$"},"status":{"type":"string","enum":["added","removed","changed","unknown"]},"path":{"type":"string","maxLength":4096},"discriminant":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","maxLength":4096},"value":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["path","value"],"additionalProperties":false},{"type":"null"}]},"left":{"oneOf":[{"type":"object","properties":{"availability":{"type":"string","const":"absent"}},"required":["availability"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"literal"},"value":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["availability","value"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"union"},"values":{"minItems":1,"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}}},"required":["availability","values"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"unknown"},"reason":{"type":"string","minLength":1,"maxLength":4096}},"required":["availability","reason"],"additionalProperties":false}]},"right":{"oneOf":[{"type":"object","properties":{"availability":{"type":"string","const":"absent"}},"required":["availability"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"literal"},"value":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["availability","value"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"union"},"values":{"minItems":1,"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}}},"required":["availability","values"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"unknown"},"reason":{"type":"string","minLength":1,"maxLength":4096}},"required":["availability","reason"],"additionalProperties":false}]},"left_source_range":{"anyOf":[{"type":"object","properties":{"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"right_source_range":{"anyOf":[{"type":"object","properties":{"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"evidence_links":{"type":"array","prefixItems":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}]},"limitations":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["change_id","status","path","discriminant","left","right","left_source_range","right_source_range","evidence_links","limitations"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"left_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"right_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"paired_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_left_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_right_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_left_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_right_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"left_source_omitted_variants":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"right_source_omitted_variants":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"left_omitted_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"right_omitted_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"left_omitted_property_coverage":{"type":"integer","minimum":0,"maximum":9007199254740991},"right_omitted_property_coverage":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","left_graph_status","right_graph_status","paired_variants","unpaired_left_variants","unpaired_right_variants","omitted_left_variants","omitted_right_variants","left_source_omitted_variants","right_source_omitted_variants","left_omitted_fields","right_omitted_fields","left_omitted_property_coverage","right_omitted_property_coverage","omitted_candidates","omitted_changes"],"additionalProperties":false},"evidence_links":{"type":"array","prefixItems":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}]},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"runtime_validation":{"type":"object","properties":{"recommended_tool":{"type":"string","const":"run_controlled_replay"},"automatically_started":{"type":"boolean","const":false},"required_for":{"type":"string","const":"runtime-semantics"}},"required":["recommended_tool","automatically_started","required_for"],"additionalProperties":false}},"required":["schema_version","comparison_id","left","right","summary","changes","coverage","evidence_links","limitations","runtime_validation"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"run_controlled_replay","analysisOperation":null,"title":"Run Controlled Replay","description":"Plan or execute a content-bound extracted-module JavaScript replay inside the Linux Bubblewrap, seccomp, and cgroup boundary. Execution requires approved: true and the exact plan digest. Supports deterministic boundary cases and optional left/right differential comparison; observations have controlled-replay authority and do not claim real application runtime behavior.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","enum":["plan","execute"],"description":"Operation mode that selects the requested behavior."},"left":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"right":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"cases":{"default":[],"maxItems":128,"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string","minLength":1,"maxLength":128,"description":"Value for case id."},"arguments":{"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for arguments."}},"required":["case_id","arguments"],"additionalProperties":false},"description":"Value for cases."},"generator":{"type":"object","properties":{"preset":{"type":"string","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"description":"Value for preset."},"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for seed."},"count":{"type":"integer","minimum":1,"maximum":64,"description":"Value for count."}},"required":["preset","seed","count"],"additionalProperties":false,"description":"Value for generator."},"determinism":{"default":{"clock_iso":"2000-01-01T00:00:00.000Z","random_seed":0,"locale":"en-US","timezone":"UTC","platform":"linux"},"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for clock iso."},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for random seed."},"locale":{"default":"en-US","type":"string","const":"en-US","description":"Value for locale."},"timezone":{"default":"UTC","type":"string","const":"UTC","description":"Value for timezone."},"platform":{"default":"linux","type":"string","const":"linux","description":"Value for platform."}},"additionalProperties":false,"description":"Value for determinism."},"limits":{"default":{"wall_time_ms":3000,"memory_bytes":134217728,"tasks":8,"cpu_quota_percent":50,"tmpfs_bytes":16777216,"module_bytes":4194304,"input_bytes":262144,"protocol_bytes":16777216,"output_bytes":524288,"stderr_bytes":32768,"result_depth":16,"result_nodes":10000},"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000,"description":"Value for wall time ms."},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912,"description":"Bounded byte count for memory."},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32,"description":"Value for tasks."},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Value for cpu quota percent."},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for tmpfs."},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Bounded byte count for module."},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576,"description":"Bounded byte count for input."},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for protocol."},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304,"description":"Bounded byte count for output."},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144,"description":"Bounded byte count for stderr."},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64,"description":"Value for result depth."},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for result nodes."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"approved":{"default":false,"type":"boolean","description":"Explicit operator approval to perform this operation."},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for plan digest."},"reproducer_export":{"type":"object","properties":{"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"approved":{"type":"boolean","description":"Explicit operator approval to perform this operation."},"include_sources":{"default":false,"type":"boolean","description":"Whether to include sources in the result."}},"required":["path","approved"],"additionalProperties":false,"description":"Value for reproducer export."}},"required":["mode","left"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"phase":{"type":"string","enum":["plan","execute"],"description":"Current plan or execution phase of the operation."},"plan":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"policy_version":{"type":"string","const":"linux-bwrap-systemd-v1"},"policy_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"network":{"type":"string","const":"none"},"filesystem":{"type":"object","properties":{"host_writes":{"type":"boolean","const":false},"private_tmpfs_bytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["host_writes","private_tmpfs_bytes"],"additionalProperties":false},"runtime":{"type":"object","properties":{"executable":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"worker":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"read_only_files":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source_path":{"type":"string","minLength":1},"destination_path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["source_path","destination_path","sha256"],"additionalProperties":false}}},"required":["executable","worker","read_only_files"],"additionalProperties":false},"sandbox":{"type":"object","properties":{"bubblewrap":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemd_run":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemctl":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"shell":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"seccomp_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"additionalProperties":false},"left":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"right":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"cases":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"arguments":{"type":"array","items":{"$ref":"#/$defs/__schema0"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["case_id","arguments","sha256"],"additionalProperties":false}},"determinism":{"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295},"locale":{"default":"en-US","type":"string","const":"en-US"},"timezone":{"default":"UTC","type":"string","const":"UTC"},"platform":{"default":"linux","type":"string","const":"linux"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"additionalProperties":false},"limits":{"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"additionalProperties":false},"effects":{"type":"array","items":{"type":"string"}},"reproducer_export":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1},"include_sources":{"type":"boolean"},"authority":{"type":"string","const":"evidence_write"}},"required":["path","include_sources","authority"],"additionalProperties":false},{"type":"null"}]}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"additionalProperties":false},{"type":"null"}],"description":"Content-bound execution plan and its approval commitment."},"source_evidence":{"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false},"description":"Evidence records supporting the prepared source transformation."},"evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false},{"type":"null"}],"description":"Evidence v2 record produced by this operation."}},"required":["phase","plan","source_evidence","evidence"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"prepare_node_characterization","analysisOperation":null,"title":"Prepare Node Characterization","description":"Prepare a hash-bound Node/JavaScript characterization plan and deterministic reversible export transformation without executing target code. The exact source, selected byte range, runtime closure, sandbox profile, cases, and limits are committed for separate execution approval.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"preparation_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for preparation."},"selected_alias":{"type":"string","minLength":1,"maxLength":200,"description":"Value for selected alias."},"expected_effect":{"type":"string","enum":["pure","observation-only"],"description":"Expected effect used to reject stale or mismatched input."},"instrumentation":{"type":"object","properties":{"artifact_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for artifact."},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of artifact."},"selection":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for byte start."},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for byte end."},"selected_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of selected."},"export_name":{"type":"string","pattern":"^[A-Za-z_$][A-Za-z0-9_$]{0,199}$","description":"Value for export name."}},"required":["byte_start","byte_end","selected_sha256","export_name"],"additionalProperties":false,"description":"Value for selection."}},"required":["artifact_path","artifact_sha256","selection"],"additionalProperties":false,"description":"Value for instrumentation."},"replay":{"type":"object","properties":{"mode":{"type":"string","enum":["plan","execute"],"description":"Operation mode that selects the requested behavior."},"left":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"right":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"cases":{"default":[],"maxItems":128,"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string","minLength":1,"maxLength":128,"description":"Value for case id."},"arguments":{"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for arguments."}},"required":["case_id","arguments"],"additionalProperties":false},"description":"Value for cases."},"generator":{"type":"object","properties":{"preset":{"type":"string","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"description":"Value for preset."},"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for seed."},"count":{"type":"integer","minimum":1,"maximum":64,"description":"Value for count."}},"required":["preset","seed","count"],"additionalProperties":false,"description":"Value for generator."},"determinism":{"default":{"clock_iso":"2000-01-01T00:00:00.000Z","random_seed":0,"locale":"en-US","timezone":"UTC","platform":"linux"},"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for clock iso."},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for random seed."},"locale":{"default":"en-US","type":"string","const":"en-US","description":"Value for locale."},"timezone":{"default":"UTC","type":"string","const":"UTC","description":"Value for timezone."},"platform":{"default":"linux","type":"string","const":"linux","description":"Value for platform."}},"additionalProperties":false,"description":"Value for determinism."},"limits":{"default":{"wall_time_ms":3000,"memory_bytes":134217728,"tasks":8,"cpu_quota_percent":50,"tmpfs_bytes":16777216,"module_bytes":4194304,"input_bytes":262144,"protocol_bytes":16777216,"output_bytes":524288,"stderr_bytes":32768,"result_depth":16,"result_nodes":10000},"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000,"description":"Value for wall time ms."},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912,"description":"Bounded byte count for memory."},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32,"description":"Value for tasks."},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Value for cpu quota percent."},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for tmpfs."},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Bounded byte count for module."},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576,"description":"Bounded byte count for input."},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for protocol."},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304,"description":"Bounded byte count for output."},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144,"description":"Bounded byte count for stderr."},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64,"description":"Value for result depth."},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for result nodes."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"approved":{"default":false,"type":"boolean","description":"Explicit operator approval to perform this operation."},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for plan digest."},"reproducer_export":{"type":"object","properties":{"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"approved":{"type":"boolean","description":"Explicit operator approval to perform this operation."},"include_sources":{"default":false,"type":"boolean","description":"Whether to include sources in the result."}},"required":["path","approved"],"additionalProperties":false,"description":"Value for reproducer export."}},"required":["mode","left"],"additionalProperties":false,"description":"Value for replay."}},"required":["preparation_approved","selected_alias","expected_effect","instrumentation","replay"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"phase":{"type":"string","const":"preparation","description":"Current plan or execution phase of the operation."},"plan":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"preparation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["path","sha256","byte_length"],"additionalProperties":false},"runtime":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"provider_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"executable_path":{"type":"string","minLength":1,"maxLength":4096},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"version":{"type":"string","minLength":1,"maxLength":500},"profile_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["family","provider_id","executable_path","executable_sha256","version","profile_sha256"],"additionalProperties":false},"callable":{"type":"object","properties":{"callable_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"module_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"export_name":{"type":"string","minLength":1,"maxLength":1000},"semantic_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]},"selector_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["callable_id","module_id","export_name","semantic_evidence_id","selector_sha256"],"additionalProperties":false},"working_directory":{"type":"string","minLength":1,"maxLength":4096},"isolated_home":{"type":"string","minLength":1,"maxLength":4096},"expected_effect":{"type":"string","enum":["pure","bounded-effects","observation-only"]},"allowed_boundaries":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"limits":{"type":"object","properties":{"max_calls":{"type":"integer","minimum":1,"maximum":10000},"max_processes":{"type":"integer","minimum":0,"maximum":1000},"max_files":{"type":"integer","minimum":0,"maximum":100000},"max_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_handles":{"type":"integer","minimum":0,"maximum":100000},"timeout_ms":{"type":"integer","minimum":1,"maximum":300000},"idle_timeout_ms":{"type":"integer","minimum":1,"maximum":300000}},"required":["max_calls","max_processes","max_files","max_bytes","max_handles","timeout_ms","idle_timeout_ms"],"additionalProperties":false},"determinism":{"type":"object","properties":{"clock":{"type":"string","enum":["fixed","real"]},"randomness":{"type":"string","enum":["seeded","system"]},"identifiers":{"type":"string","enum":["deterministic","runtime"]},"seed":{"type":"integer","minimum":0,"maximum":4294967295}},"required":["clock","randomness","identifiers","seed"],"additionalProperties":false},"authority":{"type":"object","properties":{"preparation_approved":{"type":"boolean","const":true},"execution_approved":{"type":"boolean","const":false},"network":{"type":"string","enum":["none","loopback"]},"provider_owned_process_only":{"type":"boolean","const":true}},"required":["preparation_approved","execution_approved","network","provider_owned_process_only"],"additionalProperties":false}},"required":["schema_version","plan_sha256","preparation_sha256","artifact","runtime","callable","working_directory","isolated_home","expected_effect","allowed_boundaries","limits","determinism","authority"],"additionalProperties":false,"description":"Content-bound execution plan and its approval commitment."},"transformation":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"kind":{"type":"string","const":"commonjs-factory-export-v1"},"artifact_path":{"type":"string","minLength":1,"maxLength":4096},"original_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"instrumented_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"instrumented_byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"selected_range":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991},"selected_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["byte_start","byte_end","selected_sha256"],"additionalProperties":false},"inserted_ranges":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991},"inserted_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"purpose":{"type":"string","enum":["factory-prefix","export-binding","factory-suffix"]}},"required":["byte_start","byte_end","inserted_sha256","purpose"],"additionalProperties":false}},"output_format":{"type":"string","const":"commonjs-factory"},"source_map":{"type":"null","const":null}},"required":["schema_version","kind","artifact_path","original_sha256","original_byte_length","instrumented_sha256","instrumented_byte_length","selected_range","inserted_ranges","output_format","source_map"],"additionalProperties":false,"description":"Value for transformation."},"transformation_evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}],"description":"Value for transformation evidence."},"replay":{"type":"object","properties":{"phase":{"type":"string","enum":["plan","execute"]},"plan":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"policy_version":{"type":"string","const":"linux-bwrap-systemd-v1"},"policy_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"network":{"type":"string","const":"none"},"filesystem":{"type":"object","properties":{"host_writes":{"type":"boolean","const":false},"private_tmpfs_bytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["host_writes","private_tmpfs_bytes"],"additionalProperties":false},"runtime":{"type":"object","properties":{"executable":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"worker":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"read_only_files":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source_path":{"type":"string","minLength":1},"destination_path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["source_path","destination_path","sha256"],"additionalProperties":false}}},"required":["executable","worker","read_only_files"],"additionalProperties":false},"sandbox":{"type":"object","properties":{"bubblewrap":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemd_run":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemctl":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"shell":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"seccomp_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"additionalProperties":false},"left":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"right":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"cases":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"arguments":{"type":"array","items":{"$ref":"#/$defs/__schema1"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["case_id","arguments","sha256"],"additionalProperties":false}},"determinism":{"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295},"locale":{"default":"en-US","type":"string","const":"en-US"},"timezone":{"default":"UTC","type":"string","const":"UTC"},"platform":{"default":"linux","type":"string","const":"linux"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"additionalProperties":false},"limits":{"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"additionalProperties":false},"effects":{"type":"array","items":{"type":"string"}},"reproducer_export":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1},"include_sources":{"type":"boolean"},"authority":{"type":"string","const":"evidence_write"}},"required":["path","include_sources","authority"],"additionalProperties":false},{"type":"null"}]}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"additionalProperties":false},{"type":"null"}]},"source_evidence":{"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false}},"evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false},{"type":"null"}]}},"required":["phase","plan","source_evidence","evidence"],"additionalProperties":false,"description":"Value for replay."}},"required":["schema_version","phase","plan","transformation","transformation_evidence","replay"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"execute_node_characterization","analysisOperation":null,"title":"Execute Node Characterization","description":"Recompute and execute one separately approved exact Node characterization plan in the owned controlled-replay boundary. Returns transformation, replay, cleanup, and provider-neutral characterization Evidence v2; stale plans fail before execution.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"execution_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for execution."},"approved_plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of approved plan."},"preparation":{"type":"object","properties":{"preparation_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for preparation."},"selected_alias":{"type":"string","minLength":1,"maxLength":200,"description":"Value for selected alias."},"expected_effect":{"type":"string","enum":["pure","observation-only"],"description":"Expected effect used to reject stale or mismatched input."},"instrumentation":{"type":"object","properties":{"artifact_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for artifact."},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of artifact."},"selection":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for byte start."},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for byte end."},"selected_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of selected."},"export_name":{"type":"string","pattern":"^[A-Za-z_$][A-Za-z0-9_$]{0,199}$","description":"Value for export name."}},"required":["byte_start","byte_end","selected_sha256","export_name"],"additionalProperties":false,"description":"Value for selection."}},"required":["artifact_path","artifact_sha256","selection"],"additionalProperties":false,"description":"Value for instrumentation."},"replay":{"type":"object","properties":{"mode":{"type":"string","enum":["plan","execute"],"description":"Operation mode that selects the requested behavior."},"left":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"right":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"cases":{"default":[],"maxItems":128,"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string","minLength":1,"maxLength":128,"description":"Value for case id."},"arguments":{"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for arguments."}},"required":["case_id","arguments"],"additionalProperties":false},"description":"Value for cases."},"generator":{"type":"object","properties":{"preset":{"type":"string","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"description":"Value for preset."},"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for seed."},"count":{"type":"integer","minimum":1,"maximum":64,"description":"Value for count."}},"required":["preset","seed","count"],"additionalProperties":false,"description":"Value for generator."},"determinism":{"default":{"clock_iso":"2000-01-01T00:00:00.000Z","random_seed":0,"locale":"en-US","timezone":"UTC","platform":"linux"},"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for clock iso."},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for random seed."},"locale":{"default":"en-US","type":"string","const":"en-US","description":"Value for locale."},"timezone":{"default":"UTC","type":"string","const":"UTC","description":"Value for timezone."},"platform":{"default":"linux","type":"string","const":"linux","description":"Value for platform."}},"additionalProperties":false,"description":"Value for determinism."},"limits":{"default":{"wall_time_ms":3000,"memory_bytes":134217728,"tasks":8,"cpu_quota_percent":50,"tmpfs_bytes":16777216,"module_bytes":4194304,"input_bytes":262144,"protocol_bytes":16777216,"output_bytes":524288,"stderr_bytes":32768,"result_depth":16,"result_nodes":10000},"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000,"description":"Value for wall time ms."},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912,"description":"Bounded byte count for memory."},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32,"description":"Value for tasks."},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Value for cpu quota percent."},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for tmpfs."},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Bounded byte count for module."},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576,"description":"Bounded byte count for input."},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for protocol."},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304,"description":"Bounded byte count for output."},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144,"description":"Bounded byte count for stderr."},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64,"description":"Value for result depth."},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for result nodes."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"approved":{"default":false,"type":"boolean","description":"Explicit operator approval to perform this operation."},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for plan digest."},"reproducer_export":{"type":"object","properties":{"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"approved":{"type":"boolean","description":"Explicit operator approval to perform this operation."},"include_sources":{"default":false,"type":"boolean","description":"Whether to include sources in the result."}},"required":["path","approved"],"additionalProperties":false,"description":"Value for reproducer export."}},"required":["mode","left"],"additionalProperties":false,"description":"Value for replay."}},"required":["preparation_approved","selected_alias","expected_effect","instrumentation","replay"],"additionalProperties":false,"description":"Value for preparation."}},"required":["execution_approved","approved_plan_sha256","preparation"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"phase":{"type":"string","const":"execution","description":"Current plan or execution phase of the operation."},"plan":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"preparation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["path","sha256","byte_length"],"additionalProperties":false},"runtime":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"provider_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"executable_path":{"type":"string","minLength":1,"maxLength":4096},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"version":{"type":"string","minLength":1,"maxLength":500},"profile_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["family","provider_id","executable_path","executable_sha256","version","profile_sha256"],"additionalProperties":false},"callable":{"type":"object","properties":{"callable_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"module_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"export_name":{"type":"string","minLength":1,"maxLength":1000},"semantic_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]},"selector_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["callable_id","module_id","export_name","semantic_evidence_id","selector_sha256"],"additionalProperties":false},"working_directory":{"type":"string","minLength":1,"maxLength":4096},"isolated_home":{"type":"string","minLength":1,"maxLength":4096},"expected_effect":{"type":"string","enum":["pure","bounded-effects","observation-only"]},"allowed_boundaries":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"limits":{"type":"object","properties":{"max_calls":{"type":"integer","minimum":1,"maximum":10000},"max_processes":{"type":"integer","minimum":0,"maximum":1000},"max_files":{"type":"integer","minimum":0,"maximum":100000},"max_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_handles":{"type":"integer","minimum":0,"maximum":100000},"timeout_ms":{"type":"integer","minimum":1,"maximum":300000},"idle_timeout_ms":{"type":"integer","minimum":1,"maximum":300000}},"required":["max_calls","max_processes","max_files","max_bytes","max_handles","timeout_ms","idle_timeout_ms"],"additionalProperties":false},"determinism":{"type":"object","properties":{"clock":{"type":"string","enum":["fixed","real"]},"randomness":{"type":"string","enum":["seeded","system"]},"identifiers":{"type":"string","enum":["deterministic","runtime"]},"seed":{"type":"integer","minimum":0,"maximum":4294967295}},"required":["clock","randomness","identifiers","seed"],"additionalProperties":false},"authority":{"type":"object","properties":{"preparation_approved":{"type":"boolean","const":true},"execution_approved":{"type":"boolean","const":false},"network":{"type":"string","enum":["none","loopback"]},"provider_owned_process_only":{"type":"boolean","const":true}},"required":["preparation_approved","execution_approved","network","provider_owned_process_only"],"additionalProperties":false}},"required":["schema_version","plan_sha256","preparation_sha256","artifact","runtime","callable","working_directory","isolated_home","expected_effect","allowed_boundaries","limits","determinism","authority"],"additionalProperties":false,"description":"Content-bound execution plan and its approval commitment."},"transformation":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"kind":{"type":"string","const":"commonjs-factory-export-v1"},"artifact_path":{"type":"string","minLength":1,"maxLength":4096},"original_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"instrumented_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"instrumented_byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"selected_range":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991},"selected_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["byte_start","byte_end","selected_sha256"],"additionalProperties":false},"inserted_ranges":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991},"inserted_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"purpose":{"type":"string","enum":["factory-prefix","export-binding","factory-suffix"]}},"required":["byte_start","byte_end","inserted_sha256","purpose"],"additionalProperties":false}},"output_format":{"type":"string","const":"commonjs-factory"},"source_map":{"type":"null","const":null}},"required":["schema_version","kind","artifact_path","original_sha256","original_byte_length","instrumented_sha256","instrumented_byte_length","selected_range","inserted_ranges","output_format","source_map"],"additionalProperties":false,"description":"Value for transformation."},"transformation_evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}],"description":"Value for transformation evidence."},"evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}],"description":"Evidence v2 record produced by this operation."},"replay":{"type":"object","properties":{"phase":{"type":"string","enum":["plan","execute"]},"plan":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"policy_version":{"type":"string","const":"linux-bwrap-systemd-v1"},"policy_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"network":{"type":"string","const":"none"},"filesystem":{"type":"object","properties":{"host_writes":{"type":"boolean","const":false},"private_tmpfs_bytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["host_writes","private_tmpfs_bytes"],"additionalProperties":false},"runtime":{"type":"object","properties":{"executable":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"worker":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"read_only_files":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source_path":{"type":"string","minLength":1},"destination_path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["source_path","destination_path","sha256"],"additionalProperties":false}}},"required":["executable","worker","read_only_files"],"additionalProperties":false},"sandbox":{"type":"object","properties":{"bubblewrap":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemd_run":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemctl":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"shell":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"seccomp_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"additionalProperties":false},"left":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"right":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"cases":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"arguments":{"type":"array","items":{"$ref":"#/$defs/__schema1"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["case_id","arguments","sha256"],"additionalProperties":false}},"determinism":{"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295},"locale":{"default":"en-US","type":"string","const":"en-US"},"timezone":{"default":"UTC","type":"string","const":"UTC"},"platform":{"default":"linux","type":"string","const":"linux"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"additionalProperties":false},"limits":{"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"additionalProperties":false},"effects":{"type":"array","items":{"type":"string"}},"reproducer_export":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1},"include_sources":{"type":"boolean"},"authority":{"type":"string","const":"evidence_write"}},"required":["path","include_sources","authority"],"additionalProperties":false},{"type":"null"}]}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"additionalProperties":false},{"type":"null"}]},"source_evidence":{"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false}},"evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false},{"type":"null"}]}},"required":["phase","plan","source_evidence","evidence"],"additionalProperties":false,"description":"Value for replay."}},"required":["schema_version","phase","plan","transformation","transformation_evidence","evidence","replay"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"build_reconstruction_obligation_ledger","analysisOperation":null,"title":"Build Reconstruction Obligation Ledger","description":"Generate one deterministic page of a ReconstructionObligationLedger/v1 from an authenticated Evidence v2 bundle, reviewed obligations, and an explicit reconstruction manifest. Static candidates remain candidates; duplicate ownership, missing original or reconstruction cases, missing parser/type, weak verifier authority, unenumerated claims, contradictions, dependencies, and residual unknowns fail closed. Every page carries the same full-ledger closure digest and typed per-obligation diagnostics.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"evidence_bundle":{"type":"object","properties":{"bundle_version":{"type":"number","const":2,"description":"Value for bundle version."},"artifacts":{"type":"array","items":{"type":"object","properties":{"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."}},"required":["digest","format","architecture"],"additionalProperties":false},"description":"Value for artifacts."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false},"description":"Value for providers."},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},"description":"Value for environments."},"scenarios":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"authority":{"type":"string","const":"controlled-replay","description":"Value for authority."}},"required":["evidence_id","operation","authority"],"additionalProperties":false},"description":"Value for scenarios."},"captures":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."}},"required":["evidence_id","predicate_type"],"additionalProperties":false},"description":"Value for captures."},"unknowns":{"type":"array","items":{"type":"object","properties":{"registry_version":{"type":"number","const":1,"description":"Value for registry version."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for previous revision digest."},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for revision digest."},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for scope digest."},"question":{"type":"string","minLength":1,"maxLength":1000,"description":"Concrete unresolved question to retain for later investigation."},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified","description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for resolution."},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the mutation observations."}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false},"description":"Value for unknowns."},"records":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}]},"description":"Value for records."}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"additionalProperties":false,"description":"Value for evidence bundle."},"reviewed_obligations":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"obligation_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for obligation version."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"application_layer":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"description":"Value for application layer."},"family":{"type":"string","minLength":1,"maxLength":100,"description":"Value for family."},"target":{"type":"object","properties":{"artifact_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of artifact."},"application_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for application node id."},"semantic_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for semantic node id."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"additionalProperties":false,"description":"Value for target."},"required":{"type":"boolean","description":"Value for required."},"required_case_kinds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"description":"Value for required case kinds."},"required_original_authority":{"type":"string","enum":["static","runtime","process","external"],"description":"Value for required original authority."},"required_fixture_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for required fixture authority."},"required_verifier_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for required verifier authority."},"requires_parser_type":{"type":"boolean","description":"Value for requires parser type."},"dependency_obligation_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for dependency obligation ids."},"residual_unknown_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for residual unknown ids."},"unavailable_authority":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for unavailable authority."},"required_next_evidence":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for required next evidence."},"disposition":{"type":"string","enum":["active","blocked","out-of-scope"],"description":"Value for disposition."},"review_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the review observations."}},"required":["obligation_id","obligation_version","title","application_layer","family","target","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","disposition","review_evidence_ids"],"additionalProperties":false},"description":"Value for reviewed obligations."},"manifest":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"bindings":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"owner":{"type":"object","properties":{"module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for module."},"symbol":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for symbol."},"owner_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of owner."}},"required":["module_path","symbol","owner_sha256"],"additionalProperties":false,"description":"Value for owner."},"parser_type":{"anyOf":[{"type":"object","properties":{"parser":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for parser."},"schema":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for schema."},"domain_type":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for domain type."}},"required":["parser","schema","domain_type"],"additionalProperties":false},{"type":"null"}],"description":"Value for parser type."},"original_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for kind."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["kind","evidence_id","location"],"additionalProperties":false},"description":"Value for original cases."},"fixtures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for fixture id."},"case_kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for case kind."},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for authority."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["fixture_id","case_kind","authority","evidence_ids"],"additionalProperties":false},"description":"Value for fixtures."},"verifier":{"anyOf":[{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for verifier id."},"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for claim id."},"command":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for command."},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for authority."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","skipped"],"description":"Current lifecycle or verification status."},"result_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the result observation."},"enumerated_obligation_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for enumerated obligation ids."},"nondeterminism":{"type":"object","properties":{"mode":{"type":"string","enum":["total-order","partial-order","finite-traces"],"description":"Operation mode that selects the requested behavior."},"specification":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for specification."}},"required":["mode","specification"],"additionalProperties":false,"description":"Value for nondeterminism."}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"additionalProperties":false},{"type":"null"}],"description":"Value for verifier."}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"additionalProperties":false},"description":"Value for bindings."},"contradictions":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"evidence_ids":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["obligation_id","evidence_ids"],"additionalProperties":false},"description":"Value for contradictions."}},"required":["schema_version","bindings","contradictions"],"additionalProperties":false,"description":"Value for manifest."},"limits":{"type":"object","properties":{"max_obligations":{"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted obligations for this operation."}},"required":["max_obligations"],"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"page":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":10000,"description":"Zero-based index of the first result to return."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."}},"required":["offset","limit"],"additionalProperties":false,"description":"Value for page."}},"required":["evidence_bundle","reviewed_obligations","manifest","limits","page"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema":{"type":"string","const":"ReconstructionObligationLedger"},"schema_version":{"type":"number","const":1},"ledger_id":{"type":"string","pattern":"^rol_[a-f0-9]{64}$"},"closure_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["ready","open","failed","unknown"]},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial"]},"truncated":{"type":"boolean"},"omitted_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"max_obligations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["status","truncated","omitted_count","max_obligations"],"additionalProperties":false},"summary":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":{"type":"integer","minimum":0,"maximum":9007199254740991},"verified":{"type":"integer","minimum":0,"maximum":9007199254740991},"required_open":{"type":"integer","minimum":0,"maximum":9007199254740991},"by_status":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["key","count"],"additionalProperties":false}},"by_application_layer":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["key","count"],"additionalProperties":false}},"by_evidence_authority":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["candidate","observed","reviewed","unknown"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["key","count"],"additionalProperties":false}}},"required":["total","required","verified","required_open","by_status","by_application_layer","by_evidence_authority"],"additionalProperties":false},"reports":{"type":"object","properties":{"missing_owner_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"missing_verifier_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"contradicted_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"residual_unknown_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}}},"required":["missing_owner_obligation_ids","missing_verifier_obligation_ids","contradicted_obligation_ids","residual_unknown_ids"],"additionalProperties":false},"ownership_graph":{"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"symbol":{"type":"string","minLength":1,"maxLength":1024}},"required":["obligation_id","module_path","symbol"],"additionalProperties":false}},"dependency_graph":{"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"depends_on_obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"required":["obligation_id","depends_on_obligation_id"],"additionalProperties":false}},"evidence_links":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"page":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["offset","limit","total","returned","next_offset"],"additionalProperties":false},"obligations":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"obligation_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"title":{"type":"string","minLength":1,"maxLength":500},"origin":{"type":"string","enum":["generated","reviewed"]},"application_layer":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"]},"family":{"type":"string","minLength":1,"maxLength":100},"target":{"type":"object","properties":{"artifact_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"application_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"semantic_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"location":{"type":"string","minLength":1,"maxLength":4096}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"additionalProperties":false},"authority_references":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"state":{"type":"string","enum":["candidate","observed","reviewed","unknown"]},"location":{"type":"string","minLength":1,"maxLength":4096}},"required":["evidence_id","authority","state","location"],"additionalProperties":false}},"source_state":{"type":"string","enum":["candidate","observed","reviewed","unknown"]},"observed_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"location":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","evidence_id","location"],"additionalProperties":false}},"required":{"type":"boolean"},"required_case_kinds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]}},"required_original_authority":{"type":"string","enum":["static","runtime","process","external"]},"required_fixture_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"]},"required_verifier_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"]},"requires_parser_type":{"type":"boolean"},"dependency_obligation_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"residual_unknown_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"unavailable_authority":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"required_next_evidence":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"binding":{"anyOf":[{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"owner":{"type":"object","properties":{"module_path":{"type":"string","minLength":1,"maxLength":4096},"symbol":{"type":"string","minLength":1,"maxLength":1024},"owner_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["module_path","symbol","owner_sha256"],"additionalProperties":false},"parser_type":{"anyOf":[{"type":"object","properties":{"parser":{"type":"string","minLength":1,"maxLength":4096},"schema":{"type":"string","minLength":1,"maxLength":4096},"domain_type":{"type":"string","minLength":1,"maxLength":4096}},"required":["parser","schema","domain_type"],"additionalProperties":false},{"type":"null"}]},"original_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"location":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","evidence_id","location"],"additionalProperties":false}},"fixtures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"case_kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"]},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["fixture_id","case_kind","authority","evidence_ids"],"additionalProperties":false}},"verifier":{"anyOf":[{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"command":{"type":"string","minLength":1,"maxLength":4096},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"]},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","skipped"]},"result_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"enumerated_obligation_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"nondeterminism":{"type":"object","properties":{"mode":{"type":"string","enum":["total-order","partial-order","finite-traces"]},"specification":{"type":"string","minLength":1,"maxLength":4096}},"required":["mode","specification"],"additionalProperties":false}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"additionalProperties":false},{"type":"null"}]}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"]},"diagnostics":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["duplicate-definition","missing-owner","ambiguous-owner","missing-parser-type","missing-original-case","weak-original-case-authority","missing-case","weak-fixture-authority","missing-verifier","verifier-does-not-enumerate","missing-verifier-result","weak-verifier-authority","verifier-failed","static-only","contradiction","contradiction-evidence-missing","residual-unknown","dependency-missing","dependency-open","unavailable-authority","blocked","out-of-scope"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["code","detail"],"additionalProperties":false}}},"required":["obligation_id","obligation_version","title","origin","application_layer","family","target","authority_references","source_state","observed_cases","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","binding","status","diagnostics"],"additionalProperties":false}}},"required":["schema","schema_version","ledger_id","closure_digest","status","coverage","summary","reports","ownership_graph","dependency_graph","evidence_links","limitations","page","obligations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"evaluate_reconstruction_readiness","analysisOperation":null,"title":"Evaluate Reconstruction Readiness","description":"Evaluate the fixed nine-stage public reconstruction journey into a deterministic ReconstructionReadinessReport/v1. Exact capability limits, provider routing, CLI/MCP status parity, bounded authority, partial-order comparison, contradictions, obligation closure, cleanup, and replay digests fail closed. Aggregate pass is emitted only when every required stage and check passes with attributable Evidence.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"identity":{"type":"object","properties":{"cli_version":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for cli version."},"server_version":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for server version."},"catalog_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for catalog digest."},"skill_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for skill digest."},"versions":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"component":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for component."},"version":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for version."},"digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for digest."},"state":{"type":"string","enum":["current","stale","unavailable"],"description":"Value for state."},"remediation":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for remediation."}},"required":["component","version","digest","state","remediation"],"additionalProperties":false},"description":"Value for versions."},"providers":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"provider_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Exact deep-analysis provider ID, or automatic selection when omitted."},"version":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for version."},"digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for digest."},"state":{"type":"string","enum":["available","unavailable","incompatible","broken-host"],"description":"Value for state."},"reason_code":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},{"type":"null"}],"description":"Value for reason code."}},"required":["provider_id","version","digest","state","reason_code"],"additionalProperties":false},"description":"Value for providers."}},"required":["cli_version","server_version","catalog_digest","skill_digest","versions","providers"],"additionalProperties":false,"description":"Value for identity."},"client":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for version."},"negotiated_capabilities":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for negotiated capabilities."}},"required":["name","version","negotiated_capabilities"],"additionalProperties":false,"description":"Value for client."},"capabilities":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"capability_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for capability id."},"available":{"type":"boolean","description":"Value for available."},"bounded":{"type":"boolean","description":"Value for bounded."},"side_effect":{"type":"string","enum":["none","reads-target","launches-process","writes-workspace","network-observation"],"description":"Value for side effect."},"authority_scopes":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for authority scopes."},"limits":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Exact name used by this operation."},"value":{"type":"number","minimum":0,"description":"Value for value."},"unit":{"type":"string","enum":["count","bytes","milliseconds","ratio"],"description":"Value for unit."}},"required":["name","value","unit"],"additionalProperties":false},"description":"Bounded resource-consumption and result-size limits for this operation."},"unavailable_reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for unavailable reason."}},"required":["capability_id","available","bounded","side_effect","authority_scopes","limits","unavailable_reason"],"additionalProperties":false},"description":"Value for capabilities."},"fixtures":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for fixture id."},"kind":{"type":"string","enum":["native","javascript-cli","electron","incomplete-reconstruction","broken-runtime"],"description":"Value for kind."},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of artifact."},"environment_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for environment id."},"deliberate_faults":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for deliberate faults."}},"required":["fixture_id","kind","artifact_sha256","environment_id","deliberate_faults"],"additionalProperties":false},"description":"Value for fixtures."},"workflow_candidates":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for fixture id."},"workflow_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for workflow id."},"provider_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},{"type":"null"}],"description":"Exact deep-analysis provider ID, or automatic selection when omitted."},"selected":{"type":"boolean","description":"Value for selected."},"invoked":{"type":"boolean","description":"Value for invoked."},"compatibility":{"type":"string","enum":["compatible","incompatible","unavailable"],"description":"Value for compatibility."},"reason_code":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for reason code."}},"required":["fixture_id","workflow_id","provider_id","selected","invoked","compatibility","reason_code"],"additionalProperties":false},"description":"Value for workflow candidates."},"grants":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"grant_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for grant id."},"scope":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for scope."},"decision":{"type":"string","enum":["granted","denied","cancelled","restart-required"],"description":"Value for decision."},"launched_process":{"type":"boolean","description":"Value for launched process."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["grant_id","scope","decision","launched_process","evidence_ids"],"additionalProperties":false},"description":"Value for grants."},"evidence_bundle":{"type":"object","properties":{"bundle_version":{"type":"number","const":2,"description":"Value for bundle version."},"artifacts":{"type":"array","items":{"type":"object","properties":{"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."}},"required":["digest","format","architecture"],"additionalProperties":false},"description":"Value for artifacts."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false},"description":"Value for providers."},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},"description":"Value for environments."},"scenarios":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"authority":{"type":"string","const":"controlled-replay","description":"Value for authority."}},"required":["evidence_id","operation","authority"],"additionalProperties":false},"description":"Value for scenarios."},"captures":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."}},"required":["evidence_id","predicate_type"],"additionalProperties":false},"description":"Value for captures."},"unknowns":{"type":"array","items":{"type":"object","properties":{"registry_version":{"type":"number","const":1,"description":"Value for registry version."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for previous revision digest."},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for revision digest."},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for scope digest."},"question":{"type":"string","minLength":1,"maxLength":1000,"description":"Concrete unresolved question to retain for later investigation."},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified","description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for resolution."},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the mutation observations."}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false},"description":"Value for unknowns."},"records":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}]},"description":"Value for records."}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"additionalProperties":false,"description":"Value for evidence bundle."},"comparisons":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"comparison_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for comparison id."},"verdict":{"type":"string","enum":["equivalent","different","unknown"],"description":"Value for verdict."},"schedule_semantics":{"type":"string","enum":["total-order","partial-order","finite-traces"],"description":"Value for schedule semantics."},"concurrent":{"type":"boolean","description":"Value for concurrent."},"truncated":{"type":"boolean","description":"Value for truncated."},"unavailable_authority":{"type":"boolean","description":"Value for unavailable authority."},"unstable":{"type":"boolean","description":"Value for unstable."},"deliberate_divergence_ref":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for deliberate divergence ref."},"divergence_refs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for divergence refs."},"contradiction_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for contradiction ids."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["comparison_id","verdict","schedule_semantics","concurrent","truncated","unavailable_authority","unstable","deliberate_divergence_ref","divergence_refs","contradiction_ids","evidence_ids"],"additionalProperties":false},"description":"Validated comparison Evidence records to aggregate."},"contradictions":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"contradiction_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for contradiction id."},"declared_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of declared."},"observed_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of observed."},"policy":{"type":"string","const":"record-and-continue","description":"Value for policy."},"affected_comparison_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for affected comparison ids."},"evidence_ids":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["contradiction_id","declared_sha256","observed_sha256","policy","affected_comparison_ids","evidence_ids"],"additionalProperties":false},"description":"Value for contradictions."},"obligation_ledger":{"type":"object","properties":{"schema":{"type":"string","const":"ReconstructionObligationLedger","description":"Value for schema."},"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"ledger_id":{"type":"string","pattern":"^rol_[a-f0-9]{64}$","description":"Value for ledger id."},"closure_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for closure digest."},"status":{"type":"string","enum":["ready","open","failed","unknown"],"description":"Current lifecycle or verification status."},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial"],"description":"Current lifecycle or verification status."},"truncated":{"type":"boolean","description":"Value for truncated."},"omitted_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for omitted count."},"max_obligations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted obligations for this operation."}},"required":["status","truncated","omitted_count","max_obligations"],"additionalProperties":false,"description":"Exact reconstruction-coverage commitment to verify."},"summary":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"required":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for required."},"verified":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for verified."},"required_open":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for required open."},"by_status":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"],"description":"Value for key."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for count."}},"required":["key","count"],"additionalProperties":false},"description":"Value for by status."},"by_application_layer":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"description":"Value for key."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for count."}},"required":["key","count"],"additionalProperties":false},"description":"Value for by application layer."},"by_evidence_authority":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["candidate","observed","reviewed","unknown"],"description":"Value for key."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for count."}},"required":["key","count"],"additionalProperties":false},"description":"Value for by evidence authority."}},"required":["total","required","verified","required_open","by_status","by_application_layer","by_evidence_authority"],"additionalProperties":false,"description":"Concise evidence-backed summary of the result."},"reports":{"type":"object","properties":{"missing_owner_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for missing owner obligation ids."},"missing_verifier_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for missing verifier obligation ids."},"contradicted_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for contradicted obligation ids."},"residual_unknown_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for residual unknown ids."}},"required":["missing_owner_obligation_ids","missing_verifier_obligation_ids","contradicted_obligation_ids","residual_unknown_ids"],"additionalProperties":false,"description":"Value for reports."},"ownership_graph":{"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for module."},"symbol":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for symbol."}},"required":["obligation_id","module_path","symbol"],"additionalProperties":false},"description":"Value for ownership graph."},"dependency_graph":{"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"depends_on_obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for depends on obligation id."}},"required":["obligation_id","depends_on_obligation_id"],"additionalProperties":false},"description":"Value for dependency graph."},"obligations":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"obligation_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for obligation version."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"origin":{"type":"string","enum":["generated","reviewed"],"description":"Value for origin."},"application_layer":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"description":"Value for application layer."},"family":{"type":"string","minLength":1,"maxLength":100,"description":"Value for family."},"target":{"type":"object","properties":{"artifact_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of artifact."},"application_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for application node id."},"semantic_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for semantic node id."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"additionalProperties":false,"description":"Value for target."},"authority_references":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"state":{"type":"string","enum":["candidate","observed","reviewed","unknown"],"description":"Value for state."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["evidence_id","authority","state","location"],"additionalProperties":false},"description":"Value for authority references."},"source_state":{"type":"string","enum":["candidate","observed","reviewed","unknown"],"description":"Value for source state."},"observed_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for kind."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["kind","evidence_id","location"],"additionalProperties":false},"description":"Value for observed cases."},"required":{"type":"boolean","description":"Value for required."},"required_case_kinds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"description":"Value for required case kinds."},"required_original_authority":{"type":"string","enum":["static","runtime","process","external"],"description":"Value for required original authority."},"required_fixture_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for required fixture authority."},"required_verifier_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for required verifier authority."},"requires_parser_type":{"type":"boolean","description":"Value for requires parser type."},"dependency_obligation_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for dependency obligation ids."},"residual_unknown_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for residual unknown ids."},"unavailable_authority":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for unavailable authority."},"required_next_evidence":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for required next evidence."},"binding":{"anyOf":[{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"owner":{"type":"object","properties":{"module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for module."},"symbol":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for symbol."},"owner_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of owner."}},"required":["module_path","symbol","owner_sha256"],"additionalProperties":false,"description":"Value for owner."},"parser_type":{"anyOf":[{"type":"object","properties":{"parser":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for parser."},"schema":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for schema."},"domain_type":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for domain type."}},"required":["parser","schema","domain_type"],"additionalProperties":false},{"type":"null"}],"description":"Value for parser type."},"original_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for kind."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["kind","evidence_id","location"],"additionalProperties":false},"description":"Value for original cases."},"fixtures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for fixture id."},"case_kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for case kind."},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for authority."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["fixture_id","case_kind","authority","evidence_ids"],"additionalProperties":false},"description":"Value for fixtures."},"verifier":{"anyOf":[{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for verifier id."},"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for claim id."},"command":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for command."},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for authority."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","skipped"],"description":"Current lifecycle or verification status."},"result_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the result observation."},"enumerated_obligation_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for enumerated obligation ids."},"nondeterminism":{"type":"object","properties":{"mode":{"type":"string","enum":["total-order","partial-order","finite-traces"],"description":"Operation mode that selects the requested behavior."},"specification":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for specification."}},"required":["mode","specification"],"additionalProperties":false,"description":"Value for nondeterminism."}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"additionalProperties":false},{"type":"null"}],"description":"Value for verifier."}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"additionalProperties":false},{"type":"null"}],"description":"Value for binding."},"status":{"type":"string","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"],"description":"Current lifecycle or verification status."},"diagnostics":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["duplicate-definition","missing-owner","ambiguous-owner","missing-parser-type","missing-original-case","weak-original-case-authority","missing-case","weak-fixture-authority","missing-verifier","verifier-does-not-enumerate","missing-verifier-result","weak-verifier-authority","verifier-failed","static-only","contradiction","contradiction-evidence-missing","residual-unknown","dependency-missing","dependency-open","unavailable-authority","blocked","out-of-scope"],"description":"Value for code."},"detail":{"type":"string","minLength":1,"maxLength":4096,"description":"Requested response detail level."}},"required":["code","detail"],"additionalProperties":false},"description":"Value for diagnostics."}},"required":["obligation_id","obligation_version","title","origin","application_layer","family","target","authority_references","source_state","observed_cases","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","binding","status","diagnostics"],"additionalProperties":false},"description":"Value for obligations."},"evidence_links":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for limitations."}},"required":["schema","schema_version","ledger_id","closure_digest","status","coverage","summary","reports","ownership_graph","dependency_graph","obligations","evidence_links","limitations"],"additionalProperties":false,"description":"Value for obligation ledger."},"operation_outcomes":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for sequence."},"operation":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for operation."},"surface":{"type":"string","enum":["cli","mcp"],"description":"Value for surface."},"call_kind":{"type":"string","enum":["valid","malformed","over-limit","incompatible-provider","setup","permission","operation"],"description":"Value for call kind."},"expected_success":{"type":"boolean","description":"Expected success used to reject stale or mismatched input."},"cli_exit_code":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for cli exit code."},"mcp_status":{"anyOf":[{"type":"string","enum":["success","non-success"]},{"type":"null"}],"description":"Value for mcp status."},"error_code":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},{"type":"null"}],"description":"Value for error code."},"recovered":{"type":"boolean","description":"Value for recovered."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["sequence","operation","surface","call_kind","expected_success","cli_exit_code","mcp_status","error_code","recovered","evidence_ids"],"additionalProperties":false},"description":"Value for operation outcomes."},"cleanup":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"run_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for run id."},"cancelled":{"type":"boolean","description":"Value for cancelled."},"owned_resources_remaining":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for owned resources remaining."},"diagnostic_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the diagnostic observations."}},"required":["run_id","cancelled","owned_resources_remaining","diagnostic_evidence_ids"],"additionalProperties":false},"description":"Value for cleanup."},"closure_history":{"minItems":2,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for sequence."},"ledger_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for ledger digest."},"status":{"type":"string","enum":["ready","open","failed","unknown"],"description":"Current lifecycle or verification status."},"required_open":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for required open."},"newly_verified_obligation_ids":{"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for newly verified obligation ids."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["sequence","ledger_digest","status","required_open","newly_verified_obligation_ids","evidence_ids"],"additionalProperties":false},"description":"Value for closure history."},"delegation_checks":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"candidate_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for candidate id."},"delegates_to_authority":{"type":"boolean","description":"Value for delegates to authority."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["candidate_id","delegates_to_authority","evidence_ids"],"additionalProperties":false},"description":"Value for delegation checks."},"replay":{"type":"object","properties":{"expected_source_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Expected source digest used to reject stale or mismatched input."},"deterministic":{"type":"boolean","description":"Value for deterministic."},"tamper_detected":{"type":"boolean","description":"Value for tamper detected."},"stale_input_detected":{"type":"boolean","description":"Value for stale input detected."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["expected_source_digest","deterministic","tamper_detected","stale_input_detected","evidence_ids"],"additionalProperties":false,"description":"Value for replay."},"stages":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"stage_id":{"type":"string","enum":["discover-classify","diagnose-environment","acquire-authority","static-analysis","reactive-scenarios","compare-authority-candidate","preserve-contradictions","verify-reconstruction-closure","export-replay"],"description":"Value for stage id."},"required":{"type":"boolean","description":"Value for required."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"description":"Current lifecycle or verification status."},"capability_issue":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},{"type":"null"}],"description":"Value for capability issue."},"next_action":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for next action."},"evidence_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."},"checks":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"check_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for check id."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"description":"Current lifecycle or verification status."},"detail":{"type":"string","minLength":1,"maxLength":4096,"description":"Requested response detail level."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["check_id","status","detail","evidence_ids"],"additionalProperties":false},"description":"Value for checks."}},"required":["stage_id","required","status","capability_issue","next_action","evidence_ids","checks"],"additionalProperties":false},"description":"Value for stages."}},"required":["schema_version","identity","client","capabilities","fixtures","workflow_candidates","grants","evidence_bundle","comparisons","contradictions","obligation_ledger","operation_outcomes","cleanup","closure_history","delegation_checks","replay","stages"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema":{"type":"string","const":"ReconstructionReadinessReport"},"schema_version":{"type":"number","const":1},"report_id":{"type":"string","pattern":"^rr_[a-f0-9]{64}$"},"source_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"report_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","truncated","skipped"]},"summary":{"type":"object","properties":{"stages":{"type":"integer","minimum":0,"maximum":9007199254740991},"required_stages":{"type":"integer","minimum":0,"maximum":9007199254740991},"passed_required_stages":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed_findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown_findings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["stages","required_stages","passed_required_stages","findings","failed_findings","unknown_findings"],"additionalProperties":false},"metrics":{"type":"object","properties":{"first_valid_workflow_selection_rate":{"type":"number","minimum":0,"maximum":1},"malformed_or_over_limit_call_rate":{"type":"number","minimum":0,"maximum":1},"incompatible_provider_invocations":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed_calls_before_prerequisites":{"type":"integer","minimum":0,"maximum":9007199254740991},"recovery_rate":{"type":"number","minimum":0,"maximum":1},"divergence_localization_precision":{"type":"number","minimum":0,"maximum":1},"false_equivalence_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"unowned_obligation_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"cleanup_leak_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"nondeterministic_replay_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["first_valid_workflow_selection_rate","malformed_or_over_limit_call_rate","incompatible_provider_invocations","failed_calls_before_prerequisites","recovery_rate","divergence_localization_precision","false_equivalence_count","unowned_obligation_count","cleanup_leak_count","nondeterministic_replay_count"],"additionalProperties":false},"report_resource_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}\\\\/reconstruction-readiness-report$"}},"required":["schema","schema_version","report_id","source_digest","report_digest","status","summary","metrics","report_resource_uri"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"commit_reconstruction_coverage","analysisOperation":null,"title":"Commit Reconstruction Coverage","description":"Atomically commit one canonical evidence-backed reconstruction coverage workspace revision under an approved root. CAS revisions reject lost updates; every Evidence and residual-unknown reference must resolve in the embedded canonical bundle.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"workspace_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Approved local path of the persistent investigation workspace."},"expected_revision":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}],"description":"Expected revision used to reject stale or mismatched input."},"workspace":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"workspace_id":{"type":"string","pattern":"^rcw_[a-f0-9]{64}$","description":"Value for workspace id."},"name":{"type":"string","minLength":1,"maxLength":200,"description":"Exact name used by this operation."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"previous_revision_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of previous revision."},"evidence_bundle":{"type":"object","properties":{"bundle_version":{"type":"number","const":2,"description":"Value for bundle version."},"artifacts":{"type":"array","items":{"type":"object","properties":{"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."}},"required":["digest","format","architecture"],"additionalProperties":false},"description":"Value for artifacts."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false},"description":"Value for providers."},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},"description":"Value for environments."},"scenarios":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"authority":{"type":"string","const":"controlled-replay","description":"Value for authority."}},"required":["evidence_id","operation","authority"],"additionalProperties":false},"description":"Value for scenarios."},"captures":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."}},"required":["evidence_id","predicate_type"],"additionalProperties":false},"description":"Value for captures."},"unknowns":{"type":"array","items":{"type":"object","properties":{"registry_version":{"type":"number","const":1,"description":"Value for registry version."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for previous revision digest."},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for revision digest."},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for scope digest."},"question":{"type":"string","minLength":1,"maxLength":1000,"description":"Concrete unresolved question to retain for later investigation."},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified","description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for resolution."},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the mutation observations."}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false},"description":"Value for unknowns."},"records":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}]},"description":"Value for records."}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"additionalProperties":false,"description":"Value for evidence bundle."},"artifacts":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for artifact id."},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of artifact."},"version":{"type":"string","minLength":1,"maxLength":500,"description":"Value for version."},"environment_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of environment."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["artifact_id","artifact_sha256","version","environment_sha256","evidence_ids"],"additionalProperties":false},"description":"Value for artifacts."},"surfaces":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"surface_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for surface id."},"family":{"type":"string","minLength":1,"maxLength":100,"description":"Value for family."},"artifact_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for artifact id."},"occurrence_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}],"description":"Value for occurrence id."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."},"authority":{"type":"string","enum":["observed","derived","inferred","historical","external"],"description":"Value for authority."},"dependency_surface_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for dependency surface ids."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["surface_id","family","artifact_id","occurrence_id","location","authority","dependency_surface_ids","evidence_ids"],"additionalProperties":false},"description":"Value for surfaces."},"owners":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"surface_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for surface id."},"ownership":{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"implemented","description":"Value for disposition."},"owner_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for owner."},"owner_export":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}],"description":"Value for owner export."},"owner_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of owner."},"path_state":{"type":"string","enum":["present","missing","unknown"],"description":"Value for path state."},"package_state":{"type":"string","enum":["distributed","missing","unknown"],"description":"Value for package state."},"authority_route":{"type":"string","enum":["none","detected","unknown"],"description":"Value for authority route."}},"required":["disposition","owner_path","owner_export","owner_sha256","path_state","package_state","authority_route"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["external","non-goal"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for rationale."}},"required":["disposition","rationale"],"additionalProperties":false}],"description":"Value for ownership."}},"required":["surface_id","ownership"],"additionalProperties":false},"description":"Value for owners."},"claims":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for claim id."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"kind":{"type":"string","minLength":1,"maxLength":100,"description":"Value for kind."},"surface_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for surface ids."},"required_dimensions":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for required dimensions."},"required_authority":{"type":"string","enum":["shipped-artifact","controlled-replay","live-observation","external"],"description":"Value for required authority."}},"required":["claim_id","title","kind","surface_ids","required_dimensions","required_authority"],"additionalProperties":false},"description":"Value for claims."},"verifier_contracts":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for verifier id."},"claim_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for claim ids."},"dimensions":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for dimensions."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","live-observation","external"],"description":"Value for authority."},"max_age_ms":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted age ms for this operation."},"minimum_repeats":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for minimum repeats."},"normalization_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of normalization."},"normalization_removes_dimensions":{"type":"boolean","const":false,"description":"Value for normalization removes dimensions."},"contract_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of contract."}},"required":["verifier_id","claim_ids","dimensions","authority","max_age_ms","minimum_repeats","normalization_sha256","normalization_removes_dimensions","contract_sha256"],"additionalProperties":false},"description":"Value for verifier contracts."},"verifier_results":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for verifier id."},"contract_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of contract."},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z|([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)))$","description":"Value for observed at."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"description":"Current lifecycle or verification status."},"covered_claim_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for covered claim ids."},"covered_dimensions":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for covered dimensions."},"artifact_sha256s":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"description":"Value for artifact sha256s."},"owner_sha256s":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"description":"Value for owner sha256s."},"normalization_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of normalization."},"repeats":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for repeats."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["verifier_id","contract_sha256","observed_at","status","covered_claim_ids","covered_dimensions","artifact_sha256s","owner_sha256s","normalization_sha256","repeats","evidence_ids"],"additionalProperties":false},"description":"Value for verifier results."},"residual_unknown_ids":{"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for residual unknown ids."},"contradictions":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"contradiction_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for contradiction id."},"status":{"type":"string","enum":["active","resolved"],"description":"Current lifecycle or verification status."},"surface_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for surface ids."},"claim_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for claim ids."},"evidence_ids":{"minItems":2,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["contradiction_id","status","surface_ids","claim_ids","evidence_ids"],"additionalProperties":false},"description":"Value for contradictions."},"package_proofs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"proof_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for proof id."},"kind":{"type":"string","enum":["build","clean-install","package-contents","runtime-routing","authority-independence"],"description":"Value for kind."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","skipped"],"description":"Current lifecycle or verification status."},"artifact_sha256s":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"description":"Value for artifact sha256s."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["proof_id","kind","status","artifact_sha256s","evidence_ids"],"additionalProperties":false},"description":"Value for package proofs."},"boundaries":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"boundary_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Exact reconstruction boundary identifier to evaluate."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"required_surface_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for required surface ids."},"required_claim_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for required claim ids."},"required_package_proof_kinds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["build","clean-install","package-contents","runtime-routing","authority-independence"]},"description":"Value for required package proof kinds."},"allowed_dispositions":{"maxItems":2,"type":"array","items":{"type":"string","enum":["external","non-goal"]},"description":"Value for allowed dispositions."},"allowed_unknown_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for allowed unknown ids."}},"required":["boundary_id","title","required_surface_ids","required_claim_ids","required_package_proof_kinds","allowed_dispositions","allowed_unknown_ids"],"additionalProperties":false},"description":"Value for boundaries."},"revision_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of revision."}},"required":["schema_version","workspace_id","name","revision","previous_revision_sha256","evidence_bundle","artifacts","surfaces","owners","claims","verifier_contracts","verifier_results","residual_unknown_ids","contradictions","package_proofs","boundaries","revision_sha256"],"additionalProperties":false,"description":"Value for workspace."}},"required":["approved","workspace_path","expected_revision","workspace"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"workspace_path":{"type":"string","description":"Approved local path of the persistent investigation workspace."},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for bytes."},"workspace_id":{"type":"string","pattern":"^rcw_[a-f0-9]{64}$","description":"Value for workspace id."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"revision_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of revision."},"evidence_records":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for evidence records."}},"required":["workspace_path","bytes","workspace_id","revision","revision_sha256","evidence_records"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"query_reconstruction_coverage","analysisOperation":null,"title":"Query Reconstruction Coverage","description":"Evaluate one named reconstruction boundary from a canonical coverage workspace. Missing ownership or inventory is partial; stale, weak, truncated, skipped, or unresolved proof is unknown; contradictions, failed proof, missing owners, and authority routing fail closed.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"workspace_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Approved local path of the persistent investigation workspace."},"boundary_id":{"type":"string","minLength":1,"maxLength":200,"description":"Exact reconstruction boundary identifier to evaluate."}},"required":["workspace_path","boundary_id"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"boundary_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Exact reconstruction boundary identifier to evaluate."},"status":{"type":"string","enum":["partial","failed","unknown","ready"],"description":"Current lifecycle or verification status."},"workspace_revision_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of workspace revision."},"summary":{"type":"object","properties":{"required_surfaces":{"type":"integer","minimum":0,"maximum":9007199254740991},"required_claims":{"type":"integer","minimum":0,"maximum":9007199254740991},"reasons":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["required_surfaces","required_claims","reasons"],"additionalProperties":false,"description":"Concise evidence-backed summary of the result."},"reasons":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["surface-missing","owner-missing","owner-duplicate","owner-path-missing","owner-path-unknown","owner-undistributed","owner-distribution-unknown","authority-routing-detected","authority-routing-unknown","disposition-not-allowed","dependency-surface-missing","claim-missing","verifier-missing","verifier-duplicate","verifier-result-missing","verifier-result-stale","verifier-result-incompatible","verifier-failed","verifier-unknown","active-unknown","active-contradiction","package-proof-missing","package-proof-failed","package-proof-unknown"]},"subject_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["code","subject_id","detail"],"additionalProperties":false},"description":"Value for reasons."},"recommended_probes":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"subject_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"rationale":{"type":"string","minLength":1,"maxLength":4096}},"required":["operation","subject_id","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"evidence_ids":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["boundary_id","status","workspace_revision_sha256","summary","reasons","recommended_probes","evidence_ids"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"open_binary","analysisOperation":null,"title":"Open Binary","description":"Open a local executable, application bundle, archive, JavaScript, source map, plist, or analysis database after validation. provider_id selects one deep provider or deterministic auto selection; the binding remains stable until close or an explicit switch, with no failure fallback. An optional snapshot v2 is imported atomically and must match the binary identity, concrete provider, and canonical analysis profile exactly.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."},"provider_id":{"anyOf":[{"type":"string","const":"auto"},{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"}],"description":"Exact deep-analysis provider ID, or automatic selection when omitted."},"snapshot_path":{"type":"string","minLength":1,"description":"Local filesystem path for snapshot."}},"required":["path"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"path":{"type":"string"},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"]},"kind":{"type":"string","enum":["executable","database","archive","artifact"]},"loaderArgs":{"type":"array","items":{"type":"string"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]}},"required":["path","format","kind","loaderArgs","sha256","architecture"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"close_binary","analysisOperation":null,"title":"Close Binary","description":"Optionally write a provider-neutral analysis snapshot atomically, then close the active target and every provider resource started for it. Snapshot files require an operator-approved root and explicit overwrite; a failed save leaves the session open so cached analysis is not lost.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"snapshot_path":{"type":"string","minLength":1,"description":"Local filesystem path for snapshot."},"overwrite":{"default":false,"type":"boolean","description":"Whether an existing destination may be replaced."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"null"},{"type":"object","properties":{"path":{"type":"string"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"entries":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["path","bytes","entries"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":true,"idempotent":false}},{"name":"binary_session","analysisOperation":null,"title":"Binary Session","description":"Report compact target, provider, and alignment state without starting analysis. The default summary is the routing check agents should use; detail=capabilities returns one family-filtered availability page, while detail=full is reserved for complete provider diagnostics.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"detail":{"default":"summary","description":"summary returns routing state; capabilities returns one filtered tool-availability page; full returns complete diagnostics only when required","type":"string","enum":["summary","capabilities","full"]},"capability_family":{"description":"Optional tool family for detail=capabilities","type":"string","enum":["official-proxy","enhanced","native-provider","artifact-provider","managed-provider","browser-provider","electron-provider","runtime-provider","application","session"]},"cursor":{"default":0,"description":"Zero-based capability cursor for detail=capabilities","type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"expected_package_version":{"type":"string","minLength":1,"description":"Expected package version used to reject stale or mismatched input."},"expected_catalog_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Expected catalog digest used to reject stale or mismatched input."},"expected_server_path":{"type":"string","minLength":1,"description":"Expected server path used to reject stale or mismatched input."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"object","properties":{"view":{"type":"string","const":"summary"},"open":{"type":"boolean"},"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active_provider":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},{"type":"null"}]},"target":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"]},"kind":{"type":"string","enum":["executable","database","archive","artifact"]},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]}},"required":["path","format","kind","sha256","architecture"],"additionalProperties":false},{"type":"null"}]},"alignment":{"type":"object","properties":{"state":{"type":"string","enum":["aligned","mcp_server_restart_required","unknown"]},"reasons":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["state","reasons","remediation"],"additionalProperties":false},"analysis_activity":{"type":"object","properties":{"status":{"type":"string","enum":["not_observed","idle","busy","timed_out_busy"]},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active":{"anyOf":[{"type":"object","properties":{"request_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"operation":{"type":"string","minLength":1},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeout_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"caller_state":{"type":"string","enum":["waiting","timed_out","cancelled"]}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"additionalProperties":false},{"type":"null"}]},"queued_requests":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["provider","active","queued_requests"],"additionalProperties":false}}},"required":["status","providers"],"additionalProperties":false},"recommended_actions":{"type":"array","items":{"type":"string"}}},"required":["view","open","provider","active_provider","target","alignment","analysis_activity","recommended_actions"],"additionalProperties":false},{"type":"object","properties":{"view":{"type":"string","const":"capabilities"},"open":{"type":"boolean"},"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active_provider":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},{"type":"null"}]},"capability_family":{"anyOf":[{"type":"string"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"surface":{"type":"string"},"available":{"type":"boolean"},"reason":{"type":"string","enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"]},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"client_requirements":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}}},"required":["required","optional","missing_required","missing_optional"],"additionalProperties":false},"effects":{"type":"object","properties":{"mutatesTarget":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"writesFilesystem":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"idempotent":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"additionalProperties":false},"annotations":{"type":"object","properties":{"read_only":{"type":"boolean"},"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"additionalProperties":false}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"additionalProperties":false}},"cursor":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_cursor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","cursor","limit","total","next_cursor","has_more"],"additionalProperties":false},"client_features":{"type":"object","properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"additionalProperties":false}},"required":["view","open","provider","active_provider","capability_family","capabilities","client_features"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false}},"capabilities":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string"},"available":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"availability_code":{"anyOf":[{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},{"type":"null"}]},"input_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"output_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pagination":{"type":"string","enum":["none","offset","cursor"]},"exhaustive":{"type":"boolean"},"effects":{"type":"object","properties":{"mutates_artifact":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"changes_permissions":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_results":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_payload_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"timeout_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"additionalProperties":false}},"analysis_run":{"anyOf":[{"type":"object","properties":{"run_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"process_lineage":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"not_observed"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"snapshots"},"snapshots":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"observation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"unavailable"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"launcher_pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"reason":{"type":"string","minLength":1}},"required":["status","observed_at","launcher_pid","process_group_id","reason"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"verified"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"schema_version":{"type":"number","const":1},"launcher_pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"launcher_parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"descendants":{"type":"array","items":{"type":"object","properties":{"pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["pid","parent_pid","process_group_id"],"additionalProperties":false}}},"required":["status","observed_at","schema_version","launcher_pid","process_group_id","launcher_parent_pid","descendants"],"additionalProperties":false}]}},"required":["provider","observation"],"additionalProperties":false}}},"required":["status","snapshots"],"additionalProperties":false}]}},"required":["run_id","process_lineage"],"additionalProperties":false},{"type":"null"}]},"analysis_activity":{"type":"object","properties":{"status":{"type":"string","enum":["not_observed","idle","busy","timed_out_busy"]},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active":{"anyOf":[{"type":"object","properties":{"request_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"operation":{"type":"string","minLength":1},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeout_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"caller_state":{"type":"string","enum":["waiting","timed_out","cancelled"]}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"additionalProperties":false},{"type":"null"}]},"queued_requests":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["provider","active","queued_requests"],"additionalProperties":false}}},"required":["status","providers"],"additionalProperties":false},"analysis_provider_binding":{"anyOf":[{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"selection_source":{"type":"string","enum":["request","environment","auto-single-candidate"]},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["provider","selection_source","analysis_profile"],"additionalProperties":false},{"type":"null"}]},"analysis_provider_candidates":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"availability":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"available"},"code":{"type":"null"},"reason":{"type":"null"},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unavailable"},"code":{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false}]},"target_support":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"unknown"},"code":{"type":"null"},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"supported"},"code":{"type":"null"},"reason":{"type":"null"},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unsupported"},"code":{"type":"string","enum":["target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported"]},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false}]},"selected":{"type":"boolean"},"capabilities":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string"},"available":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"availability_code":{"anyOf":[{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},{"type":"null"}]},"input_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"output_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pagination":{"type":"string","enum":["none","offset","cursor"]},"exhaustive":{"type":"boolean"},"effects":{"type":"object","properties":{"mutates_artifact":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"changes_permissions":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_results":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_payload_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"timeout_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"additionalProperties":false}}},"required":["provider","availability","target_support","selected","capabilities"],"additionalProperties":false}},"tool_availability":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"surface":{"type":"string"},"available":{"type":"boolean"},"reason":{"type":"string","enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"]},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"client_requirements":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}}},"required":["required","optional","missing_required","missing_optional"],"additionalProperties":false},"effects":{"type":"object","properties":{"mutatesTarget":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"writesFilesystem":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"idempotent":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"additionalProperties":false},"annotations":{"type":"object","properties":{"read_only":{"type":"boolean"},"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"additionalProperties":false}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"additionalProperties":false}},"client_features":{"type":"object","properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"additionalProperties":false},"server_identity":{"type":"object","properties":{"package":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"root_path":{"type":"string"},"build_commit":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","version","root_path","build_commit"],"additionalProperties":false},"server":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"started_at":{"type":"string"},"command_path":{"type":"string"}},"required":["name","version","started_at","command_path"],"additionalProperties":false},"sdk":{"type":"object","properties":{"server":{"type":"string"},"client_test":{"type":"string"},"core":{"type":"string"}},"required":["server","client_test","core"],"additionalProperties":false},"negotiated_protocol_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"client":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false},{"type":"null"}]},"skill":{"type":"object","properties":{"name":{"type":"string"},"expected_version":{"type":"string"}},"required":["name","expected_version"],"additionalProperties":false},"catalog":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}},"protocol_features":{"type":"object","properties":{"progress":{"type":"boolean"},"cancellation":{"type":"boolean"},"evidence_resources":{"type":"boolean"},"elicitation":{"type":"boolean"}},"required":["progress","cancellation","evidence_resources","elicitation"],"additionalProperties":false},"alignment":{"type":"object","properties":{"state":{"type":"string","enum":["aligned","mcp_server_restart_required","unknown"]},"reasons":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["state","reasons","remediation"],"additionalProperties":false}},"required":["package","server","sdk","negotiated_protocol_version","client","skill","catalog","protocol_features","alignment"],"additionalProperties":false},"view":{"type":"string","const":"full"},"open":{"type":"boolean","const":false}},"required":["provider","providers","capabilities","analysis_run","analysis_activity","analysis_provider_binding","analysis_provider_candidates","tool_availability","client_features","server_identity","view","open"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false}},"capabilities":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string"},"available":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"availability_code":{"anyOf":[{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},{"type":"null"}]},"input_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"output_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pagination":{"type":"string","enum":["none","offset","cursor"]},"exhaustive":{"type":"boolean"},"effects":{"type":"object","properties":{"mutates_artifact":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"changes_permissions":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_results":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_payload_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"timeout_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"additionalProperties":false}},"analysis_run":{"anyOf":[{"type":"object","properties":{"run_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"process_lineage":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"not_observed"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"snapshots"},"snapshots":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"observation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"unavailable"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"launcher_pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"reason":{"type":"string","minLength":1}},"required":["status","observed_at","launcher_pid","process_group_id","reason"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"verified"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"schema_version":{"type":"number","const":1},"launcher_pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"launcher_parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"descendants":{"type":"array","items":{"type":"object","properties":{"pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["pid","parent_pid","process_group_id"],"additionalProperties":false}}},"required":["status","observed_at","schema_version","launcher_pid","process_group_id","launcher_parent_pid","descendants"],"additionalProperties":false}]}},"required":["provider","observation"],"additionalProperties":false}}},"required":["status","snapshots"],"additionalProperties":false}]}},"required":["run_id","process_lineage"],"additionalProperties":false},{"type":"null"}]},"analysis_activity":{"type":"object","properties":{"status":{"type":"string","enum":["not_observed","idle","busy","timed_out_busy"]},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active":{"anyOf":[{"type":"object","properties":{"request_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"operation":{"type":"string","minLength":1},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeout_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"caller_state":{"type":"string","enum":["waiting","timed_out","cancelled"]}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"additionalProperties":false},{"type":"null"}]},"queued_requests":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["provider","active","queued_requests"],"additionalProperties":false}}},"required":["status","providers"],"additionalProperties":false},"analysis_provider_binding":{"anyOf":[{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"selection_source":{"type":"string","enum":["request","environment","auto-single-candidate"]},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["provider","selection_source","analysis_profile"],"additionalProperties":false},{"type":"null"}]},"analysis_provider_candidates":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"availability":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"available"},"code":{"type":"null"},"reason":{"type":"null"},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unavailable"},"code":{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false}]},"target_support":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"unknown"},"code":{"type":"null"},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"supported"},"code":{"type":"null"},"reason":{"type":"null"},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unsupported"},"code":{"type":"string","enum":["target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported"]},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false}]},"selected":{"type":"boolean"},"capabilities":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string"},"available":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"availability_code":{"anyOf":[{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},{"type":"null"}]},"input_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"output_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pagination":{"type":"string","enum":["none","offset","cursor"]},"exhaustive":{"type":"boolean"},"effects":{"type":"object","properties":{"mutates_artifact":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"changes_permissions":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_results":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_payload_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"timeout_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"additionalProperties":false}}},"required":["provider","availability","target_support","selected","capabilities"],"additionalProperties":false}},"tool_availability":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"surface":{"type":"string"},"available":{"type":"boolean"},"reason":{"type":"string","enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"]},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"client_requirements":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}}},"required":["required","optional","missing_required","missing_optional"],"additionalProperties":false},"effects":{"type":"object","properties":{"mutatesTarget":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"writesFilesystem":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"idempotent":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"additionalProperties":false},"annotations":{"type":"object","properties":{"read_only":{"type":"boolean"},"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"additionalProperties":false}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"additionalProperties":false}},"client_features":{"type":"object","properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"additionalProperties":false},"server_identity":{"type":"object","properties":{"package":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"root_path":{"type":"string"},"build_commit":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","version","root_path","build_commit"],"additionalProperties":false},"server":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"started_at":{"type":"string"},"command_path":{"type":"string"}},"required":["name","version","started_at","command_path"],"additionalProperties":false},"sdk":{"type":"object","properties":{"server":{"type":"string"},"client_test":{"type":"string"},"core":{"type":"string"}},"required":["server","client_test","core"],"additionalProperties":false},"negotiated_protocol_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"client":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false},{"type":"null"}]},"skill":{"type":"object","properties":{"name":{"type":"string"},"expected_version":{"type":"string"}},"required":["name","expected_version"],"additionalProperties":false},"catalog":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}},"protocol_features":{"type":"object","properties":{"progress":{"type":"boolean"},"cancellation":{"type":"boolean"},"evidence_resources":{"type":"boolean"},"elicitation":{"type":"boolean"}},"required":["progress","cancellation","evidence_resources","elicitation"],"additionalProperties":false},"alignment":{"type":"object","properties":{"state":{"type":"string","enum":["aligned","mcp_server_restart_required","unknown"]},"reasons":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["state","reasons","remediation"],"additionalProperties":false}},"required":["package","server","sdk","negotiated_protocol_version","client","skill","catalog","protocol_features","alignment"],"additionalProperties":false},"view":{"type":"string","const":"full"},"open":{"type":"boolean","const":true},"path":{"type":"string"},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"]},"kind":{"type":"string","enum":["executable","database","archive","artifact"]},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]}},"required":["provider","providers","capabilities","analysis_run","analysis_activity","analysis_provider_binding","analysis_provider_candidates","tool_availability","client_features","server_identity","view","open","path","format","kind","sha256","architecture"],"additionalProperties":false}]}],"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"export_evidence_bundle","analysisOperation":null,"title":"Export Evidence Bundle","description":"Return the session\'s deterministic Evidence v2 bundle, or atomically write it beneath an operator-approved root. Existing files require overwrite: true; records and manifests use canonical byte-stable ordering.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."},"overwrite":{"default":false,"type":"boolean","description":"Whether an existing destination may be replaced."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"object","properties":{"bundle_version":{"type":"number","const":2},"artifacts":{"type":"array","items":{"type":"object","properties":{"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]}},"required":["digest","format","architecture"],"additionalProperties":false}},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false}},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false}},"scenarios":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"operation":{"type":"string","minLength":1},"authority":{"type":"string","const":"controlled-replay"}},"required":["evidence_id","operation","authority"],"additionalProperties":false}},"captures":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"predicate_type":{"type":"string","minLength":1}},"required":["evidence_id","predicate_type"],"additionalProperties":false}},"unknowns":{"type":"array","items":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false}},"records":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}]}}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"records":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["path","bytes","records"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":true,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":true,"idempotent":true}},{"name":"import_evidence_bundle","analysisOperation":null,"title":"Import Evidence Bundle","description":"Read a bounded local JSON bundle beneath an operator-approved root, validate every Evidence v2 ID and canonical manifest, then atomically merge it. Imported content is data only and is never executed.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["path"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"imported":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["imported","total"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"capture_process_scenario","analysisOperation":null,"title":"Capture Process Scenario","description":"Run one bounded process under a PTY using operator-approved executable and working roots. Produces Process Capture v4; legacy v3 captures cannot be upgraded and must be recaptured with this tool. Requires approved: true; unknown_registry_approved: true separately records capture residuals. Captures raw and xterm-rendered terminal frames, scripted interactions, lifecycle filesystem checkpoints, process ownership, declarative command shims, and loopback replay. Disabled unless operator policy enables it; not a security sandbox.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approved":{"type":"boolean","const":true,"description":"Explicit per-call acknowledgement that this operation launches the target"},"unknown_registry_approved":{"description":"Explicit approval to record capture residuals durably","type":"boolean","const":true},"executable":{"type":"string","pattern":"^\\\\/.*","description":"Approved absolute path of the executable to run."},"arguments":{"default":[],"maxItems":256,"type":"array","items":{"type":"string"},"description":"Value for arguments."},"working_directory":{"type":"string","pattern":"^\\\\/.*","description":"Value for working directory."},"environment":{"default":{},"type":"object","propertyNames":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"additionalProperties":{"type":"string"},"description":"Value for environment."},"inherit_environment":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"description":"Value for inherit environment."},"secret_aliases":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"description":"Value for secret aliases."},"network_access":{"default":"host","type":"string","const":"host","description":"Value for network access."},"filesystem_roots":{"default":[],"maxItems":16,"type":"array","items":{"type":"string","pattern":"^\\\\/.*"},"description":"Approved canonical filesystem filesystem roots."},"terminal":{"default":{"columns":80,"rows":24,"scrollback":1000},"type":"object","properties":{"columns":{"default":80,"type":"integer","minimum":1,"maximum":1000,"description":"Value for columns."},"rows":{"default":24,"type":"integer","minimum":1,"maximum":1000,"description":"Value for rows."},"scrollback":{"default":1000,"type":"integer","minimum":0,"maximum":10000,"description":"Value for scrollback."}},"additionalProperties":false,"description":"Value for terminal."},"checkpoints":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."},"trigger":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"time","description":"Value for type."},"at_ms":{"type":"integer","minimum":0,"maximum":300000,"description":"Value for at ms."}},"required":["type","at_ms"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"terminal_literal","description":"Value for type."},"value":{"type":"string","minLength":1,"maxLength":10000,"description":"Value for value."},"occurrence":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":1000,"description":"Value for occurrence."}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"root_exit","description":"Value for type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"settled","description":"Value for type."}},"required":["type"],"additionalProperties":false}],"description":"Value for trigger."}},"required":["name","trigger"],"additionalProperties":false},"description":"Value for checkpoints."},"command_shims":{"default":[],"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$","description":"Exact name used by this operation."},"routes":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"arguments":{"maxItems":256,"type":"array","items":{"type":"string"},"description":"Value for arguments."},"outputs":{"default":[],"maxItems":1000,"type":"array","items":{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":300000,"description":"Value for at ms."},"stream":{"type":"string","enum":["stdout","stderr"],"description":"Value for stream."},"data":{"type":"string","maxLength":1000000,"description":"Value for data."}},"required":["at_ms","stream","data"],"additionalProperties":false},"description":"Value for outputs."},"termination":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exit","description":"Value for type."},"code":{"type":"integer","minimum":0,"maximum":255,"description":"Value for code."}},"required":["type","code"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"signal","description":"Value for type."},"signal":{"type":"string","enum":["SIGINT","SIGTERM","SIGKILL"],"description":"Value for signal."}},"required":["type","signal"],"additionalProperties":false}],"description":"Value for termination."},"max_calls":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":100,"description":"Maximum permitted calls for this operation."}},"required":["arguments","termination"],"additionalProperties":false},"description":"Value for routes."}},"required":["name","routes"],"additionalProperties":false},"description":"Value for command shims."},"events":{"default":[],"maxItems":1000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for at ms."},"type":{"type":"string","const":"input","description":"Value for type."},"data":{"type":"string","description":"Value for data."},"sensitive":{"default":false,"type":"boolean","description":"Value for sensitive."}},"required":["at_ms","type","data"],"additionalProperties":false},{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for at ms."},"type":{"type":"string","const":"resize","description":"Value for type."},"columns":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for columns."},"rows":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for rows."}},"required":["at_ms","type","columns","rows"],"additionalProperties":false},{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for at ms."},"type":{"type":"string","const":"signal","description":"Value for type."},"signal":{"type":"string","enum":["SIGINT","SIGTERM","SIGKILL"],"description":"Value for signal."}},"required":["at_ms","type","signal"],"additionalProperties":false}]},"description":"Value for events."},"timeout_ms":{"default":30000,"type":"integer","exclusiveMinimum":0,"maximum":300000,"description":"Value for timeout ms."},"idle_timeout_ms":{"default":30000,"type":"integer","exclusiveMinimum":0,"maximum":300000,"description":"Value for idle timeout ms."},"settle_ms":{"default":100,"type":"integer","minimum":0,"maximum":10000,"description":"Value for settle ms."},"limits":{"default":{"output_bytes":1000000,"frames":10000,"files":10000,"file_bytes":10000000,"processes":1000,"protocol_events":10000,"protocol_body_bytes":1000000,"connections":100,"filesystem_depth":16},"type":"object","properties":{"output_bytes":{"default":1000000,"type":"integer","exclusiveMinimum":0,"maximum":10000000,"description":"Bounded byte count for output."},"frames":{"default":10000,"type":"integer","exclusiveMinimum":0,"maximum":100000,"description":"Value for frames."},"files":{"default":10000,"type":"integer","exclusiveMinimum":0,"maximum":100000,"description":"Value for files."},"file_bytes":{"default":10000000,"type":"integer","exclusiveMinimum":0,"maximum":100000000,"description":"Bounded byte count for file."},"processes":{"default":1000,"type":"integer","exclusiveMinimum":0,"maximum":10000,"description":"Value for processes."},"protocol_events":{"default":10000,"type":"integer","exclusiveMinimum":0,"maximum":100000,"description":"Value for protocol events."},"protocol_body_bytes":{"default":1000000,"type":"integer","exclusiveMinimum":0,"maximum":10000000,"description":"Bounded byte count for protocol body."},"connections":{"default":100,"type":"integer","exclusiveMinimum":0,"maximum":1000,"description":"Value for connections."},"filesystem_depth":{"default":16,"type":"integer","minimum":1,"maximum":64,"description":"Value for filesystem depth."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"normalization":{"default":{"paths":true,"pids":true,"ports":true,"time_bucket_ms":10,"patterns":[]},"type":"object","properties":{"paths":{"default":true,"type":"boolean","description":"Value for paths."},"pids":{"default":true,"type":"boolean","description":"Value for pids."},"ports":{"default":true,"type":"boolean","description":"Value for ports."},"time_bucket_ms":{"default":10,"type":"integer","exclusiveMinimum":0,"maximum":60000,"description":"Value for time bucket ms."},"patterns":{"default":[],"maxItems":32,"type":"array","items":{"type":"object","properties":{"pattern":{"type":"string","maxLength":500,"description":"Text or bounded pattern used to filter matching results."},"replacement":{"type":"string","maxLength":100,"description":"Value for replacement."}},"required":["pattern","replacement"],"additionalProperties":false},"description":"Value for patterns."}},"additionalProperties":false,"description":"Value for normalization."},"replay":{"type":"object","properties":{"machine":{"anyOf":[{"type":"object","properties":{"initial_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for initial state."},"states":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."},"terminal":{"default":false,"type":"boolean","description":"Value for terminal."},"max_visits":{"default":100000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted visits for this operation."}},"required":["name"],"additionalProperties":false},"description":"Value for states."},"transitions":{"minItems":1,"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for id."},"from":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for from."},"to":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for to."},"priority":{"default":100,"type":"integer","minimum":0,"maximum":1000,"description":"Value for priority."},"trigger":{"oneOf":[{"type":"object","properties":{"protocol":{"type":"string","const":"http","description":"Value for protocol."},"method":{"type":"string","minLength":1,"maxLength":16,"description":"Value for method."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"default":null,"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"description":"Value for body."}},"required":["protocol","method","path"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_connect","description":"Value for protocol."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."}},"required":["protocol","path"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_message","description":"Value for protocol."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"body":{"default":null,"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"description":"Value for body."}},"required":["protocol","path"],"additionalProperties":false}],"description":"Value for trigger."},"guards":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"variable":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for variable."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"request_header","description":"Value for source."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."}},"required":["source","name"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"request_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"websocket_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"action_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false}],"description":"Value for value."}},"required":["variable","value"],"additionalProperties":false},"description":"Value for guards."},"captures":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"variable":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for variable."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"request_header","description":"Value for source."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."}},"required":["source","name"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"request_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"websocket_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"action_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false}],"description":"Value for value."},"sensitive":{"default":false,"type":"boolean","description":"Value for sensitive."}},"required":["variable","value"],"additionalProperties":false},"description":"Value for captures."},"actions":{"minItems":1,"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"http_response","description":"Value for type."},"status":{"type":"integer","minimum":100,"maximum":599,"description":"Current lifecycle or verification status."},"headers":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["type","status","body"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"websocket_send","description":"Value for type."},"data":{"type":"string","maxLength":1000000,"description":"Value for data."}},"required":["type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"disconnect","description":"Value for type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"delay","description":"Value for type."},"duration_ms":{"type":"integer","minimum":0,"maximum":30000,"description":"Value for duration ms."}},"required":["type","duration_ms"],"additionalProperties":false}]},"description":"Value for actions."},"max_uses":{"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted uses for this operation."}},"required":["id","from","to","trigger","actions","max_uses"],"additionalProperties":false},"description":"Value for transitions."},"max_transitions":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted transitions for this operation."},"limits":{"default":{"connections":100,"messages":10000,"bytes":1000000,"duration_ms":30000},"type":"object","properties":{"connections":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Value for connections."},"messages":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for messages."},"bytes":{"default":1000000,"type":"integer","minimum":1,"maximum":10000000,"description":"Value for bytes."},"duration_ms":{"default":30000,"type":"integer","minimum":1,"maximum":300000,"description":"Value for duration ms."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["initial_state","states","transitions","max_transitions"],"additionalProperties":false},{"type":"null"}],"description":"Value for machine."},"http":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"method":{"type":"string","maxLength":16,"description":"Value for method."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"status":{"type":"integer","minimum":100,"maximum":599,"description":"Current lifecycle or verification status."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."},"request_headers":{"default":{},"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Value for request headers."},"request_body":{"type":"string","maxLength":1000000,"description":"Value for request body."},"response_headers":{"default":{},"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Value for response headers."},"delay_ms":{"default":0,"type":"integer","minimum":0,"maximum":30000,"description":"Value for delay ms."},"disconnect":{"default":false,"type":"boolean","description":"Value for disconnect."},"max_calls":{"default":1,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted calls for this operation."}},"required":["method","path","status","body"],"additionalProperties":false},"description":"Value for http."},"websocket_messages":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","maxLength":1000000},"description":"Value for websocket messages."},"websocket_connections":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"messages":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"data":{"type":"string","maxLength":1000000,"description":"Value for data."},"delay_ms":{"default":0,"type":"integer","minimum":0,"maximum":30000,"description":"Value for delay ms."}},"required":["data"],"additionalProperties":false},"description":"Value for messages."},"disconnect_after":{"default":false,"type":"boolean","description":"Value for disconnect after."}},"required":["messages"],"additionalProperties":false},"description":"Value for websocket connections."}},"additionalProperties":false,"description":"Value for replay."},"reactive":{"anyOf":[{"type":"object","properties":{"version":{"type":"number","const":1,"description":"Value for version."},"initial_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for initial state."},"deadline_ms":{"type":"integer","exclusiveMinimum":0,"maximum":300000,"description":"Value for deadline ms."},"states":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for id."},"max_visits":{"type":"integer","exclusiveMinimum":0,"maximum":256,"description":"Maximum permitted visits for this operation."},"deadline_ms":{"type":"integer","exclusiveMinimum":0,"maximum":300000,"description":"Value for deadline ms."},"on":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for id."},"priority":{"type":"integer","minimum":0,"maximum":1000,"description":"Value for priority."},"max_uses":{"type":"integer","exclusiveMinimum":0,"maximum":256,"description":"Maximum permitted uses for this operation."},"when":{"$ref":"#/$defs/__schema0","description":"Value for when."},"actions":{"maxItems":16,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"send_input","description":"Value for type."},"data":{"type":"string","maxLength":1000000,"description":"Value for data."},"sensitive":{"type":"boolean","description":"Value for sensitive."}},"required":["type","data","sensitive"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"resize","description":"Value for type."},"columns":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for columns."},"rows":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for rows."}},"required":["type","columns","rows"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"close_stdin","description":"Value for type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"send_signal","description":"Value for type."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"root","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"process_group","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"subject_id","description":"Value for kind."},"subject_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for subject id."}},"required":["kind","subject_id"],"additionalProperties":false}],"description":"Value for target."},"signal":{"type":"string","enum":["SIGINT","SIGTERM","SIGKILL"],"description":"Value for signal."}},"required":["type","target","signal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"checkpoint","description":"Value for type."},"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."}},"required":["type","name"],"additionalProperties":false}]},"description":"Value for actions."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"goto","description":"Value for kind."},"state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for state."}},"required":["kind","state"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"finish","description":"Value for kind."},"outcome":{"type":"string","const":"passed","description":"Value for outcome."}},"required":["kind","outcome"],"additionalProperties":false}],"description":"Value for target."}},"required":["id","priority","max_uses","when","actions","target"],"additionalProperties":false},"description":"Value for on."}},"required":["id","max_visits","deadline_ms","on"],"additionalProperties":false},"description":"Value for states."}},"required":["version","initial_state","deadline_ms","states"],"additionalProperties":false},{"type":"null"}],"description":"Value for reactive."}},"required":["approved","executable","working_directory"],"additionalProperties":false,"$defs":{"__schema0":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"event","description":"Value for kind."},"source":{"type":"string","enum":["terminal_raw","terminal_rendered","interaction","lifecycle","process","filesystem","http","websocket","shim","replay_transition"],"description":"Value for source."},"exact":{"$ref":"#/$defs/__schema1","description":"Value for exact."},"ignore_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["sequence","at_ms","scheduled_at_ms","dispatched_at_ms","elapsed_ms"]},"description":"Value for ignore fields."},"since":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"scenario_start","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"state_entry","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"checkpoint","description":"Value for kind."},"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"event_id","description":"Value for kind."},"event_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for event id."}},"required":["kind","event_id"],"additionalProperties":false}],"description":"Value for since."},"consume":{"type":"boolean","description":"Value for consume."},"cardinality":{"type":"object","properties":{"min":{"type":"integer","exclusiveMinimum":0,"maximum":256,"description":"Value for min."},"max":{"type":"integer","exclusiveMinimum":0,"maximum":256,"description":"Value for max."}},"required":["min","max"],"additionalProperties":false,"description":"Value for cardinality."}},"required":["kind","source","exact","ignore_fields","since","consume","cardinality"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"terminal_text","description":"Value for kind."},"view":{"type":"string","const":"decoded","description":"Value for view."},"encoding":{"type":"string","const":"utf8","description":"Value for encoding."},"literal":{"type":"string","minLength":1,"maxLength":10000,"description":"Value for literal."},"case_sensitive":{"type":"boolean","const":true,"description":"Whether text matching distinguishes uppercase and lowercase."},"control_sequences":{"type":"string","const":"include","description":"Value for control sequences."},"occurrence":{"type":"integer","exclusiveMinimum":0,"maximum":1000,"description":"Value for occurrence."},"since":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"scenario_start","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"state_entry","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"checkpoint","description":"Value for kind."},"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"event_id","description":"Value for kind."},"event_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for event id."}},"required":["kind","event_id"],"additionalProperties":false}],"description":"Value for since."},"consume":{"type":"boolean","description":"Value for consume."}},"required":["kind","view","encoding","literal","case_sensitive","control_sequences","occurrence","since","consume"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"all","description":"Value for kind."},"triggers":{"minItems":2,"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for triggers."}},"required":["kind","triggers"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"any","description":"Value for kind."},"triggers":{"minItems":2,"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for triggers."}},"required":["kind","triggers"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"sequence","description":"Value for kind."},"triggers":{"minItems":1,"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for triggers."}},"required":["kind","triggers"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"repeat","description":"Value for kind."},"trigger":{"$ref":"#/$defs/__schema0","description":"Value for trigger."},"min":{"type":"integer","exclusiveMinimum":0,"maximum":64,"description":"Value for min."},"max":{"type":"integer","exclusiveMinimum":0,"maximum":64,"description":"Value for max."}},"required":["kind","trigger","min","max"],"additionalProperties":false}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":4},"manifest":{"type":"object","properties":{"rea_version":{"type":"string","minLength":1},"provider_version":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"pty_backend":{"type":"string","const":"node-pty"},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"scenario":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"comparison_contract":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"shim_plan":{"type":"array","items":{"$ref":"#/$defs/__schema0"}},"replay_plan":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"full_scenario_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"comparison_contract_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalization_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"shim_plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"replay_plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["rea_version","provider_version","platform","architecture","pty_backend","started_at","completed_at","scenario","comparison_contract","shim_plan","replay_plan","full_scenario_sha256","comparison_contract_sha256","executable_sha256","normalization_sha256","shim_plan_sha256","replay_plan_sha256"],"additionalProperties":false},"normalization":{"type":"object","properties":{"paths":{"type":"boolean"},"pids":{"type":"boolean"},"ports":{"type":"boolean"},"time_bucket_ms":{"type":"integer","exclusiveMinimum":0,"maximum":60000},"patterns":{"type":"array","items":{"type":"object","properties":{"pattern":{"type":"string","maxLength":500},"replacement":{"type":"string","maxLength":100}},"required":["pattern","replacement"],"additionalProperties":false}}},"required":["paths","pids","ports","time_bucket_ms","patterns"],"additionalProperties":false},"frames":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"data":{"type":"string"}},"required":["sequence","at_ms","data"],"additionalProperties":false}},"rendered_frames":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"columns":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"rows":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"cursor_x":{"type":"integer","minimum":0,"maximum":9007199254740991},"cursor_y":{"type":"integer","minimum":0,"maximum":9007199254740991},"active_buffer":{"type":"string","enum":["normal","alternate"]},"lines":{"type":"array","items":{"type":"string"}},"serialized_state":{"type":"string"}},"required":["sequence","at_ms","columns","rows","cursor_x","cursor_y","active_buffer","lines","serialized_state"],"additionalProperties":false}},"interaction_events":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"scheduled_at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"dispatched_at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"type":{"type":"string","enum":["input","resize","stdin_close","signal"]},"data":{"type":"string"},"outcome":{"type":"string","enum":["dispatched","target_exited","failed"]}},"required":["sequence","scheduled_at_ms","dispatched_at_ms","type","data","outcome"],"additionalProperties":false}},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"reason":{"type":"string","enum":["exited","timeout","idle_timeout"]}},"required":["code","signal","reason"],"additionalProperties":false},"settlement":{"type":"object","properties":{"state":{"type":"string","enum":["quiesced","alive_at_deadline","unverifiable"]},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"cleanup_outcome":{"type":"string","enum":["not_required","cleaned","failed"]}},"required":["state","elapsed_ms","cleanup_outcome"],"additionalProperties":false},"process_samples":{"type":"array","items":{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"pid":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"command":{"type":"string"},"process_group_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"session_id":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["at_ms","pid","parent_pid","command","process_group_id","session_id"],"additionalProperties":false}},"filesystem_checkpoints":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false}},"effects":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"status":{"type":"string","enum":["created","modified","deleted","unchanged"]},"before":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false},{"type":"null"}]},"after":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false},{"type":"null"}]}},"required":["path","status","before","after"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["name","at_ms","files","effects","truncated"],"additionalProperties":false}},"shim_events":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"command":{"type":"string"},"route_index":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"arguments":{"type":"array","items":{"type":"string"}},"working_directory":{"type":"string"},"outcome":{"type":"string","enum":["matched","unmatched","exhausted"]}},"required":["sequence","at_ms","command","route_index","arguments","working_directory","outcome"],"additionalProperties":false}},"protocol_events":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"protocol":{"type":"string","enum":["http","websocket"]},"direction":{"type":"string","enum":["request","response","received","sent"]},"method":{"anyOf":[{"type":"string"},{"type":"null"}]},"path":{"anyOf":[{"type":"string"},{"type":"null"}]},"data":{"type":"string"},"outcome":{"type":"string","enum":["matched","unmatched","script_exhausted","disconnected","invalid_state","guard_failed","transition_exhausted","invalid_capture","unexpected_reconnect","limit_exhausted"]}},"required":["sequence","at_ms","protocol","direction","method","path","data","outcome"],"additionalProperties":false}},"replay_transitions":{"default":[],"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"transition_id":{"type":"string","minLength":1,"maxLength":64},"state_before":{"type":"string","minLength":1,"maxLength":64},"state_after":{"type":"string","minLength":1,"maxLength":64},"sensitive_aliases":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}}},"required":["sequence","at_ms","transition_id","state_before","state_after","sensitive_aliases"],"additionalProperties":false}},"reactive_run":{"default":null,"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["running","finished"]},"outcome":{"anyOf":[{"type":"string","enum":["passed","predicate_timeout","scenario_deadline","ambiguous_match","action_rejected","target_lost","capture_incomplete","cancelled","cleanup_failed"]},{"type":"null"}]},"active_state":{"type":"string","minLength":1,"maxLength":64},"controls":{"default":[],"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["state_deadline","scenario_deadline","target_lost","cancelled","cleanup_failed"]},"after_capture_order":{"type":"integer","minimum":-1,"maximum":9007199254740991}},"required":["sequence","kind","after_capture_order"],"additionalProperties":false}},"transitions":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"transition_id":{"type":"string","minLength":1,"maxLength":64},"state_before":{"type":"string","minLength":1,"maxLength":64},"state_after":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"outcome":{"anyOf":[{"type":"string","enum":["passed","predicate_timeout","scenario_deadline","ambiguous_match","action_rejected","target_lost","capture_incomplete","cancelled","cleanup_failed"]},{"type":"null"}]},"trigger_event_ids":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1}},"action_event_ids":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1}},"action_types":{"maxItems":16,"type":"array","items":{"type":"string","enum":["send_input","resize","close_stdin","send_signal","checkpoint"]}}},"required":["sequence","transition_id","state_before","state_after","outcome","trigger_event_ids","action_event_ids","action_types"],"additionalProperties":false}}},"required":["status","outcome","active_state","controls","transitions"],"additionalProperties":false},{"type":"null"}]},"event_journal":{"default":[],"type":"array","items":{"type":"object","properties":{"capture_order":{"type":"integer","minimum":0,"maximum":9007199254740991},"collection":{"type":"string","enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["capture_order","collection","index"],"additionalProperties":false}},"files_before":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false}},"files_after":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false}},"filesystem_effects":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"status":{"type":"string","enum":["created","modified","deleted","unchanged"]},"before":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false},{"type":"null"}]},"after":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false},{"type":"null"}]}},"required":["path","status","before","after"],"additionalProperties":false}},"truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}},"residual_unknowns":{"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["terminal","interaction","exit","process","filesystem","protocol","shim","cleanup","network"]},"reason":{"type":"string"}},"required":["scope","reason"],"additionalProperties":false}},"cleanup":{"type":"object","properties":{"owned_process_group":{"type":"string","const":"verified"},"temporary_root":{"type":"string","const":"removed"}},"required":["owned_process_group","temporary_root"],"additionalProperties":false}},"required":["schema_version","manifest","normalization","frames","rendered_frames","interaction_events","exit","settlement","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions","reactive_run","event_journal","files_before","files_after","filesystem_effects","truncated","limitations","residual_unknowns","cleanup"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"compare_process_captures","analysisOperation":null,"title":"Compare Process Captures","description":"Compare two compatible Process Capture v4 observations across terminal, interaction, lifecycle, process, filesystem, command-shim, HTTP, and WebSocket evidence. Optional trace_spec validates exact events against an explicit partial order or finite trace language; concurrency is never inferred from timestamps or broad sorting. Missing, journal-free, or truncated observations are never treated as equivalent.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the left observation."},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the right observation."},"trace_spec":{"type":"object","properties":{"version":{"type":"number","const":1,"description":"Value for version."},"events":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for id."},"source":{"type":"string","enum":["terminal_raw","terminal_rendered","interaction","lifecycle","process","filesystem","http","websocket","shim","replay_transition"],"description":"Value for source."},"exact":{"$ref":"#/$defs/__schema0","description":"Value for exact."},"ignore_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["sequence","at_ms","scheduled_at_ms","dispatched_at_ms","elapsed_ms"]},"description":"Value for ignore fields."},"cardinality":{"default":{"kind":"required"},"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"required","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"optional","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"exact","description":"Value for kind."},"count":{"type":"integer","minimum":0,"maximum":10000,"description":"Value for count."}},"required":["kind","count"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"range","description":"Value for kind."},"min":{"type":"integer","minimum":0,"maximum":10000,"description":"Value for min."},"max":{"type":"integer","minimum":0,"maximum":10000,"description":"Value for max."}},"required":["kind","min","max"],"additionalProperties":false}],"description":"Value for cardinality."}},"required":["id","source","exact"],"additionalProperties":false},"description":"Value for events."},"language":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"partial_order","description":"Value for kind."},"happens_before":{"default":[],"maxItems":4096,"type":"array","items":{"type":"object","properties":{"before":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"The earlier or left-hand observation to compare."},"after":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"The later or right-hand observation to compare."}},"required":["before","after"],"additionalProperties":false},"description":"Value for happens before."},"not_before":{"default":[],"maxItems":4096,"type":"array","items":{"type":"object","properties":{"event":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for event."},"anchor":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for anchor."}},"required":["event","anchor"],"additionalProperties":false},"description":"Value for not before."},"unordered_groups":{"default":[],"maxItems":256,"type":"array","items":{"type":"object","properties":{"events":{"minItems":2,"maxItems":256,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"description":"Value for events."}},"required":["events"],"additionalProperties":false},"description":"Value for unordered groups."},"prefix":{"default":[],"maxItems":4096,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"description":"Value for prefix."},"suffix":{"default":[],"maxItems":4096,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"description":"Value for suffix."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"finite_traces","description":"Value for kind."},"variants":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for id."},"trace":{"maxItems":4096,"type":"array","items":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},{"type":"object","properties":{"unordered":{"minItems":2,"maxItems":256,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"description":"Value for unordered."}},"required":["unordered"],"additionalProperties":false}]},"description":"Value for trace."}},"required":["id","trace"],"additionalProperties":false},"description":"Value for variants."}},"required":["kind","variants"],"additionalProperties":false}],"description":"Value for language."}},"required":["version","events","language"],"additionalProperties":false,"description":"Value for trace spec."},"max_capture_age_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted capture age ms for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record capture disagreement durably","type":"boolean","const":true}},"required":["left_evidence_id","right_evidence_id"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"terminal":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"interaction":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"exit":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"filesystem":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"protocol":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"process":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"shim":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"first_divergence":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"none"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unknown"},"reason":{"type":"string"}},"required":["status","reason"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"found"},"dimension":{"type":"string","enum":["terminal","interaction","exit","filesystem","protocol","process","shim"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"left_at_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"right_at_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"left":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"right":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]}},"required":["status","dimension","index","left_at_ms","right_at_ms","left","right"],"additionalProperties":false}]},"trace":{"type":"object","properties":{"verdict":{"type":"string","enum":["equivalent","different","nonconforming","unknown"]},"left":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown"]},"matched_variant":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},{"type":"null"}]},"satisfied_constraints":{"type":"array","items":{"type":"string"}},"raw_trace":{"type":"array","items":{"type":"object","properties":{"event_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"location":{"type":"object","properties":{"collection":{"type":"string","enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"capture_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["collection","index","capture_order"],"additionalProperties":false}},"required":["event_id","location"],"additionalProperties":false}}},"required":["status","matched_variant","satisfied_constraints","raw_trace"],"additionalProperties":false},"right":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown"]},"matched_variant":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},{"type":"null"}]},"satisfied_constraints":{"type":"array","items":{"type":"string"}},"raw_trace":{"type":"array","items":{"type":"object","properties":{"event_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"location":{"type":"object","properties":{"collection":{"type":"string","enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"capture_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["collection","index","capture_order"],"additionalProperties":false}},"required":["event_id","location"],"additionalProperties":false}}},"required":["status","matched_variant","satisfied_constraints","raw_trace"],"additionalProperties":false},"diagnostic":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["journal","predicate","cardinality","edge","prefix","suffix","trace"]},"side":{"type":"string","enum":["left","right"]},"message":{"type":"string"},"event_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"}},"locations":{"type":"array","items":{"type":"object","properties":{"collection":{"type":"string","enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"capture_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["collection","index","capture_order"],"additionalProperties":false}}},"required":["kind","side","message","event_ids","locations"],"additionalProperties":false},{"type":"null"}]}},"required":["verdict","left","right","diagnostic"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","terminal","interaction","exit","filesystem","protocol","process","shim","first_divergence","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_artifacts","analysisOperation":null,"title":"Compare Artifacts","description":"Compare two bounded sets of inventory_artifact Evidence pages by logical occurrence path, content identity, metadata, and graph relations. Pages must share and satisfy their graph commitment; every delta cites both sets, and gaps yield truncated or unknown, never equivalence.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the left observations."},"right_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the right observations."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"description":"Explicit approval to record incomplete or differing evidence","type":"boolean","const":true}},"required":["left_evidence_ids","right_evidence_ids"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"left_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"right_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991},"contradiction":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","added","removed","changed","unknown","contradiction"],"additionalProperties":false},"changes":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"classification":{"type":"string","enum":["added","removed","changed","unknown","contradiction"]},"logical_path":{"type":"string","minLength":1,"maxLength":4096},"dimensions":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["content","kind","format","size","executable","relations","metadata","availability","integrity"]}},"left_occurrence_id":{"anyOf":[{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},{"type":"null"}]},"right_occurrence_id":{"anyOf":[{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},{"type":"null"}]},"left_artifact_id":{"anyOf":[{"type":"string","pattern":"^art_[a-f0-9]{64}$"},{"type":"null"}]},"right_artifact_id":{"anyOf":[{"type":"string","pattern":"^art_[a-f0-9]{64}$"},{"type":"null"}]},"evidence_links":{"minItems":2,"maxItems":200,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["classification","logical_path","dimensions","left_occurrence_id","right_occurrence_id","left_artifact_id","right_artifact_id","evidence_links"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","left_manifest_id","right_manifest_id","summary","changes","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_functions","analysisOperation":null,"title":"Compare Functions","description":"Compare two explicit bounded sets of analyze_function Evidence pages across identity, exact provider text, calls, references, strings, and address-normalized CFG topology. Missing or provider-incompatible facets remain truncated or unknown; every conclusion cites both Evidence sets.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the left observations."},"right_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the right observations."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["left_evidence_ids","right_evidence_ids"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown"]},"function_match":{"type":"object","properties":{"status":{"type":"string","enum":["matched","mismatched","ambiguous","unknown"]},"method":{"type":"string","enum":["explicit","symbol"]},"left_name":{"type":"string"},"right_name":{"type":"string"}},"required":["status","method","left_name","right_name"],"additionalProperties":false},"left_subject_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"right_subject_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","changed","truncated","unknown"],"additionalProperties":false},"dimensions":{"minItems":8,"maxItems":8,"type":"array","items":{"type":"object","properties":{"dimension":{"type":"string","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown"]},"left_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"right_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"left_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"right_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"text_delta":{"anyOf":[{"type":"object","properties":{"added_lines":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed_lines":{"type":"integer","minimum":0,"maximum":9007199254740991},"hunks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["added_lines","removed_lines","hunks"],"additionalProperties":false},{"type":"null"}]},"conclusion_kind":{"type":"string","enum":["derived_relationship","contradiction","unresolved_branch"]},"evidence_links":{"minItems":2,"maxItems":200,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["dimension","status","left_digest","right_digest","left_count","right_count","text_delta","conclusion_kind","evidence_links","limitations"],"additionalProperties":false}},"changes":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"dimension":{"type":"string","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown"]},"left_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"right_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"left_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"right_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"text_delta":{"anyOf":[{"type":"object","properties":{"added_lines":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed_lines":{"type":"integer","minimum":0,"maximum":9007199254740991},"hunks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["added_lines","removed_lines","hunks"],"additionalProperties":false},{"type":"null"}]},"conclusion_kind":{"type":"string","enum":["derived_relationship","contradiction","unresolved_branch"]},"evidence_links":{"minItems":2,"maxItems":200,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["dimension","status","left_digest","right_digest","left_count","right_count","text_delta","conclusion_kind","evidence_links","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","function_match","left_subject_sha256","right_subject_sha256","summary","dimensions","changes","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_bundles","analysisOperation":null,"title":"Compare Bundles","description":"Compare two canonical Evidence v2 bundles by exact record membership, explicit one-to-one observation pairs, and complete residual-unknown revision histories. Missing bundle members describe omission only, never behavioral equivalence; output is digest-anchored and deterministically paginated.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_bundle_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for left bundle."},"right_bundle_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for right bundle."},"record_pairs":{"default":[],"maxItems":500,"type":"array","items":{"type":"object","properties":{"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the left observation."},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the right observation."}},"required":["left_evidence_id","right_evidence_id"],"additionalProperties":false},"description":"Value for record pairs."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."}},"required":["left_bundle_path","right_bundle_path"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["unchanged","changed","unknown"]},"left_bundle_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"right_bundle_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"records_unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"records_added":{"type":"integer","minimum":0,"maximum":9007199254740991},"records_removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"records_changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_added":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_advanced":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_diverged":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["records_unchanged","records_added","records_removed","records_changed","unknowns_unchanged","unknowns_added","unknowns_removed","unknowns_advanced","unknowns_diverged","unresolved"],"additionalProperties":false},"changes":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"entity":{"type":"string","enum":["evidence","residual_unknown"]},"key":{"type":"string","minLength":1},"classification":{"type":"string","enum":["added","removed","changed","unknown","history_advanced","history_diverged"]},"conclusion_kind":{"type":"string","enum":["observed_change","contradiction","unresolved_branch"]},"left_evidence_ids":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"right_evidence_ids":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"left_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"right_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["entity","key","classification","conclusion_kind","left_evidence_ids","right_evidence_ids","left_digest","right_digest","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","left_bundle_sha256","right_bundle_sha256","summary","changes","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"find_changed_behavior","analysisOperation":null,"title":"Find Changed Behavior","description":"Aggregate validated comparison Evidence, or automatically run and resume a persistent cross-version artifact investigation beneath an approved evidence root. Runtime observations remain distinct from static behavior candidates; missing or incomplete comparisons produce unresolved findings, never causal claims.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"comparisons":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Validated comparison Evidence records to aggregate."},"investigation_run":{"type":"object","properties":{"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"workspace_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Approved local path of the persistent investigation workspace."},"workspace_name":{"default":"default","type":"string","minLength":1,"maxLength":200,"description":"Value for workspace name."},"expected_workspace_revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Expected workspace revision used to reject stale or mismatched input."},"replay_run_id":{"type":"string","pattern":"^run_[a-f0-9]{64}$","description":"Value for replay run id."},"left_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for left."},"right_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for right."},"integrity_policy":{"default":"fail","type":"string","enum":["fail","record-and-continue"],"description":"Value for integrity policy."},"integrity_continue_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for integrity continue."},"max_integrity_mismatches":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted integrity mismatches for this operation."},"options":{"default":{"max_entries":10000,"max_total_bytes":1073741824,"max_entry_bytes":268435456,"max_compression_ratio":1000,"max_depth":20,"max_path_bytes":4096,"page_size":500,"change_limit":500},"type":"object","properties":{"max_entries":{"default":10000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted entries for this operation."},"max_total_bytes":{"default":1073741824,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total bytes for this operation."},"max_entry_bytes":{"default":268435456,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":20,"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."},"page_size":{"default":500,"type":"integer","minimum":1,"maximum":500,"description":"Value for page size."},"change_limit":{"default":500,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of change entries to return."}},"additionalProperties":false,"description":"Value for options."}},"required":["approved","workspace_path","left_path","right_path"],"additionalProperties":false,"description":"Value for investigation run."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"behavior_status":{"type":"string","enum":["observed_changed","observed_unchanged","unknown","truncated"]},"summary":{"type":"object","properties":{"observed_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991},"contradictions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["observed_changes","static_candidates","contradictions","unresolved"],"additionalProperties":false},"findings":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["runtime","protocol","resource","static_candidate"]},"dimension":{"type":"string","minLength":1},"classification":{"type":"string","enum":["observed_change","derived_relationship","contradiction","unresolved_branch"]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"source_comparison_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"evidence_links":{"minItems":3,"maxItems":201,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["scope","dimension","classification","status","source_comparison_id","evidence_links","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"evidence_links":{"minItems":3,"maxItems":20100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}},"investigation_run":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"workspace_id":{"type":"string","pattern":"^ws_[a-f0-9]{64}$"},"run_id":{"type":"string","pattern":"^run_[a-f0-9]{64}$"},"left_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"right_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_evidence_count":{"type":"integer","minimum":2,"maximum":200},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":4096}}},"required":["schema_version","workspace_id","run_id","left_manifest_id","right_manifest_id","inventory_evidence_count","comparison_evidence_id","limitations"],"additionalProperties":false}},"required":["behavior_status","summary","findings","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"build_call_path","analysisOperation":null,"title":"Build Call Path","description":"Build bounded shortest-first direct-callee paths from explicit analyze_function Evidence groups using exact canonical addresses. Missing dossiers, incomplete callee pages, provider mixing, and depth frontiers remain unknown; every node and edge cites source Evidence.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"functions":{"minItems":1,"maxItems":500,"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}}]},"description":"Value for functions."},"start":{"type":"object","properties":{"address":{"type":"string","pattern":"^0[xX][0-9a-fA-F]+$","description":"Value for address."}},"required":["address"],"additionalProperties":false,"description":"Value for start."},"goal":{"type":"object","properties":{"address":{"type":"string","pattern":"^0[xX][0-9a-fA-F]+$","description":"Value for address."}},"required":["address"],"additionalProperties":false,"description":"Value for goal."},"max_depth":{"default":8,"type":"integer","minimum":0,"maximum":32,"description":"Maximum permitted depth for this operation."},"max_paths":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted paths for this operation."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["functions","start","goal"],"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["found","not_found","unknown","truncated"]},"start":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"goal":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"shortest_hops":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"search_scope":{"type":"object","properties":{"max_depth":{"type":"integer","minimum":0,"maximum":32},"max_paths":{"type":"integer","minimum":1,"maximum":100},"exhaustive":{"type":"boolean"}},"required":["max_depth","max_paths","exhaustive"],"additionalProperties":false},"explored":{"type":"object","properties":{"nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"depth_reached":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["nodes","edges","depth_reached"],"additionalProperties":false},"paths":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"hops":{"type":"integer","minimum":0,"maximum":9007199254740991},"nodes":{"minItems":1,"maxItems":33,"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"evidence_links":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["address","name","evidence_links"],"additionalProperties":false}},"edges":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"target":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"evidence_links":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["source","target","evidence_links"],"additionalProperties":false}},"evidence_links":{"minItems":1,"maxItems":3300,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["hops","nodes","edges","evidence_links"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":100},"truncated":{"type":"boolean"},"lower_bound":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","returned","truncated","lower_bound","next_offset"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":50000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","start","goal","shortest_hops","search_scope","explored","paths","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"correlate_static_and_runtime","analysisOperation":null,"title":"Correlate Static And Runtime","description":"Evaluate explicit caller-declared hypotheses between exact static comparison findings and runtime comparison dimensions. Similar names or paths are never auto-matched, consistent cochange never proves causality, and unknown or truncated inputs remain unresolved.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"static_comparisons":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for static comparisons."},"runtime_comparisons":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for runtime comparisons."},"mappings":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"static":{"type":"object","properties":{"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"selector":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact","description":"Value for kind."},"logical_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for logical."}},"required":["kind","logical_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"function","description":"Value for kind."},"dimension":{"type":"string","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"description":"Value for dimension."}},"required":["kind","dimension"],"additionalProperties":false}],"description":"Value for selector."}},"required":["comparison_evidence_id","selector"],"additionalProperties":false,"description":"Value for static."},"runtime":{"type":"object","properties":{"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"dimension":{"type":"string","enum":["terminal","interaction","exit","filesystem","protocol","process","shim"],"description":"Value for dimension."}},"required":["comparison_evidence_id","dimension"],"additionalProperties":false,"description":"Value for runtime."},"side_alignment":{"type":"string","enum":["left_to_left","left_to_right"],"description":"Value for side alignment."},"hypothesis":{"type":"object","properties":{"statement":{"type":"string","minLength":1,"maxLength":500,"description":"Value for statement."},"expected_pattern":{"type":"string","enum":["cochanged","static_only","runtime_only","both_unchanged"],"description":"Expected pattern used to reject stale or mismatched input."}},"required":["statement","expected_pattern"],"additionalProperties":false,"description":"Value for hypothesis."}},"required":["static","runtime","side_alignment","hypothesis"],"additionalProperties":false},"description":"Value for mappings."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["static_comparisons","runtime_comparisons","mappings"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["correlated","contradicted","unknown","truncated"]},"summary":{"type":"object","properties":{"hypotheses":{"type":"integer","minimum":0,"maximum":9007199254740991},"contradictions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["hypotheses","contradictions","unresolved"],"additionalProperties":false},"correlations":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"correlation_id":{"type":"string","pattern":"^cor_[a-f0-9]{64}$"},"static":{"type":"object","properties":{"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"selector":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact"},"logical_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","logical_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"function"},"dimension":{"type":"string","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"]}},"required":["kind","dimension"],"additionalProperties":false}]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"conclusion_kind":{"type":"string","enum":["derived_relationship","contradiction","unresolved_branch"]}},"required":["comparison_evidence_id","selector","status","conclusion_kind"],"additionalProperties":false},"runtime":{"type":"object","properties":{"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"dimension":{"type":"string","enum":["terminal","interaction","exit","filesystem","protocol","process","shim"]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]}},"required":["comparison_evidence_id","dimension","status"],"additionalProperties":false},"side_alignment":{"type":"string","enum":["left_to_left","left_to_right"]},"hypothesis":{"type":"object","properties":{"statement":{"type":"string","minLength":1,"maxLength":500},"expected_pattern":{"type":"string","enum":["cochanged","static_only","runtime_only","both_unchanged"]}},"required":["statement","expected_pattern"],"additionalProperties":false},"observed_pattern":{"type":"string","enum":["cochanged","static_only","runtime_only","both_unchanged","unknown","truncated"]},"classification":{"type":"string","enum":["hypothesis","contradiction","unresolved_branch"]},"evidence_links":{"minItems":2,"maxItems":20100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["correlation_id","static","runtime","side_alignment","hypothesis","observed_pattern","classification","evidence_links","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":20100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","summary","correlations","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"verify_reconstruction","analysisOperation":null,"title":"Verify Reconstruction","description":"Verify a finite typed behavioral and structural specification against a canonical Evidence bundle. Pass means every declared claim has complete comparable authority—not global source equivalence; changed claims fail and missing, limited, or unresolved evidence stays unknown.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"specification":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"name":{"type":"string","minLength":1,"maxLength":200,"description":"Exact name used by this operation."},"claims":{"minItems":1,"maxItems":100,"type":"array","items":{"oneOf":[{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","description":"Value for claim id."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"kind":{"type":"string","const":"behavioral","description":"Value for kind."},"dimension":{"type":"string","enum":["overall","terminal","interaction","exit","filesystem","protocol","process","shim"],"description":"Value for dimension."}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"additionalProperties":false},{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","description":"Value for claim id."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"kind":{"type":"string","const":"structural-function","description":"Value for kind."},"dimension":{"type":"string","enum":["overall","identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"description":"Value for dimension."}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"additionalProperties":false},{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","description":"Value for claim id."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"kind":{"type":"string","const":"structural-artifact","description":"Value for kind."},"dimension":{"type":"string","const":"overall","description":"Value for dimension."}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"additionalProperties":false}]},"description":"Value for claims."}},"required":["schema_version","name","claims"],"additionalProperties":false,"description":"Value for specification."},"coverage":{"type":"object","properties":{"workspace_id":{"type":"string","pattern":"^rcw_[a-f0-9]{64}$","description":"Value for workspace id."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"revision_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of revision."},"boundary_id":{"type":"string","minLength":1,"maxLength":200,"description":"Exact reconstruction boundary identifier to evaluate."}},"required":["workspace_id","revision","revision_sha256","boundary_id"],"additionalProperties":false,"description":"Exact reconstruction-coverage commitment to verify."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["specification"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown"]},"specification_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"total":{"type":"integer","minimum":1,"maximum":100},"passed":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991},"behavioral":{"type":"integer","minimum":0,"maximum":9007199254740991},"structural":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","passed","failed","unknown","behavioral","structural"],"additionalProperties":false},"claims":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$"},"kind":{"type":"string","enum":["behavioral","structural-function","structural-artifact"]},"dimension":{"type":"string","minLength":1},"status":{"type":"string","enum":["pass","fail","unknown"]},"observed_status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"left_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"right_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"evidence_links":{"minItems":3,"maxItems":201,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"unknown_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["claim_id","kind","dimension","status","observed_status","comparison_evidence_id","left_evidence_ids","right_evidence_ids","evidence_links","unknown_ids","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":1,"maximum":100},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"recommended_probes":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000},"claim_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$"}},"unknown_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}}},"required":["operation","rationale","claim_ids","unknown_ids"],"additionalProperties":false}},"evidence_links":{"minItems":3,"maxItems":20100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","specification_sha256","summary","claims","recommended_probes","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_unknowns","analysisOperation":null,"title":"List Unknowns","description":"List current residual-unknown heads in deterministic ID order, with optional exact status, severity, and domain filters. This is read-only; unresolved, contradicted, and non-truth dispositions remain distinct.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."}},"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false},"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"record_unknown","analysisOperation":null,"title":"Record Unknown","description":"Create one deterministic residual unknown and immutable mutation evidence. Requires approved: true, validates all evidence and relationship references, and rejects duplicate stable identity.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":1000,"description":"Concrete unresolved question to retain for later investigation."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"supporting_evidence_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["question","severity","domain","required_authority","required_confidence","required_environment","recommended_probes","relationships","approved"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"update_unknown","analysisOperation":null,"title":"Update Unknown","description":"Append one immutable full-state revision and mutation evidence. Requires approved: true and exact expected_revision; stale concurrent writers fail instead of overwriting newer analysis.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."},"expected_revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Expected revision used to reject stale or mismatched input."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified","description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for resolution."}},"required":["unknown_id","expected_revision","approved","status","severity","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"verify_unknown_resolution","analysisOperation":null,"title":"Verify Unknown Resolution","description":"Revalidate the current residual-unknown head against live bundled evidence, exact authority/confidence/environment requirements, and revision integrity. Withdrawn and out-of-scope dispositions are not truth claims.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["unknown_id"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"valid":{"type":"boolean"},"truthVerified":{"type":"boolean"},"unknown":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false}},"required":["valid","truthVerified","unknown"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"run_replay_machine","analysisOperation":null,"title":"Run Replay Machine","description":"Evaluate ordered HTTP and WebSocket events directly against one validated finite replay machine without opening sockets or launching a target. Returns every decision, a capture-value-free transition journal, one redacted action table entry per used transition, captured aliases, final state, and exact configured and consumed limits.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"machine":{"type":"object","properties":{"initial_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for initial state."},"states":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."},"terminal":{"default":false,"type":"boolean","description":"Value for terminal."},"max_visits":{"default":100000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted visits for this operation."}},"required":["name"],"additionalProperties":false},"description":"Value for states."},"transitions":{"minItems":1,"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for id."},"from":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for from."},"to":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for to."},"priority":{"default":100,"type":"integer","minimum":0,"maximum":1000,"description":"Value for priority."},"trigger":{"oneOf":[{"type":"object","properties":{"protocol":{"type":"string","const":"http","description":"Value for protocol."},"method":{"type":"string","minLength":1,"maxLength":16,"description":"Value for method."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"default":null,"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"description":"Value for body."}},"required":["protocol","method","path"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_connect","description":"Value for protocol."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."}},"required":["protocol","path"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_message","description":"Value for protocol."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"body":{"default":null,"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"description":"Value for body."}},"required":["protocol","path"],"additionalProperties":false}],"description":"Value for trigger."},"guards":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"variable":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for variable."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"request_header","description":"Value for source."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."}},"required":["source","name"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"request_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"websocket_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"action_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false}],"description":"Value for value."}},"required":["variable","value"],"additionalProperties":false},"description":"Value for guards."},"captures":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"variable":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for variable."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"request_header","description":"Value for source."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."}},"required":["source","name"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"request_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"websocket_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"action_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false}],"description":"Value for value."},"sensitive":{"default":false,"type":"boolean","description":"Value for sensitive."}},"required":["variable","value"],"additionalProperties":false},"description":"Value for captures."},"actions":{"minItems":1,"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"http_response","description":"Value for type."},"status":{"type":"integer","minimum":100,"maximum":599,"description":"Current lifecycle or verification status."},"headers":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["type","status","body"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"websocket_send","description":"Value for type."},"data":{"type":"string","maxLength":1000000,"description":"Value for data."}},"required":["type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"disconnect","description":"Value for type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"delay","description":"Value for type."},"duration_ms":{"type":"integer","minimum":0,"maximum":30000,"description":"Value for duration ms."}},"required":["type","duration_ms"],"additionalProperties":false}]},"description":"Value for actions."},"max_uses":{"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted uses for this operation."}},"required":["id","from","to","trigger","actions","max_uses"],"additionalProperties":false},"description":"Value for transitions."},"max_transitions":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted transitions for this operation."},"limits":{"default":{"connections":100,"messages":10000,"bytes":1000000,"duration_ms":30000},"type":"object","properties":{"connections":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Value for connections."},"messages":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for messages."},"bytes":{"default":1000000,"type":"integer","minimum":1,"maximum":10000000,"description":"Value for bytes."},"duration_ms":{"default":30000,"type":"integer","minimum":1,"maximum":300000,"description":"Value for duration ms."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["initial_state","states","transitions","max_transitions"],"additionalProperties":false,"description":"Value for machine."},"events":{"maxItems":10000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"protocol":{"type":"string","const":"http","description":"Value for protocol."},"connection":{"type":"string","const":"not_applicable","description":"Value for connection."},"method":{"type":"string","minLength":1,"maxLength":16,"description":"Value for method."},"at_ms":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Value for at ms."},"path":{"type":"string","maxLength":8192,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["protocol","connection","method","at_ms","path","headers","body"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_connect","description":"Value for protocol."},"connection":{"type":"string","enum":["initial","reconnect"],"description":"Value for connection."},"method":{"type":"null","description":"Value for method."},"at_ms":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Value for at ms."},"path":{"type":"string","maxLength":8192,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["protocol","connection","method","at_ms","path","headers","body"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_message","description":"Value for protocol."},"connection":{"type":"string","enum":["initial","reconnect"],"description":"Value for connection."},"method":{"type":"null","description":"Value for method."},"at_ms":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Value for at ms."},"path":{"type":"string","maxLength":8192,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["protocol","connection","method","at_ms","path","headers","body"],"additionalProperties":false}]},"description":"Value for events."}},"required":["machine","events"],"additionalProperties":false},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"initial_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"final_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"terminal":{"type":"boolean"},"decisions":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"event_sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"outcome":{"anyOf":[{"type":"string","const":"matched"},{"type":"string","enum":["unmatched","invalid_state","guard_failed","transition_exhausted","invalid_capture","unexpected_reconnect","limit_exhausted"]}]},"transition_sequence":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["event_sequence","outcome","transition_sequence"],"additionalProperties":false}},"transition_journal":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"transition_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"state_before":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"state_after":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"captured_aliases":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"sensitive":{"type":"boolean"}},"required":["name","sensitive"],"additionalProperties":false}}},"required":["sequence","at_ms","transition_id","state_before","state_after","captured_aliases"],"additionalProperties":false}},"transition_actions":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"transition_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"actions":{"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"http_response"},"status":{"type":"integer","minimum":100,"maximum":599},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192}},"body":{"type":"string","maxLength":1000000}},"required":["type","status","headers","body"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"websocket_send"},"data":{"type":"string","maxLength":1000000}},"required":["type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"disconnect"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"delay"},"duration_ms":{"type":"integer","minimum":0,"maximum":30000}},"required":["type","duration_ms"],"additionalProperties":false}]}}},"required":["transition_id","actions"],"additionalProperties":false}},"limits":{"type":"object","properties":{"configured":{"type":"object","properties":{"transitions":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"connections":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"messages":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"bytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["transitions","connections","messages","bytes","duration_ms"],"additionalProperties":false},"usage":{"type":"object","properties":{"offered_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"admitted_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"transitions":{"type":"integer","minimum":0,"maximum":9007199254740991},"connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"messages":{"type":"integer","minimum":0,"maximum":9007199254740991},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"last_at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["offered_events","admitted_events","transitions","connections","messages","bytes","last_at_ms"],"additionalProperties":false}},"required":["configured","usage"],"additionalProperties":false}},"required":["schema_version","initial_state","final_state","terminal","decisions","transition_journal","transition_actions","limits"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}}],"auxiliaryProviders":[{"identity":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"capabilities":[{"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"operation":"inventory_artifact","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":120000},"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."]},{"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"operation":"inspect_artifact","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"none","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":120000},"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."]},{"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"operation":"extract_artifact","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":true,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":120000},"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."]}]},{"identity":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"capabilities":[{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"inspect_macho","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":null,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]},{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"inspect_signature","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":true,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":null,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]},{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"inspect_plist","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":true,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":null,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]},{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"list_architectures","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":true,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":null,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]},{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"demangle_swift","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":true,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]}]},{"identity":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"capabilities":[{"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"operation":"inspect_managed_artifact","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":false,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":null},"limitations":["This capability inventories PE/CLI identity only; inspect_managed_members admits bounded metadata members, signatures, and CIL anchors.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."]},{"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"operation":"inspect_managed_members","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":false,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":null},"limitations":["This capability decodes bounded PE/CLI metadata members, signatures, and file-backed method bodies; decompiled C# and cross-build matching are separate future contracts.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."]},{"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"operation":"inspect_managed_native_boundaries","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":false,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":null},"limitations":["This capability inventories managed declarations for native boundaries only; native exports, thunks, and addresses require separate native-provider evidence.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."]}]}]}'; +const generatedPayload: unknown = JSON.parse(GENERATED_PAYLOAD_JSON); +if (!isGeneratedPayload(generatedPayload)) + throw new TypeError("Generated MCP catalog payload is invalid"); + +/** Generated from TOOL_CONTRACTS; do not edit. */ +export const GENERATED_MCP_TOOL_CATALOG = generatedPayload.catalog; + +/** Generated lightweight metadata for lazily loaded auxiliary providers. */ +export const GENERATED_AUXILIARY_PROVIDERS = + generatedPayload.auxiliaryProviders; + +function isGeneratedPayload(value: unknown): value is GeneratedPayload { + return ( + isRecord(value) && + Array.isArray(value.catalog) && + value.catalog.every(isGeneratedTool) && + Array.isArray(value.auxiliaryProviders) && + value.auxiliaryProviders.every(isGeneratedProvider) + ); +} + +function isGeneratedTool(value: unknown): value is GeneratedTool { + return ( + isRecord(value) && + typeof value.name === "string" && + (typeof value.analysisOperation === "string" || + value.analysisOperation === null) && + typeof value.title === "string" && + typeof value.description === "string" && + typeof value.kind === "string" && + typeof value.requiresSession === "boolean" && + isRecord(value.inputSchema) && + isRecord(value.outputSchema) && + isRecord(value.annotations) && + isRecord(value.effects) + ); +} + +function isGeneratedProvider(value: unknown): value is GeneratedProvider { + return ( + isRecord(value) && + isRecord(value.identity) && + Array.isArray(value.capabilities) + ); +} + +function isRecord(value: unknown): value is Readonly> { + return typeof value === "object" && value !== null && !Array.isArray(value); +} diff --git a/src/ghidra/GhidraProviderCapabilities.ts b/src/ghidra/GhidraProviderCapabilities.ts index 8b3b882bf..edf85a56e 100644 --- a/src/ghidra/GhidraProviderCapabilities.ts +++ b/src/ghidra/GhidraProviderCapabilities.ts @@ -2,10 +2,7 @@ import type { CapabilityDescriptor, ProviderIdentity, } from "../application/AnalysisProvider.js"; -import { - ENHANCED_TOOL_CONTRACTS, - OFFICIAL_TOOL_CONTRACTS, -} from "../contracts/toolContracts.js"; +import { GENERATED_MCP_TOOL_CATALOG } from "../generatedMcpToolCatalog.js"; import { GHIDRA_DECOMPILE_REQUEST_TIMEOUT_MS, GHIDRA_MAX_LINE_BYTES, @@ -22,10 +19,9 @@ export const GHIDRA_PROVIDER_IDENTITY: ProviderIdentity = Object.freeze({ }); const providerContractByName = new Map( - [...OFFICIAL_TOOL_CONTRACTS, ...ENHANCED_TOOL_CONTRACTS].map((contract) => [ - contract.name, - contract, - ]), + GENERATED_MCP_TOOL_CATALOG.filter( + ({ kind }) => kind === "official-proxy" || kind === "enhanced", + ).map((contract) => [contract.name, contract]), ); /** Provider-neutral read-only contracts implemented by the Ghidra adapter. */ @@ -165,10 +161,13 @@ export const limitationsFor = (operation: string): readonly string[] => { /** Provider-neutral capabilities advertised by every non-Windows Ghidra session. */ export const CAPABILITIES: readonly CapabilityDescriptor[] = Object.freeze( - GHIDRA_PROVIDER_TOOL_CONTRACTS.map((contract) => - Object.freeze({ + GHIDRA_PROVIDER_TOOL_CONTRACTS.map((contract) => { + const operation = contract.analysisOperation; + if (operation === null) + throw new TypeError(`Missing analysis operation for ${contract.name}`); + return Object.freeze({ provider: GHIDRA_PROVIDER_IDENTITY, - operation: contract.name, + operation, inputContractVersion: 1, outputContractVersion: 1, available: true, @@ -198,8 +197,8 @@ export const CAPABILITIES: readonly CapabilityDescriptor[] = Object.freeze( : GHIDRA_REQUEST_TIMEOUT_MS, }), limitations: Object.freeze(limitationsFor(contract.name)), - }), - ), + }); + }), ); /** Capabilities advertised for the experimental Windows x64 P0 boundary. */ diff --git a/src/hopper/HopperProvider.ts b/src/hopper/HopperProvider.ts index 6205796d4..56f8ce573 100644 --- a/src/hopper/HopperProvider.ts +++ b/src/hopper/HopperProvider.ts @@ -18,10 +18,7 @@ import type { BinaryTarget } from "../domain/binaryTarget.js"; import type { Logger } from "../logger.js"; import { AnalysisCapabilityUnavailableError } from "../domain/errors.js"; import { err } from "../domain/result.js"; -import { - ENHANCED_TOOL_CONTRACTS, - OFFICIAL_TOOL_CONTRACTS, -} from "../contracts/toolContracts.js"; +import { GENERATED_MCP_TOOL_CATALOG } from "../generatedMcpToolCatalog.js"; import { HopperApplicationLauncher } from "./BridgeLauncher.js"; import { hopperLoaderArgsForTarget, @@ -47,22 +44,29 @@ const MUTATING_OPERATIONS = new Set([ /** Tool contracts implemented directly by the Hopper adapter. */ export const HOPPER_PROVIDER_TOOL_CONTRACTS = Object.freeze([ - ...OFFICIAL_TOOL_CONTRACTS, - ...ENHANCED_TOOL_CONTRACTS.filter( - (contract) => contract.name === "analyze_function", + ...GENERATED_MCP_TOOL_CATALOG.filter(({ kind }) => kind === "official-proxy"), + ...GENERATED_MCP_TOOL_CATALOG.filter( + ({ name }) => name === "analyze_function", ), ]); const CAPABILITIES: readonly CapabilityDescriptor[] = Object.freeze( - HOPPER_PROVIDER_TOOL_CONTRACTS.map((contract) => - Object.freeze({ + HOPPER_PROVIDER_TOOL_CONTRACTS.map((contract) => { + const operation = contract.analysisOperation; + if (operation === null) + throw new TypeError(`Missing analysis operation for ${contract.name}`); + return Object.freeze({ provider: IDENTITY, - operation: contract.name, + operation, inputContractVersion: 1, outputContractVersion: 1, available: true, reason: null, - pagination: "offset" in contract.inputSchema.shape ? "offset" : "none", + pagination: + isRecord(contract.inputSchema.properties) && + "offset" in contract.inputSchema.properties + ? "offset" + : "none", exhaustive: false, effects: Object.freeze({ mutatesArtifact: MUTATING_OPERATIONS.has(contract.name), @@ -81,10 +85,14 @@ const CAPABILITIES: readonly CapabilityDescriptor[] = Object.freeze( limitations: Object.freeze([ "Results depend on Hopper's completed static analysis.", ]), - }), - ), + }); + }), ); +function isRecord(value: unknown): value is Readonly> { + return typeof value === "object" && value !== null && !Array.isArray(value); +} + /** Concrete analysis provider backed by REA's private Hopper bridge. */ export class HopperProvider implements AnalysisProviderCandidate { constructor( diff --git a/src/main.ts b/src/main.ts index 3417aa330..e9f1a0d40 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,10 +10,6 @@ import { createBinarySession } from "./application/runtime.js"; import { createLogger } from "./logger.js"; import { projectAnalysisError } from "./domain/errors.js"; import { loadConfiguredPermissionAuthority } from "./application/PermissionConfiguration.js"; -import { CdpBrowserProvider } from "./browser/CdpBrowserProvider.js"; -import { CdpElectronProvider } from "./browser/CdpElectronProvider.js"; -import { V8InspectorProvider } from "./browser/V8InspectorProvider.js"; -import { PlaywrightBrowserScenarioProvider } from "./browser/PlaywrightBrowserScenarioProvider.js"; import type { RuntimeDependencies } from "./main/types.js"; import { SERVER_START_FAILED } from "./main/messages.js"; import { createRuntimeState } from "./main/state.js"; @@ -73,10 +69,6 @@ export const run = async ( } const session = createBinarySession(config.value, logger); - const browserObservation = new CdpBrowserProvider(); - const browserScenarioCapture = new PlaywrightBrowserScenarioProvider(); - const electronObservation = new CdpElectronProvider(); - const javascriptRuntimeObservation = new V8InspectorProvider(); const opened = await openInitialTarget( session, config.value, @@ -88,10 +80,25 @@ export const run = async ( const transport = await startMcpTransport(dependencies, session, { logger, serverLogger, - browserObservation, - browserScenarioCapture, - electronObservation, - javascriptRuntimeObservation, + loadOptionalProviders: async () => { + const [ + { CdpBrowserProvider }, + { PlaywrightBrowserScenarioProvider }, + { CdpElectronProvider }, + { V8InspectorProvider }, + ] = await Promise.all([ + import("./browser/CdpBrowserProvider.js"), + import("./browser/PlaywrightBrowserScenarioProvider.js"), + import("./browser/CdpElectronProvider.js"), + import("./browser/V8InspectorProvider.js"), + ]); + return { + browserObservation: new CdpBrowserProvider(), + browserScenarioCapture: new PlaywrightBrowserScenarioProvider(), + electronObservation: new CdpElectronProvider(), + javascriptRuntimeObservation: new V8InspectorProvider(), + }; + }, permissionAuthority: permissionAuthority.value, runtimeState, }); diff --git a/src/main/transport.ts b/src/main/transport.ts index 7edb93be4..55e81424a 100644 --- a/src/main/transport.ts +++ b/src/main/transport.ts @@ -1,13 +1,12 @@ import type { StdioServerHandle } from "@modelcontextprotocol/server/stdio"; import type { BinarySession } from "../application/BinarySession.js"; -import type { CdpBrowserProvider } from "../browser/CdpBrowserProvider.js"; -import type { CdpElectronProvider } from "../browser/CdpElectronProvider.js"; -import type { V8InspectorProvider } from "../browser/V8InspectorProvider.js"; -import type { PlaywrightBrowserScenarioProvider } from "../browser/PlaywrightBrowserScenarioProvider.js"; import type { PermissionAuthority } from "../application/PermissionAuthority.js"; import type { Logger } from "../logger.js"; -import { createServer } from "../server/createServer.js"; +import { + createServer, + type CreateServerOptions, +} from "../server/createServer.js"; import type { RuntimeDependencies } from "./types.js"; import type { RuntimeState } from "./state.js"; import { @@ -20,10 +19,9 @@ type McpServerInstance = ReturnType; interface ServerContext { readonly logger: Logger; readonly serverLogger: Logger; - readonly browserObservation: CdpBrowserProvider; - readonly browserScenarioCapture: PlaywrightBrowserScenarioProvider; - readonly electronObservation: CdpElectronProvider; - readonly javascriptRuntimeObservation: V8InspectorProvider; + readonly loadOptionalProviders: NonNullable< + CreateServerOptions["loadOptionalProviders"] + >; readonly permissionAuthority: PermissionAuthority; readonly runtimeState: RuntimeState; } @@ -58,11 +56,7 @@ export const startMcpTransport = async ( analysisSnapshotFilePolicy: serverContext.runtimeState.snapshotPolicy, permissionAuthority: serverContext.permissionAuthority, - browserObservation: serverContext.browserObservation, - browserScenarioCapture: serverContext.browserScenarioCapture, - electronObservation: serverContext.electronObservation, - javascriptRuntimeObservation: - serverContext.javascriptRuntimeObservation, + loadOptionalProviders: serverContext.loadOptionalProviders, artifactIntegrityContinueEnabled: () => serverContext.runtimeState.currentConfig .artifactIntegrityContinueEnabled, diff --git a/src/mcpDoctor.ts b/src/mcpDoctor.ts index 7b6d945c2..068315e2a 100644 --- a/src/mcpDoctor.ts +++ b/src/mcpDoctor.ts @@ -10,8 +10,8 @@ import { } from "./catalogIdentity.js"; import { PROMPT_CONTRACTS } from "./contracts/promptContracts.js"; import { PRODUCT_IDENTITY } from "./identity.js"; +import { MCP_STARTUP_POLICY } from "./mcpStartupPolicy.js"; -const DEFAULT_DEADLINE_MS = 20_000; const STDERR_LIMIT_BYTES = 64 * 1_024; const OUTPUT_FORMATS = ["toon", "json", "yaml", "md", "jsonl"] as const; type OutputFormat = (typeof OUTPUT_FORMATS)[number]; @@ -40,7 +40,8 @@ interface McpDoctorCheck { /** Diagnose the actual production stdio adapter with one bounded SDK session. */ export const runProductionMcpDoctor = async (options: McpDoctorOptions) => { - const deadline = Date.now() + (options.deadlineMs ?? DEFAULT_DEADLINE_MS); + const deadline = + Date.now() + (options.deadlineMs ?? MCP_STARTUP_POLICY.doctorDeadlineMs); const controller = new AbortController(); const timer = setTimeout( () => controller.abort(new Error("Production MCP doctor deadline expired")), diff --git a/src/mcpStartupPolicy.ts b/src/mcpStartupPolicy.ts new file mode 100644 index 000000000..280a328c2 --- /dev/null +++ b/src/mcpStartupPolicy.ts @@ -0,0 +1,14 @@ +/** + * Supported MCP startup deadlines and regression budgets. + * + * The Codex timeout is caller-facing configuration. The smaller phase budgets + * preserve operational headroom, while the doctor deadline covers additional + * inventory requests after initialization. + */ +export const MCP_STARTUP_POLICY = { + codexStartupTimeoutSeconds: 30, + initializeBudgetMs: 15_000, + toolsListBudgetMs: 5_000, + firstCatalogBudgetMs: 20_000, + doctorDeadlineMs: 30_000, +} as const; diff --git a/src/server/LazyToolCatalog.ts b/src/server/LazyToolCatalog.ts new file mode 100644 index 000000000..b2b57ea78 --- /dev/null +++ b/src/server/LazyToolCatalog.ts @@ -0,0 +1,181 @@ +import type { + AnyToolHandler, + JsonSchemaValidator, + jsonSchemaValidator, + McpServer, + RegisteredTool, + StandardSchemaWithJSON, +} from "@modelcontextprotocol/server"; +import { + fromJsonSchema, + isCallToolResult, + isInputRequiredResult, +} from "@modelcontextprotocol/server"; + +import { GENERATED_MCP_TOOL_CATALOG } from "../generatedMcpToolCatalog.js"; +import type { ToolKind } from "../contracts/toolContractTypes.js"; + +type HydrateToolRegistrations = (kind: ToolKind) => Promise; + +/** + * Advertise the generated MCP catalog immediately and hydrate its callbacks + * through the existing registrars on first execution. + */ +export class LazyToolCatalog { + readonly #server: McpServer; + readonly #hydrateRegistrations: HydrateToolRegistrations; + readonly #includeSessionTools: boolean; + readonly #tools = new Map(); + readonly #hydrations = new Map>(); + #hydrationQueue: Promise = Promise.resolve(); + #closed = false; + + constructor( + server: McpServer, + hydrateRegistrations: HydrateToolRegistrations, + includeSessionTools = true, + ) { + this.#server = server; + this.#hydrateRegistrations = hydrateRegistrations; + this.#includeSessionTools = includeSessionTools; + } + + /** Register every generated tool with a lazy callback. */ + register(): void { + for (const contract of GENERATED_MCP_TOOL_CATALOG) { + if (contract.requiresSession && !this.#includeSessionTools) continue; + const inputSchema = advertisedSchema(contract.inputSchema); + const outputSchema = advertisedSchema(contract.outputSchema); + let registered: RegisteredTool | undefined; + const callback: AnyToolHandler = async ( + input, + context, + ) => { + await this.#hydrate(contract.kind); + const handler = registered?.handler; + if (handler === undefined || handler === callback) + throw new Error(`MCP tool ${contract.name} was not hydrated`); + const result: unknown = await Reflect.apply(handler, undefined, [ + input, + context, + ]); + if (isCallToolResult(result) || isInputRequiredResult(result)) + return result; + throw new TypeError( + `MCP tool ${contract.name} returned an invalid result`, + ); + }; + registered = this.#server.registerTool( + contract.name, + { + title: contract.title, + description: contract.description, + inputSchema, + outputSchema, + annotations: contract.annotations, + }, + callback, + ); + this.#tools.set(contract.name, registered); + } + } + + /** Wait for in-flight hydration and reject future first-use loading. */ + async close(): Promise { + this.#closed = true; + await Promise.allSettled(this.#hydrations.values()); + } + + async #hydrate(kind: ToolKind): Promise { + if (this.#closed) throw new Error("MCP tool catalog is closed"); + const existing = this.#hydrations.get(kind); + if (existing !== undefined) { + await existing; + return; + } + const hydration = this.#hydrationQueue + .catch(() => undefined) + .then(() => this.#runHydration(kind)); + this.#hydrationQueue = hydration; + this.#hydrations.set(kind, hydration); + try { + await hydration; + } catch (cause: unknown) { + if (this.#hydrations.get(kind) === hydration) + this.#hydrations.delete(kind); + throw cause; + } + } + + async #runHydration(kind: ToolKind): Promise { + if (this.#closed) throw new Error("MCP tool catalog is closed"); + const expected = GENERATED_MCP_TOOL_CATALOG.filter( + (contract) => + contract.kind === kind && + (this.#includeSessionTools || !contract.requiresSession), + ).map((contract) => contract.name); + const expectedNames = new Set(expected); + const hydrated = new Set(); + const originalRegisterTool = this.#server.registerTool; + const hydrationRegisterTool = (...args: unknown[]): unknown => { + const [name, config, callback] = args; + if ( + typeof name !== "string" || + !isRecord(config) || + typeof callback !== "function" + ) + throw new TypeError("Invalid lazy MCP tool registration"); + const registered = this.#tools.get(name); + if (registered === undefined || !expectedNames.has(name)) + throw new TypeError( + `MCP tool ${name} is not in the ${kind} catalog family`, + ); + if (hydrated.has(name)) + throw new TypeError(`MCP tool ${name} was hydrated more than once`); + hydrated.add(name); + Reflect.apply(registered.update, registered, [ + { + title: config.title, + description: config.description, + paramsSchema: config.inputSchema, + outputSchema: config.outputSchema, + annotations: config.annotations, + callback, + }, + ]); + return registered; + }; + if (!Reflect.set(this.#server, "registerTool", hydrationRegisterTool)) + throw new TypeError("Unable to install lazy MCP tool hydration"); + try { + await this.#hydrateRegistrations(kind); + } finally { + Reflect.set(this.#server, "registerTool", originalRegisterTool); + } + const missing = expected.filter((name) => !hydrated.has(name)); + if (missing.length > 0) + throw new TypeError( + `Generated MCP tools were not hydrated: ${missing.join(", ")}`, + ); + } +} + +const advertisedSchema = ( + jsonSchema: Readonly>, +): StandardSchemaWithJSON => + fromJsonSchema(jsonSchema, DEFERRED_VALIDATION_PROVIDER); + +class DeferredValidationProvider implements jsonSchemaValidator { + getValidator(): JsonSchemaValidator { + return (input: unknown) => ({ + valid: true, + data: input as T, + errorMessage: undefined, + }); + } +} + +const DEFERRED_VALIDATION_PROVIDER = new DeferredValidationProvider(); + +const isRecord = (value: unknown): value is Readonly> => + typeof value === "object" && value !== null && !Array.isArray(value); diff --git a/src/server/createServer.ts b/src/server/createServer.ts index fb6e04635..dddbf350e 100644 --- a/src/server/createServer.ts +++ b/src/server/createServer.ts @@ -10,29 +10,16 @@ import { import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; import type { BinarySessionPort } from "../application/BinarySession.js"; import { PRODUCT_IDENTITY } from "../identity.js"; -import { registerEnhancedTools } from "./registerEnhancedTools.js"; -import { registerOfficialTools } from "./registerOfficialTools.js"; -import { registerSessionTools } from "./registerSessionTools.js"; -import { registerNativeTools } from "./registerNativeTools.js"; -import { registerArtifactTools } from "./registerArtifactTools.js"; -import { registerManagedTools } from "./registerManagedTools.js"; -import { registerManagedWorkflowTools } from "./registerManagedWorkflowTools.js"; import { silentLogger, type Logger } from "../logger.js"; import type { ProcessExecutionPolicy } from "../domain/processCapture.js"; import type { EvidenceFilePolicy } from "../domain/evidenceBundle.js"; import { registerGuidedPrompts } from "./registerPrompts.js"; import { registerEvidenceResources } from "./registerEvidenceResources.js"; -import { createServerIdentity } from "../serverIdentity.js"; import type { PermissionAuthority } from "../application/PermissionAuthority.js"; import type { BrowserObservationPort } from "../application/BrowserObservationPort.js"; import type { BrowserScenarioCapturePort } from "../application/BrowserScenarioCapturePort.js"; -import { registerBrowserTools } from "./registerBrowserTools.js"; -import { registerBrowserScenarioTool } from "./registerBrowserScenarioTool.js"; import type { ElectronObservationPort } from "../application/ElectronObservationPort.js"; -import { registerElectronTools } from "./registerElectronTools.js"; import type { JavaScriptRuntimeObservationPort } from "../application/JavaScriptRuntimeObservationPort.js"; -import { registerJavaScriptRuntimeObservationTools } from "./registerJavaScriptRuntimeObservationTools.js"; -import { registerApplicationTools } from "./registerApplicationTools.js"; import type { SessionAvailability } from "./sessionAvailabilityPolicy.js"; import { sessionAvailabilityPolicy } from "./sessionAvailabilityPolicy.js"; import { @@ -52,12 +39,11 @@ import type { JavaScriptReplayRunner, } from "../application/JavaScriptReplayPlanning.js"; import type { ManagedRuntimePolicy } from "../application/ManagedRuntimeCorrelationService.js"; -import { LinuxJavaScriptReplayRunner } from "../replay/LinuxJavaScriptReplayRunner.js"; -import { SystemJavaScriptReplayHost } from "../replay/SystemJavaScriptReplayHost.js"; import { PROCESS_CAPTURE_ELICITATION_POLICY, type ProcessCaptureElicitationState, } from "./ProcessCaptureElicitation.js"; +import { LazyToolCatalog } from "./LazyToolCatalog.js"; export interface CreateServerOptions { readonly logger?: Logger; @@ -76,6 +62,12 @@ export interface CreateServerOptions { readonly javascriptReplayRunner?: JavaScriptReplayRunner; readonly managedRuntimePolicy?: ManagedRuntimePolicy; readonly availabilityPolicy?: () => SessionAvailability; + readonly loadOptionalProviders?: () => Promise<{ + readonly browserObservation: BrowserObservationPort; + readonly browserScenarioCapture: BrowserScenarioCapturePort; + readonly electronObservation: ElectronObservationPort; + readonly javascriptRuntimeObservation: JavaScriptRuntimeObservationPort; + }>; } const installSessionToolAvailability = ( @@ -155,51 +147,88 @@ export const createServer = ( const toolLogger = logger.child({ layer: "server" }); const { activeTarget, recordEvidence, recordEvidenceWithUnknown } = createSessionRecorders(server, session); - const toolContext = { - server, - analysis, - session, - options, - logger: toolLogger, - permissionAuthority, - activeTarget, - recordEvidence, - recordEvidenceWithUnknown, + const processCaptureElicitation = { + stateCodec: processCaptureStateCodec, + supported: (context: { + readonly mcpReq: { + readonly envelope?: Readonly>; + }; + }) => { + const envelope = context.mcpReq.envelope; + const version = envelope?.[PROTOCOL_VERSION_META_KEY]; + const capabilities = envelope?.[CLIENT_CAPABILITIES_META_KEY]; + return ( + typeof version === "string" && + PROCESS_CAPTURE_ELICITATION_POLICY.protocolVersions.some( + (supported) => supported === version, + ) && + isRecord(capabilities) && + isRecord(capabilities.elicitation) && + capabilities.elicitation.form !== undefined + ); + }, + now: Date.now, + consumedNonces: new Map(), }; - registerBinaryAnalysisTools(toolContext); - registerObservationTools(toolContext); + let optionalProviders: + | ReturnType> + | undefined; + const loadOptionalProviders = () => { + optionalProviders ??= options + .loadOptionalProviders?.() + .catch((cause: unknown) => { + optionalProviders = undefined; + throw cause; + }); + return optionalProviders; + }; + const lazyTools = new LazyToolCatalog( + server, + async (kind) => { + const needsObservationProviders = + kind === "browser-provider" || + kind === "electron-provider" || + kind === "runtime-provider"; + const [{ hydrateServerToolFamily }, loadedOptionalProviders] = + await Promise.all([ + import("./hydrateServerTools.js"), + needsObservationProviders ? loadOptionalProviders() : undefined, + ]); + const hydratedOptions = + loadedOptionalProviders === undefined + ? options + : { ...options, ...loadedOptionalProviders }; + await hydrateServerToolFamily({ + kind, + server, + analysis, + session, + options: hydratedOptions, + context: { + logger: toolLogger, + permissionAuthority, + activeTarget, + recordEvidence, + recordEvidenceWithUnknown, + availabilityPolicy: dynamicTools?.policy, + startedAt, + processCaptureElicitation, + }, + }); + }, + session !== undefined, + ); + lazyTools.register(); registerGuidedPrompts(server, analysis, session); if (session !== undefined) { registerEvidenceResources(server, session); - registerSessionTools(server, session, toolLogger, { - ...options, - ...(dynamicTools === undefined - ? {} - : { availabilityPolicy: dynamicTools.policy }), - ...(permissionAuthority === undefined ? {} : { permissionAuthority }), - startedAt, - processCaptureElicitation: { - stateCodec: processCaptureStateCodec, - supported: (context) => { - const envelope = context.mcpReq.envelope; - const version = envelope?.[PROTOCOL_VERSION_META_KEY]; - const capabilities = envelope?.[CLIENT_CAPABILITIES_META_KEY]; - return ( - typeof version === "string" && - PROCESS_CAPTURE_ELICITATION_POLICY.protocolVersions.some( - (supported) => supported === version, - ) && - isRecord(capabilities) && - isRecord(capabilities.elicitation) && - capabilities.elicitation.form !== undefined - ); - }, - now: Date.now, - consumedNonces: new Map(), - }, - }); } dynamicTools?.controller.synchronize(); + const close = server.close.bind(server); + server.close = async () => { + await lazyTools.close(); + await close(); + }; return server; }; @@ -243,7 +272,8 @@ const registerServerIdentityResource = ( description: "Live package, SDK, protocol, and catalog identity.", mimeType: "application/json", }, - (uri) => { + async (uri) => { + const { createServerIdentity } = await import("../serverIdentity.js"); const client = server.server.getClientVersion(); const protocolVersion = server.server.getNegotiatedProtocolVersion(); return { @@ -267,154 +297,5 @@ const registerServerIdentityResource = ( ); }; -interface ServerToolContext extends ReturnType { - readonly server: McpServer; - readonly analysis: AnalysisOperationPort; - readonly session: BinarySessionPort | undefined; - readonly options: CreateServerOptions; - readonly logger: Logger; - readonly permissionAuthority: PermissionAuthority | undefined; -} - -const registerBinaryAnalysisTools = ({ - server, - analysis, - session, - options, - logger, - permissionAuthority, - activeTarget, - recordEvidence, - recordEvidenceWithUnknown, -}: ServerToolContext): void => { - const recordUnknown = - session === undefined - ? undefined - : (input: Parameters[0]) => - session.recordUnknown(input); - registerOfficialTools(server, analysis, { - logger, - activeTarget, - recordEvidence, - recordUnknown, - }); - registerEnhancedTools(server, analysis, { - logger, - activeTarget, - analysisProfile: - session === undefined ? undefined : () => session.analysisProfile(), - recordEvidence, - recordUnknown, - }); - registerNativeTools(server, analysis, { - logger, - activeTarget, - recordEvidence, - }); - registerArtifactTools(server, analysis, { - logger, - activeTarget, - recordEvidence, - ...(permissionAuthority === undefined ? {} : { permissionAuthority }), - }); - registerManagedTools(server, analysis, { - logger, - activeTarget, - recordEvidence, - session, - }); - if (session !== undefined) - registerManagedWorkflowTools(server, { - logger, - recordEvidence, - recordEvidenceWithUnknown, - session, - runtime: { - policy: options.managedRuntimePolicy ?? { - enabled: false, - roots: [], - executablePath: "/usr/bin/dotnet", - }, - authority: permissionAuthority, - }, - }); -}; - -const registerObservationTools = ({ - server, - session, - options, - logger, - permissionAuthority, - recordEvidence, - recordEvidenceWithUnknown, -}: ServerToolContext): void => { - registerBrowserTools(server, { - logger, - browser: options.browserObservation, - permissionAuthority, - recordEvidence, - }); - registerBrowserScenarioTool(server, { - logger, - provider: options.browserScenarioCapture, - permissionAuthority, - recordEvidence, - }); - registerElectronTools(server, { - logger, - electron: options.electronObservation, - permissionAuthority, - recordEvidence, - }); - registerJavaScriptRuntimeObservationTools(server, { - logger, - runtime: options.javascriptRuntimeObservation, - permissionAuthority, - recordEvidence, - }); - registerApplicationTools(server, { - logger, - recordEvidence, - recordEvidenceWithUnknown, - evidenceLookup: - session === undefined - ? undefined - : (evidenceId) => session.evidenceById(evidenceId), - evidenceFilePolicy: options.evidenceFilePolicy ?? { - roots: [], - maxBytes: 1, - maxDepth: 1, - maxStringLength: 1, - maxNodes: 1, - }, - permissionAuthority, - retainCoverageWorkspace: - session === undefined - ? undefined - : (workspace) => { - const retained = - session.retainReconstructionCoverageWorkspace(workspace); - if (retained === "added") server.sendResourceListChanged(); - return retained; - }, - replay: { - policy: options.javascriptReplayPolicy ?? { - enabled: false, - roots: [], - nodePath: process.execPath, - bubblewrapPath: "/usr/bin/bwrap", - systemdRunPath: "/usr/bin/systemd-run", - systemctlPath: "/usr/bin/systemctl", - shellPath: "/usr/bin/bash", - }, - host: options.javascriptReplayHost ?? new SystemJavaScriptReplayHost(), - runner: - options.javascriptReplayRunner ?? new LinuxJavaScriptReplayRunner(), - authority: permissionAuthority, - }, - }); -}; - const isRecord = (value: unknown): value is Record => typeof value === "object" && value !== null && !Array.isArray(value); diff --git a/src/server/hydrateServerTools.ts b/src/server/hydrateServerTools.ts new file mode 100644 index 000000000..2111d2960 --- /dev/null +++ b/src/server/hydrateServerTools.ts @@ -0,0 +1,300 @@ +import type { McpServer } from "@modelcontextprotocol/server"; + +import type { AnalysisOperationPort } from "../application/AnalysisProvider.js"; +import type { BinarySessionPort } from "../application/BinarySession.js"; +import type { PermissionAuthority } from "../application/PermissionAuthority.js"; +import type { BinaryTarget } from "../domain/binaryTarget.js"; +import type { Logger } from "../logger.js"; +import type { ToolKind } from "../contracts/toolContractTypes.js"; +import type { CreateServerOptions } from "./createServer.js"; +import type { ProcessCaptureElicitation } from "./ProcessCaptureElicitation.js"; +import type { SessionAvailability } from "./sessionAvailabilityPolicy.js"; + +interface HydratedToolContext { + readonly logger: Logger; + readonly permissionAuthority: PermissionAuthority | undefined; + readonly activeTarget: (() => BinaryTarget | undefined) | undefined; + readonly recordEvidence: BinarySessionPort["recordEvidence"] | undefined; + readonly recordEvidenceWithUnknown: + | BinarySessionPort["recordEvidenceWithUnknown"] + | undefined; + readonly availabilityPolicy: (() => SessionAvailability) | undefined; + readonly startedAt: string; + readonly processCaptureElicitation: ProcessCaptureElicitation; +} + +export interface HydrateServerToolFamilyInput { + readonly kind: ToolKind; + readonly server: McpServer; + readonly analysis: AnalysisOperationPort; + readonly session: BinarySessionPort | undefined; + readonly options: CreateServerOptions; + readonly context: HydratedToolContext; +} + +/** + * Install production callbacks on generated lazy tool registrations. + */ +export const hydrateServerToolFamily = async ({ + kind, + server, + analysis, + session, + options, + context, +}: HydrateServerToolFamilyInput): Promise => { + const toolContext = { + server, + analysis, + session, + options, + logger: context.logger, + permissionAuthority: context.permissionAuthority, + activeTarget: context.activeTarget, + recordEvidence: context.recordEvidence, + recordEvidenceWithUnknown: context.recordEvidenceWithUnknown, + }; + switch (kind) { + case "official-proxy": { + const { registerOfficialTools } = await import( + "./registerOfficialTools.js" + ); + registerOfficialTools(server, analysis, analysisOptions(toolContext)); + return; + } + case "enhanced": { + const { registerEnhancedTools } = await import( + "./registerEnhancedTools.js" + ); + registerEnhancedTools(server, analysis, enhancedOptions(toolContext)); + return; + } + case "native-provider": { + const { registerNativeTools } = await import("./registerNativeTools.js"); + registerNativeTools(server, analysis, evidenceOptions(toolContext)); + return; + } + case "artifact-provider": { + const { registerArtifactTools } = await import( + "./registerArtifactTools.js" + ); + registerArtifactTools(server, analysis, { + ...evidenceOptions(toolContext), + ...(context.permissionAuthority === undefined + ? {} + : { permissionAuthority: context.permissionAuthority }), + }); + return; + } + case "managed-provider": { + const { registerManagedTools } = await import( + "./registerManagedTools.js" + ); + registerManagedTools(server, analysis, { + ...evidenceOptions(toolContext), + session, + }); + return; + } + case "application": + await registerApplicationFamily(toolContext); + return; + case "browser-provider": + case "electron-provider": + case "runtime-provider": { + await hydrateObservationFamily(kind, toolContext); + return; + } + case "session": { + if (session === undefined) + throw new TypeError("Session tools require a binary session"); + const { registerSessionTools } = await import( + "./registerSessionTools.js" + ); + registerSessionTools(server, session, context.logger, { + ...options, + ...(context.availabilityPolicy === undefined + ? {} + : { availabilityPolicy: context.availabilityPolicy }), + ...(context.permissionAuthority === undefined + ? {} + : { permissionAuthority: context.permissionAuthority }), + startedAt: context.startedAt, + processCaptureElicitation: context.processCaptureElicitation, + }); + } + } +}; + +const hydrateObservationFamily = async ( + kind: "browser-provider" | "electron-provider" | "runtime-provider", + context: ServerToolContext, +): Promise => { + const common = { + logger: context.logger, + permissionAuthority: context.permissionAuthority, + recordEvidence: context.recordEvidence, + }; + if (kind === "browser-provider") { + const [{ registerBrowserTools }, { registerBrowserScenarioTool }] = + await Promise.all([ + import("./registerBrowserTools.js"), + import("./registerBrowserScenarioTool.js"), + ]); + registerBrowserTools(context.server, { + ...common, + browser: context.options.browserObservation, + }); + registerBrowserScenarioTool(context.server, { + ...common, + provider: context.options.browserScenarioCapture, + }); + return; + } + if (kind === "electron-provider") { + const { registerElectronTools } = await import( + "./registerElectronTools.js" + ); + registerElectronTools(context.server, { + ...common, + electron: context.options.electronObservation, + }); + return; + } + const { registerJavaScriptRuntimeObservationTools } = await import( + "./registerJavaScriptRuntimeObservationTools.js" + ); + registerJavaScriptRuntimeObservationTools(context.server, { + ...common, + runtime: context.options.javascriptRuntimeObservation, + }); +}; + +interface ServerToolContext { + readonly server: McpServer; + readonly analysis: AnalysisOperationPort; + readonly session: BinarySessionPort | undefined; + readonly options: CreateServerOptions; + readonly logger: Logger; + readonly permissionAuthority: PermissionAuthority | undefined; + readonly activeTarget: (() => BinaryTarget | undefined) | undefined; + readonly recordEvidence: BinarySessionPort["recordEvidence"] | undefined; + readonly recordEvidenceWithUnknown: + | BinarySessionPort["recordEvidenceWithUnknown"] + | undefined; +} + +const analysisOptions = ({ + logger, + activeTarget, + recordEvidence, + session, +}: ServerToolContext) => { + const recordUnknown = + session === undefined + ? undefined + : (input: Parameters[0]) => + session.recordUnknown(input); + return { + logger, + activeTarget, + recordEvidence, + recordUnknown, + }; +}; + +const enhancedOptions = (context: ServerToolContext) => ({ + ...analysisOptions(context), + analysisProfile: + context.session === undefined + ? undefined + : () => context.session?.analysisProfile(), +}); + +const evidenceOptions = ({ + logger, + activeTarget, + recordEvidence, +}: ServerToolContext) => ({ + logger, + activeTarget, + recordEvidence, +}); + +const registerApplicationFamily = async ({ + server, + session, + options, + logger, + permissionAuthority, + recordEvidence, + recordEvidenceWithUnknown, +}: ServerToolContext): Promise => { + const [ + { registerApplicationTools }, + { registerManagedWorkflowTools }, + { LinuxJavaScriptReplayRunner }, + { SystemJavaScriptReplayHost }, + ] = await Promise.all([ + import("./registerApplicationTools.js"), + import("./registerManagedWorkflowTools.js"), + import("../replay/LinuxJavaScriptReplayRunner.js"), + import("../replay/SystemJavaScriptReplayHost.js"), + ]); + if (session !== undefined) + registerManagedWorkflowTools(server, { + logger, + recordEvidence, + recordEvidenceWithUnknown, + session, + runtime: { + policy: options.managedRuntimePolicy ?? { + enabled: false, + roots: [], + executablePath: "/usr/bin/dotnet", + }, + authority: permissionAuthority, + }, + }); + registerApplicationTools(server, { + logger, + recordEvidence, + recordEvidenceWithUnknown, + evidenceLookup: + session === undefined + ? undefined + : (evidenceId) => session.evidenceById(evidenceId), + evidenceFilePolicy: options.evidenceFilePolicy ?? { + roots: [], + maxBytes: 1, + maxDepth: 1, + maxStringLength: 1, + maxNodes: 1, + }, + permissionAuthority, + retainCoverageWorkspace: + session === undefined + ? undefined + : (workspace) => { + const retained = + session.retainReconstructionCoverageWorkspace(workspace); + if (retained === "added") server.sendResourceListChanged(); + return retained; + }, + replay: { + policy: options.javascriptReplayPolicy ?? { + enabled: false, + roots: [], + nodePath: process.execPath, + bubblewrapPath: "/usr/bin/bwrap", + systemdRunPath: "/usr/bin/systemd-run", + systemctlPath: "/usr/bin/systemctl", + shellPath: "/usr/bin/bash", + }, + host: options.javascriptReplayHost ?? new SystemJavaScriptReplayHost(), + runner: + options.javascriptReplayRunner ?? new LinuxJavaScriptReplayRunner(), + authority: permissionAuthority, + }, + }); +}; diff --git a/tests/mcpStartupPolicy.test.ts b/tests/mcpStartupPolicy.test.ts new file mode 100644 index 000000000..c0621d7b2 --- /dev/null +++ b/tests/mcpStartupPolicy.test.ts @@ -0,0 +1,52 @@ +import { describe, expect, it } from "vitest"; + +import { MCP_STARTUP_POLICY } from "../src/mcpStartupPolicy.js"; +import { + createEsmModuleProfileCollector, + parseLinuxVmRssBytes, +} from "../scripts/lib/mcp-startup-probe.mjs"; + +describe("MCP startup policy", () => { + it("preserves headroom beneath the configured Codex timeout", () => { + const codexTimeoutMs = + MCP_STARTUP_POLICY.codexStartupTimeoutSeconds * 1_000; + + expect(MCP_STARTUP_POLICY.initializeBudgetMs).toBeLessThan(codexTimeoutMs); + expect(MCP_STARTUP_POLICY.firstCatalogBudgetMs).toBeLessThan( + codexTimeoutMs, + ); + expect(MCP_STARTUP_POLICY.firstCatalogBudgetMs).toBe( + MCP_STARTUP_POLICY.initializeBudgetMs + + MCP_STARTUP_POLICY.toolsListBudgetMs, + ); + expect(MCP_STARTUP_POLICY.doctorDeadlineMs).toBeGreaterThanOrEqual( + codexTimeoutMs, + ); + }); + + it("parses Linux resident memory without accepting other fields", () => { + expect( + parseLinuxVmRssBytes("Name:\tnode\nVmRSS:\t 12345 kB\nThreads:\t7\n"), + ).toBe(12_641_280); + expect(parseLinuxVmRssBytes("VmSize:\t12345 kB\n")).toBeNull(); + }); + + it("profiles unique file-backed ESM modules without retaining paths", () => { + const collector = createEsmModuleProfileCollector(); + collector.append( + "ESM 1: Storing file:///opt/rea/dist/main.js\n" + + "ESM 1: Translating StandardModule file:///opt/rea/dist/main.js\n" + + "ESM 1: Storing file:///opt/rea/node_modules/zod/index.js", + ); + + expect(collector.result()).toEqual({ + supported: true, + method: "node-debug-esm", + unique_file_modules: 2, + unique_package_modules: 0, + unique_dependency_modules: 1, + debug_lines: 3, + truncated: false, + }); + }); +}); diff --git a/tests/processCaptureElicitation.test.ts b/tests/processCaptureElicitation.test.ts index 163fce251..afc81cbf4 100644 --- a/tests/processCaptureElicitation.test.ts +++ b/tests/processCaptureElicitation.test.ts @@ -105,7 +105,7 @@ describe("process-capture MCP elicitation", () => { await Promise.allSettled([client.close(), server.close()]); await rm(root, { recursive: true, force: true }); } - }); + }, 20_000); it.each(["tampered", "expired"] as const)( "rejects %s signed state through the modern MCP client and server", diff --git a/tests/sessionMcp.test.ts b/tests/sessionMcp.test.ts index 8efb7c478..febe166bb 100644 --- a/tests/sessionMcp.test.ts +++ b/tests/sessionMcp.test.ts @@ -87,7 +87,9 @@ describe("target-free MCP lifecycle", () => { expect(closed).toEqual([canonicalTargetPath]); expect( z - .object({ result: z.object({ path: z.string(), sha256: z.string() }) }) + .object({ + result: z.object({ path: z.string(), sha256: z.string() }), + }) .parse( structured( await mcp.callTool({ @@ -100,7 +102,7 @@ describe("target-free MCP lifecycle", () => { path: canonicalTargetPath, sha256: z.object({ sha256: z.string() }).parse(second).sha256, }); - }); + }, 10_000); it("reports no-target, opens, analyzes, switches, reports status, and closes", async () => { directory = await createTestTempDirectory("rea-mcp-session-"); diff --git a/vitest.config.ts b/vitest.config.ts index e703ddfa1..7fc5abf80 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -6,9 +6,9 @@ import { defineConfig } from "vitest/config"; export const TEST_FILES = ["tests/**/*.test.ts"]; const IS_CONTINUOUS_INTEGRATION = process.env.CI === "true"; -// Subprocess-heavy parallel tests exceed their existing deadlines above two workers. +// Lazy MCP integration tests are memory-bound while Vite transforms tool families. const MAX_TEST_WORKERS = 2; -const MAX_UNIT_TEST_WORKERS = 4; +const MAX_UNIT_TEST_WORKERS = 1; const PROCESS_CAPTURE_TEST = "tests/processCapture.test.ts"; const CANONICAL_TEMPORARY_DIRECTORY = realpathSync(tmpdir()); export const SERIAL_INTEGRATION_TESTS = [